@swiftbrowser/cli 0.6.7 → 0.8.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 (90) hide show
  1. package/README.md +82 -11
  2. package/dist/appSources.d.ts +116 -0
  3. package/dist/appSources.js +624 -0
  4. package/dist/appSources.js.map +1 -0
  5. package/dist/browser.d.ts +4 -0
  6. package/dist/browser.js +8 -0
  7. package/dist/browser.js.map +1 -0
  8. package/dist/build.d.ts +17 -2
  9. package/dist/build.js +38 -11
  10. package/dist/build.js.map +1 -1
  11. package/dist/cli.js +28 -4
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/build.js +10 -7
  14. package/dist/commands/build.js.map +1 -1
  15. package/dist/commands/check.js +38 -8
  16. package/dist/commands/check.js.map +1 -1
  17. package/dist/commands/dev.d.ts +8 -4
  18. package/dist/commands/dev.js +25 -10
  19. package/dist/commands/dev.js.map +1 -1
  20. package/dist/commands/doctor.d.ts +8 -0
  21. package/dist/commands/doctor.js +52 -4
  22. package/dist/commands/doctor.js.map +1 -1
  23. package/dist/commands/kit.d.ts +1 -0
  24. package/dist/commands/kit.js +20 -5
  25. package/dist/commands/kit.js.map +1 -1
  26. package/dist/commands/shared.d.ts +24 -6
  27. package/dist/commands/shared.js +92 -16
  28. package/dist/commands/shared.js.map +1 -1
  29. package/dist/commands/test.d.ts +4 -2
  30. package/dist/commands/test.js +25 -17
  31. package/dist/commands/test.js.map +1 -1
  32. package/dist/compat.d.ts +2 -30
  33. package/dist/compat.js +2 -44
  34. package/dist/compat.js.map +1 -1
  35. package/dist/compiler.d.ts +50 -0
  36. package/dist/compiler.js +94 -0
  37. package/dist/compiler.js.map +1 -0
  38. package/dist/config.d.ts +5 -2
  39. package/dist/config.js +7 -3
  40. package/dist/config.js.map +1 -1
  41. package/dist/frameworks.d.ts +30 -0
  42. package/dist/frameworks.js +48 -0
  43. package/dist/frameworks.js.map +1 -0
  44. package/dist/icu.d.ts +2 -4
  45. package/dist/icu.js +7 -36
  46. package/dist/icu.js.map +1 -1
  47. package/dist/kit.d.ts +62 -17
  48. package/dist/kit.js +183 -33
  49. package/dist/kit.js.map +1 -1
  50. package/dist/log.js +2 -1
  51. package/dist/log.js.map +1 -1
  52. package/dist/manifest.d.ts +73 -0
  53. package/dist/manifest.js +324 -0
  54. package/dist/manifest.js.map +1 -0
  55. package/dist/moduleCache.d.ts +20 -0
  56. package/dist/moduleCache.js +98 -0
  57. package/dist/moduleCache.js.map +1 -0
  58. package/dist/objc.js +1 -1
  59. package/dist/objc.js.map +1 -1
  60. package/dist/packages.d.ts +8 -1
  61. package/dist/packages.js +10 -2
  62. package/dist/packages.js.map +1 -1
  63. package/dist/registry.d.ts +46 -0
  64. package/dist/registry.js +184 -0
  65. package/dist/registry.js.map +1 -0
  66. package/dist/resolve.d.ts +80 -0
  67. package/dist/resolve.js +396 -0
  68. package/dist/resolve.js.map +1 -0
  69. package/dist/stage.d.ts +5 -144
  70. package/dist/stage.js +19 -516
  71. package/dist/stage.js.map +1 -1
  72. package/dist/testDiscovery.d.ts +44 -0
  73. package/dist/testDiscovery.js +111 -0
  74. package/dist/testDiscovery.js.map +1 -0
  75. package/dist/vendor.d.ts +41 -5
  76. package/dist/vendor.js +71 -31
  77. package/dist/vendor.js.map +1 -1
  78. package/dist/wasmCompiler.d.ts +160 -0
  79. package/dist/wasmCompiler.js +628 -0
  80. package/dist/wasmCompiler.js.map +1 -0
  81. package/dist/wasmFlags.d.ts +31 -0
  82. package/dist/wasmFlags.js +56 -0
  83. package/dist/wasmFlags.js.map +1 -0
  84. package/dist/wasmPackages.d.ts +163 -0
  85. package/dist/wasmPackages.js +466 -0
  86. package/dist/wasmPackages.js.map +1 -0
  87. package/dist/wasmSdk.d.ts +27 -0
  88. package/dist/wasmSdk.js +103 -0
  89. package/dist/wasmSdk.js.map +1 -0
  90. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"packages.js","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../src/packages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /** A registry's view of a package: its releases, and a release's sources. */
