@codepress/codepress-engine 0.5.0-dev.hmr-rebase.20251104052503 → 0.5.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.
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+ /**
3
+ * Provenance Tracking for Babel Plugin
4
+ * Ported from SWC plugin (lib.rs lines 1203-1283, 553-904)
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ProvenanceTracker = void 0;
8
+ class ProvenanceTracker {
9
+ constructor(filename) {
10
+ this.bindings = new Map();
11
+ this.filename = filename;
12
+ }
13
+ // Port of collect_bindings (lib.rs:555-560)
14
+ collectBindings(program) {
15
+ program.traverse({
16
+ VariableDeclarator: (path) => {
17
+ var _a;
18
+ if (path.node.id.type === 'Identifier') {
19
+ this.bindings.set(path.node.id.name, {
20
+ defSpan: this.makeSpan(path.node.id.loc),
21
+ init: (_a = path.node.init) !== null && _a !== void 0 ? _a : undefined,
22
+ });
23
+ }
24
+ },
25
+ FunctionDeclaration: (path) => {
26
+ if (path.node.id) {
27
+ this.bindings.set(path.node.id.name, {
28
+ defSpan: this.makeSpan(path.node.id.loc),
29
+ fnBodySpan: this.makeSpan(path.node.body.loc),
30
+ });
31
+ }
32
+ },
33
+ ImportDeclaration: (path) => {
34
+ for (const spec of path.node.specifiers) {
35
+ let imported;
36
+ if (spec.type === 'ImportSpecifier') {
37
+ imported = spec.imported.type === 'Identifier'
38
+ ? spec.imported.name
39
+ : spec.local.name;
40
+ }
41
+ else if (spec.type === 'ImportDefaultSpecifier') {
42
+ imported = 'default';
43
+ }
44
+ else {
45
+ imported = '*';
46
+ }
47
+ this.bindings.set(spec.local.name, {
48
+ defSpan: this.makeSpan(spec.local.loc),
49
+ import: {
50
+ source: path.node.source.value,
51
+ imported,
52
+ },
53
+ });
54
+ }
55
+ },
56
+ });
57
+ }
58
+ // Port of trace_expr (lib.rs:562-765)
59
+ traceExpression(expr, chain, depth = 0, seen = new Set()) {
60
+ if (depth > 8 || chain.length > 128)
61
+ return;
62
+ switch (expr.type) {
63
+ case 'NumericLiteral':
64
+ chain.push({
65
+ kind: 'Literal',
66
+ span: this.makeSpan(expr.loc),
67
+ value_kind: 'number',
68
+ });
69
+ break;
70
+ case 'StringLiteral':
71
+ chain.push({
72
+ kind: 'Literal',
73
+ span: this.makeSpan(expr.loc),
74
+ value_kind: 'string',
75
+ });
76
+ break;
77
+ case 'BooleanLiteral':
78
+ case 'NullLiteral':
79
+ chain.push({
80
+ kind: 'Literal',
81
+ span: this.makeSpan(expr.loc),
82
+ value_kind: 'other',
83
+ });
84
+ break;
85
+ case 'Identifier':
86
+ chain.push({
87
+ kind: 'Ident',
88
+ name: expr.name,
89
+ span: this.makeSpan(expr.loc),
90
+ });
91
+ if (seen.has(expr.name))
92
+ return;
93
+ seen.add(expr.name);
94
+ const binding = this.bindings.get(expr.name);
95
+ if (binding) {
96
+ if (binding.init) {
97
+ chain.push({ kind: 'Init', span: this.makeSpan(binding.init.loc) });
98
+ this.traceExpression(binding.init, chain, depth + 1, seen);
99
+ }
100
+ if (binding.import) {
101
+ chain.push({
102
+ kind: 'Import',
103
+ source: binding.import.source,
104
+ imported: binding.import.imported,
105
+ span: binding.defSpan,
106
+ });
107
+ }
108
+ }
109
+ break;
110
+ case 'MemberExpression':
111
+ const envKey = this.detectEnvMember(expr);
112
+ if (envKey) {
113
+ chain.push({
114
+ kind: 'Env',
115
+ key: envKey,
116
+ span: this.makeSpan(expr.loc),
117
+ });
118
+ return;
119
+ }
120
+ chain.push({ kind: 'Member', span: this.makeSpan(expr.loc) });
121
+ this.traceExpression(expr.object, chain, depth + 1, seen);
122
+ if (expr.computed && expr.property.type !== 'PrivateName') {
123
+ this.traceExpression(expr.property, chain, depth + 1, seen);
124
+ }
125
+ break;
126
+ case 'CallExpression':
127
+ let calleeName = '<expr>';
128
+ let calleeSpan = this.makeSpan(expr.loc);
129
+ let fnDefSpan;
130
+ if (expr.callee.type === 'Identifier') {
131
+ calleeName = expr.callee.name;
132
+ calleeSpan = this.makeSpan(expr.callee.loc);
133
+ const binding = this.bindings.get(expr.callee.name);
134
+ fnDefSpan = (binding === null || binding === void 0 ? void 0 : binding.fnBodySpan) || (binding === null || binding === void 0 ? void 0 : binding.defSpan);
135
+ }
136
+ else if (expr.callee.type === 'MemberExpression') {
137
+ calleeName = '<member>';
138
+ calleeSpan = this.makeSpan(expr.callee.loc);
139
+ }
140
+ chain.push({
141
+ kind: 'Call',
142
+ callee: calleeName,
143
+ callsite: this.makeSpan(expr.loc),
144
+ callee_span: calleeSpan,
145
+ fn_def_span: fnDefSpan,
146
+ });
147
+ for (const arg of expr.arguments) {
148
+ if (arg.type !== 'SpreadElement' && arg.type !== 'ArgumentPlaceholder') {
149
+ this.traceExpression(arg, chain, depth + 1, seen);
150
+ }
151
+ }
152
+ break;
153
+ case 'NewExpression':
154
+ const ctorName = expr.callee.type === 'Identifier'
155
+ ? expr.callee.name
156
+ : '<expr>';
157
+ chain.push({
158
+ kind: 'Ctor',
159
+ callee: ctorName,
160
+ span: this.makeSpan(expr.loc),
161
+ });
162
+ if (expr.arguments) {
163
+ for (const arg of expr.arguments) {
164
+ if (arg.type !== 'SpreadElement' && arg.type !== 'ArgumentPlaceholder') {
165
+ this.traceExpression(arg, chain, depth + 1, seen);
166
+ }
167
+ }
168
+ }
169
+ break;
170
+ case 'TemplateLiteral':
171
+ chain.push({
172
+ kind: 'Op',
173
+ op: 'template',
174
+ span: this.makeSpan(expr.loc),
175
+ });
176
+ for (const elem of expr.expressions) {
177
+ this.traceExpression(elem, chain, depth + 1, seen);
178
+ }
179
+ break;
180
+ case 'BinaryExpression':
181
+ chain.push({
182
+ kind: 'Op',
183
+ op: `binary:${expr.operator}`,
184
+ span: this.makeSpan(expr.loc),
185
+ });
186
+ this.traceExpression(expr.left, chain, depth + 1, seen);
187
+ this.traceExpression(expr.right, chain, depth + 1, seen);
188
+ break;
189
+ case 'ConditionalExpression':
190
+ chain.push({
191
+ kind: 'Op',
192
+ op: 'cond',
193
+ span: this.makeSpan(expr.loc),
194
+ });
195
+ this.traceExpression(expr.test, chain, depth + 1, seen);
196
+ this.traceExpression(expr.consequent, chain, depth + 1, seen);
197
+ this.traceExpression(expr.alternate, chain, depth + 1, seen);
198
+ break;
199
+ case 'UnaryExpression':
200
+ chain.push({
201
+ kind: 'Op',
202
+ op: `unary:${expr.operator}`,
203
+ span: this.makeSpan(expr.loc),
204
+ });
205
+ this.traceExpression(expr.argument, chain, depth + 1, seen);
206
+ break;
207
+ case 'UpdateExpression':
208
+ chain.push({
209
+ kind: 'Op',
210
+ op: 'update',
211
+ span: this.makeSpan(expr.loc),
212
+ });
213
+ this.traceExpression(expr.argument, chain, depth + 1, seen);
214
+ break;
215
+ case 'ObjectExpression':
216
+ for (const prop of expr.properties) {
217
+ if (prop.type === 'ObjectProperty') {
218
+ let key;
219
+ if (prop.key.type === 'Identifier') {
220
+ key = prop.key.name;
221
+ }
222
+ else if (prop.key.type === 'StringLiteral') {
223
+ key = prop.key.value;
224
+ }
225
+ else {
226
+ key = '<computed>';
227
+ }
228
+ chain.push({
229
+ kind: 'ObjectProp',
230
+ key,
231
+ span: this.makeSpan(prop.key.loc),
232
+ });
233
+ this.traceExpression(prop.value, chain, depth + 1, seen);
234
+ }
235
+ }
236
+ break;
237
+ case 'ArrayExpression':
238
+ expr.elements.forEach((el, idx) => {
239
+ if (el && el.type !== 'SpreadElement') {
240
+ chain.push({
241
+ kind: 'ArrayElem',
242
+ index: idx,
243
+ span: this.makeSpan(el.loc),
244
+ });
245
+ this.traceExpression(el, chain, depth + 1, seen);
246
+ }
247
+ });
248
+ break;
249
+ default:
250
+ chain.push({
251
+ kind: 'Unknown',
252
+ span: this.makeSpan(expr.loc),
253
+ });
254
+ }
255
+ }
256
+ // Port of rank_candidates (lib.rs:767-829)
257
+ rankCandidates(chain) {
258
+ const candidates = [];
259
+ const seen = new Set();
260
+ for (const node of chain) {
261
+ switch (node.kind) {
262
+ case 'Literal':
263
+ candidates.push({ target: node.span, reason: 'literal' });
264
+ break;
265
+ case 'Init':
266
+ candidates.push({ target: node.span, reason: 'const-init' });
267
+ break;
268
+ case 'Member':
269
+ candidates.push({ target: node.span, reason: 'member' });
270
+ break;
271
+ case 'ObjectProp':
272
+ case 'ArrayElem':
273
+ candidates.push({ target: node.span, reason: 'structural' });
274
+ break;
275
+ case 'Call':
276
+ candidates.push({ target: node.callsite, reason: 'callsite' });
277
+ if (node.fn_def_span) {
278
+ candidates.push({ target: node.fn_def_span, reason: 'fn-def' });
279
+ }
280
+ break;
281
+ case 'Ctor':
282
+ candidates.push({ target: node.span, reason: 'constructor' });
283
+ break;
284
+ case 'Import':
285
+ candidates.push({ target: node.span, reason: 'import' });
286
+ break;
287
+ case 'Env':
288
+ candidates.push({ target: node.span, reason: 'env' });
289
+ break;
290
+ }
291
+ }
292
+ // Dedup
293
+ return candidates.filter(c => {
294
+ const key = `${c.reason}#${c.target}`;
295
+ if (seen.has(key))
296
+ return false;
297
+ seen.add(key);
298
+ return true;
299
+ });
300
+ }
301
+ // Port of aggregate_kinds (lib.rs:881-904)
302
+ aggregateKinds(chain) {
303
+ const kinds = new Set();
304
+ for (const node of chain) {
305
+ switch (node.kind) {
306
+ case 'Literal':
307
+ kinds.add('literal');
308
+ break;
309
+ case 'Ident':
310
+ kinds.add('ident');
311
+ break;
312
+ case 'Init':
313
+ kinds.add('init');
314
+ break;
315
+ case 'Import':
316
+ kinds.add('import');
317
+ break;
318
+ case 'Member':
319
+ kinds.add('member');
320
+ break;
321
+ case 'ObjectProp':
322
+ kinds.add('object');
323
+ break;
324
+ case 'ArrayElem':
325
+ kinds.add('array');
326
+ break;
327
+ case 'Call':
328
+ kinds.add('call');
329
+ break;
330
+ case 'Ctor':
331
+ kinds.add('ctor');
332
+ break;
333
+ case 'Op':
334
+ kinds.add('op');
335
+ break;
336
+ case 'Env':
337
+ kinds.add('env');
338
+ break;
339
+ case 'Unknown':
340
+ kinds.add('unknown');
341
+ break;
342
+ }
343
+ }
344
+ return Array.from(kinds).sort();
345
+ }
346
+ // Port of collect_symbol_refs_from_expr (lib.rs:830-879)
347
+ collectSymbolRefs(expr, refs) {
348
+ if (expr.type === 'Identifier') {
349
+ refs.push({
350
+ file: this.filename,
351
+ local: expr.name,
352
+ path: '',
353
+ span: this.makeSpan(expr.loc),
354
+ });
355
+ // Chase initializer
356
+ const binding = this.bindings.get(expr.name);
357
+ if (binding === null || binding === void 0 ? void 0 : binding.init) {
358
+ this.collectSymbolRefs(binding.init, refs);
359
+ }
360
+ }
361
+ else if (expr.type === 'MemberExpression') {
362
+ const memberPath = this.staticMemberPath(expr);
363
+ if (memberPath) {
364
+ refs.push({
365
+ file: this.filename,
366
+ local: memberPath.root,
367
+ path: memberPath.path,
368
+ span: this.makeSpan(expr.loc),
369
+ });
370
+ }
371
+ // Descend
372
+ this.collectSymbolRefs(expr.object, refs);
373
+ if (expr.computed && expr.property.type !== 'PrivateName') {
374
+ this.collectSymbolRefs(expr.property, refs);
375
+ }
376
+ }
377
+ else if (expr.type === 'CallExpression') {
378
+ if (expr.callee.type !== 'Super' && expr.callee.type !== 'V8IntrinsicIdentifier') {
379
+ this.collectSymbolRefs(expr.callee, refs);
380
+ }
381
+ for (const arg of expr.arguments) {
382
+ if (arg.type !== 'SpreadElement' && arg.type !== 'ArgumentPlaceholder') {
383
+ this.collectSymbolRefs(arg, refs);
384
+ }
385
+ }
386
+ }
387
+ }
388
+ // Port of detect_env_member (lib.rs:1388-1413)
389
+ detectEnvMember(expr) {
390
+ // process.env.X
391
+ if (expr.object.type === 'MemberExpression' &&
392
+ expr.object.object.type === 'Identifier' &&
393
+ expr.object.object.name === 'process' &&
394
+ expr.object.property.type === 'Identifier' &&
395
+ expr.object.property.name === 'env' &&
396
+ expr.property.type === 'Identifier') {
397
+ return expr.property.name;
398
+ }
399
+ // import.meta.env.X
400
+ if (expr.object.type === 'MemberExpression' &&
401
+ expr.object.object.type === 'MetaProperty' &&
402
+ expr.object.object.meta.name === 'import' &&
403
+ expr.object.object.property.name === 'meta' &&
404
+ expr.object.property.type === 'Identifier' &&
405
+ expr.object.property.name === 'env' &&
406
+ expr.property.type === 'Identifier') {
407
+ return expr.property.name;
408
+ }
409
+ return null;
410
+ }
411
+ staticMemberPath(expr) {
412
+ const parts = [];
413
+ let current = expr;
414
+ while (current.type === 'MemberExpression') {
415
+ if (current.property.type === 'Identifier' && !current.computed) {
416
+ parts.unshift(`.${current.property.name}`);
417
+ }
418
+ else if (current.computed) {
419
+ if (current.property.type === 'StringLiteral') {
420
+ parts.unshift(`["${current.property.value}"]`);
421
+ }
422
+ else if (current.property.type === 'NumericLiteral') {
423
+ parts.unshift(`[${current.property.value}]`);
424
+ }
425
+ else {
426
+ return null;
427
+ }
428
+ }
429
+ current = current.object;
430
+ }
431
+ if (current.type === 'Identifier') {
432
+ return { root: current.name, path: parts.join('') };
433
+ }
434
+ return null;
435
+ }
436
+ makeSpan(loc) {
437
+ if (!loc)
438
+ return `${this.filename}:0`;
439
+ return `${this.filename}:${loc.start.line}`;
440
+ }
441
+ }
442
+ exports.ProvenanceTracker = ProvenanceTracker;
443
+ //# sourceMappingURL=provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/babel/provenance.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
File without changes
package/dist/index.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  import type * as Babel from "@babel/core";
2
2
  import type { CodePressPluginOptions } from "./types";
3
+ import { ModuleGraphCollector } from "./babel/module-graph";
4
+ import { ProvenanceTracker } from "./babel/provenance";
3
5
  interface CodePressPluginState extends Babel.PluginPass {
4
6
  file: Babel.BabelFile & {
5
7
  encodedPath?: string;
8
+ moduleGraph?: ModuleGraphCollector;
9
+ provenanceTracker?: ProvenanceTracker;
6
10
  };
7
11
  }
8
12
  export declare function decode(attributeValue: string | null | undefined): string;