@nimbus-sh/worker 0.12.0 → 0.13.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.
Files changed (198) hide show
  1. package/dist/esbuild-cli-artifact.generated.d.ts +1 -1
  2. package/dist/esbuild-cli-artifact.generated.js +4 -4
  3. package/dist/esbuild-wasm-bundle.generated.d.ts +11 -10
  4. package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -1
  5. package/dist/esbuild-wasm-bundle.generated.js +11 -10
  6. package/dist/facets/build-facet.d.ts +53 -0
  7. package/dist/facets/build-facet.d.ts.map +1 -0
  8. package/dist/facets/build-facet.js +346 -0
  9. package/dist/facets/cirrus-real.d.ts +3 -0
  10. package/dist/facets/cirrus-real.d.ts.map +1 -1
  11. package/dist/facets/cirrus-real.js +1 -2
  12. package/dist/facets/compose.d.ts +1 -0
  13. package/dist/facets/compose.d.ts.map +1 -1
  14. package/dist/facets/compose.js +3 -0
  15. package/dist/facets/data-plan.d.ts +14 -30
  16. package/dist/facets/data-plan.d.ts.map +1 -1
  17. package/dist/facets/data-plan.js +153 -13
  18. package/dist/facets/dev-stylesheet.d.ts +27 -0
  19. package/dist/facets/dev-stylesheet.d.ts.map +1 -0
  20. package/dist/facets/dev-stylesheet.js +65 -0
  21. package/dist/facets/esbuild-transform.d.ts +23 -18
  22. package/dist/facets/esbuild-transform.d.ts.map +1 -1
  23. package/dist/facets/esbuild-transform.js +63 -109
  24. package/dist/facets/manager.d.ts +49 -9
  25. package/dist/facets/manager.d.ts.map +1 -1
  26. package/dist/facets/manager.js +238 -69
  27. package/dist/facets/oxc-transform.d.ts +29 -0
  28. package/dist/facets/oxc-transform.d.ts.map +1 -0
  29. package/dist/facets/oxc-transform.js +198 -0
  30. package/dist/facets/prebundle-pool.d.ts +23 -0
  31. package/dist/facets/prebundle-pool.d.ts.map +1 -0
  32. package/dist/facets/prebundle-pool.js +55 -0
  33. package/dist/facets/process.d.ts +13 -6
  34. package/dist/facets/process.d.ts.map +1 -1
  35. package/dist/facets/process.js +37 -31
  36. package/dist/facets/transform-store.d.ts +4 -4
  37. package/dist/facets/transform-store.js +4 -4
  38. package/dist/facets/vite-dev-server.d.ts +89 -12
  39. package/dist/facets/vite-dev-server.d.ts.map +1 -1
  40. package/dist/facets/vite-dev-server.js +66 -43
  41. package/dist/hosted/commands.d.ts.map +1 -1
  42. package/dist/hosted/commands.js +20 -4
  43. package/dist/hosted/runtime.d.ts.map +1 -1
  44. package/dist/hosted/runtime.js +7 -2
  45. package/dist/hosted/services.d.ts +3 -3
  46. package/dist/hosted/services.d.ts.map +1 -1
  47. package/dist/hosted/services.js +102 -95
  48. package/dist/hosted/session.d.ts +1 -0
  49. package/dist/hosted/session.d.ts.map +1 -1
  50. package/dist/loaders/generated-workers.d.ts +3 -0
  51. package/dist/loaders/generated-workers.d.ts.map +1 -1
  52. package/dist/loaders/generated-workers.js +3 -0
  53. package/dist/napi-wasm-artifacts.generated.js +2 -2
  54. package/dist/node-shims-artifact.generated.d.ts +14 -1
  55. package/dist/node-shims-artifact.generated.d.ts.map +1 -1
  56. package/dist/node-shims-artifact.generated.js +23 -10
  57. package/dist/npm/bin-links.d.ts +7 -4
  58. package/dist/npm/bin-links.d.ts.map +1 -1
  59. package/dist/npm/bin-links.js +14 -55
  60. package/dist/npm/cache.d.ts +6 -0
  61. package/dist/npm/cache.d.ts.map +1 -1
  62. package/dist/npm/cache.js +26 -4
  63. package/dist/npm/installer.d.ts +1 -1
  64. package/dist/npm/installer.d.ts.map +1 -1
  65. package/dist/npm/installer.js +26 -52
  66. package/dist/npm/pre-bundle-facet.d.ts +15 -117
  67. package/dist/npm/pre-bundle-facet.d.ts.map +1 -1
  68. package/dist/npm/pre-bundle-facet.js +13 -511
  69. package/dist/oxc-facet-artifact.generated.d.ts +18 -0
  70. package/dist/oxc-facet-artifact.generated.d.ts.map +1 -0
  71. package/dist/oxc-facet-artifact.generated.js +17 -0
  72. package/dist/oxc-wasm-artifact.generated.d.ts +20 -0
  73. package/dist/oxc-wasm-artifact.generated.d.ts.map +1 -0
  74. package/dist/oxc-wasm-artifact.generated.js +19 -0
  75. package/dist/rolldown-facet-artifact.generated.d.ts +18 -0
  76. package/dist/rolldown-facet-artifact.generated.d.ts.map +1 -0
  77. package/dist/rolldown-facet-artifact.generated.js +17 -0
  78. package/dist/router/remote-api.d.ts.map +1 -1
  79. package/dist/router/remote-api.js +9 -0
  80. package/dist/runtime/bash-repl.d.ts.map +1 -1
  81. package/dist/runtime/bash-repl.js +1 -4
  82. package/dist/runtime/cpython-resident.d.ts.map +1 -1
  83. package/dist/runtime/cpython-resident.js +1 -0
  84. package/dist/runtime/esbuild-wasm-bytes.d.ts +25 -23
  85. package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -1
  86. package/dist/runtime/esbuild-wasm-bytes.js +30 -25
  87. package/dist/runtime/facet-loader-host.d.ts +5 -4
  88. package/dist/runtime/facet-loader-host.d.ts.map +1 -1
  89. package/dist/runtime/facet-loader-host.js +5 -4
  90. package/dist/runtime/node-runner.d.ts +2 -0
  91. package/dist/runtime/node-runner.d.ts.map +1 -1
  92. package/dist/runtime/node-runner.js +1 -0
  93. package/dist/runtime/node-shims-artifact.d.ts +8 -1
  94. package/dist/runtime/node-shims-artifact.d.ts.map +1 -1
  95. package/dist/runtime/node-shims-artifact.js +32 -4
  96. package/dist/runtime/node-shims.d.ts.map +1 -1
  97. package/dist/runtime/node-shims.js +145 -109
  98. package/dist/runtime/opencode-facet-runner.d.ts.map +1 -1
  99. package/dist/runtime/opencode-facet-runner.js +6 -2
  100. package/dist/runtime/oxc-wasm-bytes.d.ts +19 -0
  101. package/dist/runtime/oxc-wasm-bytes.d.ts.map +1 -0
  102. package/dist/runtime/oxc-wasm-bytes.js +39 -0
  103. package/dist/runtime/package-manager.js +1 -1
  104. package/dist/runtime/process-logs-api.d.ts.map +1 -1
  105. package/dist/runtime/process-logs-api.js +2 -0
  106. package/dist/runtime/project-fs.d.ts +8 -1
  107. package/dist/runtime/project-fs.d.ts.map +1 -1
  108. package/dist/runtime/project-fs.js +15 -1
  109. package/dist/runtime/python-repl.d.ts +40 -1
  110. package/dist/runtime/python-repl.d.ts.map +1 -1
  111. package/dist/runtime/python-repl.js +19 -11
  112. package/dist/runtime/ruby-repl.d.ts +38 -0
  113. package/dist/runtime/ruby-repl.d.ts.map +1 -1
  114. package/dist/runtime/ruby-repl.js +24 -5
  115. package/dist/runtime/ruby-resident.d.ts.map +1 -1
  116. package/dist/runtime/ruby-resident.js +2 -0
  117. package/dist/session/nimbus-session.d.ts +13 -8
  118. package/dist/session/nimbus-session.d.ts.map +1 -1
  119. package/dist/session/nimbus-session.js +11 -5
  120. package/dist/session/programmatic.d.ts +25 -30
  121. package/dist/session/programmatic.d.ts.map +1 -1
  122. package/dist/session/programmatic.js +65 -93
  123. package/dist/session/routes.d.ts.map +1 -1
  124. package/dist/session/routes.js +23 -7
  125. package/dist/session/rpc.d.ts +16 -6
  126. package/dist/session/rpc.d.ts.map +1 -1
  127. package/dist/session/rpc.js +53 -13
  128. package/dist/session/start-real-vite.d.ts +24 -9
  129. package/dist/session/start-real-vite.d.ts.map +1 -1
  130. package/dist/session/start-real-vite.js +40 -4
  131. package/dist/session/supervisor-op.d.ts +14 -0
  132. package/dist/session/supervisor-op.d.ts.map +1 -1
  133. package/dist/session/supervisor-op.js +49 -0
  134. package/dist/session/supervisor-rpc.d.ts +11 -0
  135. package/dist/session/supervisor-rpc.d.ts.map +1 -1
  136. package/dist/session/supervisor-rpc.js +18 -0
  137. package/dist/session/vite-command.d.ts.map +1 -1
  138. package/dist/session/vite-command.js +23 -19
  139. package/dist/session/ws-relay.d.ts.map +1 -1
  140. package/dist/session/ws-relay.js +13 -1
  141. package/dist/shell/npm-bin-entrypoints.d.ts +3 -1
  142. package/dist/shell/npm-bin-entrypoints.d.ts.map +1 -1
  143. package/dist/shell/npm-bin-entrypoints.js +53 -25
  144. package/dist/vfs/facet-resident-store.d.ts.map +1 -1
  145. package/dist/vfs/facet-resident-store.js +11 -5
  146. package/dist/wrangler/nimbus-wrangler.d.ts +8 -0
  147. package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -1
  148. package/dist/wrangler/nimbus-wrangler.js +54 -57
  149. package/package.json +6 -4
  150. package/public/_assets/esbuild-0.24.2.wasm +0 -0
  151. package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/napi-wasm-loader.mjs +4 -4
  152. package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/provenance.json +2 -2
  153. package/public/_assets/oxc/nimbus-oxc-1aa8c4c7057c6c28.provenance.json +72 -0
  154. package/public/_assets/oxc/nimbus-oxc-1aa8c4c7057c6c28.wasm +0 -0
  155. package/public/_assets/runtime/esbuild-cli-f13e6a112b03ac07.js +1143 -0
  156. package/public/_assets/runtime/js-interpreter-3c37c48024f0f651.js +23 -0
  157. package/public/_assets/runtime/js-interpreter-ops-2f4dfec6798e70fc.js +290 -0
  158. package/public/_assets/runtime/js-interpreter-primordials-e620a61b7e9800fa.js +1 -0
  159. package/public/_assets/runtime/{node-shims-f92f16c7d7c532e9.js → node-shims-e3adc4576da31e6e.js} +651 -103
  160. package/public/_assets/runtime/{esbuild-cli-b7aecffd4c6a36fe.js → oxc-facet-fd86fefcdf16bf9c.js} +217 -1047
  161. package/public/_assets/runtime/{resident-store-92386265e8b306dc.js → resident-store-009f39539ac989fc.js} +11 -5
  162. package/public/_assets/runtime/rolldown-facet-09983434e2dbe93e.js +15165 -0
  163. package/public/_assets/runtime/{vfs-write-ledger-d33ee0034446c3e0.js → vfs-write-ledger-9e9594591425a9b8.js} +4 -1
  164. package/scripts/acorn-primordials.mjs +637 -0
  165. package/scripts/bundle-esbuild-wasm.mjs +42 -50
  166. package/scripts/bundle-facet-workers.mjs +247 -18
  167. package/scripts/bundle-node-shims.mjs +29 -2
  168. package/scripts/bundle-oxc-wasm.mjs +105 -0
  169. package/scripts/interpreter-bundle.mjs +105 -0
  170. package/scripts/napi-wasm/build.mjs +4 -1
  171. package/scripts/napi-wasm/loader/napi-wasm-loader.ts +38 -3
  172. package/scripts/oxc-wasm/Cargo.lock +1246 -0
  173. package/scripts/oxc-wasm/Cargo.toml +30 -0
  174. package/scripts/oxc-wasm/build.mjs +249 -0
  175. package/scripts/oxc-wasm/examples/memory.rs +51 -0
  176. package/scripts/oxc-wasm/examples/transform.rs +20 -0
  177. package/scripts/oxc-wasm/inputs.mjs +32 -0
  178. package/scripts/oxc-wasm/rust-toolchain.toml +5 -0
  179. package/scripts/oxc-wasm/src/abi.rs +136 -0
  180. package/scripts/oxc-wasm/src/diagnostics.rs +49 -0
  181. package/scripts/oxc-wasm/src/helpers.rs +139 -0
  182. package/scripts/oxc-wasm/src/lib.rs +247 -0
  183. package/scripts/oxc-wasm/src/module.rs +978 -0
  184. package/scripts/oxc-wasm/src/names.rs +175 -0
  185. package/scripts/oxc-wasm/src/options.rs +154 -0
  186. package/scripts/parser-audit.mjs +492 -0
  187. package/scripts/rolldown-facet/entry.mjs +21 -0
  188. package/scripts/rolldown-facet/shims.mjs +64 -0
  189. package/dist/facets/esbuild-bundle-pool.d.ts +0 -43
  190. package/dist/facets/esbuild-bundle-pool.d.ts.map +0 -1
  191. package/dist/facets/esbuild-bundle-pool.js +0 -80
  192. package/dist/loaders/pre-bundle-preamble.d.ts +0 -44
  193. package/dist/loaders/pre-bundle-preamble.d.ts.map +0 -1
  194. package/dist/loaders/pre-bundle-preamble.js +0 -116
  195. package/dist/runtime/host-wasm.d.ts +0 -8
  196. package/dist/runtime/host-wasm.d.ts.map +0 -1
  197. package/dist/runtime/host-wasm.js +0 -33
  198. /package/public/_assets/napi-wasm/loader/{99efae93dd1dcc2b → ab7e57fe9e8750c2}/wasi-trampoline.wasm +0 -0