2
+ export interface Registry {
3
+ /** The versions the registry has of `id` (`scope.name`), unavailable ones left out. */
4
+ releases(id: string): Promise<string[]>;
5
+ /** Unpacks the release's source archive into `dir`. */
6
+ download(id: string, version: string, dir: string): Promise<void>;
7
+ }
8
+ /** registries.json, as far as resolution reads it. */
9
+ interface RegistriesConfiguration {
10
+ registries?: Record<string, {
11
+ url?: string;
12
+ } | undefined>;
13
+ authentication?: Record<string, {
14
+ type?: 'token' | 'basic';
15
+ } | undefined>;
16
+ }
17
+ /** Where SwiftPM keeps registries.json: the package's (here, the app's folder), then the user's. */
18
+ export declare function registryConfigurationFiles(appRoot: string, home?: string): string[];
19
+ /** The configurations in `files` merged, the first file's entries winning (the app's over the user's). */
20
+ export declare function readRegistryConfiguration(files: readonly string[]): RegistriesConfiguration;
21
+ /** `scope.name` split, as SwiftPM validates it (a scope, a dot, a name). */
22
+ export declare function splitPackageID(id: string): {
23
+ scope: string;
24
+ name: string;
25
+ };
26
+ /** The registry URL for a scope: its own entry, else `[default]`. */
27
+ export declare function registryURL(configuration: RegistriesConfiguration, scope: string): string | undefined;
28
+ /** `~/.netrc`'s login and password for a host. */
29
+ export declare function netrcCredentials(text: string, host: string): {
30
+ login?: string;
31
+ password?: string;
32
+ } | undefined;
33
+ /**
34
+ * The entries of a Zip archive (stored or deflated, as `swift package
35
+ * archive-source` writes them), by path. Directories and paths that would
36
+ * leave the archive's folder are left out.
37
+ */
38
+ export declare function readZip(archive: Uint8Array): Map<string, Buffer>;
39
+ /** Writes an archive's files into `dir`, without their single top-level folder (SwiftPM's stripFirstLevel). */
40
+ export declare function unpackSourceArchive(archive: Uint8Array, dir: string): void;
41
+ /** The registries configured for an app, over HTTP (`fetch`). */
42
+ export declare function httpRegistry(configuration: RegistriesConfiguration, options?: {
43
+ netrc?: string;
44
+ fetch?: typeof fetch;
45
+ }): Registry;
46
+ export {};
@@ -0,0 +1,184 @@
1
+ // Swift package registries (SE-0292), for resolving packages without SwiftPM
2
+ // (resolve.ts): a dependency declared `.package(id: "scope.name", ...)` is
3
+ // found in the registry configured for its scope, as SwiftPM finds it. The
4
+ // configuration is SwiftPM's: `.swiftpm/configuration/registries.json` in
5
+ // the app's folder, then in the home folder; credentials come from
6
+ // `~/.netrc`. A release is listed (`GET /{scope}/{name}`), its source archive
7
+ // downloaded (`GET /{scope}/{name}/{version}.zip`), checked against the
8
+ // checksum its metadata gives, and unpacked without its top-level folder.
9
+ import { createHash } from 'node:crypto';
10
+ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs';
11
+ import { homedir } from 'node:os';
12
+ import path from 'node:path';
13
+ import { inflateRawSync } from 'node:zlib';
14
+ import { CliError } from './log.js';
15
+ /** Where SwiftPM keeps registries.json: the package's (here, the app's folder), then the user's. */
16
+ export function registryConfigurationFiles(appRoot, home = homedir()) {
17
+ return [path.join(appRoot, '.swiftpm', 'configuration', 'registries.json'), path.join(home, '.swiftpm', 'configuration', 'registries.json')];
18
+ }
19
+ /** The configurations in `files` merged, the first file's entries winning (the app's over the user's). */
20
+ export function readRegistryConfiguration(files) {
21
+ const merged = { registries: {}, authentication: {} };
22
+ for (const file of [...files].reverse()) {
23
+ if (!existsSync(file))
24
+ continue;
25
+ let json;
26
+ try {
27
+ json = JSON.parse(readFileSync(file, 'utf8'));
28
+ }
29
+ catch (error) {
30
+ throw new CliError(`${file} is not valid JSON: ${error.message}`);
31
+ }
32
+ Object.assign(merged.registries, json.registries ?? {});
33
+ Object.assign(merged.authentication, json.authentication ?? {});
34
+ }
35
+ return merged;
36
+ }
37
+ /** `scope.name` split, as SwiftPM validates it (a scope, a dot, a name). */
38
+ export function splitPackageID(id) {
39
+ const match = /^([A-Za-z0-9](?:[A-Za-z0-9-]{0,38}))\.([A-Za-z0-9][A-Za-z0-9_-]{0,99})$/.exec(id);
40
+ if (!match)
41
+ throw new CliError(`"${id}" is not a registry package identifier (scope.name)`);
42
+ return { scope: match[1], name: match[2] };
43
+ }
44
+ /** The registry URL for a scope: its own entry, else `[default]`. */
45
+ export function registryURL(configuration, scope) {
46
+ const registries = configuration.registries ?? {};
47
+ const entry = Object.entries(registries).find(([key]) => key.toLowerCase() === scope.toLowerCase())?.[1] ?? registries['[default]'];
48
+ return entry?.url?.replace(/\/+$/, '');
49
+ }
50
+ /** `~/.netrc`'s login and password for a host. */
51
+ export function netrcCredentials(text, host) {
52
+ const tokens = text.split(/\s+/).filter(Boolean);
53
+ let current;
54
+ let found;
55
+ let fallback;
56
+ for (let i = 0; i < tokens.length; i++) {
57
+ const token = tokens[i];
58
+ if (token === 'machine' || token === 'default') {
59
+ current = token === 'machine' ? { machine: tokens[++i] } : {};
60
+ if (current.machine === host)
61
+ found = current;
62
+ if (token === 'default')
63
+ fallback = current;
64
+ }
65
+ else if (current && (token === 'login' || token === 'password')) {
66
+ current[token] = tokens[++i];
67
+ }
68
+ }
69
+ const pick = found ?? fallback;
70
+ return pick && (pick.login || pick.password) ? { ...(pick.login ? { login: pick.login } : {}), ...(pick.password ? { password: pick.password } : {}) } : undefined;
71
+ }
72
+ /**
73
+ * The entries of a Zip archive (stored or deflated, as `swift package
74
+ * archive-source` writes them), by path. Directories and paths that would
75
+ * leave the archive's folder are left out.
76
+ */
77
+ export function readZip(archive) {
78
+ const data = Buffer.from(archive.buffer, archive.byteOffset, archive.byteLength);
79
+ // The end of central directory record: its signature, searched from the end (it may have a comment).
80
+ let end = -1;
81
+ for (let i = data.length - 22; i >= Math.max(0, data.length - 22 - 0xffff); i--) {
82
+ if (data.readUInt32LE(i) === 0x06054b50) {
83
+ end = i;
84
+ break;
85
+ }
86
+ }
87
+ if (end < 0)
88
+ throw new CliError('the source archive is not a Zip archive');
89
+ const count = data.readUInt16LE(end + 10);
90
+ let offset = data.readUInt32LE(end + 16);
91
+ const files = new Map();
92
+ for (let n = 0; n < count; n++) {
93
+ if (data.readUInt32LE(offset) !== 0x02014b50)
94
+ throw new CliError('the source archive\'s central directory is damaged');
95
+ const method = data.readUInt16LE(offset + 10);
96
+ const compressedSize = data.readUInt32LE(offset + 20);
97
+ const nameLength = data.readUInt16LE(offset + 28);
98
+ const extraLength = data.readUInt16LE(offset + 30);
99
+ const commentLength = data.readUInt16LE(offset + 32);
100
+ const local = data.readUInt32LE(offset + 42);
101
+ const name = data.subarray(offset + 46, offset + 46 + nameLength).toString('utf8');
102
+ offset += 46 + nameLength + extraLength + commentLength;
103
+ if (name.endsWith('/'))
104
+ continue;
105
+ const parts = name.split('/');
106
+ if (name.startsWith('/') || parts.some((part) => part === '..' || part === ''))
107
+ continue;
108
+ const start = local + 30 + data.readUInt16LE(local + 26) + data.readUInt16LE(local + 28);
109
+ const raw = data.subarray(start, start + compressedSize);
110
+ if (method === 0)
111
+ files.set(name, Buffer.from(raw));
112
+ else if (method === 8)
113
+ files.set(name, inflateRawSync(raw));
114
+ else
115
+ throw new CliError(`the source archive uses a compression this reader does not (${method}) for ${name}`);
116
+ }
117
+ return files;
118
+ }
119
+ /** Writes an archive's files into `dir`, without their single top-level folder (SwiftPM's stripFirstLevel). */
120
+ export function unpackSourceArchive(archive, dir) {
121
+ const files = readZip(archive);
122
+ const tops = new Set([...files.keys()].map((name) => name.split('/')[0]));
123
+ const strip = tops.size === 1 && [...files.keys()].every((name) => name.includes('/'));
124
+ for (const [name, bytes] of files) {
125
+ const file = path.join(dir, ...(strip ? name.split('/').slice(1) : name.split('/')));
126
+ mkdirSync(path.dirname(file), { recursive: true });
127
+ writeFileSync(file, bytes);
128
+ }
129
+ }
130
+ /** The registries configured for an app, over HTTP (`fetch`). */
131
+ export function httpRegistry(configuration, options = {}) {
132
+ const fetchFn = options.fetch ?? fetch;
133
+ const netrc = options.netrc ?? path.join(homedir(), '.netrc');
134
+ const base = (id) => {
135
+ const { scope, name } = splitPackageID(id);
136
+ const url = registryURL(configuration, scope);
137
+ if (!url) {
138
+ throw new CliError(`no package registry is configured for ${id}: add one for its scope (or a [default]) to .swiftpm/configuration/registries.json, as \`swift package-registry set\` does`);
139
+ }
140
+ return { url, scope, name };
141
+ };
142
+ const headers = (url, accept) => {
143
+ const host = new URL(url).hostname;
144
+ const type = configuration.authentication?.[host]?.type;
145
+ const result = { Accept: accept };
146
+ if (type && existsSync(netrc)) {
147
+ const credentials = netrcCredentials(readFileSync(netrc, 'utf8'), host);
148
+ if (credentials?.password && type === 'token')
149
+ result['Authorization'] = `Bearer ${credentials.password}`;
150
+ else if (credentials && type === 'basic')
151
+ result['Authorization'] = `Basic ${Buffer.from(`${credentials.login ?? ''}:${credentials.password ?? ''}`).toString('base64')}`;
152
+ }
153
+ return result;
154
+ };
155
+ const get = async (url, accept) => {
156
+ const response = await fetchFn(url, { headers: headers(url, accept) });
157
+ if (!response.ok)
158
+ throw new CliError(`the package registry answered ${response.status} for ${url}`);
159
+ return response;
160
+ };
161
+ return {
162
+ async releases(id) {
163
+ const { url, scope, name } = base(id);
164
+ const json = await (await get(`${url}/${scope}/${name}`, 'application/vnd.swift.registry.v1+json')).json();
165
+ return Object.entries(json.releases ?? {}).filter(([, release]) => !release.problem).map(([version]) => version);
166
+ },
167
+ async download(id, version, dir) {
168
+ const { url, scope, name } = base(id);
169
+ const metadata = await (await get(`${url}/${scope}/${name}/${version}`, 'application/vnd.swift.registry.v1+json')).json();
170
+ const checksum = metadata.resources?.find((resource) => resource.name === 'source-archive')?.checksum;
171
+ const archive = new Uint8Array(await (await get(`${url}/${scope}/${name}/${version}.zip`, 'application/vnd.swift.registry.v1+zip')).arrayBuffer());
172
+ if (checksum && createHash('sha256').update(archive).digest('hex') !== checksum.toLowerCase()) {
173
+ throw new CliError(`${id} ${version}'s source archive does not match the checksum the registry gives`);
174
+ }
175
+ const temp = `${dir}.tmp-${process.pid}`;
176
+ rmSync(temp, { recursive: true, force: true });
177
+ unpackSourceArchive(archive, temp);
178
+ mkdirSync(path.dirname(dir), { recursive: true });
179
+ rmSync(dir, { recursive: true, force: true });
180
+ renameSync(temp, dir);
181
+ },
182
+ };
183
+ }
184
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,mEAAmE;AACnE,8EAA8E;AAC9E,wEAAwE;AACxE,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgBpC,oGAAoG;AACpG,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,OAAe,OAAO,EAAE;IAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC/I,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,yBAAyB,CAAC,KAAwB;IAChE,MAAM,MAAM,GAAsC,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IACzF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,IAAI,IAA6B,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,uBAAwB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,KAAK,GAAG,yEAAyE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,qDAAqD,CAAC,CAAC;IAC5F,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,aAAsC,EAAE,KAAa;IAC/E,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IACpI,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,OAA4E,CAAC;IACjF,IAAI,KAAqB,CAAC;IAC1B,IAAI,QAAwB,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;gBAAE,KAAK,GAAG,OAAO,CAAC;YAC9C,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,GAAG,OAAO,CAAC;QAC9C,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACrK,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAmB;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjF,qGAAqG;IACrG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACxC,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,GAAG,GAAG,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,yCAAyC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,QAAQ,CAAC,oDAAoD,CAAC,CAAC;QACvH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,IAAI,EAAE,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;QACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAAE,SAAS;QACzF,MAAM,KAAK,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C,IAAI,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;;YACvD,MAAM,IAAI,QAAQ,CAAC,+DAA+D,MAAM,SAAS,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,mBAAmB,CAAC,OAAmB,EAAE,GAAW;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAAC,aAAsC,EAAE,UAAoD,EAAE;IACzH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,CAAC,EAAU,EAAgD,EAAE;QACxE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,yCAAyC,EAAE,4HAA4H,CAAC,CAAC;QAC9L,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,MAAc,EAA0B,EAAE;QACtE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QACxD,MAAM,MAAM,GAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1D,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YACxE,IAAI,WAAW,EAAE,QAAQ,IAAI,IAAI,KAAK,OAAO;gBAAE,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,CAAC,QAAQ,EAAE,CAAC;iBACrG,IAAI,WAAW,IAAI,IAAI,KAAK,OAAO;gBAAE,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,IAAI,WAAW,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5K,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,KAAK,EAAE,GAAW,EAAE,MAAc,EAAqB,EAAE;QACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,QAAQ,CAAC,iCAAiC,QAAQ,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAC,CAAC,IAAI,EAA0D,CAAC;YACnK,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACnH,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG;YAC7B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,EAAE,wCAAwC,CAAC,CAAC,CAAC,IAAI,EAEtH,CAAC;YACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,QAAQ,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,MAAM,EAAE,uCAAuC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnJ,IAAI,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC9F,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,OAAO,kEAAkE,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,GAAG,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,80 @@
1
+ import type { SwiftPackageRequirement } from '@swiftbrowser/xcodeproj';
2
+ import type { Registry } from './registry.js';
3
+ import type { EvaluatedManifest, Requirement } from './manifest.js';
4
+ import type { PackagePlan } from './packages.js';
5
+ import type { PackageNode, PackageTools } from './vendor.js';
6
+ interface Semver {
7
+ major: number;
8
+ minor: number;
9
+ patch: number;
10
+ prerelease: string[];
11
+ }
12
+ export declare function parseVersion(text: string): Semver | null;
13
+ export declare function compareVersions(a: Semver, b: Semver): number;
14
+ /** Whether `version` meets a version requirement; prereleases only where the requirement names one. */
15
+ export declare function satisfies(version: Semver, requirement: Requirement): boolean;
16
+ /** An Xcode project's dependency rule as a manifest's requirement. */
17
+ export declare function projectRequirement(rule: SwiftPackageRequirement): Requirement;
18
+ /** A pinned package: the revision (empty for a registry's), and the version or branch it was resolved to. */
19
+ export interface Pin {
20
+ revision: string;
21
+ version?: string;
22
+ branch?: string;
23
+ }
24
+ /** The pins of a Package.resolved (formats 1, 2 and 3), by identity. */
25
+ export declare function readPins(text: string): Map<string, Pin>;
26
+ /** SwiftPM's identity of a location: its last path component, without `.git`, lower-cased. */
27
+ export declare function identityOf(location: string): string;
28
+ export interface Git {
29
+ /** Tag name → commit, for a repository. */
30
+ tags(url: string): Map<string, string>;
31
+ /** The commit a branch is at. */
32
+ branch(url: string, branch: string): string;
33
+ /** Checks out `ref` (a tag or a commit) of `url` into `dir`, shallowly; returns the commit. */
34
+ checkout(url: string, ref: string, dir: string): string;
35
+ }
36
+ /** The git command line. */
37
+ export declare const systemGit: Git;
38
+ /** A dependency of the app: a remote package with its rule, or a local folder. */
39
+ export type RootDependency = {
40
+ kind: 'remote';
41
+ identity: string;
42
+ url: string;
43
+ requirement: Requirement;
44
+ products: string[];
45
+ } | {
46
+ kind: 'registry';
47
+ identity: string;
48
+ id: string;
49
+ requirement: Requirement;
50
+ products: string[];
51
+ } | {
52
+ kind: 'local';
53
+ identity: string;
54
+ path: string;
55
+ products: string[];
56
+ };
57
+ export interface ResolveOptions {
58
+ /** Reads a package's manifest (manifest.ts's evaluateManifest). */
59
+ readManifest: (dir: string) => Promise<EvaluatedManifest>;
60
+ pins?: ReadonlyMap<string, Pin>;
61
+ git?: Git;
62
+ /** The package registries, for `.package(id:)` dependencies. */
63
+ registry?: Registry;
64
+ /** Where checkouts go; default the CLI's cache. */
65
+ checkouts?: string;
66
+ onProgress?: (text: string) => void;
67
+ }
68
+ /**
69
+ * The app's packages, resolved and checked out: each package once, with its
70
+ * version, its checkout and the packages it depends on (the shape vendor.ts
71
+ * reads from SwiftPM).
72
+ */
73
+ export declare function resolvePackages(roots: readonly RootDependency[], options: ResolveOptions): Promise<PackageNode[]>;
74
+ /** The Package.resolved of an app: its Xcode project's, or its folder's. */
75
+ export declare function appPins(locations: readonly string[]): Map<string, Pin>;
76
+ /** The app's package dependencies as the resolver's roots. */
77
+ export declare function rootDependencies(plans: readonly PackagePlan[]): RootDependency[];
78
+ /** Packages without SwiftPM (vendor.ts's PackageTools): this resolver, and manifests read by `readManifest`. */
79
+ export declare function resolverPackageTools(options: Omit<ResolveOptions, 'git' | 'checkouts'>): PackageTools;
80
+ export {};