1
0
Fork 0
mirror of synced 2024-06-13 07:54:46 +12:00

Detect non-barrel workspace usages

This commit is contained in:
Adria Navarro 2023-11-17 14:39:52 +01:00
parent ab56228192
commit e8abb5cb46
5 changed files with 31 additions and 2 deletions

View file

@ -19,7 +19,7 @@
"bundle.js"
],
"extends": ["eslint:recommended"],
"plugins": ["import"],
"plugins": ["import", "eslint-plugin-local-rules"],
"overrides": [
{
"files": ["**/*.svelte"],
@ -42,7 +42,8 @@
"no-case-declarations": "off",
"no-useless-escape": "off",
"no-undef": "off",
"no-prototype-builtins": "off"
"no-prototype-builtins": "off",
"local-rules/no-budibase-imports": "error"
}
}
],

View file

@ -0,0 +1,21 @@
module.exports = {
"no-budibase-imports": {
create: function (context) {
return {
ImportDeclaration(node) {
const importPath = node.source.value
if (
/^@budibase\/[^/]+\/.*$/.test(importPath) &&
importPath !== "@budibase/backend-core/tests"
) {
context.report({
node,
message: `Importing from @budibase is not allowed, except for @budibase/backend-core/tests.`,
})
}
},
}
},
},
}

View file

@ -11,6 +11,7 @@
"esbuild-node-externals": "^1.8.0",
"eslint": "^8.44.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-local-rules": "^2.0.0",
"eslint-plugin-svelte": "^2.32.2",
"husky": "^8.0.3",
"kill-port": "^1.6.1",

View file

@ -32,6 +32,7 @@ export * as blacklist from "./blacklist"
export * as docUpdates from "./docUpdates"
export * from "./utils/Duration"
export { SearchParams } from "./db"
export * as docIds from "./docIds"
// Add context to tenancy for backwards compatibility
// only do this for external usages to prevent internal
// circular dependencies

View file

@ -10329,6 +10329,11 @@ eslint-plugin-import@^2.29.0:
semver "^6.3.1"
tsconfig-paths "^3.14.2"
eslint-plugin-local-rules@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-local-rules/-/eslint-plugin-local-rules-2.0.0.tgz#cda95d7616cc0e2609d76c347c187ca2be1e252e"
integrity sha512-sWueme0kUcP0JC1+6OBDQ9edBDVFJR92WJHSRbhiRExlenMEuUisdaVBPR+ItFBFXo2Pdw6FD2UfGZWkz8e93g==
eslint-plugin-svelte@^2.32.2:
version "2.32.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-svelte/-/eslint-plugin-svelte-2.32.2.tgz#d8f1352b55967445ee8d57aaee55f99712696a30"