@drawcall/market 0.3.0 → 0.4.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/dist/commands/upload.d.ts.map +1 -1
- package/dist/commands/upload.js +4 -1
- package/dist/commands/upload.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +2 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +138 -34
- package/dist/install.js.map +1 -1
- package/dist/output.d.ts +6 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +17 -0
- package/dist/output.js.map +1 -1
- package/dist/pack.d.ts +49 -9
- package/dist/pack.d.ts.map +1 -1
- package/dist/pack.js +77 -77
- package/dist/pack.js.map +1 -1
- package/dist/project-walk.d.ts +18 -0
- package/dist/project-walk.d.ts.map +1 -0
- package/dist/project-walk.js +83 -0
- package/dist/project-walk.js.map +1 -0
- package/dist/schemas.d.ts +9 -8
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +3 -2
- package/dist/schemas.js.map +1 -1
- package/dist/v1/contract.d.ts +4 -4
- package/dist/v1/contract.d.ts.map +1 -1
- package/dist/v1/contract.js +6 -4
- package/dist/v1/contract.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/upload.ts +3 -1
- package/src/index.ts +3 -2
- package/src/install.ts +199 -42
- package/src/output.ts +22 -0
- package/src/pack.ts +118 -94
- package/src/project-walk.ts +95 -0
- package/src/schemas.ts +11 -8
- package/src/v1/contract.ts +8 -6
package/dist/pack.d.ts
CHANGED
|
@@ -21,10 +21,10 @@ export interface PackAssetOptions {
|
|
|
21
21
|
dependencies: ParsedPackDependencies;
|
|
22
22
|
policy?: PackPolicy;
|
|
23
23
|
/**
|
|
24
|
-
* Fetch
|
|
25
|
-
*
|
|
26
|
-
* path, so renamed installed files are omitted too and recorded as aliases.
|
|
27
|
-
* failing fetch) and the dependency's files are kept.
|
|
24
|
+
* Fetch `path → etag` (md5) for a dependency's files given the declared range (see
|
|
25
|
+
* `fileManifestForRange`). Pack matches local files against these hashes by content —
|
|
26
|
+
* independent of path, so renamed installed files are omitted too and recorded as aliases.
|
|
27
|
+
* Omit this (or a failing fetch) and the dependency's files are kept.
|
|
28
28
|
*/
|
|
29
29
|
fetchFileManifest?: FetchFileManifest;
|
|
30
30
|
}
|
|
@@ -37,13 +37,22 @@ export interface PackedAsset {
|
|
|
37
37
|
omittedUnchangedInstalledFiles: boolean;
|
|
38
38
|
/** Number of zip entries dropped because a `.gitignore` inside the zip excluded them. */
|
|
39
39
|
gitignoredFiles: number;
|
|
40
|
+
/** Dependencies whose file index could not be fetched: files kept, aliases untouched. */
|
|
41
|
+
skippedDependencies: string[];
|
|
42
|
+
/** Dependency files whose canonical bytes were found nowhere (locally modified or deleted). */
|
|
43
|
+
missingDependencyFiles: Array<{
|
|
44
|
+
name: string;
|
|
45
|
+
path: string;
|
|
46
|
+
}>;
|
|
40
47
|
}
|
|
41
|
-
|
|
48
|
+
/** md5 hex — the same digest R2 serves as every file's etag, so local bytes match server hashes. */
|
|
49
|
+
export declare function md5(bytes: Uint8Array): string;
|
|
42
50
|
/**
|
|
43
|
-
* A `FetchFileManifest` backed by the Market API
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
51
|
+
* A `FetchFileManifest` backed by the Market API: `path → etag` (md5) per dependency file. Without
|
|
52
|
+
* a local lockfile the installed version is unknown, so a non-exact range merges the file indexes
|
|
53
|
+
* of every published version satisfying it (newest wins per path) — a hash match identifies the
|
|
54
|
+
* file regardless of which version it came from. Content addressing keeps mistakes safe: a stale
|
|
55
|
+
* hash simply fails to match and the file is kept.
|
|
47
56
|
*/
|
|
48
57
|
export declare function fileManifestForRange(asset: MarketClient['asset']): FetchFileManifest;
|
|
49
58
|
export declare function packAsset(zipFilter: string, opts: PackAssetOptions): Promise<PackedAsset>;
|
|
@@ -62,6 +71,36 @@ export declare function parseVersionedDeps(specs: string[], kind: 'npm' | 'asset
|
|
|
62
71
|
* first `=` is treated as the separator.
|
|
63
72
|
*/
|
|
64
73
|
export declare function parseSkillDeps(specs: string[]): Record<string, string>;
|
|
74
|
+
export interface DependencyFile {
|
|
75
|
+
name: string;
|
|
76
|
+
canonicalPath: string;
|
|
77
|
+
}
|
|
78
|
+
export interface DependencyFileEntry extends DependencyFile {
|
|
79
|
+
/** md5 hex of the file's canonical content — its R2 etag, from the file index. */
|
|
80
|
+
hash: string;
|
|
81
|
+
}
|
|
82
|
+
export interface DependencyFileIndex {
|
|
83
|
+
files: DependencyFileEntry[];
|
|
84
|
+
/** Dependencies whose manifest was fetched — only their aliases are re-derived. */
|
|
85
|
+
fetched: Set<string>;
|
|
86
|
+
}
|
|
87
|
+
interface DependencyLayout {
|
|
88
|
+
/** Project paths holding a dependency file — exactly one per dependency file found. */
|
|
89
|
+
omit: Set<string>;
|
|
90
|
+
/** The declared dependencies with re-resolved aliases (fetched deps only; others untouched). */
|
|
91
|
+
assetDependencies: AssetDependencies;
|
|
92
|
+
/** Dependency files whose canonical bytes were found nowhere (locally modified or deleted). */
|
|
93
|
+
missing: DependencyFile[];
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolve where each dependency file lives in the project, by content hash. Exactly one project
|
|
97
|
+
* copy is claimed per dependency file: the already-recorded alias target if its bytes still match
|
|
98
|
+
* (stable across runs), else the canonical path, else the lexicographically first matching copy —
|
|
99
|
+
* that copy is omitted from packs and recorded as the alias; further identical copies are the
|
|
100
|
+
* user's own content. Stale aliases drop: a renamed file that was since modified ships as user
|
|
101
|
+
* content and reinstall restores the canonical path.
|
|
102
|
+
*/
|
|
103
|
+
export declare function resolveDependencyLayout(declared: AssetDependencies, index: DependencyFileIndex, hashesByPath: Map<string, string>): DependencyLayout;
|
|
65
104
|
export interface AssetDependencySync {
|
|
66
105
|
projectRoot: string;
|
|
67
106
|
/** Whether package.json was rewritten. */
|
|
@@ -82,4 +121,5 @@ export interface AssetDependencySync {
|
|
|
82
121
|
* manifest cannot be fetched are reported as skipped rather than blindly rewritten.
|
|
83
122
|
*/
|
|
84
123
|
export declare function syncAssetDependencies(cwd: string, fetchFileManifest: FetchFileManifest): Promise<AssetDependencySync>;
|
|
124
|
+
export {};
|
|
85
125
|
//# 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
|
@@ -3,35 +3,66 @@ import * as fs from 'fs/promises';
|
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import { unzipSync, zipSync } from 'fflate';
|
|
5
5
|
import ignore from 'ignore';
|
|
6
|
-
import
|
|
6
|
+
import semver from 'semver';
|
|
7
|
+
import { ALWAYS_IGNORED_DIRS, GITIGNORE_FILENAME, isGitignored, findInstallRoot, walkWithGitignore, } from './project-walk.js';
|
|
7
8
|
import { packageJsonAssetDependencies, packageJsonAssetDependenciesFromFiles, packageJsonNpmDependenciesFromFiles, parsePackageJson, } from './package-json.js';
|
|
8
9
|
import { MAX_UPLOAD_ZIP_SIZE_BYTES, assetDependencyAlias, assetDependencyRange, assetDependencyValue, semverSchema, } from './schemas.js';
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/** md5 hex — the same digest R2 serves as every file's etag, so local bytes match server hashes. */
|
|
11
|
+
export function md5(bytes) {
|
|
12
|
+
return createHash('md5').update(bytes).digest('hex');
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Cap on how many in-range versions contribute hashes to one dependency's manifest. High enough
|
|
16
|
+
* that any real project's installed version is covered; bounds the API calls for assets with long
|
|
17
|
+
* histories (an out-of-cap version's files simply stay unmatched and ship — the fail-open
|
|
18
|
+
* direction).
|
|
19
|
+
*/
|
|
20
|
+
const MANIFEST_VERSION_CAP = 20;
|
|
21
|
+
/**
|
|
22
|
+
* A `FetchFileManifest` backed by the Market API: `path → etag` (md5) per dependency file. Without
|
|
23
|
+
* a local lockfile the installed version is unknown, so a non-exact range merges the file indexes
|
|
24
|
+
* of every published version satisfying it (newest wins per path) — a hash match identifies the
|
|
25
|
+
* file regardless of which version it came from. Content addressing keeps mistakes safe: a stale
|
|
26
|
+
* hash simply fails to match and the file is kept.
|
|
17
27
|
*/
|
|
18
28
|
export function fileManifestForRange(asset) {
|
|
19
29
|
return async (name, range) => {
|
|
20
30
|
const exact = exactRangeVersion(range);
|
|
21
|
-
|
|
22
|
-
name,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
if (exact)
|
|
32
|
+
return fileIndexHashes(asset, name, exact);
|
|
33
|
+
const { versions } = await asset.versions({ name });
|
|
34
|
+
const inRange = versions
|
|
35
|
+
.map((entry) => entry.version)
|
|
36
|
+
.filter((version) => semver.satisfies(version, range))
|
|
37
|
+
.sort(semver.compare)
|
|
38
|
+
.slice(-MANIFEST_VERSION_CAP);
|
|
39
|
+
// Oldest first, so a newer version's hash wins when a path recurs across versions.
|
|
40
|
+
const merged = {};
|
|
41
|
+
for (const hashes of await mapWithConcurrency(inRange, 4, (version) => fileIndexHashes(asset, name, version))) {
|
|
42
|
+
Object.assign(merged, hashes);
|
|
43
|
+
}
|
|
44
|
+
return merged;
|
|
29
45
|
};
|
|
30
46
|
}
|
|
47
|
+
async function fileIndexHashes(asset, name, version) {
|
|
48
|
+
const index = await asset.files({ name, version });
|
|
49
|
+
return Object.fromEntries(index.files.map((file) => [file.path, file.etag]));
|
|
50
|
+
}
|
|
31
51
|
function exactRangeVersion(range) {
|
|
32
52
|
const candidate = range.trim().replace(/^=/u, '');
|
|
33
53
|
return semverSchema.safeParse(candidate).success ? candidate : null;
|
|
34
54
|
}
|
|
55
|
+
async function mapWithConcurrency(items, concurrency, fn) {
|
|
56
|
+
const results = new Array(items.length);
|
|
57
|
+
let next = 0;
|
|
58
|
+
async function worker() {
|
|
59
|
+
for (let index = next++; index < items.length; index = next++) {
|
|
60
|
+
results[index] = await fn(items[index]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, () => worker()));
|
|
64
|
+
return results;
|
|
65
|
+
}
|
|
35
66
|
export async function packAsset(zipFilter, opts) {
|
|
36
67
|
const cwd = opts.cwd ?? process.cwd();
|
|
37
68
|
// A directory packs without ever zipping the full app first: gitignored trees are never read,
|
|
@@ -63,10 +94,14 @@ export async function packAsset(zipFilter, opts) {
|
|
|
63
94
|
const { kept: withoutIgnored, gitignored } = applyGitignore(sourceFiles);
|
|
64
95
|
let files = withoutIgnored;
|
|
65
96
|
let finalAssetDependencies = assetDependencies;
|
|
97
|
+
let skippedDependencies = [];
|
|
98
|
+
let missingDependencyFiles = [];
|
|
66
99
|
if (policy.omitUnchangedInstalledFiles) {
|
|
67
100
|
const omitted = await withoutInstalledDependencyFiles(withoutIgnored, assetDependencies, opts.fetchFileManifest);
|
|
68
101
|
files = omitted.kept;
|
|
69
102
|
finalAssetDependencies = omitted.assetDependencies;
|
|
103
|
+
skippedDependencies = omitted.skippedDependencies;
|
|
104
|
+
missingDependencyFiles = omitted.missingDependencyFiles;
|
|
70
105
|
}
|
|
71
106
|
const originalCount = Object.keys(sourceFiles).length;
|
|
72
107
|
const afterIgnoreCount = Object.keys(withoutIgnored).length;
|
|
@@ -79,6 +114,8 @@ export async function packAsset(zipFilter, opts) {
|
|
|
79
114
|
skillDependencies: opts.dependencies.skillDependencies,
|
|
80
115
|
omittedUnchangedInstalledFiles: finalCount < afterIgnoreCount,
|
|
81
116
|
gitignoredFiles: gitignored,
|
|
117
|
+
skippedDependencies,
|
|
118
|
+
missingDependencyFiles,
|
|
82
119
|
};
|
|
83
120
|
}
|
|
84
121
|
// Pack straight from a project directory. Walk order matters for speed: `.gitignore` rules prune
|
|
@@ -123,7 +160,7 @@ async function packDirectory(dir, opts) {
|
|
|
123
160
|
files[relative] = content;
|
|
124
161
|
continue;
|
|
125
162
|
}
|
|
126
|
-
const hash =
|
|
163
|
+
const hash = md5(content);
|
|
127
164
|
hashesByPath.set(relative, hash);
|
|
128
165
|
if (dependencyHashes.has(hash)) {
|
|
129
166
|
deferred.push(relative);
|
|
@@ -154,52 +191,15 @@ async function packDirectory(dir, opts) {
|
|
|
154
191
|
skillDependencies: opts.dependencies.skillDependencies,
|
|
155
192
|
omittedUnchangedInstalledFiles: layout.omit.size > 0,
|
|
156
193
|
gitignoredFiles: walk.ignored,
|
|
194
|
+
skippedDependencies: policy.omitUnchangedInstalledFiles
|
|
195
|
+
? Object.keys(assetDependencies).filter((name) => !index.fetched.has(name))
|
|
196
|
+
: [],
|
|
197
|
+
missingDependencyFiles: layout.missing.map((file) => ({
|
|
198
|
+
name: file.name,
|
|
199
|
+
path: file.canonicalPath,
|
|
200
|
+
})),
|
|
157
201
|
};
|
|
158
202
|
}
|
|
159
|
-
// Walk a directory applying git semantics as we descend: each directory's `.gitignore` governs its
|
|
160
|
-
// own subtree, an ignored directory is pruned without entering it, and `.git`/`node_modules` never
|
|
161
|
-
// ship. Returns kept files as posix paths relative to the root, plus the count of ignored entries.
|
|
162
|
-
async function walkWithGitignore(root) {
|
|
163
|
-
const kept = [];
|
|
164
|
-
let ignored = 0;
|
|
165
|
-
async function descend(dir, matchers) {
|
|
166
|
-
const scoped = [...matchers];
|
|
167
|
-
const gitignore = await maybeStat(path.join(dir, GITIGNORE_FILENAME));
|
|
168
|
-
if (gitignore?.isFile()) {
|
|
169
|
-
const prefix = toPosix(path.relative(root, dir));
|
|
170
|
-
scoped.push({
|
|
171
|
-
dir: prefix ? `${prefix}/` : '',
|
|
172
|
-
filter: ignore().add(await fs.readFile(path.join(dir, GITIGNORE_FILENAME), 'utf8')),
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
176
|
-
for (const entry of entries) {
|
|
177
|
-
if (ALWAYS_IGNORED_DIRS.has(entry.name))
|
|
178
|
-
continue;
|
|
179
|
-
const relative = toPosix(path.relative(root, path.join(dir, entry.name)));
|
|
180
|
-
const candidate = entry.isDirectory() ? `${relative}/` : relative;
|
|
181
|
-
if (isGitignored(candidate, scoped)) {
|
|
182
|
-
ignored += 1;
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
if (entry.isDirectory())
|
|
186
|
-
await descend(path.join(dir, entry.name), scoped);
|
|
187
|
-
else if (entry.isFile())
|
|
188
|
-
kept.push(relative);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
await descend(root, []);
|
|
192
|
-
return { kept, ignored };
|
|
193
|
-
}
|
|
194
|
-
function toPosix(p) {
|
|
195
|
-
return p.split(path.sep).join('/');
|
|
196
|
-
}
|
|
197
|
-
const GITIGNORE_FILENAME = '.gitignore';
|
|
198
|
-
// Directories that never belong in a published asset — VCS/tooling metadata, reinstallable
|
|
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.
|
|
202
|
-
const ALWAYS_IGNORED_DIRS = new Set(['.git', 'node_modules', '.drawcall']);
|
|
203
203
|
function hasAlwaysIgnoredSegment(posixPath) {
|
|
204
204
|
return posixPath.split('/').some((segment) => ALWAYS_IGNORED_DIRS.has(segment));
|
|
205
205
|
}
|
|
@@ -233,16 +233,6 @@ function gitignoreMatchers(files) {
|
|
|
233
233
|
}
|
|
234
234
|
return matchers;
|
|
235
235
|
}
|
|
236
|
-
function isGitignored(name, matchers) {
|
|
237
|
-
// fflate keeps directory entries with a trailing slash; the `ignore` lib matches directory patterns
|
|
238
|
-
// (`dist/`) against exactly that form, so the path is passed through unchanged.
|
|
239
|
-
return matchers.some((matcher) => {
|
|
240
|
-
if (!name.startsWith(matcher.dir))
|
|
241
|
-
return false;
|
|
242
|
-
const relative = name.slice(matcher.dir.length);
|
|
243
|
-
return relative.length > 0 && matcher.filter.ignores(relative);
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
236
|
export function parsePackDependencies(specs) {
|
|
247
237
|
return {
|
|
248
238
|
npmDependencies: parseVersionedDeps(specs.npm ?? [], 'npm'),
|
|
@@ -332,28 +322,38 @@ function inferPackPolicy(files) {
|
|
|
332
322
|
// surviving entries plus the dependencies with freshly resolved aliases applied.
|
|
333
323
|
async function withoutInstalledDependencyFiles(files, assetDependencies, fetchFileManifest) {
|
|
334
324
|
const index = await dependencyFileIndex(assetDependencies, fetchFileManifest);
|
|
335
|
-
|
|
336
|
-
|
|
325
|
+
const skippedDependencies = Object.keys(assetDependencies).filter((name) => !index.fetched.has(name));
|
|
326
|
+
if (index.files.length === 0) {
|
|
327
|
+
return { kept: files, assetDependencies, skippedDependencies, missingDependencyFiles: [] };
|
|
328
|
+
}
|
|
337
329
|
const hashesByPath = new Map();
|
|
338
330
|
const entryByNormalized = new Map();
|
|
339
331
|
for (const [file, content] of Object.entries(files)) {
|
|
340
332
|
const normalizedPath = normalizedZipPath(file);
|
|
341
333
|
if (!normalizedPath || normalizedPath.endsWith('/'))
|
|
342
334
|
continue;
|
|
343
|
-
hashesByPath.set(normalizedPath,
|
|
335
|
+
hashesByPath.set(normalizedPath, md5(content));
|
|
344
336
|
entryByNormalized.set(normalizedPath, file);
|
|
345
337
|
}
|
|
346
338
|
const layout = resolveDependencyLayout(assetDependencies, index, hashesByPath);
|
|
347
339
|
const omittedEntries = new Set([...layout.omit].flatMap((omitted) => entryByNormalized.get(omitted) ?? []));
|
|
348
340
|
const kept = Object.fromEntries(Object.entries(files).filter(([file]) => !omittedEntries.has(file)));
|
|
349
|
-
return {
|
|
341
|
+
return {
|
|
342
|
+
kept,
|
|
343
|
+
assetDependencies: layout.assetDependencies,
|
|
344
|
+
skippedDependencies,
|
|
345
|
+
missingDependencyFiles: layout.missing.map((file) => ({
|
|
346
|
+
name: file.name,
|
|
347
|
+
path: file.canonicalPath,
|
|
348
|
+
})),
|
|
349
|
+
};
|
|
350
350
|
}
|
|
351
351
|
function emptyDependencyFileIndex() {
|
|
352
352
|
return { files: [], fetched: new Set() };
|
|
353
353
|
}
|
|
354
354
|
/**
|
|
355
355
|
* The canonical content hash of every file belonging to a declared asset dependency, fetched from
|
|
356
|
-
* the server (
|
|
356
|
+
* the server (the version file indexes' etags). Returns an empty index when there's nothing to omit or no way
|
|
357
357
|
* to fetch (offline / no client) — pack then keeps all files rather than guessing.
|
|
358
358
|
*/
|
|
359
359
|
async function dependencyFileIndex(assetDependencies, fetchFileManifest) {
|
|
@@ -391,7 +391,7 @@ async function dependencyFileIndex(assetDependencies, fetchFileManifest) {
|
|
|
391
391
|
* user's own content. Stale aliases drop: a renamed file that was since modified ships as user
|
|
392
392
|
* content and reinstall restores the canonical path.
|
|
393
393
|
*/
|
|
394
|
-
function resolveDependencyLayout(declared, index, hashesByPath) {
|
|
394
|
+
export function resolveDependencyLayout(declared, index, hashesByPath) {
|
|
395
395
|
const pathsByHash = new Map();
|
|
396
396
|
for (const [filePath, hash] of hashesByPath) {
|
|
397
397
|
pathsByHash.set(hash, [...(pathsByHash.get(hash) ?? []), filePath]);
|
|
@@ -450,7 +450,7 @@ export async function syncAssetDependencies(cwd, fetchFileManifest) {
|
|
|
450
450
|
const walk = await walkWithGitignore(projectRoot);
|
|
451
451
|
const hashesByPath = new Map();
|
|
452
452
|
for (const relative of walk.kept) {
|
|
453
|
-
hashesByPath.set(relative,
|
|
453
|
+
hashesByPath.set(relative, md5(new Uint8Array(await fs.readFile(path.join(projectRoot, relative)))));
|
|
454
454
|
}
|
|
455
455
|
const layout = resolveDependencyLayout(declared, index, hashesByPath);
|
|
456
456
|
const rewritten = await writeBackAssetDependencies(projectRoot, layout.assetDependencies);
|
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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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ignore from 'ignore';
|
|
2
|
+
export declare const GITIGNORE_FILENAME = ".gitignore";
|
|
3
|
+
export declare const ALWAYS_IGNORED_DIRS: Set<string>;
|
|
4
|
+
export interface GitignoreMatcher {
|
|
5
|
+
/** Directory the `.gitignore` governs: '' for the root, or e.g. 'sub/'. */
|
|
6
|
+
dir: string;
|
|
7
|
+
filter: ReturnType<typeof ignore>;
|
|
8
|
+
}
|
|
9
|
+
export declare function isGitignored(name: string, matchers: GitignoreMatcher[]): boolean;
|
|
10
|
+
/** Walk a directory tree; returns kept files as posix paths relative to the root, plus the count
|
|
11
|
+
* of ignored entries. */
|
|
12
|
+
export declare function walkWithGitignore(root: string): Promise<{
|
|
13
|
+
kept: string[];
|
|
14
|
+
ignored: number;
|
|
15
|
+
}>;
|
|
16
|
+
/** The nearest ancestor (including start) holding a package.json — the project root. */
|
|
17
|
+
export declare function findInstallRoot(cwd?: string): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=project-walk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-walk.d.ts","sourceRoot":"","sources":["../src/project-walk.ts"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAK9C,eAAO,MAAM,mBAAmB,aAAiD,CAAA;AAEjF,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;CAClC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAQhF;AAED;0BAC0B;AAC1B,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+B9C;AAED,wFAAwF;AACxF,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directory walking with git semantics, shared by pack/sync (dependency-layout resolution) and
|
|
3
|
+
* install (rename adoption): each directory's `.gitignore` governs its own subtree, an ignored
|
|
4
|
+
* directory is pruned without entering it, and `.git`/`node_modules`/`.drawcall` never count.
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'fs/promises';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
import ignore from 'ignore';
|
|
9
|
+
export const GITIGNORE_FILENAME = '.gitignore';
|
|
10
|
+
// Directories that never belong in a published asset — VCS/tooling metadata, reinstallable
|
|
11
|
+
// dependencies, and the market's own state dir (`.drawcall`, holding the install mutex). Excluded
|
|
12
|
+
// structurally in every walk, regardless of any `.gitignore`.
|
|
13
|
+
export const ALWAYS_IGNORED_DIRS = new Set(['.git', 'node_modules', '.drawcall']);
|
|
14
|
+
export function isGitignored(name, matchers) {
|
|
15
|
+
// Directory candidates carry a trailing slash; the `ignore` lib matches directory patterns
|
|
16
|
+
// (`dist/`) against exactly that form, so the path is passed through unchanged.
|
|
17
|
+
return matchers.some((matcher) => {
|
|
18
|
+
if (!name.startsWith(matcher.dir))
|
|
19
|
+
return false;
|
|
20
|
+
const relative = name.slice(matcher.dir.length);
|
|
21
|
+
return relative.length > 0 && matcher.filter.ignores(relative);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Walk a directory tree; returns kept files as posix paths relative to the root, plus the count
|
|
25
|
+
* of ignored entries. */
|
|
26
|
+
export async function walkWithGitignore(root) {
|
|
27
|
+
const kept = [];
|
|
28
|
+
let ignored = 0;
|
|
29
|
+
async function descend(dir, matchers) {
|
|
30
|
+
const scoped = [...matchers];
|
|
31
|
+
const gitignore = await maybeStat(path.join(dir, GITIGNORE_FILENAME));
|
|
32
|
+
if (gitignore?.isFile()) {
|
|
33
|
+
const prefix = toPosix(path.relative(root, dir));
|
|
34
|
+
scoped.push({
|
|
35
|
+
dir: prefix ? `${prefix}/` : '',
|
|
36
|
+
filter: ignore().add(await fs.readFile(path.join(dir, GITIGNORE_FILENAME), 'utf8')),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
40
|
+
for (const entry of entries) {
|
|
41
|
+
if (ALWAYS_IGNORED_DIRS.has(entry.name))
|
|
42
|
+
continue;
|
|
43
|
+
const relative = toPosix(path.relative(root, path.join(dir, entry.name)));
|
|
44
|
+
const candidate = entry.isDirectory() ? `${relative}/` : relative;
|
|
45
|
+
if (isGitignored(candidate, scoped)) {
|
|
46
|
+
ignored += 1;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (entry.isDirectory())
|
|
50
|
+
await descend(path.join(dir, entry.name), scoped);
|
|
51
|
+
else if (entry.isFile())
|
|
52
|
+
kept.push(relative);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
await descend(root, []);
|
|
56
|
+
return { kept, ignored };
|
|
57
|
+
}
|
|
58
|
+
/** The nearest ancestor (including start) holding a package.json — the project root. */
|
|
59
|
+
export async function findInstallRoot(cwd = process.cwd()) {
|
|
60
|
+
const start = path.resolve(cwd);
|
|
61
|
+
for (let dir = start;; dir = path.dirname(dir)) {
|
|
62
|
+
if ((await maybeStat(path.join(dir, 'package.json')))?.isFile()) {
|
|
63
|
+
return dir;
|
|
64
|
+
}
|
|
65
|
+
if (path.dirname(dir) === dir) {
|
|
66
|
+
return start;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function toPosix(p) {
|
|
71
|
+
return p.split(path.sep).join('/');
|
|
72
|
+
}
|
|
73
|
+
async function maybeStat(file) {
|
|
74
|
+
try {
|
|
75
|
+
return await fs.stat(file);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
|
|
79
|
+
return null;
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=project-walk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-walk.js","sourceRoot":"","sources":["../src/project-walk.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -115,16 +115,17 @@ export declare const assetFilesSchema: z.ZodObject<{
|
|
|
115
115
|
version: z.ZodString;
|
|
116
116
|
key: z.ZodOptional<z.ZodString>;
|
|
117
117
|
}, z.core.$strip>;
|
|
118
|
-
export declare const
|
|
118
|
+
export declare const assetVersionsSchema: z.ZodObject<{
|
|
119
119
|
name: z.ZodString;
|
|
120
|
-
|
|
120
|
+
key: z.ZodOptional<z.ZodString>;
|
|
121
121
|
}, z.core.$strip>;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
export interface AssetVersionListing {
|
|
123
|
+
version: string;
|
|
124
|
+
approved: boolean;
|
|
125
|
+
}
|
|
126
|
+
export interface AssetVersionsResult {
|
|
127
|
+
versions: AssetVersionListing[];
|
|
128
|
+
}
|
|
128
129
|
export declare const referenceImagesSchema: z.ZodArray<z.ZodString>;
|
|
129
130
|
export declare const generateAssetSchema: z.ZodObject<{
|
|
130
131
|
description: z.ZodString;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,WAAW,kJAUd,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,eAAO,MAAM,eAAe;;;;;;;;;;EAAsB,CAAA;AAElD,eAAO,MAAM,yBAAyB,QAAqB,CAAA;AAC3D,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAEhD,eAAO,MAAM,YAAY,aAKtB,CAAA;AAEH,eAAO,MAAM,eAAe,aAUxB,CAAA;AAEJ,eAAO,MAAM,qBAAqB,qDAA+C,CAAA;AAOjF,eAAO,MAAM,0BAA0B,uCAAmC,CAAA;AAE1E,eAAO,MAAM,0BAA0B;;;mBAGrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAEpE,eAAO,MAAM,uBAAuB;;;qBAA+D,CAAA;AAEnG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAExE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExF;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,oBAAoB,CAEtB;AAKD,eAAO,MAAM,uBAAuB,qDAA+C,CAAA;AAEnF,eAAO,MAAM,sBAAsB,aAA+C,CAAA;AAKlF,eAAO,MAAM,iBAAiB;;;EAAgC,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;iBAO3B,CAAA;AAKF,eAAO,MAAM,eAAe,aAA6B,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAM3B,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY1B,CAAA;AAIF,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAA;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -98,9 +98,10 @@ export const assetFilesSchema = z.object({
|
|
|
98
98
|
version: semverSchema,
|
|
99
99
|
key: accessKeySchema.optional(),
|
|
100
100
|
});
|
|
101
|
-
|
|
101
|
+
// Input of `asset.versions`: every published version of an asset (same credential rules as reads).
|
|
102
|
+
export const assetVersionsSchema = z.object({
|
|
102
103
|
name: assetNameSchema,
|
|
103
|
-
|
|
104
|
+
key: accessKeySchema.optional(),
|
|
104
105
|
});
|
|
105
106
|
// A phone-photo data URI is a few MB; this bounds worker and model payloads while staying far
|
|
106
107
|
// above what providers keep (images are downscaled upstream).
|