@hyperfrontend/builder 0.1.0 → 0.1.1

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_dependencies/@hyperfrontend/project-scope/core/fs/index.cjs.js +10 -3
  3. package/_dependencies/@hyperfrontend/project-scope/core/fs/index.esm.js +10 -3
  4. package/_dependencies/@hyperfrontend/project-scope/core/index.cjs.js +16 -6
  5. package/_dependencies/@hyperfrontend/project-scope/core/index.esm.js +16 -6
  6. package/_dependencies/@hyperfrontend/project-scope/core/path/index.cjs.js +4 -5
  7. package/_dependencies/@hyperfrontend/project-scope/core/path/index.esm.js +5 -4
  8. package/_dependencies/@hyperfrontend/project-scope/project/root/index.cjs.js +5 -1
  9. package/_dependencies/@hyperfrontend/project-scope/project/root/index.esm.js +5 -1
  10. package/bin/hf-build.js +110 -82
  11. package/bin/hf-build.linux-x64 +0 -0
  12. package/bin/index.cjs.js +82 -36
  13. package/bin/index.esm.js +82 -36
  14. package/bin/script/index.cjs.js +91 -45
  15. package/bin/script/index.esm.js +81 -35
  16. package/bundle/declarations/dts-per-entry.d.ts.map +1 -1
  17. package/bundle/declarations/dts-pre-pass.d.ts.map +1 -1
  18. package/bundle/declarations/index.cjs.js +118 -72
  19. package/bundle/declarations/index.esm.js +83 -37
  20. package/bundle/dependencies/index.cjs.js +95 -49
  21. package/bundle/dependencies/index.d.ts +13 -24
  22. package/bundle/dependencies/index.esm.js +79 -33
  23. package/bundle/dependencies/pre-pass.d.ts +13 -24
  24. package/bundle/dependencies/pre-pass.d.ts.map +1 -1
  25. package/bundle/index.cjs.js +203 -175
  26. package/bundle/index.esm.js +107 -79
  27. package/bundle/rollup/dispatch.d.ts +12 -14
  28. package/bundle/rollup/dispatch.d.ts.map +1 -1
  29. package/bundle/rollup/index.cjs.js +75 -29
  30. package/bundle/rollup/index.d.ts +14 -16
  31. package/bundle/rollup/index.esm.js +76 -30
  32. package/bundle/worker-locator.d.ts +47 -0
  33. package/bundle/worker-locator.d.ts.map +1 -0
  34. package/index.cjs.js +112 -84
  35. package/index.esm.js +113 -85
  36. package/package.json +31 -3
package/index.esm.js CHANGED
@@ -12,7 +12,7 @@ import { stringify, parse } from './_dependencies/@hyperfrontend/immutable-api-u
12
12
  import './_dependencies/postject/index.esm.js';
13
13
  import { join as join$3, getDirname, normalizeToForwardSlashes as normalizeToForwardSlashes$1 } from './_dependencies/@hyperfrontend/project-scope/core/path/index.esm.js';
14
14
  import { createRequire } from 'node:module';
15
- import { join as join$2, isAbsolute, resolve, dirname } from 'node:path';
15
+ import { join as join$2, dirname, isAbsolute, resolve } from 'node:path';
16
16
  import { keys, freeze, entries, fromEntries } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js';
17
17
  import { createSet } from './_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js';
18
18
  import { exists as exists$1, readJsonFile, readJsonFileIfExists } from './_dependencies/@hyperfrontend/project-scope/core/fs/index.esm.js';
@@ -57,8 +57,8 @@ import { byPrefix } from './_shared/presets/by-prefix/index.esm.js';
57
57
 
58
58
  const log$g = logger.channel('builder:bin:native:dispatch');
59
59
  const REPORT_DIR_PREFIX$2 = 'hf-builder-inject-';
