@drawcall/market 0.1.98 → 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.
- package/README.md +7 -4
- package/dist/asset-implementation.d.ts +3 -3
- package/dist/asset-implementation.d.ts.map +1 -1
- package/dist/cli.js +15 -3
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -1
- package/dist/commands/install.js +10 -7
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/list.d.ts +5 -5
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +22 -9
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/pack.d.ts.map +1 -1
- package/dist/commands/pack.js +2 -2
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/search.d.ts +2 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +14 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/sync.d.ts +6 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +22 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/upload.d.ts.map +1 -1
- package/dist/commands/upload.js +20 -10
- package/dist/commands/upload.js.map +1 -1
- package/dist/contract.d.ts +4 -6
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -2
- package/dist/contract.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +69 -27
- package/dist/install.js.map +1 -1
- package/dist/output.d.ts +3 -4
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +40 -7
- package/dist/output.js.map +1 -1
- package/dist/pack.d.ts +36 -6
- package/dist/pack.d.ts.map +1 -1
- package/dist/pack.js +230 -57
- package/dist/pack.js.map +1 -1
- package/dist/package-json.d.ts +4 -3
- package/dist/package-json.d.ts.map +1 -1
- package/dist/package-json.js +3 -1
- package/dist/package-json.js.map +1 -1
- package/dist/resolve.d.ts +8 -1
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +35 -3
- package/dist/resolve.js.map +1 -1
- package/dist/schemas.d.ts +19 -7
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +22 -7
- package/dist/schemas.js.map +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +4 -2
- package/dist/skill.js.map +1 -1
- package/dist/v1/client.d.ts +15 -0
- package/dist/v1/client.d.ts.map +1 -0
- package/dist/v1/client.js +18 -0
- package/dist/v1/client.js.map +1 -0
- package/dist/v1/contract.d.ts +206 -0
- package/dist/v1/contract.d.ts.map +1 -0
- package/dist/v1/contract.js +77 -0
- package/dist/v1/contract.js.map +1 -0
- package/dist/v1/index.d.ts +3 -0
- package/dist/v1/index.d.ts.map +1 -0
- package/dist/v1/index.js +3 -0
- package/dist/v1/index.js.map +1 -0
- package/package.json +2 -1
- package/skills/market/SKILL.md +4 -2
- package/src/asset-implementation.ts +3 -3
- package/src/cli.ts +20 -4
- package/src/client.ts +26 -0
- package/src/commands/install.ts +11 -8
- package/src/commands/list.ts +28 -14
- package/src/commands/pack.ts +7 -2
- package/src/commands/search.ts +21 -2
- package/src/commands/sync.ts +30 -0
- package/src/commands/upload.ts +26 -11
- package/src/contract.ts +0 -3
- package/src/index.ts +13 -3
- package/src/install.ts +89 -35
- package/src/output.ts +52 -11
- package/src/pack.ts +317 -70
- package/src/package-json.ts +7 -4
- package/src/resolve.ts +47 -4
- package/src/schemas.ts +32 -8
- package/src/skill.ts +4 -2
- package/src/v1/client.ts +28 -0
- package/src/v1/contract.ts +140 -0
- package/src/v1/index.ts +2 -0
- package/dist/market-lock.d.ts +0 -16
- package/dist/market-lock.d.ts.map +0 -1
- package/dist/market-lock.js +0 -48
- package/dist/market-lock.js.map +0 -1
- package/src/market-lock.ts +0 -68
package/dist/pack.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { MarketClient } from './client.js';
|
|
1
2
|
import type { AssetInstallMetadata } from './contract.js';
|
|
2
|
-
import { type AssetType } from './schemas.js';
|
|
3
|
+
import { type AssetDependencies, type AssetType } from './schemas.js';
|
|
3
4
|
export interface PackDependencySpecs {
|
|
4
5
|
npm?: string[];
|
|
5
6
|
asset?: string[];
|
|
@@ -14,15 +15,16 @@ export interface PackPolicy {
|
|
|
14
15
|
readPackageJsonDependencies: boolean;
|
|
15
16
|
omitUnchangedInstalledFiles: boolean;
|
|
16
17
|
}
|
|
17
|
-
export type FetchFileManifest = (name: string,
|
|
18
|
+
export type FetchFileManifest = (name: string, range: string) => Promise<Record<string, string>>;
|
|
18
19
|
export interface PackAssetOptions {
|
|
19
20
|
cwd?: string;
|
|
20
21
|
dependencies: ParsedPackDependencies;
|
|
21
22
|
policy?: PackPolicy;
|
|
22
23
|
/**
|
|
23
|
-
* Fetch the server's content hashes for
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Fetch the server's content hashes for a dependency's files (see `asset.fileManifest`), given
|
|
25
|
+
* the declared range. Pack matches local files against these hashes by content — independent of
|
|
26
|
+
* path, so renamed installed files are omitted too and recorded as aliases. Omit this (or a
|
|
27
|
+
* failing fetch) and the dependency's files are kept.
|
|
26
28
|
*/
|
|
27
29
|
fetchFileManifest?: FetchFileManifest;
|
|
28
30
|
}
|
|
@@ -30,12 +32,20 @@ export interface PackedAsset {
|
|
|
30
32
|
sourcePath: string;
|
|
31
33
|
zip: Uint8Array;
|
|
32
34
|
npmDependencies: Record<string, string>;
|
|
33
|
-
assetDependencies:
|
|
35
|
+
assetDependencies: AssetDependencies;
|
|
34
36
|
skillDependencies: Record<string, string>;
|
|
35
37
|
omittedUnchangedInstalledFiles: boolean;
|
|
36
38
|
/** Number of zip entries dropped because a `.gitignore` inside the zip excluded them. */
|
|
37
39
|
gitignoredFiles: number;
|
|
38
40
|
}
|
|
41
|
+
export declare function sha256(bytes: Uint8Array): string;
|
|
42
|
+
/**
|
|
43
|
+
* A `FetchFileManifest` backed by the Market API. The manifest endpoint needs an exact version, so
|
|
44
|
+
* an exact declared range is used directly and any other range resolves to the latest version —
|
|
45
|
+
* without a local lockfile the installed version is not recorded, and content addressing keeps a
|
|
46
|
+
* mismatch safe: a stale hash simply fails to match and the file is kept.
|
|
47
|
+
*/
|
|
48
|
+
export declare function fileManifestForRange(asset: MarketClient['asset']): FetchFileManifest;
|
|
39
49
|
export declare function packAsset(zipFilter: string, opts: PackAssetOptions): Promise<PackedAsset>;
|
|
40
50
|
export declare function parsePackDependencies(specs: PackDependencySpecs): ParsedPackDependencies;
|
|
41
51
|
export declare function packPolicyForType(type: AssetType | undefined): PackPolicy | undefined;
|
|
@@ -52,4 +62,24 @@ export declare function parseVersionedDeps(specs: string[], kind: 'npm' | 'asset
|
|
|
52
62
|
* first `=` is treated as the separator.
|
|
53
63
|
*/
|
|
54
64
|
export declare function parseSkillDeps(specs: string[]): Record<string, string>;
|
|
65
|
+
export interface AssetDependencySync {
|
|
66
|
+
projectRoot: string;
|
|
67
|
+
/** Whether package.json was rewritten. */
|
|
68
|
+
changed: boolean;
|
|
69
|
+
assetDependencies: AssetDependencies;
|
|
70
|
+
/** Dependency files whose canonical bytes were found nowhere (locally modified or deleted). */
|
|
71
|
+
missing: Array<{
|
|
72
|
+
name: string;
|
|
73
|
+
path: string;
|
|
74
|
+
}>;
|
|
75
|
+
/** Dependencies left untouched because their manifest could not be fetched. */
|
|
76
|
+
skipped: string[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update the aliases in package.json `assetDependencies` to match where each dependency's files
|
|
80
|
+
* currently live — the standalone form of what pack does before omitting (`market sync`). Renamed
|
|
81
|
+
* files gain an alias, files back at their canonical path lose theirs, and dependencies whose
|
|
82
|
+
* manifest cannot be fetched are reported as skipped rather than blindly rewritten.
|
|
83
|
+
*/
|
|
84
|
+
export declare function syncAssetDependencies(cwd: string, fetchFileManifest: FetchFileManifest): Promise<AssetDependencySync>;
|
|
55
85
|
//# sourceMappingURL=pack.d.ts.map
|
package/dist/pack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"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"}
|
package/dist/pack.js
CHANGED
|
@@ -1,11 +1,37 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
1
2
|
import * as fs from 'fs/promises';
|
|
2
3
|
import * as path from 'path';
|
|
3
4
|
import { unzipSync, zipSync } from 'fflate';
|
|
4
5
|
import ignore from 'ignore';
|
|
5
6
|
import { findInstallRoot } from './install.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import { packageJsonAssetDependencies, packageJsonAssetDependenciesFromFiles, packageJsonNpmDependenciesFromFiles, parsePackageJson, } from './package-json.js';
|
|
8
|
+
import { MAX_UPLOAD_ZIP_SIZE_BYTES, assetDependencyAlias, assetDependencyRange, assetDependencyValue, semverSchema, } from './schemas.js';
|
|
9
|
+
export function sha256(bytes) {
|
|
10
|
+
return createHash('sha256').update(bytes).digest('hex');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A `FetchFileManifest` backed by the Market API. The manifest endpoint needs an exact version, so
|
|
14
|
+
* an exact declared range is used directly and any other range resolves to the latest version —
|
|
15
|
+
* without a local lockfile the installed version is not recorded, and content addressing keeps a
|
|
16
|
+
* mismatch safe: a stale hash simply fails to match and the file is kept.
|
|
17
|
+
*/
|
|
18
|
+
export function fileManifestForRange(asset) {
|
|
19
|
+
return async (name, range) => {
|
|
20
|
+
const exact = exactRangeVersion(range);
|
|
21
|
+
const meta = await asset.exact({
|
|
22
|
+
name,
|
|
23
|
+
...(exact ? { version: exact } : {}),
|
|
24
|
+
includeUnapproved: true,
|
|
25
|
+
});
|
|
26
|
+
if (!meta)
|
|
27
|
+
return {};
|
|
28
|
+
return asset.fileManifest({ name, version: meta.version ?? meta.latestVersion });
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function exactRangeVersion(range) {
|
|
32
|
+
const candidate = range.trim().replace(/^=/u, '');
|
|
33
|
+
return semverSchema.safeParse(candidate).success ? candidate : null;
|
|
34
|
+
}
|
|
9
35
|
export async function packAsset(zipFilter, opts) {
|
|
10
36
|
const cwd = opts.cwd ?? process.cwd();
|
|
11
37
|
// A directory packs without ever zipping the full app first: gitignored trees are never read,
|
|
@@ -31,12 +57,17 @@ export async function packAsset(zipFilter, opts) {
|
|
|
31
57
|
: {};
|
|
32
58
|
const npmDependencies = { ...packageJsonNpmDependencies, ...opts.dependencies.npmDependencies };
|
|
33
59
|
// Drop anything the zip's own .gitignore excludes (node_modules, build output, secrets…), then —
|
|
34
|
-
// for templates — omit
|
|
35
|
-
//
|
|
60
|
+
// for templates — omit each installed dependency file at its resolved location (matched by
|
|
61
|
+
// content hash, so renamed copies are dropped too and recorded as aliases; duplicates ship).
|
|
62
|
+
// Only removals happen, so a smaller count means something was dropped; re-zip only then.
|
|
36
63
|
const { kept: withoutIgnored, gitignored } = applyGitignore(sourceFiles);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
64
|
+
let files = withoutIgnored;
|
|
65
|
+
let finalAssetDependencies = assetDependencies;
|
|
66
|
+
if (policy.omitUnchangedInstalledFiles) {
|
|
67
|
+
const omitted = await withoutInstalledDependencyFiles(withoutIgnored, assetDependencies, opts.fetchFileManifest);
|
|
68
|
+
files = omitted.kept;
|
|
69
|
+
finalAssetDependencies = omitted.assetDependencies;
|
|
70
|
+
}
|
|
40
71
|
const originalCount = Object.keys(sourceFiles).length;
|
|
41
72
|
const afterIgnoreCount = Object.keys(withoutIgnored).length;
|
|
42
73
|
const finalCount = Object.keys(files).length;
|
|
@@ -44,15 +75,18 @@ export async function packAsset(zipFilter, opts) {
|
|
|
44
75
|
sourcePath: zipFile,
|
|
45
76
|
zip: finalCount < originalCount ? zipSync(files) : sourceZip,
|
|
46
77
|
npmDependencies,
|
|
47
|
-
assetDependencies,
|
|
78
|
+
assetDependencies: finalAssetDependencies,
|
|
48
79
|
skillDependencies: opts.dependencies.skillDependencies,
|
|
49
80
|
omittedUnchangedInstalledFiles: finalCount < afterIgnoreCount,
|
|
50
81
|
gitignoredFiles: gitignored,
|
|
51
82
|
};
|
|
52
83
|
}
|
|
53
84
|
// Pack straight from a project directory. Walk order matters for speed: `.gitignore` rules prune
|
|
54
|
-
// whole subtrees before anything is read,
|
|
55
|
-
//
|
|
85
|
+
// whole subtrees before anything is read, and only the survivors are ever held in memory /
|
|
86
|
+
// compressed. Installed dependency files are matched by content hash — independent of their path —
|
|
87
|
+
// so renamed copies are omitted too (exactly one per dependency file; duplicates ship). The
|
|
88
|
+
// resolved location is recorded as an alias on the dependency entry and written back to
|
|
89
|
+
// package.json, which is how a later install restores the renamed layout.
|
|
56
90
|
async function packDirectory(dir, opts) {
|
|
57
91
|
const hasRootPackageJson = Boolean(await maybeStat(path.join(dir, 'package.json')));
|
|
58
92
|
const policy = opts.policy ?? {
|
|
@@ -73,22 +107,41 @@ async function packDirectory(dir, opts) {
|
|
|
73
107
|
: {}),
|
|
74
108
|
...opts.dependencies.npmDependencies,
|
|
75
109
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
110
|
+
const index = policy.omitUnchangedInstalledFiles
|
|
111
|
+
? await dependencyFileIndex(assetDependencies, opts.fetchFileManifest)
|
|
112
|
+
: emptyDependencyFileIndex();
|
|
113
|
+
const dependencyHashes = new Set(index.files.map((file) => file.hash));
|
|
114
|
+
// Files whose bytes match a dependency file are deferred: whether one is omitted or ships (a
|
|
115
|
+
// duplicate copy) is only known once the whole tree is hashed, and deferring keeps dependency
|
|
116
|
+
// bytes out of memory during the walk.
|
|
81
117
|
const files = {};
|
|
82
|
-
|
|
118
|
+
const hashesByPath = new Map();
|
|
119
|
+
const deferred = [];
|
|
83
120
|
for (const relative of walk.kept) {
|
|
84
121
|
const content = new Uint8Array(await fs.readFile(path.join(dir, relative)));
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
122
|
+
if (dependencyHashes.size === 0) {
|
|
123
|
+
files[relative] = content;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const hash = sha256(content);
|
|
127
|
+
hashesByPath.set(relative, hash);
|
|
128
|
+
if (dependencyHashes.has(hash)) {
|
|
129
|
+
deferred.push(relative);
|
|
88
130
|
continue;
|
|
89
131
|
}
|
|
90
132
|
files[relative] = content;
|
|
91
133
|
}
|
|
134
|
+
const layout = resolveDependencyLayout(assetDependencies, index, hashesByPath);
|
|
135
|
+
for (const relative of deferred) {
|
|
136
|
+
if (layout.omit.has(relative))
|
|
137
|
+
continue;
|
|
138
|
+
files[relative] = new Uint8Array(await fs.readFile(path.join(dir, relative)));
|
|
139
|
+
}
|
|
140
|
+
if (policy.readPackageJsonDependencies && hasRootPackageJson) {
|
|
141
|
+
const rewritten = await writeBackAssetDependencies(dir, layout.assetDependencies);
|
|
142
|
+
if (rewritten && files['package.json'])
|
|
143
|
+
files['package.json'] = rewritten;
|
|
144
|
+
}
|
|
92
145
|
const zip = zipSync(files);
|
|
93
146
|
if (zip.byteLength >= MAX_UPLOAD_ZIP_SIZE_BYTES) {
|
|
94
147
|
throw new Error('Packed zip must be smaller than 1 GB');
|
|
@@ -97,9 +150,9 @@ async function packDirectory(dir, opts) {
|
|
|
97
150
|
sourcePath: dir,
|
|
98
151
|
zip,
|
|
99
152
|
npmDependencies,
|
|
100
|
-
assetDependencies,
|
|
153
|
+
assetDependencies: layout.assetDependencies,
|
|
101
154
|
skillDependencies: opts.dependencies.skillDependencies,
|
|
102
|
-
omittedUnchangedInstalledFiles:
|
|
155
|
+
omittedUnchangedInstalledFiles: layout.omit.size > 0,
|
|
103
156
|
gitignoredFiles: walk.ignored,
|
|
104
157
|
};
|
|
105
158
|
}
|
|
@@ -143,8 +196,9 @@ function toPosix(p) {
|
|
|
143
196
|
}
|
|
144
197
|
const GITIGNORE_FILENAME = '.gitignore';
|
|
145
198
|
// Directories that never belong in a published asset — VCS/tooling metadata, reinstallable
|
|
146
|
-
// dependencies, and the market's own
|
|
147
|
-
// in every pack path, regardless of any `.gitignore`, so a re-uploaded asset never
|
|
199
|
+
// dependencies, and the market's own state dir (`.drawcall`, holding the install mutex). Excluded
|
|
200
|
+
// structurally in every pack path, regardless of any `.gitignore`, so a re-uploaded asset never
|
|
201
|
+
// ships them.
|
|
148
202
|
const ALWAYS_IGNORED_DIRS = new Set(['.git', 'node_modules', '.drawcall']);
|
|
149
203
|
function hasAlwaysIgnoredSegment(posixPath) {
|
|
150
204
|
return posixPath.split('/').some((segment) => ALWAYS_IGNORED_DIRS.has(segment));
|
|
@@ -256,10 +310,13 @@ export function parseSkillDeps(specs) {
|
|
|
256
310
|
function mergeAssetDependencies(fromPackageJson, explicit) {
|
|
257
311
|
const merged = { ...fromPackageJson };
|
|
258
312
|
for (const [name, range] of Object.entries(explicit)) {
|
|
259
|
-
|
|
260
|
-
|
|
313
|
+
const existing = merged[name];
|
|
314
|
+
if (existing !== undefined && assetDependencyRange(existing) !== range) {
|
|
315
|
+
throw new Error(`Conflicting asset dependency "${name}": package.json has ${assetDependencyRange(existing)}, --asset has ${range}`);
|
|
261
316
|
}
|
|
262
|
-
|
|
317
|
+
// A matching package.json entry wins: it may carry aliases the flag form cannot express.
|
|
318
|
+
if (existing === undefined)
|
|
319
|
+
merged[name] = range;
|
|
263
320
|
}
|
|
264
321
|
return merged;
|
|
265
322
|
}
|
|
@@ -270,51 +327,167 @@ function inferPackPolicy(files) {
|
|
|
270
327
|
omitUnchangedInstalledFiles: hasRootPackageJson,
|
|
271
328
|
};
|
|
272
329
|
}
|
|
273
|
-
// Drop dependency
|
|
274
|
-
// template ships only its own (edited or new) files. Returns the
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
330
|
+
// Drop each dependency file at its resolved location (one copy per file — duplicates ship as the
|
|
331
|
+
// user's own content) so a template ships only its own (edited or new) files. Returns the
|
|
332
|
+
// surviving entries plus the dependencies with freshly resolved aliases applied.
|
|
333
|
+
async function withoutInstalledDependencyFiles(files, assetDependencies, fetchFileManifest) {
|
|
334
|
+
const index = await dependencyFileIndex(assetDependencies, fetchFileManifest);
|
|
335
|
+
if (index.files.length === 0)
|
|
336
|
+
return { kept: files, assetDependencies };
|
|
337
|
+
const hashesByPath = new Map();
|
|
338
|
+
const entryByNormalized = new Map();
|
|
280
339
|
for (const [file, content] of Object.entries(files)) {
|
|
281
340
|
const normalizedPath = normalizedZipPath(file);
|
|
282
|
-
|
|
283
|
-
if (canonicalHash && canonicalHash === sha256(content))
|
|
341
|
+
if (!normalizedPath || normalizedPath.endsWith('/'))
|
|
284
342
|
continue;
|
|
285
|
-
|
|
343
|
+
hashesByPath.set(normalizedPath, sha256(content));
|
|
344
|
+
entryByNormalized.set(normalizedPath, file);
|
|
286
345
|
}
|
|
287
|
-
|
|
346
|
+
const layout = resolveDependencyLayout(assetDependencies, index, hashesByPath);
|
|
347
|
+
const omittedEntries = new Set([...layout.omit].flatMap((omitted) => entryByNormalized.get(omitted) ?? []));
|
|
348
|
+
const kept = Object.fromEntries(Object.entries(files).filter(([file]) => !omittedEntries.has(file)));
|
|
349
|
+
return { kept, assetDependencies: layout.assetDependencies };
|
|
350
|
+
}
|
|
351
|
+
function emptyDependencyFileIndex() {
|
|
352
|
+
return { files: [], fetched: new Set() };
|
|
288
353
|
}
|
|
289
354
|
/**
|
|
290
|
-
* The canonical content hash of every file belonging to a declared asset dependency,
|
|
291
|
-
*
|
|
292
|
-
* from the server (`asset.fileManifest`). Returns an empty map when there's nothing to omit or no way
|
|
355
|
+
* The canonical content hash of every file belonging to a declared asset dependency, fetched from
|
|
356
|
+
* the server (`asset.fileManifest`). Returns an empty index when there's nothing to omit or no way
|
|
293
357
|
* to fetch (offline / no client) — pack then keeps all files rather than guessing.
|
|
294
358
|
*/
|
|
295
|
-
async function
|
|
296
|
-
const
|
|
297
|
-
const
|
|
298
|
-
if (!fetchFileManifest ||
|
|
299
|
-
return
|
|
300
|
-
const
|
|
301
|
-
const manifests = await Promise.all(dependencyNames.map(async (name) => {
|
|
302
|
-
const installed = lock.assets[name];
|
|
303
|
-
if (!installed)
|
|
304
|
-
return {};
|
|
359
|
+
async function dependencyFileIndex(assetDependencies, fetchFileManifest) {
|
|
360
|
+
const index = emptyDependencyFileIndex();
|
|
361
|
+
const entries = Object.entries(assetDependencies);
|
|
362
|
+
if (!fetchFileManifest || entries.length === 0)
|
|
363
|
+
return index;
|
|
364
|
+
const manifests = await Promise.all(entries.map(async ([name, value]) => {
|
|
305
365
|
try {
|
|
306
|
-
return await fetchFileManifest(name,
|
|
366
|
+
return { name, manifest: await fetchFileManifest(name, assetDependencyRange(value)) };
|
|
307
367
|
}
|
|
308
368
|
catch {
|
|
309
369
|
// Can't reach the server for this dependency — keep its files rather than wrongly omitting them.
|
|
310
|
-
return
|
|
370
|
+
return null;
|
|
311
371
|
}
|
|
312
372
|
}));
|
|
313
|
-
for (const
|
|
314
|
-
|
|
315
|
-
|
|
373
|
+
for (const result of manifests) {
|
|
374
|
+
// An empty manifest is "unavailable", not "zero files": a real version always has files, but
|
|
375
|
+
// the server returns {} for an unresolvable asset (deleted / private without access) or one
|
|
376
|
+
// too large for manifest computation. Treating it as fetched would wipe the dep's aliases.
|
|
377
|
+
if (!result || Object.keys(result.manifest).length === 0)
|
|
378
|
+
continue;
|
|
379
|
+
index.fetched.add(result.name);
|
|
380
|
+
for (const [file, hash] of Object.entries(result.manifest)) {
|
|
381
|
+
index.files.push({ name: result.name, canonicalPath: file, hash });
|
|
382
|
+
}
|
|
316
383
|
}
|
|
317
|
-
return
|
|
384
|
+
return index;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Resolve where each dependency file lives in the project, by content hash. Exactly one project
|
|
388
|
+
* copy is claimed per dependency file: the already-recorded alias target if its bytes still match
|
|
389
|
+
* (stable across runs), else the canonical path, else the lexicographically first matching copy —
|
|
390
|
+
* that copy is omitted from packs and recorded as the alias; further identical copies are the
|
|
391
|
+
* user's own content. Stale aliases drop: a renamed file that was since modified ships as user
|
|
392
|
+
* content and reinstall restores the canonical path.
|
|
393
|
+
*/
|
|
394
|
+
function resolveDependencyLayout(declared, index, hashesByPath) {
|
|
395
|
+
const pathsByHash = new Map();
|
|
396
|
+
for (const [filePath, hash] of hashesByPath) {
|
|
397
|
+
pathsByHash.set(hash, [...(pathsByHash.get(hash) ?? []), filePath]);
|
|
398
|
+
}
|
|
399
|
+
for (const paths of pathsByHash.values())
|
|
400
|
+
paths.sort();
|
|
401
|
+
const omit = new Set();
|
|
402
|
+
const missing = [];
|
|
403
|
+
const aliases = {};
|
|
404
|
+
for (const file of index.files) {
|
|
405
|
+
const declaredValue = declared[file.name];
|
|
406
|
+
const declaredAlias = declaredValue === undefined
|
|
407
|
+
? undefined
|
|
408
|
+
: assetDependencyAlias(declaredValue)[file.canonicalPath];
|
|
409
|
+
const candidates = (pathsByHash.get(file.hash) ?? []).filter((p) => !omit.has(p));
|
|
410
|
+
if (candidates.length === 0) {
|
|
411
|
+
missing.push({ name: file.name, canonicalPath: file.canonicalPath });
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
const target = declaredAlias !== undefined && candidates.includes(declaredAlias)
|
|
415
|
+
? declaredAlias
|
|
416
|
+
: candidates.includes(file.canonicalPath)
|
|
417
|
+
? file.canonicalPath
|
|
418
|
+
: candidates[0];
|
|
419
|
+
omit.add(target);
|
|
420
|
+
if (target !== file.canonicalPath) {
|
|
421
|
+
aliases[file.name] = { ...(aliases[file.name] ?? {}), [file.canonicalPath]: target };
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
const assetDependencies = {};
|
|
425
|
+
for (const [name, value] of Object.entries(declared)) {
|
|
426
|
+
assetDependencies[name] = index.fetched.has(name)
|
|
427
|
+
? assetDependencyValue(assetDependencyRange(value), aliases[name] ?? {})
|
|
428
|
+
: value;
|
|
429
|
+
}
|
|
430
|
+
return { omit, assetDependencies, missing };
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Update the aliases in package.json `assetDependencies` to match where each dependency's files
|
|
434
|
+
* currently live — the standalone form of what pack does before omitting (`market sync`). Renamed
|
|
435
|
+
* files gain an alias, files back at their canonical path lose theirs, and dependencies whose
|
|
436
|
+
* manifest cannot be fetched are reported as skipped rather than blindly rewritten.
|
|
437
|
+
*/
|
|
438
|
+
export async function syncAssetDependencies(cwd, fetchFileManifest) {
|
|
439
|
+
const projectRoot = await findInstallRoot(cwd);
|
|
440
|
+
const pkgPath = path.join(projectRoot, 'package.json');
|
|
441
|
+
if (!(await maybeStat(pkgPath))?.isFile()) {
|
|
442
|
+
throw new Error(`No package.json found at ${projectRoot}. Run sync inside a project.`);
|
|
443
|
+
}
|
|
444
|
+
const declared = packageJsonAssetDependencies(await fs.readFile(pkgPath, 'utf-8'), pkgPath);
|
|
445
|
+
const names = Object.keys(declared);
|
|
446
|
+
if (names.length === 0) {
|
|
447
|
+
return { projectRoot, changed: false, assetDependencies: {}, missing: [], skipped: [] };
|
|
448
|
+
}
|
|
449
|
+
const index = await dependencyFileIndex(declared, fetchFileManifest);
|
|
450
|
+
const walk = await walkWithGitignore(projectRoot);
|
|
451
|
+
const hashesByPath = new Map();
|
|
452
|
+
for (const relative of walk.kept) {
|
|
453
|
+
hashesByPath.set(relative, sha256(new Uint8Array(await fs.readFile(path.join(projectRoot, relative)))));
|
|
454
|
+
}
|
|
455
|
+
const layout = resolveDependencyLayout(declared, index, hashesByPath);
|
|
456
|
+
const rewritten = await writeBackAssetDependencies(projectRoot, layout.assetDependencies);
|
|
457
|
+
return {
|
|
458
|
+
projectRoot,
|
|
459
|
+
changed: rewritten !== null,
|
|
460
|
+
assetDependencies: layout.assetDependencies,
|
|
461
|
+
missing: layout.missing.map((file) => ({ name: file.name, path: file.canonicalPath })),
|
|
462
|
+
skipped: names.filter((name) => !index.fetched.has(name)),
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Persist detected aliases into the project's package.json (only for dependencies it already
|
|
467
|
+
* declares — flag-only deps stay out of the file). Returns the serialized bytes when something
|
|
468
|
+
* changed so the packed zip can carry the same content.
|
|
469
|
+
*/
|
|
470
|
+
async function writeBackAssetDependencies(dir, assetDependencies) {
|
|
471
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
472
|
+
const pkg = parsePackageJson(await fs.readFile(pkgPath, 'utf-8'), pkgPath);
|
|
473
|
+
const declared = pkg.assetDependencies;
|
|
474
|
+
if (!declared)
|
|
475
|
+
return null;
|
|
476
|
+
let changed = false;
|
|
477
|
+
for (const name of Object.keys(declared)) {
|
|
478
|
+
const next = assetDependencies[name];
|
|
479
|
+
if (next === undefined)
|
|
480
|
+
continue;
|
|
481
|
+
if (JSON.stringify(declared[name]) === JSON.stringify(next))
|
|
482
|
+
continue;
|
|
483
|
+
declared[name] = next;
|
|
484
|
+
changed = true;
|
|
485
|
+
}
|
|
486
|
+
if (!changed)
|
|
487
|
+
return null;
|
|
488
|
+
const serialized = JSON.stringify(pkg, null, 2) + '\n';
|
|
489
|
+
await fs.writeFile(pkgPath, serialized);
|
|
490
|
+
return new TextEncoder().encode(serialized);
|
|
318
491
|
}
|
|
319
492
|
function normalizedZipPath(file) {
|
|
320
493
|
const zipPath = file.replace(/\\/g, '/');
|
package/dist/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"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"}
|
package/dist/package-json.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { type AssetDependencies } from './schemas.js';
|
|
1
2
|
export interface PackageJson {
|
|
2
3
|
name?: string;
|
|
3
4
|
private?: boolean;
|
|
4
5
|
dependencies?: Record<string, string>;
|
|
5
|
-
assetDependencies?:
|
|
6
|
+
assetDependencies?: AssetDependencies;
|
|
6
7
|
[key: string]: unknown;
|
|
7
8
|
}
|
|
8
|
-
export declare function packageJsonAssetDependenciesFromFiles(files: Record<string, Uint8Array>):
|
|
9
|
-
export declare function packageJsonAssetDependencies(json: string, source: string):
|
|
9
|
+
export declare function packageJsonAssetDependenciesFromFiles(files: Record<string, Uint8Array>): AssetDependencies;
|
|
10
|
+
export declare function packageJsonAssetDependencies(json: string, source: string): AssetDependencies;
|
|
10
11
|
export declare function packageJsonNpmDependenciesFromFiles(files: Record<string, Uint8Array>): Record<string, string>;
|
|
11
12
|
export declare function parsePackageJson(json: string, source: string): PackageJson;
|
|
12
13
|
//# sourceMappingURL=package-json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEjF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAMD,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAChC,iBAAiB,CAKnB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAM5F;AAMD,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAO1E"}
|
package/dist/package-json.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { assetDependencyValueSchema } from './schemas.js';
|
|
2
3
|
const stringRecordSchema = z.record(z.string(), z.string());
|
|
4
|
+
const assetDependenciesRecordSchema = z.record(z.string(), assetDependencyValueSchema);
|
|
3
5
|
export function packageJsonAssetDependenciesFromFiles(files) {
|
|
4
6
|
const bytes = files['package.json'];
|
|
5
7
|
if (!bytes)
|
|
@@ -11,7 +13,7 @@ export function packageJsonAssetDependencies(json, source) {
|
|
|
11
13
|
const dependencies = parsed.assetDependencies;
|
|
12
14
|
if (dependencies === undefined)
|
|
13
15
|
return {};
|
|
14
|
-
return
|
|
16
|
+
return assetDependenciesRecordSchema.parse(dependencies);
|
|
15
17
|
}
|
|
16
18
|
// A template ships a full app, so its package.json `dependencies` ARE its npm dependencies: capture
|
|
17
19
|
// them on upload (like assetDependencies above) so installing the template into an existing project
|
package/dist/package-json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../src/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,0BAA0B,EAA0B,MAAM,cAAc,CAAA;AAUjF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAE3D,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAA;AAEtF,MAAM,UAAU,qCAAqC,CACnD,KAAiC;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IAErB,OAAO,4BAA4B,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAY,EAAE,MAAc;IACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAC7C,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEzC,OAAO,6BAA6B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAC1D,CAAC;AAED,oGAAoG;AACpG,oGAAoG;AACpG,qGAAqG;AACrG,sGAAsG;AACtG,MAAM,UAAU,mCAAmC,CACjD,KAAiC;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IAErB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAA;IAChF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACxC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEzC,OAAO,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAc;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAA;IAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,6BAA6B,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,MAAqB,CAAA;AAC9B,CAAC"}
|
package/dist/resolve.d.ts
CHANGED
|
@@ -9,19 +9,26 @@
|
|
|
9
9
|
* that they are compatible.
|
|
10
10
|
*/
|
|
11
11
|
import type { MarketClient } from './client.js';
|
|
12
|
+
import { type AssetDependencies } from './schemas.js';
|
|
12
13
|
export interface ResolvedAsset {
|
|
13
14
|
name: string;
|
|
14
15
|
type: string;
|
|
15
16
|
version: string;
|
|
16
17
|
description: string | null;
|
|
17
18
|
npmDependencies: Record<string, string>;
|
|
18
|
-
assetDependencies:
|
|
19
|
+
assetDependencies: AssetDependencies;
|
|
19
20
|
skillDependencies: Record<string, string>;
|
|
20
21
|
}
|
|
21
22
|
export interface ResolveResult {
|
|
22
23
|
assets: ResolvedAsset[];
|
|
23
24
|
npmDependencies: Record<string, string>;
|
|
24
25
|
skillDependencies: Record<string, string>;
|
|
26
|
+
/**
|
|
27
|
+
* File aliases declared by dependents, keyed by dependency name: canonical install path → the
|
|
28
|
+
* path the dependent's project keeps the file at. Install writes files through this map (a
|
|
29
|
+
* template whose author renamed a dependency's files reinstalls them at the renamed locations).
|
|
30
|
+
*/
|
|
31
|
+
assetAliases?: Record<string, Record<string, string>>;
|
|
25
32
|
}
|
|
26
33
|
interface AssetRequest {
|
|
27
34
|
name: string;
|