plgg-bundle 0.0.1 → 0.0.2

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 (185) hide show
  1. package/package.json +1 -4
  2. package/dist/Dev/fixtures/devPoc.spec.d.ts +0 -2
  3. package/dist/Dev/fixtures/devPoc.spec.d.ts.map +0 -1
  4. package/dist/Dev/fixtures/devPoc.spec.js +0 -145
  5. package/dist/Dev/fixtures/devPoc.spec.js.map +0 -1
  6. package/dist/Dev/model/Fetch.d.ts +0 -20
  7. package/dist/Dev/model/Fetch.d.ts.map +0 -1
  8. package/dist/Dev/model/Fetch.js +0 -8
  9. package/dist/Dev/model/Fetch.js.map +0 -1
  10. package/dist/Dev/model/ModuleGraph.d.ts +0 -27
  11. package/dist/Dev/model/ModuleGraph.d.ts.map +0 -1
  12. package/dist/Dev/model/ModuleGraph.js +0 -2
  13. package/dist/Dev/model/ModuleGraph.js.map +0 -1
  14. package/dist/Dev/model/Protocol.d.ts +0 -22
  15. package/dist/Dev/model/Protocol.d.ts.map +0 -1
  16. package/dist/Dev/model/Protocol.js +0 -31
  17. package/dist/Dev/model/Protocol.js.map +0 -1
  18. package/dist/Dev/node/devServer.d.ts +0 -21
  19. package/dist/Dev/node/devServer.d.ts.map +0 -1
  20. package/dist/Dev/node/devServer.js +0 -298
  21. package/dist/Dev/node/devServer.js.map +0 -1
  22. package/dist/Dev/node/httpAdapter.d.ts +0 -19
  23. package/dist/Dev/node/httpAdapter.d.ts.map +0 -1
  24. package/dist/Dev/node/httpAdapter.js +0 -76
  25. package/dist/Dev/node/httpAdapter.js.map +0 -1
  26. package/dist/Dev/node/scanGraph.d.ts +0 -21
  27. package/dist/Dev/node/scanGraph.d.ts.map +0 -1
  28. package/dist/Dev/node/scanGraph.js +0 -145
  29. package/dist/Dev/node/scanGraph.js.map +0 -1
  30. package/dist/Dev/node/watch.d.ts +0 -10
  31. package/dist/Dev/node/watch.d.ts.map +0 -1
  32. package/dist/Dev/node/watch.js +0 -44
  33. package/dist/Dev/node/watch.js.map +0 -1
  34. package/dist/Dev/usecase/allowedHost.d.ts +0 -16
  35. package/dist/Dev/usecase/allowedHost.d.ts.map +0 -1
  36. package/dist/Dev/usecase/allowedHost.js +0 -33
  37. package/dist/Dev/usecase/allowedHost.js.map +0 -1
  38. package/dist/Dev/usecase/allowedHost.spec.d.ts +0 -2
  39. package/dist/Dev/usecase/allowedHost.spec.d.ts.map +0 -1
  40. package/dist/Dev/usecase/allowedHost.spec.js +0 -13
  41. package/dist/Dev/usecase/allowedHost.spec.js.map +0 -1
  42. package/dist/Dev/usecase/buildGraph.d.ts +0 -12
  43. package/dist/Dev/usecase/buildGraph.d.ts.map +0 -1
  44. package/dist/Dev/usecase/buildGraph.js +0 -24
  45. package/dist/Dev/usecase/buildGraph.js.map +0 -1
  46. package/dist/Dev/usecase/buildGraph.spec.d.ts +0 -2
  47. package/dist/Dev/usecase/buildGraph.spec.d.ts.map +0 -1
  48. package/dist/Dev/usecase/buildGraph.spec.js +0 -16
  49. package/dist/Dev/usecase/buildGraph.spec.js.map +0 -1
  50. package/dist/Dev/usecase/decorateDevHtml.d.ts +0 -12
  51. package/dist/Dev/usecase/decorateDevHtml.d.ts.map +0 -1
  52. package/dist/Dev/usecase/decorateDevHtml.js +0 -15
  53. package/dist/Dev/usecase/decorateDevHtml.js.map +0 -1
  54. package/dist/Dev/usecase/decorateDevHtml.spec.d.ts +0 -2
  55. package/dist/Dev/usecase/decorateDevHtml.spec.d.ts.map +0 -1
  56. package/dist/Dev/usecase/decorateDevHtml.spec.js +0 -19
  57. package/dist/Dev/usecase/decorateDevHtml.spec.js.map +0 -1
  58. package/dist/Dev/usecase/invalidate.d.ts +0 -17
  59. package/dist/Dev/usecase/invalidate.d.ts.map +0 -1
  60. package/dist/Dev/usecase/invalidate.js +0 -57
  61. package/dist/Dev/usecase/invalidate.js.map +0 -1
  62. package/dist/Dev/usecase/invalidate.spec.d.ts +0 -2
  63. package/dist/Dev/usecase/invalidate.spec.d.ts.map +0 -1
  64. package/dist/Dev/usecase/invalidate.spec.js +0 -64
  65. package/dist/Dev/usecase/invalidate.spec.js.map +0 -1
  66. package/dist/Dev/usecase/parseImports.d.ts +0 -24
  67. package/dist/Dev/usecase/parseImports.d.ts.map +0 -1
  68. package/dist/Dev/usecase/parseImports.js +0 -40
  69. package/dist/Dev/usecase/parseImports.js.map +0 -1
  70. package/dist/Dev/usecase/parseImports.spec.d.ts +0 -2
  71. package/dist/Dev/usecase/parseImports.spec.d.ts.map +0 -1
  72. package/dist/Dev/usecase/parseImports.spec.js +0 -24
  73. package/dist/Dev/usecase/parseImports.spec.js.map +0 -1
  74. package/dist/Dev/usecase/reloadDecision.d.ts +0 -20
  75. package/dist/Dev/usecase/reloadDecision.d.ts.map +0 -1
  76. package/dist/Dev/usecase/reloadDecision.js +0 -52
  77. package/dist/Dev/usecase/reloadDecision.js.map +0 -1
  78. package/dist/Dev/usecase/reloadDecision.spec.d.ts +0 -2
  79. package/dist/Dev/usecase/reloadDecision.spec.d.ts.map +0 -1
  80. package/dist/Dev/usecase/reloadDecision.spec.js +0 -17
  81. package/dist/Dev/usecase/reloadDecision.spec.js.map +0 -1
  82. package/dist/domain/model/BundleConfig.d.ts +0 -136
  83. package/dist/domain/model/BundleConfig.d.ts.map +0 -1
  84. package/dist/domain/model/BundleConfig.js +0 -18
  85. package/dist/domain/model/BundleConfig.js.map +0 -1
  86. package/dist/domain/model/BundleConfig.spec.d.ts +0 -2
  87. package/dist/domain/model/BundleConfig.spec.d.ts.map +0 -1
  88. package/dist/domain/model/BundleConfig.spec.js +0 -8
  89. package/dist/domain/model/BundleConfig.spec.js.map +0 -1
  90. package/dist/domain/usecase/asBundleConfig.d.ts +0 -17
  91. package/dist/domain/usecase/asBundleConfig.d.ts.map +0 -1
  92. package/dist/domain/usecase/asBundleConfig.js +0 -179
  93. package/dist/domain/usecase/asBundleConfig.js.map +0 -1
  94. package/dist/domain/usecase/asBundleConfig.spec.d.ts +0 -2
  95. package/dist/domain/usecase/asBundleConfig.spec.d.ts.map +0 -1
  96. package/dist/domain/usecase/asBundleConfig.spec.js +0 -119
  97. package/dist/domain/usecase/asBundleConfig.spec.js.map +0 -1
  98. package/dist/domain/usecase/build.d.ts +0 -14
  99. package/dist/domain/usecase/build.d.ts.map +0 -1
  100. package/dist/domain/usecase/build.js +0 -177
  101. package/dist/domain/usecase/build.js.map +0 -1
  102. package/dist/domain/usecase/collectModules.d.ts +0 -53
  103. package/dist/domain/usecase/collectModules.d.ts.map +0 -1
  104. package/dist/domain/usecase/collectModules.js +0 -118
  105. package/dist/domain/usecase/collectModules.js.map +0 -1
  106. package/dist/domain/usecase/deriveExternal.d.ts +0 -25
  107. package/dist/domain/usecase/deriveExternal.d.ts.map +0 -1
  108. package/dist/domain/usecase/deriveExternal.js +0 -79
  109. package/dist/domain/usecase/deriveExternal.js.map +0 -1
  110. package/dist/domain/usecase/deriveExternal.spec.d.ts +0 -2
  111. package/dist/domain/usecase/deriveExternal.spec.d.ts.map +0 -1
  112. package/dist/domain/usecase/deriveExternal.spec.js +0 -56
  113. package/dist/domain/usecase/deriveExternal.spec.js.map +0 -1
  114. package/dist/domain/usecase/discoverWorkspace.d.ts +0 -27
  115. package/dist/domain/usecase/discoverWorkspace.d.ts.map +0 -1
  116. package/dist/domain/usecase/discoverWorkspace.js +0 -116
  117. package/dist/domain/usecase/discoverWorkspace.js.map +0 -1
  118. package/dist/domain/usecase/discoverWorkspace.spec.d.ts +0 -2
  119. package/dist/domain/usecase/discoverWorkspace.spec.d.ts.map +0 -1
  120. package/dist/domain/usecase/discoverWorkspace.spec.js +0 -23
  121. package/dist/domain/usecase/discoverWorkspace.spec.js.map +0 -1
  122. package/dist/domain/usecase/emitBundle.d.ts +0 -43
  123. package/dist/domain/usecase/emitBundle.d.ts.map +0 -1
  124. package/dist/domain/usecase/emitBundle.js +0 -157
  125. package/dist/domain/usecase/emitBundle.js.map +0 -1
  126. package/dist/domain/usecase/emitBundle.spec.d.ts +0 -2
  127. package/dist/domain/usecase/emitBundle.spec.d.ts.map +0 -1
  128. package/dist/domain/usecase/emitBundle.spec.js +0 -80
  129. package/dist/domain/usecase/emitBundle.spec.js.map +0 -1
  130. package/dist/domain/usecase/emitDts.d.ts +0 -32
  131. package/dist/domain/usecase/emitDts.d.ts.map +0 -1
  132. package/dist/domain/usecase/emitDts.js +0 -99
  133. package/dist/domain/usecase/emitDts.js.map +0 -1
  134. package/dist/domain/usecase/isExternal.d.ts +0 -12
  135. package/dist/domain/usecase/isExternal.d.ts.map +0 -1
  136. package/dist/domain/usecase/isExternal.js +0 -16
  137. package/dist/domain/usecase/isExternal.js.map +0 -1
  138. package/dist/domain/usecase/isExternal.spec.d.ts +0 -2
  139. package/dist/domain/usecase/isExternal.spec.d.ts.map +0 -1
  140. package/dist/domain/usecase/isExternal.spec.js +0 -16
  141. package/dist/domain/usecase/isExternal.spec.js.map +0 -1
  142. package/dist/domain/usecase/resolveSpecifier.d.ts +0 -35
  143. package/dist/domain/usecase/resolveSpecifier.d.ts.map +0 -1
  144. package/dist/domain/usecase/resolveSpecifier.js +0 -83
  145. package/dist/domain/usecase/resolveSpecifier.js.map +0 -1
  146. package/dist/domain/usecase/resolveSpecifier.spec.d.ts +0 -2
  147. package/dist/domain/usecase/resolveSpecifier.spec.d.ts.map +0 -1
  148. package/dist/domain/usecase/resolveSpecifier.spec.js +0 -44
  149. package/dist/domain/usecase/resolveSpecifier.spec.js.map +0 -1
  150. package/dist/domain/usecase/resolveWorkspaceSpecifier.d.ts +0 -29
  151. package/dist/domain/usecase/resolveWorkspaceSpecifier.d.ts.map +0 -1
  152. package/dist/domain/usecase/resolveWorkspaceSpecifier.js +0 -89
  153. package/dist/domain/usecase/resolveWorkspaceSpecifier.js.map +0 -1
  154. package/dist/domain/usecase/resolveWorkspaceSpecifier.spec.d.ts +0 -2
  155. package/dist/domain/usecase/resolveWorkspaceSpecifier.spec.d.ts.map +0 -1
  156. package/dist/domain/usecase/resolveWorkspaceSpecifier.spec.js +0 -27
  157. package/dist/domain/usecase/resolveWorkspaceSpecifier.spec.js.map +0 -1
  158. package/dist/domain/usecase/rewriteDtsAliases.d.ts +0 -25
  159. package/dist/domain/usecase/rewriteDtsAliases.d.ts.map +0 -1
  160. package/dist/domain/usecase/rewriteDtsAliases.js +0 -71
  161. package/dist/domain/usecase/rewriteDtsAliases.js.map +0 -1
  162. package/dist/domain/usecase/rewriteDtsAliases.spec.d.ts +0 -2
  163. package/dist/domain/usecase/rewriteDtsAliases.spec.d.ts.map +0 -1
  164. package/dist/domain/usecase/rewriteDtsAliases.spec.js +0 -35
  165. package/dist/domain/usecase/rewriteDtsAliases.spec.js.map +0 -1
  166. package/dist/entrypoints/cli.d.ts +0 -2
  167. package/dist/entrypoints/cli.d.ts.map +0 -1
  168. package/dist/entrypoints/cli.js +0 -79
  169. package/dist/entrypoints/cli.js.map +0 -1
  170. package/dist/index.d.ts +0 -21
  171. package/dist/index.d.ts.map +0 -1
  172. package/dist/index.js +0 -28
  173. package/dist/index.js.map +0 -1
  174. package/dist/vendors/runner.d.ts +0 -20
  175. package/dist/vendors/runner.d.ts.map +0 -1
  176. package/dist/vendors/runner.js +0 -60
  177. package/dist/vendors/runner.js.map +0 -1
  178. package/dist/vendors/runner.spec.d.ts +0 -2
  179. package/dist/vendors/runner.spec.d.ts.map +0 -1
  180. package/dist/vendors/runner.spec.js +0 -20
  181. package/dist/vendors/runner.spec.js.map +0 -1
  182. package/dist/vendors/transpiler.d.ts +0 -19
  183. package/dist/vendors/transpiler.d.ts.map +0 -1
  184. package/dist/vendors/transpiler.js +0 -42
  185. package/dist/vendors/transpiler.js.map +0 -1
