@shigen/eslint-plugin 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/rules/group-imports.js +10 -10
- package/dist/rules/group-imports.js.map +1 -1
- package/dist/rules/sort-imports.js +3 -3
- package/dist/rules/sort-imports.js.map +1 -1
- package/package.json +80 -80
- package/readme.md +0 -34
- package/dist/rules/experimental/no-commented-code.js +0 -142
- package/dist/rules/experimental/no-commented-code.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.rules = void 0;
|
|
4
|
-
const no_commented_code_1 = require("./rules/experimental/no-commented-code");
|
|
5
4
|
const group_imports_1 = require("./rules/group-imports");
|
|
6
5
|
const sort_imports_1 = require("./rules/sort-imports");
|
|
7
6
|
exports.rules = {
|
|
8
7
|
'group-imports': group_imports_1.rule,
|
|
9
8
|
'sort-imports': sort_imports_1.rule,
|
|
10
|
-
'experimental/no-commented-code': no_commented_code_1.rule,
|
|
11
9
|
};
|
|
12
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,yDAA6D;AAC7D,uDAA2D;AAY9C,QAAA,KAAK,GAAoC;IACrD,eAAe,EAAE,oBAAY;IAC7B,cAAc,EAAE,mBAAW;CAC3B,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.rule = exports.TypeImportConfiguration = exports.ModuleClass = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const node_module_1 = tslib_1.__importDefault(require("node:module"));
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
7
|
const ast_1 = require("../tools/ast");
|
|
8
8
|
const rule_1 = require("../tools/rule");
|
|
9
9
|
const sort_1 = require("../tools/sort");
|
|
@@ -13,13 +13,13 @@ var ModuleClass;
|
|
|
13
13
|
ModuleClass["External"] = "external";
|
|
14
14
|
ModuleClass["Absolute"] = "absolute";
|
|
15
15
|
ModuleClass["Relative"] = "relative";
|
|
16
|
-
})(ModuleClass
|
|
16
|
+
})(ModuleClass || (exports.ModuleClass = ModuleClass = {}));
|
|
17
17
|
var TypeImportConfiguration;
|
|
18
18
|
(function (TypeImportConfiguration) {
|
|
19
19
|
TypeImportConfiguration["Include"] = "include";
|
|
20
20
|
TypeImportConfiguration["Exclude"] = "exclude";
|
|
21
21
|
TypeImportConfiguration["Only"] = "only";
|
|
22
|
-
})(TypeImportConfiguration
|
|
22
|
+
})(TypeImportConfiguration || (exports.TypeImportConfiguration = TypeImportConfiguration = {}));
|
|
23
23
|
const defaultConfiguration = [
|
|
24
24
|
{ class: ModuleClass.Node },
|
|
25
25
|
{ class: ModuleClass.External },
|
|
@@ -54,16 +54,16 @@ function groupIndex(node, groups) {
|
|
|
54
54
|
return hardCodedIndex;
|
|
55
55
|
}
|
|
56
56
|
// split path at / delimiter but keep first / for absolute paths
|
|
57
|
-
const [
|
|
58
|
-
if (!
|
|
57
|
+
const [moduleName] = importPath.split(/(?=^\/)|\//u);
|
|
58
|
+
if (!moduleName) {
|
|
59
59
|
throw new Error(`group-imports: unexpected undefined module name for path '${importPath}'`);
|
|
60
60
|
}
|
|
61
61
|
let moduleClass = ModuleClass.External;
|
|
62
|
-
if (
|
|
62
|
+
if (node_module_1.default.isBuiltin(moduleName)) {
|
|
63
63
|
moduleClass = ModuleClass.Node;
|
|
64
64
|
}
|
|
65
|
-
else if (/^(?:\/|\.)/u.exec(
|
|
66
|
-
moduleClass = (0,
|
|
65
|
+
else if (/^(?:\/|\.)/u.exec(moduleName)) {
|
|
66
|
+
moduleClass = (0, node_path_1.isAbsolute)(moduleName) ? ModuleClass.Absolute : ModuleClass.Relative;
|
|
67
67
|
}
|
|
68
68
|
const classIndex = findIndex((group) => {
|
|
69
69
|
if (typeof group !== 'object' || !Reflect.has(group, 'class')) {
|
|
@@ -160,7 +160,7 @@ exports.rule = {
|
|
|
160
160
|
},
|
|
161
161
|
create(context) {
|
|
162
162
|
const groupConfigurations = context.options.length ? context.options : defaultConfiguration;
|
|
163
|
-
const source = context.
|
|
163
|
+
const source = context.sourceCode;
|
|
164
164
|
const imports = (0, ast_1.importModules)(source).map((node) => {
|
|
165
165
|
return {
|
|
166
166
|
index: groupIndex(node, groupConfigurations),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-imports.js","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"group-imports.js","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,13 +11,13 @@ var TypeImportGroupPosition;
|
|
|
11
11
|
TypeImportGroupPosition["Bottom"] = "bottom";
|
|
12
12
|
TypeImportGroupPosition["AboveValue"] = "above-value";
|
|
13
13
|
TypeImportGroupPosition["BelowValue"] = "below-value";
|
|
14
|
-
})(TypeImportGroupPosition
|
|
14
|
+
})(TypeImportGroupPosition || (exports.TypeImportGroupPosition = TypeImportGroupPosition = {}));
|
|
15
15
|
var TypeImportInlinePosition;
|
|
16
16
|
(function (TypeImportInlinePosition) {
|
|
17
17
|
TypeImportInlinePosition["Ignore"] = "ignore";
|
|
18
18
|
TypeImportInlinePosition["Start"] = "start";
|
|
19
19
|
TypeImportInlinePosition["End"] = "End";
|
|
20
|
-
})(TypeImportInlinePosition
|
|
20
|
+
})(TypeImportInlinePosition || (exports.TypeImportInlinePosition = TypeImportInlinePosition = {}));
|
|
21
21
|
const defaultConfiguration = {
|
|
22
22
|
specifier: 'source',
|
|
23
23
|
locales: ['en-US'],
|
|
@@ -70,7 +70,7 @@ exports.rule = {
|
|
|
70
70
|
},
|
|
71
71
|
create(context) {
|
|
72
72
|
const configuration = { ...defaultConfiguration, ...context.options[0] };
|
|
73
|
-
const source = context.
|
|
73
|
+
const source = context.sourceCode;
|
|
74
74
|
const partition = (result, node, index, from) => {
|
|
75
75
|
if (index > 0 && (0, ast_1.linesBetween)(from[index - 1], node) > 0) {
|
|
76
76
|
result.push([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-imports.js","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":";;;AAWA,sCAAyG;AACzG,wCAAyC;AACzC,wCAA2C;AAE3C,IAAY,uBAMX;AAND,WAAY,uBAAuB;IAClC,4CAAiB,CAAA;IACjB,sCAAW,CAAA;IACX,4CAAiB,CAAA;IACjB,qDAA0B,CAAA;IAC1B,qDAA0B,CAAA;AAC3B,CAAC,EANW,uBAAuB,
|
|
1
|
+
{"version":3,"file":"sort-imports.js","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,81 +1,81 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
2
|
+
"name": "@shigen/eslint-plugin",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "General purpose plugin for ESLint",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"eslint",
|
|
7
|
+
"lint",
|
|
8
|
+
"js",
|
|
9
|
+
"javascript",
|
|
10
|
+
"ts",
|
|
11
|
+
"typescript",
|
|
12
|
+
"es6"
|
|
13
|
+
],
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"author": "Tao Cumplido",
|
|
16
|
+
"repository": "https://github.com/tao-cumplido/shigen/tree/main/packages/eslint-plugin",
|
|
17
|
+
"bugs": "https://github.com/tao-cumplido/shigen/issues",
|
|
18
|
+
"files": [
|
|
19
|
+
"readme.md",
|
|
20
|
+
"dist/**/*"
|
|
21
|
+
],
|
|
22
|
+
"main": "dist/index.js",
|
|
23
|
+
"wireit": {
|
|
24
|
+
"prepublishOnly": {
|
|
25
|
+
"dependencies": [
|
|
26
|
+
"test",
|
|
27
|
+
"build"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"test": {
|
|
31
|
+
"command": "tsx --tsconfig tsconfig.test.json --test-reporter spec --test 'src/**/*.test.ts'",
|
|
32
|
+
"files": [
|
|
33
|
+
"src/**/*.ts"
|
|
34
|
+
],
|
|
35
|
+
"output": []
|
|
36
|
+
},
|
|
37
|
+
"build": {
|
|
38
|
+
"command": "tsc --build tsconfig.build.json",
|
|
39
|
+
"clean": "if-file-deleted",
|
|
40
|
+
"files": [
|
|
41
|
+
"src/**/*.ts",
|
|
42
|
+
"!src/**/*.test.ts",
|
|
43
|
+
"!src/tools/test.ts",
|
|
44
|
+
"../../tsconfig.base.json",
|
|
45
|
+
"tsconfig.build.json"
|
|
46
|
+
],
|
|
47
|
+
"output": [
|
|
48
|
+
"dist/**",
|
|
49
|
+
"*.tsbuildinfo"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": "^18.18.0 || >=20.0.0"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"tslib": "~2.6.2"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/eslint": "8.56.10",
|
|
61
|
+
"@types/estree": "1.0.5",
|
|
62
|
+
"@typescript-eslint/parser": "7.7.1",
|
|
63
|
+
"@typescript-eslint/types": "7.7.1",
|
|
64
|
+
"ajv": "8.12.0",
|
|
65
|
+
"eslint": "8.57.0",
|
|
66
|
+
"dedent": "1.5.3"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
70
|
+
"eslint": "^8.56.0"
|
|
71
|
+
},
|
|
72
|
+
"peerDependenciesMeta": {
|
|
73
|
+
"@typescript-eslint/parser": {
|
|
74
|
+
"optional": true
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"scripts": {
|
|
78
|
+
"test": "wireit",
|
|
79
|
+
"build": "wireit"
|
|
80
|
+
}
|
|
81
|
+
}
|
package/readme.md
CHANGED
|
@@ -135,37 +135,3 @@ The default configuration is:
|
|
|
135
135
|
"inlineTypes": "ignore"
|
|
136
136
|
}
|
|
137
137
|
```
|
|
138
|
-
|
|
139
|
-
## Experimental rules
|
|
140
|
-
|
|
141
|
-
:warning: These rules are experimental and may produce unexpected behavior. :warning:
|
|
142
|
-
|
|
143
|
-
- These rules are not auto-fixable!
|
|
144
|
-
- Consider setting the level to `"warn"` instead of `"error"`.
|
|
145
|
-
|
|
146
|
-
### `@shigen/experimental/no-commented-code`
|
|
147
|
-
|
|
148
|
-
This rule is meant to detect commented code. It does so by uncommenting comment nodes and run the whole file with the uncommented part through the parser. If the parser produces a valid AST the comment is marked as commented code. Generally it should work with any parser but has only been tested with the default parser `espree` and `@typescript-eslint/parser`. For example, `// type A = 0;` is not commented code with `espree` but it is with `@typescript-eslint/parser`.
|
|
149
|
-
|
|
150
|
-
False positives will probably happen, single words for example, are valid identifiers in many positions and `eslint-disable-next-line` is parsed as a `BinaryExpression`. Common patterns can be ignored and `^eslint-` is ignored by default. Additionally, doc comments are ignored as well, this cannot be turned off.
|
|
151
|
-
|
|
152
|
-
The following configuration options can be set:
|
|
153
|
-
|
|
154
|
-
```ts
|
|
155
|
-
interface Configuration {
|
|
156
|
-
ignorePatterns?: string[];
|
|
157
|
-
extendDefaultIgnorePatterns?: boolean;
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
- `ignorePatterns`: When a comment matches one of the specified patterns it will be ignored. The expressions are tested against the trimmed text content of the comment. Invalid regular expressions will be ignored.
|
|
162
|
-
- `extendDefaultIgnorePatterns`: Whether to keep the default ignore patterns without explicitly redefining them.
|
|
163
|
-
|
|
164
|
-
The default configuration is:
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"ignorePatterns": ["^eslint-", "^@ts-"],
|
|
169
|
-
"extendDefaultIgnorePatterns": false
|
|
170
|
-
}
|
|
171
|
-
```
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.rule = void 0;
|
|
4
|
-
const defaultConfiguration = {
|
|
5
|
-
ignorePatterns: ['^eslint-', '^@ts-'],
|
|
6
|
-
extendDefaultIgnorePatterns: false,
|
|
7
|
-
};
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
9
|
-
function mapPatternReducer(result, pattern) {
|
|
10
|
-
try {
|
|
11
|
-
result.push(new RegExp(pattern, 'u'));
|
|
12
|
-
}
|
|
13
|
-
catch { }
|
|
14
|
-
return result;
|
|
15
|
-
}
|
|
16
|
-
function parseIgnorePatterns(config) {
|
|
17
|
-
if (!config?.ignorePatterns) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const ignorePatterns = new Set(config.ignorePatterns);
|
|
21
|
-
if (config.extendDefaultIgnorePatterns) {
|
|
22
|
-
defaultConfiguration.ignorePatterns.forEach((pattern) => ignorePatterns.add(pattern));
|
|
23
|
-
}
|
|
24
|
-
return [...ignorePatterns].reduce(mapPatternReducer, []);
|
|
25
|
-
}
|
|
26
|
-
exports.rule = {
|
|
27
|
-
meta: {
|
|
28
|
-
schema: [
|
|
29
|
-
{
|
|
30
|
-
type: 'object',
|
|
31
|
-
properties: {
|
|
32
|
-
ignorePatterns: {
|
|
33
|
-
type: 'array',
|
|
34
|
-
items: {
|
|
35
|
-
type: 'string',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
extendDefaultIgnorePatterns: {
|
|
39
|
-
type: 'boolean',
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
|
-
},
|
|
45
|
-
create(context) {
|
|
46
|
-
function isNonSyntaxError(error) {
|
|
47
|
-
if (error instanceof SyntaxError) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return (context.parserPath.includes('@typescript-eslint') &&
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-var-requires
|
|
52
|
-
!(error instanceof require('@typescript-eslint/typescript-estree').TSError));
|
|
53
|
-
}
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
55
|
-
const parser = require(context.parserPath);
|
|
56
|
-
const source = context.getSourceCode();
|
|
57
|
-
const ignorePatterns = parseIgnorePatterns(context.options[0]) ?? defaultConfiguration.ignorePatterns.reduce(mapPatternReducer, []);
|
|
58
|
-
// generate power set of all comments to process and sort sets by size descending
|
|
59
|
-
const commentSets = source
|
|
60
|
-
.getAllComments()
|
|
61
|
-
.filter((comment) => {
|
|
62
|
-
if (!comment.loc) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
if (comment.type === 'Block' && comment.value.startsWith('*')) {
|
|
66
|
-
// ignore doc comments
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
return ignorePatterns.every((pattern) => !pattern.test(comment.value.trim()));
|
|
70
|
-
})
|
|
71
|
-
.reduce((sets, comment) => [...sets, ...sets.map((set) => [...set, comment])], [[]])
|
|
72
|
-
.sort((a, b) => b.length - a.length);
|
|
73
|
-
const reportedComments = new Set();
|
|
74
|
-
for (const set of commentSets) {
|
|
75
|
-
if (set.some((comment) => reportedComments.has(comment))) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
// we modify the lines in place so make a copy for each test
|
|
79
|
-
const lines = [...source.getLines()];
|
|
80
|
-
// uncomment locations in source
|
|
81
|
-
for (const comment of set) {
|
|
82
|
-
const startIndex = comment.loc.start.line - 1;
|
|
83
|
-
const start = [...(lines[startIndex] ?? '')];
|
|
84
|
-
// replace comment delimiters with spaces to not move locations for multiple comments on same line
|
|
85
|
-
start.splice(comment.loc.start.column, 2, ' ', ' ');
|
|
86
|
-
if (comment.type === 'Block') {
|
|
87
|
-
const endIndex = comment.loc.end.line - 1;
|
|
88
|
-
if (startIndex === endIndex) {
|
|
89
|
-
start.splice(comment.loc.end.column - 2, 2, ' ', ' ');
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const end = [...(lines[endIndex] ?? '')];
|
|
93
|
-
end.splice(comment.loc.end.column - 2, 2, ' ', ' ');
|
|
94
|
-
lines[endIndex] = end.join('');
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
lines[startIndex] = start.join('');
|
|
98
|
-
}
|
|
99
|
-
try {
|
|
100
|
-
const parse = parser.parse ?? parser.parseForESLint;
|
|
101
|
-
if (!parse) {
|
|
102
|
-
throw new Error(`unexpected error: no 'parse' method found`);
|
|
103
|
-
}
|
|
104
|
-
parse(lines.join('\n'), {
|
|
105
|
-
...context.parserOptions,
|
|
106
|
-
// provide same parser defaults as eslint (https://github.com/eslint/eslint/blob/82669fa66670a00988db5b1d10fe8f3bf30be84e/lib/linter/linter.js#L636-L645)
|
|
107
|
-
// the typescript parser would potentially error without the 'filePath' or 'range' options (https://github.com/typescript-eslint/typescript-eslint/issues/2742)
|
|
108
|
-
loc: true,
|
|
109
|
-
range: true,
|
|
110
|
-
raw: true,
|
|
111
|
-
tokens: true,
|
|
112
|
-
comment: true,
|
|
113
|
-
eslintVisitorKeys: true,
|
|
114
|
-
eslintScopeManager: true,
|
|
115
|
-
filePath: context.getFilename(),
|
|
116
|
-
// don't parse a typescript source in a project context
|
|
117
|
-
// it'd be much slower and is not necessary for simple syntax validation
|
|
118
|
-
project: undefined,
|
|
119
|
-
projects: undefined,
|
|
120
|
-
});
|
|
121
|
-
for (const comment of set) {
|
|
122
|
-
reportedComments.add(comment);
|
|
123
|
-
context.report({
|
|
124
|
-
loc: comment.loc,
|
|
125
|
-
message: 'comment contains code',
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
if (isNonSyntaxError(error)) {
|
|
131
|
-
const position = { line: 1, column: 0 };
|
|
132
|
-
context.report({
|
|
133
|
-
loc: { start: position, end: position },
|
|
134
|
-
message: error.message,
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return {};
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
//# sourceMappingURL=no-commented-code.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-commented-code.js","sourceRoot":"","sources":["../../../src/rules/experimental/no-commented-code.ts"],"names":[],"mappings":"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"}
|