@@ -1,30 +1,4 @@
1
- /**
2
- * Which file contents a resident node process holds from its first
3
- * instruction, besides its module map.
4
- *
5
- * A synchronous read cannot wait for bytes, so whatever a process reads
6
- * synchronously has to be in its facet before it runs; the namespace (every
7
- * name and stat) is always there, content is not. This decides content by
8
- * rule, from the namespace and the module closure, without reading file
9
- * contents except a few package.json files:
10
- *
11
- * package-json every package.json
12
- * project the working tree, minus dependency, VCS and build-cache dirs
13
- * convention config and lockfile names in the working dir and above it
14
- * package-data non-code files under 256 KiB in every package the closure uses
15
- * home $HOME's dot entries (tool config, skills), minus caches
16
- * typescript when the closure has typescript: its lib .d.ts, @types/**,
17
- * and the declaration files of the packages @types depends on
18
- * static what the closure's own code names by a foldable path
19
- * (static-fs-refs.ts), resolved against the namespace:
20
- * under 256 KiB, or any size when the code reads it with
21
- * readFileSync (or a read-only openSync) by that path,
22
- * through any symlinks on it
23
- * learned paths earlier launches of the same package versions missed
24
- *
25
- * Code the closure loads is in the module map already; the store adopts it,
26
- * so it is readable as data too.
27
- */
1
+ import type { RuntimeFsBridge } from '@nimbus-sh/core/runtime/os-contracts.js';
28
2
  import type { StaticFsRefs } from '@nimbus-sh/core/runtime/static-fs-refs.js';
