@hozu/transform 0.7.0 → 0.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAqKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,CAmTrE"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAmLD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,CAybrE"}
package/dist/transform.js CHANGED
@@ -2,7 +2,21 @@ import { stripTypeScriptTypes } from 'node:module';
2
2
  import { parse } from 'acorn';
3
3
  const H = '__hozu';
4
4
  const HEADER = `import { lower as ${H} } from '@hozu/core/lower';`;
5
- const BUILDERS = new Set(['machine', 'on', 'invoke', 'query', 'mutation', 'endpoint']);
5
+ const BUILDERS = new Set(['machine', 'on', 'invoke', 'query', 'mutation', 'endpoint', 'part']);
6
+ const UI_REFS = new Set(['env', 'alternate']);
7
+ const UI_VALUES = new Set([
8
+ 'env',
9
+ 'alternate',
10
+ 'link',
11
+ 'asset',
12
+ 'send',
13
+ 'og',
14
+ 'page',
15
+ 'messages',
16
+ 'component',
17
+ 'kit',
18
+ 'view',
19
+ ]);
6
20
  const COMPARE = {
7
21
  '===': 'eq',
8
22
  '==': 'eq',
@@ -180,13 +194,33 @@ export function transform(source, _file = '') {
180
194
  const js = strip(source);
181
195
  const program = parse(js, { ecmaVersion: 'latest', sourceType: 'module' });
182
196
  const locals = new Map();
197
+ const imported = new Set();
183
198
  for (const stmt of program.body)
184
- if (stmt.type === 'ImportDeclaration' && stmt.source.value === '@hozu/core')
185
- for (const s of stmt.specifiers)
186
- if (s.type === 'ImportSpecifier')
199
+ if (stmt.type === 'ImportDeclaration')
200
+ for (const s of stmt.specifiers) {
201
+ if (stmt.source.value !== '@hozu/core')
202
+ imported.add(s.local.name);
203
+ else if (s.type === 'ImportSpecifier')
187
204
  locals.set(s.local.name, s.imported.name ?? s.imported.value);
205
+ }
188
206
  if (!locals.size)
189
207
  return { code: source, changed: false };
208
+ const lineStarts = [0];
209
+ for (let i = 0; i < source.length; i++)
210
+ if (source[i] === '\n')
211
+ lineStarts.push(i + 1);
212
+ const position = (offset) => {
213
+ let lo = 0;
214
+ let hi = lineStarts.length - 1;
215
+ while (lo < hi) {
216
+ const mid = (lo + hi + 1) >> 1;
217
+ if (lineStarts[mid] <= offset)
218
+ lo = mid;
219
+ else
220
+ hi = mid - 1;
221
+ }
222
+ return [lo + 1, offset - lineStarts[lo] + 1];
223
+ };
190
224
  const moduleHelpers = new Map();
191
225
  for (const stmt of program.body) {
192
226
  const d = stmt.type === 'ExportNamedDeclaration' ? stmt.declaration : stmt;
@@ -197,6 +231,10 @@ export function transform(source, _file = '') {
197
231
  if (v.id.type === 'Identifier' && v.init)
198
232
  moduleHelpers.set(v.id.name, v.init);
199
233
  }
234
+ const plainFunction = (name) => {
235
+ const node = moduleHelpers.get(name);
236
+ return !!node && isFunction(node);
237
+ };
200
238
  const helperClosure = (names) => {
201
239
  const helpers = new Set();
202
240
  const free = new Set();
@@ -288,6 +326,12 @@ export function transform(source, _file = '') {
288
326
  return x.names.get(name);
289
327
  return false;
290
328
  };
329
+ const holding = (s, name) => {
330
+ for (let x = s; x; x = x.up)
331
+ if (x.names.has(name))
332
+ return x.holds.has(name);
333
+ return false;
334
+ };
291
335
  const isRef = (n, s) => {
292
336
  if (lowered.has(n))
293
337
  return true;
@@ -297,17 +341,25 @@ export function transform(source, _file = '') {
297
341
  return isRef(n.object, s);
298
342
  if (n.type === 'ChainExpression')
299
343
  return isRef(n.expression, s);
300
- if (n.type === 'CallExpression' && n.callee.type === 'Identifier' && !builderNames.has(n.callee.name))
344
+ if (n.type === 'CallExpression') {
345
+ const c = n.callee;
346
+ if (isUiMember(c) && !c.computed && UI_REFS.has(c.property.name))
347
+ return true;
348
+ if ((c.type === 'Identifier' && builderNames.has(c.name)) || isUiMember(c))
349
+ return false;
301
350
  return n.arguments.some((a) => holdsRef(a, s));
351
+ }
302
352
  return false;
303
353
  };
304
354
  const holdsRef = (n, s) => isRef(n, s) ||
355
+ (n.type === 'Identifier' && holding(s, n.name)) ||
305
356
  (n.type === 'ObjectExpression' &&
306
357
  n.properties.some((p) => p.type === 'SpreadElement' ? holdsRef(p.argument, s) : holdsRef(p.value, s))) ||
307
358
  (n.type === 'ArrayExpression' && n.elements.some((e) => !!e && holdsRef(e, s)));
308
359
  const nodeLike = (n) => !!n &&
309
360
  ((n.type === 'CallExpression' &&
310
- (isUiMember(n.callee) || (n.callee.type === 'Identifier' && n.callee.name === 'when'))) ||
361
+ ((isUiMember(n.callee) && !UI_VALUES.has(n.callee.property.name)) ||
362
+ (n.callee.type === 'Identifier' && n.callee.name === 'when'))) ||
311
363
  n.type === 'ArrayExpression' ||
312
364
  (n.type === 'ConditionalExpression' && (nodeLike(n.consequent) || nodeLike(n.alternate))));
313
365
  const childPosition = (n) => {
@@ -322,6 +374,43 @@ export function transform(source, _file = '') {
322
374
  const p = parent.get(fn);
323
375
  return p?.type === 'Property' && keyName(p) === 'guard';
324
376
  };
377
+ const escapes = new Map();
378
+ const outerBuilder = (n) => {
379
+ let found = n;
380
+ for (let up = n; up; up = parent.get(up))
381
+ if (up.type === 'CallExpression' && isBuilderCall(up))
382
+ found = up;
383
+ return found;
384
+ };
385
+ const leak = (site, kind, name) => {
386
+ const owner = outerBuilder(site);
387
+ const list = escapes.get(owner) ?? [];
388
+ list.push([kind, name, ...position(site.start)]);
389
+ escapes.set(owner, list);
390
+ };
391
+ const local = (s, name) => {
392
+ for (let x = s; x?.up; x = x.up)
393
+ if (x.names.has(name))
394
+ return true;
395
+ return false;
396
+ };
397
+ const nameOf = (n) => n.type === 'Identifier'
398
+ ? n.name
399
+ : n.type === 'MemberExpression' && !n.computed
400
+ ? `${nameOf(n.object)}.${n.property.name}`
401
+ : 'call';
402
+ const callbacks = (call, s) => {
403
+ const check = (v) => {
404
+ if (v.type === 'Identifier' && !local(s, v.name) && plainFunction(v.name))
405
+ leak(v, 'callback', v.name);
406
+ else if (v.type === 'ObjectExpression')
407
+ for (const p of v.properties)
408
+ if (p.type === 'Property')
409
+ check(p.value);
410
+ };
411
+ for (const a of call.arguments)
412
+ check(a);
413
+ };
325
414
  const assignBody = (fn, s) => {
326
415
  const body = fn.body;
327
416
  const parts = [];
@@ -341,18 +430,21 @@ export function transform(source, _file = '') {
341
430
  ? e.right.arguments[0]
342
431
  : null;
343
432
  const test = filter?.body;
344
- if (test?.type === 'BinaryExpression' &&
345
- test.operator === '!==' &&
433
+ const item = filter?.params[0]?.name;
434
+ const removes = test?.type === 'BinaryExpression' && test.operator === '!==';
435
+ if (removes &&
346
436
  test.left.type === 'MemberExpression' &&
347
437
  test.left.object.type === 'Identifier' &&
348
- test.left.object.name === filter.params[0]?.name)
438
+ test.left.object.name === item)
349
439
  op = `${H}.removeWhere(${gen(e.left)}, ${JSON.stringify(test.left.property.name)}, ${gen(test.right)})`;
440
+ else if (removes && test.left.type === 'Identifier' && test.left.name === item)
441
+ op = `${H}.removeWhere(${gen(e.left)}, null, ${gen(test.right)})`;
350
442
  else if (e.operator === '=')
351
443
  op = `${H}.set(${gen(e.left)}, ${gen(e.right)})`;
352
444
  else if (e.operator === '+=')
353
- op = `${H}.inc(${gen(e.left)}, ${gen(e.right)})`;
445
+ op = `${H}.set(${gen(e.left)}, ${H}.plus(${gen(e.left)}, ${gen(e.right)}))`;
354
446
  else if (e.operator === '-=')
355
- op = `${H}.inc(${gen(e.left)}, ${H}.minus(0, ${gen(e.right)}))`;
447
+ op = `${H}.set(${gen(e.left)}, ${H}.minus(${gen(e.left)}, ${gen(e.right)}))`;
356
448
  }
357
449
  else if (e?.type === 'CallExpression' &&
358
450
  e.callee.type === 'MemberExpression' &&
@@ -369,7 +461,7 @@ export function transform(source, _file = '') {
369
461
  const visit = (n, s, bool, guardFn = false) => {
370
462
  if (isFunction(n)) {
371
463
  const bears = refBearing(n);
372
- const scope = { names: new Map(), up: s };
464
+ const scope = { names: new Map(), holds: new Set(), up: s };
373
465
  for (const p of n.params)
374
466
  for (const name of patternNames(p))
375
467
  scope.names.set(name, bears && name !== 'when');
@@ -383,6 +475,8 @@ export function transform(source, _file = '') {
383
475
  }
384
476
  else
385
477
  visit(n.body, scope, guard, guard);
478
+ if (bears && n.type !== 'FunctionDeclaration')
479
+ replace(n, `${H}.lowered(${gen(n)})`, false);
386
480
  return;
387
481
  }
388
482
  if (n.type === 'VariableDeclaration') {
@@ -390,8 +484,12 @@ export function transform(source, _file = '') {
390
484
  if (d.init)
391
485
  visit(d.init, s, false, guardFn);
392
486
  const ref = !!d.init && isRef(d.init, s);
393
- for (const name of patternNames(d.id))
487
+ const holds = !ref && !!d.init && holdsRef(d.init, s);
488
+ for (const name of patternNames(d.id)) {
394
489
  s.names.set(name, ref);
490
+ if (holds)
491
+ s.holds.add(name);
492
+ }
395
493
  }
396
494
  return;
397
495
  }
@@ -432,7 +530,24 @@ export function transform(source, _file = '') {
432
530
  else if (bool)
433
531
  replace(n, `${H}.${n.operator === '&&' ? 'and' : 'or'}(${l}, ${r})`);
434
532
  else
435
- replace(n, n.operator === '&&' ? `${H}.cond(${l}, ${r}, ${l})` : `${H}.cond(${l}, ${l}, ${r})`);
533
+ replace(n, `${H}.${n.operator === '&&' ? 'both' : 'either'}(${l}, ${r})`);
534
+ return;
535
+ }
536
+ if (n.type === 'UnaryExpression' && n.operator === 'typeof') {
537
+ visit(n.argument, s, false, guardFn);
538
+ if (isRef(n.argument, s))
539
+ leak(n, 'typeof', `typeof ${nameOf(n.argument)}`);
540
+ return;
541
+ }
542
+ if (n.type === 'NewExpression') {
543
+ for (const c of children(n))
544
+ visit(c, s, false, guardFn);
545
+ if (n.callee.type === 'Identifier' &&
546
+ GLOBALS.has(n.callee.name) &&
547
+ !local(s, n.callee.name) &&
548
+ !moduleHelpers.has(n.callee.name) &&
549
+ n.arguments.some((a) => holdsRef(a, s)))
550
+ leak(n, 'global', `new ${n.callee.name}`);
436
551
  return;
437
552
  }
438
553
  if (n.type === 'UnaryExpression' && n.operator === '!') {
@@ -473,15 +588,20 @@ export function transform(source, _file = '') {
473
588
  const declares = (callee.type === 'MemberExpression' &&
474
589
  callee.object.type === 'Identifier' &&
475
590
  uiNames.has(callee.object.name) &&
476
- callee.property.name === 'view') ||
591
+ (callee.property.name === 'view' || callee.property.name === 'component')) ||
477
592
  (callee.type === 'Identifier' && [...locals].some(([l, i]) => l === callee.name && i === 'machine'));
478
593
  if (declares) {
594
+ callbacks(n, s);
479
595
  replace(n, `${H}.done(${gen(n)})`, false);
480
596
  return;
481
597
  }
482
598
  if (callee.type === 'Identifier' && fnNames.has(callee.name)) {
483
599
  const impl = n.arguments[0]?.properties?.find((p) => p.type === 'Property' && keyName(p) === 'impl')?.value;
484
- const { helpers, free } = helperClosure(impl && isFunction(impl) ? freeNames(impl) : []);
600
+ const named = impl?.type === 'Identifier' && plainFunction(impl.name) ? impl.name : null;
601
+ const body = named ? moduleHelpers.get(named) : impl && isFunction(impl) ? impl : null;
602
+ const closure = helperClosure(body ? freeNames(body).filter((x) => x !== named) : []);
603
+ const helpers = closure.helpers.filter((h) => h !== named);
604
+ const free = closure.free.filter((h) => h !== named);
485
605
  let text = gen(n);
486
606
  if (helpers.length)
487
607
  text = `${H}.helpers(${text}, { ${helpers.map((h) => `${h}: () => ${h}`).join(', ')} })`;
@@ -491,18 +611,54 @@ export function transform(source, _file = '') {
491
611
  replace(n, text, false);
492
612
  return;
493
613
  }
614
+ if (isBuilderCall(n)) {
615
+ callbacks(n, s);
616
+ return;
617
+ }
618
+ const refArgs = n.arguments.some((a) => holdsRef(a, s));
494
619
  if (callee.type === 'MemberExpression' && !callee.computed && isRef(callee.object, s)) {
495
620
  const statement = parent.get(n);
496
621
  const pushInAssign = callee.property.name === 'push' && statement?.type === 'ExpressionStatement';
497
- if (!pushInAssign)
498
- replace(n, `${H}.method(${JSON.stringify(callee.property.name)})`, false);
622
+ if (callee.property.name === 'includes' && n.arguments.length === 1)
623
+ replace(n, `${H}.includes(${gen(callee.object)}, ${gen(n.arguments[0])})`);
624
+ else if (!pushInAssign)
625
+ replace(n, `${H}.method(${gen(callee.object)}, ${JSON.stringify(callee.property.name)}${n.arguments.map((a) => `, ${gen(a)}`).join('')})`, false);
626
+ return;
499
627
  }
628
+ if (!refArgs)
629
+ return;
630
+ const root = callee.type === 'MemberExpression' ? callee.object : callee;
631
+ if (root.type !== 'Identifier')
632
+ return;
633
+ const name = nameOf(callee);
634
+ const inScope = local(s, root.name);
635
+ if (inScope && (callee !== root || isRef(callee, s)))
636
+ return;
637
+ if (!inScope && callee.type === 'Identifier' && plainFunction(root.name))
638
+ leak(n, 'helper', name);
639
+ else if (inScope || imported.has(root.name))
640
+ replace(n, `${H}.call(${gen(callee)}, ${JSON.stringify(name)}${n.arguments.map((a) => `, ${gen(a)}`).join('')})`, false);
641
+ else if (GLOBALS.has(root.name) && !moduleHelpers.has(root.name))
642
+ leak(n, 'global', name);
500
643
  return;
501
644
  }
502
645
  for (const c of children(n))
503
646
  visit(c, s, false, guardFn);
504
647
  };
505
- visit(program, { names: new Map(), up: null }, false);
648
+ visit(program, { names: new Map(), holds: new Set(), up: null }, false);
649
+ for (const [owner, sites] of escapes)
650
+ replace(owner, `${H}.escapes(${gen(owner)}, ${JSON.stringify(sites)})`, false);
651
+ const named = (n) => {
652
+ for (const c of children(n))
653
+ named(c);
654
+ if (n.type === 'VariableDeclarator' &&
655
+ n.id.type === 'Identifier' &&
656
+ n.init?.type === 'CallExpression' &&
657
+ n.init.callee.type === 'Identifier' &&
658
+ locals.get(n.init.callee.name) === 'part')
659
+ replace(n.init, `${H}.name(${gen(n.init)}, ${JSON.stringify(n.id.name)})`, false);
660
+ };
661
+ named(program);
506
662
  let code = source;
507
663
  for (const e of edits.sort((a, b) => b.start - a.start))
508
664
  code = code.slice(0, e.start) + e.text + code.slice(e.end);
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hozu/transform",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "Lets Hozu builder callbacks use ordinary TypeScript (===, ?:, &&, template strings, assignments) by lowering it to the IR's explicit forms",
5
5
  "keywords": [
6
6
  "hozu",