@lovo/matter-cli 0.1.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Hunter Garrett / Lovo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # @lovo/matter-cli
2
+
3
+ shadcn-style copy-paste CLI for **Matter** — fetch polished shader components from the registry into your project, where they're yours to edit.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install -D @lovo/matter-cli
9
+ # or run ad-hoc: npx @lovo/matter-cli <command>
10
+ ```
11
+
12
+ Requires Node 22+.
13
+
14
+ ## Usage
15
+
16
+ ### One-time setup
17
+
18
+ ```bash
19
+ npx matter-cli init
20
+ ```
21
+
22
+ Writes `matter.config.json` to your project root with sensible defaults:
23
+
24
+ ```json
25
+ {
26
+ "componentsDir": "src/components/matter",
27
+ "registryUrl": "https://raw.githubusercontent.com/lovo-hq/matter/${ref}/registry",
28
+ "aliases": { "@/": "src/" },
29
+ "tsx": true
30
+ }
31
+ ```
32
+
33
+ The `${ref}` placeholder is auto-substituted with the CLI's published version tag (e.g., `v0.1.0`), so you get a stable snapshot. Override with `--ref <tag|branch|sha>` if you want to track `main` or a specific commit.
34
+
35
+ ### List available components
36
+
37
+ ```bash
38
+ npx matter-cli list
39
+ ```
40
+
41
+ ### Copy a component into your project
42
+
43
+ ```bash
44
+ npx matter-cli add linear-gradient
45
+ # or multiple at once:
46
+ npx matter-cli add linear-gradient aurora dot-field
47
+ ```
48
+
49
+ The component lands in `componentsDir` (default `src/components/matter/`) — you own it from that point forward.
50
+
51
+ ### Refresh a previously-added component
52
+
53
+ ```bash
54
+ # Refresh one (errors if you have local edits):
55
+ npx matter-cli update linear-gradient
56
+
57
+ # Refresh all, overwriting local edits:
58
+ npx matter-cli update --force
59
+ ```
60
+
61
+ ## v1 components
62
+
63
+ `linear-gradient`, `mesh-gradient`, `aurora`, `dot-field`, `noise-field`, `waves`.
64
+
65
+ Each component depends on `@lovo/matter` and `@lovo/matter-react`, which you install separately:
66
+
67
+ ```bash
68
+ npm install @lovo/matter @lovo/matter-react three
69
+ ```
70
+
71
+ ## Docs
72
+
73
+ <https://github.com/lovo-hq/matter>
74
+
75
+ ## License
76
+
77
+ MIT — see [LICENSE](./LICENSE).
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/index.d.ts","../../../node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/esm.d.mts","../src/config/matterconfig.ts","../src/commands/init.ts","../src/registry/readurl.ts","../src/registry/fetchregistry.ts","../src/registry/ref.ts","../src/commands/list.ts","../src/transforms/rewriteimports.ts","../src/commands/add.ts","../src/commands/update.ts","../src/index.ts","../../../node_modules/.pnpm/@vitest+pretty-format@2.1.9/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/index-c1cfc5e9.d.ts","../../../node_modules/.pnpm/tinyrainbow@1.2.0/node_modules/tinyrainbow/dist/node.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@2.1.9/node_modules/@vitest/runner/dist/tasks-3znpj1lr.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/types-bxe-2udy.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@2.1.9/node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/.pnpm/@vitest+runner@2.1.9/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/environment.looobwuu.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/rollup@4.60.2/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/.pnpm/rollup@4.60.2/node_modules/rollup/dist/parseast.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/dist/node/types.d-agj9qkwt.d.ts","../../../node_modules/.pnpm/esbuild@0.21.5/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/postcss@8.5.13/node_modules/postcss/lib/postcss.d.mts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/dist/node/runtime.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/types/importglob.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@5.4.21_@types+node@22.19.17/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@2.1.9/node_modules/@vitest/snapshot/dist/environment-ddx0edty.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@2.1.9/node_modules/@vitest/snapshot/dist/rawsnapshot-cpnkto81.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@2.1.9/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@2.1.9/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/config.cy0c388z.d.ts","../../../node_modules/.pnpm/vite-node@2.1.9_@types+node@22.19.17/node_modules/vite-node/dist/trace-mapping.d-dlvdeqop.d.ts","../../../node_modules/.pnpm/vite-node@2.1.9_@types+node@22.19.17/node_modules/vite-node/dist/index-z0r8hvru.d.ts","../../../node_modules/.pnpm/vite-node@2.1.9_@types+node@22.19.17/node_modules/vite-node/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@2.1.9/node_modules/@vitest/utils/dist/source-map.d.ts","../../../node_modules/.pnpm/vite-node@2.1.9_@types+node@22.19.17/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/vite-node@2.1.9_@types+node@22.19.17/node_modules/vite-node/dist/server.d.ts","../../../node_modules/.pnpm/@vitest+runner@2.1.9/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/benchmark.geerunq4.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@2.1.9/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/reporters.nr4dxcka.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/worker.tn5kgiih.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/worker.b9fxpcac.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/vite.czkp4x9w.d.ts","../../../node_modules/.pnpm/@vitest+expect@2.1.9/node_modules/@vitest/expect/dist/chai.d.cts","../../../node_modules/.pnpm/@vitest+expect@2.1.9/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@2.1.9/node_modules/@vitest/expect/index.d.ts","../../../node_modules/.pnpm/@vitest+spy@2.1.9/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+mocker@2.1.9_vite@5.4.21_@types+node@22.19.17_/node_modules/@vitest/mocker/dist/types-dzoqtgin.d.ts","../../../node_modules/.pnpm/@vitest+mocker@2.1.9_vite@5.4.21_@types+node@22.19.17_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/mocker.crtm890j.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/chunks/suite.b2jumifp.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@2.1.9_@types+node@22.19.17_@vitest+ui@2.1.9_happy-dom@15.11.7/node_modules/vitest/dist/index.d.ts","../src/commands/add.test.ts","../src/commands/init.test.ts","../src/commands/list.test.ts","../src/commands/update.test.ts","../src/config/matterconfig.test.ts","../src/registry/fetchregistry.test.ts","../src/registry/readurl.test.ts","../src/registry/ref.test.ts","../src/transforms/rewriteimports.test.ts"],"fileIdsList":[[88,136,153,154],[88,133,134,136,153,154],[88,135,136,153,154],[136,153,154],[88,136,141,153,154,171],[88,136,137,142,147,153,154,156,168,179],[88,136,137,138,147,153,154,156],[83,84,85,88,136,153,154],[88,136,139,153,154,180],[88,136,140,141,148,153,154,157],[88,136,141,153,154,168,176],[88,136,142,144,147,153,154,156],[88,135,136,143,153,154],[88,136,144,145,153,154],[88,136,146,147,153,154],[88,135,136,147,153,154],[88,136,147,148,149,153,154,168,179],[88,136,147,148,149,153,154,163,168,171],[88,129,136,144,147,150,153,154,156,168,179],[88,136,147,148,150,151,153,154,156,168,176,179],[88,136,150,152,153,154,168,176,179],[86,87,88,89,90,91,92,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[88,136,147,153,154],[88,136,153,154,155,179],[88,136,144,147,153,154,156,168],[88,136,153,154,157],[88,136,153,154,158],[88,135,136,153,154,159],[88,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[88,136,153,154,161],[88,136,153,154,162],[88,136,147,153,154,163,164],[88,136,153,154,163,165,180,182],[88,136,148,153,154],[88,136,147,153,154,168,169,171],[88,136,153,154,170,171],[88,136,153,154,168,169],[88,136,153,154,171],[88,136,153,154,172],[88,133,136,153,154,168,173,179],[88,136,147,153,154,174,175],[88,136,153,154,174,175],[88,136,141,153,154,156,168,176],[88,136,153,154,177],[88,136,153,154,156,178],[88,136,150,153,154,162,179],[88,136,141,153,154,180],[88,136,153,154,168,181],[88,136,153,154,155,182],[88,136,153,154,183],[88,129,136,153,154],[88,129,136,147,149,153,154,159,168,171,179,181,182,184],[88,136,153,154,168,185],[74,75,78,88,136,153,154],[88,136,153,154,239],[88,136,153,154,242],[75,76,78,79,80,88,136,153,154],[75,88,136,153,154],[75,76,78,88,136,153,154],[75,76,88,136,153,154],[88,136,153,154,219],[70,88,136,153,154,219,220],[70,88,136,153,154,219],[70,77,88,136,153,154],[71,88,136,153,154],[70,71,72,74,88,136,153,154],[70,88,136,153,154],[58,88,136,153,154],[88,136,153,154,246,247],[88,136,153,154,246,247,248,249],[88,136,153,154,246,248],[88,136,153,154,246],[88,136,153,154,210],[88,136,153,154,208,210],[88,136,153,154,199,207,208,209,211,213],[88,136,153,154,197],[88,136,153,154,200,205,210,213],[88,136,153,154,196,213],[88,136,153,154,200,201,204,205,206,213],[88,136,153,154,200,201,202,204,205,213],[88,136,153,154,197,198,199,200,201,205,206,207,209,210,211,213],[88,136,153,154,213],[88,136,153,154,195,197,198,199,200,201,202,204,205,206,207,208,209,210,211,212],[88,136,153,154,195,213],[88,136,153,154,200,202,203,205,206,213],[88,136,153,154,204,213],[88,136,153,154,205,206,210,213],[88,136,153,154,198,208],[88,136,153,154,188,217],[88,136,153,154,187,188],[73,88,136,153,154],[88,101,105,136,153,154,179],[88,101,136,153,154,168,179],[88,96,136,153,154],[88,98,101,136,153,154,176,179],[88,136,153,154,156,176],[88,136,153,154,186],[88,96,136,153,154,186],[88,98,101,136,153,154,156,179],[88,93,94,97,100,136,147,153,154,168,179],[88,101,108,136,153,154],[88,93,99,136,153,154],[88,101,122,123,136,153,154],[88,97,101,136,153,154,171,179,186],[88,122,136,153,154,186],[88,95,96,136,153,154,186],[88,101,136,153,154],[88,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,136,153,154],[88,101,116,136,153,154],[88,101,108,109,136,153,154],[88,99,101,109,110,136,153,154],[88,100,136,153,154],[88,93,96,101,136,153,154],[88,101,105,109,110,136,153,154],[88,105,136,153,154],[88,99,101,104,136,153,154,179],[88,93,98,101,108,136,153,154],[88,136,153,154,168],[88,96,101,122,136,153,154,184,186],[88,136,153,154,224,225],[88,136,153,154,224],[88,136,153,154,218,224,225,237],[88,136,147,148,150,151,152,153,154,156,168,176,179,185,186,188,189,190,191,192,193,194,214,215,216,217],[88,136,153,154,190,191,192,193],[88,136,153,154,190,191,192],[88,136,153,154,190],[88,136,153,154,191],[88,136,153,154,188],[81,88,136,153,154,230,231,251],[70,81,88,136,153,154,221,222,251],[88,136,153,154,243],[70,75,81,82,88,136,148,153,154,168,218,221,223,226,227,228,229,232,233,237,238,251],[81,88,136,153,154,230,231,232,251],[88,136,153,154,218,234],[88,136,153,154,184,235],[81,82,88,136,153,154,221,223,226,251],[70,75,78,81,82,88,136,148,153,154,168,184,218,221,222,223,226,227,228,229,230,231,232,233,234,235,236,237,238,240,241,243,244,245,250,251],[60,67,88,136,149,153,154,157,158,179,251],[60,63,64,66,88,136,149,153,154,158],[61,88,136,149,153,154,157,158,251],[60,88,136,153,154],[60,65,88,136,149,153,154,157,158,179,251],[60,63,64,88,136,153,154],[60,68,88,136,149,153,154,157,158,179,251],[60,63,64,67,88,136,149,153,154,158],[60,88,136,149,153,154,157,158,251],[88,136,149,153,154,158],[59,61,65,67,68,88,136,153,154],[63,88,136,149,153,154,157,158,179,251],[62,88,136,153,154],[62,88,136,153,154,179,251],[88,136,149,153,154,179],[64,88,136,153,154,251],[66,88,136,153,154,251]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a722a71d8f3cb0028857b12579c7eca55acc76bf34e5db7eaf6fe817b985f9c3","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"b3a080faad266219bf48bccb9827bd984f7638a447790a13dc371f1b048cb45a","signature":"762ce6f4e29bdd378cb9ddb7cc30b89dc832c5fb57043dedfa6d02476477c6cc"},{"version":"520fdd597a9988ebb81db420723d338bcd14a3e1787fbf6e2088d2af3c96ecda","signature":"aad60236005d8f3a774c877ad315aaf5a598d5ea8ecebff91de672346975e875"},{"version":"2b3d46e2a69e1e59cb84879414c2b16d0f83b7a31b65a979c0afdc954dac4de9","signature":"3d01a4c058c9b53edb6bf3c33f8f00d4c892889762a0c42519f304721a4e2171"},{"version":"62571bc3e28f8079fbf1f6f5a4091e8ba4221b619fb7a3781f3789c39b6f7ef0","signature":"f84b1776513ae5fa8ef6f7613b8250eaf128e9feffd340799443f6b2e60e1f00"},{"version":"f9147a7813e8f53aa6f68175ac6f2166c7c79c65e1b6b3c2639e91047270fc1e","signature":"4f0622eed4fc4606d333dd5f14e6223736a1ebb64bffc336ce27add50c29a549"},{"version":"1caa391ede513412c010b69a076d903ee4eceb90320914786d73978051780730","signature":"0ab9670afc852a066763d5f394215bc984ec9c99217a3ad97256353f88e77687"},{"version":"fa311aec3346adb9d02559adf6ac912d037779702741cd716c65f1f8d351a161","signature":"03733e54bee0e839bb26866a982e6a558631037748e4d40bb803efc3700b3969"},{"version":"4d376bc8fce56cf47f32a738cf38f11e21207cb1d7b7563959ae1c24b629a653","signature":"21101cf133e3c4083f3bfbfb80f17e822f00898f5f402ccd2e374bf0767dc045"},{"version":"2b4eafa7368210e7655b6893b5477f907e18ca3c5952b02a9893b2f8233804eb","signature":"0b191b02cd61689c9b807e94ea07c79c797803c8d3ba3444d7a00b6effae4414"},{"version":"d8d84121097b3b9a466f07fb761b657a8a9b877954b607f7d76fa6f136ad886d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d2e64a6f25013b099e83bfadb2c388d7bef3e8f3fdb25528225bbc841e7e7e3a","impliedFormat":99},{"version":"369ba5259e66ca8c7d35e3234f7a2a0863a770fdb8266505747c65cf346a0804","impliedFormat":99},{"version":"64d984f55025daf604f670b7dfd090ea765f2098aee871174ef2ee3e94479098","impliedFormat":99},{"version":"f147b6710441cf3ec3234adf63b0593ce5e8c9b692959d21d3babc8454bcf743","impliedFormat":99},{"version":"e96d5373a66c2cfbbc7e6642cf274055aa2c7ff6bd37be7480c66faf9804db6d","impliedFormat":99},{"version":"02bcdd7a76c5c1c485cbf05626d24c86ac8f9a1d8dc31f8924108bbaa4cf3ba9","impliedFormat":99},{"version":"c874ab6feac6e0fdf9142727c9a876065777a5392f14b0bbcf869b1e69eb46b5","impliedFormat":99},{"version":"7c553fc9e34773ddbaabe0fa1367d4b109101d0868a008f11042bee24b5a925d","impliedFormat":99},{"version":"9962ce696fbdce2421d883ca4b062a54f982496625437ae4d3633376c5ad4a80","impliedFormat":99},{"version":"e3ea467c4a7f743f3548c9ed61300591965b1d12c08c8bb9aaff8a002ba95fce","impliedFormat":99},{"version":"4c17183a07a63bea2653fbfc0a942b027160ddbee823024789a415f9589de327","impliedFormat":99},{"version":"3e2203c892297ea44b87470fde51b3d48cfe3eeb6901995de429539462894464","impliedFormat":99},{"version":"c84bf7a4abc5e7fdf45971a71b25b0e0d34ccd5e720a866dd78bb71d60d41a3f","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"52dcc257df5119fb66d864625112ce5033ac51a4c2afe376a0b299d2f7f76e4a","impliedFormat":1},{"version":"e5bab5f871ef708d52d47b3e5d0aa72a08ee7a152f33931d9a60809711a2a9a3","impliedFormat":1},{"version":"e16dc2a81595736024a206c7d5c8a39bfe2e6039208ef29981d0d95434ba8fcf","impliedFormat":1},{"version":"cc4a4903fb698ca1d961d4c10dce658aa3a479faf40509d526f122b044eaf6a4","impliedFormat":1},{"version":"19ee8416e6473ed6c7adb868fa796b5653cf0fa2a337658e677eaa0d134388c3","impliedFormat":1},{"version":"1328ab4e442614b28cdb3d4b414cf68325c0da0dca07287a338d0654b7a00261","impliedFormat":1},{"version":"a039dc21f045919f3cbee2ec13812cc6cc3eebc99dae4be00973230f468d19a6","impliedFormat":1},{"version":"3fbe57af01460e49dcd29df55d6931e1672bc6f1be0fb073d11410bc16f9037d","impliedFormat":1},{"version":"f760be449e8562ec5c09bb5187e8e1eabf3c113c0c58cddda53ef8c69f3e2131","impliedFormat":1},{"version":"44325ed13294fce6ab825b82947bbeed2611db7dad9d9135260192f375e5a189","impliedFormat":1},{"version":"e392e8fb5b514eafc585601c1d781485aa6dd6a320e75daf1064a4c6918a1b45","impliedFormat":1},{"version":"46e4a36e8ddbdfb4e7330e11c81c970dc8b218611df9183d39c41c5f8c653b55","impliedFormat":1},{"version":"370bde134aa8c2abc926d0e99d3a4d5d5dba65c6ee65459137e4f02670cbf841","impliedFormat":1},{"version":"6332f565867cf4a740a70e30f31cefba37ef7cebcf74f22eab8d744fde6d193e","impliedFormat":1},{"version":"2977b7884aedc895a1d0c9c210c7cf3272c29d6959a08a6fa3ff71e0aff08175","impliedFormat":1},{"version":"17f2922d41ddd032830a91371c948cd9ce903b35c95adca72271a54584f19b0b","impliedFormat":1},{"version":"3eed76ede2a1a14d7c9bb0a642041282dcc264811139d3dd275c9fe14efc9840","impliedFormat":1},{"version":"e3cf0611709328b449ec13f8c436712d62003620ce480139fae46ce001c2ee9f","impliedFormat":1},{"version":"8d369483f0c2b9ee388129cfdb6a43bc8112b377e86a41884bd06e19ce04f4c1","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"257b83faa134d971c738a6b9e4c47e59bb7b23274719d92197580dd662bfafc3","impliedFormat":99},{"version":"e01ea380015ed698c3c0e2ccd0db72f3fc3ef1abc4519f122aa1c1a8d419a505","impliedFormat":99},{"version":"5ada1f8a9580c0f7478fe03ae3e07e958f0b79bdfb9dd50eeb98c1324f40011b","impliedFormat":99},{"version":"a8301dc90b4bd9fba333226ee0f1681aeeff1bd90233a8f647e687cb4b7d3521","impliedFormat":99},{"version":"e3225dc0bec183183509d290f641786245e6652bc3dce755f7ef404060693c35","impliedFormat":99},{"version":"09a03870ed8c55d7453bc9ad684df88965f2f770f987481ca71b8a09be5205bc","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"2cdd50ddc49e2d608ee848fc4ab0db9a2716624fabb4209c7c683d87e54d79c5","impliedFormat":99},{"version":"e431d664338b8470abb1750d699c7dfcebb1a25434559ef85bb96f1e82de5972","impliedFormat":99},{"version":"2c4254139d037c3caca66ce291c1308c1b5092cfcb151eb25980db932dd3b01a","impliedFormat":99},{"version":"970ae00ed018cb96352dc3f37355ef9c2d9f8aa94d7174ccd6d0ed855e462097","impliedFormat":99},{"version":"d2f8dee457ef7660b604226d471d55d927c3051766bdd80353553837492635c3","impliedFormat":99},{"version":"110a503289a2ef76141ffff3ffceb9a1c3662c32748eb9f6777a2bd0866d6fb1","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"310e6b62c493ce991624169a1c1904015769d947be88dc67e00adc7ebebcfa87","impliedFormat":99},{"version":"62fefda288160bf6e435b21cc03d3fbac11193d8d3bd0e82d86623cca7691c29","impliedFormat":99},{"version":"fcc46a8bcbf9bef21023bba1995160a25f0bc590ca3563ec44c315b4f4c1b18a","impliedFormat":99},{"version":"0309a01650023994ed96edbd675ea4fdc3779a823ce716ad876cc77afb792b62","impliedFormat":99},{"version":"f13d7beeea58e219daef3a40e0dc4f2bd7d9581ac04cedec236102a12dfd2090","impliedFormat":99},{"version":"669573548930fb7d0a0761b827e203dc623581e21febf0be80fb02414f217d74","impliedFormat":99},{"version":"48c411efce1848d1ed55de41d7deb93cbf7c04080912fd87aa517ed25ef42639","affectsGlobalScope":true,"impliedFormat":1},{"version":"a094636c05f3e75cb072684dd42cd25a4c1324bec4a866706c85c04cecd49613","affectsGlobalScope":true,"impliedFormat":99},{"version":"fe2d63fcfdde197391b6b70daf7be8c02a60afa90754a5f4a04bdc367f62793d","impliedFormat":99},{"version":"9a3e2c85ec1ab7a0874a19814cc73c691b716282cb727914093089c5a8475955","impliedFormat":99},{"version":"cbdc781d2429935c9c42acd680f2a53a9f633e8de03290ec6ea818e4f7bff19a","impliedFormat":99},{"version":"9f6d9f5dd710922f82f69abf9a324e28122b5f31ae6f6ce78427716db30a377e","impliedFormat":99},{"version":"ac2414a284bdecfd6ab7b87578744ab056cd04dd574b17853cd76830ef5b72f2","impliedFormat":99},{"version":"c3f921bbc9d2e65bd503a56fbc66da910e68467baedb0b9db0cc939e1876c0d7","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"0cc99fbb161d78729d71fad66c6c363e3095862d6277160f29fa960744b785c6","affectsGlobalScope":true,"impliedFormat":99},{"version":"4a9d62dc10489003ed74513c94b3bd6e339d3f39ba6f12b6e2c78cccacd00dfe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b2b2fb010947642adb41ec58580ae1c508b182312d6034b6f7d974a126c7a2e8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71c59c8d303acf82877eb4f80153871b9a2bf5c6ff8cc9018c9d94ca86768fa6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"99999d802dae69befbf44c7989c5d670815f86b9e3da6e5e91c9e1133387afdd","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80643030edcf7976c2daa1203acffdbcd61b25339a761e917910a9e3d998acf1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"918c272cccea612e59fd90b87d11eb20f0f2517802ba8d7294b0a49acb2e9395","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4e6894135dcfbfa59a7d572363b4a14b72bb8475e6ba115db82d98bf4a032f73","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ae4d6459ac32c9e23d375948361c8ab14bb78683de1564f0f85ae5b062de2858","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"71d8e5d79923e6bd21c1e2eaae03156e6185138778e7d01191ba24f07c655efe","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[60,69],[252,260]],"options":{"allowJs":false,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[187,1],[133,2],[134,2],[135,3],[88,4],[136,5],[137,6],[138,7],[83,1],[86,8],[84,1],[85,1],[139,9],[140,10],[141,11],[142,12],[143,13],[144,14],[145,14],[146,15],[147,16],[148,17],[149,18],[89,1],[87,1],[150,19],[151,20],[152,21],[186,22],[153,23],[154,1],[155,24],[156,25],[157,26],[158,27],[159,28],[160,29],[161,30],[162,31],[163,32],[164,32],[165,33],[166,1],[167,34],[168,35],[170,36],[169,37],[171,38],[172,39],[173,40],[174,41],[175,42],[176,43],[177,44],[178,45],[179,46],[180,47],[181,48],[182,49],[183,50],[90,1],[91,1],[92,1],[130,51],[131,1],[132,1],[184,52],[185,53],[238,1],[239,54],[240,55],[243,56],[242,1],[70,1],[81,57],[76,58],[79,59],[230,60],[219,1],[222,61],[221,62],[233,62],[220,63],[241,1],[78,64],[80,64],[72,65],[75,66],[227,65],[77,67],[71,1],[59,68],[58,1],[194,1],[248,69],[250,70],[249,71],[247,72],[246,1],[211,73],[209,74],[210,75],[198,76],[199,74],[206,77],[197,78],[202,79],[212,1],[203,80],[208,81],[214,82],[213,83],[196,84],[204,85],[205,86],[200,87],[207,73],[201,88],[189,89],[188,90],[195,1],[231,1],[73,1],[74,91],[56,1],[57,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[55,1],[54,1],[1,1],[108,92],[118,93],[107,92],[128,94],[99,95],[98,96],[127,97],[121,98],[126,99],[101,100],[115,101],[100,102],[124,103],[96,104],[95,97],[125,105],[97,106],[102,107],[103,1],[106,107],[93,1],[129,108],[119,109],[110,110],[111,111],[113,112],[109,113],[112,114],[122,97],[104,115],[105,116],[114,117],[94,118],[117,109],[116,107],[120,1],[123,119],[228,120],[225,121],[226,120],[229,122],[224,1],[218,123],[215,124],[193,125],[191,126],[190,1],[192,127],[216,1],[217,128],[232,129],[223,130],[82,1],[244,131],[234,132],[245,133],[237,134],[236,135],[235,136],[251,137],[252,138],[67,139],[253,140],[61,141],[254,142],[65,143],[255,144],[68,145],[256,146],[60,147],[69,148],[257,149],[63,150],[258,151],[62,152],[259,153],[64,1],[260,154],[66,1]],"affectedFilesPendingEmit":[[252,51],[67,51],[253,51],[61,51],[254,51],[65,51],[255,51],[68,51],[256,51],[60,51],[69,51],[257,51],[63,51],[258,51],[62,51],[259,51],[64,51],[260,51],[66,51]],"version":"5.9.3"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runAdd
4
+ } from "./chunk-V774PVEJ.js";
5
+ import "./chunk-QTD5MDLV.js";
6
+ import "./chunk-EBCJ5BNB.js";
7
+ export {
8
+ runAdd
9
+ };
10
+ //# sourceMappingURL=add-RALAFFV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runAdd
4
+ } from "./chunk-QVVHELUY.js";
5
+ import "./chunk-QTD5MDLV.js";
6
+ import "./chunk-PWYRLP7T.js";
7
+ export {
8
+ runAdd
9
+ };
10
+ //# sourceMappingURL=add-WFXJ7HFS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/config/matterConfig.ts
4
+ import { access, readFile, writeFile } from "fs/promises";
5
+ import { join } from "path";
6
+ var DEFAULT_MATTER_CONFIG = {
7
+ componentsDir: "src/components/matter",
8
+ registryUrl: "https://raw.githubusercontent.com/lovo/matter/${ref}/registry",
9
+ aliases: { "@/": "src/" },
10
+ tsx: true
11
+ };
12
+ var CONFIG_FILENAME = "matter.config.json";
13
+ function configPath(projectRoot) {
14
+ return join(projectRoot, CONFIG_FILENAME);
15
+ }
16
+ async function configExists(projectRoot) {
17
+ try {
18
+ await access(configPath(projectRoot));
19
+ return true;
20
+ } catch {
21
+ return false;
22
+ }
23
+ }
24
+ async function readMatterConfig(projectRoot) {
25
+ const path = configPath(projectRoot);
26
+ let raw;
27
+ try {
28
+ raw = await readFile(path, "utf-8");
29
+ } catch (err) {
30
+ if (err.code === "ENOENT") {
31
+ throw new Error(
32
+ `matter.config.json not found in ${projectRoot}. Run \`matter-cli init\` first.`
33
+ );
34
+ }
35
+ throw err;
36
+ }
37
+ let parsed;
38
+ try {
39
+ parsed = JSON.parse(raw);
40
+ } catch (err) {
41
+ throw new Error(`${path} is not valid JSON: ${err.message}`);
42
+ }
43
+ return validateMatterConfig(parsed, path);
44
+ }
45
+ async function writeMatterConfig(projectRoot, cfg) {
46
+ const path = configPath(projectRoot);
47
+ const json = `${JSON.stringify(cfg, null, 2)}
48
+ `;
49
+ await writeFile(path, json, "utf-8");
50
+ }
51
+ function validateMatterConfig(parsed, path) {
52
+ if (typeof parsed !== "object" || parsed === null) {
53
+ throw new Error(`${path}: expected an object`);
54
+ }
55
+ const obj = parsed;
56
+ if (typeof obj.componentsDir !== "string" || obj.componentsDir === "") {
57
+ throw new Error(`${path}: missing or empty "componentsDir" string`);
58
+ }
59
+ if (typeof obj.registryUrl !== "string" || obj.registryUrl === "") {
60
+ throw new Error(`${path}: missing or empty "registryUrl" string`);
61
+ }
62
+ if (typeof obj.aliases !== "object" || obj.aliases === null) {
63
+ throw new Error(`${path}: missing "aliases" object`);
64
+ }
65
+ if (typeof obj.tsx !== "boolean") {
66
+ throw new Error(`${path}: missing "tsx" boolean`);
67
+ }
68
+ const aliases = {};
69
+ for (const [k, v] of Object.entries(obj.aliases)) {
70
+ if (typeof v !== "string") {
71
+ throw new Error(`${path}: aliases.${k} must be a string`);
72
+ }
73
+ aliases[k] = v;
74
+ }
75
+ return {
76
+ componentsDir: obj.componentsDir,
77
+ registryUrl: obj.registryUrl,
78
+ aliases,
79
+ tsx: obj.tsx
80
+ };
81
+ }
82
+
83
+ export {
84
+ DEFAULT_MATTER_CONFIG,
85
+ configPath,
86
+ configExists,
87
+ readMatterConfig,
88
+ writeMatterConfig
89
+ };
90
+ //# sourceMappingURL=chunk-EBCJ5BNB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/matterConfig.ts"],"sourcesContent":["import { access, readFile, writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\n\nexport interface MatterConfig {\n componentsDir: string\n registryUrl: string\n aliases: Record<string, string>\n tsx: boolean\n}\n\n/**\n * Defaults align with spec §4.3. componentsDir mirrors shadcn's\n * `src/components/ui` convention but namespaced under `matter` so a project\n * using both shadcn and matter doesn't collide.\n */\nexport const DEFAULT_MATTER_CONFIG: MatterConfig = {\n componentsDir: 'src/components/matter',\n registryUrl: 'https://raw.githubusercontent.com/lovo/matter/${ref}/registry',\n aliases: { '@/': 'src/' },\n tsx: true,\n}\n\nconst CONFIG_FILENAME = 'matter.config.json'\n\nexport function configPath(projectRoot: string): string {\n return join(projectRoot, CONFIG_FILENAME)\n}\n\nexport async function configExists(projectRoot: string): Promise<boolean> {\n try {\n await access(configPath(projectRoot))\n return true\n } catch {\n return false\n }\n}\n\nexport async function readMatterConfig(projectRoot: string): Promise<MatterConfig> {\n const path = configPath(projectRoot)\n let raw: string\n try {\n raw = await readFile(path, 'utf-8')\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === 'ENOENT') {\n throw new Error(\n `matter.config.json not found in ${projectRoot}. Run \\`matter-cli init\\` first.`,\n )\n }\n throw err\n }\n let parsed: unknown\n try {\n parsed = JSON.parse(raw)\n } catch (err) {\n throw new Error(`${path} is not valid JSON: ${(err as Error).message}`)\n }\n return validateMatterConfig(parsed, path)\n}\n\nexport async function writeMatterConfig(projectRoot: string, cfg: MatterConfig): Promise<void> {\n const path = configPath(projectRoot)\n const json = `${JSON.stringify(cfg, null, 2)}\\n`\n await writeFile(path, json, 'utf-8')\n}\n\nfunction validateMatterConfig(parsed: unknown, path: string): MatterConfig {\n if (typeof parsed !== 'object' || parsed === null) {\n throw new Error(`${path}: expected an object`)\n }\n const obj = parsed as Record<string, unknown>\n if (typeof obj.componentsDir !== 'string' || obj.componentsDir === '') {\n throw new Error(`${path}: missing or empty \"componentsDir\" string`)\n }\n if (typeof obj.registryUrl !== 'string' || obj.registryUrl === '') {\n throw new Error(`${path}: missing or empty \"registryUrl\" string`)\n }\n if (typeof obj.aliases !== 'object' || obj.aliases === null) {\n throw new Error(`${path}: missing \"aliases\" object`)\n }\n if (typeof obj.tsx !== 'boolean') {\n throw new Error(`${path}: missing \"tsx\" boolean`)\n }\n const aliases: Record<string, string> = {}\n for (const [k, v] of Object.entries(obj.aliases as Record<string, unknown>)) {\n if (typeof v !== 'string') {\n throw new Error(`${path}: aliases.${k} must be a string`)\n }\n aliases[k] = v\n }\n return {\n componentsDir: obj.componentsDir,\n registryUrl: obj.registryUrl,\n aliases,\n tsx: obj.tsx,\n }\n}\n"],"mappings":";;;AAAA,SAAS,QAAQ,UAAU,iBAAiB;AAC5C,SAAS,YAAY;AAcd,IAAM,wBAAsC;AAAA,EACjD,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS,EAAE,MAAM,OAAO;AAAA,EACxB,KAAK;AACP;AAEA,IAAM,kBAAkB;AAEjB,SAAS,WAAW,aAA6B;AACtD,SAAO,KAAK,aAAa,eAAe;AAC1C;AAEA,eAAsB,aAAa,aAAuC;AACxE,MAAI;AACF,UAAM,OAAO,WAAW,WAAW,CAAC;AACpC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,iBAAiB,aAA4C;AACjF,QAAM,OAAO,WAAW,WAAW;AACnC,MAAI;AACJ,MAAI;AACF,UAAM,MAAM,SAAS,MAAM,OAAO;AAAA,EACpC,SAAS,KAAK;AACZ,QAAK,IAA8B,SAAS,UAAU;AACpD,YAAM,IAAI;AAAA,QACR,mCAAmC,WAAW;AAAA,MAChD;AAAA,IACF;AACA,UAAM;AAAA,EACR;AACA,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,GAAG;AAAA,EACzB,SAAS,KAAK;AACZ,UAAM,IAAI,MAAM,GAAG,IAAI,uBAAwB,IAAc,OAAO,EAAE;AAAA,EACxE;AACA,SAAO,qBAAqB,QAAQ,IAAI;AAC1C;AAEA,eAAsB,kBAAkB,aAAqB,KAAkC;AAC7F,QAAM,OAAO,WAAW,WAAW;AACnC,QAAM,OAAO,GAAG,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC;AAAA;AAC5C,QAAM,UAAU,MAAM,MAAM,OAAO;AACrC;AAEA,SAAS,qBAAqB,QAAiB,MAA4B;AACzE,MAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AACjD,UAAM,IAAI,MAAM,GAAG,IAAI,sBAAsB;AAAA,EAC/C;AACA,QAAM,MAAM;AACZ,MAAI,OAAO,IAAI,kBAAkB,YAAY,IAAI,kBAAkB,IAAI;AACrE,UAAM,IAAI,MAAM,GAAG,IAAI,2CAA2C;AAAA,EACpE;AACA,MAAI,OAAO,IAAI,gBAAgB,YAAY,IAAI,gBAAgB,IAAI;AACjE,UAAM,IAAI,MAAM,GAAG,IAAI,yCAAyC;AAAA,EAClE;AACA,MAAI,OAAO,IAAI,YAAY,YAAY,IAAI,YAAY,MAAM;AAC3D,UAAM,IAAI,MAAM,GAAG,IAAI,4BAA4B;AAAA,EACrD;AACA,MAAI,OAAO,IAAI,QAAQ,WAAW;AAChC,UAAM,IAAI,MAAM,GAAG,IAAI,yBAAyB;AAAA,EAClD;AACA,QAAM,UAAkC,CAAC;AACzC,aAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,IAAI,OAAkC,GAAG;AAC3E,QAAI,OAAO,MAAM,UAAU;AACzB,YAAM,IAAI,MAAM,GAAG,IAAI,aAAa,CAAC,mBAAmB;AAAA,IAC1D;AACA,YAAQ,CAAC,IAAI;AAAA,EACf;AACA,SAAO;AAAA,IACL,eAAe,IAAI;AAAA,IACnB,aAAa,IAAI;AAAA,IACjB;AAAA,IACA,KAAK,IAAI;AAAA,EACX;AACF;","names":[]}
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/config/matterConfig.ts
4
+ import { access, readFile, writeFile } from "fs/promises";
5
+ import { join } from "path";
6
+ var DEFAULT_MATTER_CONFIG = {
7
+ componentsDir: "src/components/matter",
8
+ registryUrl: "https://raw.githubusercontent.com/lovo-hq/matter/${ref}/registry",
9
+ aliases: { "@/": "src/" },
10
+ tsx: true
11
+ };
12
+ var CONFIG_FILENAME = "matter.config.json";
13
+ function configPath(projectRoot) {
14
+ return join(projectRoot, CONFIG_FILENAME);
15
+ }
16
+ async function configExists(projectRoot) {
17
+ try {
18
+ await access(configPath(projectRoot));
19
+ return true;
20
+ } catch {
21
+ return false;
22
+ }
23
+ }
24
+ async function readMatterConfig(projectRoot) {
25
+ const path = configPath(projectRoot);
26
+ let raw;
27
+ try {
28
+ raw = await readFile(path, "utf-8");
29
+ } catch (err) {
30
+ if (err.code === "ENOENT") {
31
+ throw new Error(
32
+ `matter.config.json not found in ${projectRoot}. Run \`matter-cli init\` first.`
33
+ );
34
+ }
35
+ throw err;
36
+ }
37
+ let parsed;
38
+ try {
39
+ parsed = JSON.parse(raw);
40
+ } catch (err) {
41
+ throw new Error(`${path} is not valid JSON: ${err.message}`);
42
+ }
43
+ return validateMatterConfig(parsed, path);
44
+ }
45
+ async function writeMatterConfig(projectRoot, cfg) {
46
+ const path = configPath(projectRoot);
47
+ const json = `${JSON.stringify(cfg, null, 2)}
48
+ `;
49
+ await writeFile(path, json, "utf-8");
50
+ }
51
+ function validateMatterConfig(parsed, path) {
52
+ if (typeof parsed !== "object" || parsed === null) {
53
+ throw new Error(`${path}: expected an object`);
54
+ }
55
+ const obj = parsed;
56
+ if (typeof obj.componentsDir !== "string" || obj.componentsDir === "") {
57
+ throw new Error(`${path}: missing or empty "componentsDir" string`);
58
+ }
59
+ if (typeof obj.registryUrl !== "string" || obj.registryUrl === "") {
60
+ throw new Error(`${path}: missing or empty "registryUrl" string`);
61
+ }
62
+ if (typeof obj.aliases !== "object" || obj.aliases === null) {
63
+ throw new Error(`${path}: missing "aliases" object`);
64
+ }
65
+ if (typeof obj.tsx !== "boolean") {
66
+ throw new Error(`${path}: missing "tsx" boolean`);
67
+ }
68
+ const aliases = {};
69
+ for (const [k, v] of Object.entries(obj.aliases)) {
70
+ if (typeof v !== "string") {
71
+ throw new Error(`${path}: aliases.${k} must be a string`);
72
+ }
73
+ aliases[k] = v;
74
+ }
75
+ return {
76
+ componentsDir: obj.componentsDir,
77
+ registryUrl: obj.registryUrl,
78
+ aliases,
79
+ tsx: obj.tsx
80
+ };
81
+ }
82
+
83
+ export {
84
+ DEFAULT_MATTER_CONFIG,
85
+ configPath,
86
+ configExists,
87
+ readMatterConfig,
88
+ writeMatterConfig
89
+ };
90
+ //# sourceMappingURL=chunk-PWYRLP7T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/matterConfig.ts"],"sourcesContent":["import { access, readFile, writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\n\nexport interface MatterConfig {\n componentsDir: string\n registryUrl: string\n aliases: Record<string, string>\n tsx: boolean\n}\n\n/**\n * Defaults align with spec §4.3. componentsDir mirrors shadcn's\n * `src/components/ui` convention but namespaced under `matter` so a project\n * using both shadcn and matter doesn't collide.\n */\nexport const DEFAULT_MATTER_CONFIG: MatterConfig = {\n componentsDir: 'src/components/matter',\n registryUrl: 'https://raw.githubusercontent.com/lovo-hq/matter/${ref}/registry',\n aliases: { '@/': 'src/' },\n tsx: true,\n}\n\nconst CONFIG_FILENAME = 'matter.config.json'\n\nexport function configPath(projectRoot: string): string {\n return join(projectRoot, CONFIG_FILENAME)\n}\n\nexport async function configExists(projectRoot: string): Promise<boolean> {\n try {\n await access(configPath(projectRoot))\n return true\n } catch {\n return false\n }\n}\n\nexport async function readMatterConfig(projectRoot: string): Promise<MatterConfig> {\n const path = configPath(projectRoot)\n let raw: string\n try {\n raw = await readFile(path, 'utf-8')\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === 'ENOENT') {\n throw new Error(\n `matter.config.json not found in ${projectRoot}. Run \\`matter-cli init\\` first.`,\n )\n }\n throw err\n }\n let parsed: unknown\n try {\n parsed = JSON.parse(raw)\n } catch (err) {\n throw new Error(`${path} is not valid JSON: ${(err as Error).message}`)\n }\n return validateMatterConfig(parsed, path)\n}\n\nexport async function writeMatterConfig(projectRoot: string, cfg: MatterConfig): Promise<void> {\n const path = configPath(projectRoot)\n const json = `${JSON.stringify(cfg, null, 2)}\\n`\n await writeFile(path, json, 'utf-8')\n}\n\nfunction validateMatterConfig(parsed: unknown, path: string): MatterConfig {\n if (typeof parsed !== 'object' || parsed === null) {\n throw new Error(`${path}: expected an object`)\n }\n const obj = parsed as Record<string, unknown>\n if (typeof obj.componentsDir !== 'string' || obj.componentsDir === '') {\n throw new Error(`${path}: missing or empty \"componentsDir\" string`)\n }\n if (typeof obj.registryUrl !== 'string' || obj.registryUrl === '') {\n throw new Error(`${path}: missing or empty \"registryUrl\" string`)\n }\n if (typeof obj.aliases !== 'object' || obj.aliases === null) {\n throw new Error(`${path}: missing \"aliases\" object`)\n }\n if (typeof obj.tsx !== 'boolean') {\n throw new Error(`${path}: missing \"tsx\" boolean`)\n }\n const aliases: Record<string, string> = {}\n for (const [k, v] of Object.entries(obj.aliases as Record<string, unknown>)) {\n if (typeof v !== 'string') {\n throw new Error(`${path}: aliases.${k} must be a string`)\n }\n aliases[k] = v\n }\n return {\n componentsDir: obj.componentsDir,\n registryUrl: obj.registryUrl,\n aliases,\n tsx: obj.tsx,\n }\n}\n"],"mappings":";;;AAAA,SAAS,QAAQ,UAAU,iBAAiB;AAC5C,SAAS,YAAY;AAcd,IAAM,wBAAsC;AAAA,EACjD,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS,EAAE,MAAM,OAAO;AAAA,EACxB,KAAK;AACP;AAEA,IAAM,kBAAkB;AAEjB,SAAS,WAAW,aAA6B;AACtD,SAAO,KAAK,aAAa,eAAe;AAC1C;AAEA,eAAsB,aAAa,aAAuC;AACxE,MAAI;AACF,UAAM,OAAO,WAAW,WAAW,CAAC;AACpC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,iBAAiB,aAA4C;AACjF,QAAM,OAAO,WAAW,WAAW;AACnC,MAAI;AACJ,MAAI;AACF,UAAM,MAAM,SAAS,MAAM,OAAO;AAAA,EACpC,SAAS,KAAK;AACZ,QAAK,IAA8B,SAAS,UAAU;AACpD,YAAM,IAAI;AAAA,QACR,mCAAmC,WAAW;AAAA,MAChD;AAAA,IACF;AACA,UAAM;AAAA,EACR;AACA,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,GAAG;AAAA,EACzB,SAAS,KAAK;AACZ,UAAM,IAAI,MAAM,GAAG,IAAI,uBAAwB,IAAc,OAAO,EAAE;AAAA,EACxE;AACA,SAAO,qBAAqB,QAAQ,IAAI;AAC1C;AAEA,eAAsB,kBAAkB,aAAqB,KAAkC;AAC7F,QAAM,OAAO,WAAW,WAAW;AACnC,QAAM,OAAO,GAAG,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC;AAAA;AAC5C,QAAM,UAAU,MAAM,MAAM,OAAO;AACrC;AAEA,SAAS,qBAAqB,QAAiB,MAA4B;AACzE,MAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AACjD,UAAM,IAAI,MAAM,GAAG,IAAI,sBAAsB;AAAA,EAC/C;AACA,QAAM,MAAM;AACZ,MAAI,OAAO,IAAI,kBAAkB,YAAY,IAAI,kBAAkB,IAAI;AACrE,UAAM,IAAI,MAAM,GAAG,IAAI,2CAA2C;AAAA,EACpE;AACA,MAAI,OAAO,IAAI,gBAAgB,YAAY,IAAI,gBAAgB,IAAI;AACjE,UAAM,IAAI,MAAM,GAAG,IAAI,yCAAyC;AAAA,EAClE;AACA,MAAI,OAAO,IAAI,YAAY,YAAY,IAAI,YAAY,MAAM;AAC3D,UAAM,IAAI,MAAM,GAAG,IAAI,4BAA4B;AAAA,EACrD;AACA,MAAI,OAAO,IAAI,QAAQ,WAAW;AAChC,UAAM,IAAI,MAAM,GAAG,IAAI,yBAAyB;AAAA,EAClD;AACA,QAAM,UAAkC,CAAC;AACzC,aAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,IAAI,OAAkC,GAAG;AAC3E,QAAI,OAAO,MAAM,UAAU;AACzB,YAAM,IAAI,MAAM,GAAG,IAAI,aAAa,CAAC,mBAAmB;AAAA,IAC1D;AACA,YAAQ,CAAC,IAAI;AAAA,EACf;AACA,SAAO;AAAA,IACL,eAAe,IAAI;AAAA,IACnB,aAAa,IAAI;AAAA,IACjB;AAAA,IACA,KAAK,IAAI;AAAA,EACX;AACF;","names":[]}
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/registry/readUrl.ts
4
+ import { readFile } from "fs/promises";
5
+ import { fileURLToPath } from "url";
6
+ async function readUrl(url) {
7
+ const parsed = new URL(url);
8
+ if (parsed.protocol === "file:") {
9
+ const path = fileURLToPath(parsed);
10
+ try {
11
+ return await readFile(path, "utf-8");
12
+ } catch (err) {
13
+ if (err.code === "ENOENT") {
14
+ throw new Error(`File not found: ${path}`);
15
+ }
16
+ throw err;
17
+ }
18
+ }
19
+ if (parsed.protocol === "http:" || parsed.protocol === "https:") {
20
+ let res;
21
+ try {
22
+ res = await fetch(url);
23
+ } catch (err) {
24
+ throw new Error(`Failed to fetch ${url}: ${err.message}`);
25
+ }
26
+ if (!res.ok) {
27
+ throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`);
28
+ }
29
+ return await res.text();
30
+ }
31
+ throw new Error(`Unsupported protocol: ${parsed.protocol} (only file://, http://, https:// are supported)`);
32
+ }
33
+
34
+ // src/registry/fetchRegistry.ts
35
+ function joinUrl(base, file) {
36
+ const trimmed = base.endsWith("/") ? base.slice(0, -1) : base;
37
+ return `${trimmed}/${file}`;
38
+ }
39
+ async function fetchRegistry(baseUrl) {
40
+ const url = joinUrl(baseUrl, "registry.json");
41
+ const json = await readUrl(url);
42
+ let parsed;
43
+ try {
44
+ parsed = JSON.parse(json);
45
+ } catch (err) {
46
+ throw new Error(
47
+ `Registry at ${url} is not valid JSON: ${err.message}`
48
+ );
49
+ }
50
+ if (typeof parsed !== "object" || parsed === null || !("components" in parsed)) {
51
+ throw new Error(`Registry at ${url} is missing a "components" object`);
52
+ }
53
+ const components = parsed.components;
54
+ if (typeof components !== "object" || components === null || Array.isArray(components)) {
55
+ throw new Error(`Registry at ${url} is missing a "components" object`);
56
+ }
57
+ return parsed;
58
+ }
59
+ async function fetchComponentSource(baseUrl, file) {
60
+ return await readUrl(joinUrl(baseUrl, file));
61
+ }
62
+
63
+ // src/registry/ref.ts
64
+ function resolveRef(ref, cliVersion) {
65
+ if (ref !== void 0 && ref !== "") return ref;
66
+ if (cliVersion === "0.0.0") return "main";
67
+ return `v${cliVersion}`;
68
+ }
69
+
70
+ export {
71
+ fetchRegistry,
72
+ fetchComponentSource,
73
+ resolveRef
74
+ };
75
+ //# sourceMappingURL=chunk-QTD5MDLV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/registry/readUrl.ts","../src/registry/fetchRegistry.ts","../src/registry/ref.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\nimport { fileURLToPath } from 'node:url'\n\n/**\n * Read a URL and return its contents as a UTF-8 string. Supports `file://`\n * and `http(s)://` schemes. Used internally by registry fetching and\n * component source fetching — the same code path serves dev (`file://`\n * pointing at the local registry) and production (`https://raw.githubusercontent.com/...`).\n */\nexport async function readUrl(url: string): Promise<string> {\n const parsed = new URL(url)\n\n if (parsed.protocol === 'file:') {\n const path = fileURLToPath(parsed)\n try {\n return await readFile(path, 'utf-8')\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === 'ENOENT') {\n throw new Error(`File not found: ${path}`)\n }\n throw err\n }\n }\n\n if (parsed.protocol === 'http:' || parsed.protocol === 'https:') {\n let res: Response\n try {\n res = await fetch(url)\n } catch (err) {\n throw new Error(`Failed to fetch ${url}: ${(err as Error).message}`)\n }\n if (!res.ok) {\n throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`)\n }\n return await res.text()\n }\n\n throw new Error(`Unsupported protocol: ${parsed.protocol} (only file://, http://, https:// are supported)`)\n}\n","import { readUrl } from './readUrl.js'\n\nexport interface RegistryEntry {\n file: string\n description?: string\n dependencies: string[]\n uses_primitives?: string[]\n tier: 1 | 2 | 3\n}\n\nexport interface Registry {\n version: string\n components: Record<string, RegistryEntry>\n}\n\n/**\n * Join a base URL with a relative filename, normalizing the trailing slash.\n * `joinUrl(\"https://x/registry\", \"foo.tsx\")` and `joinUrl(\"https://x/registry/\", \"foo.tsx\")`\n * both return `https://x/registry/foo.tsx`.\n */\nexport function joinUrl(base: string, file: string): string {\n const trimmed = base.endsWith('/') ? base.slice(0, -1) : base\n return `${trimmed}/${file}`\n}\n\n/**\n * Fetch and parse `registry.json` from a base registry URL.\n * The base URL points at the directory containing registry.json\n * (e.g. `file:///.../registry/` or\n * `https://raw.githubusercontent.com/lovo/matter/main/registry`).\n */\nexport async function fetchRegistry(baseUrl: string): Promise<Registry> {\n const url = joinUrl(baseUrl, 'registry.json')\n const json = await readUrl(url)\n let parsed: unknown\n try {\n parsed = JSON.parse(json)\n } catch (err) {\n throw new Error(\n `Registry at ${url} is not valid JSON: ${(err as Error).message}`,\n )\n }\n if (typeof parsed !== 'object' || parsed === null || !('components' in parsed)) {\n throw new Error(`Registry at ${url} is missing a \"components\" object`)\n }\n const components = (parsed as { components: unknown }).components\n if (typeof components !== 'object' || components === null || Array.isArray(components)) {\n throw new Error(`Registry at ${url} is missing a \"components\" object`)\n }\n return parsed as Registry\n}\n\n/**\n * Fetch the raw source of a component file referenced by a registry entry.\n */\nexport async function fetchComponentSource(baseUrl: string, file: string): Promise<string> {\n return await readUrl(joinUrl(baseUrl, file))\n}\n","/**\n * Resolve which git ref the CLI should fetch from.\n *\n * - If `ref` is supplied, use it verbatim.\n * - If the CLI version is `0.0.0`, default to `main` (development build —\n * no published v0.0.0 tag exists).\n * - Otherwise, default to `v<version>` (e.g. `0.1.0` → `v0.1.0`).\n *\n * This matches the shadcn pattern: the published CLI's default ref is the\n * version it was published at, so users aren't blindly tracking `main`.\n */\nexport function resolveRef(ref: string | undefined, cliVersion: string): string {\n if (ref !== undefined && ref !== '') return ref\n if (cliVersion === '0.0.0') return 'main'\n return `v${cliVersion}`\n}\n"],"mappings":";;;AAAA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAQ9B,eAAsB,QAAQ,KAA8B;AAC1D,QAAM,SAAS,IAAI,IAAI,GAAG;AAE1B,MAAI,OAAO,aAAa,SAAS;AAC/B,UAAM,OAAO,cAAc,MAAM;AACjC,QAAI;AACF,aAAO,MAAM,SAAS,MAAM,OAAO;AAAA,IACrC,SAAS,KAAK;AACZ,UAAK,IAA8B,SAAS,UAAU;AACpD,cAAM,IAAI,MAAM,mBAAmB,IAAI,EAAE;AAAA,MAC3C;AACA,YAAM;AAAA,IACR;AAAA,EACF;AAEA,MAAI,OAAO,aAAa,WAAW,OAAO,aAAa,UAAU;AAC/D,QAAI;AACJ,QAAI;AACF,YAAM,MAAM,MAAM,GAAG;AAAA,IACvB,SAAS,KAAK;AACZ,YAAM,IAAI,MAAM,mBAAmB,GAAG,KAAM,IAAc,OAAO,EAAE;AAAA,IACrE;AACA,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,IAAI,MAAM,mBAAmB,GAAG,KAAK,IAAI,MAAM,IAAI,IAAI,UAAU,EAAE;AAAA,IAC3E;AACA,WAAO,MAAM,IAAI,KAAK;AAAA,EACxB;AAEA,QAAM,IAAI,MAAM,yBAAyB,OAAO,QAAQ,kDAAkD;AAC5G;;;AClBO,SAAS,QAAQ,MAAc,MAAsB;AAC1D,QAAM,UAAU,KAAK,SAAS,GAAG,IAAI,KAAK,MAAM,GAAG,EAAE,IAAI;AACzD,SAAO,GAAG,OAAO,IAAI,IAAI;AAC3B;AAQA,eAAsB,cAAc,SAAoC;AACtE,QAAM,MAAM,QAAQ,SAAS,eAAe;AAC5C,QAAM,OAAO,MAAM,QAAQ,GAAG;AAC9B,MAAI;AACJ,MAAI;AACF,aAAS,KAAK,MAAM,IAAI;AAAA,EAC1B,SAAS,KAAK;AACZ,UAAM,IAAI;AAAA,MACR,eAAe,GAAG,uBAAwB,IAAc,OAAO;AAAA,IACjE;AAAA,EACF;AACA,MAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,EAAE,gBAAgB,SAAS;AAC9E,UAAM,IAAI,MAAM,eAAe,GAAG,mCAAmC;AAAA,EACvE;AACA,QAAM,aAAc,OAAmC;AACvD,MAAI,OAAO,eAAe,YAAY,eAAe,QAAQ,MAAM,QAAQ,UAAU,GAAG;AACtF,UAAM,IAAI,MAAM,eAAe,GAAG,mCAAmC;AAAA,EACvE;AACA,SAAO;AACT;AAKA,eAAsB,qBAAqB,SAAiB,MAA+B;AACzF,SAAO,MAAM,QAAQ,QAAQ,SAAS,IAAI,CAAC;AAC7C;;;AC9CO,SAAS,WAAW,KAAyB,YAA4B;AAC9E,MAAI,QAAQ,UAAa,QAAQ,GAAI,QAAO;AAC5C,MAAI,eAAe,QAAS,QAAO;AACnC,SAAO,IAAI,UAAU;AACvB;","names":[]}