29
3
  export interface DataPlanEntry {
30
4
  path: string;
@@ -40,8 +14,12 @@ export interface DataPlanSource {
40
14
  }>;
41
15
  /** A file's text, or null when it cannot be read. */
42
16
  readText(path: string): Promise<string | null>;
43
- /** A symlink's target as stored, or null when the path is not a symlink. */
44
- readlink(path: string): Promise<string | null>;
17
+ /**
18
+ * Where the symlink at a path leads, as the namespace follows it (its
19
+ * stored target, re-rooted on a mount that reads its links from its own
20
+ * root: RuntimeFsBridge.linkLeadsTo), or null when the path is not a symlink.
21
+ */
22
+ linkTarget(path: string): Promise<string | null>;
45
23
  /** What is at a path, following symlinks, or null. */
46
24
  stat(path: string): Promise<{
47
25
  kind: string;
@@ -59,7 +37,7 @@ export interface DataPlanInput {
59
37
  /** Called with the bytes of each listed page, to pace a long walk. */
60
38
  spend?: (units: number) => Promise<void>;
61
39
  }
62
- export type DataPlanRule = 'package-json' | 'project' | 'convention' | 'package-data' | 'home' | 'typescript' | 'static' | 'learned';
40
+ export type DataPlanRule = 'package-json' | 'project' | 'convention' | 'package-data' | 'home' | 'typescript' | 'static' | 'entries' | 'learned';
63
41
  export interface DataPlan {
64
42
  paths: string[];
65
43
  bytes: number;
@@ -72,6 +50,12 @@ export interface DataPlan {
72
50
  export declare const PACKAGE_DATA_MAX_BYTES: number;
73
51
  /** The package directory a path sits in: up to the name after its last node_modules. */
74
52
  export declare function packageRootOf(k: string): string | null;
53
+ /**
54
+ * DataPlanSource.linkTarget over a process's bridge: where the symlink at
55
+ * `path` leads as the namespace follows it, or null when it is no link. A
56
+ * missing or unreadable component is not a link: the lookup ends there.
57
+ */
58
+ export declare function linkTargetOf(fs: Pick<RuntimeFsBridge, 'readlink' | 'linkLeadsTo'>, path: string): Promise<string | null>;
75
59
  /**
76
60
  * The plan for one launch. Walks the namespace once, in pages.
77
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"data-plan.d.ts","sourceRoot":"","sources":["../../src/facets/data-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhG,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACvF,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,sDAAsD;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,YAAY,GACpB,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9G,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAkCjD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtD;AA0GD;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiQnG"}
1
+ {"version":3,"file":"data-plan.d.ts","sourceRoot":"","sources":["../../src/facets/data-plan.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhG,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACvF,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,sDAAsD;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,YAAY,GACpB,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1H,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAkCjD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOtD;AAgID;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO9H;AA6BD;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+RnG"}
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Which file contents a resident node process holds from its first
3
+ * instruction, besides its module map.
4
+ *
5
+ * A synchronous read cannot wait for bytes, so whatever a process reads
6
+ * synchronously has to be in its facet before it runs; the namespace (every
7
+ * name and stat) is always there, content is not. This decides content by
8
+ * rule, from the namespace and the module closure, without reading file
9
+ * contents except a few package.json files:
10
+ *
11
+ * package-json every package.json
12
+ * project the working tree, minus dependency, VCS and build-cache dirs
13
+ * convention config and lockfile names in the working dir and above it
14
+ * package-data non-code files under 256 KiB in every package the closure uses
15
+ * home $HOME's dot entries (tool config, skills), minus caches
16
+ * typescript when the closure has typescript: its lib .d.ts, @types/**,
17
+ * and the declaration files of the packages @types depends on
18
+ * static what the closure's own code names by a foldable path
19
+ * (static-fs-refs.ts), resolved against the namespace:
20
+ * under 256 KiB, or any size when the code reads it with
21
+ * readFileSync (or a read-only openSync) by that path,
22
+ * through any symlinks on it
23
+ * entries the entry files the working dir's own dependencies name
24
+ * (exports under every condition, module, main, browser),
25
+ * under 256 KiB: a dev server reads them synchronously to
26
+ * pre-bundle what the app imports (Vite's optimizer reads
27
+ * each with readFileSync), and the process never loads them
28
+ * learned paths earlier launches of the same package versions missed
29
+ *
30
+ * Code the closure loads is in the module map already; the store adopts it,
31
+ * so it is readable as data too.
32
+ */
33
+ import { resolveFile } from '@nimbus-sh/core/runtime/require-resolution.js';
1
34
  /** Package data this size or larger is a bundle or a binary, not configuration. */
2
35
  export const PACKAGE_DATA_MAX_BYTES = 256 * 1024;
3
36
  const CODE_FILE = /\.(?:c|m)?(?:j|t)sx?$|\.map$|\.d\.(?:c|m)?ts$|\.node$|\.wasm$/;
@@ -74,6 +107,39 @@ function exportTarget(value) {
74
107
  }
75
108
  return null;
76
109
  }
110
+ /**
111
+ * Every file a package.json names as an entry, relative to its package:
112
+ * each subpath's `exports` targets under every condition (a dev server
113
+ * resolves for the browser, the process for node), and `module`, `main` and
114
+ * a string `browser`. Subpath patterns name no file until a specifier fills
115
+ * them, so they name none here.
116
+ */
117
+ function entryTargets(manifest) {
118
+ const out = new Set();
119
+ const leaves = (value) => {
120
+ if (typeof value === 'string') {
121
+ if (!value.includes('*'))
122
+ out.add(value);
123
+ return;
124
+ }
125
+ if (Array.isArray(value)) {
126
+ for (const v of value)
127
+ leaves(v);
128
+ return;
129
+ }
130
+ if (value && typeof value === 'object')
131
+ for (const v of Object.values(value))
132
+ leaves(v);
133
+ };
134
+ leaves(manifest.exports);
135
+ for (const field of ['module', 'main', 'browser']) {
136
+ if (typeof manifest[field] === 'string')
137
+ out.add(manifest[field]);
138
+ }
139
+ if (manifest.exports === undefined && manifest.main === undefined)
140
+ out.add('index.js');
141
+ return [...out];
142
+ }
77
143
  /** Map `./sub` through a package.json `exports` field; null when it does not export it. */
78
144
  function mapExports(exportsField, sub) {
79
145
  if (typeof exportsField !== 'object' || exportsField === null || Array.isArray(exportsField)) {
@@ -103,6 +169,21 @@ function mapExports(exportsField, sub) {
103
169
  return null;
104
170
  return t.replaceAll('*', sub.slice(best.prefix.length, sub.length - best.suffix.length));
105
171
  }
172
+ /** A directory's package.json, parsed once per plan; null when absent or not JSON. */
173
+ async function readManifest(source, dir, manifests) {
174
+ let manifest = manifests.get(dir);
175
+ if (manifest === undefined) {
176
+ const text = await source.readText(joinKey(dir, 'package.json'));
177
+ try {
178
+ manifest = text === null ? null : JSON.parse(text);
179
+ }
180
+ catch {
181
+ manifest = null;
182
+ }
183
+ manifests.set(dir, manifest);
184
+ }
185
+ return manifest;
186
+ }
106
187
  async function resolveSpecifier(source, fromDir, spec, manifests) {
107
188
  const parts = spec.split('/');
108
189
  const nameLen = spec.startsWith('@') ? 2 : 1;
@@ -113,17 +194,7 @@ async function resolveSpecifier(source, fromDir, spec, manifests) {
113
194
  for (let dir = fromDir;; dir = parentOf(dir)) {
114
195
  if (baseOf(dir) !== 'node_modules') {
115
196
  const pkgDir = joinKey(dir, 'node_modules/' + name);
116
- let manifest = manifests.get(pkgDir);
117
- if (manifest === undefined) {
118
- const text = await source.readText(pkgDir + '/package.json');
119
- try {
120
- manifest = text === null ? null : JSON.parse(text);
121
- }
122
- catch {
123
- manifest = null;
124
- }
125
- manifests.set(pkgDir, manifest);
126
- }
197
+ const manifest = await readManifest(source, pkgDir, manifests);
127
198
  if (manifest) {
128
199
  const mapped = manifest.exports !== undefined ? mapExports(manifest.exports, sub ? './' + sub : '.') : null;
129
200
  if (mapped)
@@ -135,6 +206,37 @@ async function resolveSpecifier(source, fromDir, spec, manifests) {
135
206
  return null;
136
207
  }
137
208
  }
209
+ /** The resolver's filesystem (require-resolution.ts) over the plan's source. */
210
+ function resolutionFs(source) {
211
+ return {
212
+ exists: async (path) => (await source.stat(path)) !== null,
213
+ isDirectory: async (path) => (await source.stat(path))?.kind === 'directory',
214
+ readFileString: async (path) => {
215
+ const text = await source.readText(path);
216
+ if (text === null)
217
+ throw Object.assign(new Error(`ENOENT: ${path}`), { code: 'ENOENT' });
218
+ return text;
219
+ },
220
+ stat: async (path) => {
221
+ const found = await source.stat(path);
222
+ return found === null ? null : { size: found.size };
223
+ },
224
+ };
225
+ }
226
+ /**
227
+ * DataPlanSource.linkTarget over a process's bridge: where the symlink at
228
+ * `path` leads as the namespace follows it, or null when it is no link. A
229
+ * missing or unreadable component is not a link: the lookup ends there.
230
+ */
231
+ export async function linkTargetOf(fs, path) {
232
+ try {
233
+ const text = await fs.readlink(path);
234
+ return text === null ? null : await fs.linkLeadsTo(path, text);
235
+ }
236
+ catch {
237
+ return null;
238
+ }
239
+ }
138
240
  /** Symlinks a lookup follows before it gives up (Linux's MAXSYMLINKS). */
139
241
  const MAX_LINK_HOPS = 40;
140
242
  /**
@@ -149,7 +251,7 @@ async function throughLinks(source, k) {
149
251
  let followed = false;
150
252
  for (let i = 1; i <= segs.length; i++) {
151
253
  const at = segs.slice(0, i).join('/');
152
- const target = await source.readlink('/' + at);
254
+ const target = await source.linkTarget('/' + at);
153
255
  if (target === null)
154
256
  continue;
155
257
  const base = target.startsWith('/') ? key(target) : joinKey(parentOf(at), target);
@@ -209,7 +311,7 @@ export async function planFacetData(source, input) {
209
311
  const learned = new Set();
210
312
  for (const p of input.learned ?? [])
211
313
  learned.add(key(p));
212
- const rules = Object.fromEntries(['package-json', 'project', 'convention', 'package-data', 'home', 'typescript', 'static', 'learned']
314
+ const rules = Object.fromEntries(['package-json', 'project', 'convention', 'package-data', 'home', 'typescript', 'static', 'entries', 'learned']
213
315
  .map((r) => [r, { files: 0, bytes: 0 }]));
214
316
  const paths = [];
215
317
  const planned = new Set();
@@ -448,6 +550,44 @@ export async function planFacetData(source, input) {
448
550
  take(entry, 'static');
449
551
  }
450
552
  }
553
+ // The working dir's dependencies' entries, each the file Node's resolver
554
+ // loads for it (require-resolution.ts, as the module-map walk resolves): a
555
+ // `main` without its extension, or naming a directory with a package.json
556
+ // of its own.
557
+ const files = resolutionFs(source);
558
+ const projectManifest = await readManifest(source, cwd, manifests);
559
+ const dependencies = new Set();
560
+ for (const field of ['dependencies', 'devDependencies', 'optionalDependencies']) {
561
+ const named = projectManifest?.[field];
562
+ if (named && typeof named === 'object')
563
+ for (const name of Object.keys(named))
564
+ dependencies.add(name);
565
+ }
566
+ for (const name of dependencies) {
567
+ let pkgDir = null;
568
+ for (let d = cwd; pkgDir === null; d = parentOf(d)) {
569
+ if (packageRoots.has(joinKey(d, 'node_modules/' + name)))
570
+ pkgDir = joinKey(d, 'node_modules/' + name);
571
+ if (d === '')
572
+ break;
573
+ }
574
+ if (pkgDir === null)
575
+ continue;
576
+ const manifest = await readManifest(source, pkgDir, manifests);
577
+ if (manifest === null)
578
+ continue;
579
+ for (const rel of entryTargets(manifest)) {
580
+ const resolved = await resolveFile(files, joinKey(pkgDir, rel));
581
+ const k = resolved === null ? null : await throughLinks(source, resolved);
582
+ if (k === null)
583
+ continue;
584
+ const found = await source.stat(k);
585
+ if (found === null || found.kind !== 'file')
586
+ continue;
587
+ if (found.size < PACKAGE_DATA_MAX_BYTES && !closure.has(k))
588
+ take({ path: k, kind: 'file', size: found.size }, 'entries');
589
+ }
590
+ }
451
591
  // The files behind symlinked directories the project or home rule reached.
452
592
  if (linkedDirs.length > 0) {
453
593
  after = null;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * dev-stylesheet.ts — a stylesheet as the Vite dev server serves it: its
3
+ * local `@import`s inlined by the CSS layer and rules `vite build` bundles
4
+ * with (core runtime/css-bundle.ts, on css-tree), so dev and build agree on
5
+ * what an import means: its conditions wrap what it imports (`@media`,
6
+ * `@supports`, `@layer`), a sheet imported twice keeps its last place,
7
+ * imports of remote sheets are hoisted, nested imports are followed.
8
+ *
9
+ * Unlike a build, nothing is emitted: each `url()` becomes its file's path
10
+ * from the project root (under the dev server's base), so a `url()` in an
11
+ * inlined sheet still names its file wherever the sheet that imported it is
12
+ * served. An `@import` that names no file in the project stays an `@import`
13
+ * for the browser to fetch and report.
14
+ */
15
+ /** The reads a stylesheet needs from the dev server's VFS. */
16
+ export interface DevStylesheetFs {
17
+ exists(path: string): boolean;
18
+ isDirectory(path: string): boolean;
19
+ readFileString(path: string): string;
20
+ }
21
+ /**
22
+ * The stylesheet at `vfsPath` (under the project's `root`), its imports
23
+ * inlined, its url()s rooted at `base`. A sheet the CSS layer refuses (an
24
+ * `@import` with no URL) is served as written, the reason in a comment first.
25
+ */
26
+ export declare function devStylesheet(fs: DevStylesheetFs, root: string, base: string, vfsPath: string): Promise<string>;
27
+ //# sourceMappingURL=dev-stylesheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-stylesheet.d.ts","sourceRoot":"","sources":["../../src/facets/dev-stylesheet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAeD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BrH"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * dev-stylesheet.ts — a stylesheet as the Vite dev server serves it: its
3
+ * local `@import`s inlined by the CSS layer and rules `vite build` bundles
4
+ * with (core runtime/css-bundle.ts, on css-tree), so dev and build agree on
5
+ * what an import means: its conditions wrap what it imports (`@media`,
6
+ * `@supports`, `@layer`), a sheet imported twice keeps its last place,
7
+ * imports of remote sheets are hoisted, nested imports are followed.
8
+ *
9
+ * Unlike a build, nothing is emitted: each `url()` becomes its file's path
10
+ * from the project root (under the dev server's base), so a `url()` in an
11
+ * inlined sheet still names its file wherever the sheet that imported it is
12
+ * served. An `@import` that names no file in the project stays an `@import`
13
+ * for the browser to fetch and report.
14
+ */
15
+ import { bundleCss, CssError } from '@nimbus-sh/core/runtime/css-bundle.js';
16
+ const dirOf = (path) => path.slice(0, path.lastIndexOf('/')) || '/';
17
+ /** `path` with `.` and `..` segments resolved, leading slash as given. */
18
+ function normalize(path) {
19
+ const out = [];
20
+ for (const segment of path.split('/')) {
21
+ if (segment === '' || segment === '.')
22
+ continue;
23
+ if (segment === '..')
24
+ out.pop();
25
+ else
26
+ out.push(segment);
27
+ }
28
+ return (path.startsWith('/') ? '/' : '') + out.join('/');
29
+ }
30
+ /**
31
+ * The stylesheet at `vfsPath` (under the project's `root`), its imports
32
+ * inlined, its url()s rooted at `base`. A sheet the CSS layer refuses (an
33
+ * `@import` with no URL) is served as written, the reason in a comment first.
34
+ */
35
+ export async function devStylesheet(fs, root, base, vfsPath) {
36
+ const source = fs.readFileString(vfsPath);
37
+ const rootedUrl = (path) => `${base}/${path.slice(root.length).replace(/^\/+/, '')}`;
38
+ const plugin = {
39
+ name: 'nimbus-dev-css',
40
+ async resolve({ path, resolveDir, kind }) {
41
+ const suffix = /[?#].*$/.exec(path)?.[0] ?? '';
42
+ const bare = path.slice(0, path.length - suffix.length);
43
+ const target = normalize(bare.startsWith('/') ? `${root}${bare}` : `${resolveDir}/${bare}`);
44
+ if (kind === 'url-token')
45
+ return { path: rootedUrl(target) + suffix, external: true };
46
+ if (!fs.exists(target) || fs.isDirectory(target))
47
+ return { path, external: true };
48
+ return { path: target, namespace: 'file' };
49
+ },
50
+ async load({ path }) {
51
+ return { contents: fs.readFileString(path), loader: 'css', resolveDir: dirOf(path) };
52
+ },
53
+ };
54
+ const unused = () => {
55
+ throw new Error('a dev stylesheet emits no assets');
56
+ };
57
+ try {
58
+ return (await bundleCss([{ namespace: 'file', path: vfsPath, resolveDir: dirOf(vfsPath), source }], plugin, { emit: unused, dataUrl: unused }, { minify: false })).css;
59
+ }
60
+ catch (error) {
61
+ if (error instanceof CssError)
62
+ return `/* ${error.message.replace(/\*\//g, '* /')} */\n${source}`;
63
+ throw error;
64
+ }
65
+ }
@@ -5,8 +5,8 @@ import type { NamespaceFs } from '@nimbus-sh/core/runtime/process-files.js';
5
5
  export declare const ESBUILD_FACET_WORKER_ID: string;
6
6
  /**
7
7
  * Slim Worker Loader module whose DO class owns the esbuild wasm.
8
- * `wasmModule` is the host Worker's own compiled esbuild module
9
- * (runtime/host-wasm.ts), shared with the facet rather than compiled again.
8
+ * `wasm` is the staged esbuild.wasm (fetchEsbuildWasmBytes), compiled by the
9
+ * facet's module map at its startup: no other isolate holds it.
10
10
  * `jsFnBody` is the staged adapter (fetchEsbuildJsFnBody), compiled into a
11
11
  * factory at startup, the one moment code may be generated from a string;
12
12
  * each call of the factory is a separate esbuild, and takes the `WebAssembly`
@@ -14,21 +14,18 @@ export declare const ESBUILD_FACET_WORKER_ID: string;
14
14
  * the global one unless given). `cliRunner` is the staged runner of the
15
15
  * `esbuild` command (fetchEsbuildCliRunner).
16
16
  */
17
- export declare function esbuildFacetWorkerCode(wasmModule: WebAssembly.Module, jsFnBody: string, cliRunner: string): WorkerCode;
17
+ export declare function esbuildFacetWorkerCode(wasm: ArrayBuffer, jsFnBody: string, cliRunner: string, transformRuntime: string): WorkerCode;
18
18
  /**
19
- * The transform host a Durable Object's esbuild runs its transforms on: its
20
- * esbuild facet, a slice per call. Transforms are pure, so a slice whose call
21
- * failed (the facet reset, the connection dropped) is sent once more, to a
22
- * freshly minted stub; an overloaded facet is not asked again. A slice that
23
- * still fails answers each of its requests with a transient error, which is
24
- * no verdict on the source, and the other slices keep their answers.
19
+ * Where the transform facet sends a module that ran Oxc out of native stack
20
+ * (oxcTransformHost): the esbuild facet, whose Go stacks grow. One call per
21
+ * batch; the caller answers a failed call as transient.
25
22
  */
26
- export declare function esbuildTransformHost(ctx: DurableObjectState, env: unknown): EsbuildTransformHost;
23
+ export declare function esbuildStackFallbackHost(ctx: DurableObjectState, env: unknown): EsbuildTransformHost;
27
24
  /**
28
- * The build host a Durable Object's esbuild runs its builds on: its esbuild
29
- * facet. The plugin, and with it every file read, stays with the caller.
25
+ * Where the build facet sends a build whose rolldown binding died under it
26
+ * (rolldownBuildHost): the esbuild facet, whose Go stacks grow.
30
27
  */
31
- export declare function esbuildBuildHost(ctx: DurableObjectState, env: unknown): EsbuildBuildHost;
28
+ export declare function esbuildBuildFallbackHost(ctx: DurableObjectState, env: unknown): EsbuildBuildHost;
32
29
  /**
33
30
  * Runs one `esbuild` command in the Durable Object's esbuild facet, as
34
31
  * process `pid`: its files go through a supervisor capability minted for that
@@ -37,11 +34,19 @@ export declare function esbuildBuildHost(ctx: DurableObjectState, env: unknown):
37
34
  */
38
35
  export declare function runEsbuildCli(ctx: DurableObjectState, env: unknown, pid: number, args: EsbuildCliArgs, output: EsbuildCliOutput): Promise<number>;
39
36
  /**
40
- * The esbuild a Durable Object's supervisor shares: its transforms and its
41
- * builds run in its esbuild facet, and build() reads `vfs` from here. The
42
- * facet's code (ESBUILD_FACET_WORKER_ID: the esbuild version, the facet body
43
- * and the staged CLI runner) is the host's identity, which the launch's
44
- * transform store keys its results by.
37
+ * What a transform from supervisorEsbuildService's host is a function of:
38
+ * the transform facet's code (OXC_FACET_WORKER_ID) and, for a module too deep
39
+ * for it, the esbuild facet's (ESBUILD_FACET_WORKER_ID, which carries the
40
+ * esbuild version). The launch's transform store keys results by it, so a new
41
+ * build of either engine misses every stored result.
42
+ */
43
+ export declare const TRANSFORM_HOST_ID: string;
44
+ /**
45
+ * The transforms and builds a Durable Object's supervisor shares: transforms
46
+ * run in its transform facet (oxc-transform.ts), builds in its build facet
47
+ * (build-facet.ts, rolldown), each with the esbuild facet for what its engine
48
+ * cannot finish, and build() reads `vfs` from here. TRANSFORM_HOST_ID is
49
+ * the host's identity, which the launch's transform store keys its results by.
45
50
  */
46
51
  export declare function supervisorEsbuildService(ctx: DurableObjectState, env: unknown, vfs: NamespaceFs): EsbuildService;
47
52
  //# sourceMappingURL=esbuild-transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-transform.d.ts","sourceRoot":"","sources":["../../src/facets/esbuild-transform.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAGd,KAAK,gBAAgB,EAIrB,KAAK,oBAAoB,EAG1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAU/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAqE5E,eAAO,MAAM,uBAAuB,QAAqG,CAAC;AAQ1I;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAoBtH;AA4ED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAkChG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAIxF;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,cAAc,CAMhH"}
1
+ {"version":3,"file":"esbuild-transform.d.ts","sourceRoot":"","sources":["../../src/facets/esbuild-transform.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAGd,KAAK,gBAAgB,EAIrB,KAAK,oBAAoB,EAG1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAQ/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAMpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAyD5E,eAAO,MAAM,uBAAuB,QAA2H,CAAC;AAQhK;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,UAAU,CAqBZ;AA0ED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAEpG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAEhG;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAsD,CAAC;AAErF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,cAAc,CAMhH"}