@essential-apps/shopify-test-runner 1.0.10 → 1.0.11

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":"functionBuild.d.ts","sourceRoot":"","sources":["../../src/lib/functionBuild.ts"],"names":[],"mappings":"AAyDA;;;;GAIG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,UAAU,sGAC8E,CAAC;AAoFtG;;;;;GAKG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAclD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAaxD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf;;oEAEgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA6ElE;AA0ED,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAiElC"}
1
+ {"version":3,"file":"functionBuild.d.ts","sourceRoot":"","sources":["../../src/lib/functionBuild.ts"],"names":[],"mappings":"AAyDA;;;;GAIG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,UAAU,sGAC8E,CAAC;AAoFtG;;;;;GAKG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAclD;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAaxD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf;;oEAEgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA6ElE;AA0ED,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAoHlC"}
@@ -366,44 +366,85 @@ export async function buildFunctionWasm(opts) {
366
366
  // Step 1: bundle JS with esbuild.
367
367
  const bundledJs = resolve(distDir, 'function.js');
368
368
  const entryContents = synthesizeEntry(toml.targets);
369
- await esbuild.build({
370
- stdin: {
371
- contents: entryContents,
372
- resolveDir: functionDir,
373
- loader: 'ts',
374
- sourcefile: 'shopify-function-entry.ts',
375
- },
376
- bundle: true,
377
- format: 'esm',
378
- target: 'es2022',
379
- legalComments: 'none',
380
- outfile: bundledJs,
381
- alias: {
382
- 'user-function': entryPath,
383
- },
384
- // Node-side bundler. Functions don't have access to Node APIs
385
- // (the runtime is QuickJS via Javy), so we set platform=neutral
386
- // and don't try to polyfill anything Node-specific.
387
- platform: 'neutral',
388
- // QuickJS exposes a recent-ish JS surface but ECMAScript modules
389
- // are handled by Javy's runtime esbuild's `format: esm` output
390
- // is what Javy expects.
391
- mainFields: ['module', 'main'],
392
- conditions: ['shopify_function', 'import', 'default'],
393
- });
369
+ const bundle = async (drop) => {
370
+ await esbuild.build({
371
+ stdin: {
372
+ contents: entryContents,
373
+ resolveDir: functionDir,
374
+ loader: 'ts',
375
+ sourcefile: 'shopify-function-entry.ts',
376
+ },
377
+ bundle: true,
378
+ format: 'esm',
379
+ target: 'es2022',
380
+ legalComments: 'none',
381
+ outfile: bundledJs,
382
+ alias: {
383
+ 'user-function': entryPath,
384
+ },
385
+ // Node-side bundler. Functions don't have access to Node APIs
386
+ // (the runtime is QuickJS via Javy), so we set platform=neutral
387
+ // and don't try to polyfill anything Node-specific.
388
+ platform: 'neutral',
389
+ // QuickJS exposes a recent-ish JS surface but ECMAScript modules
390
+ // are handled by Javy's runtime — esbuild's `format: esm` output
391
+ // is what Javy expects.
392
+ mainFields: ['module', 'main'],
393
+ conditions: ['shopify_function', 'import', 'default'],
394
+ // See the legacy note below: in a STATIC Javy build `console.*`
395
+ // writes to STDOUT, corrupting the function's JSON output. Strip
396
+ // it for the legacy path.
397
+ ...(drop ? { drop: ['console'] } : {}),
398
+ });
399
+ };
400
+ await bundle(false);
394
401
  // Step 2: WIT + javy build.
395
402
  const witPath = resolve(distDir, 'javy-world.wit');
396
403
  writeFileSync(witPath, synthesizeWit(toml.targets), 'utf8');
397
- const [javy, plugin] = await Promise.all([ensureJavy(), ensureJavyPlugin()]);
398
- const javyArgs = [
399
- 'build',
400
- '-C', 'dynamic',
401
- '-C', `plugin=${plugin}`,
402
- '-C', `wit=${witPath}`,
403
- '-C', `wit-world=${JAVY_WORLD_NAME}`,
404
- '-o', outputWasm,
405
- bundledJs,
406
- ];
404
+ // Legacy vs modern @shopify/shopify_function I/O — auto-detected from
405
+ // the BUNDLE, so we don't hard-code a runtime-version assumption.
406
+ //
407
+ // - Legacy (≤1.x, e.g. `@shopify/shopify_function@0.1.0`): its `/run`
408
+ // does `import * as fs from "javy/fs"`, whose read/writeFileSync
409
+ // call the GLOBAL `Javy.IO`. That global is supplied by Javy's OWN
410
+ // default provider, which is embedded only in a STATIC build. The
411
+ // Shopify Functions Javy plugin (v3, dynamic) REPLACES that
412
+ // provider with shopify-specific host imports and does NOT expose
413
+ // `Javy` — so a plugin build of legacy code traps at runtime with
414
+ // "'Javy' is not defined". Build it STATIC.
415
+ //
416
+ // - Modern (≥2.x): imports host functions the plugin provides and
417
+ // never touches the `Javy` global, so it NEEDS the dynamic plugin
418
+ // build (a static build lacks those host imports).
419
+ //
420
+ // function-runner runs either (self-contained static, or dynamic with
421
+ // the plugin it links). Detect by the literal `Javy.IO` the legacy
422
+ // shim emits into the bundle.
423
+ const usesLegacyJavyGlobal = /\bJavy\.IO\b/.test(readFileSync(bundledJs, 'utf8'));
424
+ const javy = await ensureJavy();
425
+ const javyArgs = ['build'];
426
+ if (usesLegacyJavyGlobal) {
427
+ console.log(` (legacy Javy.IO runtime → static build, no plugin)`);
428
+ // CRITICAL: Javy's default (static) provider routes `console.*` to
429
+ // STDOUT — which is also where the legacy `/run` writes the
430
+ // function's JSON result. The two interleave and function-runner
431
+ // then fails to parse stdout (sees `<log text>\n{json}` →
432
+ // "JSON Error"), yielding empty output. The Shopify plugin (modern
433
+ // path) routes console to logs instead; the static provider has no
434
+ // such redirect and no Javy flag toggles it. So re-bundle with
435
+ // `console` stripped to keep stdout clean. (Debug logs are lost in
436
+ // the legacy wasm — acceptable; they weren't captured anyway.)
437
+ await bundle(true);
438
+ // Enable the JS builtins the legacy runtime relies on: `/run` uses
439
+ // TextEncoder/TextDecoder, and we match the modern plugin's JS
440
+ // environment (SIMD JSON, the Javy stream-IO builtins, event loop).
441
+ javyArgs.push('-J', 'text-encoding=y', '-J', 'simd-json-builtins=y', '-J', 'javy-stream-io=y', '-J', 'event-loop=y');
442
+ }
443
+ else {
444
+ const plugin = await ensureJavyPlugin();
445
+ javyArgs.push('-C', 'dynamic', '-C', `plugin=${plugin}`);
446
+ }
447
+ javyArgs.push('-C', `wit=${witPath}`, '-C', `wit-world=${JAVY_WORLD_NAME}`, '-o', outputWasm, bundledJs);
407
448
  // `cwd: functionDir` so Javy resolves any relative paths in its
408
449
  // diagnostics (it doesn't, AFAICT, but parity with the CLI is
409
450
  // cheap).
@@ -1 +1 @@
1
- {"version":3,"file":"functionBuild.js","sourceRoot":"","sources":["../../src/lib/functionBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functionBuild.js","sourceRoot":"","sources":["../../src/lib/functionBuild.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essential-apps/shopify-test-runner",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "description": "Orchestration scripts (container, auth capture, install) and Playwright config preset for Essential Apps' Shopify test suites. Internal use only.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -57,11 +57,11 @@
57
57
  "clean": "rm -rf dist"
58
58
  },
59
59
  "dependencies": {
60
- "@essential-apps/shopify-test-core": "^1.0.10",
61
- "@essential-apps/shopify-test-mock-admin": "^1.0.10",
62
- "@essential-apps/shopify-test-shopify-api": "^1.0.10",
63
- "@essential-apps/shopify-test-storefront": "^1.0.10",
64
- "@essential-apps/shopify-test-themes": "^1.0.10",
60
+ "@essential-apps/shopify-test-core": "^1.0.11",
61
+ "@essential-apps/shopify-test-mock-admin": "^1.0.11",
62
+ "@essential-apps/shopify-test-shopify-api": "^1.0.11",
63
+ "@essential-apps/shopify-test-storefront": "^1.0.11",
64
+ "@essential-apps/shopify-test-themes": "^1.0.11",
65
65
  "@playwright/test": "^1.49.0",
66
66
  "@types/node": "^20.19.40",
67
67
  "@types/tar-stream": "^3.1.4",
@@ -441,46 +441,97 @@ export async function buildFunctionWasm(
441
441
  // Step 1: bundle JS with esbuild.
442
442
  const bundledJs = resolve(distDir, 'function.js');
443
443
  const entryContents = synthesizeEntry(toml.targets);
444
- await esbuild.build({
445
- stdin: {
446
- contents: entryContents,
447
- resolveDir: functionDir,
448
- loader: 'ts',
449
- sourcefile: 'shopify-function-entry.ts',
450
- },
451
- bundle: true,
452
- format: 'esm',
453
- target: 'es2022',
454
- legalComments: 'none',
455
- outfile: bundledJs,
456
- alias: {
457
- 'user-function': entryPath,
458
- },
459
- // Node-side bundler. Functions don't have access to Node APIs
460
- // (the runtime is QuickJS via Javy), so we set platform=neutral
461
- // and don't try to polyfill anything Node-specific.
462
- platform: 'neutral',
463
- // QuickJS exposes a recent-ish JS surface but ECMAScript modules
464
- // are handled by Javy's runtime esbuild's `format: esm` output
465
- // is what Javy expects.
466
- mainFields: ['module', 'main'],
467
- conditions: ['shopify_function', 'import', 'default'],
468
- });
444
+ const bundle = async (drop: boolean): Promise<void> => {
445
+ await esbuild.build({
446
+ stdin: {
447
+ contents: entryContents,
448
+ resolveDir: functionDir,
449
+ loader: 'ts',
450
+ sourcefile: 'shopify-function-entry.ts',
451
+ },
452
+ bundle: true,
453
+ format: 'esm',
454
+ target: 'es2022',
455
+ legalComments: 'none',
456
+ outfile: bundledJs,
457
+ alias: {
458
+ 'user-function': entryPath,
459
+ },
460
+ // Node-side bundler. Functions don't have access to Node APIs
461
+ // (the runtime is QuickJS via Javy), so we set platform=neutral
462
+ // and don't try to polyfill anything Node-specific.
463
+ platform: 'neutral',
464
+ // QuickJS exposes a recent-ish JS surface but ECMAScript modules
465
+ // are handled by Javy's runtime — esbuild's `format: esm` output
466
+ // is what Javy expects.
467
+ mainFields: ['module', 'main'],
468
+ conditions: ['shopify_function', 'import', 'default'],
469
+ // See the legacy note below: in a STATIC Javy build `console.*`
470
+ // writes to STDOUT, corrupting the function's JSON output. Strip
471
+ // it for the legacy path.
472
+ ...(drop ? { drop: ['console' as const] } : {}),
473
+ });
474
+ };
475
+ await bundle(false);
469
476
 
470
477
  // Step 2: WIT + javy build.
471
478
  const witPath = resolve(distDir, 'javy-world.wit');
472
479
  writeFileSync(witPath, synthesizeWit(toml.targets), 'utf8');
473
480
 
474
- const [javy, plugin] = await Promise.all([ensureJavy(), ensureJavyPlugin()]);
475
- const javyArgs = [
476
- 'build',
477
- '-C', 'dynamic',
478
- '-C', `plugin=${plugin}`,
481
+ // Legacy vs modern @shopify/shopify_function I/O — auto-detected from
482
+ // the BUNDLE, so we don't hard-code a runtime-version assumption.
483
+ //
484
+ // - Legacy (≤1.x, e.g. `@shopify/shopify_function@0.1.0`): its `/run`
485
+ // does `import * as fs from "javy/fs"`, whose read/writeFileSync
486
+ // call the GLOBAL `Javy.IO`. That global is supplied by Javy's OWN
487
+ // default provider, which is embedded only in a STATIC build. The
488
+ // Shopify Functions Javy plugin (v3, dynamic) REPLACES that
489
+ // provider with shopify-specific host imports and does NOT expose
490
+ // `Javy` — so a plugin build of legacy code traps at runtime with
491
+ // "'Javy' is not defined". Build it STATIC.
492
+ //
493
+ // - Modern (≥2.x): imports host functions the plugin provides and
494
+ // never touches the `Javy` global, so it NEEDS the dynamic plugin
495
+ // build (a static build lacks those host imports).
496
+ //
497
+ // function-runner runs either (self-contained static, or dynamic with
498
+ // the plugin it links). Detect by the literal `Javy.IO` the legacy
499
+ // shim emits into the bundle.
500
+ const usesLegacyJavyGlobal = /\bJavy\.IO\b/.test(readFileSync(bundledJs, 'utf8'));
501
+
502
+ const javy = await ensureJavy();
503
+ const javyArgs = ['build'];
504
+ if (usesLegacyJavyGlobal) {
505
+ console.log(` (legacy Javy.IO runtime → static build, no plugin)`);
506
+ // CRITICAL: Javy's default (static) provider routes `console.*` to
507
+ // STDOUT — which is also where the legacy `/run` writes the
508
+ // function's JSON result. The two interleave and function-runner
509
+ // then fails to parse stdout (sees `<log text>\n{json}` →
510
+ // "JSON Error"), yielding empty output. The Shopify plugin (modern
511
+ // path) routes console to logs instead; the static provider has no
512
+ // such redirect and no Javy flag toggles it. So re-bundle with
513
+ // `console` stripped to keep stdout clean. (Debug logs are lost in
514
+ // the legacy wasm — acceptable; they weren't captured anyway.)
515
+ await bundle(true);
516
+ // Enable the JS builtins the legacy runtime relies on: `/run` uses
517
+ // TextEncoder/TextDecoder, and we match the modern plugin's JS
518
+ // environment (SIMD JSON, the Javy stream-IO builtins, event loop).
519
+ javyArgs.push(
520
+ '-J', 'text-encoding=y',
521
+ '-J', 'simd-json-builtins=y',
522
+ '-J', 'javy-stream-io=y',
523
+ '-J', 'event-loop=y',
524
+ );
525
+ } else {
526
+ const plugin = await ensureJavyPlugin();
527
+ javyArgs.push('-C', 'dynamic', '-C', `plugin=${plugin}`);
528
+ }
529
+ javyArgs.push(
479
530
  '-C', `wit=${witPath}`,
480
531
  '-C', `wit-world=${JAVY_WORLD_NAME}`,
481
532
  '-o', outputWasm,
482
533
  bundledJs,
483
- ];
534
+ );
484
535
  // `cwd: functionDir` so Javy resolves any relative paths in its
485
536
  // diagnostics (it doesn't, AFAICT, but parity with the CLI is
486
537
  // cheap).