mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
* add more folders to strictire compile, add more strict compile options * update ci * wip * add more layering and fix issues * add more strictness * remove unnecessary assertion * add missing checks * fix indentation * remove jsdoc
265 lines
9.5 KiB
JSON
265 lines
9.5 KiB
JSON
{
|
|
"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"], // 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/class-name-casing": "warn",
|
|
"code-no-unused-expressions": [
|
|
"warn",
|
|
{
|
|
"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": [
|
|
"warn",
|
|
{
|
|
"common": ["browser"], // {{SQL CARBON EDIT}} @anthonydresser not ideal, but for our purposes its fine for now,
|
|
"node": [
|
|
"common"
|
|
],
|
|
"browser": [
|
|
"common"
|
|
],
|
|
"electron-main": [
|
|
"common",
|
|
"node"
|
|
],
|
|
"electron-browser": [
|
|
"common",
|
|
"browser",
|
|
"node"
|
|
]
|
|
}
|
|
],
|
|
"code-import-patterns": [
|
|
"warn",
|
|
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
// !!! Do not relax these rules !!!
|
|
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
{
|
|
"target": "**/{vs,sql}/base/common/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/common/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/test/common/**",
|
|
"restrictions": [
|
|
"assert",
|
|
"sinon",
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/common/**",
|
|
"**/{vs,sql}/base/test/common/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/browser/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"vs/css!./**/*",
|
|
"**/{vs,sql}/base/{common,browser}/**",
|
|
"@angular/*",
|
|
"rxjs/*"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/node/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/{common,browser,node}/**",
|
|
"!path" // node modules (except path where we have our own impl)
|
|
]
|
|
},
|
|
{
|
|
// vs/base/test/browser contains tests for vs/base/browser
|
|
"target": "**/{vs,sql}/base/test/browser/**",
|
|
"restrictions": [
|
|
"assert",
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/{common,browser}/**",
|
|
"**/{vs,sql}/base/test/{common,browser}/**",
|
|
"@angular/*",
|
|
"rxjs/*"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/parts/*/common/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/common/**",
|
|
"**/{vs,sql}/base/parts/*/common/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/parts/*/browser/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"vs/css!./**/*",
|
|
"**/{vs,sql}/base/{common,browser}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser}/**",
|
|
"@angular/*",
|
|
"rxjs/*"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/parts/*/node/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/{common,browser,node}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser,node}/**",
|
|
"!path" // node modules (except path where we have our own impl)
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/parts/*/electron-browser/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"vs/css!./**/*",
|
|
"**/{vs,sql}/base/{common,browser,node,electron-browser}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
|
|
"!path", // node modules (except path where we have our own impl)
|
|
"@angular/*",
|
|
"rxjs/*"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/base/parts/*/electron-main/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/{common,browser,node,electron-main}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-main}/**",
|
|
"!path", // node modules (except path where we have our own impl)
|
|
"@angular/*",
|
|
"rxjs/*"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/common/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"azdata",
|
|
"**/{vs,sql}/base/common/**",
|
|
"**/{vs,sql}/base/parts/*/common/**",
|
|
"**/{vs,sql}/platform/*/common/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/test/common/**",
|
|
"restrictions": [
|
|
"assert",
|
|
"typemoq",
|
|
"sinon",
|
|
"vs/nls",
|
|
"azdata",
|
|
"**/{vs,sql}/base/common/**",
|
|
"**/{vs,sql}/base/test/common/**",
|
|
"**/{vs,sql}/platform/*/common/**",
|
|
"**/{vs,sql}/platform/*/test/common/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/browser/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"azdata",
|
|
"vs/css!./**/*",
|
|
"**/{vs,sql}/base/{common,browser}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser}/**",
|
|
"**/{vs,sql}/platform/*/{common,browser}/**"
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/node/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"azdata",
|
|
"**/{vs,sql}/base/{common,node}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,node}/**",
|
|
"**/{vs,sql}/platform/*/{common,node}/**",
|
|
"!path" // node modules (except path where we have our own impl)
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/electron-browser/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"azdata",
|
|
"vs/css!./**/*",
|
|
"**/{vs,sql}/base/{common,browser,node}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,browser,node,electron-browser}/**",
|
|
"**/{vs,sql}/platform/*/{common,browser,node,electron-browser}/**",
|
|
"!path" // node modules (except path where we have our own impl)
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/electron-main/**",
|
|
"restrictions": [
|
|
"vs/nls",
|
|
"azdata",
|
|
"**/{vs,sql}/base/{common,node,electron-main}/**",
|
|
"**/{vs,sql}/base/parts/*/{common,node,electron-main}/**",
|
|
"**/{vs,sql}/platform/*/{common,node,electron-main}/**",
|
|
"!path" // node modules (except path where we have our own impl)
|
|
]
|
|
},
|
|
{
|
|
"target": "**/{vs,sql}/platform/*/test/browser/**",
|
|
"restrictions": [
|
|
"assert",
|
|
"typemoq",
|
|
"sinon",
|
|
"azdata",
|
|
"vs/nls",
|
|
"**/{vs,sql}/base/{common,browser}/**",
|
|
"**/{vs,sql}/base/test/{common,browser}/**",
|
|
"**/{vs,sql}/platform/*/{common,browser}/**",
|
|
"**/{vs,sql}/platform/*/test/{common,browser}/**"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"*.js"
|
|
],
|
|
"rules": {
|
|
"jsdoc/no-types": "off"
|
|
}
|
|
}
|
|
]
|
|
}
|