@kindgi/cli 0.1.6 → 0.1.7-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -12
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +84 -13
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +5 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +102 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/guardrails.d.ts.map +1 -1
- package/dist/commands/guardrails.js +13 -2
- package/dist/commands/guardrails.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +23 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/license.d.ts +3 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +187 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/providers.d.ts.map +1 -1
- package/dist/commands/providers.js +11 -9
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +21 -9
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/webhooks.d.ts +20 -0
- package/dist/commands/webhooks.d.ts.map +1 -0
- package/dist/commands/webhooks.js +444 -0
- package/dist/commands/webhooks.js.map +1 -0
- package/dist/context.d.ts +4 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -0
- package/dist/context.js.map +1 -1
- package/dist/dev/already-running.d.ts +22 -0
- package/dist/dev/already-running.d.ts.map +1 -0
- package/dist/dev/already-running.js +72 -0
- package/dist/dev/already-running.js.map +1 -0
- package/dist/dev/defaults.d.ts.map +1 -1
- package/dist/dev/defaults.js +5 -2
- package/dist/dev/defaults.js.map +1 -1
- package/dist/dev/dev-lock.d.ts +50 -0
- package/dist/dev/dev-lock.d.ts.map +1 -0
- package/dist/dev/dev-lock.js +203 -0
- package/dist/dev/dev-lock.js.map +1 -0
- package/dist/dev/port.d.ts +6 -2
- package/dist/dev/port.d.ts.map +1 -1
- package/dist/dev/port.js +8 -4
- package/dist/dev/port.js.map +1 -1
- package/dist/dev/providers.d.ts.map +1 -1
- package/dist/dev/providers.js +112 -23
- package/dist/dev/providers.js.map +1 -1
- package/dist/dev/runners.d.ts +21 -2
- package/dist/dev/runners.d.ts.map +1 -1
- package/dist/dev/runtime-container.d.ts +78 -3
- package/dist/dev/runtime-container.d.ts.map +1 -1
- package/dist/dev/runtime-container.js +256 -25
- package/dist/dev/runtime-container.js.map +1 -1
- package/dist/dev/runtime-image.d.ts +1 -1
- package/dist/dev/runtime-image.d.ts.map +1 -1
- package/dist/dev/runtime-image.js +1 -1
- package/dist/dev/runtime-image.js.map +1 -1
- package/dist/dev/start-phases.d.ts +41 -0
- package/dist/dev/start-phases.d.ts.map +1 -0
- package/dist/dev/start-phases.js +103 -0
- package/dist/dev/start-phases.js.map +1 -0
- package/dist/init/augment-scaffolder.d.ts +20 -7
- package/dist/init/augment-scaffolder.d.ts.map +1 -1
- package/dist/init/augment-scaffolder.js +94 -21
- package/dist/init/augment-scaffolder.js.map +1 -1
- package/dist/init/pinning.d.ts +39 -0
- package/dist/init/pinning.d.ts.map +1 -0
- package/dist/init/pinning.js +130 -0
- package/dist/init/pinning.js.map +1 -0
- package/dist/init/template-files.d.ts +1 -1
- package/dist/init/tsconfig-paths.d.ts +29 -0
- package/dist/init/tsconfig-paths.d.ts.map +1 -0
- package/dist/init/tsconfig-paths.js +235 -0
- package/dist/init/tsconfig-paths.js.map +1 -0
- package/dist/init/vitest-setup.d.ts +41 -0
- package/dist/init/vitest-setup.d.ts.map +1 -0
- package/dist/init/vitest-setup.js +163 -0
- package/dist/init/vitest-setup.js.map +1 -0
- package/dist/license/aws.d.ts +24 -0
- package/dist/license/aws.d.ts.map +1 -0
- package/dist/license/aws.js +291 -0
- package/dist/license/aws.js.map +1 -0
- package/dist/license/cloud.d.ts +13 -0
- package/dist/license/cloud.d.ts.map +1 -0
- package/dist/license/cloud.js +193 -0
- package/dist/license/cloud.js.map +1 -0
- package/dist/license/expiry.d.ts +33 -0
- package/dist/license/expiry.d.ts.map +1 -0
- package/dist/license/expiry.js +35 -0
- package/dist/license/expiry.js.map +1 -0
- package/dist/license/license-key.d.ts +32 -0
- package/dist/license/license-key.d.ts.map +1 -0
- package/dist/license/license-key.js +91 -0
- package/dist/license/license-key.js.map +1 -0
- package/dist/license/protocol.d.ts +63 -0
- package/dist/license/protocol.d.ts.map +1 -0
- package/dist/license/protocol.js +102 -0
- package/dist/license/protocol.js.map +1 -0
- package/dist/license/renew.d.ts +59 -0
- package/dist/license/renew.d.ts.map +1 -0
- package/dist/license/renew.js +153 -0
- package/dist/license/renew.js.map +1 -0
- package/dist/license/stores.d.ts +19 -0
- package/dist/license/stores.d.ts.map +1 -0
- package/dist/license/stores.js +150 -0
- package/dist/license/stores.js.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +2 -1
- package/dist/package-manager.js.map +1 -1
- package/dist/providers/preset-loader.d.ts +52 -1
- package/dist/providers/preset-loader.d.ts.map +1 -1
- package/dist/providers/preset-loader.js +85 -6
- package/dist/providers/preset-loader.js.map +1 -1
- package/dist/providers/presets/anthropic.json +1 -1
- package/dist/providers/presets/azure-openai.json +65 -0
- package/dist/providers/presets/bedrock.json +102 -0
- package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +3 -3
- package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +3 -3
- package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +11 -10
- package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +4 -4
- package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +16 -9
- package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +9 -11
- package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +3 -3
- package/dist/sdk-skills/kindgi-getting-started/SKILL.md +28 -5
- package/dist/sdk-skills/kindgi-java-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-authoring-tools/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-java-getting-started/SKILL.md +6 -1
- package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +6 -1
- package/dist/sdk-skills/kindgi-scala-authoring-agents/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-authoring-flows/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-authoring-guardrails/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-authoring-tools/SKILL.md +1 -1
- package/dist/sdk-skills/kindgi-scala-getting-started/SKILL.md +6 -1
- package/dist/sdk-skills/kindgi-using/SKILL.md +236 -0
- package/dist/templates/drupal/.nvmrc +1 -0
- package/dist/templates/drupal/AGENTS.md +62 -0
- package/dist/templates/drupal/README.md.tmpl +321 -0
- package/dist/templates/drupal/agents/content-agent/index.test.ts.tmpl +47 -0
- package/dist/templates/drupal/agents/content-agent/index.ts.tmpl +69 -0
- package/dist/templates/drupal/agents/content-reviewer/index.test.ts.tmpl +37 -0
- package/dist/templates/drupal/agents/content-reviewer/index.ts.tmpl +57 -0
- package/dist/templates/drupal/fixtures/node-updated.json +174 -0
- package/dist/templates/drupal/flows/content-review/index.ts.tmpl +66 -0
- package/dist/templates/drupal/gitignore +8 -0
- package/dist/templates/drupal/guardrails/no-contact-details/index.test.ts.tmpl +29 -0
- package/dist/templates/drupal/guardrails/no-contact-details/index.ts.tmpl +73 -0
- package/dist/templates/drupal/kindgi.config.ts.tmpl +41 -0
- package/dist/templates/drupal/lib/drupal.ts.tmpl +64 -0
- package/dist/templates/drupal/package.json.tmpl +31 -0
- package/dist/templates/drupal/pnpm-workspace.yaml +9 -0
- package/dist/templates/drupal/scripts/connect-drupal.mjs.tmpl +57 -0
- package/dist/templates/drupal/tools/check-content-event/index.test.ts.tmpl +72 -0
- package/dist/templates/drupal/tools/check-content-event/index.ts.tmpl +115 -0
- package/dist/templates/drupal/tsconfig.json.tmpl +28 -0
- package/dist/templates/drupal/vitest.config.ts.tmpl +14 -0
- package/dist/templates/java/AGENTS.md +6 -0
- package/dist/templates/java/README.md.tmpl +1 -1
- package/dist/templates/minimal/AGENTS.md +6 -0
- package/dist/templates/minimal/README.md.tmpl +3 -2
- package/dist/templates/minimal/package.json.tmpl +3 -2
- package/dist/templates/python/AGENTS.md +3 -2
- package/dist/templates/sample/AGENTS.md +6 -0
- package/dist/templates/sample/package.json.tmpl +3 -2
- package/dist/templates/scala/AGENTS.md +6 -0
- package/dist/templates/scala/README.md.tmpl +1 -1
- package/dist/templates/woocommerce/.nvmrc +1 -0
- package/dist/templates/woocommerce/AGENTS.md +49 -0
- package/dist/templates/woocommerce/README.md.tmpl +273 -0
- package/dist/templates/woocommerce/agents/order-reviewer/index.test.ts.tmpl +28 -0
- package/dist/templates/woocommerce/agents/order-reviewer/index.ts.tmpl +45 -0
- package/dist/templates/woocommerce/agents/store-agent/index.test.ts.tmpl +47 -0
- package/dist/templates/woocommerce/agents/store-agent/index.ts.tmpl +79 -0
- package/dist/templates/woocommerce/fixtures/order-created.json +67 -0
- package/dist/templates/woocommerce/flows/order-review/index.ts.tmpl +64 -0
- package/dist/templates/woocommerce/gitignore +8 -0
- package/dist/templates/woocommerce/guardrails/no-customer-contact-details/index.test.ts.tmpl +29 -0
- package/dist/templates/woocommerce/guardrails/no-customer-contact-details/index.ts.tmpl +74 -0
- package/dist/templates/woocommerce/kindgi.config.ts.tmpl +41 -0
- package/dist/templates/woocommerce/lib/fake-store.ts.tmpl +82 -0
- package/dist/templates/woocommerce/lib/woo.ts.tmpl +182 -0
- package/dist/templates/woocommerce/package.json.tmpl +30 -0
- package/dist/templates/woocommerce/pnpm-workspace.yaml +9 -0
- package/dist/templates/woocommerce/tools/check-order-event/index.test.ts.tmpl +76 -0
- package/dist/templates/woocommerce/tools/check-order-event/index.ts.tmpl +131 -0
- package/dist/templates/woocommerce/tools/find-orders/index.ts.tmpl +80 -0
- package/dist/templates/woocommerce/tools/publish-product/index.ts.tmpl +34 -0
- package/dist/templates/woocommerce/tools/refund/index.test.ts.tmpl +125 -0
- package/dist/templates/woocommerce/tools/refund/index.ts.tmpl +70 -0
- package/dist/templates/woocommerce/tools/refund-large/index.test.ts.tmpl +53 -0
- package/dist/templates/woocommerce/tools/refund-large/index.ts.tmpl +44 -0
- package/dist/templates/woocommerce/tools/set-price/index.ts.tmpl +36 -0
- package/dist/templates/woocommerce/tsconfig.json.tmpl +28 -0
- package/dist/templates/woocommerce/vitest.config.ts.tmpl +14 -0
- package/dist/test/defaults.d.ts +1 -1
- package/dist/test/defaults.d.ts.map +1 -1
- package/dist/test/defaults.js +2 -7
- package/dist/test/defaults.js.map +1 -1
- package/dist/test/runners.d.ts +6 -0
- package/dist/test/runners.d.ts.map +1 -1
- package/dist/test/runners.js +18 -1
- package/dist/test/runners.js.map +1 -1
- package/package.json +13 -13
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
const LABELS = {
|
|
4
|
+
pull: { doing: 'pulling the runtime image', done: 'pulled the runtime image' },
|
|
5
|
+
container: { doing: 'starting its container', done: 'started its container' },
|
|
6
|
+
migrate: { doing: 'migrating the database', done: 'migrated the database' },
|
|
7
|
+
serve: { doing: 'waiting for it to serve', done: 'serving' },
|
|
8
|
+
};
|
|
9
|
+
/** How often a phase that's still going says so. */
|
|
10
|
+
export const PHASE_HEARTBEAT_MS = 3000;
|
|
11
|
+
/** Phase lines sit under "Starting the Kindgi runtime...". */
|
|
12
|
+
const INDENT = ' ';
|
|
13
|
+
export function createStartPhases(options) {
|
|
14
|
+
const heartbeatMs = options.heartbeatMs ?? PHASE_HEARTBEAT_MS;
|
|
15
|
+
let open;
|
|
16
|
+
let tick;
|
|
17
|
+
let firstAt;
|
|
18
|
+
let closed = false;
|
|
19
|
+
const stopTicking = () => {
|
|
20
|
+
if (tick !== undefined)
|
|
21
|
+
clearInterval(tick);
|
|
22
|
+
tick = undefined;
|
|
23
|
+
};
|
|
24
|
+
// Each phase's own clock: its lines come at 3s, 6s, … into it.
|
|
25
|
+
const startTicking = () => {
|
|
26
|
+
stopTicking();
|
|
27
|
+
tick = setInterval(() => {
|
|
28
|
+
if (open === undefined)
|
|
29
|
+
return;
|
|
30
|
+
const seconds = Math.round((Date.now() - open.startedAt) / 1000);
|
|
31
|
+
const note = open.note === undefined ? '' : `: ${open.note}`;
|
|
32
|
+
options.emit(`${INDENT}⋯ ${LABELS[open.phase].doing}${note} (${seconds}s)`);
|
|
33
|
+
}, heartbeatMs);
|
|
34
|
+
// The heartbeat never keeps the CLI alive by itself.
|
|
35
|
+
tick.unref?.();
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
begin(phase, note) {
|
|
39
|
+
if (closed)
|
|
40
|
+
return;
|
|
41
|
+
const now = Date.now();
|
|
42
|
+
firstAt ??= now;
|
|
43
|
+
open = { phase, startedAt: now, note };
|
|
44
|
+
startTicking();
|
|
45
|
+
// A pull says what's coming at once: its size is news.
|
|
46
|
+
if (phase === 'pull') {
|
|
47
|
+
options.emit(`${INDENT}⋯ ${LABELS.pull.doing}${note === undefined ? '' : `: ${note}`}`);
|
|
48
|
+
open.note = undefined;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
progress(phase, note) {
|
|
52
|
+
if (open?.phase === phase)
|
|
53
|
+
open.note = note;
|
|
54
|
+
},
|
|
55
|
+
end(phase, note) {
|
|
56
|
+
if (closed || open?.phase !== phase)
|
|
57
|
+
return false;
|
|
58
|
+
stopTicking();
|
|
59
|
+
const took = formatDuration(Date.now() - open.startedAt);
|
|
60
|
+
const what = note === undefined ? '' : `: ${note}`;
|
|
61
|
+
options.emit(`${INDENT}✓ ${LABELS[open.phase].done}${what} in ${took}`);
|
|
62
|
+
open = undefined;
|
|
63
|
+
return true;
|
|
64
|
+
},
|
|
65
|
+
close() {
|
|
66
|
+
closed = true;
|
|
67
|
+
open = undefined;
|
|
68
|
+
stopTicking();
|
|
69
|
+
},
|
|
70
|
+
elapsedMs() {
|
|
71
|
+
return firstAt === undefined ? 0 : Date.now() - firstAt;
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** A duration as people say it: `0.4s`, `12s`, `1m 05s`. */
|
|
76
|
+
export function formatDuration(ms) {
|
|
77
|
+
if (ms < 10_000)
|
|
78
|
+
return `${(Math.max(ms, 0) / 1000).toFixed(1)}s`;
|
|
79
|
+
const seconds = Math.round(ms / 1000);
|
|
80
|
+
if (seconds < 60)
|
|
81
|
+
return `${seconds}s`;
|
|
82
|
+
return `${Math.floor(seconds / 60)}m ${String(seconds % 60).padStart(2, '0')}s`;
|
|
83
|
+
}
|
|
84
|
+
/** A size as docker states one (decimal units): `812 kB`, `48.2 MB`, `412 MB`, `1.24 GB`. */
|
|
85
|
+
export function formatSize(bytes) {
|
|
86
|
+
if (bytes < 1_000_000)
|
|
87
|
+
return `${Math.max(1, Math.round(bytes / 1000))} kB`;
|
|
88
|
+
const mb = bytes / 1_000_000;
|
|
89
|
+
if (mb < 100)
|
|
90
|
+
return `${mb.toFixed(1)} MB`;
|
|
91
|
+
if (mb < 1000)
|
|
92
|
+
return `${Math.round(mb)} MB`;
|
|
93
|
+
return `${(mb / 1000).toFixed(2)} GB`;
|
|
94
|
+
}
|
|
95
|
+
/** No phases: what a start reports when no one listens (a test's fake runtime). */
|
|
96
|
+
export const NO_START_PHASES = {
|
|
97
|
+
begin: () => undefined,
|
|
98
|
+
progress: () => undefined,
|
|
99
|
+
end: () => false,
|
|
100
|
+
close: () => undefined,
|
|
101
|
+
elapsedMs: () => 0,
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=start-phases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-phases.js","sourceRoot":"","sources":["../../src/dev/start-phases.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,16 +68,29 @@ export declare function renderAugmentConfig(inputs: {
|
|
|
68
68
|
readonly packName: string;
|
|
69
69
|
}): string;
|
|
70
70
|
export declare function runInitAugment(inputs: RunInitAugmentInputs): Promise<CommandResult>;
|
|
71
|
+
export interface AugmentTestsStep {
|
|
72
|
+
/** The vitest config `kindgi test` runs. */
|
|
73
|
+
readonly configFile: string;
|
|
74
|
+
/** The tsconfig paths copied into its `resolve.alias`. */
|
|
75
|
+
readonly aliasPatterns: readonly string[];
|
|
76
|
+
}
|
|
71
77
|
/**
|
|
72
78
|
* What to run next — in the project's own package manager, with its own
|
|
73
|
-
* `kindgi`. With the sample's `packId`, how to try its agent too
|
|
79
|
+
* `kindgi`. With the sample's `packId`, how to try its agent too; with
|
|
80
|
+
* init's vitest config, how the tests run and how its aliases stay right.
|
|
81
|
+
*/
|
|
82
|
+
export declare function augmentNextSteps(pm: PackageManager, samplePackId?: string, tests?: AugmentTestsStep): readonly string[];
|
|
83
|
+
/** The zods Kindgi works with: `@kindgi/sdk`'s range. An app's own zod outside it is reported. */
|
|
84
|
+
export declare const ZOD_RANGE = "^4.0.0";
|
|
85
|
+
/**
|
|
86
|
+
* Zod as init adds it: the version Kindgi is tested with, exact when the
|
|
87
|
+
* app pins exactly (or saves exact versions), else a `^` range from it, the
|
|
88
|
+
* fresh templates' (their `package.json.tmpl`).
|
|
74
89
|
*/
|
|
75
|
-
export declare function
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
readonly
|
|
79
|
-
readonly spec: "^4.0.0";
|
|
80
|
-
readonly section: "dependencies";
|
|
90
|
+
export declare function zodDependency(exact: boolean): {
|
|
91
|
+
readonly name: 'zod';
|
|
92
|
+
readonly spec: string;
|
|
93
|
+
readonly section: 'dependencies';
|
|
81
94
|
};
|
|
82
95
|
/**
|
|
83
96
|
* The app's own Zod is kept; one whose range excludes zod 4 is reported,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment-scaffolder.d.ts","sourceRoot":"","sources":["../../src/init/augment-scaffolder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"augment-scaffolder.d.ts","sourceRoot":"","sources":["../../src/init/augment-scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,12 @@
|
|
|
21
21
|
* - `package.json`: `@kindgi/sdk` (dependency) + `@kindgi/cli`
|
|
22
22
|
* (devDependency), specs from `resolveKindgiDependencySpecs` — the
|
|
23
23
|
* project runs its own pinned `kindgi` — and `zod` (dependency, the
|
|
24
|
-
*
|
|
25
|
-
* app's own `zod` is kept; one before zod 4 is reported.
|
|
24
|
+
* tested version, pinned as the app pins), which every primitive's
|
|
25
|
+
* schemas use. An app's own `zod` is kept; one before zod 4 is reported.
|
|
26
|
+
* - the tests `kindgi test` runs (`vitest-setup.ts`): `vitest.config.mts`
|
|
27
|
+
* (`.ts` in a `"type": "module"` app) for `kindgi/**` tests, with the
|
|
28
|
+
* app's tsconfig path aliases, and `vitest` + `vite` (devDependencies).
|
|
29
|
+
* An app that runs vitest already keeps its own setup.
|
|
26
30
|
* - `.gitignore`: Kindgi's local-state patterns
|
|
27
31
|
* - in a pnpm app, `pnpm-workspace.yaml` (the workspace root's, or a new
|
|
28
32
|
* one): a decision for esbuild's install script, `allowBuilds.esbuild:
|
|
@@ -35,14 +39,14 @@
|
|
|
35
39
|
* What augment mode does NOT write:
|
|
36
40
|
* - env files — `kindgi dev` reads the project's own `.env` /
|
|
37
41
|
* `.env.local`; nothing needs creating
|
|
38
|
-
* - `tsconfig.json`,
|
|
39
|
-
*
|
|
42
|
+
* - `tsconfig.json`, `.nvmrc`, `AGENTS.md`, `README.md` — the
|
|
43
|
+
* surrounding repo owns these; we don't touch them
|
|
40
44
|
*
|
|
41
45
|
* @related packages/cli/src/init/mode-detect.ts (the branch)
|
|
42
46
|
* @related packages/cli/src/commands/init.ts (the caller)
|
|
43
47
|
*/
|
|
44
48
|
import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
45
|
-
import { dirname, join } from 'node:path';
|
|
49
|
+
import { basename, dirname, join } from 'node:path';
|
|
46
50
|
import { KINDGI_CONFIG_FILENAMES } from '@kindgi/handler-runtime';
|
|
47
51
|
import semver from 'semver';
|
|
48
52
|
import { PACK_ID_REGEX } from '../commands/init.js';
|
|
@@ -53,8 +57,10 @@ import { agentAccessRows, patchAgentAccess } from './agent-access.js';
|
|
|
53
57
|
import { resolveKindgiDependencySpecs } from './dependency-specs.js';
|
|
54
58
|
import { patchGitignore, patchPrettierignore } from './gitignore-patcher.js';
|
|
55
59
|
import { decideAllowScripts, patchPackageJson, } from './package-json-patcher.js';
|
|
60
|
+
import { TESTED_ZOD_VERSION, pinsExactly, savesExact, specAt } from './pinning.js';
|
|
56
61
|
import { ESBUILD, ESBUILD_DECISION, patchPnpmWorkspace, pnpmWorkspaceFileFor, } from './pnpm-workspace-patcher.js';
|
|
57
62
|
import { collectTemplateFiles, substitute, templateTarget, } from './template-files.js';
|
|
63
|
+
import { KINDGI_TESTS_GLOB, planVitestSetup } from './vitest-setup.js';
|
|
58
64
|
const DEFAULT_PACK_ID_FALLBACK = 'kindgi-pack';
|
|
59
65
|
const DEFAULT_PACK_VERSION_FALLBACK = '0.1.0';
|
|
60
66
|
const AUGMENT_SUBDIRS = ['agents', 'tools', 'guardrails', 'flows'];
|
|
@@ -206,22 +212,33 @@ export async function runInitAugment(inputs) {
|
|
|
206
212
|
created.push(...primitives.created);
|
|
207
213
|
skipped.push(...primitives.skipped);
|
|
208
214
|
}
|
|
215
|
+
const exact = await addsExactly(pkgJson, inputs.targetDir, inputs.home);
|
|
216
|
+
const tests = await setUpTests(io, {
|
|
217
|
+
targetDir: inputs.targetDir,
|
|
218
|
+
pkg: pkgJson,
|
|
219
|
+
esmApp,
|
|
220
|
+
exact,
|
|
221
|
+
force: inputs.force,
|
|
222
|
+
});
|
|
223
|
+
created.push(...tests.created);
|
|
224
|
+
skipped.push(...tests.skipped);
|
|
209
225
|
const patchResult = await applyAugmentPatches({
|
|
210
226
|
targetDir: inputs.targetDir,
|
|
211
227
|
...(inputs.home !== undefined && { home: inputs.home }),
|
|
212
228
|
pkgJsonPath,
|
|
213
229
|
specs: deps.specs,
|
|
214
230
|
packageManager: deps.packageManager,
|
|
215
|
-
// Every primitive's schemas are Zod. An app with Zod keeps its own
|
|
216
|
-
|
|
231
|
+
// Every primitive's schemas are Zod. An app with Zod keeps its own;
|
|
232
|
+
// one without gets the tested version.
|
|
233
|
+
extraDependencies: [zodDependency(exact), ...tests.dependencies],
|
|
217
234
|
});
|
|
218
235
|
if (patchResult.kind === 'err') {
|
|
219
236
|
return { kind: 'error', stderr: patchResult.stderr, exitCode: 1 };
|
|
220
237
|
}
|
|
221
238
|
created.push(...patchResult.created);
|
|
222
239
|
skipped.push(...patchResult.skipped);
|
|
223
|
-
const warnings = [...zodWarnings(pkgJson), ...patchResult.warnings];
|
|
224
|
-
const nextSteps = augmentNextSteps(deps.packageManager, sample ? packId : undefined);
|
|
240
|
+
const warnings = [...zodWarnings(pkgJson), ...tests.warnings, ...patchResult.warnings];
|
|
241
|
+
const nextSteps = augmentNextSteps(deps.packageManager, sample ? packId : undefined, tests.step);
|
|
225
242
|
const summary = {
|
|
226
243
|
kind: 'augment',
|
|
227
244
|
targetDir: inputs.targetDir,
|
|
@@ -281,11 +298,54 @@ async function resolveProjectDeps(inputs) {
|
|
|
281
298
|
return { kind: 'err', stderr: `${resolved.message}\n` };
|
|
282
299
|
return { kind: 'ok', packageManager, specs: resolved.specs };
|
|
283
300
|
}
|
|
301
|
+
/** Whether what init adds to the app's dependencies is written exactly: the app pins exactly, or saves exact versions. */
|
|
302
|
+
async function addsExactly(pkg, targetDir, home) {
|
|
303
|
+
return pinsExactly(pkg) || (await savesExact(targetDir, home));
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* The app's test setup (`planVitestSetup`): init's config written now, or
|
|
307
|
+
* kept; the dependencies it needs; what's left to the app (an app-owned
|
|
308
|
+
* setup's warning, what wasn't carried over); and the summary's step.
|
|
309
|
+
*/
|
|
310
|
+
async function setUpTests(io, args) {
|
|
311
|
+
const tests = await planVitestSetup(args);
|
|
312
|
+
switch (tests.kind) {
|
|
313
|
+
case 'write':
|
|
314
|
+
await io.writeFile(tests.path, tests.contents);
|
|
315
|
+
return {
|
|
316
|
+
created: [tests.path],
|
|
317
|
+
skipped: [],
|
|
318
|
+
dependencies: tests.dependencies,
|
|
319
|
+
warnings: tests.notes,
|
|
320
|
+
step: {
|
|
321
|
+
configFile: basename(tests.path),
|
|
322
|
+
aliasPatterns: tests.aliases.map((a) => a.pattern),
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
case 'kept':
|
|
326
|
+
return {
|
|
327
|
+
created: [],
|
|
328
|
+
skipped: [tests.path],
|
|
329
|
+
dependencies: [],
|
|
330
|
+
warnings: [],
|
|
331
|
+
step: { configFile: basename(tests.path), aliasPatterns: [] },
|
|
332
|
+
};
|
|
333
|
+
case 'app-owned':
|
|
334
|
+
return {
|
|
335
|
+
created: [],
|
|
336
|
+
skipped: [],
|
|
337
|
+
dependencies: [],
|
|
338
|
+
warnings: [tests.warning],
|
|
339
|
+
step: undefined,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
}
|
|
284
343
|
/**
|
|
285
344
|
* What to run next — in the project's own package manager, with its own
|
|
286
|
-
* `kindgi`. With the sample's `packId`, how to try its agent too
|
|
345
|
+
* `kindgi`. With the sample's `packId`, how to try its agent too; with
|
|
346
|
+
* init's vitest config, how the tests run and how its aliases stay right.
|
|
287
347
|
*/
|
|
288
|
-
export function augmentNextSteps(pm, samplePackId) {
|
|
348
|
+
export function augmentNextSteps(pm, samplePackId, tests) {
|
|
289
349
|
const setSecret = binDisplay(pm, 'kindgi', [
|
|
290
350
|
'secrets',
|
|
291
351
|
'set',
|
|
@@ -303,12 +363,27 @@ export function augmentNextSteps(pm, samplePackId) {
|
|
|
303
363
|
: [
|
|
304
364
|
`Try the sample agent: ${binDisplay(pm, 'kindgi', ['runs', 'start', `--agent=${samplePackId}.echo-agent`, `--input='{"userMessage":"hi"}'`])}`,
|
|
305
365
|
]),
|
|
366
|
+
...(tests === undefined
|
|
367
|
+
? []
|
|
368
|
+
: [
|
|
369
|
+
`Tests: ${binDisplay(pm, 'kindgi', ['test'])} runs ${KINDGI_TESTS_GLOB} with ${tests.configFile}${tests.aliasPatterns.length > 0
|
|
370
|
+
? `, whose resolve.alias copies tsconfig.json's paths (${tests.aliasPatterns.join(', ')}): when you change those, change it to match`
|
|
371
|
+
: ''}`,
|
|
372
|
+
]),
|
|
306
373
|
];
|
|
307
374
|
}
|
|
308
375
|
/** The sample's primitive folders, as augment mode lays them out under `kindgi/`. */
|
|
309
376
|
const SAMPLE_PRIMITIVE_DIRS = ['agents', 'flows', 'guardrails', 'tools'];
|
|
310
|
-
/**
|
|
311
|
-
export const
|
|
377
|
+
/** The zods Kindgi works with: `@kindgi/sdk`'s range. An app's own zod outside it is reported. */
|
|
378
|
+
export const ZOD_RANGE = '^4.0.0';
|
|
379
|
+
/**
|
|
380
|
+
* Zod as init adds it: the version Kindgi is tested with, exact when the
|
|
381
|
+
* app pins exactly (or saves exact versions), else a `^` range from it, the
|
|
382
|
+
* fresh templates' (their `package.json.tmpl`).
|
|
383
|
+
*/
|
|
384
|
+
export function zodDependency(exact) {
|
|
385
|
+
return { name: 'zod', spec: specAt(TESTED_ZOD_VERSION, exact), section: 'dependencies' };
|
|
386
|
+
}
|
|
312
387
|
const DEPENDENCY_SECTIONS = [
|
|
313
388
|
'dependencies',
|
|
314
389
|
'devDependencies',
|
|
@@ -325,22 +400,22 @@ export function zodWarnings(pkg) {
|
|
|
325
400
|
const deps = pkg[section];
|
|
326
401
|
if (deps === null || typeof deps !== 'object')
|
|
327
402
|
continue;
|
|
328
|
-
const spec = deps
|
|
403
|
+
const spec = deps.zod;
|
|
329
404
|
if (typeof spec !== 'string')
|
|
330
405
|
continue;
|
|
331
|
-
if (semver.validRange(spec) === null || semver.intersects(spec,
|
|
406
|
+
if (semver.validRange(spec) === null || semver.intersects(spec, ZOD_RANGE)) {
|
|
332
407
|
return [];
|
|
333
408
|
}
|
|
334
409
|
return [
|
|
335
|
-
`zod: the app has zod ${spec} (${section}), left as is. Kindgi's tools, examples and skills use zod 4 — upgrade to zod ${
|
|
410
|
+
`zod: the app has zod ${spec} (${section}), left as is. Kindgi's tools, examples and skills use zod 4 — upgrade to zod ${specAt(TESTED_ZOD_VERSION, false)} before writing Kindgi primitives.`,
|
|
336
411
|
];
|
|
337
412
|
}
|
|
338
413
|
return [];
|
|
339
414
|
}
|
|
340
415
|
/**
|
|
341
|
-
* Copy the sample pack's primitives into `kindgi/<kind>/`,
|
|
342
|
-
* fresh sample pack renders them.
|
|
343
|
-
*
|
|
416
|
+
* Copy the sample pack's primitives into `kindgi/<kind>/`, with their
|
|
417
|
+
* tests, rendered as a fresh sample pack renders them. A file already
|
|
418
|
+
* there is kept unless `force`.
|
|
344
419
|
*/
|
|
345
420
|
async function writeSamplePrimitives(args) {
|
|
346
421
|
const created = [];
|
|
@@ -348,8 +423,6 @@ async function writeSamplePrimitives(args) {
|
|
|
348
423
|
for (const kind of SAMPLE_PRIMITIVE_DIRS) {
|
|
349
424
|
const files = await collectTemplateFiles(join(args.sampleDir, kind));
|
|
350
425
|
for (const rel of files.sort()) {
|
|
351
|
-
if (/\.test\.ts(\.tmpl)?$/.test(rel))
|
|
352
|
-
continue;
|
|
353
426
|
const dest = join(args.targetDir, 'kindgi', kind, templateTarget(rel));
|
|
354
427
|
if (!args.force && (await args.io.fileExists(dest))) {
|
|
355
428
|
skipped.push(dest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment-scaffolder.js","sourceRoot":"","sources":["../../src/init/augment-scaffolder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"augment-scaffolder.js","sourceRoot":"","sources":["../../src/init/augment-scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The zod Kindgi is tested with: the version the workspace resolves.
|
|
3
|
+
* Bump it with each release; a test checks it against the workspace's zod
|
|
4
|
+
* and `@kindgi/sdk`'s zod range.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TESTED_ZOD_VERSION = "4.6.5";
|
|
7
|
+
/**
|
|
8
|
+
* The vitest a pack's tests are run with, and the vite it needs (vitest
|
|
9
|
+
* names vite as a peer it doesn't install, so init adds both): what the
|
|
10
|
+
* fresh templates and augment mode write. Bump them with each release
|
|
11
|
+
* after a pack's `kindgi test` passes on them; a test checks the vite is
|
|
12
|
+
* inside vitest's peer range and the templates agree.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TESTED_VITEST_VERSION = "5.0.3";
|
|
15
|
+
export declare const TESTED_VITE_VERSION = "8.3.4";
|
|
16
|
+
/** The vites `TESTED_VITEST_VERSION` takes (its `peerDependencies.vite`). */
|
|
17
|
+
export declare const VITEST_VITE_RANGE = "^6.4.0 || ^7.0.0 || ^8.0.0";
|
|
18
|
+
/** `version` as an app writes it: exact, or a `^` range from it. */
|
|
19
|
+
export declare function specAt(version: string, exact: boolean): string;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the app pins exactly: it has at least one semver spec, and every
|
|
22
|
+
* one is an exact version (`1.2.3`, not `^1.2.3`, `~1.2`, `*`). Specs that
|
|
23
|
+
* aren't semver (`workspace:*`, `catalog:`, `file:`, `npm:…`, a git URL, a
|
|
24
|
+
* tag) say nothing either way, and peer ranges are ranges by nature.
|
|
25
|
+
*/
|
|
26
|
+
export declare function pinsExactly(pkg: Readonly<Record<string, unknown>>): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the app's package manager is set to save exact versions:
|
|
29
|
+
* - npm and pnpm: `save-exact=true` or an empty `save-prefix` in the
|
|
30
|
+
* project's `.npmrc`, else in the user's (`~/.npmrc`), the project's
|
|
31
|
+
* winning when it sets either;
|
|
32
|
+
* - pnpm: `saveExact: true` or an empty `savePrefix` in `pnpm-workspace.yaml`;
|
|
33
|
+
* - Yarn (2+): an empty `defaultSemverRangePrefix` in `.yarnrc.yml`;
|
|
34
|
+
* - Bun: `exact = true` under `[install]` in `bunfig.toml`.
|
|
35
|
+
* Only those settings are read: nothing else in these files (a registry
|
|
36
|
+
* token, say) is kept or shown.
|
|
37
|
+
*/
|
|
38
|
+
export declare function savesExact(dir: string, home?: string): Promise<boolean>;
|
|
39
|
+
//# sourceMappingURL=pinning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinning.d.ts","sourceRoot":"","sources":["../../src/init/pinning.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAE9D,oEAAoE;AACpE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAE9D;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAa3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAc7E"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/**
|
|
4
|
+
* How `kindgi init` writes a third-party dependency it adds to an app
|
|
5
|
+
* (zod; vitest and vite for its tests): at the version Kindgi is tested
|
|
6
|
+
* with, written exactly when the
|
|
7
|
+
* app pins exactly or its package manager saves exact versions, else as a
|
|
8
|
+
* `^` range from that version. Kindgi's own packages are always exact
|
|
9
|
+
* (`dependency-specs.ts`).
|
|
10
|
+
*/
|
|
11
|
+
import { readFile } from 'node:fs/promises';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import semver from 'semver';
|
|
14
|
+
/**
|
|
15
|
+
* The zod Kindgi is tested with: the version the workspace resolves.
|
|
16
|
+
* Bump it with each release; a test checks it against the workspace's zod
|
|
17
|
+
* and `@kindgi/sdk`'s zod range.
|
|
18
|
+
*/
|
|
19
|
+
export const TESTED_ZOD_VERSION = '4.6.5';
|
|
20
|
+
/**
|
|
21
|
+
* The vitest a pack's tests are run with, and the vite it needs (vitest
|
|
22
|
+
* names vite as a peer it doesn't install, so init adds both): what the
|
|
23
|
+
* fresh templates and augment mode write. Bump them with each release
|
|
24
|
+
* after a pack's `kindgi test` passes on them; a test checks the vite is
|
|
25
|
+
* inside vitest's peer range and the templates agree.
|
|
26
|
+
*/
|
|
27
|
+
export const TESTED_VITEST_VERSION = '5.0.3';
|
|
28
|
+
export const TESTED_VITE_VERSION = '8.3.4';
|
|
29
|
+
/** The vites `TESTED_VITEST_VERSION` takes (its `peerDependencies.vite`). */
|
|
30
|
+
export const VITEST_VITE_RANGE = '^6.4.0 || ^7.0.0 || ^8.0.0';
|
|
31
|
+
/** `version` as an app writes it: exact, or a `^` range from it. */
|
|
32
|
+
export function specAt(version, exact) {
|
|
33
|
+
return exact ? version : `^${version}`;
|
|
34
|
+
}
|
|
35
|
+
const PINNED_SECTIONS = ['dependencies', 'devDependencies', 'optionalDependencies'];
|
|
36
|
+
/**
|
|
37
|
+
* Whether the app pins exactly: it has at least one semver spec, and every
|
|
38
|
+
* one is an exact version (`1.2.3`, not `^1.2.3`, `~1.2`, `*`). Specs that
|
|
39
|
+
* aren't semver (`workspace:*`, `catalog:`, `file:`, `npm:…`, a git URL, a
|
|
40
|
+
* tag) say nothing either way, and peer ranges are ranges by nature.
|
|
41
|
+
*/
|
|
42
|
+
export function pinsExactly(pkg) {
|
|
43
|
+
let exact = 0;
|
|
44
|
+
for (const section of PINNED_SECTIONS) {
|
|
45
|
+
const deps = pkg[section];
|
|
46
|
+
if (deps === null || typeof deps !== 'object')
|
|
47
|
+
continue;
|
|
48
|
+
for (const spec of Object.values(deps)) {
|
|
49
|
+
if (typeof spec !== 'string')
|
|
50
|
+
continue;
|
|
51
|
+
const trimmed = spec.trim();
|
|
52
|
+
if (semver.valid(trimmed) !== null)
|
|
53
|
+
exact += 1;
|
|
54
|
+
else if (semver.validRange(trimmed) !== null)
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return exact > 0;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Whether the app's package manager is set to save exact versions:
|
|
62
|
+
* - npm and pnpm: `save-exact=true` or an empty `save-prefix` in the
|
|
63
|
+
* project's `.npmrc`, else in the user's (`~/.npmrc`), the project's
|
|
64
|
+
* winning when it sets either;
|
|
65
|
+
* - pnpm: `saveExact: true` or an empty `savePrefix` in `pnpm-workspace.yaml`;
|
|
66
|
+
* - Yarn (2+): an empty `defaultSemverRangePrefix` in `.yarnrc.yml`;
|
|
67
|
+
* - Bun: `exact = true` under `[install]` in `bunfig.toml`.
|
|
68
|
+
* Only those settings are read: nothing else in these files (a registry
|
|
69
|
+
* token, say) is kept or shown.
|
|
70
|
+
*/
|
|
71
|
+
export async function savesExact(dir, home) {
|
|
72
|
+
const project = npmrcSaveExact(await readText(join(dir, '.npmrc')));
|
|
73
|
+
if (project !== undefined)
|
|
74
|
+
return project;
|
|
75
|
+
if (home !== undefined) {
|
|
76
|
+
const user = npmrcSaveExact(await readText(join(home, '.npmrc')));
|
|
77
|
+
if (user !== undefined)
|
|
78
|
+
return user;
|
|
79
|
+
}
|
|
80
|
+
const pnpm = await readText(join(dir, 'pnpm-workspace.yaml'));
|
|
81
|
+
if (/^\s*saveExact:\s*true\s*$/m.test(pnpm) || /^\s*savePrefix:\s*(''|"")\s*$/m.test(pnpm)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
const yarn = await readText(join(dir, '.yarnrc.yml'));
|
|
85
|
+
if (/^\s*defaultSemverRangePrefix:\s*(''|"")\s*$/m.test(yarn))
|
|
86
|
+
return true;
|
|
87
|
+
return bunInstallExact(await readText(join(dir, 'bunfig.toml')));
|
|
88
|
+
}
|
|
89
|
+
/** `.npmrc`'s answer: `true`/`false` when it sets `save-exact` or `save-prefix`, else `undefined`. */
|
|
90
|
+
function npmrcSaveExact(text) {
|
|
91
|
+
let saveExact;
|
|
92
|
+
let savePrefix;
|
|
93
|
+
for (const line of text.split(/\r?\n/)) {
|
|
94
|
+
const match = /^\s*(save-exact|save-prefix)\s*=\s*(.*?)\s*$/.exec(line);
|
|
95
|
+
if (match === null)
|
|
96
|
+
continue;
|
|
97
|
+
const value = (match[2] ?? '').replace(/^(['"])(.*)\1$/, '$2');
|
|
98
|
+
if (match[1] === 'save-exact')
|
|
99
|
+
saveExact = value === 'true';
|
|
100
|
+
else
|
|
101
|
+
savePrefix = value;
|
|
102
|
+
}
|
|
103
|
+
if (saveExact === undefined && savePrefix === undefined)
|
|
104
|
+
return undefined;
|
|
105
|
+
// `save-exact=true` wins over any prefix; an empty prefix is exact too.
|
|
106
|
+
return saveExact === true || savePrefix === '';
|
|
107
|
+
}
|
|
108
|
+
/** `exact = true` in `bunfig.toml`'s `[install]` table. */
|
|
109
|
+
function bunInstallExact(text) {
|
|
110
|
+
let inInstall = false;
|
|
111
|
+
for (const line of text.split(/\r?\n/)) {
|
|
112
|
+
const table = /^\s*\[([^\]]+)\]\s*$/.exec(line);
|
|
113
|
+
if (table !== null) {
|
|
114
|
+
inInstall = table[1]?.trim() === 'install';
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
if (inInstall && /^\s*exact\s*=\s*true\s*(#.*)?$/.test(line))
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
async function readText(path) {
|
|
123
|
+
try {
|
|
124
|
+
return await readFile(path, 'utf8');
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=pinning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinning.js","sourceRoot":"","sources":["../../src/init/pinning.ts"],"names":[],"mappings":"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"}
|