eslint/no-restricted-exports Nursery
作用
此规则不允许将指定名称用作导出名称。
默认情况下,此规则不会禁止任何名称。只有你在配置中指定的名称才会被禁止。
这为什么不好?
在项目中,某些名称可能由于各种原因不允许被用作导出名称。
配置
此规则接受一个包含以下属性的配置对象:
hasDefaultRestrictedNamedExport
type: boolean
restrictDefaultExports
type: object
一个带有布尔属性的对象,用于限制某些默认导出声明。只有当 restrictedNamedExports 选项不包含 "default" 值时,此选项才有效。
restrictDefaultExports.defaultFrom
type: boolean
default: false
是否限制 export { default } from 声明。
针对 "restrictDefaultExports": { "defaultFrom": true } 的错误代码示例:
export { default } from "foo";restrictDefaultExports.direct
type: boolean
default: false
是否限制 export default 声明。
针对 "restrictDefaultExports": { "direct": true } 的错误代码示例:
const foo = 123;
export default foo;restrictDefaultExports.named
type: boolean
default: false
是否限制 export { foo as default } 声明。
针对 "restrictDefaultExports": { "named": true } 的错误代码示例:
const foo = 123;
export { foo as default };restrictDefaultExports.namedFrom
type: boolean
default: false
是否限制 export { foo as default } from 声明。
针对 "restrictDefaultExports": { "namedFrom": true } 的错误代码示例:
export { foo as default } from "foo";restrictDefaultExports.namespaceFrom
type: boolean
default: false
是否限制 export * as default from 声明。
针对 "restrictDefaultExports": { "namespaceFrom": true } 的错误代码示例:
export * as default from "foo";restrictedNamedExports
type: string[]
default: []
一个字符串数组,其中每个字符串都是一个要被限制的名称。
针对 "restrictedNamedExports": ["foo"] 的错误代码示例:
export const foo = 1;针对 "restrictedNamedExports": ["foo"] 的正确代码示例:
export const bar = 1;按照设计,此选项不会禁止 export default 声明。如果你将 default 配置为受限名称,那么该限制只会应用于命名导出声明。
针对 "restrictedNamedExports": ["default"] 的错误代码示例:
function foo() {}
export { foo as default };
export { default } from "some_module";restrictedNamedExportsPattern
type: string
一个表示正则表达式模式的字符串。匹配此模式的命名导出将被限制。此选项不适用于默认命名导出。
针对 "restrictedNamedExportsPattern": "bar$" 的错误代码示例:
export const foobar = 1;针对 "restrictedNamedExportsPattern": "bar$" 的正确代码示例:
export const foo = 1;使用方法
To enable this rule using the config file or in the CLI, you can use:
{
"rules": {
"no-restricted-exports": "error"
}
}import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"no-restricted-exports": "error",
},
});oxlint --deny no-restricted-exportsVersion
该规则于 v1.59.0 中添加。
