55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
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.`,
|
|
})
|
|
}
|
|
},
|
|
}
|
|
},
|
|
},
|
|
"no-test-com": {
|
|
meta: {
|
|
type: "problem",
|
|
docs: {
|
|
description:
|
|
"disallow the use of 'test.com' in strings and replace it with 'example.com'",
|
|
category: "Possible Errors",
|
|
recommended: false,
|
|
},
|
|
schema: [], // no options
|
|
fixable: "code", // Indicates that this rule supports automatic fixing
|
|
},
|
|
create: function (context) {
|
|
return {
|
|
Literal(node) {
|
|
if (
|
|
typeof node.value === "string" &&
|
|
node.value.includes("test.com")
|
|
) {
|
|
context.report({
|
|
node,
|
|
message:
|
|
"test.com is a privately owned domain and could point anywhere, use example.com instead.",
|
|
fix: function (fixer) {
|
|
const newText = node.raw.replace(/test\.com/g, "example.com")
|
|
return fixer.replaceText(node, newText)
|
|
},
|
|
})
|
|
}
|
|
},
|
|
}
|
|
},
|
|
},
|
|
}
|