60
- const SWC_NODE_REGISTER$2 = '@swc-node/register';
61
- const swcNodeAvailable$2 = (workspaceRoot) => existsSync(join$1(workspaceRoot, 'node_modules', '@swc-node', 'register', 'index.js'));
60
+ const SWC_NODE_REGISTER$1 = '@swc-node/register';
61
+ const swcNodeAvailable = (workspaceRoot) => existsSync(join$1(workspaceRoot, 'node_modules', '@swc-node', 'register', 'index.js'));
62
62
  /**
63
63
  * Default worker-path resolution: prefers the built-and-published artifact, falls
64
64
  * back to the workspace dist path, and finally to the in-source TypeScript file
@@ -89,8 +89,8 @@ const resolveDefaultInjectWorkerPath = (workspaceRoot) => {
89
89
  return { path, execArgv: [] };
90
90
  }
91
91
  const sourcePath = join$1(workspaceRoot, 'libs', 'builder', 'src', 'bin', 'native', 'worker', 'index.ts');
92
- if (existsSync(sourcePath) && swcNodeAvailable$2(workspaceRoot)) {
93
- return { path: sourcePath, execArgv: ['--require', SWC_NODE_REGISTER$2] };
92
+ if (existsSync(sourcePath) && swcNodeAvailable(workspaceRoot)) {
93
+ return { path: sourcePath, execArgv: ['--require', SWC_NODE_REGISTER$1] };
94
94
  }
95
95
  return undefined;
96
96
  };
@@ -570,45 +570,91 @@ const toUmdBuildDescriptor = (entry, config, context, reportPath) => {
570
570
  };
571
571
  };
572
572
 
573
- const log$e = logger.channel('builder:bundle:rollup:dispatch');
574
- const REPORT_DIR_PREFIX$1 = 'hf-builder-rollup-';
575
- const SWC_NODE_REGISTER$1 = '@swc-node/register';
576
- const swcNodeAvailable$1 = (workspaceRoot) => existsSync(join$1(workspaceRoot, 'node_modules', '@swc-node', 'register', 'index.js'));
573
+ const SWC_NODE_REGISTER = '@swc-node/register';
574
+ const probeDir = (dir, offset) => {
575
+ const compiled = join$2(dir, ...offset, 'index.cjs.js');
576
+ if (existsSync(compiled))
577
+ return { path: compiled, execArgv: [] };
578
+ const source = join$2(dir, ...offset, 'index.ts');
579
+ if (existsSync(source))
580
+ return { path: source, execArgv: ['--require', SWC_NODE_REGISTER] };
581
+ return undefined;
582
+ };
577
583
  /**
578
- * Default worker-path resolution: prefers the built-and-published artifact, falls
579
- * back to the workspace dist path, and finally to the in-source TypeScript file
580
- * via `@swc-node/register` (bootstrap case where builder is building itself for
581
- * the first time and the dist worker doesn't exist yet).
582
- *
583
- * Looks at, in order:
584
- * 1. `<workspaceRoot>/dist/libs/builder/bundle/rollup/worker/index.cjs.js`
585
- * 2. `<workspaceRoot>/node_modules/@hyperfrontend/builder/bundle/rollup/worker/index.cjs.js`
586
- * 3. `<workspaceRoot>/libs/builder/src/bundle/rollup/worker/index.ts` (with `--require \@swc-node/register`)
584
+ * Directory of the currently-executing builder module, read from `__dirname`.
585
+ * It is present in the shipped CommonJS build, in the `@swc-node/register` source
586
+ * bootstrap, and under the test runner, so callers get their own on-disk location
587
+ * and can find the worker beside them however the builder was packaged.
587
588
  *
588
- * @param workspaceRoot - Absolute workspace root.
589
- * @returns Worker invocation descriptor, or `undefined` if no candidate exists.
589
+ * @returns Absolute directory path of the running module.
590
590
  *
591
- * @example Locating the worker for an in-workspace consumer
591
+ * @example Anchoring a lookup beside the running builder
592
592
  * ```typescript
593
- * const invocation = resolveDefaultRollupWorkerPath('/abs/repo')
594
- * if (!invocation) throw new Error('builder rollup worker artifact not found')
593
+ * const invocation = ascendForWorker(['bundle', 'rollup', 'worker'], currentModuleDir())
595
594
  * ```
596
595
  */
