@cimplify/cli 0.15.3 → 0.17.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/LICENSE +21 -0
- package/README.md +2 -2
- package/dist/add-C3DPTVH3.mjs +140 -0
- package/dist/{add-KRIIKAS4.mjs → add-JX2GXWXU.mjs} +4 -4
- package/dist/ai-HUZTVJIQ.mjs +17 -0
- package/dist/{assets-CWB72PZG.mjs → assets-MPESJSUV.mjs} +12 -7
- package/dist/{auth-step-up-Z6KOTTV7.mjs → auth-step-up-VJAFGSW6.mjs} +5 -5
- package/dist/build-E7RRQWVF.mjs +616 -0
- package/dist/{cancel-ZHVVILOU.mjs → cancel-UMKR274A.mjs} +4 -4
- package/dist/capture-TK4NIUYM.mjs +69 -0
- package/dist/chunk-25ZPFHLF.mjs +51 -0
- package/dist/{chunk-OLZKNUMK.mjs → chunk-3LJG22FS.mjs} +6 -6
- package/dist/chunk-454RQ6NR.mjs +10614 -0
- package/dist/{chunk-O2TO2J4I.mjs → chunk-6CQMRZ2W.mjs} +2 -2
- package/dist/chunk-6KKLF5KG.mjs +32 -0
- package/dist/chunk-74QZQSCL.mjs +84 -0
- package/dist/chunk-BGM7CH5G.mjs +81 -0
- package/dist/chunk-BTNVYAC4.mjs +5557 -0
- package/dist/{chunk-I2UP7YTG.mjs → chunk-ECGDRU56.mjs} +1 -1
- package/dist/{chunk-UTD34C2H.mjs → chunk-EOOOXVHR.mjs} +2 -4
- package/dist/chunk-EYEMPIMP.mjs +74 -0
- package/dist/{chunk-3RPR33MO.mjs → chunk-FV273ECI.mjs} +11 -7
- package/dist/{chunk-MLE4MVYC.mjs → chunk-GGPN4QYQ.mjs} +2 -2
- package/dist/chunk-HQPZQIWW.mjs +1456 -0
- package/dist/{chunk-3QUK5BPY.mjs → chunk-I7GEHLDD.mjs} +16 -1
- package/dist/chunk-ITDAICBY.mjs +363 -0
- package/dist/chunk-JKECUAAV.mjs +2169 -0
- package/dist/chunk-JNCEKW2Y.mjs +41 -0
- package/dist/chunk-JTYVGORV.mjs +101 -0
- package/dist/chunk-KQNZKV6E.mjs +535 -0
- package/dist/chunk-LJDIQ4PF.mjs +6463 -0
- package/dist/{chunk-2MKZKUVH.mjs → chunk-LLRUOIMU.mjs} +1 -2
- package/dist/chunk-MJMRIMR7.mjs +86 -0
- package/dist/chunk-N2WZJX5P.mjs +1989 -0
- package/dist/chunk-NEB372WD.mjs +1152 -0
- package/dist/chunk-OPX7KPOU.mjs +68 -0
- package/dist/chunk-PHUBMRAS.mjs +623 -0
- package/dist/chunk-PQBALZUH.mjs +1941 -0
- package/dist/chunk-PVW5D5AW.mjs +42 -0
- package/dist/{chunk-LZEG3FEY.mjs → chunk-QQWYQ2HS.mjs} +7 -7
- package/dist/chunk-QVR6V6QP.mjs +46 -0
- package/dist/chunk-SGT5IJVW.mjs +28 -0
- package/dist/chunk-SZXO6YSX.mjs +502 -0
- package/dist/chunk-THATLMEX.mjs +1227 -0
- package/dist/chunk-TYR4Q37L.mjs +391 -0
- package/dist/{chunk-DMLQBAGC.mjs → chunk-V3R2NYQR.mjs} +1 -1
- package/dist/chunk-VHK7WBO3.mjs +189 -0
- package/dist/{chunk-TH4XENKH.mjs → chunk-XASDB7YS.mjs} +1 -1
- package/dist/{chunk-NYXA6X56.mjs → chunk-XBQ4LO2N.mjs} +31 -11
- package/dist/chunk-XF3MGADK.mjs +2946 -0
- package/dist/{chunk-5KYR6WJB.mjs → chunk-XQAHREKO.mjs} +17 -1
- package/dist/chunk-XZG3DTXV.mjs +696 -0
- package/dist/chunk-Y4YGR2NY.mjs +52 -0
- package/dist/{chunk-LJEKKFC7.mjs → chunk-YS2JUNSQ.mjs} +19 -11
- package/dist/chunk-ZG7NJLXN.mjs +104 -0
- package/dist/create-3TGG7B3X.mjs +10 -0
- package/dist/credits-MEG7V5DI.mjs +33 -0
- package/dist/{deploy-STWZ3OSM.mjs → deploy-CNRORHJ7.mjs} +11 -11
- package/dist/dev-RXSBY7U4.mjs +8 -0
- package/dist/dev-YLYC6B7R.mjs +401 -0
- package/dist/dispatcher.mjs +131 -30
- package/dist/{doctor-3RW3OGZJ.mjs → doctor-XRTNG2IT.mjs} +13 -21
- package/dist/{domains-FTNK4IKY.mjs → domains-JIHFKDWR.mjs} +6 -6
- package/dist/engine-runtime-fetch-QVKJVC3W.mjs +10 -0
- package/dist/{env-TNCYUAMT.mjs → env-LJ3DCAA5.mjs} +7 -7
- package/dist/env-R72AHBT2.mjs +19 -0
- package/dist/explain-32RSXEXC.mjs +251 -0
- package/dist/inspect-PYLYN45K.mjs +86 -0
- package/dist/{inspect-X3M7WSTL.mjs → inspect-ZOLZHNSZ.mjs} +28 -13
- package/dist/introspect-27MMTACH.mjs +9 -0
- package/dist/kernel-IC4ZC54Z.mjs +662 -0
- package/dist/kernel-plugin.js +6862 -0
- package/dist/keys-WKOQ4KQE.mjs +71 -0
- package/dist/lines-I6ZB2IOU.mjs +56 -0
- package/dist/{link-76Z6V6CJ.mjs → link-TE2FUX74.mjs} +6 -6
- package/dist/{lint-DDZ7HUQN.mjs → lint-735IPMC6.mjs} +2 -2
- package/dist/{list-2MFOQKKQ.mjs → list-CHYY2P4T.mjs} +7 -11
- package/dist/lock-XVR3RRZ6.mjs +57 -0
- package/dist/{login-RLMDEWAL.mjs → login-LW7CHZDZ.mjs} +10 -8
- package/dist/{logout-Z57X6HPE.mjs → logout-6U6OP5DM.mjs} +2 -2
- package/dist/{logs-TNDM4RFE.mjs → logs-HKH4H6PT.mjs} +5 -5
- package/dist/logs-SCQC5HNO.mjs +44 -0
- package/dist/mcp-VRHQOEGG.mjs +1077 -0
- package/dist/{mock-EVER34IX.mjs → mock-5H3CVPHC.mjs} +2 -2
- package/dist/outdated-T7QW6F3Z.mjs +58 -0
- package/dist/port-24R7ZNP4.mjs +2408 -0
- package/dist/{projects-YL4T24VV.mjs → projects-HYITVEXS.mjs} +6 -6
- package/dist/publish-DZRR5A5X.mjs +20 -0
- package/dist/remix-4HVXRIEB.mjs +125 -0
- package/dist/repo-FG3CMZQS.mjs +9 -0
- package/dist/report-M7F4ZYP7.mjs +2 -0
- package/dist/rollback-H7Q4XYGX.mjs +43 -0
- package/dist/{rollback-47VQ4HJK.mjs → rollback-OM64O67F.mjs} +6 -6
- package/dist/scene-QTHT3ZPL.mjs +324 -0
- package/dist/{status-TWPOMWNA.mjs → status-5D4RR3MM.mjs} +5 -5
- package/dist/status-AKI6E3JK.mjs +18 -0
- package/dist/test-W6MURUGZ.mjs +233 -0
- package/dist/testers-EI32JB5F.mjs +49 -0
- package/dist/{unlink-H3BO3DOQ.mjs → unlink-BND47IWW.mjs} +2 -2
- package/dist/{update-FLY46XI3.mjs → update-XKKFREKH.mjs} +4 -4
- package/dist/{whoami-CQPPARRS.mjs → whoami-WHLGCVRC.mjs} +3 -3
- package/dist/workshop-F2T4IDOU.mjs +1703 -0
- package/package.json +11 -7
- package/templates/storefront-auto/app/products/[slug]/page.tsx +1 -1
- package/templates/storefront-auto/package.json +1 -1
- package/templates/storefront-bakery/package.json +1 -1
- package/templates/storefront-fashion/app/products/[slug]/page.tsx +1 -1
- package/templates/storefront-fashion/package.json +1 -1
- package/templates/storefront-grocery/package.json +1 -1
- package/templates/storefront-pharmacy/app/products/[slug]/page.tsx +1 -1
- package/templates/storefront-pharmacy/package.json +1 -1
- package/templates/storefront-restaurant/package.json +1 -1
- package/templates/storefront-retail/app/products/[slug]/page.tsx +1 -1
- package/templates/storefront-retail/package.json +1 -1
- package/templates/storefront-services/package.json +1 -1
- package/dist/chunk-ARIDYKLO.mjs +0 -6463
- package/dist/dev-7O65HY6C.mjs +0 -8
- package/dist/explain-DLRUUCNS.mjs +0 -251
- package/dist/introspect-RC265ACF.mjs +0 -9
- package/dist/repo-UUT3AZ3L.mjs +0 -9
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { loadScript, parseDevice, DEFAULT_DEVICE, DEFAULT_SEED, DEFAULT_FRAMES } from './chunk-SZXO6YSX.mjs';
|
|
3
|
+
import { EMPTY_READINESS } from './chunk-XF3MGADK.mjs';
|
|
4
|
+
import { existsSync } from 'fs';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
|
|
7
|
+
var READINESS_GATE = "readiness";
|
|
8
|
+
var READINESS_SCRIPTS = ["test/readiness.json", "test/readiness.ts"];
|
|
9
|
+
function kib(bytes) {
|
|
10
|
+
return `${Math.round(bytes / 1024)} KiB`;
|
|
11
|
+
}
|
|
12
|
+
function readinessSummary(readiness) {
|
|
13
|
+
if (readiness.first_frame < 0) return "readiness: the game presented no frame through the game API";
|
|
14
|
+
return `readiness: first frame at frame ${readiness.first_frame} (${Math.round(readiness.first_frame_ms)} ms wall), ${kib(readiness.bytes_before_first_play)} before first play, ${kib(readiness.bytes_total)} total, ${readiness.stall_frames} stall frames in ${readiness.frames}`;
|
|
15
|
+
}
|
|
16
|
+
function readinessScript(root) {
|
|
17
|
+
for (const name of READINESS_SCRIPTS) {
|
|
18
|
+
const file = path.join(root, name);
|
|
19
|
+
if (existsSync(file)) return file;
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function judgeReadiness(readiness, maxStalls) {
|
|
24
|
+
const summary = readinessSummary(readiness);
|
|
25
|
+
if (maxStalls !== null && readiness.stall_frames > maxStalls) {
|
|
26
|
+
return { name: READINESS_GATE, status: "failed", detail: `${summary}; the script allows ${maxStalls} (max_stalls), first stalls at frames ${readiness.stalls.slice(0, 8).join(", ")}` };
|
|
27
|
+
}
|
|
28
|
+
return { name: READINESS_GATE, status: "passed", detail: maxStalls === null ? `${summary}; set max_stalls in the script to gate on stalls` : summary };
|
|
29
|
+
}
|
|
30
|
+
async function readinessGate(root, setup, run) {
|
|
31
|
+
const file = readinessScript(root);
|
|
32
|
+
if (file === null) return { name: READINESS_GATE, status: "skipped", detail: `add ${READINESS_SCRIPTS[0]} (an input script along a recorded path) to measure time to first frame, bytes before first play and streaming stalls` };
|
|
33
|
+
const script = await loadScript(file);
|
|
34
|
+
const device = parseDevice(script.devices?.[0] ?? DEFAULT_DEVICE);
|
|
35
|
+
if (typeof device === "string") throw new Error(device);
|
|
36
|
+
const request = {
|
|
37
|
+
device,
|
|
38
|
+
backend: "swiftshader",
|
|
39
|
+
seed: script.seed ?? DEFAULT_SEED,
|
|
40
|
+
scene: script.scene,
|
|
41
|
+
frame: DEFAULT_FRAMES,
|
|
42
|
+
script,
|
|
43
|
+
scriptPath: path.relative(root, file),
|
|
44
|
+
screenshots: false,
|
|
45
|
+
inspect: false
|
|
46
|
+
};
|
|
47
|
+
const frames = await run(setup, request);
|
|
48
|
+
const readiness = frames[frames.length - 1]?.sidecar.readiness ?? EMPTY_READINESS;
|
|
49
|
+
return judgeReadiness(readiness, script.max_stalls ?? null);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { READINESS_GATE, readinessGate, readinessScript, readinessSummary };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { parseEnvFile } from './chunk-
|
|
3
|
-
import { package_default } from './chunk-
|
|
4
|
-
import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-
|
|
5
|
-
import { parseArgs } from './chunk-
|
|
6
|
-
import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-
|
|
7
|
-
import { bold, dim,
|
|
2
|
+
import { parseEnvFile } from './chunk-ECGDRU56.mjs';
|
|
3
|
+
import { package_default } from './chunk-FV273ECI.mjs';
|
|
4
|
+
import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-EOOOXVHR.mjs';
|
|
5
|
+
import { parseArgs } from './chunk-XQAHREKO.mjs';
|
|
6
|
+
import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-GGPN4QYQ.mjs';
|
|
7
|
+
import { bold, dim, orange, green, info, result, red } from './chunk-I7GEHLDD.mjs';
|
|
8
8
|
import { promises } from 'fs';
|
|
9
9
|
import path from 'path';
|
|
10
10
|
|
|
@@ -33,7 +33,13 @@ async function findFirstExisting(cwd, candidates) {
|
|
|
33
33
|
async function gatherAuth() {
|
|
34
34
|
const auth = await readAuthOrNull();
|
|
35
35
|
if (!auth) {
|
|
36
|
-
return {
|
|
36
|
+
return {
|
|
37
|
+
logged_in: false,
|
|
38
|
+
account_id: null,
|
|
39
|
+
business_id: null,
|
|
40
|
+
email: null,
|
|
41
|
+
api_base_url: null
|
|
42
|
+
};
|
|
37
43
|
}
|
|
38
44
|
return {
|
|
39
45
|
logged_in: true,
|
|
@@ -199,7 +205,9 @@ function renderIntrospection(snapshot) {
|
|
|
199
205
|
if (p.last_deployment) {
|
|
200
206
|
const d = p.last_deployment;
|
|
201
207
|
const shortSha = d.sha ? d.sha.slice(0, SHA_DISPLAY_LEN) : "?";
|
|
202
|
-
out.push(
|
|
208
|
+
out.push(
|
|
209
|
+
` ${" ".repeat(LABEL_WIDTH)}last deploy: ${d.environment ?? "?"} \xB7 ${shortSha} \xB7 ${d.id}`
|
|
210
|
+
);
|
|
203
211
|
}
|
|
204
212
|
} else {
|
|
205
213
|
out.push(` ${label("Project")}${check(false)} not linked ${dim("(cimplify link <id>)")}`);
|
|
@@ -231,8 +239,8 @@ function renderIntrospection(snapshot) {
|
|
|
231
239
|
const nc = snapshot.next_config;
|
|
232
240
|
if (nc.path) {
|
|
233
241
|
const flag = nc.cache_components;
|
|
234
|
-
const sigil = flag === true ? check(
|
|
235
|
-
const note = flag === true ? "cacheComponents: true
|
|
242
|
+
const sigil = flag === true ? check(false) : check(true);
|
|
243
|
+
const note = flag === true ? "cacheComponents: true (storefronts use the ISR Previous Model)" : "ISR Previous Model (cacheComponents off)";
|
|
236
244
|
out.push(` ${label("Next")}${sigil} ${note} ${dim(nc.path)}`);
|
|
237
245
|
}
|
|
238
246
|
if (snapshot.mock.seed) {
|
|
@@ -244,7 +252,7 @@ function renderIntrospection(snapshot) {
|
|
|
244
252
|
}
|
|
245
253
|
if (snapshot.git) {
|
|
246
254
|
const g = snapshot.git;
|
|
247
|
-
const dirty = g.dirty ?
|
|
255
|
+
const dirty = g.dirty ? orange("dirty") : green("clean");
|
|
248
256
|
out.push(` ${label("Git")}${g.branch ?? "(no branch)"} \xB7 ${dirty}`);
|
|
249
257
|
}
|
|
250
258
|
return out;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { MANIFEST_FILE, LOCKFILE, serializeLockfile, currentLockfile } from './chunk-HQPZQIWW.mjs';
|
|
3
|
+
import { quoteTomlString } from './chunk-KQNZKV6E.mjs';
|
|
4
|
+
import { PINNED_TYPESCRIPT_VERSION, PINNED_SDK_VERSION } from './chunk-BGM7CH5G.mjs';
|
|
5
|
+
|
|
6
|
+
// src/interactives/templates/common.ts
|
|
7
|
+
var VITEST_VERSION = "^4.1.10";
|
|
8
|
+
function packageJson(name) {
|
|
9
|
+
const pkg = {
|
|
10
|
+
name,
|
|
11
|
+
private: true,
|
|
12
|
+
type: "module",
|
|
13
|
+
scripts: { dev: "cimplify dev", test: "vitest run", check: "tsc --noEmit" },
|
|
14
|
+
dependencies: { "@cimplify/sdk": `^${PINNED_SDK_VERSION}` },
|
|
15
|
+
devDependencies: { typescript: PINNED_TYPESCRIPT_VERSION, vitest: VITEST_VERSION }
|
|
16
|
+
};
|
|
17
|
+
return `${JSON.stringify(pkg, null, 2)}
|
|
18
|
+
`;
|
|
19
|
+
}
|
|
20
|
+
var TSCONFIG = `{
|
|
21
|
+
"compilerOptions": {
|
|
22
|
+
"target": "ES2022",
|
|
23
|
+
"module": "ESNext",
|
|
24
|
+
"moduleResolution": "bundler",
|
|
25
|
+
"lib": ["ES2022", "DOM"],
|
|
26
|
+
"strict": true,
|
|
27
|
+
"noEmit": true,
|
|
28
|
+
"isolatedModules": true,
|
|
29
|
+
"skipLibCheck": true,
|
|
30
|
+
"types": []
|
|
31
|
+
},
|
|
32
|
+
"include": ["src", "tests"]
|
|
33
|
+
}
|
|
34
|
+
`;
|
|
35
|
+
var GITIGNORE = "node_modules\n.cimplify\n";
|
|
36
|
+
function manifest(title, spec) {
|
|
37
|
+
let out = `[interactive]
|
|
38
|
+
name = ${quoteTomlString(title)}
|
|
39
|
+
description = ${quoteTomlString(spec.description)}
|
|
40
|
+
category = "${spec.category}"
|
|
41
|
+
|
|
42
|
+
`;
|
|
43
|
+
out += `[profile]
|
|
44
|
+
kind = "${spec.profile}"
|
|
45
|
+
`;
|
|
46
|
+
if (spec.game) out += `game = "game_api"
|
|
47
|
+
`;
|
|
48
|
+
if (spec.engineFeatures !== void 0) out += `engine_features = [${spec.engineFeatures.map(quoteTomlString).join(", ")}]
|
|
49
|
+
`;
|
|
50
|
+
out += `
|
|
51
|
+
[entries]
|
|
52
|
+
client = "src/client.ts"
|
|
53
|
+
`;
|
|
54
|
+
if (spec.game) out += `conformance = "src/conformance.ts"
|
|
55
|
+
`;
|
|
56
|
+
const caps = Object.keys(spec.capabilities);
|
|
57
|
+
if (caps.length > 0) {
|
|
58
|
+
out += "\n[capabilities]\n";
|
|
59
|
+
for (const c of caps) out += `${quoteTomlString(c)} = ${quoteTomlString(spec.capabilities[c])}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
if (spec.economy) out += `
|
|
63
|
+
${spec.economy}`;
|
|
64
|
+
if (spec.extraManifest) out += `
|
|
65
|
+
${spec.extraManifest}`;
|
|
66
|
+
out += `
|
|
67
|
+
[rating]
|
|
68
|
+
violence = "none"
|
|
69
|
+
sexuality = "none"
|
|
70
|
+
language = "none"
|
|
71
|
+
fear = "none"
|
|
72
|
+
simulated_gambling = false
|
|
73
|
+
|
|
74
|
+
[delivery]
|
|
75
|
+
min_device_tier = "${spec.minDeviceTier ?? "low"}"
|
|
76
|
+
download_size = "2 MiB"
|
|
77
|
+
|
|
78
|
+
[[delivery.groups]]
|
|
79
|
+
name = "core"
|
|
80
|
+
before_play = true
|
|
81
|
+
assets = ["assets/core/**"]
|
|
82
|
+
|
|
83
|
+
[[delivery.groups]]
|
|
84
|
+
name = "extras"
|
|
85
|
+
assets = ["assets/**"]
|
|
86
|
+
`;
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
function titleFromName(name) {
|
|
90
|
+
return name.split(/[-_\s]+/).filter((w) => w.length > 0).map((w) => w[0].toUpperCase() + w.slice(1)).join(" ");
|
|
91
|
+
}
|
|
92
|
+
function materialize(name, spec) {
|
|
93
|
+
const title = titleFromName(name);
|
|
94
|
+
return [
|
|
95
|
+
{ path: MANIFEST_FILE, content: manifest(title, spec) },
|
|
96
|
+
{ path: LOCKFILE, content: serializeLockfile(currentLockfile()) },
|
|
97
|
+
{ path: "package.json", content: packageJson(name) },
|
|
98
|
+
{ path: "tsconfig.json", content: TSCONFIG },
|
|
99
|
+
{ path: ".gitignore", content: GITIGNORE },
|
|
100
|
+
...spec.files.map((f) => ({ path: f.path, content: f.content.replaceAll("__TITLE__", title) }))
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { materialize, titleFromName };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export { createProject, run as default, parseTemplate } from './chunk-PQBALZUH.mjs';
|
|
3
|
+
import './chunk-ZG7NJLXN.mjs';
|
|
4
|
+
import './chunk-HQPZQIWW.mjs';
|
|
5
|
+
import './chunk-KQNZKV6E.mjs';
|
|
6
|
+
import './chunk-BGM7CH5G.mjs';
|
|
7
|
+
import './chunk-25ZPFHLF.mjs';
|
|
8
|
+
import './chunk-SGT5IJVW.mjs';
|
|
9
|
+
import './chunk-XQAHREKO.mjs';
|
|
10
|
+
import './chunk-I7GEHLDD.mjs';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { requireInteractiveProject, buildLocal, renderDiagnostics } from './chunk-BTNVYAC4.mjs';
|
|
3
|
+
import './chunk-VHK7WBO3.mjs';
|
|
4
|
+
import './chunk-454RQ6NR.mjs';
|
|
5
|
+
import './chunk-JKECUAAV.mjs';
|
|
6
|
+
import './chunk-HQPZQIWW.mjs';
|
|
7
|
+
import './chunk-KQNZKV6E.mjs';
|
|
8
|
+
import './chunk-N2WZJX5P.mjs';
|
|
9
|
+
import './chunk-EYEMPIMP.mjs';
|
|
10
|
+
import './chunk-BGM7CH5G.mjs';
|
|
11
|
+
import './chunk-25ZPFHLF.mjs';
|
|
12
|
+
import './chunk-SGT5IJVW.mjs';
|
|
13
|
+
import './chunk-GGPN4QYQ.mjs';
|
|
14
|
+
import { info, dim, result } from './chunk-I7GEHLDD.mjs';
|
|
15
|
+
|
|
16
|
+
// src/interactives/commands/credits.ts
|
|
17
|
+
async function run() {
|
|
18
|
+
const root = process.cwd();
|
|
19
|
+
requireInteractiveProject(root, "credits");
|
|
20
|
+
const { result: built } = await buildLocal(root);
|
|
21
|
+
const credits = built.package?.credits ?? [];
|
|
22
|
+
if (built.package === null) {
|
|
23
|
+
for (const line of renderDiagnostics(built.diagnostics)) info(line);
|
|
24
|
+
}
|
|
25
|
+
for (const credit of credits) {
|
|
26
|
+
const tags = [credit.modified ? "modified" : null, credit.ai === void 0 ? null : credit.ai === "generated" ? "made with AI" : "AI-assisted"].filter((t) => t !== null);
|
|
27
|
+
info(`${credit.title} by ${credit.authors.join(", ")} ${dim(`(${credit.licence}${tags.length > 0 ? `; ${tags.join(", ")}` : ""})`)}`);
|
|
28
|
+
}
|
|
29
|
+
if (credits.length === 0) info(dim("no credits; add [[credits]] to interactive.toml or Workshop content with cimplify add"));
|
|
30
|
+
result(credits);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { run as default };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { detectPackageManager } from './chunk-
|
|
3
|
-
import { fetchRepoRecord, fetchCloneToken } from './chunk-
|
|
4
|
-
import { pollDeployment } from './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import { promptYesNo } from './chunk-
|
|
7
|
-
import { isManagedRemote, gitDetectRoot, gitStatusPorcelain, gitCurrentBranch, gitCurrentSha, gitGetRemoteUrl, gitPushToUrl, gitPush } from './chunk-
|
|
8
|
-
import { isManagedRepoProvider, ENV_SCOPE, DEPLOY_TRIGGER, DEPLOYMENT_STATUS, TOKEN_PURPOSE } from './chunk-
|
|
9
|
-
import { parseArgs, flagBool, flagString } from './chunk-
|
|
10
|
-
import { ApiClient } from './chunk-
|
|
11
|
-
import { readAuth, readProjectLink, writeProjectState } from './chunk-
|
|
12
|
-
import { info, dim, step, CliError, CLI_ERROR_CODE, success, result, EXIT_CODE } from './chunk-
|
|
2
|
+
import { detectPackageManager } from './chunk-3LJG22FS.mjs';
|
|
3
|
+
import { fetchRepoRecord, fetchCloneToken } from './chunk-QQWYQ2HS.mjs';
|
|
4
|
+
import { pollDeployment } from './chunk-6CQMRZ2W.mjs';
|
|
5
|
+
import './chunk-ECGDRU56.mjs';
|
|
6
|
+
import { promptYesNo } from './chunk-XASDB7YS.mjs';
|
|
7
|
+
import { isManagedRemote, gitDetectRoot, gitStatusPorcelain, gitCurrentBranch, gitCurrentSha, gitGetRemoteUrl, gitPushToUrl, gitPush } from './chunk-EOOOXVHR.mjs';
|
|
8
|
+
import { isManagedRepoProvider, ENV_SCOPE, DEPLOY_TRIGGER, DEPLOYMENT_STATUS, TOKEN_PURPOSE } from './chunk-LLRUOIMU.mjs';
|
|
9
|
+
import { parseArgs, flagBool, flagString } from './chunk-XQAHREKO.mjs';
|
|
10
|
+
import { ApiClient } from './chunk-XBQ4LO2N.mjs';
|
|
11
|
+
import { readAuth, readProjectLink, writeProjectState } from './chunk-GGPN4QYQ.mjs';
|
|
12
|
+
import { info, dim, step, CliError, CLI_ERROR_CODE, success, result, EXIT_CODE } from './chunk-I7GEHLDD.mjs';
|
|
13
13
|
import { spawn } from 'child_process';
|
|
14
14
|
import { promises } from 'fs';
|
|
15
15
|
import path from 'path';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export { run as default, detectPackageManager, mergeEnvEntries } from './chunk-3LJG22FS.mjs';
|
|
3
|
+
import './chunk-ECGDRU56.mjs';
|
|
4
|
+
import './chunk-LLRUOIMU.mjs';
|
|
5
|
+
import './chunk-XQAHREKO.mjs';
|
|
6
|
+
import './chunk-XBQ4LO2N.mjs';
|
|
7
|
+
import './chunk-GGPN4QYQ.mjs';
|
|
8
|
+
import './chunk-I7GEHLDD.mjs';
|