@appthreat/atom-parsetools 1.0.9 → 1.0.10
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/astgen.js +67 -17
- package/package.json +3 -3
- package/plugins/composer/installed.php +6 -6
- package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/gem_make.out +5 -5
- package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +5 -5
package/astgen.js
CHANGED
|
@@ -59,17 +59,53 @@ const babelSafeParserOptions = {
|
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* Return paths to all (j|tsx?) files.
|
|
62
|
+
* Optionally includes specific bundled files from node_modules if:
|
|
63
|
+
* 1. ASTGEN_INCLUDE_NODE_MODULES_BUNDLES is "true", OR
|
|
64
|
+
* 2. ASTGEN_IGNORE_DIRS is non-empty and doesn't include "node_modules"
|
|
62
65
|
*/
|
|
63
|
-
const getAllSrcJSAndTSFiles = (src) =>
|
|
64
|
-
|
|
66
|
+
const getAllSrcJSAndTSFiles = (src) => {
|
|
67
|
+
const filePattern = "\\.(js|jsx|cjs|mjs|ts|tsx|vue|svelte|xsjs|xsjslib|ejs)$";
|
|
68
|
+
const bundledNodeModulesPattern =
|
|
69
|
+
"node_modules/.*\\.(bundle|dist|index|min|app)\\.(js|cjs|mjs)$";
|
|
70
|
+
|
|
71
|
+
// Step 1: Collect all JS/TS files EXCLUDING node_modules
|
|
72
|
+
const allFilesPromise = Promise.resolve(
|
|
65
73
|
getAllFiles(
|
|
66
74
|
src,
|
|
67
75
|
undefined,
|
|
68
76
|
undefined,
|
|
69
77
|
undefined,
|
|
70
|
-
new RegExp(
|
|
78
|
+
new RegExp(filePattern),
|
|
79
|
+
true // ignore node_modules
|
|
71
80
|
)
|
|
72
|
-
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
// Step 2: Check if we should include node_modules bundles
|
|
84
|
+
const shouldIncludeNodeModulesBundles =
|
|
85
|
+
process.env?.ASTGEN_INCLUDE_NODE_MODULES_BUNDLES === "true" ||
|
|
86
|
+
(process.env?.ASTGEN_IGNORE_DIRS &&
|
|
87
|
+
process.env.ASTGEN_IGNORE_DIRS.length > 0 &&
|
|
88
|
+
!process.env.ASTGEN_IGNORE_DIRS.toLowerCase().includes("node_modules"));
|
|
89
|
+
|
|
90
|
+
let bundledFilesPromise = Promise.resolve([]);
|
|
91
|
+
if (shouldIncludeNodeModulesBundles) {
|
|
92
|
+
bundledFilesPromise = Promise.resolve(
|
|
93
|
+
getAllFiles(
|
|
94
|
+
src,
|
|
95
|
+
undefined,
|
|
96
|
+
undefined,
|
|
97
|
+
undefined,
|
|
98
|
+
new RegExp(bundledNodeModulesPattern),
|
|
99
|
+
false // DO NOT ignore node_modules
|
|
100
|
+
)
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Step 3: Combine both lists
|
|
105
|
+
return Promise.all([allFilesPromise, bundledFilesPromise]).then(
|
|
106
|
+
([allFiles, bundledFiles]) => [...allFiles, ...bundledFiles]
|
|
107
|
+
);
|
|
108
|
+
};
|
|
73
109
|
|
|
74
110
|
/**
|
|
75
111
|
* Convert a single JS/TS file to AST
|
|
@@ -242,30 +278,44 @@ const createJSAst = async (options) => {
|
|
|
242
278
|
try {
|
|
243
279
|
const promiseMap = await getAllSrcJSAndTSFiles(options.src);
|
|
244
280
|
const srcFiles = promiseMap.flatMap((d) => d);
|
|
281
|
+
const CONCURRENCY_LIMIT = 10;
|
|
282
|
+
const chunks = [];
|
|
283
|
+
for (let i = 0; i < srcFiles.length; i += CONCURRENCY_LIMIT) {
|
|
284
|
+
chunks.push(srcFiles.slice(i, i + CONCURRENCY_LIMIT));
|
|
285
|
+
}
|
|
245
286
|
let ts;
|
|
246
287
|
if (options.tsTypes) {
|
|
247
|
-
|
|
288
|
+
const projectFiles = srcFiles.filter(
|
|
289
|
+
(file) => !file.includes("node_modules")
|
|
290
|
+
);
|
|
291
|
+
ts = createTsc(projectFiles);
|
|
248
292
|
}
|
|
249
|
-
for (const
|
|
293
|
+
for (const chunk of chunks) {
|
|
294
|
+
await Promise.all(chunk.map((file) => processFile(file, options, ts)));
|
|
295
|
+
}
|
|
296
|
+
} catch (err) {
|
|
297
|
+
console.error(err);
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
const processFile = (file, options, ts) => {
|
|
302
|
+
try {
|
|
303
|
+
const ast = fileToJsAst(file);
|
|
304
|
+
writeAstFile(file, ast, options);
|
|
305
|
+
if (ts) {
|
|
250
306
|
try {
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
} catch (err) {
|
|
254
|
-
console.error(file, err.message);
|
|
255
|
-
}
|
|
256
|
-
if (ts) {
|
|
257
|
-
try {
|
|
258
|
-
const tsAst = ts.program.getSourceFile(file);
|
|
307
|
+
const tsAst = ts.program.getSourceFile(file);
|
|
308
|
+
if (tsAst) {
|
|
259
309
|
tsc.forEachChild(tsAst, ts.addType);
|
|
260
310
|
writeTypesFile(file, ts.seenTypes, options);
|
|
261
311
|
ts.seenTypes.clear();
|
|
262
|
-
} catch (err) {
|
|
263
|
-
console.warn("Retrieving types", file, ":", err.message);
|
|
264
312
|
}
|
|
313
|
+
} catch (err) {
|
|
314
|
+
console.warn("Retrieving types", file, ":", err.message);
|
|
265
315
|
}
|
|
266
316
|
}
|
|
267
317
|
} catch (err) {
|
|
268
|
-
console.error(err);
|
|
318
|
+
console.error(file, err.message);
|
|
269
319
|
}
|
|
270
320
|
};
|
|
271
321
|
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appthreat/atom-parsetools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "Parsing tools that complement the @appthreat/atom project.",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"pretty": "prettier --write *.
|
|
8
|
+
"pretty": "prettier --write *.cjs *.js --trailing-comma=none",
|
|
9
9
|
"lint": "eslint *.mjs *.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@appthreat/atom-common": "^1.0.
|
|
12
|
+
"@appthreat/atom-common": "^1.0.10",
|
|
13
13
|
"@babel/parser": "^7.28.4",
|
|
14
14
|
"typescript": "^5.9.2",
|
|
15
15
|
"yargs": "^17.7.2"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<?php return array(
|
|
2
2
|
'root' => array(
|
|
3
3
|
'name' => '__root__',
|
|
4
|
-
'pretty_version' => 'v2.4.
|
|
5
|
-
'version' => '2.4.
|
|
6
|
-
'reference' => '
|
|
4
|
+
'pretty_version' => 'v2.4.1',
|
|
5
|
+
'version' => '2.4.1.0',
|
|
6
|
+
'reference' => 'fbfc6ce915aa600eebb2e12fbc5c0b5ed1ede925',
|
|
7
7
|
'type' => 'library',
|
|
8
8
|
'install_path' => __DIR__ . '/../../',
|
|
9
9
|
'aliases' => array(),
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
),
|
|
12
12
|
'versions' => array(
|
|
13
13
|
'__root__' => array(
|
|
14
|
-
'pretty_version' => 'v2.4.
|
|
15
|
-
'version' => '2.4.
|
|
16
|
-
'reference' => '
|
|
14
|
+
'pretty_version' => 'v2.4.1',
|
|
15
|
+
'version' => '2.4.1.0',
|
|
16
|
+
'reference' => 'fbfc6ce915aa600eebb2e12fbc5c0b5ed1ede925',
|
|
17
17
|
'type' => 'library',
|
|
18
18
|
'install_path' => __DIR__ . '/../../',
|
|
19
19
|
'aliases' => array(),
|
package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.4.0/gem_make.out
CHANGED
|
@@ -6,10 +6,10 @@ checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
|
|
|
6
6
|
creating Makefile
|
|
7
7
|
|
|
8
8
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism
|
|
9
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
9
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-gzqilk sitelibdir\=./.gem.20250919-3129-gzqilk clean
|
|
10
10
|
|
|
11
11
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism
|
|
12
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
12
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-gzqilk sitelibdir\=./.gem.20250919-3129-gzqilk
|
|
13
13
|
compiling api_node.c
|
|
14
14
|
compiling api_pack.c
|
|
15
15
|
compiling extension.c
|
|
@@ -37,8 +37,8 @@ compiling ./../../src/util/pm_strpbrk.c
|
|
|
37
37
|
linking shared-object prism/prism.so
|
|
38
38
|
|
|
39
39
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism
|
|
40
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
41
|
-
/usr/bin/install -c -m 0755 prism.so ./.gem.
|
|
40
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-gzqilk sitelibdir\=./.gem.20250919-3129-gzqilk install
|
|
41
|
+
/usr/bin/install -c -m 0755 prism.so ./.gem.20250919-3129-gzqilk/prism
|
|
42
42
|
|
|
43
43
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/prism-1.4.0/ext/prism
|
|
44
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
44
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-gzqilk sitelibdir\=./.gem.20250919-3129-gzqilk clean
|
package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out
CHANGED
|
@@ -3,16 +3,16 @@ current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-pars
|
|
|
3
3
|
creating Makefile
|
|
4
4
|
|
|
5
5
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
|
|
6
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
6
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-z0furq sitelibdir\=./.gem.20250919-3129-z0furq clean
|
|
7
7
|
|
|
8
8
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
|
|
9
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
9
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-z0furq sitelibdir\=./.gem.20250919-3129-z0furq
|
|
10
10
|
compiling cparse.c
|
|
11
11
|
linking shared-object racc/cparse.so
|
|
12
12
|
|
|
13
13
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
|
|
14
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
15
|
-
/usr/bin/install -c -m 0755 cparse.so ./.gem.
|
|
14
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-z0furq sitelibdir\=./.gem.20250919-3129-z0furq install
|
|
15
|
+
/usr/bin/install -c -m 0755 cparse.so ./.gem.20250919-3129-z0furq/racc
|
|
16
16
|
|
|
17
17
|
current directory: /home/runner/work/atom/atom/wrapper/nodejs/packages/atom-parsetools/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse
|
|
18
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
18
|
+
make DESTDIR\= sitearchdir\=./.gem.20250919-3129-z0furq sitelibdir\=./.gem.20250919-3129-z0furq clean
|