@telorun/cli 0.89.0 → 0.90.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/bundle/built-layers.d.ts +36 -0
- package/dist/bundle/built-layers.d.ts.map +1 -0
- package/dist/bundle/built-layers.js +84 -0
- package/dist/bundle/built-layers.js.map +1 -0
- package/dist/bundle/module-payload.d.ts +14 -10
- package/dist/bundle/module-payload.d.ts.map +1 -1
- package/dist/bundle/module-payload.js +76 -14
- package/dist/bundle/module-payload.js.map +1 -1
- package/dist/bundle/partition-layers.d.ts +13 -6
- package/dist/bundle/partition-layers.d.ts.map +1 -1
- package/dist/bundle/partition-layers.js +49 -7
- package/dist/bundle/partition-layers.js.map +1 -1
- package/dist/bundle/payload-drift.d.ts +1 -1
- package/dist/bundle/payload-drift.d.ts.map +1 -1
- package/dist/bundle/select-files.d.ts +11 -2
- package/dist/bundle/select-files.d.ts.map +1 -1
- package/dist/bundle/select-files.js +23 -8
- package/dist/bundle/select-files.js.map +1 -1
- package/dist/bundle/staged-files.d.ts +43 -0
- package/dist/bundle/staged-files.d.ts.map +1 -0
- package/dist/bundle/staged-files.js +158 -0
- package/dist/bundle/staged-files.js.map +1 -0
- package/dist/bundle/warm-layers.d.ts +11 -6
- package/dist/bundle/warm-layers.d.ts.map +1 -1
- package/dist/bundle/warm-layers.js +26 -10
- package/dist/bundle/warm-layers.js.map +1 -1
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +7 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/module.d.ts.map +1 -1
- package/dist/commands/module.js +11 -5
- package/dist/commands/module.js.map +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +5 -1
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/release.d.ts +2 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +65 -5
- package/dist/commands/release.js.map +1 -1
- package/dist/controller-runtime.d.ts +25 -3
- package/dist/controller-runtime.d.ts.map +1 -1
- package/dist/controller-runtime.js +39 -9
- package/dist/controller-runtime.js.map +1 -1
- package/dist/release/cargo-toml.d.ts +17 -0
- package/dist/release/cargo-toml.d.ts.map +1 -0
- package/dist/release/cargo-toml.js +253 -0
- package/dist/release/cargo-toml.js.map +1 -0
- package/dist/release/crate-inputs.d.ts +41 -0
- package/dist/release/crate-inputs.d.ts.map +1 -0
- package/dist/release/crate-inputs.js +407 -0
- package/dist/release/crate-inputs.js.map +1 -0
- package/dist/release/stage.d.ts +61 -0
- package/dist/release/stage.d.ts.map +1 -0
- package/dist/release/stage.js +506 -0
- package/dist/release/stage.js.map +1 -0
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { selectByPatterns } from "@telorun/glob";
|
|
1
|
+
import { HARD_IGNORE, lastMatchIndex, selectByPatterns } from "@telorun/glob";
|
|
2
2
|
import * as fs from "fs";
|
|
3
3
|
import * as path from "path";
|
|
4
4
|
/**
|
|
@@ -12,7 +12,13 @@ import * as path from "path";
|
|
|
12
12
|
* `include:` resolution, which may reach any co-located partial); the hard tier
|
|
13
13
|
* (`node_modules`/`.git`/`.telo`) is always denied regardless.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
15
|
+
* `links: true` selects symbolic links as entries of their own, never followed —
|
|
16
|
+
* the payload ships a link as a link, and where it points is the layer link
|
|
17
|
+
* rule's to judge. Without it a link is skipped, since `include:` resolution
|
|
18
|
+
* reads contents and must not reach through one.
|
|
19
|
+
*
|
|
20
|
+
* Throws if a selected path resolves (via a symlinked directory, or via the file
|
|
21
|
+
* itself when links are not selected) outside `manifestDir`.
|
|
16
22
|
*/
|
|
17
23
|
export function selectFiles(manifestDir, patterns, opts = {}) {
|
|
18
24
|
if (patterns.length === 0)
|
|
@@ -22,11 +28,15 @@ export function selectFiles(manifestDir, patterns, opts = {}) {
|
|
|
22
28
|
const entries = fs.readdirSync(manifestDir, { recursive: true, withFileTypes: true });
|
|
23
29
|
const rels = [];
|
|
24
30
|
for (const entry of entries) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
const isLink = opts.links === true && entry.isSymbolicLink();
|
|
32
|
+
if (!entry.isFile() && !isLink)
|
|
33
|
+
continue;
|
|
34
|
+
const rel = path.relative(manifestDir, path.join(entry.parentPath, entry.name)).split(path.sep).join("/");
|
|
35
|
+
// The always-deny tier names directories (`.telo/`), so a link standing in
|
|
36
|
+
// for one is tested as the directory it replaces.
|
|
37
|
+
if (isLink && lastMatchIndex(`${rel}/`, HARD_IGNORE) !== -1)
|
|
28
38
|
continue;
|
|
29
|
-
rels.push(
|
|
39
|
+
rels.push(rel);
|
|
30
40
|
}
|
|
31
41
|
const selected = selectByPatterns(rels, patterns, {
|
|
32
42
|
applyDefaultIgnore: opts.applyDefaultIgnore,
|
|
@@ -36,7 +46,9 @@ export function selectFiles(manifestDir, patterns, opts = {}) {
|
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
48
|
* Reject any payload path that does not exist, or that resolves — via a symlink
|
|
39
|
-
* — outside `manifestDir`.
|
|
49
|
+
* — outside `manifestDir`. A path that is itself a symbolic link ships as a
|
|
50
|
+
* link, so only the directory holding it is confined here; its target is
|
|
51
|
+
* judged by the layer link rule.
|
|
40
52
|
*
|
|
41
53
|
* Separate from {@link selectFiles} because a `files:` pattern is no longer the
|
|
42
54
|
* only route into the payload: a bundled controller's `path=` entry joins it
|
|
@@ -66,7 +78,10 @@ export function assertWithinModule(manifestDir, rels, supplied = new Set()) {
|
|
|
66
78
|
continue;
|
|
67
79
|
let real;
|
|
68
80
|
try {
|
|
69
|
-
|
|
81
|
+
const abs = path.resolve(manifestDir, rel);
|
|
82
|
+
real = fs.lstatSync(abs).isSymbolicLink()
|
|
83
|
+
? path.join(fs.realpathSync(path.dirname(abs)), path.basename(abs))
|
|
84
|
+
: fs.realpathSync(abs);
|
|
70
85
|
}
|
|
71
86
|
catch {
|
|
72
87
|
missing.push(rel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-files.js","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"select-files.js","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The files a payload names by declaration rather than by `files:` — `native:`
|
|
3
|
+
* paths, platform-qualified controller `path=`s and `sources:` notices — and
|
|
4
|
+
* whether each can ship as the manifest describes it. The rules are the
|
|
5
|
+
* analyzer's (`stageableFiles`, `unclaimedSourceEntries`), so publish and
|
|
6
|
+
* `telo check` refuse the same modules; what is here is the filesystem half.
|
|
7
|
+
*/
|
|
8
|
+
import { type ModuleFileClaim, type ModuleSource, type NativeEntry, type SourceEntry } from "@telorun/analyzer";
|
|
9
|
+
/**
|
|
10
|
+
* The module doc's `native:` entries.
|
|
11
|
+
*
|
|
12
|
+
* An unreadable block is fatal here even though `telo check` reports it too: a
|
|
13
|
+
* `telo release` digest runs no analysis, and an entry skipped at publish would
|
|
14
|
+
* ship an artifact missing a platform's file.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readNativeFiles(manifest: string, manifestDir: string): NativeEntry[];
|
|
17
|
+
/** The module doc's `sources:` block, read off the AUTHORED manifest — publish
|
|
18
|
+
* removes it from the text that ships. Fatal when unreadable, for the reason
|
|
19
|
+
* `readNativeFiles` gives; a source naming no notices is one such block. */
|
|
20
|
+
export declare function readSources(ownerJson: unknown, manifestDir: string): ModuleSource[];
|
|
21
|
+
export interface StagedFile {
|
|
22
|
+
readonly source: ModuleSource;
|
|
23
|
+
readonly entry: SourceEntry;
|
|
24
|
+
}
|
|
25
|
+
export declare function stagedEntriesOf(sources: readonly ModuleSource[]): Map<string, StagedFile>;
|
|
26
|
+
/**
|
|
27
|
+
* Refuse a payload whose named files cannot ship as the manifest describes them.
|
|
28
|
+
*
|
|
29
|
+
* For each stageable file (`stageableFiles`) that no build produces, and each
|
|
30
|
+
* notice a source names:
|
|
31
|
+
*
|
|
32
|
+
* - staged by a source — read from its pin, the pin must exist; read from disk
|
|
33
|
+
* (publish), what is on disk must match it, so a stale or tampered file never
|
|
34
|
+
* ships under a pin that says otherwise;
|
|
35
|
+
* - staged by none — the file must exist, and at publish a native or candidate
|
|
36
|
+
* file must be tracked by git: a binary nobody committed and nothing fetches
|
|
37
|
+
* is one the next checkout cannot reproduce.
|
|
38
|
+
*
|
|
39
|
+
* A source entry nothing names is refused too, as `telo check` refuses it, or a
|
|
40
|
+
* `files:` pattern would ship it from a staged tree and not from a cold one.
|
|
41
|
+
*/
|
|
42
|
+
export declare function assertNamedFiles(manifestDir: string, native: readonly NativeEntry[], claims: readonly ModuleFileClaim[], sources: readonly ModuleSource[], staged: ReadonlyMap<string, StagedFile>, fromPins: boolean): Promise<void>;
|
|
43
|
+
//# sourceMappingURL=staged-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staged-files.d.ts","sourceRoot":"","sources":["../../src/bundle/staged-files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAS3B;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAUpF;AAED;;6EAE6E;AAC7E,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAWnF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAMzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EACvC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CA4Df"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The files a payload names by declaration rather than by `files:` — `native:`
|
|
3
|
+
* paths, platform-qualified controller `path=`s and `sources:` notices — and
|
|
4
|
+
* whether each can ship as the manifest describes it. The rules are the
|
|
5
|
+
* analyzer's (`stageableFiles`, `unclaimedSourceEntries`), so publish and
|
|
6
|
+
* `telo check` refuse the same modules; what is here is the filesystem half.
|
|
7
|
+
*/
|
|
8
|
+
import { readModuleSources, readNativeEntries, stageableFiles, unclaimedSourceEntries, } from "@telorun/analyzer";
|
|
9
|
+
import { checkStagedEntry } from "@telorun/kernel";
|
|
10
|
+
import { defaultCustomTags } from "@telorun/templating";
|
|
11
|
+
import { execFileSync } from "node:child_process";
|
|
12
|
+
import * as fs from "node:fs";
|
|
13
|
+
import * as path from "node:path";
|
|
14
|
+
import { parseAllDocuments } from "yaml";
|
|
15
|
+
import { findModuleDoc } from "../commands/manifest-imports.js";
|
|
16
|
+
/**
|
|
17
|
+
* The module doc's `native:` entries.
|
|
18
|
+
*
|
|
19
|
+
* An unreadable block is fatal here even though `telo check` reports it too: a
|
|
20
|
+
* `telo release` digest runs no analysis, and an entry skipped at publish would
|
|
21
|
+
* ship an artifact missing a platform's file.
|
|
22
|
+
*/
|
|
23
|
+
export function readNativeFiles(manifest, manifestDir) {
|
|
24
|
+
const docs = parseAllDocuments(manifest, { customTags: defaultCustomTags() });
|
|
25
|
+
const { entries, problems } = readNativeEntries(findModuleDoc(docs)?.toJSON());
|
|
26
|
+
if (problems.length > 0) {
|
|
27
|
+
throw new Error(`Module '${path.basename(manifestDir)}' declares a native: block that cannot be read:\n` +
|
|
28
|
+
problems.map((problem) => ` ${problem.message}`).join("\n"));
|
|
29
|
+
}
|
|
30
|
+
return entries;
|
|
31
|
+
}
|
|
32
|
+
/** The module doc's `sources:` block, read off the AUTHORED manifest — publish
|
|
33
|
+
* removes it from the text that ships. Fatal when unreadable, for the reason
|
|
34
|
+
* `readNativeFiles` gives; a source naming no notices is one such block. */
|
|
35
|
+
export function readSources(ownerJson, manifestDir) {
|
|
36
|
+
const { sources, problems } = readModuleSources(ownerJson);
|
|
37
|
+
if (problems.length > 0) {
|
|
38
|
+
throw new Error(`Module '${path.basename(manifestDir)}' declares a sources: block that cannot be read:\n` +
|
|
39
|
+
problems.map((problem) => ` ${problem.message} (at ${problem.path})`).join("\n") +
|
|
40
|
+
`\nA staged file ships with the notices its source names, and its digest comes from ` +
|
|
41
|
+
`its pin, so neither can be derived from a block that does not read.`);
|
|
42
|
+
}
|
|
43
|
+
return sources;
|
|
44
|
+
}
|
|
45
|
+
export function stagedEntriesOf(sources) {
|
|
46
|
+
const out = new Map();
|
|
47
|
+
for (const source of sources) {
|
|
48
|
+
for (const entry of source.entries)
|
|
49
|
+
out.set(entry.path, { source, entry });
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Refuse a payload whose named files cannot ship as the manifest describes them.
|
|
55
|
+
*
|
|
56
|
+
* For each stageable file (`stageableFiles`) that no build produces, and each
|
|
57
|
+
* notice a source names:
|
|
58
|
+
*
|
|
59
|
+
* - staged by a source — read from its pin, the pin must exist; read from disk
|
|
60
|
+
* (publish), what is on disk must match it, so a stale or tampered file never
|
|
61
|
+
* ships under a pin that says otherwise;
|
|
62
|
+
* - staged by none — the file must exist, and at publish a native or candidate
|
|
63
|
+
* file must be tracked by git: a binary nobody committed and nothing fetches
|
|
64
|
+
* is one the next checkout cannot reproduce.
|
|
65
|
+
*
|
|
66
|
+
* A source entry nothing names is refused too, as `telo check` refuses it, or a
|
|
67
|
+
* `files:` pattern would ship it from a staged tree and not from a cold one.
|
|
68
|
+
*/
|
|
69
|
+
export async function assertNamedFiles(manifestDir, native, claims, sources, staged, fromPins) {
|
|
70
|
+
const stageable = stageableFiles(native, claims.map((claim) => ({ claim })));
|
|
71
|
+
const notices = sources.flatMap((source) => source.notices.map((notice) => [notice, `notice of source '${source.name}'`]));
|
|
72
|
+
const problems = [];
|
|
73
|
+
const unstaged = [];
|
|
74
|
+
const named = [...stageable.values()]
|
|
75
|
+
.filter((file) => !file.built)
|
|
76
|
+
.map((file) => [file.path, file.label]);
|
|
77
|
+
for (const [file, label] of [...named, ...notices]) {
|
|
78
|
+
const stagedFile = staged.get(file);
|
|
79
|
+
if (!stagedFile) {
|
|
80
|
+
if (!isFileOrLink(path.resolve(manifestDir, file))) {
|
|
81
|
+
problems.push(`${label}: '${file}' is not a file, and no sources: entry stages it`);
|
|
82
|
+
}
|
|
83
|
+
else if (!fromPins && stageable.has(file)) {
|
|
84
|
+
unstaged.push({ path: file, label });
|
|
85
|
+
}
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const { source, entry } = stagedFile;
|
|
89
|
+
const by = `${label}: '${file}' is staged by source '${source.name}'`;
|
|
90
|
+
if (fromPins) {
|
|
91
|
+
if (entry.kind === "file" && !entry.pin) {
|
|
92
|
+
problems.push(`${by} but carries no pin — run \`telo release stage --pin\` (SOURCE_ENTRY_UNPINNED)`);
|
|
93
|
+
}
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const verdict = await checkStagedEntry(manifestDir, source, entry);
|
|
97
|
+
if (verdict.state === "unpinned") {
|
|
98
|
+
problems.push(`${by} but carries no pin — run \`telo release stage --pin\` (SOURCE_ENTRY_UNPINNED)`);
|
|
99
|
+
}
|
|
100
|
+
else if (verdict.state === "missing") {
|
|
101
|
+
problems.push(`${by}, but ${verdict.detail} — run \`telo release stage\` first`);
|
|
102
|
+
}
|
|
103
|
+
else if (verdict.state === "mismatch") {
|
|
104
|
+
problems.push(`${by}, but its bytes do not match its pin: ${verdict.detail}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
for (const { source, entry } of unclaimedSourceEntries(sources, stageable)) {
|
|
108
|
+
problems.push(`source '${source.name}' entry '${entry.key}': nothing in the manifest names '${entry.path}' ` +
|
|
109
|
+
`(SOURCE_ENTRY_UNCLAIMED)`);
|
|
110
|
+
}
|
|
111
|
+
for (const { path: file, label } of untrackedByGit(manifestDir, unstaged)) {
|
|
112
|
+
problems.push(`${label}: '${file}' is not tracked by git, and no sources: entry stages it — commit ` +
|
|
113
|
+
`it, or declare the archive it comes from under sources:`);
|
|
114
|
+
}
|
|
115
|
+
if (problems.length === 0)
|
|
116
|
+
return;
|
|
117
|
+
throw new Error(`Module '${path.basename(manifestDir)}' names files that cannot ship:\n` +
|
|
118
|
+
`${problems.map((line) => ` ${line}`).join("\n")}\n` +
|
|
119
|
+
`A named file ships from its sources: pin or as a committed file; staging is ` +
|
|
120
|
+
`\`telo release stage\`, which publish never runs itself.`);
|
|
121
|
+
}
|
|
122
|
+
function isFileOrLink(abs) {
|
|
123
|
+
try {
|
|
124
|
+
const stat = fs.lstatSync(abs);
|
|
125
|
+
return stat.isFile() || stat.isSymbolicLink();
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
const code = err.code;
|
|
129
|
+
if (code === "ENOENT" || code === "ENOTDIR")
|
|
130
|
+
return false;
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** The files git does not track, of those given, asked of the module's own
|
|
135
|
+
* work tree. Not being able to ask is a failure, never a pass. */
|
|
136
|
+
function untrackedByGit(manifestDir, files) {
|
|
137
|
+
if (files.length === 0)
|
|
138
|
+
return [];
|
|
139
|
+
let listed;
|
|
140
|
+
try {
|
|
141
|
+
listed = execFileSync("git", ["ls-files", "-z", "--", ...files.map((file) => file.path)], {
|
|
142
|
+
cwd: manifestDir,
|
|
143
|
+
encoding: "utf8",
|
|
144
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
const stderr = err.stderr;
|
|
149
|
+
throw new Error(`Cannot tell whether ${files.map((file) => `'${file.path}'`).join(", ")} is committed: ` +
|
|
150
|
+
`\`git ls-files\` failed in ${manifestDir}` +
|
|
151
|
+
`${typeof stderr === "string" && stderr.trim() !== "" ? ` (${stderr.trim()})` : ""}. ` +
|
|
152
|
+
`Publish ships a native file no sources: entry stages only when git tracks it — publish ` +
|
|
153
|
+
`from the module's git work tree, or declare the file's source.`);
|
|
154
|
+
}
|
|
155
|
+
const tracked = new Set(listed.split("\0").filter((entry) => entry !== ""));
|
|
156
|
+
return files.filter((file) => !tracked.has(file.path));
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=staged-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staged-files.js","sourceRoot":"","sources":["../../src/bundle/staged-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,13 +45,18 @@ export interface WarmedLayers {
|
|
|
45
45
|
}
|
|
46
46
|
export declare function warmModuleLayers(graph: LoadedGraph, entryDir: string, manifestsDir: string, target: PlatformTarget, onWarn: (message: string) => void): Promise<WarmedLayers>;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
48
|
+
* The target a warm runs for. `--platform` takes the familiar `os/arch[/libc]`
|
|
49
|
+
* shorthand (`linux/amd64`, `linux/arm64/musl`) in the same OCI/GOOS vocabulary
|
|
50
|
+
* the published selectors use; omitted, the host's os, arch and libc are the
|
|
51
|
+
* target.
|
|
52
|
+
*
|
|
53
|
+
* `abi` comes from `--abi` alone, never from the host: the process running the
|
|
54
|
+
* install is not the one that will run the app, which may be another Node
|
|
55
|
+
* release or Bun. Omitted, it is undetermined, so no abi-constrained layer is
|
|
56
|
+
* warmed.
|
|
52
57
|
*/
|
|
53
|
-
export declare function parsePlatformTarget(
|
|
58
|
+
export declare function parsePlatformTarget(platform: string | undefined, abi: string | undefined): PlatformTarget;
|
|
54
59
|
/** Label for the install output — `linux/amd64/gnu`, or what the host resolved
|
|
55
|
-
* to, with an unknown axis shown rather than hidden. */
|
|
60
|
+
* to, with an unknown axis shown rather than hidden, plus the abi when set. */
|
|
56
61
|
export declare function describePlatformTarget(target: PlatformTarget): string;
|
|
57
62
|
//# sourceMappingURL=warm-layers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warm-layers.d.ts","sourceRoot":"","sources":["../../src/bundle/warm-layers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"warm-layers.d.ts","sourceRoot":"","sources":["../../src/bundle/warm-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAEhB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAOL,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC3C;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,cAAc,CAKhB;AAeD;gFACgF;AAChF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAKrE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IntegrityError, } from "@telorun/analyzer";
|
|
1
|
+
import { IntegrityError, describeSelector, normalizeAxisValue, } from "@telorun/analyzer";
|
|
2
2
|
import { buildSiblingLibraries, defaultTransportRegistry, hostPlatformTarget, moduleArtifactFor, moduleDirectoryFor, readOwnerManifest, } from "@telorun/kernel";
|
|
3
3
|
export async function warmModuleLayers(graph, entryDir, manifestsDir, target, onWarn) {
|
|
4
4
|
const transports = defaultTransportRegistry();
|
|
@@ -27,6 +27,11 @@ export async function warmModuleLayers(graph, entryDir, manifestsDir, target, on
|
|
|
27
27
|
if (!artifact)
|
|
28
28
|
continue;
|
|
29
29
|
artifacts.set(file.source, artifact);
|
|
30
|
+
for (const { layer, axes } of artifact.warmPlan(target).undetermined) {
|
|
31
|
+
onWarn(`skipped the ${layer.role} layer ${describeSelector(layer.selector)} of ` +
|
|
32
|
+
`${file.requestedUrl}: it constrains ${axes.join(", ")}, which the install target ` +
|
|
33
|
+
`leaves undetermined. Name the target with --platform os/arch[/libc] and --abi to warm it.`);
|
|
34
|
+
}
|
|
30
35
|
try {
|
|
31
36
|
materialized += (await artifact.materializeAll(target)).length;
|
|
32
37
|
}
|
|
@@ -48,14 +53,24 @@ export async function warmModuleLayers(graph, entryDir, manifestsDir, target, on
|
|
|
48
53
|
return { materialized, artifacts, libraries };
|
|
49
54
|
}
|
|
50
55
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
56
|
+
* The target a warm runs for. `--platform` takes the familiar `os/arch[/libc]`
|
|
57
|
+
* shorthand (`linux/amd64`, `linux/arm64/musl`) in the same OCI/GOOS vocabulary
|
|
58
|
+
* the published selectors use; omitted, the host's os, arch and libc are the
|
|
59
|
+
* target.
|
|
60
|
+
*
|
|
61
|
+
* `abi` comes from `--abi` alone, never from the host: the process running the
|
|
62
|
+
* install is not the one that will run the app, which may be another Node
|
|
63
|
+
* release or Bun. Omitted, it is undetermined, so no abi-constrained layer is
|
|
64
|
+
* warmed.
|
|
55
65
|
*/
|
|
56
|
-
export function parsePlatformTarget(
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
export function parsePlatformTarget(platform, abi) {
|
|
67
|
+
const target = platform ? parsePlatformTriple(platform) : { ...hostPlatformTarget() };
|
|
68
|
+
delete target.abi;
|
|
69
|
+
if (abi !== undefined)
|
|
70
|
+
target.abi = normalizeAxisValue("abi", abi, "--abi");
|
|
71
|
+
return target;
|
|
72
|
+
}
|
|
73
|
+
function parsePlatformTriple(value) {
|
|
59
74
|
const parts = value
|
|
60
75
|
.split("/")
|
|
61
76
|
.map((p) => p.trim().toLowerCase())
|
|
@@ -66,10 +81,11 @@ export function parsePlatformTarget(value) {
|
|
|
66
81
|
return { os: parts[0], arch: parts[1], ...(parts[2] ? { libc: parts[2] } : {}) };
|
|
67
82
|
}
|
|
68
83
|
/** Label for the install output — `linux/amd64/gnu`, or what the host resolved
|
|
69
|
-
* to, with an unknown axis shown rather than hidden. */
|
|
84
|
+
* to, with an unknown axis shown rather than hidden, plus the abi when set. */
|
|
70
85
|
export function describePlatformTarget(target) {
|
|
71
|
-
|
|
86
|
+
const triple = [target.os ?? "unknown", target.arch ?? "unknown", target.libc]
|
|
72
87
|
.filter((p) => p !== undefined)
|
|
73
88
|
.join("/");
|
|
89
|
+
return target.abi === undefined ? triple : `${triple} (abi ${target.abi})`;
|
|
74
90
|
}
|
|
75
91
|
//# sourceMappingURL=warm-layers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warm-layers.js","sourceRoot":"","sources":["../../src/bundle/warm-layers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"warm-layers.js","sourceRoot":"","sources":["../../src/bundle/warm-layers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAyPlC,wBAAsB,OAAO,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAyPlC,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA8BhD"}
|
package/dist/commands/install.js
CHANGED
|
@@ -194,7 +194,7 @@ export async function install(argv) {
|
|
|
194
194
|
// from a machine of a different architecture; the host otherwise.
|
|
195
195
|
let platform;
|
|
196
196
|
try {
|
|
197
|
-
platform = parsePlatformTarget(argv.platform);
|
|
197
|
+
platform = parsePlatformTarget(argv.platform, argv.abi);
|
|
198
198
|
}
|
|
199
199
|
catch (err) {
|
|
200
200
|
outErrLine(log.err.error("error") + ` ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -231,6 +231,12 @@ export function installCommand(yargs) {
|
|
|
231
231
|
describe: "Platform whose module layers to pre-fetch, as os/arch[/libc] " +
|
|
232
232
|
"(e.g. linux/amd64, linux/arm64/musl). Defaults to the host — set it " +
|
|
233
233
|
"when baking an image for a different architecture.",
|
|
234
|
+
})
|
|
235
|
+
.option("abi", {
|
|
236
|
+
type: "string",
|
|
237
|
+
describe: "Runtime ABI whose module layers to pre-fetch, as <family>-<version> " +
|
|
238
|
+
"(e.g. node-137 for Node 24). Omitted, layers built for one ABI are " +
|
|
239
|
+
"skipped and reported.",
|
|
234
240
|
}), async (argv) => {
|
|
235
241
|
await install(argv);
|
|
236
242
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AA4MzD;;;kEAGkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sEAAsE;IACtE,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;;;;;eAMe;AACf,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,mBAAmB,CAAC,CAW9B;AAkND,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA2G/C"}
|
package/dist/commands/module.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { isHttpsModuleRef, isOciRef, manifestCacheKey, ociManifestCacheCoords, sha256Base64Url, splitIntegrity, urlManifestCacheCoords, } from "@telorun/analyzer";
|
|
1
|
+
import { isHttpsModuleRef, isOciRef, manifestCacheKey, ociManifestCacheCoords, readNativeEntries, sha256Base64Url, splitIntegrity, urlManifestCacheCoords, } from "@telorun/analyzer";
|
|
2
2
|
import { defaultTransportRegistry } from "@telorun/kernel";
|
|
3
3
|
import { defaultCustomTags } from "@telorun/templating";
|
|
4
4
|
import * as fs from "fs";
|
|
5
5
|
import * as path from "path";
|
|
6
6
|
import semver from "semver";
|
|
7
7
|
import { parseAllDocuments } from "yaml";
|
|
8
|
-
import { kindRuntimeSupport, moduleRuntimeReport, } from "../controller-runtime.js";
|
|
8
|
+
import { kindRuntimeSupport, moduleRuntimeReport, nativeReach, } from "../controller-runtime.js";
|
|
9
9
|
import { createLogger } from "../logger.js";
|
|
10
10
|
import { outErrLine, outLine, output } from "../output.js";
|
|
11
11
|
import { fetchManifestHash } from "../manifest-hash.js";
|
|
@@ -209,7 +209,7 @@ export async function buildManifestJsonPayload(ref, text, log) {
|
|
|
209
209
|
cacheKey: local ? null : cacheKeyForRef(ref, text),
|
|
210
210
|
manifest: text,
|
|
211
211
|
integrity: local ? null : await integrityForRef(ref, log),
|
|
212
|
-
runtime: extractKindRuntimes(parseDocs(text)),
|
|
212
|
+
runtime: extractKindRuntimes(parseDocs(text), log),
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
215
|
async function runManifest(argv) {
|
|
@@ -311,7 +311,7 @@ function toStringArray(raw) {
|
|
|
311
311
|
* Lives with the verb rather than in the hub: the PURL-to-kernel mapping is
|
|
312
312
|
* loader knowledge, and a consumer re-deriving it would hold a second copy that
|
|
313
313
|
* drifts silently the day a loader lands. */
|
|
314
|
-
function extractKindRuntimes(docs) {
|
|
314
|
+
function extractKindRuntimes(docs, log) {
|
|
315
315
|
const entries = [];
|
|
316
316
|
for (const doc of docs) {
|
|
317
317
|
const kind = doc.get("kind");
|
|
@@ -322,7 +322,13 @@ function extractKindRuntimes(docs) {
|
|
|
322
322
|
continue;
|
|
323
323
|
entries.push({ name, ...kindRuntimeSupport(toStringArray(doc.get("controllers"))) });
|
|
324
324
|
}
|
|
325
|
-
|
|
325
|
+
// An entry that cannot be read covers no platform; saying so keeps the
|
|
326
|
+
// reported reach from quietly narrowing.
|
|
327
|
+
const native = readNativeEntries(findModuleDoc(docs)?.toJSON());
|
|
328
|
+
for (const problem of native.problems) {
|
|
329
|
+
outErrLine(`${log.err.warn("warn")} native reach omits ${problem.message}`);
|
|
330
|
+
}
|
|
331
|
+
return moduleRuntimeReport(entries, nativeReach(native.entries));
|
|
326
332
|
}
|
|
327
333
|
/** The resource kinds a module defines: each `Telo.Definition` / `Telo.Abstract`
|
|
328
334
|
* as its suffix, owning module, capability, export status, and description. A
|