@@ -1,157 +0,0 @@
1
- import {} from "plgg-bundle/domain/model/BundleConfig";
2
- import {} from "plgg-bundle/domain/usecase/collectModules";
3
- /**
4
- * Render a resolved {@link Graph} into one bundle's
5
- * source text for the given {@link Format}, using an
6
- * in-house module-registry runtime: every module body
7
- * is wrapped in its own `(module, exports, require)`
8
- * closure keyed by id, and a cached `__require` links
9
- * them at runtime. This is collision-free by
10
- * construction (each module keeps its own scope), so it
11
- * needs none of rolldown's scope-hoisting/renaming and
12
- * stays pure JS.
13
- *
14
- * Externals (specifiers left out of the bundle —
15
- * `node:*`, sibling `plgg*` packages, …) are handled
16
- * per format:
17
- * - CJS: an un-rewritten `require("<external>")` in a
18
- * module body falls through the registry to the host
19
- * `require`.
20
- * - ESM: there is no host `require`, so the bundle emits
21
- * a real top-level `import * as __extN from
22
- * "<external>"` for each distinct external and the
23
- * registry routes `__require("<external>")` to that
24
- * namespace.
25
- */
26
- export const emitCjsBundle = (graph) => [
27
- `"use strict";`,
28
- runtime(graph, `return require(id);`),
29
- `module.exports = __require(${entryArg(graph)});`,
30
- ].join("\n");
31
- /**
32
- * ESM bundle. `exportNames` is the exact public surface
33
- * (the entry's enumerable export keys), supplied by the
34
- * orchestrator from the CJS bundle's runtime keys —
35
- * ESM cannot declare exports dynamically. Externals are
36
- * imported as namespaces at the top and resolved by the
37
- * registry; an id that is neither a bundled module nor a
38
- * declared external falls back to a native dynamic
39
- * `import(id)` (see {@link externalFallback}).
40
- */
41
- export const emitEsmBundle = (graph, exportNames) => {
42
- const externals = collectExternals(graph);
43
- return [
44
- externalImports(externals),
45
- externalTable(externals),
46
- runtime(graph, externalFallback()),
47
- `const __entry = __require(${entryArg(graph)});`,
48
- `export default __entry;`,
49
- namedExports(exportNames),
50
- ].join("\n");
51
- };
52
- /**
53
- * Dispatch on format for callers that hold the names
54
- * regardless.
55
- */
56
- export const emitBundle = (graph, format, exportNames) => format === "es"
57
- ? emitEsmBundle(graph, exportNames)
58
- : emitCjsBundle(graph);
59
- /**
60
- * The shared registry runtime: a module table plus a
61
- * caching `__require` that runs a module body once and
62
- * memoizes its `exports`. An id with no bundled module
63
- * runs `unknownBody` (the format-specific external
64
- * fallback).
65
- */
66
- const runtime = (graph, unknownBody) => [
67
- `const __modules = {`,
68
- graph.modules.map(moduleEntry).join(",\n"),
69
- `};`,
70
- `const __cache = {};`,
71
- `function __require(id) {`,
72
- ` if (id in __cache) return __cache[id].exports;`,
73
- ` const fn = __modules[id];`,
74
- ` if (!fn) { ${unknownBody} }`,
75
- ` const module = { exports: {} };`,
76
- ` __cache[id] = module;`,
77
- ` fn(module, module.exports, __require);`,
78
- ` return module.exports;`,
79
- `}`,
80
- ].join("\n");
81
- /**
82
- * The ESM fallback body for an id with no bundled
83
- * module: resolve it from the external namespace table
84
- * (interop: a CJS consumer reads named members off the
85
- * namespace; `default` carries the whole module), or
86
- * fall back to a native dynamic `import(id)`. Static
87
- * imports are always bundled or declared external, so
88
- * only a transpiled dynamic `import(x)` — emitted as
89
- * `Promise.resolve(x).then(s => __require(s))`, an
90
- * async context where the returned Promise flattens —
91
- * ever reaches the fallback; it lets bundled code load
92
- * runtime files (e.g. a user's config) the registry
93
- * cannot know. The CJS runtime keeps its host
94
- * `require(id)` fall-through instead: its unknown-id
95
- * branch is also reached by synchronous requires, where
96
- * a returned Promise would corrupt the module value.
97
- */
98
- const externalFallback = () => [
99
- `if (id in __externals) return __externals[id];`,
100
- `return import(id);`,
101
- ].join(" ");
102
- /**
103
- * Distinct external specifiers across the whole graph,
104
- * sorted for deterministic output.
105
- */
106
- const collectExternals = (graph) => [
107
- ...new Set(graph.modules.flatMap((m) => m.externals)),
108
- ].sort();
109
- /**
110
- * Top-level namespace imports, one per external, named
111
- * `__ext0`, `__ext1`, … in the externals' sorted order.
112
- */
113
- const externalImports = (externals) => externals
114
- .map((spec, i) => `import * as ${extVar(i)} from ${JSON.stringify(spec)};`)
115
- .join("\n");
116
- /**
117
- * The `__externals` lookup mapping each specifier to its
118
- * imported namespace var.
119
- */
120
- const externalTable = (externals) => [
121
- `const __externals = {`,
122
- externals
123
- .map((spec, i) => ` ${JSON.stringify(spec)}: ${extVar(i)}`)
124
- .join(",\n"),
125
- `};`,
126
- ].join("\n");
127
- /**
128
- * The namespace variable name for the i-th external.
129
- */
130
- const extVar = (i) => `__ext${i}`;
131
- /**
132
- * One module's registry entry: `"id": function (module,
133
- * exports, require) { <body> }`.
134
- */
135
- const moduleEntry = (m) => [
136
- `${JSON.stringify(m.id)}: `,
137
- `function (module, exports, require) {\n`,
138
- m.code,
139
- `\n}`,
140
- ].join("");
141
- /**
142
- * Static named re-exports of the entry namespace. Each
143
- * name is a valid identifier (a JS export name), so the
144
- * `export const` list is itself valid ESM.
145
- */
146
- const namedExports = (names) => names.length === 0
147
- ? ``
148
- : [
149
- `export const {`,
150
- names.map((n) => ` ${n}`).join(",\n"),
151
- `} = __entry;`,
152
- ].join("\n");
153
- /**
154
- * The JSON-quoted entry id used as `__require`'s arg.
155
- */
156
- const entryArg = (graph) => JSON.stringify(graph.entryId);
157
- //# sourceMappingURL=emitBundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitBundle.js","sourceRoot":"","sources":["../../../src/domain/usecase/emitBundle.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=emitBundle.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitBundle.spec.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/emitBundle.spec.ts"],"names":[],"mappings":""}
@@ -1,80 +0,0 @@
1
- import { test, check, all, toBe, } from "plgg-test";
2
- import { emitCjsBundle, emitEsmBundle, } from "plgg-bundle/domain/usecase/emitBundle";
3
- import {} from "plgg-bundle/domain/usecase/collectModules";
4
- const graph = {
5
- entryId: "index.ts",
6
- modules: [
7
- {
8
- id: "index.ts",
9
- code: 'exports.x = require("dep.ts").x;',
10
- externals: [],
11
- },
12
- {
13
- id: "dep.ts",
14
- code: "exports.x = 1;",
15
- externals: [],
16
- },
17
- ],
18
- };
19
- test("emitCjsBundle wires the registry and entry export", () => all([
20
- check(emitCjsBundle(graph).includes("function __require(id)"), toBe(true)),
21
- check(emitCjsBundle(graph).includes('module.exports = __require("index.ts")'), toBe(true)),
22
- check(emitCjsBundle(graph).includes('"dep.ts":'), toBe(true)),
23
- ]));
24
- test("emitEsmBundle emits static named exports", () => all([
25
- check(emitEsmBundle(graph, ["x"]).includes("export default __entry;"), toBe(true)),
26
- check(emitEsmBundle(graph, ["x"]).includes("} = __entry;"), toBe(true)),
27
- check(emitEsmBundle(graph, ["x"]).includes(" x"), toBe(true)),
28
- ]));
29
- test("the emitted CJS bundle actually runs", () => {
30
- // Evaluate the emitted CJS in a fresh module scope
31
- // and confirm the entry's export resolves through the
32
- // registry runtime.
33
- const code = emitCjsBundle(graph);
34
- const mod = {
35
- exports: {},
36
- };
37
- new Function("module", "exports", "require", code)(mod, mod.exports, () => ({}));
38
- return check(mod.exports.x, toBe(1));
39
- });
40
- // A graph whose entry keeps an un-bundled external
41
- // require (e.g. a node builtin).
42
- const externalGraph = {
43
- entryId: "index.ts",
44
- modules: [
45
- {
46
- id: "index.ts",
47
- code: 'exports.read = require("node:fs").readFileSync;',
48
- externals: ["node:fs"],
49
- },
50
- ],
51
- };
52
- test("emitEsmBundle imports externals and routes the registry to them", () => all([
53
- check(emitEsmBundle(externalGraph, [
54
- "read",
55
- ]).includes('import * as __ext0 from "node:fs";'), toBe(true)),
56
- check(emitEsmBundle(externalGraph, [
57
- "read",
58
- ]).includes('"node:fs": __ext0'), toBe(true)),
59
- check(emitEsmBundle(externalGraph, [
60
- "read",
61
- ]).includes("if (id in __externals) return __externals[id];"), toBe(true)),
62
- ]));
63
- test("emitEsmBundle falls back to native dynamic import for unresolved ids", () => all([
64
- // A runtime-only id (e.g. a config file path from a
65
- // transpiled dynamic import) resolves natively …
66
- check(emitEsmBundle(externalGraph, [
67
- "read",
68
- ]).includes("return import(id);"), toBe(true)),
69
- // … instead of throwing as a build mistake.
70
- check(emitEsmBundle(externalGraph, [
71
- "read",
72
- ]).includes("Cannot resolve external"), toBe(false)),
73
- ]));
74
- test("emitCjsBundle leaves externals to the host require", () => all([
75
- // No external import machinery in CJS …
76
- check(emitCjsBundle(externalGraph).includes("__externals"), toBe(false)),
77
- // … the un-rewritten require falls through to host.
78
- check(emitCjsBundle(externalGraph).includes("return require(id);"), toBe(true)),
79
- ]));
80
- //# sourceMappingURL=emitBundle.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitBundle.spec.js","sourceRoot":"","sources":["../../../src/domain/usecase/emitBundle.spec.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Emit the per-file `.d.ts` tree for a package — the
3
- * single declaration mode every package uses. Rides on
4
- * the project's own `tsc` in declaration-only mode (no
5
- * new dependency); a single rolled-up `index.d.ts` was
6
- * a vite-plugin-dts stylistic choice, not a correctness
7
- * requirement, so it is dropped (breaking-changes-OK)
8
- * to keep the bundler at zero new dependencies. Throws
9
- * on a tsc failure.
10
- *
11
- * `emitDeclarationOnly` guarantees no `.js`/`.js.map`
12
- * leaks into `dist` (the reproduction trap). The
13
- * synthesized config reuses the package's
14
- * `tsconfig.build.json` when present, else
15
- * `tsconfig.json`, and adds the two things the
16
- * declaration build needs but the package config must
17
- * not carry permanently:
18
- * - `emitDeclarationOnly` (the package config drives
19
- * `tsc --noEmit` type-checking),
20
- * - exclusion of `*.spec.ts` and `dist`. Spec files are
21
- * not published API and, in a clean build, would pull
22
- * the package's own not-yet-built dist types through
23
- * plgg-test; excluding them also avoids the TS5055
24
- * "overwrite input" collision with a prior `dist`.
25
- */
26
- export declare const emitDts: (args: {
27
- root: string;
28
- rootDir: string;
29
- outDir: string;
30
- aliasPrefix: string;
31
- }) => void;
32
- //# sourceMappingURL=emitDts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitDts.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/emitDts.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,KAAG,IA8CH,CAAC"}
@@ -1,99 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- import { join, dirname, basename, relative, } from "node:path";
3
- import { existsSync, writeFileSync, rmSync, } from "node:fs";
4
- import { createRequire } from "node:module";
5
- import { rewriteDtsAliases } from "plgg-bundle/domain/usecase/rewriteDtsAliases";
6
- /**
7
- * Emit the per-file `.d.ts` tree for a package — the
8
- * single declaration mode every package uses. Rides on
9
- * the project's own `tsc` in declaration-only mode (no
10
- * new dependency); a single rolled-up `index.d.ts` was
11
- * a vite-plugin-dts stylistic choice, not a correctness
12
- * requirement, so it is dropped (breaking-changes-OK)
13
- * to keep the bundler at zero new dependencies. Throws
14
- * on a tsc failure.
15
- *
16
- * `emitDeclarationOnly` guarantees no `.js`/`.js.map`
17
- * leaks into `dist` (the reproduction trap). The
18
- * synthesized config reuses the package's
19
- * `tsconfig.build.json` when present, else
20
- * `tsconfig.json`, and adds the two things the
21
- * declaration build needs but the package config must
22
- * not carry permanently:
23
- * - `emitDeclarationOnly` (the package config drives
24
- * `tsc --noEmit` type-checking),
25
- * - exclusion of `*.spec.ts` and `dist`. Spec files are
26
- * not published API and, in a clean build, would pull
27
- * the package's own not-yet-built dist types through
28
- * plgg-test; excluding them also avoids the TS5055
29
- * "overwrite input" collision with a prior `dist`.
30
- */
31
- export const emitDts = (args) => {
32
- const project = tsconfigFor(args.root);
33
- const dtsConfig = join(args.root, "tsconfig.dts.json");
34
- // tsc must emit into the SAME staging dir the JS bundles
35
- // went to (args.outDir), overriding the `outDir: "dist"`
36
- // the package config carries, so the whole `dist` is
37
- // published atomically by the caller's single swap.
38
- writeFileSync(dtsConfig, dtsTsconfig(basename(project), relative(args.root, args.outDir)), "utf8");
39
- // tsc invocation seam: run the package's OWN pinned
40
- // `tsc` directly via `node` — NOT `npx`. `npx` re-runs
41
- // its own resolution each call and, on a loaded
42
- // machine, can intermittently resolve/launch `tsc`
43
- // differently (the non-deterministic dts-emit flake
44
- // Planner caught). Resolving the local binary makes
45
- // the compiler, its version, and its module resolution
46
- // identical every run.
47
- const r = spawnSync(process.execPath, [tscBin(args.root), "--project", dtsConfig], { cwd: args.root, encoding: "utf8" });
48
- rmSync(dtsConfig, { force: true });
49
- if (r.status !== 0) {
50
- throw new Error(`DtsError: tsc declaration emit failed\n${r.stdout ?? ""}${r.stderr ?? ""}`);
51
- }
52
- // Relativize the self-alias in the declarations (tsc
53
- // leaves `paths` aliases verbatim; consumers have no
54
- // such alias).
55
- rewriteDtsAliases(args.outDir, args.aliasPrefix);
56
- };
57
- /**
58
- * The synthesized declaration-emit tsconfig, extending
59
- * the package's base config.
60
- */
61
- const dtsTsconfig = (baseName, outRel) => JSON.stringify({
62
- extends: `./${baseName}`,
63
- compilerOptions: {
64
- noEmit: false,
65
- declaration: true,
66
- emitDeclarationOnly: true,
67
- // Emit into the caller's staging dir, not the
68
- // live `dist` (overrides the package config).
69
- outDir: outRel,
70
- // No incremental cache: a `.tsbuildinfo` could
71
- // otherwise persist a stale module resolution
72
- // across runs. Each emit is a clean resolution.
73
- incremental: false,
74
- composite: false,
75
- },
76
- exclude: [
77
- "**/*.spec.ts",
78
- "**/*.spec.tsx",
79
- "dist",
80
- `${outRel}`,
81
- "node_modules",
82
- ],
83
- }, null, 2);
84
- /**
85
- * Absolute path to the package's OWN pinned `tsc`
86
- * launcher, resolved from its `typescript` dependency
87
- * (derived from the package main so it works regardless
88
- * of `typescript`'s `exports` map). Run via `node`.
89
- */
90
- const tscBin = (root) => join(dirname(createRequire(join(root, "package.json")).resolve("typescript")), "..", "bin", "tsc");
91
- /**
92
- * Pick the tsconfig that drives declaration emit:
93
- * `tsconfig.build.json` when the package carries one,
94
- * otherwise `tsconfig.json`.
95
- */
96
- const tsconfigFor = (root) => existsSync(join(root, "tsconfig.build.json"))
97
- ? join(root, "tsconfig.build.json")
98
- : join(root, "tsconfig.json");
99
- //# sourceMappingURL=emitDts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emitDts.js","sourceRoot":"","sources":["../../../src/domain/usecase/emitDts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { type External } from "plgg-bundle/domain/model/BundleConfig";
2
- /**
3
- * Decide whether a specifier is external given the
4
- * config's {@link External} declaration, dispatching on
5
- * its three shapes: a string array (exact match), a
6
- * `RegExp` (test), or a predicate function (call). This
7
- * is the single place the three vite-config external
8
- * forms — string[], `/^node:/`, and plgg-fetch's
9
- * `isFrameworkDep` predicate — converge.
10
- */
11
- export declare const isExternal: (external: External, specifier: string) => boolean;
12
- //# sourceMappingURL=isExternal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isExternal.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/isExternal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,UAAU,QAAQ,EAClB,WAAW,MAAM,KAChB,OAKiC,CAAC"}
@@ -1,16 +0,0 @@
1
- import {} from "plgg-bundle/domain/model/BundleConfig";
2
- /**
3
- * Decide whether a specifier is external given the
4
- * config's {@link External} declaration, dispatching on
5
- * its three shapes: a string array (exact match), a
6
- * `RegExp` (test), or a predicate function (call). This
7
- * is the single place the three vite-config external
8
- * forms — string[], `/^node:/`, and plgg-fetch's
9
- * `isFrameworkDep` predicate — converge.
10
- */
11
- export const isExternal = (external, specifier) => typeof external === "function"
12
- ? external(specifier)
13
- : external instanceof RegExp
14
- ? external.test(specifier)
15
- : external.includes(specifier);
16
- //# sourceMappingURL=isExternal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isExternal.js","sourceRoot":"","sources":["../../../src/domain/usecase/isExternal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,uCAAuC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,QAAkB,EAClB,SAAiB,EACR,EAAE,CACX,OAAO,QAAQ,KAAK,UAAU;IAC5B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IACrB,CAAC,CAAC,QAAQ,YAAY,MAAM;QAC1B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=isExternal.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isExternal.spec.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/isExternal.spec.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { test, check, all, toBe, } from "plgg-test";
2
- import { isExternal } from "plgg-bundle/domain/usecase/isExternal";
3
- test("isExternal handles a string-array external", () => all([
4
- check(isExternal(["plgg", "node:fs"], "plgg"), toBe(true)),
5
- check(isExternal(["plgg"], "plgg-server"), toBe(false)),
6
- check(isExternal([], "anything"), toBe(false)),
7
- ]));
8
- test("isExternal handles a RegExp external", () => all([
9
- check(isExternal(/^node:/, "node:stream"), toBe(true)),
10
- check(isExternal(/^node:/, "plgg/index"), toBe(false)),
11
- ]));
12
- test("isExternal handles a predicate external", () => all([
13
- check(isExternal((id) => id.startsWith("plgg"), "plgg-server/node"), toBe(true)),
14
- check(isExternal((id) => id.startsWith("plgg"), "./relative"), toBe(false)),
15
- ]));
16
- //# sourceMappingURL=isExternal.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isExternal.spec.js","sourceRoot":"","sources":["../../../src/domain/usecase/isExternal.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,GACL,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE,CACtD,GAAG,CAAC;IACF,KAAK,CACH,UAAU,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,EACvC,IAAI,CAAC,IAAI,CAAC,CACX;IACD,KAAK,CACH,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,EACnC,IAAI,CAAC,KAAK,CAAC,CACZ;IACD,KAAK,CACH,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,EAC1B,IAAI,CAAC,KAAK,CAAC,CACZ;CACF,CAAC,CAAC,CAAC;AAEN,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAChD,GAAG,CAAC;IACF,KAAK,CACH,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,EACnC,IAAI,CAAC,IAAI,CAAC,CACX;IACD,KAAK,CACH,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,EAClC,IAAI,CAAC,KAAK,CAAC,CACZ;CACF,CAAC,CAAC,CAAC;AAEN,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE,CACnD,GAAG,CAAC;IACF,KAAK,CACH,UAAU,CACR,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAC7B,kBAAkB,CACnB,EACD,IAAI,CAAC,IAAI,CAAC,CACX;IACD,KAAK,CACH,UAAU,CACR,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAC7B,YAAY,CACb,EACD,IAAI,CAAC,KAAK,CAAC,CACZ;CACF,CAAC,CAAC,CAAC"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Resolve a bare import specifier to an absolute source
3
- * file path, given the importing file and the
4
- * package-self-alias mapping. Pure resolution logic —
5
- * it only consults the filesystem to pick between
6
- * `X.ts` and `X/index.ts`, mirroring how the alias +
7
- * relative imports across the plgg packages resolve
8
- * under `tsc`.
9
- *
10
- * Returns `undefined` when the specifier is external
11
- * (not the self-alias and not relative) or cannot be
12
- * found on disk — the caller decides whether that means
13
- * "external, leave it" or "broken import, fail".
14
- */
15
- export declare const resolveSpecifier: (args: {
16
- specifier: string;
17
- fromFile: string;
18
- aliasPrefix: string;
19
- aliasSrcRoot: string;
20
- }) => string | undefined;
21
- /**
22
- * Whether the specifier is a relative path (`./` or
23
- * `../`). Exported for the app-mode workspace resolver,
24
- * which shares this relative-import handling.
25
- */
26
- export declare const isRelative: (specifier: string) => boolean;
27
- /**
28
- * Given a base path with no extension, pick the
29
- * existing source file: the path as-is, then `base.ts`,
30
- * then `base/index.ts`. Exported so the app-mode
31
- * workspace resolver picks sibling source files the same
32
- * way.
33
- */
34
- export declare const pickExisting: (base: string) => string | undefined;
35
- //# sourceMappingURL=resolveSpecifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveSpecifier.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/resolveSpecifier.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,KAAG,MAAM,GAAG,SAaZ,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,KAChB,OAE0B,CAAC;AA0B9B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,KACX,MAAM,GAAG,SACmB,CAAC"}
@@ -1,83 +0,0 @@
1
- import { existsSync, statSync } from "node:fs";
2
- import { dirname, resolve, join, } from "node:path";
3
- /**
4
- * Resolve a bare import specifier to an absolute source
5
- * file path, given the importing file and the
6
- * package-self-alias mapping. Pure resolution logic —
7
- * it only consults the filesystem to pick between
8
- * `X.ts` and `X/index.ts`, mirroring how the alias +
9
- * relative imports across the plgg packages resolve
10
- * under `tsc`.
11
- *
12
- * Returns `undefined` when the specifier is external
13
- * (not the self-alias and not relative) or cannot be
14
- * found on disk — the caller decides whether that means
15
- * "external, leave it" or "broken import, fail".
16
- */
17
- export const resolveSpecifier = (args) => {
18
- if (isRelative(args.specifier)) {
19
- return pickExisting(resolve(dirname(args.fromFile), args.specifier));
20
- }
21
- const base = aliasTarget(args);
22
- return base === undefined
23
- ? undefined
24
- : pickExisting(base);
25
- };
26
- /**
27
- * Whether the specifier is a relative path (`./` or
28
- * `../`). Exported for the app-mode workspace resolver,
29
- * which shares this relative-import handling.
30
- */
31
- export const isRelative = (specifier) => specifier.startsWith("./") ||
32
- specifier.startsWith("../");
33
- /**
34
- * Map a self-alias specifier (`<prefix>` or
35
- * `<prefix>/sub/path`) to its base path under the
36
- * source root. A non-alias specifier yields `undefined`
37
- * (it is external).
38
- */
39
- const aliasTarget = (args) => args.specifier === args.aliasPrefix
40
- ? args.aliasSrcRoot
41
- : args.specifier.startsWith(`${args.aliasPrefix}/`)
42
- ? join(args.aliasSrcRoot, args.specifier.slice(args.aliasPrefix.length + 1))
43
- : undefined;
44
- /**
45
- * Given a base path with no extension, pick the
46
- * existing source file: the path as-is, then `base.ts`,
47
- * then `base/index.ts`. Exported so the app-mode
48
- * workspace resolver picks sibling source files the same
49
- * way.
50
- */
51
- export const pickExisting = (base) => candidates(base).find(isFile);
52
- /**
53
- * Whether a path exists and is a regular file (not a
54
- * directory). A bare `plgg/Abstracts` base resolves to
55
- * the `Abstracts/` directory, which must be skipped in
56
- * favor of `Abstracts/index.ts`.
57
- */
58
- const isFile = (p) => existsSync(p) && statSync(p).isFile();
59
- /**
60
- * The ordered candidate file paths for a base path. A
61
- * `.js`/`.mjs`/`.jsx` specifier is the NodeNext/ESM way
62
- * to reference a TypeScript sibling (`./X.js` → `X.ts`),
63
- * so its `.ts`/`.mts`/`.tsx` form is tried first.
64
- */
65
- const candidates = (base) => [
66
- ...tsForJs(base),
67
- base,
68
- `${base}.ts`,
69
- join(base, "index.ts"),
70
- ];
71
- /**
72
- * The TypeScript-source path implied by a JS-extension
73
- * specifier, or nothing if `base` carries no such
74
- * extension.
75
- */
76
- const tsForJs = (base) => base.endsWith(".js")
77
- ? [`${base.slice(0, -3)}.ts`]
78
- : base.endsWith(".mjs")
79
- ? [`${base.slice(0, -4)}.mts`]
80
- : base.endsWith(".jsx")
81
- ? [`${base.slice(0, -4)}.tsx`]
82
- : [];
83
- //# sourceMappingURL=resolveSpecifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveSpecifier.js","sourceRoot":"","sources":["../../../src/domain/usecase/resolveSpecifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EACL,OAAO,EACP,OAAO,EACP,IAAI,GACL,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAKhC,EAAsB,EAAE;IACvB,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CACjB,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EACtB,IAAI,CAAC,SAAS,CACf,CACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,SAAiB,EACR,EAAE,CACX,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,IAIpB,EAAsB,EAAE,CACvB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW;IACjC,CAAC,CAAC,IAAI,CAAC,YAAY;IACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CACrB,GAAG,IAAI,CAAC,WAAW,GAAG,CACvB;QACH,CAAC,CAAC,IAAI,CACF,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAClB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAC5B,CACF;QACH,CAAC,CAAC,SAAS,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAY,EACQ,EAAE,CACtB,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CAAC,CAAS,EAAW,EAAE,CACpC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACjB,IAAY,EACW,EAAE,CAAC;IAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG,IAAI,KAAK;IACZ,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,GAAG,CACd,IAAY,EACW,EAAE,CACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolveSpecifier.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveSpecifier.spec.d.ts","sourceRoot":"","sources":["../../../src/domain/usecase/resolveSpecifier.spec.ts"],"names":[],"mappings":""}