optiprune 1.8.15 → 1.8.16

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/layer4.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { getQuickJS } from "quickjs-emscripten";
2
+ import { transform } from "esbuild";
2
3
  import { performance } from "node:perf_hooks";
3
4
  import path from "pathe";
4
5
  /**
@@ -85,74 +86,119 @@ export async function analyzeLayer4(context) {
85
86
  */
86
87
  function cleanForQuickJS(code) {
87
88
  return code
88
- // 0. Remove static ESM import declarations entirely (they are not
89
- // needed for path simulation and QuickJS cannot parse them).
90
- // Handles single-line and multi-line forms.
91
- .replace(/^\s*import\s+type\s+.*?;?\s*$/gm, '')
92
- .replace(/^\s*import\s+[\s\S]*?from\s+['"][^'"]*['"]\s*;?\s*$/gm, '')
93
- // Also remove bare side-effect imports: import 'foo';
94
- .replace(/^\s*import\s+['"][^'"]*['"]\s*;?\s*$/gm, '')
95
- // 1. Rewrite import.meta.url before replacing import(
89
+ // Static ESM imports cannot be evaluated in a QuickJS script. Dynamic
90
+ // imports are intentionally preserved until they are replaced below.
91
+ .replace(/^\s*import(?!\s*\()\s+(?:type\s+)?[\s\S]*?\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm, "")
92
+ .replace(/^\s*import(?!\s*\()\s*['"][^'"]+['"]\s*;?\s*$/gm, "")
93
+ // Re-exports are likewise irrelevant for path-construction simulation.
94
+ .replace(/^\s*export\s+type\s*\{[\s\S]*?\}\s*(?:from\s+['"][^'"]+['"])?\s*;?\s*$/gm, "")
95
+ .replace(/^\s*export\s*\{[\s\S]*?\}\s*(?:from\s+['"][^'"]+['"])?\s*;?\s*$/gm, "")
96
+ .replace(/^\s*export\s+\*\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm, "")
97
+ .replace(/\bexport\s+(?=(?:const|let|var|function|class|async|type|interface|enum)\b)/g, "")
98
+ .replace(/\bexport\s+default\s+/g, "")
99
+ // Keep import.meta usable after the static import pre-processing.
96
100
  .replace(/import\.meta\.url/g, '("file://" + __filename)')
97
- // 2. Replace dynamic import( with the mock function
98
- .replace(/\bimport\s*\(/g, '__optiprune_import(')
99
- // 3. Remove "as <Type>" casts (e.g. value as string, node as any)
100
- .replace(/\s+as\s+[a-zA-Z0-9_<>\[\]|& ]+(?=[,;=)\n]|$)/g, '')
101
- // 3b. Remove function/method return type annotations before the opening brace.
102
- // e.g. `async run(ctx): Promise<Finding[]> {` -> `async run(ctx) {`
103
- // The existing step 4 regex cannot handle this because its lookahead does
104
- // not include `{`, and the trailing `>` of a generic type is left behind,
105
- // causing a QuickJS SyntaxError ("expecting '{'").
106
- .replace(/\)\s*:\s*[A-Za-z_$][A-Za-z0-9_$]*(?:<[^{]*?>)?\s*(?=\{)/g, ') ')
107
- // 3c. Remove complex parameter type annotations with generics containing commas
108
- // or intersection types, e.g.:
109
- // `(finding: Omit<Finding, "rule"> & { rule?: string })`
110
- // Step 4 only strips simple types and would partially remove `Omit<Finding`
111
- // (stopping at the comma inside the generic), leaving invalid JS like
112
- // `, "rule"> & { rule?: string })`. This step handles the full pattern
113
- // before step 4 can corrupt it.
114
- .replace(/:\s*[A-Za-z_$][A-Za-z0-9_$]*<[^)]*>\s*(?:&\s*\{[^}]*\})?\s*(?=\))/g, '')
115
- // 4. Remove TypeScript type annotations on variable/parameter
116
- // declarations, e.g. `: string`, `: Map<string, string[]>`.
117
- // We are careful NOT to remove ternary colons or object-literal
118
- // colons, so we only strip when the token after the colon looks
119
- // like a type expression (starts with a known type keyword or an
120
- // uppercase letter) and is followed by an assignment, comma,
121
- // closing paren/bracket, or end-of-line.
122
- .replace(/:\s*(?:[a-zA-Z0-9_<>|& ]+(?:\[\])*)(?=\s*[,;=)\n]|$)/g, (match) => {
123
- if (match.includes('null') ||
124
- match.includes('undefined') ||
125
- match.includes('true') ||
126
- match.includes('false')) {
127
- return match;
101
+ // Record simulated dynamic-import targets instead of loading modules.
102
+ .replace(/\bimport\s*\(/g, "__optiprune_import(");
103
+ }
104
+ function quickJSSourceLoader(file) {
105
+ switch (path.extname(file).toLowerCase()) {
106
+ case ".ts":
107
+ case ".mts":
108
+ case ".cts":
109
+ return "ts";
110
+ case ".tsx":
111
+ return "tsx";
112
+ case ".jsx":
113
+ return "jsx";
114
+ default:
115
+ return "js";
116
+ }
117
+ }
118
+ /**
119
+ * Compiles the extracted source context to JavaScript before it reaches
120
+ * QuickJS. Regexes are deliberately limited to ESM simulation rewrites;
121
+ * esbuild performs all TypeScript/TSX syntax erasure and downleveling.
122
+ */
123
+ const QUICKJS_CONTEXT_FUNCTION = "__optiprune_execute_context__";
124
+ async function compileForQuickJS(code, sourceFile) {
125
+ // Candidate context can contain a captured function body, including `await`
126
+ // and `return`. Wrapping it first lets esbuild parse those statements in the
127
+ // same asynchronous function scope QuickJS will execute later.
128
+ const wrappedContext = `async function ${QUICKJS_CONTEXT_FUNCTION}() {\n${cleanForQuickJS(code)}\n}`;
129
+ const transformed = await transform(wrappedContext, {
130
+ loader: quickJSSourceLoader(sourceFile),
131
+ format: "esm",
132
+ target: "es2018",
133
+ sourcemap: false,
134
+ sourcefile: sourceFile,
135
+ legalComments: "none",
136
+ });
137
+ return transformed.code;
138
+ }
139
+ /**
140
+ * Installs a catch-all lexical scope for the simulation. A `with` block over
141
+ * this proxy resolves otherwise-unbound identifiers to a harmless callable
142
+ * proxy, allowing path construction to continue instead of aborting with a
143
+ * ReferenceError. Known globals and the explicit mocks still take priority.
144
+ */
145
+ function installGlobalResilience(vm) {
146
+ const result = vm.evalCode(`
147
+ (function() {
148
+ let fallbackMock;
149
+ const fallbackHandler = {
150
+ get(_target, property) {
151
+ if (property === "then" || property === Symbol.unscopables) return undefined;
152
+ if (property === Symbol.toPrimitive) return () => "";
153
+ if (property === "toJSON") return () => ({});
154
+ if (property === Symbol.iterator) {
155
+ return () => ({ next: () => ({ done: true }) });
156
+ }
157
+ return fallbackMock;
158
+ },
159
+ has() { return true; },
160
+ set() { return true; },
161
+ apply() { return fallbackMock; },
162
+ construct() { return fallbackMock; }
163
+ };
164
+
165
+ fallbackMock = new Proxy(function __optiprune_empty_mock() {}, fallbackHandler);
166
+ globalThis.__create_resilient_mock = () => fallbackMock;
167
+ globalThis.__optiprune_scope__ = new Proxy(globalThis, {
168
+ has(_target, property) {
169
+ return property !== Symbol.unscopables;
170
+ },
171
+ get(target, property, receiver) {
172
+ if (property === Symbol.unscopables) return undefined;
173
+ if (Reflect.has(target, property)) {
174
+ return Reflect.get(target, property, receiver);
175
+ }
176
+ return fallbackMock;
128
177
  }
129
- const typePart = match.slice(1).trim();
130
- const commonTypes = [
131
- 'string', 'number', 'boolean', 'any', 'void', 'unknown', 'never',
132
- 'string[]', 'any[]', 'number[]', 'boolean[]',
133
- 'Config', 'ModuleRecord', 'AnalysisContext',
134
- ];
135
- if (commonTypes.includes(typePart) || /^[A-Z]/.test(typePart)) {
136
- return '';
178
+ });
179
+ })();
180
+ `);
181
+ if (result.error) {
182
+ const error = vm.dump(result.error);
183
+ result.error.dispose();
184
+ throw new Error(`Could not install the QuickJS resilience scope: ${String(error)}`);
185
+ }
186
+ result.value.dispose();
187
+ }
188
+ function drainQuickJSPendingJobs(runtime, vm, maxJobs = 5000) {
189
+ let remainingJobs = maxJobs;
190
+ while (runtime.hasPendingJob() && remainingJobs > 0) {
191
+ const result = runtime.executePendingJobs(1);
192
+ if (result.error) {
193
+ const error = vm.dump(result.error);
194
+ result.error.dispose();
195
+ throw new Error(`QuickJS pending job failed: ${String(error)}`);
196
+ }
197
+ if (result.value <= 0) {
198
+ break;
137
199
  }
138
- return match;
139
- })
140
- // 5. Remove generic type parameters on function calls that would
141
- // confuse the JS parser, e.g. foo<string>(...) -> foo(...)
142
- // Only strip simple single-identifier generics to avoid false
143
- // positives on comparison operators.
144
- .replace(/\b([a-zA-Z_$][\w$]*)<[a-zA-Z0-9_,\s]+>\s*(?=\()/g, '$1')
145
- // 6. Remove TypeScript access modifiers and export keywords
146
- // We remove 'export ' but keep the declaration (const/let/var/function/class).
147
- .replace(/\b(private|protected|public|readonly|override|abstract|declare)\s+/g, '')
148
- .replace(/\bexport\s+(?=(?:const|let|var|function|class|async|type|interface|enum)\b)/g, '')
149
- // Also handle 'export default'
150
- .replace(/\bexport\s+default\s+/g, '')
151
- // 7. Remove interface and type alias declarations
152
- .replace(/^\s*(?:interface|type)\s+[A-Za-z_$][\w$]*[\s\S]*?(?=\n(?:export|const|let|var|function|class|async|\/\/|$))/gm, '')
153
- // 8. Remove TypeScript enum declarations (they are not needed for
154
- // path simulation)
155
- .replace(/^\s*(?:const\s+)?enum\s+[A-Za-z_$][\w$]*\s*\{[\s\S]*?\}\s*$/gm, '');
200
+ remainingJobs -= result.value;
201
+ }
156
202
  }
157
203
  /**
158
204
  * Simulates dynamic import expressions in a QuickJS sandbox to resolve targets.
@@ -204,43 +250,21 @@ async function resolveDynamicImports(context, quickJS) {
204
250
  const vm = runtime.newContext();
205
251
  try {
206
252
  runtime.setMemoryLimit(context.options.layers.isolateMemoryLimitMb * 1024 * 1024);
207
- // Setup Mocks
253
+ // Setup explicit runtime mocks first, then install the catch-all scope
254
+ // that safely absorbs additional, unknown globals from application code.
208
255
  setupQuickJSMocks(vm, candidate, context);
256
+ installGlobalResilience(vm);
209
257
  const globalHandle = vm.global;
210
258
  const targetsHandle = vm.newArray();
211
259
  vm.setProp(globalHandle, "__OPTIPRUNE_TARGETS__", targetsHandle);
212
- // Define a resilient mock creator in the VM
213
- const resilientMockCreator = vm.evalCode(`
214
- (function() {
215
- globalThis.__create_resilient_mock = function() {
216
- const handler = {
217
- get(target, prop) {
218
- if (prop === 'then') return undefined;
219
- if (prop === 'toJSON') return () => ({});
220
- // Return another proxy for any property access
221
- return new Proxy(function() {}, handler);
222
- },
223
- apply() {
224
- // Return another proxy for any function call
225
- return new Proxy(function() {}, handler);
226
- }
227
- };
228
- return new Proxy({}, handler);
229
- };
230
- })()
231
- `);
232
- if (resilientMockCreator.error) {
233
- resilientMockCreator.error.dispose();
234
- }
235
- else {
236
- resilientMockCreator.value.dispose();
237
- }
238
260
  const importMockFn = vm.newFunction("__optiprune_import", (arg) => {
239
261
  const target = vm.dump(arg);
240
262
  const currentTargets = vm.getProp(globalHandle, "__OPTIPRUNE_TARGETS__");
241
263
  const lenHandle = vm.getProp(currentTargets, "length");
242
264
  const len = vm.dump(lenHandle);
243
- vm.setProp(currentTargets, len, vm.newString(String(target)));
265
+ const targetHandle = vm.newString(String(target));
266
+ vm.setProp(currentTargets, len, targetHandle);
267
+ targetHandle.dispose();
244
268
  lenHandle.dispose();
245
269
  currentTargets.dispose();
246
270
  // Return a resilient mock instead of a plain empty object
@@ -253,13 +277,16 @@ async function resolveDynamicImports(context, quickJS) {
253
277
  importMockFn.dispose();
254
278
  targetsHandle.dispose();
255
279
  globalHandle.dispose();
256
- // Clean up code for QuickJS using the improved cleaner
257
- const processedContext = cleanForQuickJS(candidate.contextCode);
280
+ // QuickJS only evaluates JavaScript. esbuild removes TypeScript/TSX
281
+ // syntax after the minimal import rewrites used for simulation.
282
+ const processedContext = await compileForQuickJS(candidate.contextCode, file);
258
283
  const simulationScript = `
259
284
  (async function() {
260
- const __dirname = path.dirname(__filename);
261
285
  try {
262
- ${processedContext}
286
+ with (globalThis.__optiprune_scope__) {
287
+ ${processedContext}
288
+ await ${QUICKJS_CONTEXT_FUNCTION}.call(globalThis);
289
+ }
263
290
  } catch (e) {
264
291
  if (globalThis.__VERBOSE__) {
265
292
  console.log("[QuickJS Runtime Error] " + (e instanceof Error ? e.message : String(e)));
@@ -280,13 +307,8 @@ async function resolveDynamicImports(context, quickJS) {
280
307
  }
281
308
  else {
282
309
  evalResult.value.dispose();
283
- // FIX: Raise the pump deadline to allow async operations (fs.readdir,
284
- // loop iterations) to complete fully before reading the results.
285
- let deadline = 5000;
286
- while (deadline-- > 0) {
287
- if (runtime.executePendingJobs() === 0)
288
- break;
289
- }
310
+ // Flush promise continuations created by async path construction.
311
+ drainQuickJSPendingJobs(runtime, vm);
290
312
  }
291
313
  const finalGlobalHandle = vm.global;
292
314
  const finalTargetsHandle = vm.getProp(finalGlobalHandle, "__OPTIPRUNE_TARGETS__");
@@ -305,7 +327,7 @@ async function resolveDynamicImports(context, quickJS) {
305
327
  }
306
328
  });
307
329
  }
308
- const edge = module.edges.find(e => e.kind === "unknown-dynamic" &&
330
+ const edge = module.edges.find(e => (e.kind === "unknown-dynamic" || e.kind === "dynamic-pattern") &&
309
331
  e.location?.start.line === candidate.line &&
310
332
  e.location?.start.column === candidate.column);
311
333
  if (edge) {
@@ -1 +1 @@
1
- {"version":3,"file":"layer4.js","sourceRoot":"","sources":["../src/layer4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layer4.js","sourceRoot":"","sources":["../src/layer4.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optiprune",
3
- "version": "1.8.15",
3
+ "version": "1.8.16",
4
4
  "description": "Resilient static dead-code analyzer for TypeScript and JavaScript workspaces.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",