add custom rule to prevent test.only
This commit is contained in:
parent
a445016364
commit
fc420cb9cb
104
.eslintrc.json
104
.eslintrc.json
|
@ -133,7 +133,9 @@
|
|||
"restrictions": [
|
||||
"vs/nls",
|
||||
"**/vs/base/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -171,7 +173,9 @@
|
|||
"vs/nls",
|
||||
"**/vs/base/{common,node}/**",
|
||||
"**/vs/base/parts/*/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -190,7 +194,9 @@
|
|||
"vs/css!./**/*",
|
||||
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -199,7 +205,9 @@
|
|||
"vs/nls",
|
||||
"**/vs/base/{common,node,electron-main}/**",
|
||||
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -256,7 +264,9 @@
|
|||
"**/vs/base/{common,node}/**",
|
||||
"**/vs/base/parts/*/{common,node}/**",
|
||||
"**/vs/platform/*/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -277,7 +287,9 @@
|
|||
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/platform/*/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -287,7 +299,9 @@
|
|||
"**/vs/base/{common,node,electron-main}/**",
|
||||
"**/vs/base/parts/*/{common,node,electron-main}/**",
|
||||
"**/vs/platform/*/{common,node,electron-main}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -514,7 +528,9 @@
|
|||
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/services/*/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -529,7 +545,9 @@
|
|||
"vs/workbench/contrib/files/browser/editors/fileEditorInput",
|
||||
"**/vs/workbench/services/**",
|
||||
"**/vs/workbench/test/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -593,7 +611,9 @@
|
|||
"**/vs/workbench/{common,node}/**",
|
||||
"**/vs/workbench/api/{common,node}/**",
|
||||
"**/vs/workbench/services/**/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -624,7 +644,9 @@
|
|||
"**/vs/workbench/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/services/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -743,7 +765,9 @@
|
|||
"**/vs/workbench/api/{common,node}/**",
|
||||
"**/vs/workbench/services/**/{common,node}/**",
|
||||
"**/vs/workbench/contrib/**/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -776,7 +800,9 @@
|
|||
"**/vs/workbench/api/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/services/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/workbench/contrib/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -799,7 +825,9 @@
|
|||
"**/vs/base/parts/**/{common,node}/**",
|
||||
"**/vs/platform/**/{common,node}/**",
|
||||
"**/vs/code/**/{common,node}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -811,7 +839,9 @@
|
|||
"**/vs/base/parts/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/platform/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"**/vs/code/**/{common,browser,node,electron-sandbox,electron-browser}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -822,7 +852,9 @@
|
|||
"**/vs/base/parts/**/{common,node,electron-main}/**",
|
||||
"**/vs/platform/**/{common,node,electron-main}/**",
|
||||
"**/vs/code/**/{common,node,electron-main}/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -834,7 +866,9 @@
|
|||
"**/vs/platform/**/{common,node}/**",
|
||||
"**/vs/workbench/**/{common,node}/**",
|
||||
"**/vs/server/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -905,28 +939,36 @@
|
|||
"target": "**/test/smoke/**",
|
||||
"restrictions": [
|
||||
"**/test/smoke/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "**/test/automation/**",
|
||||
"restrictions": [
|
||||
"**/test/automation/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "**/test/integration/**",
|
||||
"restrictions": [
|
||||
"**/test/integration/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "**/test/monaco/**",
|
||||
"restrictions": [
|
||||
"**/test/monaco/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -944,21 +986,27 @@
|
|||
"target": "**/{node,electron-browser,electron-main}/**/*.test.ts",
|
||||
"restrictions": [
|
||||
"**/vs/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "**/{node,electron-browser,electron-main}/**/test/**",
|
||||
"restrictions": [
|
||||
"**/vs/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "**/test/{node,electron-browser,electron-main}/**",
|
||||
"restrictions": [
|
||||
"**/vs/**",
|
||||
"@vscode/*", "@parcel/*", "*" // node modules
|
||||
"@vscode/*",
|
||||
"@parcel/*",
|
||||
"*" // node modules
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -1004,6 +1052,14 @@
|
|||
"jsdoc/no-types": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"**/*.test.ts"
|
||||
],
|
||||
"rules": {
|
||||
"code-no-test-only": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"**/vscode.d.ts",
|
||||
|
|
17
build/lib/eslint/code-no-test-only.js
Normal file
17
build/lib/eslint/code-no-test-only.js
Normal file
|
@ -0,0 +1,17 @@
|
|||
"use strict";
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
module.exports = new class NoTestOnly {
|
||||
create(context) {
|
||||
return {
|
||||
['MemberExpression[object.name="test"][property.name="only"]']: (node) => {
|
||||
return context.report({
|
||||
node,
|
||||
message: 'test.only is a dev-time tool and CANNOT be pushed'
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
20
build/lib/eslint/code-no-test-only.ts
Normal file
20
build/lib/eslint/code-no-test-only.ts
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as eslint from 'eslint';
|
||||
|
||||
export = new class NoTestOnly implements eslint.Rule.RuleModule {
|
||||
|
||||
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
|
||||
return {
|
||||
['MemberExpression[object.name="test"][property.name="only"]']: (node: any) => {
|
||||
return context.report({
|
||||
node,
|
||||
message: 'test.only is a dev-time tool and CANNOT be pushed'
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
Loading…
Reference in a new issue