mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 17:22:09 +08:00
Chore: MEGA - Make Eslint Great Again 💅 (#26094)
* Fix lint error in types.ts * Bump eslint and its deps to latest * Add eslintignore and remove not needed eslintrcs * Change webpack configs eslint config * Update package.jsons and removed unused eslintrc files * Chore yarn lint --fix 💅 * Add devenv to eslintignore * Remove eslint disable comments for rules that are not used * Remaining eslint fixes 💅 * Bump grafana/eslint-config 💥 * Modify package.json No need for duplicate checks. * Modify eslintignore to ignore data and dist folders * Revert removing .eslintrc to make sure not to use certain packages * Modify package.json to remove not needed command * Use gitignore for ignoring paths
This commit is contained in:
@ -1,12 +1,6 @@
|
||||
|
||||
module.exports = function(grunt) {
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
// Concat and Minify the src directory into dist
|
||||
grunt.registerTask('build', [
|
||||
'clean:release',
|
||||
'clean:build',
|
||||
'exec:webpack',
|
||||
]);
|
||||
|
||||
grunt.registerTask('build', ['clean:release', 'clean:build', 'exec:webpack']);
|
||||
};
|
||||
|
@ -19,8 +19,7 @@ module.exports = function(grunt) {
|
||||
|
||||
// prettier-ignore
|
||||
grunt.registerTask('eslint', [
|
||||
'newer:exec:eslintPackages',
|
||||
'newer:exec:eslintRoot'
|
||||
'newer:exec:eslint'
|
||||
]);
|
||||
|
||||
// prettier-ignore
|
||||
|
@ -5,7 +5,6 @@ module.exports = function(config) {
|
||||
release: ['<%= destDir %>', '<%= tempDir %>', '<%= genDir %>'],
|
||||
build: ['<%= srcDir %>/build'],
|
||||
temp: ['<%= tempDir %>'],
|
||||
packaging: [
|
||||
],
|
||||
packaging: [],
|
||||
};
|
||||
};
|
||||
|
@ -4,9 +4,10 @@ module.exports = function(config) {
|
||||
var task = {
|
||||
release: {
|
||||
options: {
|
||||
archive: '<%= destDir %>/<%= pkg.name %><%= enterprise ? "-enterprise" : "" %>-<%= pkg.version %>.<%= platform %>-<%= arch %><%= libc ? "-" + libc : "" %>.tar.gz'
|
||||
archive:
|
||||
'<%= destDir %>/<%= pkg.name %><%= enterprise ? "-enterprise" : "" %>-<%= pkg.version %>.<%= platform %>-<%= arch %><%= libc ? "-" + libc : "" %>.tar.gz',
|
||||
},
|
||||
files : [
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= tempDir %>',
|
||||
@ -17,13 +18,14 @@ module.exports = function(config) {
|
||||
expand: true,
|
||||
src: ['LICENSE', 'README.md', 'NOTICE.md'],
|
||||
dest: '<%= pkg.name %>-<%= pkg.version %>/',
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
if (config.platform === 'windows') {
|
||||
task.release.options.archive = '<%= destDir %>/<%= pkg.name %><%= enterprise ? "-enterprise" : "" %>-<%= pkg.version %>.<%= platform %>-<%= arch %>.zip';
|
||||
task.release.options.archive =
|
||||
'<%= destDir %>/<%= pkg.name %><%= enterprise ? "-enterprise" : "" %>-<%= pkg.version %>.<%= platform %>-<%= arch %>.zip';
|
||||
}
|
||||
|
||||
return task;
|
||||
|
@ -2,10 +2,7 @@ module.exports = function(config, grunt) {
|
||||
'use strict';
|
||||
|
||||
return {
|
||||
eslintPackages: {
|
||||
command: 'yarn packages:lint',
|
||||
},
|
||||
eslintRoot: {
|
||||
eslint: {
|
||||
command: 'yarn lint',
|
||||
},
|
||||
typecheckPackages: {
|
||||
|
@ -4,10 +4,6 @@ module.exports = function(config) {
|
||||
options: {
|
||||
configFile: 'public/sass/.sass-lint.yml',
|
||||
},
|
||||
src: [
|
||||
'public/sass/**/*.scss',
|
||||
'packages/**/*.scss',
|
||||
'!**/node_modules/**/*.scss'
|
||||
],
|
||||
src: ['public/sass/**/*.scss', 'packages/**/*.scss', '!**/node_modules/**/*.scss'],
|
||||
};
|
||||
};
|
||||
|
@ -8,6 +8,6 @@ module.exports = function() {
|
||||
stats: false,
|
||||
},
|
||||
dev: dev,
|
||||
prod: prod
|
||||
prod: prod,
|
||||
};
|
||||
};
|
||||
|
@ -1,21 +1,13 @@
|
||||
var path = require('path');
|
||||
|
||||
module.exports = function(grunt) {
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
// build then zip
|
||||
grunt.registerTask('release', [
|
||||
'build',
|
||||
'build-post-process',
|
||||
'compress:release'
|
||||
]);
|
||||
grunt.registerTask('release', ['build', 'build-post-process', 'compress:release']);
|
||||
|
||||
// package into archives
|
||||
grunt.registerTask('package', [
|
||||
'clean:temp',
|
||||
'build-post-process',
|
||||
'compress:release'
|
||||
]);
|
||||
grunt.registerTask('package', ['clean:temp', 'build-post-process', 'compress:release']);
|
||||
|
||||
grunt.registerTask('build-post-process', function() {
|
||||
grunt.config('copy.public_to_temp', {
|
||||
@ -28,14 +20,14 @@ module.exports = function(grunt) {
|
||||
cwd: 'bin/<%= platform %>-<%= arch %><%= libc ? "-" + libc : "" %>',
|
||||
expand: true,
|
||||
src: ['*'],
|
||||
options: { mode: true},
|
||||
dest: '<%= tempDir %>/bin/'
|
||||
options: { mode: true },
|
||||
dest: '<%= tempDir %>/bin/',
|
||||
});
|
||||
grunt.config('copy.backend_files', {
|
||||
expand: true,
|
||||
src: ['conf/**', 'tools/**', 'scripts/*'],
|
||||
options: { mode: true},
|
||||
dest: '<%= tempDir %>'
|
||||
options: { mode: true },
|
||||
dest: '<%= tempDir %>',
|
||||
});
|
||||
|
||||
grunt.task.run('copy:public_to_temp');
|
||||
|
@ -1,8 +1,8 @@
|
||||
module.exports = function(grunt) {
|
||||
"use strict";
|
||||
'use strict';
|
||||
|
||||
function escapeRegExp(str) {
|
||||
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
|
||||
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
|
||||
}
|
||||
|
||||
function extractColour(line) {
|
||||
@ -12,8 +12,8 @@ module.exports = function(grunt) {
|
||||
}
|
||||
|
||||
function extractVariable(line) {
|
||||
var matches = line.match(/(\$[0-9a-zA-Z_-]+)\s*(!default|!default;)?/)
|
||||
return matches ? matches[1] : matches
|
||||
var matches = line.match(/(\$[0-9a-zA-Z_-]+)\s*(!default|!default;)?/);
|
||||
return matches ? matches[1] : matches;
|
||||
}
|
||||
|
||||
function readVars(file, obj) {
|
||||
@ -33,7 +33,8 @@ module.exports = function(grunt) {
|
||||
|
||||
grunt.registerTask('styleguide', function() {
|
||||
var data = {
|
||||
dark: {}, light: {}
|
||||
dark: {},
|
||||
light: {},
|
||||
};
|
||||
|
||||
readVars('public/sass/_variables.dark.scss', data.dark);
|
||||
@ -41,7 +42,5 @@ module.exports = function(grunt) {
|
||||
|
||||
var styleGuideJson = grunt.config().srcDir + '/build/styleguide.json';
|
||||
grunt.file.write(styleGuideJson, JSON.stringify(data, null, 4));
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
@ -2,5 +2,7 @@ const loaderUtils = require('loader-utils');
|
||||
|
||||
module.exports = function blobUrl(source) {
|
||||
const { type } = loaderUtils.getOptions(this) || {};
|
||||
return `module.exports = URL.createObjectURL(new Blob([${JSON.stringify(source)}]${type ? `, { type: ${JSON.stringify(type)} }` : ''}));`;
|
||||
return `module.exports = URL.createObjectURL(new Blob([${JSON.stringify(source)}]${
|
||||
type ? `, { type: ${JSON.stringify(type)} }` : ''
|
||||
}));`;
|
||||
};
|
||||
|
@ -40,7 +40,7 @@ module.exports.pitch = function pitch(remainingRequest) {
|
||||
// https://github.com/webpack/webpack/blob/master/lib/WebpackOptionsApply.js
|
||||
new WebWorkerTemplatePlugin(outputOptions),
|
||||
new LoaderTargetPlugin('webworker'),
|
||||
...((this.target === 'web') || (this.target === 'webworker') ? [] : [new NodeTargetPlugin()]),
|
||||
...(this.target === 'web' || this.target === 'webworker' ? [] : [new NodeTargetPlugin()]),
|
||||
|
||||
// https://github.com/webpack-contrib/worker-loader/issues/95#issuecomment-352856617
|
||||
...(compilerOptions.externals ? [new ExternalsPlugin(compilerOptions.externals)] : []),
|
||||
@ -52,19 +52,29 @@ module.exports.pitch = function pitch(remainingRequest) {
|
||||
|
||||
const subCache = `subcache ${__dirname} ${remainingRequest}`;
|
||||
|
||||
childCompiler.plugin('compilation', (compilation) => {
|
||||
if (!compilation.cache) { return; }
|
||||
if (!(subCache in compilation.cache)) { Object.assign(compilation.cache, { [subCache]: {} }); }
|
||||
childCompiler.plugin('compilation', compilation => {
|
||||
if (!compilation.cache) {
|
||||
return;
|
||||
}
|
||||
if (!(subCache in compilation.cache)) {
|
||||
Object.assign(compilation.cache, { [subCache]: {} });
|
||||
}
|
||||
Object.assign(compilation, { cache: compilation.cache[subCache] });
|
||||
});
|
||||
|
||||
const callback = this.async();
|
||||
|
||||
childCompiler.runAsChild((error, entries, compilation) => {
|
||||
if (error) { return callback(error); }
|
||||
if (entries.length === 0) { return callback(null, null); }
|
||||
if (error) {
|
||||
return callback(error);
|
||||
}
|
||||
if (entries.length === 0) {
|
||||
return callback(null, null);
|
||||
}
|
||||
const mainFilename = entries[0].files[0];
|
||||
if (emit === false) { delete currentCompilation.assets[mainFilename]; }
|
||||
if (emit === false) {
|
||||
delete currentCompilation.assets[mainFilename];
|
||||
}
|
||||
callback(null, compilation.assets[mainFilename].source(), null, {
|
||||
[COMPILATION_METADATA]: entries[0].files,
|
||||
});
|
||||
@ -72,8 +82,12 @@ module.exports.pitch = function pitch(remainingRequest) {
|
||||
};
|
||||
|
||||
function getOutputFilename(options, { target }) {
|
||||
if (!options) { return { filename: `[hash].${target}.js`, options: undefined }; }
|
||||
if (typeof options === 'string') { return { filename: options, options: undefined }; }
|
||||
if (!options) {
|
||||
return { filename: `[hash].${target}.js`, options: undefined };
|
||||
}
|
||||
if (typeof options === 'string') {
|
||||
return { filename: options, options: undefined };
|
||||
}
|
||||
if (typeof options === 'object') {
|
||||
return {
|
||||
filename: options.filename,
|
||||
|
@ -4,6 +4,6 @@ module.exports = () => {
|
||||
autoprefixer: {},
|
||||
'postcss-reporter': {},
|
||||
'postcss-browser-reporter': {},
|
||||
}
|
||||
},
|
||||
};
|
||||
};
|
||||
|
@ -12,7 +12,7 @@ module.exports = function(options) {
|
||||
options: {
|
||||
importLoaders: 2,
|
||||
url: options.preserveUrl,
|
||||
sourceMap: options.sourceMap
|
||||
sourceMap: options.sourceMap,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -25,7 +25,7 @@ module.exports = function(options) {
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
sourceMap: options.sourceMap
|
||||
sourceMap: options.sourceMap,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@ -89,15 +89,7 @@ module.exports = (env = {}) =>
|
||||
: new ForkTsCheckerWebpackPlugin({
|
||||
eslint: {
|
||||
enabled: true,
|
||||
files: [
|
||||
'public/app/**/*.{ts,tsx}',
|
||||
// this can't be written like this packages/**/src/**/*.ts because it throws an error
|
||||
'packages/grafana-ui/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-data/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-runtime/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-e2e-selectors/src/**/*.{ts,tsx}',
|
||||
'packages/jaeger-ui-components/src/**/*.{ts,tsx}',
|
||||
],
|
||||
files: ['public/app/**/*.{ts,tsx}', 'packages/*/src/**/*.{ts,tsx}'],
|
||||
options: {
|
||||
cache: true,
|
||||
},
|
||||
|
@ -89,15 +89,7 @@ module.exports = merge(common, {
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
eslint: {
|
||||
enabled: true,
|
||||
files: [
|
||||
'public/app/**/*.{ts,tsx}',
|
||||
// this can't be written like this packages/**/src/**/*.ts because it throws an error
|
||||
'packages/grafana-ui/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-data/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-runtime/src/**/*.{ts,tsx}',
|
||||
'packages/grafana-e2e-selectors/src/**/*.{ts,tsx}',
|
||||
'packages/jaeger-ui-components/src/**/*.{ts,tsx}',
|
||||
],
|
||||
files: ['public/app/**/*.{ts,tsx}', 'packages/*/src/**/*.{ts,tsx}'],
|
||||
},
|
||||
typescript: {
|
||||
mode: 'write-references',
|
||||
|
Reference in New Issue
Block a user