Skip to content

Commit 771eadf

Browse files
authoredMar 23, 2025··
Revert "refactor: replace synckit with make-synchronized (#1366)" (#1367)
This reverts commit f8e9960.
1 parent f8e9960 commit 771eadf

File tree

7 files changed

+28
-24
lines changed

7 files changed

+28
-24
lines changed
 

‎package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
"escape-string-regexp": "^4.0.0",
1313
"espree": "^10.1.0",
1414
"esquery": "^1.6.0",
15-
"make-synchronized": "^0.3.0",
1615
"parse-imports": "^2.1.1",
1716
"semver": "^7.6.3",
18-
"spdx-expression-parse": "^4.0.0"
17+
"spdx-expression-parse": "^4.0.0",
18+
"synckit": "^0.9.1"
1919
},
2020
"description": "JSDoc linting rules for ESLint.",
2121
"devDependencies": {
@@ -146,7 +146,7 @@
146146
"scripts": {
147147
"tsc": "tsc",
148148
"tsc-build": "tsc -p tsconfig-prod.json",
149-
"build": "rimraf ./dist && cross-env NODE_ENV=production babel ./src --out-file-extension .cjs --out-dir ./dist --copy-files --source-maps --ignore ./src/bin/*.js --no-copy-ignored && replace 'require\\(\"\\.(.*?)\\.[^.]*?\"\\)' 'require(\".$1.cjs\")' 'dist' -r --include=\"*.cjs\" && pnpm tsc-build",
149+
"build": "rimraf ./dist && cross-env NODE_ENV=production babel ./src --out-file-extension .cjs --out-dir ./dist --copy-files --source-maps --ignore ./src/bin/*.js --no-copy-ignored && replace 'require\\(\"\\.(.*?)\\.[^.]*?\"\\)' 'require(\".$1.cjs\")' 'dist' -r --include=\"*.cjs\" && cp src/import-worker.mjs dist/import-worker.mjs && pnpm tsc-build",
150150
"check-docs": "babel-node ./src/bin/generateDocs.js --check",
151151
"create-docs": "npm run create-options && babel-node ./src/bin/generateDocs.js",
152152
"create-rule": "babel-node ./src/bin/generateRule.js",

‎pnpm-lock.yaml

+3-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/getImports.js

-11
This file was deleted.

‎src/import-worker.mjs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { runAsWorker } from 'synckit'
2+
3+
runAsWorker(async (imprt) => {
4+
const { parseImports } = await import('parse-imports');
5+
try {
6+
// ESLint doesn't support async rules
7+
return [...await parseImports(imprt)];
8+
} catch (err) {
9+
return false;
10+
}
11+
})

‎src/rules/checkValues.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { dirname, join } from 'node:path';
22
import { fileURLToPath } from 'node:url';
33

4+
import { createSyncFn } from 'synckit';
45
import semver from 'semver';
56
import spdxExpressionParse from 'spdx-expression-parse';
67
import iterateJsdoc from '../iterateJsdoc.js';
7-
import getImports from '../getImports.js';
8+
9+
const __dirname = dirname(fileURLToPath(import.meta.url));
10+
const pathName = join(__dirname, '../import-worker.mjs');
811

912
const allowedKinds = new Set([
1013
'class',
@@ -172,6 +175,7 @@ export default iterateJsdoc(({
172175
? `${typePart}${name} ${description}`
173176
: `${typePart}${name}`);
174177

178+
const getImports = createSyncFn(pathName);
175179
if (!getImports(imprt)) {
176180
report(
177181
`Bad @import tag`,

‎src/rules/noUndefinedTypes.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { dirname, join } from 'path';
22
import { fileURLToPath } from 'url';
33

4+
import { createSyncFn } from 'synckit';
45
import {
56
getJSDocComment,
67
parse as parseType,
@@ -10,7 +11,9 @@ import {
1011
import iterateJsdoc, {
1112
parseComment,
1213
} from '../iterateJsdoc.js';
13-
import getImports from '../getImports.js';
14+
15+
const __dirname = dirname(fileURLToPath(import.meta.url));
16+
const pathName = join(__dirname, '../import-worker.mjs');
1417

1518
const extraTypes = [
1619
'null', 'undefined', 'void', 'string', 'boolean', 'object',
@@ -149,6 +152,7 @@ export default iterateJsdoc(({
149152
? `${typePart}${name} ${description}`
150153
: `${typePart}${name}`);
151154

155+
const getImports = createSyncFn(pathName);
152156
const imports = /** @type {import('parse-imports').Import[]} */ (getImports(imprt));
153157
if (!imports) {
154158
return null;

‎tsconfig.json

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"test/**/*.js",
1919
"typings/gitdown.d.ts",
2020
"typings/babel__eslint-parser.d.ts",
21+
"src/import-worker.mjs"
2122
],
2223
"exclude": ["node_modules"]
2324
}

0 commit comments

Comments
 (0)
Please sign in to comment.