597
- const resolveDefaultRollupWorkerPath = (workspaceRoot) => {
598
- const distCandidates = [
599
- join$1(workspaceRoot, 'dist', 'libs', 'builder', 'bundle', 'rollup', 'worker', 'index.cjs.js'),
600
- join$1(workspaceRoot, 'node_modules', '@hyperfrontend', 'builder', 'bundle', 'rollup', 'worker', 'index.cjs.js'),
601
- ];
602
- for (const path of distCandidates) {
603
- if (existsSync(path))
604
- return { path, execArgv: [] };
596
+ const currentModuleDir = () => {
597
+ /* istanbul ignore if -- @preserve the ESM build has no __dirname; the shipped CommonJS build and the test runner always define it, so this guard is unreachable under test */
598
+ if (typeof __dirname === 'undefined') {
599
+ throw createError('@hyperfrontend/builder self-location requires the CommonJS build; drive build() from the CommonJS entry point');
605
600
  }
606
- const sourcePath = join$1(workspaceRoot, 'libs', 'builder', 'src', 'bundle', 'rollup', 'worker', 'index.ts');
607
- if (existsSync(sourcePath) && swcNodeAvailable$1(workspaceRoot)) {
608
- return { path: sourcePath, execArgv: ['--require', SWC_NODE_REGISTER$1] };
601
+ return __dirname;
602
+ };
603
+ /**
604
+ * Locate a builder worker entry by ascending from a start directory toward the
605
+ * filesystem root, returning the first ancestor at which the worker exists at the
606
+ * given in-package offset. The compiled `index.cjs.js` is preferred; an `index.ts`
607
+ * sibling (source-mode bootstrap) resolves with the swc loader attached.
608
+ *
609
+ * The worker ships inside the builder's own package, so resolving relative to the
610
+ * running module finds it wherever the package lives — built dist, an installed
611
+ * `node_modules` copy, or melded into a host bundle under `_dependencies/`.
612
+ *
613
+ * @param offset - In-package path segments to the worker directory (e.g. `['bundle', 'rollup', 'worker']`).
614
+ * @param startDir - Directory to begin the ascent from. Defaults to the running module's directory; pass an explicit value to resolve from another anchor or under test.
615
+ * @returns The resolved worker invocation, or `undefined` if no worker exists at the offset under any ancestor.
616
+ *
617
+ * @example Resolving the rollup worker from the running module
618
+ * ```typescript
619
+ * const invocation = ascendForWorker(['bundle', 'rollup', 'worker'])
620
+ * if (!invocation) throw new Error('builder rollup worker not found beside the builder module')
621
+ * ```
622
+ */
623
+ const ascendForWorker = (offset, startDir = currentModuleDir()) => {
624
+ let dir = startDir;
625
+ let parent = dirname(dir);
626
+ // how: probe each level then step up; the final probe covers the filesystem root, where parent === dir
627
+ while (parent !== dir) {
628
+ const found = probeDir(dir, offset);
629
+ if (found)
630
+ return found;
631
+ dir = parent;
632
+ parent = dirname(dir);
609
633
  }
610
- return undefined;
634
+ return probeDir(dir, offset);
611
635
  };
636
+
637
+ const log$e = logger.channel('builder:bundle:rollup:dispatch');
638
+ const REPORT_DIR_PREFIX$1 = 'hf-builder-rollup-';
639
+ /**
640
+ * Resolves the rollup worker by self-locating it beside the running builder
641
+ * module: ascends from the module's own directory to the builder package root
642
+ * and returns the worker at `bundle/rollup/worker`. This works whether the
643
+ * builder runs from its built dist, an installed `node_modules` copy, or melded
644
+ * into a host bundle under `_dependencies/`. The compiled `index.cjs.js` is
645
+ * preferred; an `index.ts` sibling resolves with the `@swc-node/register` loader
646
+ * for source-mode bootstrap.
647
+ *
648
+ * @param startDir - Directory to begin the ascent from. Defaults to the running module's directory; pass an explicit value to resolve from another anchor or under test.
649
+ * @returns Worker invocation descriptor, or `undefined` if no worker is found under any ancestor.
650
+ *
651
+ * @example Locating the worker beside the builder
652
+ * ```typescript
653
+ * const invocation = resolveDefaultRollupWorkerPath()
654
+ * if (!invocation) throw new Error('builder rollup worker artifact not found')
655
+ * ```
656
+ */
657
+ const resolveDefaultRollupWorkerPath = (startDir) => ascendForWorker(['bundle', 'rollup', 'worker'], startDir);
612
658
  const createReportDir$1 = () => mkdtempSync(join$1(tmpdir(), REPORT_DIR_PREFIX$1));
613
659
  const reportPathFor$1 = (reportDir, descriptor) => {
614
660
  const safeLabel = descriptor.inputFile.replace(/[^a-zA-Z0-9_-]+/g, '_');
@@ -688,10 +734,10 @@ const dispatchRollupWorker = async (descriptor, options) => {
688
734
  };
689
735
 
690
736
  const log$d = logger.channel('builder:bin:script');
691
- const resolveWorkerOrThrow = (workspaceRoot) => {
692
- const invocation = resolveDefaultRollupWorkerPath(workspaceRoot);
737
+ const resolveWorkerOrThrow = () => {
738
+ const invocation = resolveDefaultRollupWorkerPath();
693
739
  if (!invocation) {
694
- throw createError('rollup worker could not be resolved for bin script bundling. Build @hyperfrontend/builder at least once before invoking the bin phase, or ensure @swc-node/register is installed for source-mode bootstrap.');
740
+ throw createError('rollup worker could not be located beside the builder module for bin script bundling. The @hyperfrontend/builder package appears incomplete, or @swc-node/register is missing for source-mode bootstrap.');
695
741
  }
696
742
  return invocation;
697
743
  };
@@ -732,7 +778,7 @@ const buildJsBin = async (bin, ctx) => {
732
778
  const formats = normalizeFormats(bin.format);
733
779
  const binDir = join$1(ctx.outputPath, 'bin');
734
780
  ensureDir(binDir);
735
- const worker = resolveWorkerOrThrow(ctx.workspaceRoot);
781
+ const worker = resolveWorkerOrThrow();
736
782
  const outputs = [];
737
783
  for (const format of formats) {
738
784
  const descriptor = toBinBuildDescriptor(bin, ctx, format, formats, '');
@@ -1129,43 +1175,25 @@ const readReport = (reportPath, job) => {
1129
1175
  const data = parse(readFileSync(reportPath, 'utf8'));
1130
1176
  return { job, outputSize: data.outputSize, endHeapMB: data.endHeapMB, endRssMB: data.endRssMB, durationMs: data.durationMs };
1131
1177
  };
1132
- const SWC_NODE_REGISTER = '@swc-node/register';
1133
- const swcNodeAvailable = (workspaceRoot) => existsSync(join$1(workspaceRoot, 'node_modules', '@swc-node', 'register', 'index.js'));
1134
1178
  /**
1135
- * Default worker-path resolution: prefers the built-and-published artifact, falls
1136
- * back to the workspace dist path, and finally to the in-source TypeScript file
1137
- * via `@swc-node/register` (bootstrap case where builder is building itself for
1138
- * the first time and the dist worker doesn't exist yet).
1139
- *
1140
- * Looks at, in order:
1141
- * 1. `<workspaceRoot>/dist/libs/builder/bundle/dependencies/worker/index.cjs.js`
1142
- * 2. `<workspaceRoot>/node_modules/@hyperfrontend/builder/bundle/dependencies/worker/index.cjs.js`
1143
- * 3. `<workspaceRoot>/libs/builder/src/bundle/dependencies/worker/index.ts` (with `--require \@swc-node/register`)
1144
- *
1145
- * @param workspaceRoot - Absolute workspace root.
1146
- * @returns Worker invocation descriptor, or `undefined` if no candidate exists.
1147
- *
1148
- * @example Locating the worker for an in-workspace consumer
1179
+ * Resolves the dependency pre-pass worker by self-locating it beside the running
1180
+ * builder module: ascends from the module's own directory to the builder package
1181
+ * root and returns the worker at `bundle/dependencies/worker`. This works whether
1182
+ * the builder runs from its built dist, an installed `node_modules` copy, or
1183
+ * melded into a host bundle under `_dependencies/`. The compiled `index.cjs.js`
1184
+ * is preferred; an `index.ts` sibling resolves with the `@swc-node/register`
1185
+ * loader for source-mode bootstrap.
1186
+ *
1187
+ * @param startDir - Directory to begin the ascent from. Defaults to the running module's directory; pass an explicit value to resolve from another anchor or under test.
1188
+ * @returns Worker invocation descriptor, or `undefined` if no worker is found under any ancestor.
1189
+ *
1190
+ * @example Locating the worker beside the builder
1149
1191
  * ```typescript
1150
- * const invocation = resolveDefaultWorkerPath('/abs/repo')
1192
+ * const invocation = resolveDefaultWorkerPath()
1151
1193
  * if (!invocation) throw new Error('builder worker artifact not found')
1152
1194
  * ```
1153
1195
  */
1154
- const resolveDefaultWorkerPath = (workspaceRoot) => {
1155
- const distCandidates = [
1156
- join$1(workspaceRoot, 'dist', 'libs', 'builder', 'bundle', 'dependencies', 'worker', 'index.cjs.js'),
1157
- join$1(workspaceRoot, 'node_modules', '@hyperfrontend', 'builder', 'bundle', 'dependencies', 'worker', 'index.cjs.js'),
1158
- ];
1159
- for (const path of distCandidates) {
1160
- if (existsSync(path))
1161
- return { path, execArgv: [] };
1162
- }
1163
- const sourcePath = join$1(workspaceRoot, 'libs', 'builder', 'src', 'bundle', 'dependencies', 'worker', 'index.ts');
1164
- if (existsSync(sourcePath) && swcNodeAvailable(workspaceRoot)) {
1165
- return { path: sourcePath, execArgv: ['--require', SWC_NODE_REGISTER] };
1166
- }
1167
- return undefined;
1168
- };
1196
+ const resolveDefaultWorkerPath = (startDir) => ascendForWorker(['bundle', 'dependencies', 'worker'], startDir);
1169
1197
  /**
1170
1198
  * Sequentially runs the supplied pre-pass jobs by forking a fresh Node child
1171
1199
  * per invocation. Strict sequential execution is mandatory — concurrent
@@ -1294,9 +1322,9 @@ const buildJobs$1 = (entries, context) => {
1294
1322
  const runDtsPerEntry = async (context, monitor) => {
1295
1323
  if (context.bundledDeps.length === 0 && context.workspaceBundledDeps.length === 0)
1296
1324
  return;
1297
- const invocation = resolveDefaultWorkerPath(context.workspaceRoot);
1325
+ const invocation = resolveDefaultWorkerPath();
1298
1326
  if (!invocation) {
1299
- throw createError('bundleAllDeps is enabled but the pre-pass worker artifact was not found for the per-entry d.ts pass.');
1327
+ throw createError('bundleAllDeps is enabled but the pre-pass worker could not be located beside the builder module for the per-entry d.ts pass.');
1300
1328
  }
1301
1329
  const jobs = buildJobs$1(context.entryPointDiscovery.entryPoints, context);
1302
1330
  if (jobs.length === 0) {
@@ -1479,9 +1507,9 @@ const buildWorkspaceJobs = (context, npmDeps) => {
1479
1507
  const runDtsPrePass = async (context, monitor) => {
1480
1508
  if (context.bundledDeps.length === 0 && context.workspaceBundledDeps.length === 0)
1481
1509
  return;
1482
- const invocation = resolveDefaultWorkerPath(context.workspaceRoot);
1510
+ const invocation = resolveDefaultWorkerPath();
1483
1511
  if (!invocation) {
1484
- throw createError('bundleAllDeps is enabled but the pre-pass worker artifact was not found for the d.ts pre-pass.');
1512
+ throw createError('bundleAllDeps is enabled but the pre-pass worker could not be located beside the builder module for the d.ts pre-pass.');
1485
1513
  }
1486
1514
  const npmJobs = buildJobs(context.bundledDeps, context);
1487
1515
  const workspaceJobs = buildWorkspaceJobs(context, context.bundledDeps);
@@ -4247,25 +4275,25 @@ const buildWorkspaceJsPrePassJobs = (npmDeps, formats, context) => {
4247
4275
  }
4248
4276
  return jobs;
4249
4277
  };
4250
- const resolvePrePassWorkerOrThrow = (workspaceRoot) => {
4251
- const invocation = resolveDefaultWorkerPath(workspaceRoot);
4278
+ const resolvePrePassWorkerOrThrow = () => {
4279
+ const invocation = resolveDefaultWorkerPath();
4252
4280
  if (!invocation) {
4253
- throw createError('bundleAllDeps is enabled but the pre-pass worker could not be resolved. Build @hyperfrontend/builder once with bundleAllDeps disabled, or ensure @swc-node/register is installed for source-mode bootstrap.');
4281
+ throw createError('bundleAllDeps is enabled but the pre-pass worker could not be located beside the builder module. The @hyperfrontend/builder package appears incomplete, or @swc-node/register is missing for source-mode bootstrap.');
4254
4282
  }
4255
4283
  return invocation;
4256
4284
  };
4257
- const resolveRollupWorkerOrThrow = (workspaceRoot) => {
4258
- const invocation = resolveDefaultRollupWorkerPath(workspaceRoot);
4285
+ const resolveRollupWorkerOrThrow = () => {
4286
+ const invocation = resolveDefaultRollupWorkerPath();
4259
4287
  if (!invocation) {
4260
- throw createError('rollup worker could not be resolved. Build @hyperfrontend/builder at least once before invoking the bundle phase, or ensure @swc-node/register is installed for source-mode bootstrap.');
4288
+ throw createError('rollup worker could not be located beside the builder module. The @hyperfrontend/builder package appears incomplete, or @swc-node/register is missing for source-mode bootstrap.');
4261
4289
  }
4262
4290
  return invocation;
4263
4291
  };
4264
- const createLazyDispatchResolver = (workspaceRoot) => {
4292
+ const createLazyDispatchResolver = () => {
4265
4293
  let cached = null;
4266
4294
  return () => {
4267
4295
  if (!cached) {
4268
- const invocation = resolveRollupWorkerOrThrow(workspaceRoot);
4296
+ const invocation = resolveRollupWorkerOrThrow();
4269
4297
  cached = { workerPath: invocation.path, execArgv: invocation.execArgv };
4270
4298
  }
4271
4299
  return cached;
@@ -4359,7 +4387,7 @@ const runBundlePhase = async (context, config, monitor) => {
4359
4387
  const outputs = { esm: [], cjs: [], iife: [], umd: [] };
4360
4388
  const requestedPrePassFormats = collectFormatsRequestingPrePass(config);
4361
4389
  if (requestedPrePassFormats.length > 0 && (context.bundledDeps.length > 0 || context.workspaceBundledDeps.length > 0)) {
4362
- const invocation = resolvePrePassWorkerOrThrow(context.workspaceRoot);
4390
+ const invocation = resolvePrePassWorkerOrThrow();
4363
4391
  const npmJobs = buildJsPrePassJobs(context.bundledDeps, requestedPrePassFormats, context);
4364
4392
  const workspaceJobs = buildWorkspaceJsPrePassJobs(context.bundledDeps, requestedPrePassFormats, context);
4365
4393
  const jobs = [...npmJobs, ...workspaceJobs];
@@ -4368,7 +4396,7 @@ const runBundlePhase = async (context, config, monitor) => {
4368
4396
  await runPrePass(jobs, { workerPath: invocation.path, execArgv: invocation.execArgv, monitor });
4369
4397
  monitor?.check('bundle:dependencies:prepass:end');
4370
4398
  }
4371
- const resolveDispatch = createLazyDispatchResolver(context.workspaceRoot);
4399
+ const resolveDispatch = createLazyDispatchResolver();
4372
4400
  await runEsmFormats(config, context, outputs, resolveDispatch, monitor);
4373
4401
  await recover();
4374
4402
  monitor?.check('bundle:esm:end:post-recover');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperfrontend/builder",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Composable, vendor-neutral build toolkit for TypeScript libraries, JS bins, and Node SEA native binaries.",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -121,9 +121,35 @@
121
121
  },
122
122
  "keywords": [
123
123
  "builder",
124
+ "build",
125
+ "build-tool",
126
+ "build-toolkit",
127
+ "bundler",
128
+ "bundling",
129
+ "library",
130
+ "npm-package",
131
+ "esm",
132
+ "cjs",
133
+ "umd",
134
+ "iife",
135
+ "dual-package",
136
+ "tree-shaking",
137
+ "tree-shakeable",
138
+ "dts",
139
+ "declaration-files",
140
+ "bin",
141
+ "cli",
142
+ "sea",
143
+ "single-executable-application",
144
+ "native-binary",
145
+ "node",
146
+ "isomorphic",
147
+ "vendor-neutral",
148
+ "vendor-agnostic",
149
+ "zero-config",
150
+ "monorepo",
124
151
  "hyperfrontend",
125
- "typescript",
126
- "isomorphic"
152
+ "typescript"
127
153
  ],
128
154
  "funding": {
129
155
  "type": "github",
@@ -288,6 +314,8 @@
288
314
  "bundle/rollup/worker/types.d.ts.map",
289
315
  "bundle/run-bundle-phase.d.ts",
290
316
  "bundle/run-bundle-phase.d.ts.map",
317
+ "bundle/worker-locator.d.ts",
318
+ "bundle/worker-locator.d.ts.map",
291
319
  "clean-output.d.ts",
292
320
  "clean-output.d.ts.map",
293
321
  "memory/monitor.d.ts",