@packall/core 0.0.1 → 0.2.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 (157) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -0
  3. package/dist/archive-6sqTn1C4.js +274 -0
  4. package/dist/archive-6sqTn1C4.js.map +1 -0
  5. package/dist/archive.d.ts +64 -0
  6. package/dist/archive.d.ts.map +1 -0
  7. package/dist/{Bundle.d.ts → bundle.d.ts} +56 -38
  8. package/dist/bundle.d.ts.map +1 -0
  9. package/dist/{DependencyRange.d.ts → dependency-range.d.ts} +2 -2
  10. package/dist/dependency-range.d.ts.map +1 -0
  11. package/dist/{Download.d.ts → download.d.ts} +9 -8
  12. package/dist/download.d.ts.map +1 -0
  13. package/dist/enums/artifact-kind.d.ts +8 -0
  14. package/dist/enums/artifact-kind.d.ts.map +1 -0
  15. package/dist/enums/edge-kind.d.ts +29 -0
  16. package/dist/enums/edge-kind.d.ts.map +1 -0
  17. package/dist/enums/input-file-kind.d.ts +12 -0
  18. package/dist/enums/input-file-kind.d.ts.map +1 -0
  19. package/dist/enums/layout.d.ts +23 -0
  20. package/dist/enums/layout.d.ts.map +1 -0
  21. package/dist/enums/lockfile-format.d.ts +9 -0
  22. package/dist/enums/lockfile-format.d.ts.map +1 -0
  23. package/dist/enums/phase.d.ts +11 -0
  24. package/dist/enums/phase.d.ts.map +1 -0
  25. package/dist/{Errors.d.ts → errors.d.ts} +49 -7
  26. package/dist/errors.d.ts.map +1 -0
  27. package/dist/index.d.ts +46 -28
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2121 -1060
  30. package/dist/index.js.map +1 -1
  31. package/dist/input-file.d.ts +77 -0
  32. package/dist/input-file.d.ts.map +1 -0
  33. package/dist/integrity.d.ts +80 -0
  34. package/dist/integrity.d.ts.map +1 -0
  35. package/dist/layout.d.ts +87 -0
  36. package/dist/layout.d.ts.map +1 -0
  37. package/dist/locked-resolve.d.ts +47 -0
  38. package/dist/locked-resolve.d.ts.map +1 -0
  39. package/dist/lockfile/bun.d.ts +3 -0
  40. package/dist/lockfile/bun.d.ts.map +1 -0
  41. package/dist/lockfile/detect.d.ts +31 -0
  42. package/dist/lockfile/detect.d.ts.map +1 -0
  43. package/dist/lockfile/json.d.ts +23 -0
  44. package/dist/lockfile/json.d.ts.map +1 -0
  45. package/dist/lockfile/names.d.ts +16 -0
  46. package/dist/lockfile/names.d.ts.map +1 -0
  47. package/dist/lockfile/npm.d.ts +3 -0
  48. package/dist/lockfile/npm.d.ts.map +1 -0
  49. package/dist/lockfile/parse.d.ts +23 -0
  50. package/dist/lockfile/parse.d.ts.map +1 -0
  51. package/dist/lockfile/pnpm.d.ts +20 -0
  52. package/dist/lockfile/pnpm.d.ts.map +1 -0
  53. package/dist/lockfile/tree-builder.d.ts +70 -0
  54. package/dist/lockfile/tree-builder.d.ts.map +1 -0
  55. package/dist/lockfile/types.d.ts +70 -0
  56. package/dist/lockfile/types.d.ts.map +1 -0
  57. package/dist/{Manifest.d.ts → manifest.d.ts} +7 -15
  58. package/dist/manifest.d.ts.map +1 -0
  59. package/dist/node/archiver.d.ts +5 -0
  60. package/dist/node/archiver.d.ts.map +1 -0
  61. package/dist/node/index.d.ts +13 -0
  62. package/dist/node/index.d.ts.map +1 -0
  63. package/dist/node/index.js +55 -0
  64. package/dist/node/index.js.map +1 -0
  65. package/dist/{Options.d.ts → options.d.ts} +12 -30
  66. package/dist/options.d.ts.map +1 -0
  67. package/dist/{Platform.d.ts → platform.d.ts} +14 -19
  68. package/dist/platform.d.ts.map +1 -0
  69. package/dist/{Progress.d.ts → progress.d.ts} +10 -9
  70. package/dist/progress.d.ts.map +1 -0
  71. package/dist/{Registry.d.ts → registry.d.ts} +42 -44
  72. package/dist/registry.d.ts.map +1 -0
  73. package/dist/{Resolve.d.ts → resolve.d.ts} +25 -26
  74. package/dist/resolve.d.ts.map +1 -0
  75. package/dist/schemas/lenient.d.ts +38 -0
  76. package/dist/schemas/lenient.d.ts.map +1 -0
  77. package/dist/schemas/package-json.d.ts +44 -0
  78. package/dist/schemas/package-json.d.ts.map +1 -0
  79. package/dist/{Spec.d.ts → spec.d.ts} +4 -4
  80. package/dist/spec.d.ts.map +1 -0
  81. package/dist/types/value-of.d.ts +9 -0
  82. package/dist/types/value-of.d.ts.map +1 -0
  83. package/dist/utils/is-record.d.ts +8 -0
  84. package/dist/utils/is-record.d.ts.map +1 -0
  85. package/package.json +13 -11
  86. package/src/archive.ts +95 -0
  87. package/src/bundle.ts +736 -0
  88. package/src/dependency-range.ts +121 -0
  89. package/src/download.ts +155 -0
  90. package/src/enums/artifact-kind.ts +9 -0
  91. package/src/enums/edge-kind.ts +32 -0
  92. package/src/enums/input-file-kind.ts +13 -0
  93. package/src/enums/layout.ts +25 -0
  94. package/src/enums/lockfile-format.ts +10 -0
  95. package/src/enums/phase.ts +12 -0
  96. package/src/errors.ts +300 -0
  97. package/src/index.ts +146 -35
  98. package/src/input-file.ts +324 -0
  99. package/src/integrity.ts +165 -0
  100. package/src/layout.ts +137 -0
  101. package/src/locked-resolve.ts +471 -0
  102. package/src/lockfile/bun.ts +214 -0
  103. package/src/lockfile/detect.ts +80 -0
  104. package/src/lockfile/json.ts +131 -0
  105. package/src/lockfile/names.ts +20 -0
  106. package/src/lockfile/npm.ts +328 -0
  107. package/src/lockfile/parse.ts +56 -0
  108. package/src/lockfile/pnpm.ts +230 -0
  109. package/src/lockfile/tree-builder.ts +166 -0
  110. package/src/lockfile/types.ts +74 -0
  111. package/src/manifest.ts +129 -0
  112. package/src/node/archiver.ts +85 -0
  113. package/src/node/index.ts +13 -0
  114. package/src/options.ts +103 -0
  115. package/src/platform.ts +178 -0
  116. package/src/progress.ts +105 -0
  117. package/src/registry.ts +116 -0
  118. package/src/resolve.ts +560 -0
  119. package/src/schemas/lenient.ts +130 -0
  120. package/src/schemas/package-json.ts +28 -0
  121. package/src/spec.ts +182 -0
  122. package/src/types/value-of.ts +8 -0
  123. package/src/utils/is-record.ts +8 -0
  124. package/dist/Archive.d.ts +0 -32
  125. package/dist/Archive.d.ts.map +0 -1
  126. package/dist/Bundle.d.ts.map +0 -1
  127. package/dist/DependencyRange.d.ts.map +0 -1
  128. package/dist/Download.d.ts.map +0 -1
  129. package/dist/Errors.d.ts.map +0 -1
  130. package/dist/InputFile.d.ts +0 -46
  131. package/dist/InputFile.d.ts.map +0 -1
  132. package/dist/Integrity.d.ts +0 -48
  133. package/dist/Integrity.d.ts.map +0 -1
  134. package/dist/Layout.d.ts +0 -53
  135. package/dist/Layout.d.ts.map +0 -1
  136. package/dist/Manifest.d.ts.map +0 -1
  137. package/dist/Options.d.ts.map +0 -1
  138. package/dist/Platform.d.ts.map +0 -1
  139. package/dist/Progress.d.ts.map +0 -1
  140. package/dist/Registry.d.ts.map +0 -1
  141. package/dist/Resolve.d.ts.map +0 -1
  142. package/dist/Spec.d.ts.map +0 -1
  143. package/src/Archive.ts +0 -92
  144. package/src/Bundle.ts +0 -570
  145. package/src/DependencyRange.ts +0 -115
  146. package/src/Download.ts +0 -132
  147. package/src/Errors.ts +0 -216
  148. package/src/InputFile.ts +0 -229
  149. package/src/Integrity.ts +0 -122
  150. package/src/Layout.ts +0 -103
  151. package/src/Manifest.ts +0 -133
  152. package/src/Options.ts +0 -123
  153. package/src/Platform.ts +0 -182
  154. package/src/Progress.ts +0 -106
  155. package/src/Registry.ts +0 -121
  156. package/src/Resolve.ts +0 -528
  157. package/src/Spec.ts +0 -186
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The package.json blocks `--file` reads, and what counts as readable.
3
+ *
4
+ * A narrow view on purpose: the only thing this tool wants from a package.json
5
+ * is which packages it declares. Everything else — `scripts`, `exports`, the
6
+ * half of the file that belongs to a bundler — is none of its business, and a
7
+ * schema that insisted on understanding it would reject files that are fine.
8
+ *
9
+ * Every block is optional and every wrongly-typed one is simply absent, so a
10
+ * hand-edited manifest produces a smaller spec list rather than a crash. That
11
+ * is what `tolerant` buys: a `dependencies: "all of them"` loses one block, not
12
+ * the file.
13
+ */
14
+ import * as Schema from "effect/Schema";
15
+
16
+ import { OptionalFlagRecordSchema, StringRecordSchema, tolerant } from "./lenient.js";
17
+
18
+ export const PackageJsonSchema = Schema.Struct({
19
+ dependencies: tolerant(StringRecordSchema),
20
+ devDependencies: tolerant(StringRecordSchema),
21
+ optionalDependencies: tolerant(StringRecordSchema),
22
+ peerDependencies: tolerant(StringRecordSchema),
23
+ peerDependenciesMeta: tolerant(OptionalFlagRecordSchema),
24
+ });
25
+
26
+ export type PackageJson = typeof PackageJsonSchema.Type;
27
+
28
+ export const decodePackageJson = Schema.decodeUnknownOption(PackageJsonSchema);
package/src/spec.ts ADDED
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Parsing and validation of package specs — the `lodash`, `react@18.2.0`,
3
+ * `@babel/core@^7`, `typescript@next` strings a user types.
4
+ *
5
+ * Deliberately dependency-light and synchronous: parsing must never touch the
6
+ * network, so `--dry-run` and argument validation stay instant.
7
+ */
8
+ import semver from "semver";
9
+
10
+ import { InvalidSpecError } from "./errors.js";
11
+
12
+ /** How a spec narrows down which version(s) of a package we want. */
13
+ export type Selector =
14
+ /** An exact, fully-qualified version: `react@18.2.0`. */
15
+ | { readonly _tag: "Exact"; readonly version: string }
16
+ /** A semver range: `react@^18`, `react@>=17 <19`, `react@*`. */
17
+ | { readonly _tag: "Range"; readonly range: string }
18
+ /** A dist-tag: `react@latest`, `typescript@next`. */
19
+ | { readonly _tag: "Tag"; readonly tag: string };
20
+
21
+ /** A parsed, validated package spec. */
22
+ export type PackageSpec = {
23
+ /** The npm package name, including scope. */
24
+ readonly name: string;
25
+ /** What the user asked for after the `@`. */
26
+ readonly selector: Selector;
27
+ /** The original string, kept verbatim for error messages and the manifest. */
28
+ readonly raw: string;
29
+ };
30
+
31
+ const MAX_NAME_LENGTH = 214;
32
+
33
+ // The registry accepts URL-safe characters plus `-`, `.` and `_`.
34
+ const SEGMENT_RE = /^[a-z0-9\-._~]+$/;
35
+
36
+ const DIST_TAG_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
37
+
38
+ /** Renders a spec back into the canonical `name@selector` form. */
39
+ export const formatSpec = (spec: PackageSpec): string =>
40
+ `${spec.name}@${formatSelector(spec.selector)}`;
41
+
42
+ /** Human-readable form of just the selector part. */
43
+ export const formatSelector = (selector: Selector): string => {
44
+ switch (selector._tag) {
45
+ case "Exact":
46
+ return selector.version;
47
+ case "Range":
48
+ return selector.range;
49
+ case "Tag":
50
+ return selector.tag;
51
+ }
52
+ };
53
+
54
+ /**
55
+ * Validates an npm package name against the rules the registry actually
56
+ * enforces. Returns `null` when valid, or the reason it is not.
57
+ */
58
+ export const validatePackageName = (name: string): string | null => {
59
+ if (name.length === 0) return "name is empty";
60
+ if (name.length > MAX_NAME_LENGTH) {
61
+ return `name is longer than ${MAX_NAME_LENGTH} characters`;
62
+ }
63
+ if (name.trim() !== name) return "name has leading or trailing whitespace";
64
+ if (name.startsWith(".")) return "name cannot start with a period";
65
+ if (name.startsWith("_")) return "name cannot start with an underscore";
66
+ if (name !== name.toLowerCase()) return "name cannot contain capital letters";
67
+
68
+ if (name.startsWith("@")) {
69
+ const slash = name.indexOf("/");
70
+ if (slash === -1) return "scoped name is missing the '/name' part";
71
+ const scope = name.slice(1, slash);
72
+ const rest = name.slice(slash + 1);
73
+ if (scope.length === 0) return "scope is empty";
74
+ if (rest.length === 0) return "name after the scope is empty";
75
+ if (rest.includes("/")) return "name contains more than one '/'";
76
+ if (!SEGMENT_RE.test(scope)) return `scope "${scope}" contains illegal characters`;
77
+ if (!SEGMENT_RE.test(rest)) return `name "${rest}" contains illegal characters`;
78
+ return null;
79
+ }
80
+
81
+ if (name.includes("/")) return "unscoped name cannot contain '/'";
82
+ if (!SEGMENT_RE.test(name)) return "name contains illegal characters";
83
+ return null;
84
+ };
85
+
86
+ /**
87
+ * Parses a single spec string.
88
+ *
89
+ * Splitting on `@` is the fiddly part: a scoped name *starts* with `@`, so we
90
+ * look for the last `@` that is not at index 0.
91
+ */
92
+ export const parseSpec = (raw: string): PackageSpec => {
93
+ const input = raw.trim();
94
+ if (input.length === 0) {
95
+ throw new InvalidSpecError(raw, "spec is empty");
96
+ }
97
+
98
+ const at = input.lastIndexOf("@");
99
+ const hasSelector = at > 0;
100
+ const name = hasSelector ? input.slice(0, at) : input;
101
+ const selectorText = hasSelector ? input.slice(at + 1) : "";
102
+
103
+ const nameProblem = validatePackageName(name);
104
+ if (nameProblem !== null) {
105
+ throw new InvalidSpecError(raw, nameProblem);
106
+ }
107
+
108
+ if (!hasSelector || selectorText.length === 0) {
109
+ return { name, selector: { _tag: "Tag", tag: "latest" }, raw: input };
110
+ }
111
+
112
+ return { name, selector: parseSelector(raw, selectorText), raw: input };
113
+ };
114
+
115
+ /** Classifies the part after the `@` as an exact version, a range, or a dist-tag. */
116
+ export const parseSelector = (raw: string, text: string): Selector => {
117
+ // `semver.valid` only accepts a complete `x.y.z`, which is exactly the
118
+ // "pin me to this one version" case.
119
+ const exact = semver.valid(text, { loose: false });
120
+ if (exact !== null) {
121
+ return { _tag: "Exact", version: exact };
122
+ }
123
+
124
+ if (semver.validRange(text, { loose: false }) !== null) {
125
+ return { _tag: "Range", range: text };
126
+ }
127
+
128
+ // Anything left has to be a dist-tag. Tags may not look like versions and
129
+ // may not contain characters that would break a registry URL.
130
+ if (!DIST_TAG_RE.test(text)) {
131
+ throw new InvalidSpecError(
132
+ raw,
133
+ `"${text}" is not a valid version, semver range, or dist-tag`,
134
+ );
135
+ }
136
+ return { _tag: "Tag", tag: text };
137
+ };
138
+
139
+ /**
140
+ * Parses many specs, collecting *every* failure rather than stopping at the
141
+ * first. Somebody bundling forty packages should be told about all four typos
142
+ * in one go, not made to re-run four times.
143
+ */
144
+ export const parseSpecs = (
145
+ inputs: ReadonlyArray<string>,
146
+ ): {
147
+ readonly specs: ReadonlyArray<PackageSpec>;
148
+ readonly errors: ReadonlyArray<InvalidSpecError>;
149
+ } => {
150
+ const specs: Array<PackageSpec> = [];
151
+ const errors: Array<InvalidSpecError> = [];
152
+ for (const input of inputs) {
153
+ try {
154
+ specs.push(parseSpec(input));
155
+ } catch (error) {
156
+ if (error instanceof InvalidSpecError) {
157
+ errors.push(error);
158
+ } else {
159
+ throw error;
160
+ }
161
+ }
162
+ }
163
+ return { specs, errors };
164
+ };
165
+
166
+ /**
167
+ * Collapses duplicate specs, keeping the first occurrence.
168
+ *
169
+ * `npmb react react@latest` is a plausible thing to type and should not
170
+ * download React twice.
171
+ */
172
+ export const dedupeSpecs = (specs: ReadonlyArray<PackageSpec>): ReadonlyArray<PackageSpec> => {
173
+ const seen = new Set<string>();
174
+ const out: Array<PackageSpec> = [];
175
+ for (const spec of specs) {
176
+ const key = formatSpec(spec);
177
+ if (seen.has(key)) continue;
178
+ seen.add(key);
179
+ out.push(spec);
180
+ }
181
+ return out;
182
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The union of an object's value types.
3
+ *
4
+ * The companion to the `as const` object-enum pattern used throughout this
5
+ * package: the object is the value, `ValueOf<typeof X>` is the type, and the two
6
+ * share one name.
7
+ */
8
+ export type ValueOf<T> = T[keyof T];
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Narrows an unknown value to a plain object.
3
+ *
4
+ * The entry point for reading anything the tool does not control — lockfiles,
5
+ * package.json files, registry responses — without reaching for a cast.
6
+ */
7
+ export const isRecord = (value: unknown): value is Record<string, unknown> =>
8
+ typeof value === "object" && value !== null && !Array.isArray(value);
package/dist/Archive.d.ts DELETED
@@ -1,32 +0,0 @@
1
- /**
2
- * Turning a staged directory tree into a gzipped tarball.
3
- *
4
- * Uses `node-tar`, the same library npm itself packs with. Writing a USTAR
5
- * encoder by hand would be a fun afternoon and a bad idea: scoped package
6
- * paths routinely exceed the 100-byte name field, so correctness depends on
7
- * prefix-splitting and PAX headers that `tar` already gets right.
8
- */
9
- import * as Effect from "effect/Effect";
10
- import * as FileSystem from "effect/FileSystem";
11
- import type { PlatformError } from "effect/PlatformError";
12
- import { ArchiveError } from "./Errors.js";
13
- import * as Progress from "./Progress.js";
14
- /** A finished archive. */
15
- export interface ArchiveResult {
16
- readonly path: string;
17
- readonly bytes: number;
18
- }
19
- /**
20
- * Packs `entries` (paths relative to `cwd`) into a gzipped tar at `outPath`.
21
- *
22
- * `portable` normalises uid/gid/mtime so the same inputs produce byte-identical
23
- * output — which matters when a security team wants to diff two bundles or
24
- * re-derive one from a manifest.
25
- */
26
- export declare const createArchive: (options: {
27
- readonly cwd: string;
28
- readonly entries: ReadonlyArray<string>;
29
- readonly outPath: string;
30
- readonly gzipLevel?: number | undefined;
31
- }) => Effect.Effect<ArchiveResult, ArchiveError | PlatformError, FileSystem.FileSystem | Progress.Progress>;
32
- //# sourceMappingURL=Archive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Archive.d.ts","sourceRoot":"","sources":["../src/Archive.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,YAAa;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,GAAG,aAAa,EAAE,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAoCpG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bundle.d.ts","sourceRoot":"","sources":["../src/Bundle.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DependencyRange.d.ts","sourceRoot":"","sources":["../src/DependencyRange.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,wCAAwC;AACxC,MAAM,MAAM,gBAAgB;AAC1B,mFAAmF;AACjF;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AACH,iDAAiD;GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAiB1G;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,SAAU,MAAM,OAAO,MAAM,KAAG,gBAuCjE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Download.d.ts","sourceRoot":"","sources":["../src/Download.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,aAAa,CAAC,eAAe,CAAC,WAC/B,MAAM,WACN;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,KAC3E,MAAM,CAAC,MAAM,CACd,cAAc,EACd,YAAY,GAAG,aAAa,EAC5B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAyF9D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * `--file` handling.
3
- *
4
- * One flag, two accepted shapes, detected from the content rather than the
5
- * extension so that `--file deps.json` and `--file my-packages` both do the
6
- * obvious thing:
7
- *
8
- * - a **package.json** — bundle everything it depends on
9
- * - a **newline-delimited list** — one spec per line, `#` and `//` comments
10
- * allowed, blank lines ignored
11
- */
12
- import * as Effect from "effect/Effect";
13
- import * as FileSystem from "effect/FileSystem";
14
- import { InvalidInputFileError } from "./Errors.js";
15
- import type { PackageSpec } from "./Spec.js";
16
- /** Which of the two shapes a file turned out to be. */
17
- export type InputFileKind = "package.json" | "list";
18
- export interface InputFileResult {
19
- readonly kind: InputFileKind;
20
- readonly specs: ReadonlyArray<PackageSpec>;
21
- /** Entries that were recognised but cannot be bundled from a registry. */
22
- readonly warnings: ReadonlyArray<string>;
23
- }
24
- /** Which dependency blocks of a package.json become root specs. */
25
- export interface InputFileOptions {
26
- /**
27
- * Include `devDependencies`.
28
- *
29
- * On by default: if you are pointing this tool at a package.json, you are
30
- * almost certainly trying to make that project installable behind the
31
- * firewall, and a project without its dev tooling does not build. `--prod`
32
- * turns it off.
33
- */
34
- readonly includeDev: boolean;
35
- }
36
- export declare const defaultInputFileOptions: InputFileOptions;
37
- /** Reads and parses an input file. */
38
- export declare const readInputFile: (filePath: string, options?: InputFileOptions) => Effect.Effect<InputFileResult, InvalidInputFileError, FileSystem.FileSystem>;
39
- /**
40
- * Parses file content that has already been read.
41
- *
42
- * Split out from the IO so the whole of this logic is testable with plain
43
- * strings and no file system at all.
44
- */
45
- export declare const parseInputFile: (filePath: string, content: string, options?: InputFileOptions) => InputFileResult;
46
- //# sourceMappingURL=InputFile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputFile.d.ts","sourceRoot":"","sources":["../src/InputFile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG5C,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,CAAA;AAEnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACzC;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAuC,CAAA;AAE7E,sCAAsC;AACtC,eAAO,MAAM,aAAa,aACd,MAAM,YACP,gBAAgB,KACxB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,UAAU,CAAC,UAAU,CAsB1E,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aACf,MAAM,WACP,MAAM,YACN,gBAAgB,KACxB,eASF,CAAA"}
@@ -1,48 +0,0 @@
1
- /** One parsed SRI hash. */
2
- export interface IntegrityHash {
3
- readonly algorithm: string;
4
- /** Base64 digest, exactly as written in the SRI string. */
5
- readonly digest: string;
6
- }
7
- /**
8
- * Parses an SRI string such as `sha512-abc...==`.
9
- *
10
- * npm permits several space-separated hashes; we keep every one we can verify
11
- * and ignore algorithms Node does not implement.
12
- */
13
- export declare const parseIntegrity: (integrity: string) => ReadonlyArray<IntegrityHash>;
14
- /** Computes the base64 digest of some bytes under one algorithm. */
15
- export declare const digestOf: (data: Uint8Array, algorithm: string) => string;
16
- /** Computes the hex digest of some bytes — the form legacy `shasum` uses. */
17
- export declare const hexDigestOf: (data: Uint8Array, algorithm: string) => string;
18
- /** Result of checking a download. */
19
- export type VerificationResult =
20
- /** Verified against at least one checksum. */
21
- {
22
- readonly _tag: "Verified";
23
- readonly using: string;
24
- }
25
- /** The registry advertised no checksum we could use. */
26
- | {
27
- readonly _tag: "Unverifiable";
28
- readonly reason: string;
29
- }
30
- /** A checksum was present and did not match. */
31
- | {
32
- readonly _tag: "Mismatch";
33
- readonly expected: string;
34
- readonly actual: string;
35
- };
36
- /**
37
- * Checks bytes against whichever checksums the registry supplied.
38
- *
39
- * SRI is preferred; `shasum` is the fallback for versions published before
40
- * integrity strings existed. If the registry gave us neither, that is reported
41
- * as `Unverifiable` rather than silently treated as a pass — the caller decides
42
- * whether to tolerate it.
43
- */
44
- export declare const verify: (data: Uint8Array, dist: {
45
- readonly integrity?: string | undefined;
46
- readonly shasum?: string | undefined;
47
- }) => VerificationResult;
48
- //# sourceMappingURL=Integrity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Integrity.d.ts","sourceRoot":"","sources":["../src/Integrity.ts"],"names":[],"mappings":"AAcA,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAID;;;;;GAKG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,KAAG,aAAa,CAAC,aAAa,CAY7E,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,QAAQ,SAAU,UAAU,aAAa,MAAM,KAAG,MACV,CAAA;AAErD,6EAA6E;AAC7E,eAAO,MAAM,WAAW,SAAU,UAAU,aAAa,MAAM,KAAG,MAChB,CAAA;AAElD,qCAAqC;AACrC,MAAM,MAAM,kBAAkB;AAC5B,8CAA8C;AAC5C;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACvD,wDAAwD;GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC5D,gDAAgD;GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAUrF;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,SACX,UAAU,QACV;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KACtF,kBA6BF,CAAA"}
package/dist/Layout.d.ts DELETED
@@ -1,53 +0,0 @@
1
- /**
2
- * The on-disk shape of a bundle.
3
- *
4
- * Everything is laid out exactly the way a registry serves it:
5
- *
6
- * lodash/-/lodash-4.17.21.tgz
7
- * @babel/core/-/core-7.24.0.tgz
8
- *
9
- * That is not an Artifactory convention — it is the path structure in every
10
- * `dist.tarball` URL npm publishes, which is why the same tree imports into
11
- * Artifactory, Nexus and Verdaccio without translation. Note that a scoped
12
- * package's file name drops the scope: `@babel/core` becomes `core-7.24.0.tgz`
13
- * under an `@babel/core/-/` directory.
14
- */
15
- /** Splits `@scope/name` into its parts. `scope` is undefined when unscoped. */
16
- export declare const splitName: (name: string) => {
17
- readonly scope: string | undefined;
18
- readonly bare: string;
19
- };
20
- /** `@babel/core` + `7.24.0` -> `core-7.24.0.tgz` */
21
- export declare const tarballFileName: (name: string, version: string) => string;
22
- /**
23
- * The path of one package tarball within a bundle, using `/` separators
24
- * regardless of host platform — these become tar entry names, and tar entries
25
- * are always POSIX.
26
- */
27
- export declare const packagePath: (name: string, version: string) => string;
28
- /** File name of the manifest that ships inside every bundle. */
29
- export declare const MANIFEST_FILE = "bundle-manifest.json";
30
- /** File name of the short import guide that ships inside every bundle. */
31
- export declare const README_FILE = "IMPORT.md";
32
- /**
33
- * Name of the archive produced for one root spec in `per-spec` layout.
34
- *
35
- * Scoped names are flattened (`@babel/core` -> `babel-core`) because a `/` in a
36
- * file name is not a thing, and `@` confuses enough shells and web UIs to be
37
- * worth avoiding.
38
- */
39
- export declare const perSpecArchiveName: (name: string, version: string) => string;
40
- /** Name of the archive produced in `single` layout. */
41
- export declare const singleArchiveName: (base?: string) => string;
42
- /**
43
- * The import guide written into each bundle.
44
- *
45
- * Kept short and copy-pasteable on purpose: whoever opens this is mid-task on a
46
- * restricted network and does not want prose.
47
- */
48
- export declare const importGuide: (options: {
49
- readonly packageCount: number;
50
- readonly createdAt: string;
51
- readonly toolVersion: string;
52
- }) => string;
53
- //# sourceMappingURL=Layout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../src/Layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,SAAS,SACd,MAAM,KACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAK7D,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,eAAe,SAAU,MAAM,WAAW,MAAM,KAAG,MAG/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,WAAW,MAAM,KAAG,MACb,CAAA;AAE/C,gEAAgE;AAChE,eAAO,MAAM,aAAa,yBAAyB,CAAA;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,WAAW,cAAc,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SAAU,MAAM,WAAW,MAAM,KAAG,MAIlE,CAAA;AAED,uDAAuD;AACvD,eAAO,MAAM,iBAAiB,qBAAsB,MAAuB,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,WAAW,YAAa;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B,KAAG,MA+BH,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Manifest.d.ts","sourceRoot":"","sources":["../src/Manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Options.d.ts","sourceRoot":"","sources":["../src/Options.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,+CAA+C;AAC/C,MAAM,MAAM,MAAM;AAChB;;;;GAIG;AACD,UAAU;AACZ;;;GAGG;GACD,QAAQ;AACV;;;GAGG;GACD,KAAK,CAAA;AAET,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,MAAM,CAAiC,CAAA;AAE3E,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;CACnC;AAED,eAAO,MAAM,YAAY,EAAE,eAI1B,CAAA;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,yEAAyE;IACzE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,cAKnC,CAAA;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACrD;AAED,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAM9D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../src/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;CAAE,CAAA;AAEjF,eAAO,MAAM,YAAY,EAAE,cAAgC,CAAA;AAE3D,eAAO,MAAM,eAAe,YAAa,aAAa,CAAC,cAAc,CAAC,KAAG,cAGvE,CAAA;AAEF,+CAA+C;AAC/C,eAAO,MAAM,eAAe,QAAO,cAGjC,CAAA;AAkCF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,cAAc,GAAG,IAmBpE,CAAA;AA+BD,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAClD;AAED,0DAA0D;AAC1D,eAAO,MAAM,aAAa,gBACX,mBAAmB,UACxB,cAAc,KACrB,OAOF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,gBACR,mBAAmB,UACxB,cAAc,KACrB,OAGF,CAAA;AAED,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,WAAY,cAAc,KAAG,MAK7D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../src/Progress.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,uDAAuD;AACvD,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAA;AAE7E,mCAAmC;AACnC,MAAM,MAAM,aAAa;AACvB,oEAAoE;AAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE;AAC/F,wBAAwB;GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE;AAC5D,iEAAiE;GAC/D;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AACH,kCAAkC;GAChC;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACvF,mCAAmC;GACjC;IACE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AACH,6CAA6C;GAC3C;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AACH,mCAAmC;GACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACzF,2BAA2B;GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACtF,qEAAqE;GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,0BAA0B;AAC1B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC7D;;AAED,0CAA0C;AAC1C,qBAAa,QAAS,SAAQ,aAE7B;CAAG;AAEJ,yDAAyD;AACzD,eAAO,MAAM,IAAI,UAAW,aAAa,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAI3E,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAE5C,CAAA;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,YACf,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,KACtC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAGnB,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;gBAMxB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Resolve.d.ts","sourceRoot":"","sources":["../src/Resolve.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spec.d.ts","sourceRoot":"","sources":["../src/Spec.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,qEAAqE;AACrE,MAAM,MAAM,QAAQ;AAClB,yDAAyD;AACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACtD,gEAAgE;GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACpD,qDAAqD;GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,mEAAmE;AACnE,eAAO,MAAM,UAAU,SAAU,WAAW,KAAG,MAS9C,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,cAAc,aAAc,QAAQ,KAAG,MASnD,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,MAAM,GAAG,IA0B3D,CAAA;AAKD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,WAqBvC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,aAAa,QAAS,MAAM,QAAQ,MAAM,KAAG,QAqBzD,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,UAAU,WACb,aAAa,CAAC,MAAM,CAAC,KAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;CAehG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,UAAW,aAAa,CAAC,WAAW,CAAC,KAAG,aAAa,CAAC,WAAW,CAUxF,CAAA"}
package/src/Archive.ts DELETED
@@ -1,92 +0,0 @@
1
- /**
2
- * Turning a staged directory tree into a gzipped tarball.
3
- *
4
- * Uses `node-tar`, the same library npm itself packs with. Writing a USTAR
5
- * encoder by hand would be a fun afternoon and a bad idea: scoped package
6
- * paths routinely exceed the 100-byte name field, so correctness depends on
7
- * prefix-splitting and PAX headers that `tar` already gets right.
8
- */
9
- import * as Effect from "effect/Effect"
10
- import * as FileSystem from "effect/FileSystem"
11
- import type { PlatformError } from "effect/PlatformError"
12
- import { create } from "tar"
13
- import { ArchiveError } from "./Errors.js"
14
- import * as Progress from "./Progress.js"
15
-
16
- /** A finished archive. */
17
- export interface ArchiveResult {
18
- readonly path: string
19
- readonly bytes: number
20
- }
21
-
22
- /**
23
- * Packs `entries` (paths relative to `cwd`) into a gzipped tar at `outPath`.
24
- *
25
- * `portable` normalises uid/gid/mtime so the same inputs produce byte-identical
26
- * output — which matters when a security team wants to diff two bundles or
27
- * re-derive one from a manifest.
28
- */
29
- export const createArchive = (options: {
30
- readonly cwd: string
31
- readonly entries: ReadonlyArray<string>
32
- readonly outPath: string
33
- readonly gzipLevel?: number | undefined
34
- }): Effect.Effect<ArchiveResult, ArchiveError | PlatformError, FileSystem.FileSystem | Progress.Progress> =>
35
- Effect.gen(function*() {
36
- const fs = yield* FileSystem.FileSystem
37
-
38
- yield* Progress.emit({
39
- _tag: "ArchiveStarted",
40
- path: options.outPath,
41
- entryCount: options.entries.length
42
- })
43
-
44
- yield* Effect.tryPromise({
45
- try: () =>
46
- create(
47
- {
48
- gzip: options.gzipLevel === undefined ? true : { level: options.gzipLevel },
49
- file: options.outPath,
50
- cwd: options.cwd,
51
- portable: true,
52
- // Undo the `./` added below, so recorded entry names stay exactly
53
- // the registry paths the manifest lists.
54
- onWriteEntry: (entry) => {
55
- entry.path = entry.path.replace(/^\.\//, "")
56
- }
57
- },
58
- // Sorted so archive order is stable across runs and platforms.
59
- [...options.entries].sort().map(dotSlash)
60
- ),
61
- catch: (cause) => new ArchiveError(options.outPath, describe(cause), { cause })
62
- })
63
-
64
- const info = yield* fs.stat(options.outPath)
65
- const bytes = Number(info.size)
66
-
67
- yield* Progress.emit({ _tag: "ArchiveCompleted", path: options.outPath, bytes })
68
-
69
- return { path: options.outPath, bytes }
70
- })
71
-
72
- /**
73
- * Guards every entry against tar's `@` convention.
74
- *
75
- * In a tar file list, a leading `@` means "splice in the entries of this other
76
- * archive" — a GNU convention `node-tar` implements by stripping the `@` and
77
- * looking for what is left. Every scoped package is a top-level entry starting
78
- * with `@`, so this hit the bundler in both possible ways:
79
- *
80
- * - `@oxc-project` became `oxc-project`, which does not exist, and the run died
81
- * with an ENOENT naming a path that appears nowhere in the staging tree.
82
- * - `@esbuild` became `esbuild`, which *does* exist — the unscoped package of
83
- * the same name sitting right next to it. No error, and every scoped tarball
84
- * silently missing from a bundle that reported success. That is the dangerous
85
- * one: you would not find out until the install failed behind the firewall.
86
- *
87
- * `./@scope` is not subject to the convention and resolves identically.
88
- */
89
- const dotSlash = (entry: string): string => (entry.startsWith("./") ? entry : `./${entry}`)
90
-
91
- const describe = (cause: unknown): string =>
92
- cause instanceof Error ? cause.message : String(cause)