@checkdigit/eslint-plugin 5.3.0-PR.42-c1c2 → 5.3.0-PR.42-5b90
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-cjs/index.cjs +11 -15
- package/dist-mjs/no-wallaby-comment.mjs +11 -15
- package/package.json +1 -1
- package/src/no-wallaby-comment.ts +10 -16
package/dist-cjs/index.cjs
CHANGED
|
@@ -326,32 +326,28 @@ var no_wallaby_comment_default = {
|
|
|
326
326
|
meta: {
|
|
327
327
|
type: "problem",
|
|
328
328
|
docs: {
|
|
329
|
-
description: "Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // file.only or // file.skip and fix it",
|
|
329
|
+
description: "Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // ??. or // file.only or // file.skip and fix it",
|
|
330
330
|
url: "https://github.com/checkdigit/eslint-plugin"
|
|
331
331
|
},
|
|
332
332
|
fixable: "code"
|
|
333
333
|
},
|
|
334
334
|
create(context) {
|
|
335
335
|
const sourceCode = context.sourceCode;
|
|
336
|
-
const sourceLines = sourceCode.
|
|
336
|
+
const sourceLines = sourceCode.getLines();
|
|
337
337
|
sourceLines.forEach((line, lineNumber) => {
|
|
338
|
-
const regex = /\s*(?:\/\/|<!--)\s*(
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const
|
|
338
|
+
const regex = /\s*(?:\/\/|<!--)\s*(?<comment>\?{1,2}\.?\s*|file\.(?:only|skip))\s*/gu;
|
|
339
|
+
let match;
|
|
340
|
+
while ((match = regex.exec(line)) !== null) {
|
|
341
|
+
const commentStart = match.index;
|
|
342
|
+
const start = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart });
|
|
343
|
+
const end = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart + match[0].length });
|
|
342
344
|
context.report({
|
|
343
345
|
loc: {
|
|
344
346
|
line: lineNumber + 1,
|
|
345
|
-
column:
|
|
347
|
+
column: commentStart
|
|
346
348
|
},
|
|
347
349
|
message: "Remove wallaby-specific comments",
|
|
348
|
-
fix: (fixer) => fixer.
|
|
349
|
-
[
|
|
350
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: 0 }),
|
|
351
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: line.length })
|
|
352
|
-
],
|
|
353
|
-
newLine
|
|
354
|
-
)
|
|
350
|
+
fix: (fixer) => fixer.removeRange([start, end])
|
|
355
351
|
});
|
|
356
352
|
}
|
|
357
353
|
});
|
|
@@ -386,5 +382,5 @@ var src_default = {
|
|
|
386
382
|
}
|
|
387
383
|
}
|
|
388
384
|
};
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9maWxlLXBhdGgtY29tbWVudC50cyIsICIuLi9zcmMvbm8tY2FyZC1udW1iZXJzLnRzIiwgIi4uL3NyYy9uby11dWlkLnRzIiwgIi4uL3NyYy9uby13YWxsYWJ5LWNvbW1lbnQudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ1VBLElBQU8sNEJBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxNQUNiLEtBQUs7QUFBQSxJQUNQO0FBQUEsSUFDQSxTQUFTO0FBQUEsRUFDWDtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxZQUFZLFFBQVEsV0FBVyxTQUFTLEVBQUUsQ0FBQztBQUNqRCxVQUFNLGVBQWUsUUFBUSxTQUFTLE1BQU0sTUFBTSxFQUFFLENBQUM7QUFFckQsUUFBSSxjQUFjLFVBQWEsaUJBQWlCLFFBQVc7QUFDekQsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUVBLFFBQUksQ0FBQyxVQUFVLFdBQVcsSUFBSSxHQUFHO0FBQy9CLFVBQUksVUFBVSxXQUFXLElBQUksR0FBRztBQUM5QixnQkFBUSxPQUFPO0FBQUEsVUFDYixLQUFLO0FBQUEsWUFDSCxPQUFPO0FBQUEsY0FDTCxNQUFNO0FBQUEsY0FDTixRQUFRO0FBQUEsWUFDVjtBQUFBLFlBQ0EsS0FBSztBQUFBLGNBQ0gsTUFBTTtBQUFBLGNBQ04sUUFBUTtBQUFBLFlBQ1Y7QUFBQSxVQUNGO0FBQUEsVUFDQSxTQUFTO0FBQUEsVUFDVCxJQUFJLE9BQXVCO0FBQ3pCLG1CQUFPLE1BQU0sc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxZQUFZO0FBQUE7QUFBQSxDQUFNO0FBQUEsVUFDckU7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNILE9BQU87QUFDTCxnQkFBUSxPQUFPO0FB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
|
|
390
386
|
module.exports = module.exports.default;
|
|
@@ -3,32 +3,28 @@ var no_wallaby_comment_default = {
|
|
|
3
3
|
meta: {
|
|
4
4
|
type: "problem",
|
|
5
5
|
docs: {
|
|
6
|
-
description: "Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // file.only or // file.skip and fix it",
|
|
6
|
+
description: "Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // ??. or // file.only or // file.skip and fix it",
|
|
7
7
|
url: "https://github.com/checkdigit/eslint-plugin"
|
|
8
8
|
},
|
|
9
9
|
fixable: "code"
|
|
10
10
|
},
|
|
11
11
|
create(context) {
|
|
12
12
|
const sourceCode = context.sourceCode;
|
|
13
|
-
const sourceLines = sourceCode.
|
|
13
|
+
const sourceLines = sourceCode.getLines();
|
|
14
14
|
sourceLines.forEach((line, lineNumber) => {
|
|
15
|
-
const regex = /\s*(?:\/\/|<!--)\s*(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
15
|
+
const regex = /\s*(?:\/\/|<!--)\s*(?<comment>\?{1,2}\.?\s*|file\.(?:only|skip))\s*/gu;
|
|
16
|
+
let match;
|
|
17
|
+
while ((match = regex.exec(line)) !== null) {
|
|
18
|
+
const commentStart = match.index;
|
|
19
|
+
const start = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart });
|
|
20
|
+
const end = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart + match[0].length });
|
|
19
21
|
context.report({
|
|
20
22
|
loc: {
|
|
21
23
|
line: lineNumber + 1,
|
|
22
|
-
column:
|
|
24
|
+
column: commentStart
|
|
23
25
|
},
|
|
24
26
|
message: "Remove wallaby-specific comments",
|
|
25
|
-
fix: (fixer) => fixer.
|
|
26
|
-
[
|
|
27
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: 0 }),
|
|
28
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: line.length })
|
|
29
|
-
],
|
|
30
|
-
newLine
|
|
31
|
-
)
|
|
27
|
+
fix: (fixer) => fixer.removeRange([start, end])
|
|
32
28
|
});
|
|
33
29
|
}
|
|
34
30
|
});
|
|
@@ -38,4 +34,4 @@ var no_wallaby_comment_default = {
|
|
|
38
34
|
export {
|
|
39
35
|
no_wallaby_comment_default as default
|
|
40
36
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25vLXdhbGxhYnktY29tbWVudC50cyJdLAogICJtYXBwaW5ncyI6ICI7QUFVQSxJQUFPLDZCQUFRO0FBQUEsRUFDYixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUNFO0FBQUEsTUFDRixLQUFLO0FBQUEsSUFDUDtBQUFBLElBQ0EsU0FBUztBQUFBLEVBQ1g7QUFBQSxFQUNBLE9BQU8sU0FBMkI7QUFDaEMsVUFBTSxhQUFhLFFBQVE7QUFDM0IsVUFBTSxjQUFjLFdBQVcsU0FBUztBQUV4QyxnQkFBWSxRQUFRLENBQUMsTUFBTSxlQUFlO0FBQ3hDLFlBQU0sUUFBUTtBQUVkLFVBQUk7QUFDSixjQUFRLFFBQVEsTUFBTSxLQUFLLElBQUksT0FBTyxNQUFNO0FBQzFDLGNBQU0sZUFBZSxNQUFNO0FBQzNCLGNBQU0sUUFBUSxXQUFXLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxHQUFHLFFBQVEsYUFBYSxDQUFDO0FBQ3ZGLGNBQU0sTUFBTSxXQUFXLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxHQUFHLFFBQVEsZUFBZSxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUM7QUFDdkcsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsS0FBSztBQUFBLFlBQ0gsTUFBTSxhQUFhO0FBQUEsWUFDbkIsUUFBUTtBQUFBLFVBQ1Y7QUFBQSxVQUNBLFNBQVM7QUFBQSxVQUNULEtBQUssQ0FBQyxVQUFVLE1BQU0sWUFBWSxDQUFDLE9BQU8sR0FBRyxDQUFDO0FBQUEsUUFDaEQsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGLENBQUM7QUFDRCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@checkdigit/eslint-plugin","version":"5.3.0-PR.42-
|
|
1
|
+
{"name":"@checkdigit/eslint-plugin","version":"5.3.0-PR.42-5b90","description":"Check Digit eslint plugins","prettier":"@checkdigit/prettier-config","type":"module","exports":{".":{"types":"./dist-types/index.d.ts","require":"./dist-cjs/index.cjs","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"keywords":["eslint","eslintplugin"],"engines":{"node":">=18"},"repository":{"type":"git","url":"git+https://github.com/checkdigit/eslint-plugin.git"},"author":"Check Digit, LLC","license":"MIT","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"homepage":"https://github.com/checkdigit/eslint-plugin#readme","peerDependencies":{"eslint":">=8 <9"},"devDependencies":{"@checkdigit/jest-config":"^3.1.0","@checkdigit/prettier-config":"^4.1.0","@checkdigit/typescript-config":"^5.1.0","@types/eslint":"^8.44.6","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","eslint-config-prettier":"^9.0.0","eslint-plugin-eslint-plugin":"^5.1.1","eslint-plugin-import":"^2.29.0","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^0.8.9","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"^0.21.0"},"scripts":{"prepublishOnly":"npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","build:dist-cjs":"rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo \"module.exports = module.exports.default;\" >> dist-cjs/index.cjs && node dist-cjs/index.cjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","lint:fix":"eslint --ignore-path .gitignore . --fix","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style","ci:compile":"tsc --noEmit","ci:test":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=false","ci:coverage":"NODE_OPTIONS=\"--experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier"},"jest":{"preset":"@checkdigit/jest-config"},"files":["src","dist-types","dist-cjs","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-cjs/**/*.test.cjs","!dist-cjs/**/*.spec.cjs","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"]}
|
|
@@ -13,36 +13,30 @@ export default {
|
|
|
13
13
|
type: 'problem',
|
|
14
14
|
docs: {
|
|
15
15
|
description:
|
|
16
|
-
'Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // file.only or // file.skip and fix it',
|
|
16
|
+
'Detects wallaby-specific temporary comments like // ? or // ?? or // ?. or // ??. or // file.only or // file.skip and fix it',
|
|
17
17
|
url: 'https://github.com/checkdigit/eslint-plugin',
|
|
18
18
|
},
|
|
19
19
|
fixable: 'code',
|
|
20
20
|
},
|
|
21
21
|
create(context: Rule.RuleContext) {
|
|
22
22
|
const sourceCode = context.sourceCode;
|
|
23
|
-
const sourceLines = sourceCode.
|
|
23
|
+
const sourceLines = sourceCode.getLines();
|
|
24
24
|
|
|
25
25
|
sourceLines.forEach((line, lineNumber) => {
|
|
26
|
-
const regex = /\s*(?:\/\/|<!--)\s*(
|
|
27
|
-
|
|
28
|
-
const parts = line.split(regex);
|
|
29
|
-
if (parts.length > 1) {
|
|
30
|
-
const newLine = parts.join('');
|
|
26
|
+
const regex = /\s*(?:\/\/|<!--)\s*(?<comment>\?{1,2}\.?\s*|file\.(?:only|skip))\s*/gu;
|
|
31
27
|
|
|
28
|
+
let match;
|
|
29
|
+
while ((match = regex.exec(line)) !== null) {
|
|
30
|
+
const commentStart = match.index;
|
|
31
|
+
const start = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart });
|
|
32
|
+
const end = sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: commentStart + match[0].length });
|
|
32
33
|
context.report({
|
|
33
34
|
loc: {
|
|
34
35
|
line: lineNumber + 1,
|
|
35
|
-
column:
|
|
36
|
+
column: commentStart,
|
|
36
37
|
},
|
|
37
38
|
message: 'Remove wallaby-specific comments',
|
|
38
|
-
fix: (fixer) =>
|
|
39
|
-
fixer.replaceTextRange(
|
|
40
|
-
[
|
|
41
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: 0 }),
|
|
42
|
-
sourceCode.getIndexFromLoc({ line: lineNumber + 1, column: line.length }),
|
|
43
|
-
],
|
|
44
|
-
newLine,
|
|
45
|
-
),
|
|
39
|
+
fix: (fixer) => fixer.removeRange([start, end]),
|
|
46
40
|
});
|
|
47
41
|
}
|
|
48
42
|
});
|