{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jsdoc"
],
"rules": {
"constructor-super": "warn",
"curly": "warn",
"eqeqeq": "warn",
"no-buffer-constructor": "warn",
"no-caller": "warn",
"no-debugger": "warn",
"no-duplicate-case": "warn",
"no-duplicate-imports": "warn",
"no-eval": "warn",
"no-extra-semi": "warn",
"no-new-wrappers": "warn",
"no-redeclare": "off",
"no-sparse-arrays": "warn",
"no-throw-literal": "warn",
"no-unsafe-finally": "warn",
"no-unused-labels": "warn",
"no-restricted-globals": [
"warn",
"name",
"length",
"event",
"closed",
"external",
"status",
"origin",
"orientation",
"context"
], // non-complete list of globals that are easy to access unintentionally
"no-var": "warn",
"jsdoc/no-types": "warn",
"semi": "off",
"@typescript-eslint/semi": "warn",
"@typescript-eslint/naming-convention": [
"selector": "class",
"format": [
"PascalCase"
]
}
"code-no-unused-expressions": [
"allowTernary": true
"code-translation-remind": "warn",
"code-no-nls-in-standalone-editor": "warn",
"code-no-standalone-editor": "warn",
"code-no-unexternalized-strings": "warn",
"code-layering": [
"common": [],
"node": [
"common"
"browser": [
"electron-sandbox": [
"common",
"browser"
"electron-browser": [
"browser",
"node",
"electron-sandbox"
"electron-main": [
"node"
"code-import-patterns": [
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! Do not relax these rules !!!
"target": "**/vs/base/common/**",
"restrictions": [
"vs/nls",
"**/vs/base/common/**"
"target": "**/vs/base/test/common/**",
"assert",
"sinon",
"**/vs/base/common/**",
"**/vs/base/test/common/**"
"target": "**/vs/base/browser/**",
"vs/css!./**/*",
"**/vs/base/{common,browser}/**"
"target": "**/vs/base/electron-sandbox/**",
"**/vs/base/{common,browser,electron-sandbox}/**"
"target": "**/vs/base/node/**",
"**/vs/base/{common,node}/**",
"*" // node modules
// vs/base/test/browser contains tests for vs/base/browser
"target": "**/vs/base/test/browser/**",
"**/vs/base/{common,browser}/**",
"**/vs/base/test/{common,browser}/**"
"target": "**/vs/base/parts/*/common/**",
"**/vs/base/parts/*/common/**"
"target": "**/vs/base/parts/*/browser/**",
"**/vs/base/parts/*/{common,browser}/**"
"target": "**/vs/base/parts/*/node/**",
"**/vs/base/parts/*/{common,node}/**",
"target": "**/vs/base/parts/*/electron-sandbox/**",
"**/vs/base/{common,browser,electron-sandbox}/**",
"**/vs/base/parts/*/{common,browser,electron-sandbox}/**"
"target": "**/vs/base/parts/*/electron-browser/**",
"**/vs/base/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/vs/base/parts/*/{common,browser,node,electron-sandbox,electron-browser}/**",
"target": "**/vs/base/parts/*/electron-main/**",
"**/vs/base/{common,node,electron-main}/**",
"**/vs/base/parts/*/{common,node,electron-main}/**",
"target": "**/vs/platform/*/common/**",
"**/vs/base/parts/*/common/**",
"**/vs/platform/*/common/**"
"target": "**/vs/platform/*/test/common/**",
"**/vs/base/test/common/**",
"**/vs/platform/*/common/**",
"**/vs/platform/*/test/common/**"
"target": "**/vs/platform/*/browser/**",
"**/vs/base/parts/*/{common,browser}/**",
"**/vs/platform/*/{common,browser}/**"
"target": "**/vs/platform/*/node/**",
"**/vs/platform/*/{common,node}/**",
"target": "**/vs/platform/*/electron-sandbox/**",
"**/vs/base/parts/*/{common,browser,electron-sandbox}/**",
"**/vs/platform/*/{common,browser,electron-sandbox}/**"
"target": "**/vs/platform/*/electron-browser/**",
"**/vs/platform/*/{common,browser,node,electron-sandbox,electron-browser}/**",
"target": "**/vs/platform/*/electron-main/**",
"**/vs/platform/*/{common,node,electron-main}/**",
"target": "**/vs/platform/*/test/browser/**",
"**/vs/platform/*/{common,browser}/**",
"**/vs/platform/*/test/{common,browser}/**"
"target": "**/vs/editor/common/**",
"**/vs/base/worker/**",
"**/vs/editor/common/**"
"target": "**/vs/editor/test/common/**",
"**/vs/platform/*/test/common/**",
"**/vs/editor/common/**",
"**/vs/editor/test/common/**"
"target": "**/vs/editor/browser/**",
"**/vs/editor/{common,browser}/**"
"target": "**/vs/editor/test/browser/**",
"**/vs/platform/*/test/{common,browser}/**",
"**/vs/editor/{common,browser}/**",
"**/vs/editor/test/{common,browser}/**"
"target": "**/vs/editor/standalone/common/**",
"**/vs/editor/standalone/common/**"
"target": "**/vs/editor/standalone/test/common/**",
"target": "**/vs/editor/standalone/browser/**",
"**/vs/editor/contrib/**",
"**/vs/editor/standalone/{common,browser}/**"
"target": "**/vs/editor/standalone/test/browser/**",
"**/vs/editor/standalone/{common,browser}/**",
"target": "**/vs/editor/contrib/*/test/**",
"**/vs/base/test/{common,browser}/**",
"**/vs/editor/test/{common,browser}/**",
"**/vs/editor/contrib/**"
"target": "**/vs/editor/contrib/**",
"**/vs/platform/{common,browser}/**",
"target": "**/vs/workbench/common/**",
"**/vs/editor/contrib/*/common/**",
"**/vs/workbench/common/**",
"**/vs/workbench/services/*/common/**",
"assert"
"target": "**/vs/workbench/browser/**",
"**/vs/editor/contrib/**", // editor/contrib is equivalent to /browser/ by convention
"**/vs/workbench/workbench.web.api",
"**/vs/workbench/{common,browser}/**",
"**/vs/workbench/services/*/{common,browser}/**",
"target": "**/vs/workbench/api/common/**",
"vscode",
"**/vs/workbench/api/common/**",
"**/vs/workbench/contrib/*/common/**"
"target": "**/vs/workbench/api/worker/**",
"**/vs/**/{common,worker}/**"
"target": "**/vs/workbench/electron-sandbox/**",
"**/vs/platform/*/{common,browser,electron-sandbox}/**",
"**/vs/editor/{common,browser,electron-sandbox}/**",
"**/vs/workbench/{common,browser,electron-sandbox}/**",
"**/vs/workbench/api/{common,browser,electron-sandbox}/**",
"**/vs/workbench/services/*/{common,browser,electron-sandbox}/**"
"target": "**/vs/workbench/electron-browser/**",
"**/vs/editor/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/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}/**",
"target": "**/vs/workbench/services/**/test/**",
"**/vs/base/**",
"**/vs/platform/**",
"**/vs/editor/**",
"vs/workbench/contrib/files/browser/editors/fileEditorInput",
"**/vs/workbench/services/**",
"**/vs/workbench/test/**",
"target": "**/vs/workbench/services/**/common/**",
"**/vs/base/**/common/**",
"**/vs/platform/**/common/**",
"**/vs/workbench/services/**/common/**",
"**/vs/workbench/api/**/common/**",
"vscode-textmate",
"vscode-oniguruma",
"iconv-lite-umd",
"tas-client-umd",
"jschardet"
"target": "**/vs/workbench/services/**/worker/**",
"**/vs/workbench/**/common/**",
"**/vs/workbench/**/worker/**",
"vscode"
"target": "**/vs/workbench/services/**/browser/**",
"**/vs/base/**/{common,browser,worker}/**",
"**/vs/platform/**/{common,browser}/**",
"**/vs/workbench/api/{common,browser}/**",
"**/vs/workbench/services/**/{common,browser}/**",
"target": "**/vs/workbench/services/**/node/**",
"**/vs/base/**/{common,node}/**",
"**/vs/platform/**/{common,node}/**",
"**/vs/editor/{common,node}/**",
"**/vs/workbench/{common,node}/**",
"**/vs/workbench/api/{common,node}/**",
"**/vs/workbench/services/**/{common,node}/**",
"target": "**/vs/workbench/services/**/electron-sandbox/**",
"**/vs/base/**/{common,browser,worker,electron-sandbox}/**",
"**/vs/platform/**/{common,browser,electron-sandbox}/**",
"**/vs/workbench/services/**/{common,browser,electron-sandbox}/**",
"target": "**/vs/workbench/services/**/electron-browser/**",
"**/vs/base/**/{common,browser,worker,node,electron-sandbox,electron-browser}/**",
"**/vs/platform/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/vs/workbench/services/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"target": "**/vs/workbench/contrib/**/test/**",
"**/vs/workbench/contrib/**",
"*"
"target": "**/vs/workbench/contrib/terminal/browser/**",
// xterm and its addons are strictly browser-only components
"xterm",
"xterm-addon-*",
"**/vs/base/**/{common,browser}/**",
"**/vs/workbench/contrib/**/{common,browser}/**",
"**/vs/workbench/services/**/{common,browser}/**"
"target": "**/vs/workbench/contrib/extensions/browser/**",
"target": "**/vs/workbench/contrib/update/browser/update.ts",
"target": "**/vs/workbench/contrib/notebook/common/**",
"**/vs/base/**/{common,worker}/**",
"**/vs/workbench/contrib/**/common/**"
"target": "**/vs/workbench/contrib/**/common/**",
"target": "**/vs/workbench/contrib/**/browser/**",
"target": "**/vs/workbench/contrib/**/node/**",
"**/vs/editor/**/common/**",
"**/vs/workbench/contrib/**/{common,node}/**",
"target": "**/vs/workbench/contrib/**/electron-sandbox/**",
"**/vs/workbench/contrib/**/{common,browser,electron-sandbox}/**",
"target": "**/vs/workbench/contrib/**/electron-browser/**",
"**/vs/workbench/contrib/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"target": "**/vs/code/browser/**",
"**/vs/base/parts/**/{common,browser}/**",
"**/vs/code/**/{common,browser}/**",
"**/vs/workbench/workbench.web.api"
"target": "**/vs/code/node/**",
"**/vs/base/parts/**/{common,node}/**",
"**/vs/code/**/{common,node}/**",
"target": "**/vs/code/electron-browser/**",
"**/vs/base/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/vs/base/parts/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/vs/code/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"target": "**/vs/code/electron-main/**",
"**/vs/base/**/{common,node,electron-main}/**",
"**/vs/base/parts/**/{common,node,electron-main}/**",
"**/vs/platform/**/{common,node,electron-main}/**",
"**/vs/code/**/{common,node,electron-main}/**",
"target": "**/vs/server/**",
"**/vs/workbench/**/{common,node}/**",
"**/vs/server/**",
"@coder/logger", // NOTE@coder: add logger
"target": "**/src/vs/workbench/workbench.common.main.ts",
"**/vs/workbench/**/{common,browser}/**"
"target": "**/src/vs/workbench/workbench.web.main.ts",
"**/vs/workbench/**/{common,browser}/**",
"**/vs/workbench/workbench.common.main"
"target": "**/src/vs/workbench/workbench.web.api.ts",
"**/vs/workbench/workbench.web.main"
"target": "**/src/vs/workbench/workbench.sandbox.main.ts",
"**/vs/base/**/{common,browser,electron-sandbox}/**",
"**/vs/base/parts/**/{common,browser,electron-sandbox}/**",
"**/vs/workbench/**/{common,browser,electron-sandbox}/**",
"target": "**/src/vs/workbench/workbench.desktop.main.ts",
"**/vs/workbench/**/{common,browser,node,electron-sandbox,electron-browser}/**",
"**/vs/workbench/workbench.common.main",
"**/vs/workbench/workbench.sandbox.main"
"target": "**/extensions/**",
"restrictions": "**/*"
"target": "**/test/smoke/**",
"**/test/smoke/**",
"target": "**/test/automation/**",
"**/test/automation/**",
"target": "**/test/integration/**",
"**/test/integration/**",
"target": "**/test/monaco/**",
"**/test/monaco/**",
"target": "**/api/**.test.ts",
"**/vs/**",
"crypto",
"target": "**/{node,electron-browser,electron-main}/**/*.test.ts",
"target": "**/{node,electron-browser,electron-main}/**/test/**",
"target": "**/test/{node,electron-browser,electron-main}/**",
"target": "**/**.test.ts",
"xterm*"
"target": "**/test/**",
"overrides": [
"files": [
"*.js"
"jsdoc/no-types": "off"
"**/vscode.d.ts",
"**/vscode.proposed.d.ts"
"vscode-dts-create-func": "warn",
"vscode-dts-literal-or-types": "warn",
"vscode-dts-interface-naming": "warn",
"vscode-dts-cancellation": "warn",
"vscode-dts-use-thenable": "warn",
"vscode-dts-region-comments": "warn",
"vscode-dts-provider-naming": [
"allowed": [
"FileSystemProvider",
"TreeDataProvider",
"TestProvider",
"CustomEditorProvider",
"CustomReadonlyEditorProvider",
"TerminalLinkProvider",
"AuthenticationProvider",
"NotebookContentProvider"
"vscode-dts-event-naming": [
"onCancellationRequested",
"event"
"verbs": [
"accept",
"change",
"close",
"collapse",
"create",
"delete",
"discover",
"dispose",
"edit",
"end",
"expand",
"grant",
"hide",
"invalidate",
"open",
"override",
"receive",
"register",
"remove",
"rename",
"save",
"send",
"start",
"terminate",
"trigger",
"unregister",
"write"