@telorun/cli 0.41.0 → 0.43.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/extract.d.ts +15 -8
- package/dist/bundle/extract.d.ts.map +1 -1
- package/dist/bundle/extract.js +32 -53
- package/dist/bundle/extract.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +6 -3
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/manifest-imports.d.ts +5 -0
- package/dist/commands/manifest-imports.d.ts.map +1 -1
- package/dist/commands/manifest-imports.js +5 -0
- package/dist/commands/manifest-imports.js.map +1 -1
- package/dist/commands/module.d.ts +3 -0
- package/dist/commands/module.d.ts.map +1 -0
- package/dist/commands/module.js +331 -0
- package/dist/commands/module.js.map +1 -0
- package/dist/commands/publish.d.ts +11 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +175 -109
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/upgrade.d.ts +6 -2
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +68 -31
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/registry-hash.d.ts +10 -0
- package/dist/registry-hash.d.ts.map +1 -0
- package/dist/registry-hash.js +30 -0
- package/dist/registry-hash.js.map +1 -0
- package/package.json +5 -5
- package/dist/bundle/tar.d.ts +0 -15
- package/dist/bundle/tar.d.ts.map +0 -1
- package/dist/bundle/tar.js +0 -54
- package/dist/bundle/tar.js.map +0 -1
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { splitIntegrity } from "@telorun/analyzer";
|
|
2
|
+
import { defaultTransportRegistry } from "@telorun/kernel";
|
|
3
|
+
import { defaultCustomTags } from "@telorun/templating";
|
|
4
|
+
import * as fs from "fs";
|
|
5
|
+
import * as path from "path";
|
|
6
|
+
import semver from "semver";
|
|
7
|
+
import { parseAllDocuments } from "yaml";
|
|
8
|
+
import { createLogger } from "../logger.js";
|
|
9
|
+
import { findModuleDoc } from "./manifest-imports.js";
|
|
10
|
+
const DEFAULT_REGISTRY_URL = "https://registry.telo.run";
|
|
11
|
+
const errMsg = (err) => (err instanceof Error ? err.message : String(err));
|
|
12
|
+
function resolveRegistryUrl(explicit) {
|
|
13
|
+
return explicit ?? process.env.TELO_REGISTRY_URL ?? DEFAULT_REGISTRY_URL;
|
|
14
|
+
}
|
|
15
|
+
/** Normalize a ref for version enumeration. The version segment is irrelevant to
|
|
16
|
+
* `listVersions` (only the `<ns>/<name>` path or OCI repo is used), but the
|
|
17
|
+
* registry transport only owns refs that carry an `@version` — so a bare
|
|
18
|
+
* `std/console` gets a placeholder version, mirroring `telo upgrade`. Scheme
|
|
19
|
+
* refs (`oci://`) and already-versioned refs pass through. */
|
|
20
|
+
function refForEnumeration(ref) {
|
|
21
|
+
const base = splitIntegrity(ref).base;
|
|
22
|
+
if (base.includes("://") || base.includes("@"))
|
|
23
|
+
return base;
|
|
24
|
+
return `${base}@0.0.0`;
|
|
25
|
+
}
|
|
26
|
+
/** Newest-first: valid SemVer sorted by precedence, then any non-SemVer tags
|
|
27
|
+
* (digests, `latest`, …) appended in lexical order so output stays stable. */
|
|
28
|
+
function sortVersionsDesc(versions) {
|
|
29
|
+
const valid = [];
|
|
30
|
+
const other = [];
|
|
31
|
+
for (const v of versions)
|
|
32
|
+
(semver.valid(v) ? valid : other).push(v);
|
|
33
|
+
valid.sort(semver.rcompare);
|
|
34
|
+
other.sort();
|
|
35
|
+
return [...valid, ...other];
|
|
36
|
+
}
|
|
37
|
+
/** If `ref` addresses a module on the local filesystem — path-like (`.`/`/`) or
|
|
38
|
+
* resolving to an existing file/dir — return the `telo.yaml` path to read;
|
|
39
|
+
* otherwise `null` (the ref is remote, dispatch through a transport). A
|
|
40
|
+
* directory resolves to `<dir>/telo.yaml`, mirroring `telo run` / `check`. */
|
|
41
|
+
function localManifestPath(ref) {
|
|
42
|
+
const base = splitIntegrity(ref).base;
|
|
43
|
+
if (base.includes("://"))
|
|
44
|
+
return null;
|
|
45
|
+
const pathLike = base.startsWith(".") || base.startsWith("/");
|
|
46
|
+
const resolved = path.resolve(process.cwd(), base);
|
|
47
|
+
let stat;
|
|
48
|
+
try {
|
|
49
|
+
stat = fs.statSync(resolved);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Path-like but missing: still treat as local so we report a clear read
|
|
53
|
+
// error rather than "no transport". A bare `ns/name` that isn't on disk is
|
|
54
|
+
// a registry ref — leave it to the transport.
|
|
55
|
+
return pathLike ? resolved : null;
|
|
56
|
+
}
|
|
57
|
+
return stat.isDirectory() ? path.join(resolved, "telo.yaml") : resolved;
|
|
58
|
+
}
|
|
59
|
+
/** The `metadata.version` declared by the module doc in `text`, or `null` when
|
|
60
|
+
* no `Telo.Application` / `Telo.Library` doc carries one. */
|
|
61
|
+
function declaredVersion(text) {
|
|
62
|
+
const docs = parseAllDocuments(text, { customTags: defaultCustomTags() });
|
|
63
|
+
const version = findModuleDoc(docs)?.getIn(["metadata", "version"]);
|
|
64
|
+
return typeof version === "string" ? version : null;
|
|
65
|
+
}
|
|
66
|
+
function readFileOrExit(filePath, log) {
|
|
67
|
+
try {
|
|
68
|
+
return fs.readFileSync(filePath, "utf-8");
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
console.error(`${log.error("error")} cannot read ${path.relative(process.cwd(), filePath)}: ${errMsg(err)}`);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function versionOrExit(text, label, log) {
|
|
76
|
+
const version = declaredVersion(text);
|
|
77
|
+
if (!version) {
|
|
78
|
+
console.error(`${log.error("error")} ${label} declares no metadata.version`);
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
return version;
|
|
82
|
+
}
|
|
83
|
+
function emitVersions(versions, json, log) {
|
|
84
|
+
if (json) {
|
|
85
|
+
console.log(JSON.stringify(versions));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (versions.length === 0) {
|
|
89
|
+
console.error(log.dim("no published versions"));
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
for (const v of versions)
|
|
93
|
+
console.log(v);
|
|
94
|
+
}
|
|
95
|
+
/** Read a single remote manifest (a direct URL, or any transport-owned ref) and
|
|
96
|
+
* return its verified bytes. `source.read` checks the inline `#sha256-...` hash
|
|
97
|
+
* when the ref is pinned — a mismatch throws, never a silent fallback. */
|
|
98
|
+
async function readRemoteManifest(registry, ref, log) {
|
|
99
|
+
const transport = registry.forRef(ref);
|
|
100
|
+
if (!transport) {
|
|
101
|
+
const base = splitIntegrity(ref).base;
|
|
102
|
+
console.error(`${log.error("error")} cannot resolve '${ref}' — registry refs need a version (e.g. '${base}@<version>')`);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
return (await transport.source.read(ref)).text;
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
console.error(`${log.error("error")} ${errMsg(err)}`);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function runVersions(argv) {
|
|
114
|
+
const log = createLogger(false);
|
|
115
|
+
// 1. Local module — one version, the one it declares on disk.
|
|
116
|
+
const localPath = localManifestPath(argv.ref);
|
|
117
|
+
if (localPath) {
|
|
118
|
+
const text = readFileOrExit(localPath, log);
|
|
119
|
+
emitVersions([versionOrExit(text, path.relative(process.cwd(), localPath), log)], argv.json, log);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const registry = defaultTransportRegistry(resolveRegistryUrl(argv.registryUrl));
|
|
123
|
+
const base = splitIntegrity(argv.ref).base;
|
|
124
|
+
// 2. Direct URL — a single manifest at a fixed location, no version list.
|
|
125
|
+
if (base.startsWith("http://") || base.startsWith("https://")) {
|
|
126
|
+
const text = await readRemoteManifest(registry, argv.ref, log);
|
|
127
|
+
emitVersions([versionOrExit(text, argv.ref, log)], argv.json, log);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
// 3. Enumerable — a registry `ns/name` or `oci://host/repo` ref.
|
|
131
|
+
const enumRef = refForEnumeration(argv.ref);
|
|
132
|
+
if (!registry.forRef(enumRef)) {
|
|
133
|
+
console.error(`${log.error("error")} no transport handles '${argv.ref}'`);
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
let versions;
|
|
137
|
+
try {
|
|
138
|
+
versions = await registry.listVersions(enumRef);
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
console.error(`${log.error("error")} ${errMsg(err)}`);
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
if (versions === null) {
|
|
145
|
+
console.error(`${log.error("error")} module not found: ${argv.ref}`);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
emitVersions(sortVersionsDesc(versions), argv.json, log);
|
|
149
|
+
}
|
|
150
|
+
/** Resolve `ref` to a single manifest's text — local file, direct URL, or any
|
|
151
|
+
* transport-owned ref — shared by `manifest` / `resources` / `kinds`. */
|
|
152
|
+
async function loadManifestText(ref, registryUrl, log) {
|
|
153
|
+
const localPath = localManifestPath(ref);
|
|
154
|
+
return localPath
|
|
155
|
+
? readFileOrExit(localPath, log)
|
|
156
|
+
: readRemoteManifest(defaultTransportRegistry(resolveRegistryUrl(registryUrl)), ref, log);
|
|
157
|
+
}
|
|
158
|
+
function parseDocs(text) {
|
|
159
|
+
return parseAllDocuments(text, { customTags: defaultCustomTags() });
|
|
160
|
+
}
|
|
161
|
+
async function runManifest(argv) {
|
|
162
|
+
const log = createLogger(false);
|
|
163
|
+
const text = await loadManifestText(argv.ref, argv.registryUrl, log);
|
|
164
|
+
process.stdout.write(text.endsWith("\n") ? text : `${text}\n`);
|
|
165
|
+
}
|
|
166
|
+
/** Every declared resource instance: each non-module, non-definition doc. */
|
|
167
|
+
function extractResources(docs) {
|
|
168
|
+
const out = [];
|
|
169
|
+
for (const doc of docs) {
|
|
170
|
+
const kind = doc.get("kind");
|
|
171
|
+
// A resource instance is any doc that isn't a framework doc. Every framework
|
|
172
|
+
// doc kind is namespaced under `Telo.` (Application, Library, Definition,
|
|
173
|
+
// Abstract, Import, …), while an instance is `<ImportAlias>.<Kind>` — so this
|
|
174
|
+
// stays correct as new `Telo.*` doc kinds land, with no list to maintain.
|
|
175
|
+
if (typeof kind !== "string" || kind.startsWith("Telo."))
|
|
176
|
+
continue;
|
|
177
|
+
const name = doc.getIn(["metadata", "name"]);
|
|
178
|
+
out.push({ kind, name: typeof name === "string" ? name : "" });
|
|
179
|
+
}
|
|
180
|
+
return out;
|
|
181
|
+
}
|
|
182
|
+
/** PascalCase a kebab module name into a suggested import alias (`http-server` →
|
|
183
|
+
* `HttpServer`). Only a hint — the consumer picks any PascalCase alias. */
|
|
184
|
+
function pascalCase(name) {
|
|
185
|
+
return name
|
|
186
|
+
.split(/[-_]/)
|
|
187
|
+
.filter(Boolean)
|
|
188
|
+
.map((p) => p.charAt(0).toUpperCase() + p.slice(1))
|
|
189
|
+
.join("");
|
|
190
|
+
}
|
|
191
|
+
/** The resource kinds a module defines: each `Telo.Definition` / `Telo.Abstract`
|
|
192
|
+
* as its suffix, owning module, capability, export status, and description. A
|
|
193
|
+
* plain inspector — how a downstream consumer (e.g. the discovery hub) composes
|
|
194
|
+
* these facts into an embedding passage is that consumer's own concern. */
|
|
195
|
+
function extractKinds(docs) {
|
|
196
|
+
const moduleDoc = findModuleDoc(docs);
|
|
197
|
+
const moduleName = moduleDoc?.getIn(["metadata", "name"]);
|
|
198
|
+
const prefix = typeof moduleName === "string" ? moduleName : "";
|
|
199
|
+
const rawExports = moduleDoc?.getIn(["exports", "kinds"]);
|
|
200
|
+
const exportList = Array.isArray(rawExports)
|
|
201
|
+
? rawExports
|
|
202
|
+
: rawExports && typeof rawExports.toJSON === "function"
|
|
203
|
+
? rawExports.toJSON()
|
|
204
|
+
: [];
|
|
205
|
+
const exported = new Set(exportList.filter((v) => typeof v === "string"));
|
|
206
|
+
const out = [];
|
|
207
|
+
for (const doc of docs) {
|
|
208
|
+
const kind = doc.get("kind");
|
|
209
|
+
if (kind !== "Telo.Definition" && kind !== "Telo.Abstract")
|
|
210
|
+
continue;
|
|
211
|
+
const name = doc.getIn(["metadata", "name"]);
|
|
212
|
+
if (typeof name !== "string")
|
|
213
|
+
continue;
|
|
214
|
+
const capability = doc.get("capability");
|
|
215
|
+
const descRaw = doc.getIn(["metadata", "description"]);
|
|
216
|
+
out.push({
|
|
217
|
+
name,
|
|
218
|
+
module: prefix,
|
|
219
|
+
capability: typeof capability === "string" ? capability : "",
|
|
220
|
+
abstract: kind === "Telo.Abstract",
|
|
221
|
+
exported: exported.has(name),
|
|
222
|
+
description: typeof descRaw === "string" ? descRaw.trim() : undefined,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return out;
|
|
226
|
+
}
|
|
227
|
+
async function runResources(argv) {
|
|
228
|
+
const log = createLogger(false);
|
|
229
|
+
const resources = extractResources(parseDocs(await loadManifestText(argv.ref, argv.registryUrl, log)));
|
|
230
|
+
if (argv.json) {
|
|
231
|
+
console.log(JSON.stringify(resources));
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (resources.length === 0) {
|
|
235
|
+
console.error(log.dim("no resources declared"));
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
for (const r of resources)
|
|
239
|
+
console.log(`${r.kind}${r.name ? ` ${log.dim(r.name)}` : ""}`);
|
|
240
|
+
}
|
|
241
|
+
async function runKinds(argv) {
|
|
242
|
+
const log = createLogger(false);
|
|
243
|
+
const kinds = extractKinds(parseDocs(await loadManifestText(argv.ref, argv.registryUrl, log)));
|
|
244
|
+
if (argv.json) {
|
|
245
|
+
console.log(JSON.stringify(kinds));
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (kinds.length === 0) {
|
|
249
|
+
console.error(log.dim("no kinds defined"));
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
// The prefix in a `kind:` field is the consumer's import alias, not the module
|
|
253
|
+
// name — surface a concrete usage hint so the bare suffixes below aren't misread.
|
|
254
|
+
const alias = pascalCase(kinds[0].module) || "Alias";
|
|
255
|
+
console.error(log.dim(`import as e.g. ${alias}: ${argv.ref} — then write ${alias}.<Kind>`));
|
|
256
|
+
for (const k of kinds) {
|
|
257
|
+
const cap = k.abstract ? "abstract" : k.capability;
|
|
258
|
+
const badge = k.exported ? log.ok(" (exported)") : "";
|
|
259
|
+
console.log(`${k.name} ${log.dim(cap)}${badge}`);
|
|
260
|
+
if (k.description)
|
|
261
|
+
console.log(` ${log.dim(k.description.split("\n")[0])}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
export function moduleCommand(yargs) {
|
|
265
|
+
return yargs.command("module <subcommand>", "Inspect modules across transports (local path, registry, OCI, direct URL)", (y) => y
|
|
266
|
+
.command("versions <ref>", "List a module's versions, newest first (one entry for a local path or direct URL)", (yy) => yy
|
|
267
|
+
.positional("ref", {
|
|
268
|
+
describe: "Module ref: ./path, std/console, oci://host/repo, or an https URL",
|
|
269
|
+
type: "string",
|
|
270
|
+
demandOption: true,
|
|
271
|
+
})
|
|
272
|
+
.option("registry-url", {
|
|
273
|
+
type: "string",
|
|
274
|
+
describe: "Base URL for the telo module registry. Overrides TELO_REGISTRY_URL.",
|
|
275
|
+
})
|
|
276
|
+
.option("json", {
|
|
277
|
+
type: "boolean",
|
|
278
|
+
default: false,
|
|
279
|
+
describe: "Emit the versions as a JSON array",
|
|
280
|
+
}), async (argv) => {
|
|
281
|
+
await runVersions(argv);
|
|
282
|
+
})
|
|
283
|
+
.command("manifest <ref>", "Print a module's telo.yaml (verified against the inline hash when pinned)", (yy) => yy
|
|
284
|
+
.positional("ref", {
|
|
285
|
+
describe: "Module ref: ./path, std/console@0.9.0, oci://host/repo@1.2.0, or an https URL",
|
|
286
|
+
type: "string",
|
|
287
|
+
demandOption: true,
|
|
288
|
+
})
|
|
289
|
+
.option("registry-url", {
|
|
290
|
+
type: "string",
|
|
291
|
+
describe: "Base URL for the telo module registry. Overrides TELO_REGISTRY_URL.",
|
|
292
|
+
}), async (argv) => {
|
|
293
|
+
await runManifest(argv);
|
|
294
|
+
})
|
|
295
|
+
.command("resources <ref>", "List the resource instances declared in a module's manifest", (yy) => yy
|
|
296
|
+
.positional("ref", {
|
|
297
|
+
describe: "Module ref: ./path, std/console@0.9.0, oci://host/repo@1.2.0, or an https URL",
|
|
298
|
+
type: "string",
|
|
299
|
+
demandOption: true,
|
|
300
|
+
})
|
|
301
|
+
.option("registry-url", {
|
|
302
|
+
type: "string",
|
|
303
|
+
describe: "Base URL for the telo module registry. Overrides TELO_REGISTRY_URL.",
|
|
304
|
+
})
|
|
305
|
+
.option("json", {
|
|
306
|
+
type: "boolean",
|
|
307
|
+
default: false,
|
|
308
|
+
describe: "Emit the resources as a JSON array",
|
|
309
|
+
}), async (argv) => {
|
|
310
|
+
await runResources(argv);
|
|
311
|
+
})
|
|
312
|
+
.command("kinds <ref>", "List the resource kinds a module defines (name, capability, exported)", (yy) => yy
|
|
313
|
+
.positional("ref", {
|
|
314
|
+
describe: "Module ref: ./path, std/console@0.9.0, oci://host/repo@1.2.0, or an https URL",
|
|
315
|
+
type: "string",
|
|
316
|
+
demandOption: true,
|
|
317
|
+
})
|
|
318
|
+
.option("registry-url", {
|
|
319
|
+
type: "string",
|
|
320
|
+
describe: "Base URL for the telo module registry. Overrides TELO_REGISTRY_URL.",
|
|
321
|
+
})
|
|
322
|
+
.option("json", {
|
|
323
|
+
type: "boolean",
|
|
324
|
+
default: false,
|
|
325
|
+
describe: "Emit the kinds as a JSON array",
|
|
326
|
+
}), async (argv) => {
|
|
327
|
+
await runKinds(argv);
|
|
328
|
+
})
|
|
329
|
+
.demandCommand(1, "Specify a module subcommand (versions | manifest | resources | kinds)"), () => { });
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/commands/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
import { Loader } from "@telorun/analyzer";
|
|
2
2
|
import { LocalFileSource } from "@telorun/kernel";
|
|
3
3
|
import type { Argv } from "yargs";
|
|
4
|
+
import { type Logger } from "../logger.js";
|
|
4
5
|
import type { BumpLevel } from "../publishers/interface.js";
|
|
5
6
|
export declare function expandAndInlineIncludes(content: string, manifestDir: string): string;
|
|
6
7
|
/** Read the first doc's `files:` glob patterns (empty when none declared). */
|
|
7
8
|
export declare function readFilesPatterns(content: string): string[];
|
|
8
|
-
export declare function canonicalizeRelativeImports(content: string, manifestPath: string, loader: Loader, localFileSource: LocalFileSource): Promise<
|
|
9
|
+
export declare function canonicalizeRelativeImports(content: string, manifestPath: string, destination: string, loader: Loader, localFileSource: LocalFileSource): Promise<{
|
|
10
|
+
content: string;
|
|
11
|
+
refs: string[];
|
|
12
|
+
}>;
|
|
13
|
+
export declare function pinImports(content: string, registry: string, frozen: boolean, log: Logger): Promise<{
|
|
14
|
+
content: string;
|
|
15
|
+
pinned: number;
|
|
16
|
+
unresolved: string[];
|
|
17
|
+
}>;
|
|
9
18
|
export declare function publish(argv: {
|
|
10
19
|
paths: string[];
|
|
11
20
|
registry: string;
|
|
12
21
|
bump?: BumpLevel;
|
|
13
22
|
dryRun: boolean;
|
|
14
23
|
skipControllers: boolean;
|
|
24
|
+
frozen: boolean;
|
|
15
25
|
}): Promise<void>;
|
|
16
26
|
export declare function publishCommand(yargs: Argv): Argv;
|
|
17
27
|
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAsE,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,eAAe,EAA4B,MAAM,iBAAiB,CAAC;AAI5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AA8F9E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAyDpF;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAK3D;AAaD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4C9C;AAaD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoCpE;AAuUD,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA4ChD"}
|