chore: new payload/no-relative-monorepo-imports eslint rule

This commit is contained in:
Alessio Gravili
2024-03-20 23:03:09 -04:00
parent 27dfa41b67
commit d511e80b01
3 changed files with 37 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
module.exports = {
meta: {
type: 'problem',
docs: {
description: 'Disallow imports from relative monorepo packages/*/src',
category: 'Best Practices',
recommended: true,
},
schema: [],
},
create: function (context) {
return {
ImportDeclaration(node) {
const importPath = node.source.value
// Match imports starting with any number of "../" followed by "packages/"
const regex = /^(\.\.\/)*packages\/[^/]+\/src/
if (regex.test(importPath)) {
context.report({
node: node.source,
message: 'Import from relative "packages/*/src" is not allowed',
})
}
},
}
},
}

View File

@@ -2,5 +2,6 @@
module.exports = {
rules: {
'no-non-retryable-assertions': require('./customRules/no-non-retryable-assertions'),
'no-relative-monorepo-imports': require('./customRules/no-relative-monorepo-imports'),
},
}