mirror of https://github.com/vuejs/core.git
chore: more descriptive eslint error messages for restricted syntax
This commit is contained in:
parent
2ae908d00c
commit
b11dab99d1
|
@ -26,13 +26,23 @@ module.exports = {
|
||||||
'no-restricted-syntax': [
|
'no-restricted-syntax': [
|
||||||
'error',
|
'error',
|
||||||
banConstEnum,
|
banConstEnum,
|
||||||
// since we target ES2015 for baseline support, we need to forbid object
|
{
|
||||||
// rest spread usage in destructure as it compiles into a verbose helper.
|
selector: 'ObjectPattern > RestElement',
|
||||||
'ObjectPattern > RestElement',
|
message:
|
||||||
// tsc compiles assignment spread into Object.assign() calls, but esbuild
|
'Our output target is ES2016, and object rest spread results in ' +
|
||||||
// still generates verbose helpers, so spread assignment is also prohiboted
|
'verbose helpers and should be avoided.',
|
||||||
'ObjectExpression > SpreadElement',
|
},
|
||||||
'AwaitExpression',
|
{
|
||||||
|
selector: 'ObjectExpression > SpreadElement',
|
||||||
|
message:
|
||||||
|
'esbuild transpiles object spread into very verbose inline helpers.\n' +
|
||||||
|
'Please use the `extend` helper from @vue/shared instead.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selector: 'AwaitExpression',
|
||||||
|
message:
|
||||||
|
'Our output target is ES2016, so async/await syntax should be avoided.',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
'sort-imports': ['error', { ignoreDeclarationSort: true }],
|
'sort-imports': ['error', { ignoreDeclarationSort: true }],
|
||||||
|
|
||||||
|
|
|
@ -331,7 +331,7 @@ function createConfig(format, output, plugins = []) {
|
||||||
tsconfig: path.resolve(__dirname, 'tsconfig.json'),
|
tsconfig: path.resolve(__dirname, 'tsconfig.json'),
|
||||||
sourceMap: output.sourcemap,
|
sourceMap: output.sourcemap,
|
||||||
minify: false,
|
minify: false,
|
||||||
target: isServerRenderer || isCJSBuild ? 'es2019' : 'es2015',
|
target: isServerRenderer || isCJSBuild ? 'es2019' : 'es2016',
|
||||||
define: resolveDefine(),
|
define: resolveDefine(),
|
||||||
}),
|
}),
|
||||||
...resolveNodePlugins(),
|
...resolveNodePlugins(),
|
||||||
|
@ -367,7 +367,7 @@ function createMinifiedConfig(/** @type {PackageFormat} */ format) {
|
||||||
terser({
|
terser({
|
||||||
module: /^esm/.test(format),
|
module: /^esm/.test(format),
|
||||||
compress: {
|
compress: {
|
||||||
ecma: 2015,
|
ecma: 2016,
|
||||||
pure_getters: true,
|
pure_getters: true,
|
||||||
},
|
},
|
||||||
safari10: true,
|
safari10: true,
|
||||||
|
|
Loading…
Reference in New Issue