@lovo/matter-cli 0.4.1 → 0.5.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/CHANGELOG.md +14 -0
- package/README.md +68 -4
- package/dist/add-T7IRU2NK.js +11 -0
- package/dist/{chunk-4XUN2PKU.js → chunk-53DI7V2J.js} +22 -21
- package/dist/chunk-53DI7V2J.js.map +1 -0
- package/dist/chunk-D4HDZEJT.js +37 -0
- package/dist/chunk-D4HDZEJT.js.map +1 -0
- package/dist/{chunk-OJWKSIZ5.js → chunk-FHRQIHCN.js} +32 -25
- package/dist/chunk-FHRQIHCN.js.map +1 -0
- package/dist/chunk-Q7CQW6AH.js +27 -0
- package/dist/chunk-Q7CQW6AH.js.map +1 -0
- package/dist/{chunk-M6S6HYHE.js → chunk-R7OX6KUP.js} +48 -44
- package/dist/chunk-R7OX6KUP.js.map +1 -0
- package/dist/chunk-RRL35RGP.js +104 -0
- package/dist/chunk-RRL35RGP.js.map +1 -0
- package/dist/chunk-TBB7CTPP.js +77 -0
- package/dist/chunk-TBB7CTPP.js.map +1 -0
- package/dist/chunk-YADIAD35.js +16322 -0
- package/dist/chunk-YADIAD35.js.map +1 -0
- package/dist/chunk-YAWX2IU3.js +46 -0
- package/dist/chunk-YAWX2IU3.js.map +1 -0
- package/dist/chunk-YSFTOGZX.js +119 -0
- package/dist/chunk-YSFTOGZX.js.map +1 -0
- package/dist/commands/poster.d.ts +19 -0
- package/dist/commands/poster.js +15 -0
- package/dist/commands/poster.js.map +1 -0
- package/dist/dist-I76TGDBX.js +547 -0
- package/dist/dist-I76TGDBX.js.map +1 -0
- package/dist/harness/frameReady.ts +35 -0
- package/dist/harness/index.html +20 -0
- package/dist/harness/index.tsx +40 -0
- package/dist/index.js +50 -21
- package/dist/index.js.map +1 -1
- package/dist/{init-W43YVGBI.js → init-NB5EOU5H.js} +3 -2
- package/dist/init-NB5EOU5H.js.map +1 -0
- package/dist/{list-S626E7NZ.js → list-L725RQM3.js} +6 -5
- package/dist/list-L725RQM3.js.map +1 -0
- package/dist/magic-string.es-DKS3S7WW.js +1310 -0
- package/dist/magic-string.es-DKS3S7WW.js.map +1 -0
- package/dist/poster/bundle.d.ts +12 -0
- package/dist/poster/bundle.js +9 -0
- package/dist/poster/bundle.js.map +1 -0
- package/dist/poster/bundle.test.d.ts +2 -0
- package/dist/poster/bundle.test.js +49 -0
- package/dist/poster/bundle.test.js.map +1 -0
- package/dist/poster/e2e.test.d.ts +2 -0
- package/dist/poster/e2e.test.js +103 -0
- package/dist/poster/e2e.test.js.map +1 -0
- package/dist/poster/playwright.d.ts +19 -0
- package/dist/poster/playwright.js +11 -0
- package/dist/poster/playwright.js.map +1 -0
- package/dist/poster/playwright.test.d.ts +2 -0
- package/dist/poster/playwright.test.js +28 -0
- package/dist/poster/playwright.test.js.map +1 -0
- package/dist/poster/projectRoot.d.ts +3 -0
- package/dist/poster/projectRoot.js +9 -0
- package/dist/poster/projectRoot.js.map +1 -0
- package/dist/poster/projectRoot.test.d.ts +2 -0
- package/dist/poster/projectRoot.test.js +47 -0
- package/dist/poster/projectRoot.test.js.map +1 -0
- package/dist/poster/server.d.ts +18 -0
- package/dist/poster/server.js +9 -0
- package/dist/poster/server.js.map +1 -0
- package/dist/poster/server.test.d.ts +2 -0
- package/dist/poster/server.test.js +54 -0
- package/dist/poster/server.test.js.map +1 -0
- package/dist/{update-3BHHOUCS.js → update-WK7CA42P.js} +26 -17
- package/dist/update-WK7CA42P.js.map +1 -0
- package/package.json +19 -3
- package/dist/add-ABC455QH.js +0 -10
- package/dist/chunk-4XUN2PKU.js.map +0 -1
- package/dist/chunk-M6S6HYHE.js.map +0 -1
- package/dist/chunk-OJWKSIZ5.js.map +0 -1
- package/dist/init-W43YVGBI.js.map +0 -1
- package/dist/list-S626E7NZ.js.map +0 -1
- package/dist/update-3BHHOUCS.js.map +0 -1
- /package/dist/{add-ABC455QH.js.map → add-T7IRU2NK.js.map} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
|
|
3
|
+
import { createRoot } from 'react-dom/client';
|
|
4
|
+
|
|
5
|
+
import { installFrameReadyWatcher } from './frameReady.js';
|
|
6
|
+
|
|
7
|
+
// Replaced at build time by esbuild's `define`:
|
|
8
|
+
declare const __MATTER_USER_MODULE_PATH: string;
|
|
9
|
+
declare const __MATTER_EXPORT_NAME: string;
|
|
10
|
+
|
|
11
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
12
|
+
return typeof value === 'object' && value !== null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Dynamic import returns `any`; assign to `unknown` first via explicit typing.
|
|
16
|
+
const rawModule: unknown = await import(/* @vite-ignore */ __MATTER_USER_MODULE_PATH);
|
|
17
|
+
const userModule: Record<string, unknown> = isRecord(rawModule) ? rawModule : {};
|
|
18
|
+
|
|
19
|
+
const rawExport: unknown = userModule[__MATTER_EXPORT_NAME];
|
|
20
|
+
|
|
21
|
+
if (typeof rawExport !== 'function') {
|
|
22
|
+
document.body.innerHTML = `<pre style="color:#fff;padding:1rem">matter poster: export "${__MATTER_EXPORT_NAME}" is not a React component (got ${typeof rawExport}). Available exports: ${Object.keys(
|
|
23
|
+
userModule,
|
|
24
|
+
).join(', ')}</pre>`;
|
|
25
|
+
throw new Error(`export "${__MATTER_EXPORT_NAME}" is not a component`);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// After the typeof guard above, rawExport is a function — safe to use as a React component.
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
30
|
+
const Component = rawExport as React.ComponentType<unknown>;
|
|
31
|
+
|
|
32
|
+
const rootEl = document.getElementById('root');
|
|
33
|
+
|
|
34
|
+
if (!rootEl) throw new Error('matter poster: #root missing from harness HTML');
|
|
35
|
+
|
|
36
|
+
const root = createRoot(rootEl);
|
|
37
|
+
|
|
38
|
+
root.render(<Component />);
|
|
39
|
+
|
|
40
|
+
installFrameReadyWatcher();
|
package/dist/index.js
CHANGED
|
@@ -2,47 +2,76 @@
|
|
|
2
2
|
|
|
3
3
|
// src/index.ts
|
|
4
4
|
import { Command } from "commander";
|
|
5
|
-
function fail(
|
|
6
|
-
const message =
|
|
5
|
+
function fail(caughtError) {
|
|
6
|
+
const message = caughtError instanceof Error ? caughtError.message : String(caughtError);
|
|
7
7
|
process.stderr.write(`error: ${message}
|
|
8
8
|
`);
|
|
9
9
|
process.exit(1);
|
|
10
10
|
}
|
|
11
11
|
var program = new Command();
|
|
12
|
-
program.name("matter-cli").description("CLI for Matter \u2014 copy-paste components from the registry into your project").version("0.
|
|
12
|
+
program.name("matter-cli").description("CLI for Matter \u2014 copy-paste components from the registry into your project").version("0.5.0");
|
|
13
13
|
program.command("init").description("one-time project setup \u2014 writes matter.config.json").option("--force", "overwrite an existing matter.config.json").action(async (opts) => {
|
|
14
14
|
try {
|
|
15
|
-
const { runInit } = await import("./init-
|
|
15
|
+
const { runInit } = await import("./init-NB5EOU5H.js");
|
|
16
16
|
await runInit(opts);
|
|
17
|
-
} catch (
|
|
18
|
-
fail(
|
|
17
|
+
} catch (caughtError) {
|
|
18
|
+
fail(caughtError);
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
|
-
program.command("list").description("show available components in the registry").option("--registry <url>", "override the registryUrl from matter.config.json").option("--
|
|
21
|
+
program.command("list").description("show available components in the registry").option("--registry <url>", "override the registryUrl from matter.config.json").option("--reference <ref>", "tag, branch, or commit (defaults to the CLI version)").action(async (opts) => {
|
|
22
22
|
try {
|
|
23
|
-
const { runList } = await import("./list-
|
|
24
|
-
await runList({
|
|
25
|
-
} catch (
|
|
26
|
-
fail(
|
|
23
|
+
const { runList } = await import("./list-L725RQM3.js");
|
|
24
|
+
await runList({ registry: opts.registry, ref: opts.reference, cliVersion: "0.5.0" });
|
|
25
|
+
} catch (caughtError) {
|
|
26
|
+
fail(caughtError);
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
program.command("add").description("copy one or more components from the registry into componentsDir").argument("<components...>", 'component slugs (e.g. "linear-gradient")').option("--registry <url>", "override the registryUrl from matter.config.json").option("--
|
|
29
|
+
program.command("add").description("copy one or more components from the registry into componentsDir").argument("<components...>", 'component slugs (e.g. "linear-gradient")').option("--registry <url>", "override the registryUrl from matter.config.json").option("--reference <ref>", "tag, branch, or commit (defaults to the CLI version)").option("--force", "overwrite existing files in componentsDir").action(
|
|
30
30
|
async (components, opts) => {
|
|
31
31
|
try {
|
|
32
|
-
const { runAdd } = await import("./add-
|
|
33
|
-
await runAdd(components, {
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const { runAdd } = await import("./add-T7IRU2NK.js");
|
|
33
|
+
await runAdd(components, {
|
|
34
|
+
registry: opts.registry,
|
|
35
|
+
ref: opts.reference,
|
|
36
|
+
force: opts.force,
|
|
37
|
+
cliVersion: "0.5.0"
|
|
38
|
+
});
|
|
39
|
+
} catch (caughtError) {
|
|
40
|
+
fail(caughtError);
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
);
|
|
39
|
-
program.command("update").description("re-fetch a previously-added component (or all, if no name given)").argument("[components...]", "component slugs; omit to update every component in componentsDir").option("--registry <url>", "override the registryUrl from matter.config.json").option("--
|
|
44
|
+
program.command("update").description("re-fetch a previously-added component (or all, if no name given)").argument("[components...]", "component slugs; omit to update every component in componentsDir").option("--registry <url>", "override the registryUrl from matter.config.json").option("--reference <ref>", "tag, branch, or commit (defaults to the CLI version)").option("--force", "overwrite files even if they have local edits").action(
|
|
40
45
|
async (components, opts) => {
|
|
41
46
|
try {
|
|
42
|
-
const { runUpdate } = await import("./update-
|
|
43
|
-
await runUpdate(components, {
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
const { runUpdate } = await import("./update-WK7CA42P.js");
|
|
48
|
+
await runUpdate(components, {
|
|
49
|
+
registry: opts.registry,
|
|
50
|
+
ref: opts.reference,
|
|
51
|
+
force: opts.force,
|
|
52
|
+
cliVersion: "0.5.0"
|
|
53
|
+
});
|
|
54
|
+
} catch (caughtError) {
|
|
55
|
+
fail(caughtError);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
program.command("poster").description("render a Matter component tree to a static image for use as <ShaderScene fallback>").requiredOption("--source <file>", "path to a .tsx/.ts file exporting the component to render").requiredOption("--output <path>", "where to write the image (extension optional; --format wins)").option("--format <format>", "output format: png or jpg", "jpg").option("--quality <n>", "JPEG quality 1\u2013100 (default 80, ignored for PNG)").option("--export-name <name>", "named export to render", "default").option("--capture-delay <seconds>", "wait this long after first non-blank frame", "0").option("--width <px>", "render width", "1280").option("--height <px>", "render height", "720").action(
|
|
60
|
+
async (opts) => {
|
|
61
|
+
try {
|
|
62
|
+
const { runPoster } = await import("./commands/poster.js");
|
|
63
|
+
await runPoster({
|
|
64
|
+
from: opts.source,
|
|
65
|
+
out: opts.output,
|
|
66
|
+
type: opts.format,
|
|
67
|
+
quality: opts.quality === void 0 ? void 0 : Number.parseInt(opts.quality, 10),
|
|
68
|
+
exportName: opts.exportName,
|
|
69
|
+
timeSeconds: Number.parseFloat(opts.captureDelay),
|
|
70
|
+
width: Number.parseInt(opts.width, 10),
|
|
71
|
+
height: Number.parseInt(opts.height, 10)
|
|
72
|
+
});
|
|
73
|
+
} catch (caughtError) {
|
|
74
|
+
fail(caughtError);
|
|
46
75
|
}
|
|
47
76
|
}
|
|
48
77
|
);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander'
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { Command } from 'commander';\n\ndeclare const __VERSION__: string;\n\nfunction fail(caughtError: unknown): never {\n const message = caughtError instanceof Error ? caughtError.message : String(caughtError);\n\n process.stderr.write(`error: ${message}\\n`);\n process.exit(1);\n}\n\nconst program = new Command();\n\nprogram\n .name('matter-cli')\n .description('CLI for Matter — copy-paste components from the registry into your project')\n .version(__VERSION__);\n\nprogram\n .command('init')\n .description('one-time project setup — writes matter.config.json')\n .option('--force', 'overwrite an existing matter.config.json')\n .action(async (opts: { force?: boolean }) => {\n try {\n const { runInit } = await import('./commands/init.js');\n\n await runInit(opts);\n } catch (caughtError) {\n fail(caughtError);\n }\n });\n\nprogram\n .command('list')\n .description('show available components in the registry')\n .option('--registry <url>', 'override the registryUrl from matter.config.json')\n .option('--reference <ref>', 'tag, branch, or commit (defaults to the CLI version)')\n .action(async (opts: { registry?: string; reference?: string }) => {\n try {\n const { runList } = await import('./commands/list.js');\n\n await runList({ registry: opts.registry, ref: opts.reference, cliVersion: __VERSION__ });\n } catch (caughtError) {\n fail(caughtError);\n }\n });\n\nprogram\n .command('add')\n .description('copy one or more components from the registry into componentsDir')\n .argument('<components...>', 'component slugs (e.g. \"linear-gradient\")')\n .option('--registry <url>', 'override the registryUrl from matter.config.json')\n .option('--reference <ref>', 'tag, branch, or commit (defaults to the CLI version)')\n .option('--force', 'overwrite existing files in componentsDir')\n .action(\n async (\n components: string[],\n opts: { registry?: string; reference?: string; force?: boolean },\n ) => {\n try {\n const { runAdd } = await import('./commands/add.js');\n\n await runAdd(components, {\n registry: opts.registry,\n ref: opts.reference,\n force: opts.force,\n cliVersion: __VERSION__,\n });\n } catch (caughtError) {\n fail(caughtError);\n }\n },\n );\n\nprogram\n .command('update')\n .description('re-fetch a previously-added component (or all, if no name given)')\n .argument('[components...]', 'component slugs; omit to update every component in componentsDir')\n .option('--registry <url>', 'override the registryUrl from matter.config.json')\n .option('--reference <ref>', 'tag, branch, or commit (defaults to the CLI version)')\n .option('--force', 'overwrite files even if they have local edits')\n .action(\n async (\n components: string[],\n opts: { registry?: string; reference?: string; force?: boolean },\n ) => {\n try {\n const { runUpdate } = await import('./commands/update.js');\n\n await runUpdate(components, {\n registry: opts.registry,\n ref: opts.reference,\n force: opts.force,\n cliVersion: __VERSION__,\n });\n } catch (caughtError) {\n fail(caughtError);\n }\n },\n );\n\nprogram\n .command('poster')\n .description('render a Matter component tree to a static image for use as <ShaderScene fallback>')\n .requiredOption('--source <file>', 'path to a .tsx/.ts file exporting the component to render')\n .requiredOption('--output <path>', 'where to write the image (extension optional; --format wins)')\n .option('--format <format>', 'output format: png or jpg', 'jpg')\n .option('--quality <n>', 'JPEG quality 1–100 (default 80, ignored for PNG)')\n .option('--export-name <name>', 'named export to render', 'default')\n .option('--capture-delay <seconds>', 'wait this long after first non-blank frame', '0')\n .option('--width <px>', 'render width', '1280')\n .option('--height <px>', 'render height', '720')\n .action(\n async (opts: {\n source: string;\n output: string;\n format: string;\n quality?: string;\n exportName: string;\n captureDelay: string;\n width: string;\n height: string;\n }) => {\n try {\n const { runPoster } = await import('./commands/poster.js');\n\n await runPoster({\n from: opts.source,\n out: opts.output,\n type: opts.format,\n quality: opts.quality === undefined ? undefined : Number.parseInt(opts.quality, 10),\n exportName: opts.exportName,\n timeSeconds: Number.parseFloat(opts.captureDelay),\n width: Number.parseInt(opts.width, 10),\n height: Number.parseInt(opts.height, 10),\n });\n } catch (caughtError) {\n fail(caughtError);\n }\n },\n );\n\nawait program.parseAsync(process.argv);\n"],"mappings":"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","names":[]}
|
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
configExists,
|
|
5
5
|
configPath,
|
|
6
6
|
writeMatterConfig
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-R7OX6KUP.js";
|
|
8
|
+
import "./chunk-D4HDZEJT.js";
|
|
8
9
|
|
|
9
10
|
// src/commands/init.ts
|
|
10
11
|
async function runInit(opts, io = { cwd: process.cwd(), log: console.log }) {
|
|
@@ -21,4 +22,4 @@ async function runInit(opts, io = { cwd: process.cwd(), log: console.log }) {
|
|
|
21
22
|
export {
|
|
22
23
|
runInit
|
|
23
24
|
};
|
|
24
|
-
//# sourceMappingURL=init-
|
|
25
|
+
//# sourceMappingURL=init-NB5EOU5H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/init.ts"],"sourcesContent":["import {\n configExists,\n configPath,\n DEFAULT_MATTER_CONFIG,\n writeMatterConfig,\n} from '../config/matterConfig.js';\n\nexport interface InitOptions {\n force?: boolean;\n}\n\nexport interface InitIO {\n cwd: string;\n log: (line: string) => void;\n}\n\nexport async function runInit(\n opts: InitOptions,\n io: InitIO = { cwd: process.cwd(), log: console.log },\n): Promise<void> {\n const exists = await configExists(io.cwd);\n\n if (exists && opts.force !== true) {\n throw new Error(`matter.config.json already exists in ${io.cwd}. Pass --force to overwrite.`);\n }\n await writeMatterConfig(io.cwd, DEFAULT_MATTER_CONFIG);\n io.log(`Created matter.config.json at ${configPath(io.cwd)}`);\n io.log(\n 'Edit `componentsDir` if your project uses a different layout, ' +\n 'and adjust `aliases` to match your tsconfig paths.',\n );\n}\n"],"mappings":";;;;;;;;;;AAgBA,eAAsB,QACpB,MACA,KAAa,EAAE,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GACrC;AACf,QAAM,SAAS,MAAM,aAAa,GAAG,GAAG;AAExC,MAAI,UAAU,KAAK,UAAU,MAAM;AACjC,UAAM,IAAI,MAAM,wCAAwC,GAAG,GAAG,8BAA8B;AAAA,EAC9F;AACA,QAAM,kBAAkB,GAAG,KAAK,qBAAqB;AACrD,KAAG,IAAI,iCAAiC,WAAW,GAAG,GAAG,CAAC,EAAE;AAC5D,KAAG;AAAA,IACD;AAAA,EAEF;AACF;","names":[]}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
import {
|
|
3
3
|
fetchRegistry,
|
|
4
4
|
resolveRef
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FHRQIHCN.js";
|
|
6
6
|
import {
|
|
7
7
|
DEFAULT_MATTER_CONFIG,
|
|
8
8
|
configExists,
|
|
9
9
|
readMatterConfig
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-R7OX6KUP.js";
|
|
11
|
+
import "./chunk-D4HDZEJT.js";
|
|
11
12
|
|
|
12
13
|
// src/commands/list.ts
|
|
13
14
|
async function runList(opts, io = { cwd: process.cwd(), log: console.log }) {
|
|
@@ -15,8 +16,8 @@ async function runList(opts, io = { cwd: process.cwd(), log: console.log }) {
|
|
|
15
16
|
if (opts.registry !== void 0 && opts.registry !== "") {
|
|
16
17
|
baseUrl = opts.registry;
|
|
17
18
|
} else if (await configExists(io.cwd)) {
|
|
18
|
-
const
|
|
19
|
-
baseUrl =
|
|
19
|
+
const matterConfig = await readMatterConfig(io.cwd);
|
|
20
|
+
baseUrl = matterConfig.registryUrl;
|
|
20
21
|
} else {
|
|
21
22
|
baseUrl = DEFAULT_MATTER_CONFIG.registryUrl;
|
|
22
23
|
}
|
|
@@ -36,4 +37,4 @@ async function runList(opts, io = { cwd: process.cwd(), log: console.log }) {
|
|
|
36
37
|
export {
|
|
37
38
|
runList
|
|
38
39
|
};
|
|
39
|
-
//# sourceMappingURL=list-
|
|
40
|
+
//# sourceMappingURL=list-L725RQM3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/list.ts"],"sourcesContent":["import { configExists, DEFAULT_MATTER_CONFIG, readMatterConfig } from '../config/matterConfig.js';\nimport { fetchRegistry } from '../registry/fetchRegistry.js';\nimport { resolveRef } from '../registry/ref.js';\n\nexport interface ListOptions {\n registry?: string;\n ref?: string;\n cliVersion: string;\n}\n\nexport interface ListIO {\n cwd: string;\n log: (line: string) => void;\n}\n\nexport async function runList(\n opts: ListOptions,\n io: ListIO = { cwd: process.cwd(), log: console.log },\n): Promise<void> {\n let baseUrl: string;\n\n if (opts.registry !== undefined && opts.registry !== '') {\n baseUrl = opts.registry;\n } else if (await configExists(io.cwd)) {\n const matterConfig = await readMatterConfig(io.cwd);\n\n baseUrl = matterConfig.registryUrl;\n } else {\n baseUrl = DEFAULT_MATTER_CONFIG.registryUrl;\n }\n\n const ref = resolveRef(opts.ref, opts.cliVersion);\n const url = baseUrl.replace('${ref}', ref);\n const registry = await fetchRegistry(url);\n const entries = Object.entries(registry.components).sort(([a], [b]) => a.localeCompare(b));\n\n if (entries.length === 0) {\n io.log('No components in registry.');\n\n return;\n }\n\n for (const [slug, entry] of entries) {\n const description = entry.description ?? '(no description)';\n\n io.log(`${slug} · ${description} · tier ${entry.tier}`);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,eAAsB,QACpB,MACA,KAAa,EAAE,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GACrC;AACf,MAAI;AAEJ,MAAI,KAAK,aAAa,UAAa,KAAK,aAAa,IAAI;AACvD,cAAU,KAAK;AAAA,EACjB,WAAW,MAAM,aAAa,GAAG,GAAG,GAAG;AACrC,UAAM,eAAe,MAAM,iBAAiB,GAAG,GAAG;AAElD,cAAU,aAAa;AAAA,EACzB,OAAO;AACL,cAAU,sBAAsB;AAAA,EAClC;AAEA,QAAM,MAAM,WAAW,KAAK,KAAK,KAAK,UAAU;AAChD,QAAM,MAAM,QAAQ,QAAQ,UAAU,GAAG;AACzC,QAAM,WAAW,MAAM,cAAc,GAAG;AACxC,QAAM,UAAU,OAAO,QAAQ,SAAS,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEzF,MAAI,QAAQ,WAAW,GAAG;AACxB,OAAG,IAAI,4BAA4B;AAEnC;AAAA,EACF;AAEA,aAAW,CAAC,MAAM,KAAK,KAAK,SAAS;AACnC,UAAM,cAAc,MAAM,eAAe;AAEzC,OAAG,IAAI,GAAG,IAAI,SAAM,WAAW,cAAW,MAAM,IAAI,EAAE;AAAA,EACxD;AACF;","names":[]}
|