130 lines
3.6 KiB
JSON
130 lines
3.6 KiB
JSON
{
|
|
"root": true,
|
|
"env": {
|
|
"browser": true,
|
|
"es6": true,
|
|
"jest": true,
|
|
"node": true
|
|
},
|
|
"parser": "@babel/eslint-parser",
|
|
"parserOptions": {
|
|
"ecmaVersion": 2019,
|
|
"sourceType": "module",
|
|
"allowImportExportEverywhere": true
|
|
},
|
|
"ignorePatterns": [
|
|
"node_modules",
|
|
"dist",
|
|
"public",
|
|
"*.spec.js",
|
|
"bundle.js"
|
|
],
|
|
"extends": ["eslint:recommended"],
|
|
"plugins": ["import", "eslint-plugin-local-rules"],
|
|
"overrides": [
|
|
{
|
|
"files": ["**/*.svelte"],
|
|
"extends": "plugin:svelte/recommended",
|
|
"parser": "svelte-eslint-parser",
|
|
"parserOptions": {
|
|
"parser": "@typescript-eslint/parser",
|
|
"ecmaVersion": 2019,
|
|
"allowImportExportEverywhere": true
|
|
}
|
|
},
|
|
{
|
|
"files": ["**/*.ts"],
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": ["@typescript-eslint"],
|
|
"extends": ["eslint:recommended"],
|
|
"globals": {
|
|
"NodeJS": true
|
|
},
|
|
"rules": {
|
|
"no-unused-vars": "off",
|
|
"local-rules/no-barrel-imports": "error",
|
|
"local-rules/no-budibase-imports": "error",
|
|
"local-rules/no-console-error": "error",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"varsIgnorePattern": "^_",
|
|
"argsIgnorePattern": "^_",
|
|
"destructuredArrayIgnorePattern": "^_",
|
|
"ignoreRestSiblings": true
|
|
}
|
|
],
|
|
"no-redeclare": "off",
|
|
"@typescript-eslint/no-redeclare": "error",
|
|
// have to turn this off to allow function overloading in typescript
|
|
"no-dupe-class-members": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": ["**/*.spec.ts"],
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": ["jest", "@typescript-eslint"],
|
|
"extends": ["eslint:recommended", "plugin:jest/recommended"],
|
|
"env": {
|
|
"jest/globals": true
|
|
},
|
|
"globals": {
|
|
"NodeJS": true
|
|
},
|
|
"rules": {
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"varsIgnorePattern": "^_",
|
|
"argsIgnorePattern": "^_",
|
|
"destructuredArrayIgnorePattern": "^_",
|
|
"ignoreRestSiblings": true
|
|
}
|
|
],
|
|
"local-rules/no-test-com": "error",
|
|
"local-rules/email-domain-example-com": "error",
|
|
"no-console": "warn",
|
|
// We have a lot of tests that don't have assertions, they use our test
|
|
// API client that does the assertions for them
|
|
"jest/expect-expect": "off",
|
|
// We do this in some tests where the behaviour of internal tables
|
|
// differs to external, but the API is broadly the same
|
|
"jest/no-conditional-expect": "off",
|
|
// have to turn this off to allow function overloading in typescript
|
|
"no-dupe-class-members": "off",
|
|
"no-redeclare": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"packages/builder/**/*",
|
|
"packages/client/**/*",
|
|
"packages/frontend-core/**/*"
|
|
],
|
|
"rules": {
|
|
"no-console": ["error", { "allow": ["warn", "error", "debug"] }]
|
|
}
|
|
}
|
|
],
|
|
"rules": {
|
|
"no-self-assign": "off",
|
|
"no-unused-vars": [
|
|
"error",
|
|
{
|
|
"varsIgnorePattern": "^_",
|
|
"argsIgnorePattern": "^_",
|
|
"destructuredArrayIgnorePattern": "^_",
|
|
"ignoreRestSiblings": true
|
|
}
|
|
],
|
|
"import/no-relative-packages": "error",
|
|
"import/export": "error",
|
|
"import/no-duplicates": "error",
|
|
"import/newline-after-import": "error"
|
|
},
|
|
"globals": {
|
|
"GeolocationPositionError": true
|
|
}
|
|
}
|