@grimoire-rs/indexer 0.2.2 → 0.3.1
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 +59 -18
- package/dist/ci.d.ts +149 -0
- package/dist/ci.d.ts.map +1 -0
- package/dist/ci.js +338 -0
- package/dist/ci.js.map +1 -0
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +3 -9
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/ci.d.ts +6 -0
- package/dist/cli/ci.d.ts.map +1 -0
- package/dist/cli/ci.js +43 -0
- package/dist/cli/ci.js.map +1 -0
- package/dist/cli/dev.d.ts +7 -0
- package/dist/cli/dev.d.ts.map +1 -0
- package/dist/cli/dev.js +57 -0
- package/dist/cli/dev.js.map +1 -0
- package/dist/cli/init.d.ts +18 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +584 -100
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +71 -10
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/out_dir.d.ts +11 -0
- package/dist/cli/out_dir.d.ts.map +1 -0
- package/dist/cli/out_dir.js +30 -0
- package/dist/cli/out_dir.js.map +1 -0
- package/dist/cli/validate.d.ts +1 -0
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +47 -1
- package/dist/cli/validate.js.map +1 -1
- package/dist/renderer/astro/components/BrandMark.js +0 -1
- package/dist/renderer/astro/components/Catalog.js +0 -1
- package/dist/renderer/astro/lib/base.js +0 -1
- package/dist/renderer/astro/lib/catalog.js +0 -1
- package/dist/renderer/astro/lib/code.js +0 -1
- package/dist/renderer/astro/lib/data.js +0 -1
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +16 -0
- package/dist/renderer/index.js.map +1 -1
- package/dist/templates.d.ts +12 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +40 -0
- package/dist/templates.js.map +1 -0
- package/dist/validate/adapters/files.d.ts.map +1 -1
- package/dist/validate/adapters/files.js +13 -3
- package/dist/validate/adapters/files.js.map +1 -1
- package/dist/validate/index.js +17 -2
- package/dist/validate/index.js.map +1 -1
- package/package.json +2 -2
- package/templates/README.md +115 -19
- package/templates/ci/github-automerge.yml +36 -0
- package/templates/ci/github-enrich.yml +27 -0
- package/templates/ci/github-pages.yml +64 -0
- package/templates/ci/github-publish.yml +89 -0
- package/templates/ci/github-validate.yml +157 -0
- package/templates/ci/github-verify-ci.yml +47 -0
- package/templates/ci/gitlab-ci.yml +149 -0
- package/templates/ci/gitlab-enrich.sh +26 -0
- package/templates/ci/gitlab-publish.yml +50 -0
- package/templates/ci/gitlab-verify.yml +16 -0
- package/templates/ci/header.txt +19 -0
- package/templates/gitattributes +4 -0
- package/templates/gitignore +7 -2
- package/templates/package.json +18 -0
- package/templates/publish.toml +2 -2
- package/dist/renderer/astro/components/BrandMark.d.ts.map +0 -1
- package/dist/renderer/astro/components/BrandMark.js.map +0 -1
- package/dist/renderer/astro/components/Catalog.d.ts.map +0 -1
- package/dist/renderer/astro/components/Catalog.js.map +0 -1
- package/dist/renderer/astro/lib/base.d.ts.map +0 -1
- package/dist/renderer/astro/lib/base.js.map +0 -1
- package/dist/renderer/astro/lib/catalog.d.ts.map +0 -1
- package/dist/renderer/astro/lib/catalog.js.map +0 -1
- package/dist/renderer/astro/lib/code.d.ts.map +0 -1
- package/dist/renderer/astro/lib/code.js.map +0 -1
- package/dist/renderer/astro/lib/data.d.ts.map +0 -1
- package/dist/renderer/astro/lib/data.js.map +0 -1
- package/templates/github-pages.yml +0 -24
- package/templates/github-validate.yml +0 -51
- package/templates/gitlab-ci.yml +0 -13
- package/templates/reusable/gitlab-index-ci.yml +0 -125
package/dist/cli/build.js
CHANGED
|
@@ -4,17 +4,11 @@
|
|
|
4
4
|
// site over it. Order is load-bearing: `compileIndex` clears `outDir` and
|
|
5
5
|
// writes `all.json`, which the renderer then reads.
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import {
|
|
7
|
+
import { EXIT } from "./exit.js";
|
|
8
|
+
import { resolveOutDir } from "./out_dir.js";
|
|
8
9
|
export async function build(root, flags) {
|
|
9
10
|
const rootDir = path.resolve(root);
|
|
10
|
-
const outDir =
|
|
11
|
-
// `compileIndex` starts by removing `outDir` outright, so an out-dir that
|
|
12
|
-
// is the repo root — or an ancestor of it — would delete the index it is
|
|
13
|
-
// about to compile.
|
|
14
|
-
if (outDir === rootDir || rootDir.startsWith(outDir + path.sep)) {
|
|
15
|
-
throw new CliError(`--out-dir ${JSON.stringify(outDir)} contains the index root ${JSON.stringify(rootDir)}; ` +
|
|
16
|
-
`the build would delete it`, EXIT.usage);
|
|
17
|
-
}
|
|
11
|
+
const outDir = resolveOutDir(rootDir, flags.outDir);
|
|
18
12
|
const [{ loadConfig }, { compileIndex }, { buildSite }] = await Promise.all([
|
|
19
13
|
import("../config.js"),
|
|
20
14
|
import("../data/index.js"),
|
package/dist/cli/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAEtC,0EAA0E;AAC1E,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAEtC,0EAA0E;AAC1E,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM7C,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,KAAiB;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1E,MAAM,CAAC,cAAc,CAAC;QACtB,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,sBAAsB,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,sBAAsB,UAAU,CAAC,MAAM,oBAAoB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CACpH,CAAC;IACF,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC"}
|
package/dist/cli/ci.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci.d.ts","sourceRoot":"","sources":["../../src/cli/ci.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+BxE"}
|
package/dist/cli/ci.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright 2026 The Grimoire Authors
|
|
3
|
+
// `grim-indexer ci` — render this repository's CI from `index.config.json`,
|
|
4
|
+
// or (`--check`) verify that what is committed still matches. The generated
|
|
5
|
+
// `verify-ci` job runs the second form, which is what keeps a hand-edit from
|
|
6
|
+
// silently forking the pipeline.
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { checkCi, driftError, loadCiConfig, renderCi, RE_RENDER_COMMAND, resolveCi, staleCi, writeCi, } from "../ci.js";
|
|
9
|
+
import { CONFIG_FILE } from "../config.js";
|
|
10
|
+
import { EXIT } from "./exit.js";
|
|
11
|
+
function report(outcome) {
|
|
12
|
+
console.log(` ${outcome.status.padEnd(12)}${outcome.path}`);
|
|
13
|
+
}
|
|
14
|
+
export async function ci(root, flags) {
|
|
15
|
+
const rootDir = path.resolve(root);
|
|
16
|
+
const resolved = resolveCi(await loadCiConfig(rootDir));
|
|
17
|
+
const files = renderCi(resolved);
|
|
18
|
+
if (flags.check) {
|
|
19
|
+
const outcomes = await checkCi(rootDir, files);
|
|
20
|
+
for (const outcome of outcomes) {
|
|
21
|
+
// Path-only, on stderr: the contents of a repository's CI are not this
|
|
22
|
+
// command's to print, and a log is the wrong place for them.
|
|
23
|
+
if (outcome.status !== "ok")
|
|
24
|
+
console.error(`${outcome.status}: ${outcome.path}`);
|
|
25
|
+
}
|
|
26
|
+
if (outcomes.some((outcome) => outcome.status !== "ok"))
|
|
27
|
+
throw driftError(outcomes);
|
|
28
|
+
console.log(`${files.size} generated CI file(s) match ${CONFIG_FILE}`);
|
|
29
|
+
return EXIT.ok;
|
|
30
|
+
}
|
|
31
|
+
const written = await writeCi(rootDir, files);
|
|
32
|
+
written.forEach(report);
|
|
33
|
+
const stale = await staleCi(rootDir, files);
|
|
34
|
+
for (const relative of stale) {
|
|
35
|
+
report({ path: relative, status: "stale" });
|
|
36
|
+
}
|
|
37
|
+
if (stale.length > 0) {
|
|
38
|
+
console.error(`\n${stale.length} generated file(s) are no longer rendered by ${CONFIG_FILE} — ` +
|
|
39
|
+
`delete them, or \`${RE_RENDER_COMMAND}:check\` keeps failing`);
|
|
40
|
+
}
|
|
41
|
+
return EXIT.ok;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=ci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/cli/ci.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAEtC,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,iCAAiC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,OAAO,EACP,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,OAAO,GAER,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAMhD,SAAS,MAAM,CAAC,OAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAY,EAAE,KAAc;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;YAAE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,+BAA+B,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,KAAK,KAAK,CAAC,MAAM,gDAAgD,WAAW,KAAK;YAC/E,qBAAqB,iBAAiB,wBAAwB,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AASA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1D,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoC1E"}
|
package/dist/cli/dev.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright 2026 The Grimoire Authors
|
|
3
|
+
// `grim-indexer dev` — serve this index locally, so a change to an entry, the
|
|
4
|
+
// branding, or the custom CSS can be looked at before it is pushed. It renders
|
|
5
|
+
// through the same code path `build` does, so what is on screen is what the
|
|
6
|
+
// deploy will publish.
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { CliError, EXIT } from "./exit.js";
|
|
9
|
+
import { resolveOutDir } from "./out_dir.js";
|
|
10
|
+
/**
|
|
11
|
+
* A bad `--port` is a usage error (64), like every other bad flag. Passed
|
|
12
|
+
* through unchecked it reached Astro as `NaN` and surfaced as a raw zod issue
|
|
13
|
+
* dump naming no flag at all, exiting 1.
|
|
14
|
+
*/
|
|
15
|
+
function resolvePort(port) {
|
|
16
|
+
if (port === undefined)
|
|
17
|
+
return undefined;
|
|
18
|
+
const value = Number(port);
|
|
19
|
+
if (!Number.isInteger(value) || value < 1 || value > 65535) {
|
|
20
|
+
throw new CliError(`--port ${JSON.stringify(port)}: must be a port number (1-65535)`, EXIT.usage);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
export async function dev(root, flags) {
|
|
25
|
+
const rootDir = path.resolve(root);
|
|
26
|
+
const outDir = resolveOutDir(rootDir, flags.outDir);
|
|
27
|
+
const port = resolvePort(flags.port);
|
|
28
|
+
const [{ loadConfig }, { compileIndex }, { devSite }] = await Promise.all([
|
|
29
|
+
import("../config.js"),
|
|
30
|
+
import("../data/index.js"),
|
|
31
|
+
import("../renderer/index.js"),
|
|
32
|
+
]);
|
|
33
|
+
const config = await loadConfig(rootDir);
|
|
34
|
+
const { count, namespaces } = await compileIndex({ root: rootDir, outDir });
|
|
35
|
+
const server = await devSite({ root: rootDir, outDir, config, port });
|
|
36
|
+
console.log(`\n ${server.url}\n`);
|
|
37
|
+
console.log(` ${count} package(s) across ${namespaces.length} namespace(s)`);
|
|
38
|
+
// `index.config.json` is read once, at boot, and baked into the bundle — the
|
|
39
|
+
// same thing a build does. Say so, or an edit that appears to do nothing
|
|
40
|
+
// reads as a bug in the renderer.
|
|
41
|
+
console.log(" editing index/ or index.config.json? restart to pick it up\n");
|
|
42
|
+
// The server owns the process from here. Astro's dev server keeps the event
|
|
43
|
+
// loop alive on its own, but the promise is what stops `run` from returning
|
|
44
|
+
// and letting the CLI set an exit code out from under it.
|
|
45
|
+
await new Promise((resolve) => {
|
|
46
|
+
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
47
|
+
process.on(signal, () => {
|
|
48
|
+
void server
|
|
49
|
+
.stop()
|
|
50
|
+
.catch(() => { })
|
|
51
|
+
.finally(resolve);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return EXIT.ok;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAEtC,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,uBAAuB;AACvB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO7C;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAwB;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,KAAe;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxE,MAAM,CAAC,cAAc,CAAC;QACtB,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,sBAAsB,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,sBAAsB,UAAU,CAAC,MAAM,eAAe,CAAC,CAAC;IAC9E,6EAA6E;IAC7E,yEAAyE;IACzE,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAE9E,4EAA4E;IAC5E,4EAA4E;IAC5E,0DAA0D;IAC1D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YACpD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACtB,KAAK,MAAM;qBACR,IAAI,EAAE;qBACN,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;qBACf,OAAO,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC"}
|
package/dist/cli/init.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { type Forge, type PublishTrigger } from "../ci.js";
|
|
1
2
|
import { type ExitCode } from "./exit.js";
|
|
2
|
-
export type Forge
|
|
3
|
+
export type { Forge };
|
|
3
4
|
/** Everything `init` needs to render the scaffold. Flags and prompts both resolve into this. */
|
|
4
5
|
export interface InitAnswers {
|
|
5
6
|
name: string;
|
|
@@ -10,7 +11,18 @@ export interface InitAnswers {
|
|
|
10
11
|
logo: string;
|
|
11
12
|
forge: Forge;
|
|
12
13
|
git: boolean;
|
|
14
|
+
install: boolean;
|
|
13
15
|
withSkills: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* When the combined layout's own packages get published. Always `never`
|
|
18
|
+
* without `withSkills` — a plain index owns no packages to push.
|
|
19
|
+
*/
|
|
20
|
+
publish: PublishTrigger;
|
|
21
|
+
/**
|
|
22
|
+
* The site's meta description. Derived from the title, unless a previous run
|
|
23
|
+
* wrote one and somebody has since rewritten it — see [`keptDescription`].
|
|
24
|
+
*/
|
|
25
|
+
description: string;
|
|
14
26
|
/** This repo's own https URL — the announce target. `""` when nothing could derive it. */
|
|
15
27
|
repoUrl: string;
|
|
16
28
|
}
|
|
@@ -25,12 +37,14 @@ export interface InitFlags {
|
|
|
25
37
|
logo?: string;
|
|
26
38
|
forge?: Forge;
|
|
27
39
|
git?: boolean;
|
|
40
|
+
install?: boolean;
|
|
28
41
|
withSkills?: boolean;
|
|
42
|
+
publish?: PublishTrigger;
|
|
29
43
|
repoUrl?: string;
|
|
30
44
|
force?: boolean;
|
|
31
45
|
}
|
|
32
46
|
/** What happened to one scaffolded file. */
|
|
33
|
-
export type FileOutcome = "created" | "overwritten" | "unchanged" | "skipped";
|
|
47
|
+
export type FileOutcome = "created" | "overwritten" | "unchanged" | "skipped" | "preserved";
|
|
34
48
|
export interface InitResult {
|
|
35
49
|
dir: string;
|
|
36
50
|
files: Array<{
|
|
@@ -38,6 +52,8 @@ export interface InitResult {
|
|
|
38
52
|
outcome: FileOutcome;
|
|
39
53
|
}>;
|
|
40
54
|
gitInitialized: boolean;
|
|
55
|
+
/** Whether `npm install` ran and wrote a lock. */
|
|
56
|
+
installed: boolean;
|
|
41
57
|
}
|
|
42
58
|
export declare function init(dir: string, flags: InitFlags, version: string): Promise<ExitCode>;
|
|
43
59
|
//# sourceMappingURL=init.d.ts.map
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAYA,OAAO,EAQL,KAAK,KAAK,EACV,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAoE1D,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,gGAAgG;AAChG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAE5F,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;CACpB;AA62BD,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+G5F"}
|