📄 no-typescript-estree-import¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 📦 Imports | 1 |
| 📊 Variables & Constants | 3 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/eslint-plugin-internal/src/rules/no-typescript-estree-import.ts
📤 Default Export¶
| Property | Value |
|---|---|
name |
'no-typescript-estree-import' |
meta.type |
'problem' |
meta.docs.description |
Enforce that eslint-plugin rules don't require anything from ${TSESTREE_NAME} or ${TYPES_NAME} |
meta.fixable |
'code' |
meta.messages.dontImportPackage |
[ Don't import from {{packageName}}. Everything you need should be available in ${UTILS_NAME}., `{{packageName}} is... |
meta.schema |
[] |
defaultOptions |
[] |
Entry point: create — documented under Functions.
📦 Imports¶
| Name | Source |
|---|---|
createRule |
../util/index.js |
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
TSESTREE_NAME |
"@typescript-eslint/typescript-estree" |
const | '@typescript-eslint/typescript-estree' |
✗ |
TYPES_NAME |
"@typescript-eslint/types" |
const | '@typescript-eslint/types' |
✗ |
UTILS_NAME |
"@typescript-eslint/utils" |
const | '@typescript-eslint/utils' |
✗ |
Functions¶
create(context: any): { ImportDeclaration(node: any): void; }¶
Parameters:
contextany
Returns: { ImportDeclaration(node: any): void; }
Calls:
node.source.value.startsWithcontext.reportfixer.replaceTextRange
Code
create(context) {
return {
ImportDeclaration(node): void {
if (typeof node.source.value !== 'string') {
return;
}
let packageName: string | null = null;
if (node.source.value.startsWith(TSESTREE_NAME)) {
packageName = TSESTREE_NAME;
} else if (node.source.value.startsWith(TYPES_NAME)) {
packageName = TYPES_NAME;
}
if (packageName != null) {
context.report({
node,
messageId: 'dontImportPackage',
data: {
packageName,
},
fix(fixer) {
return fixer.replaceTextRange(
[node.source.range[0] + 1, node.source.range[1] - 1],
UTILS_NAME,
);
},
});
}
},
};
}
Generated by Syntax Scribe