From cc3260c0838f0187eb3d3f88ed94e466eb0a2150 Mon Sep 17 00:00:00 2001 From: Chris Tate Date: Wed, 8 Apr 2026 10:48:10 -0500 Subject: [PATCH] prepare v0.4.0 release - Bump all @visual-json/* packages to 0.4.0 - Replace changesets with manual single-PR release workflow - Add release.yml workflow (version check, multi-package publish, GitHub release) - Add version sync scripts (sync-version.mjs, check-version-sync.mjs) - Add version-sync check to CI - Add Releasing section to AGENTS.md - Write CHANGELOG.md with release markers - Update per-package changelogs and docs changelog --- .changeset/README.md | 8 - .changeset/config.json | 11 - .github/workflows/ci.yml | 3 + .github/workflows/release.yml | 134 ++++++ AGENTS.md | 15 + CHANGELOG.md | 90 ++++ apps/web/src/app/docs/changelog/page.mdx | 9 + package.json | 5 +- packages/@visual-json/core/CHANGELOG.md | 7 + packages/@visual-json/core/package.json | 2 +- packages/@visual-json/react/CHANGELOG.md | 7 + packages/@visual-json/react/package.json | 2 +- packages/@visual-json/svelte/CHANGELOG.md | 14 + packages/@visual-json/svelte/package.json | 5 +- packages/@visual-json/vue/CHANGELOG.md | 7 + packages/@visual-json/vue/package.json | 2 +- packages/@visual-json/yaml/CHANGELOG.md | 14 + packages/@visual-json/yaml/package.json | 2 +- pnpm-lock.yaml | 496 ---------------------- scripts/check-version-sync.mjs | 41 ++ scripts/sync-version.mjs | 38 ++ 21 files changed, 388 insertions(+), 524 deletions(-) delete mode 100644 .changeset/README.md delete mode 100644 .changeset/config.json create mode 100644 .github/workflows/release.yml create mode 100644 CHANGELOG.md create mode 100644 packages/@visual-json/svelte/CHANGELOG.md create mode 100644 packages/@visual-json/yaml/CHANGELOG.md create mode 100644 scripts/check-version-sync.mjs create mode 100644 scripts/sync-version.mjs diff --git a/.changeset/README.md b/.changeset/README.md deleted file mode 100644 index e5b6d8d..0000000 --- a/.changeset/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changesets - -Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works -with multi-package repos, or single-package repos to help you version and publish your code. You can -find the full documentation for it [in our repository](https://github.com/changesets/changesets) - -We have a quick list of common questions to get you started engaging with this project in -[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json deleted file mode 100644 index 2c9cc9b..0000000 --- a/.changeset/config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json", - "changelog": "@changesets/cli/changelog", - "commit": false, - "fixed": [], - "linked": [["@visual-json/core", "@visual-json/react", "@visual-json/vue"]], - "access": "public", - "baseBranch": "main", - "updateInternalDependencies": "patch", - "ignore": ["@visual-json/web", "@visual-json/example-react", "@visual-json/example-vue", "@visual-json/example-svelte"] -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c62f28..a9b13b4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,9 @@ jobs: - run: pnpm install --frozen-lockfile + - name: Check version sync + run: node scripts/check-version-sync.mjs + - run: pnpm lint - run: pnpm type-check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..fa01331 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,134 @@ +name: Release + +on: + push: + branches: + - main + workflow_dispatch: + +concurrency: ${{ github.workflow }}-${{ github.ref }} + +permissions: + contents: write + +jobs: + check-release: + name: Check for new version + runs-on: ubuntu-latest + outputs: + should_release: ${{ steps.check.outputs.should_release }} + version: ${{ steps.check.outputs.version }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Compare version to registry + id: check + run: | + LOCAL_VERSION=$(node -p "require('./packages/@visual-json/core/package.json').version") + echo "Local version: $LOCAL_VERSION" + + NPM_VERSION=$(npm view @visual-json/core version 2>/dev/null || echo "0.0.0") + echo "Registry version: $NPM_VERSION" + + if [ "$LOCAL_VERSION" != "$NPM_VERSION" ]; then + echo "Version changed: $NPM_VERSION -> $LOCAL_VERSION" + echo "should_release=true" >> "$GITHUB_OUTPUT" + else + echo "Version unchanged, skipping release" + echo "should_release=false" >> "$GITHUB_OUTPUT" + fi + echo "version=$LOCAL_VERSION" >> "$GITHUB_OUTPUT" + + publish: + name: Publish + needs: check-release + if: needs.check-release.outputs.should_release == 'true' + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: pnpm + registry-url: "https://registry.npmjs.org" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build + run: pnpm build + + - name: Publish @visual-json/core + run: pnpm publish --no-git-checks + working-directory: packages/@visual-json/core + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish @visual-json/react + run: pnpm publish --no-git-checks + working-directory: packages/@visual-json/react + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish @visual-json/vue + run: pnpm publish --no-git-checks + working-directory: packages/@visual-json/vue + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish @visual-json/svelte + run: pnpm publish --no-git-checks + working-directory: packages/@visual-json/svelte + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish @visual-json/yaml + run: pnpm publish --no-git-checks + working-directory: packages/@visual-json/yaml + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + github-release: + name: Create GitHub Release + needs: [check-release, publish] + if: needs.check-release.outputs.should_release == 'true' + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Extract changelog entry + run: | + VERSION="${{ needs.check-release.outputs.version }}" + + awk '//{found=1; next} //{found=0} found{print}' CHANGELOG.md > /tmp/release-notes.md + + LINES=$(wc -l < /tmp/release-notes.md | tr -d ' ') + if [ "$LINES" -lt 2 ]; then + echo "Error: No release notes found between and markers in CHANGELOG.md" + exit 1 + fi + echo "Extracted release notes for $VERSION ($LINES lines)" + + - name: Create GitHub Release + run: | + VERSION="${{ needs.check-release.outputs.version }}" + TAG="v$VERSION" + + if gh release view "$TAG" &>/dev/null; then + echo "Release $TAG already exists, skipping" + else + echo "Creating release $TAG..." + gh release create "$TAG" \ + --title "$TAG" \ + --notes-file /tmp/release-notes.md + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/AGENTS.md b/AGENTS.md index cc54316..1d30f61 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -52,6 +52,21 @@ When adding a new example that runs a dev server, wrap its `dev` script with `po Do **not** add `--port` flags -- portless handles port assignment automatically. Do **not** add portless as a project dependency; it must be installed globally. +## Releasing + +Releases are manual, single-PR affairs. There is no changesets automation. The maintainer controls the changelog voice and format. + +To prepare a release: + +1. Create a branch (e.g. `prepare-v0.5.0`) +2. Bump `version` in `packages/@visual-json/core/package.json` +3. Run `pnpm version:sync` to update all other `@visual-json/*` packages +4. Write the changelog entry in `CHANGELOG.md` at the top, under a new `## ` heading, wrapped in `` and `` markers. Remove the markers from the previous release entry so only the new release has markers. +5. Add a matching entry to `apps/web/src/app/docs/changelog/page.mdx` at the top (below the `# Changelog` heading) +6. Open a PR and merge to `main` + +When the PR merges, CI compares `packages/@visual-json/core/package.json` version to what's on npm. If it differs, it builds, publishes all `@visual-json/*` packages, and creates the GitHub release automatically. The GitHub release body is extracted from the content between the `` and `` markers in `CHANGELOG.md`. + ## Documentation Use HTML `` elements for tables in all documentation files (README.md, MDX docs). Do not use markdown pipe tables. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..11ee373 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,90 @@ +# Changelog + +## 0.4.0 + + +### New Features + +- **YAML support** — New `@visual-json/yaml` package for parsing, serializing, and round-tripping YAML through the visual-json tree model. The VS Code extension now opens `.yaml` and `.yml` files with the same tree and form views used for JSON (#29) +- **YAML schema detection** — `resolveSchema` in `@visual-json/core` now recognizes well-known YAML filenames (`docker-compose.yml`, `.gitlab-ci.yml`, `pnpm-workspace.yaml`, etc.) and glob patterns (`.github/workflows/*.yml`, `.github/actions/*/action.yml`) for automatic schema-aware editing (#29) +- **Svelte support** — New `@visual-json/svelte` package with Svelte 5 components mirroring the React and Vue packages (#24) + +### Improvements + +- **Smoother sidebar resize** — Sidebar resizing is now more responsive and fluid (#30) + +### Bug Fixes + +- Fixed **React and Vue README links** not pointing to the default variable list (#27) + +### Contributors + +- @ctate +- @lucianfialho +- @MatanBobi +- @wobsoriano + + +## 0.3.1 + +### Bug Fixes + +- Fixed published packages containing unresolved `workspace:*` dependencies + +## 0.3.0 + +### New Features + +- **Vue support** — New `@visual-json/vue` package with `VisualJson`, `JsonEditor`, `TreeView`, `FormView`, `DiffView`, `SearchBar`, `Breadcrumbs`, and `ContextMenu` components for Vue 3. + +### Internal + +- Refactored monorepo package structure: packages moved under `packages/@visual-json/` namespace. +- Shared UI utilities (diff, drag-and-drop, form, tree helpers, theme) extracted to `@internal/ui` for cross-framework reuse. + +## 0.2.0 + +### New Features + +- **Multi-select** — Shift-click range selection, cmd/ctrl-click toggle, and bulk drag-and-drop reordering in TreeView. +- **Enum dropdowns** — Schema-aware enum dropdowns in FormView, including boolean enums. +- **VS Code extension** — Breadcrumbs, form view, and search bar adapted for the VS Code webview. + +### Bug Fixes + +- Prevent dropping a node into its own descendants. +- Sync tree mode edits to raw mode. +- Fix mobile focus issues in breadcrumbs, form view, and search bar. + +### Internal + +- `isDescendant` utility moved to `@visual-json/core` with unit tests. +- New operations: `insertProperty`, `insertNode`, `reorderChildrenMulti`, `buildSubtree`, `reparentSubtree`. + +## 0.1.1 + +### Bug Fixes + +- Fix published package configuration. + +## 0.1.0 + +Initial release. + +### `@visual-json/core` + +- JSON-to-tree model (`fromJson` / `toJson`) with stable node IDs. +- Full mutation API: `setValue`, `setKey`, `addProperty`, `removeNode`, `moveNode`, `reorderChildren`, `changeType`, `duplicateNode`. +- Undo / redo via `History` class. +- Tree search with `searchNodes`. +- JSON Schema resolution and per-node validation (`resolveSchema`, `validateNode`). + +### `@visual-json/react` + +- `VisualJson` context provider with state management, history, and search. +- `JsonEditor` wrapper component for quick integration. +- `TreeView` — collapsible tree editor with keyboard navigation and drag-and-drop. +- `FormView` — inline schema-aware form editor. +- `SearchBar` — search with match navigation, expand/collapse controls. +- `Breadcrumbs` — path-based breadcrumb navigation. +- `ContextMenu` — right-click context menu for node operations. diff --git a/apps/web/src/app/docs/changelog/page.mdx b/apps/web/src/app/docs/changelog/page.mdx index f3d8d59..005850f 100644 --- a/apps/web/src/app/docs/changelog/page.mdx +++ b/apps/web/src/app/docs/changelog/page.mdx @@ -8,6 +8,15 @@ export { metadata } from "./metadata"; - **YAML support** — new `@visual-json/yaml` package for parsing, serializing, and round-tripping YAML through the visual-json tree model. The VS Code extension now opens `.yaml` and `.yml` files with the same tree and form views used for JSON. - **YAML schema detection** — `resolveSchema` in `@visual-json/core` now recognizes well-known YAML filenames (`docker-compose.yml`, `.gitlab-ci.yml`, `pnpm-workspace.yaml`, etc.) and glob patterns (`.github/workflows/*.yml`, `.github/actions/*/action.yml`) for automatic schema-aware editing. +- **Svelte support** — new `@visual-json/svelte` package with Svelte 5 components mirroring the React and Vue packages. + +### Improvements + +- **Smoother sidebar resize** — sidebar resizing is now more responsive and fluid. + +### Fixes + +- Fixed React and Vue README links not pointing to the default variable list. --- diff --git a/package.json b/package.json index 395014c..3597960 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,9 @@ "test": "vitest run", "test:watch": "vitest", "prepare": "husky", - "changeset": "changeset", - "ci:version": "changeset version && pnpm install --no-frozen-lockfile", - "ci:publish": "pnpm run build && changeset publish" + "version:sync": "node scripts/sync-version.mjs" }, "devDependencies": { - "@changesets/cli": "2.29.8", "@eslint/js": "^10.0.1", "eslint": "^10.0.1", "eslint-plugin-svelte": "^3.15.0", diff --git a/packages/@visual-json/core/CHANGELOG.md b/packages/@visual-json/core/CHANGELOG.md index 90bb86f..9248608 100644 --- a/packages/@visual-json/core/CHANGELOG.md +++ b/packages/@visual-json/core/CHANGELOG.md @@ -1,5 +1,12 @@ # @visual-json/core +## 0.4.0 + +### Minor Changes + +- YAML schema detection — `resolveSchema` now recognizes well-known YAML filenames and glob patterns for automatic schema-aware editing. +- Smoother sidebar resize handling. + ## 0.3.1 ### Patch Changes diff --git a/packages/@visual-json/core/package.json b/packages/@visual-json/core/package.json index 1371a09..02bf83a 100644 --- a/packages/@visual-json/core/package.json +++ b/packages/@visual-json/core/package.json @@ -1,6 +1,6 @@ { "name": "@visual-json/core", - "version": "0.3.1", + "version": "0.4.0", "license": "Apache-2.0", "description": "Headless core for visual-json — the visual JSON editor. Schema-aware, embeddable, extensible.", "keywords": [ diff --git a/packages/@visual-json/react/CHANGELOG.md b/packages/@visual-json/react/CHANGELOG.md index e3188a3..fb5d30f 100644 --- a/packages/@visual-json/react/CHANGELOG.md +++ b/packages/@visual-json/react/CHANGELOG.md @@ -1,5 +1,12 @@ # @visual-json/react +## 0.4.0 + +### Patch Changes + +- Updated dependencies + - @visual-json/core@0.4.0 + ## 0.3.1 ### Patch Changes diff --git a/packages/@visual-json/react/package.json b/packages/@visual-json/react/package.json index b3d5bfe..9bdeb98 100644 --- a/packages/@visual-json/react/package.json +++ b/packages/@visual-json/react/package.json @@ -1,6 +1,6 @@ { "name": "@visual-json/react", - "version": "0.3.1", + "version": "0.4.0", "license": "Apache-2.0", "description": "React components for visual-json — the visual JSON editor. Schema-aware, embeddable, extensible.", "keywords": [ diff --git a/packages/@visual-json/svelte/CHANGELOG.md b/packages/@visual-json/svelte/CHANGELOG.md new file mode 100644 index 0000000..34db636 --- /dev/null +++ b/packages/@visual-json/svelte/CHANGELOG.md @@ -0,0 +1,14 @@ +# @visual-json/svelte + +## 0.4.0 + +### Minor Changes + +- Initial release of `@visual-json/svelte` — Svelte 5 components for visual-json. +- `VisualJson` context provider with state management, history, and search. +- `JsonEditor` wrapper component for quick integration. +- `TreeView` — collapsible tree editor with keyboard navigation and drag-and-drop. +- `FormView` — inline schema-aware form editor. +- `SearchBar` — search with match navigation, expand/collapse controls. +- `Breadcrumbs` — path-based breadcrumb navigation. +- `ContextMenu` — right-click context menu for node operations. diff --git a/packages/@visual-json/svelte/package.json b/packages/@visual-json/svelte/package.json index 291d330..a7c4f3f 100644 --- a/packages/@visual-json/svelte/package.json +++ b/packages/@visual-json/svelte/package.json @@ -1,8 +1,11 @@ { "name": "@visual-json/svelte", - "version": "0.0.0", + "version": "0.4.0", "license": "Apache-2.0", "description": "Svelte components for visual-json — the visual JSON editor. Schema-aware, embeddable, extensible.", + "publishConfig": { + "access": "public" + }, "scripts": { "prepack": "node ../../../scripts/resolve-workspace-deps.mjs", "postpack": "node ../../../scripts/restore-package-json.mjs", diff --git a/packages/@visual-json/vue/CHANGELOG.md b/packages/@visual-json/vue/CHANGELOG.md index a2cf1f5..0bc9049 100644 --- a/packages/@visual-json/vue/CHANGELOG.md +++ b/packages/@visual-json/vue/CHANGELOG.md @@ -1,5 +1,12 @@ # @visual-json/vue +## 0.4.0 + +### Patch Changes + +- Updated dependencies + - @visual-json/core@0.4.0 + ## 0.3.1 ### Patch Changes diff --git a/packages/@visual-json/vue/package.json b/packages/@visual-json/vue/package.json index 10ff5a5..966069f 100644 --- a/packages/@visual-json/vue/package.json +++ b/packages/@visual-json/vue/package.json @@ -1,6 +1,6 @@ { "name": "@visual-json/vue", - "version": "0.3.1", + "version": "0.4.0", "license": "Apache-2.0", "description": "Vue 3 components for visual-json — the visual JSON editor. Schema-aware, embeddable, extensible.", "keywords": [ diff --git a/packages/@visual-json/yaml/CHANGELOG.md b/packages/@visual-json/yaml/CHANGELOG.md new file mode 100644 index 0000000..312a857 --- /dev/null +++ b/packages/@visual-json/yaml/CHANGELOG.md @@ -0,0 +1,14 @@ +# @visual-json/yaml + +## 0.4.0 + +### Minor Changes + +- YAML parsing, serialization, and round-tripping through the visual-json tree model. +- Schema detection for well-known YAML filenames and glob patterns. + +## 0.0.1 + +### Patch Changes + +- Initial release diff --git a/packages/@visual-json/yaml/package.json b/packages/@visual-json/yaml/package.json index 039ec9a..768008f 100644 --- a/packages/@visual-json/yaml/package.json +++ b/packages/@visual-json/yaml/package.json @@ -1,6 +1,6 @@ { "name": "@visual-json/yaml", - "version": "0.0.1", + "version": "0.4.0", "license": "Apache-2.0", "description": "YAML support for visual-json — parse, serialize, and schema-detect YAML files.", "keywords": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bfcfb97..ff328ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,6 @@ importers: .: devDependencies: - '@changesets/cli': - specifier: 2.29.8 - version: 2.29.8(@types/node@25.3.0) '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.0.1(jiti@2.6.1)) @@ -590,10 +587,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.6': - resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} - engines: {node: '>=6.9.0'} - '@babel/template@7.28.6': resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} @@ -613,61 +606,6 @@ packages: '@borewit/text-codec@0.2.1': resolution: {integrity: sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==} - '@changesets/apply-release-plan@7.0.14': - resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} - - '@changesets/assemble-release-plan@6.0.9': - resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - - '@changesets/changelog-git@0.2.1': - resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - - '@changesets/cli@2.29.8': - resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==} - hasBin: true - - '@changesets/config@3.1.2': - resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==} - - '@changesets/errors@0.2.0': - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - - '@changesets/get-release-plan@4.0.14': - resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==} - - '@changesets/get-version-range-type@0.4.0': - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - - '@changesets/git@3.0.4': - resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - - '@changesets/logger@0.1.1': - resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - - '@changesets/parse@0.4.2': - resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==} - - '@changesets/pre@2.0.2': - resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - - '@changesets/read@0.6.6': - resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==} - - '@changesets/should-skip-package@0.1.2': - resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} - - '@changesets/types@4.1.0': - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - - '@changesets/types@6.1.0': - resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - - '@changesets/write@0.4.0': - resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@dotenvx/dotenvx@1.52.0': resolution: {integrity: sha512-CaQcc8JvtzQhUSm9877b6V4Tb7HCotkcyud9X2YwdqtQKwgljkMRwU96fVYKnzN3V0Hj74oP7Es+vZ0mS+Aa1w==} hasBin: true @@ -1253,15 +1191,6 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@1.0.3': - resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/figures@1.0.15': resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} engines: {node: '>=18'} @@ -1296,12 +1225,6 @@ packages: peerDependencies: svelte: ^5.0.0 - '@manypkg/find-root@1.1.0': - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} - - '@manypkg/get-packages@1.1.3': - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@mdx-js/loader@3.1.1': resolution: {integrity: sha512-0TTacJyZ9mDmY+VefuthVshaNIyCGZHJG2fMnGaDttCt8HmjUF7SizlHJpaCDoGnN635nK1wpzfpx/Xx5S4WnQ==} peerDependencies: @@ -2533,9 +2456,6 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@12.20.55': - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@25.3.0': resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} @@ -2873,10 +2793,6 @@ packages: resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} engines: {node: '>=0.4.2'} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-escapes@7.3.0: resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} @@ -2918,10 +2834,6 @@ packages: resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} engines: {node: '>= 0.4'} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -2969,10 +2881,6 @@ packages: just-bash: optional: true - better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -3055,9 +2963,6 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -3069,10 +2974,6 @@ packages: chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} @@ -3278,10 +3179,6 @@ packages: destr@2.0.5: resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -3299,10 +3196,6 @@ packages: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dotenv@17.3.1: resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} @@ -3341,10 +3234,6 @@ packages: resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} @@ -3560,9 +3449,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3619,10 +3505,6 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -3656,14 +3538,6 @@ packages: resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} engines: {node: '>=14.14'} - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -3743,10 +3617,6 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -3836,10 +3706,6 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - human-id@4.1.3: - resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} - hasBin: true - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -3991,10 +3857,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} - is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -4003,10 +3865,6 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - is-wsl@3.1.1: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} @@ -4077,9 +3935,6 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} @@ -4217,17 +4072,10 @@ packages: locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash@4.17.23: resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} @@ -4661,43 +4509,17 @@ packages: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} - p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-manager-detector@0.2.11: - resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - package-manager-detector@1.6.0: resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} @@ -4750,10 +4572,6 @@ packages: path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -4776,10 +4594,6 @@ packages: engines: {node: '>=0.10'} hasBin: true - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -4878,11 +4692,6 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - prettier@3.8.1: resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} @@ -4994,10 +4803,6 @@ packages: resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} - read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -5221,10 +5026,6 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slice-ansi@7.1.2: resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} engines: {node: '>=18'} @@ -5248,9 +5049,6 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawndamnit@3.0.1: - resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -5433,10 +5231,6 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -5660,10 +5454,6 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -6217,8 +6007,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/runtime@7.28.6': {} - '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 @@ -6256,150 +6044,6 @@ snapshots: '@borewit/text-codec@0.2.1': {} - '@changesets/apply-release-plan@7.0.14': - dependencies: - '@changesets/config': 3.1.2 - '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.4 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.8 - resolve-from: 5.0.0 - semver: 7.7.4 - - '@changesets/assemble-release-plan@6.0.9': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - semver: 7.7.4 - - '@changesets/changelog-git@0.2.1': - dependencies: - '@changesets/types': 6.1.0 - - '@changesets/cli@2.29.8(@types/node@25.3.0)': - dependencies: - '@changesets/apply-release-plan': 7.0.14 - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.2 - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.14 - '@changesets/git': 3.0.4 - '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.6 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.3(@types/node@25.3.0) - '@manypkg/get-packages': 1.1.3 - ansi-colors: 4.1.3 - ci-info: 3.9.0 - enquirer: 2.4.1 - fs-extra: 7.0.1 - mri: 1.2.0 - p-limit: 2.3.0 - package-manager-detector: 0.2.11 - picocolors: 1.1.1 - resolve-from: 5.0.0 - semver: 7.7.4 - spawndamnit: 3.0.1 - term-size: 2.2.1 - transitivePeerDependencies: - - '@types/node' - - '@changesets/config@3.1.2': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/logger': 0.1.1 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.8 - - '@changesets/errors@0.2.0': - dependencies: - extendable-error: 0.1.7 - - '@changesets/get-dependents-graph@2.1.3': - dependencies: - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.1 - semver: 7.7.4 - - '@changesets/get-release-plan@4.0.14': - dependencies: - '@changesets/assemble-release-plan': 6.0.9 - '@changesets/config': 3.1.2 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.6 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/get-version-range-type@0.4.0': {} - - '@changesets/git@3.0.4': - dependencies: - '@changesets/errors': 0.2.0 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.8 - spawndamnit: 3.0.1 - - '@changesets/logger@0.1.1': - dependencies: - picocolors: 1.1.1 - - '@changesets/parse@0.4.2': - dependencies: - '@changesets/types': 6.1.0 - js-yaml: 4.1.1 - - '@changesets/pre@2.0.2': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - - '@changesets/read@0.6.6': - dependencies: - '@changesets/git': 3.0.4 - '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.2 - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - p-filter: 2.1.0 - picocolors: 1.1.1 - - '@changesets/should-skip-package@0.1.2': - dependencies: - '@changesets/types': 6.1.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/types@4.1.0': {} - - '@changesets/types@6.1.0': {} - - '@changesets/write@0.4.0': - dependencies: - '@changesets/types': 6.1.0 - fs-extra: 7.0.1 - human-id: 4.1.3 - prettier: 2.8.8 - '@dotenvx/dotenvx@1.52.0': dependencies: commander: 11.1.0 @@ -6774,13 +6418,6 @@ snapshots: optionalDependencies: '@types/node': 25.3.0 - '@inquirer/external-editor@1.0.3(@types/node@25.3.0)': - dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.2 - optionalDependencies: - '@types/node': 25.3.0 - '@inquirer/figures@1.0.15': {} '@inquirer/type@3.0.10(@types/node@25.3.0)': @@ -6810,22 +6447,6 @@ snapshots: dependencies: svelte: 5.53.7 - '@manypkg/find-root@1.1.0': - dependencies: - '@babel/runtime': 7.28.6 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 - - '@manypkg/get-packages@1.1.3': - dependencies: - '@babel/runtime': 7.28.6 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 - '@mdx-js/loader@3.1.1': dependencies: '@mdx-js/mdx': 3.1.1 @@ -8098,8 +7719,6 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@12.20.55': {} - '@types/node@25.3.0': dependencies: undici-types: 7.18.2 @@ -8581,8 +8200,6 @@ snapshots: amdefine@1.0.1: {} - ansi-colors@4.1.3: {} - ansi-escapes@7.3.0: dependencies: environment: 1.1.0 @@ -8613,8 +8230,6 @@ snapshots: aria-query@5.3.1: {} - array-union@2.1.0: {} - assertion-error@2.0.1: {} ast-types@0.16.1: @@ -8645,10 +8260,6 @@ snapshots: optionalDependencies: just-bash: 2.10.2 - better-path-resolve@1.0.0: - dependencies: - is-windows: 1.0.2 - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -8737,8 +8348,6 @@ snapshots: character-reference-invalid@2.0.1: {} - chardet@2.1.1: {} - chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -8750,8 +8359,6 @@ snapshots: chownr@1.1.4: optional: true - ci-info@3.9.0: {} - class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 @@ -8902,8 +8509,6 @@ snapshots: destr@2.0.5: {} - detect-indent@6.1.0: {} - detect-libc@2.1.2: {} detect-node-es@1.1.0: {} @@ -8916,10 +8521,6 @@ snapshots: diff@8.0.3: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dotenv@17.3.1: {} dunder-proto@1.0.1: @@ -8957,11 +8558,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - entities@6.0.1: {} entities@7.0.1: {} @@ -9292,8 +8888,6 @@ snapshots: extend@3.0.2: {} - extendable-error@0.1.7: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -9359,11 +8953,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -9399,18 +8988,6 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fs-extra@7.0.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs-extra@8.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - fsevents@2.3.2: optional: true @@ -9477,15 +9054,6 @@ snapshots: globals@16.5.0: {} - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -9652,8 +9220,6 @@ snapshots: transitivePeerDependencies: - supports-color - human-id@4.1.3: {} - human-signals@2.1.0: {} human-signals@8.0.1: {} @@ -9753,16 +9319,10 @@ snapshots: is-stream@4.0.1: {} - is-subdir@1.2.0: - dependencies: - better-path-resolve: 1.0.0 - is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} - is-windows@1.0.2: {} - is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -9810,10 +9370,6 @@ snapshots: jsonc-parser@3.3.1: {} - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - jsonfile@6.2.0: dependencies: universalify: 2.0.1 @@ -9948,16 +9504,10 @@ snapshots: locate-character@3.0.0: {} - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - locate-path@6.0.0: dependencies: p-locate: 5.0.0 - lodash.startcase@4.4.0: {} - lodash@4.17.23: {} log-symbols@6.0.0: @@ -10669,38 +10219,16 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.2 - outdent@0.5.0: {} - outvariant@1.4.3: {} - p-filter@2.1.0: - dependencies: - p-map: 2.1.0 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - p-locate@5.0.0: dependencies: p-limit: 3.1.0 - p-map@2.1.0: {} - - p-try@2.2.0: {} - - package-manager-detector@0.2.11: - dependencies: - quansync: 0.2.11 - package-manager-detector@1.6.0: {} papaparse@5.5.3: {} @@ -10748,8 +10276,6 @@ snapshots: path-to-regexp@8.3.0: {} - path-type@4.0.0: {} - pathe@2.0.3: {} perfect-debounce@2.1.0: {} @@ -10762,8 +10288,6 @@ snapshots: pidtree@0.6.0: {} - pify@4.0.1: {} - pirates@4.0.7: {} pkce-challenge@5.0.1: {} @@ -10853,8 +10377,6 @@ snapshots: prettier: 3.8.1 svelte: 5.53.7 - prettier@2.8.8: {} - prettier@3.8.1: {} pretty-ms@9.3.0: @@ -11014,13 +10536,6 @@ snapshots: react@19.2.4: {} - read-yaml-file@1.1.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.2 - pify: 4.0.1 - strip-bom: 3.0.0 - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -11415,8 +10930,6 @@ snapshots: sisteransi@1.0.5: {} - slash@3.0.0: {} - slice-ansi@7.1.2: dependencies: ansi-styles: 6.2.3 @@ -11432,11 +10945,6 @@ snapshots: space-separated-tokens@2.0.2: {} - spawndamnit@3.0.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - sprintf-js@1.0.3: {} sprintf-js@1.1.3: {} @@ -11649,8 +11157,6 @@ snapshots: readable-stream: 3.6.2 optional: true - term-size@2.2.1: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -11881,8 +11387,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universalify@0.1.2: {} - universalify@2.0.1: {} unocss@66.6.2(vite@6.4.1(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)): diff --git a/scripts/check-version-sync.mjs b/scripts/check-version-sync.mjs new file mode 100644 index 0000000..a0ceea9 --- /dev/null +++ b/scripts/check-version-sync.mjs @@ -0,0 +1,41 @@ +#!/usr/bin/env node + +/** + * Verifies that all @visual-json/* packages have the same version. + * Used in CI to catch version drift. + */ + +import { readFileSync } from "fs"; +import { dirname, join } from "path"; +import { fileURLToPath } from "url"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const rootDir = join(__dirname, ".."); +const packagesDir = join(rootDir, "packages", "@visual-json"); + +const corePackageJson = JSON.parse( + readFileSync(join(packagesDir, "core", "package.json"), "utf-8"), +); +const version = corePackageJson.version; + +const packages = ["react", "vue", "svelte", "yaml"]; +const mismatches = []; + +for (const pkg of packages) { + const pkgJsonPath = join(packagesDir, pkg, "package.json"); + const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf-8")); + if (pkgJson.version !== version) { + mismatches.push(` @visual-json/${pkg}: ${pkgJson.version}`); + } +} + +if (mismatches.length > 0) { + console.error("Version mismatch detected!"); + console.error(` @visual-json/core: ${version}`); + for (const m of mismatches) console.error(m); + console.error(""); + console.error("Run 'pnpm run version:sync' to fix this."); + process.exit(1); +} + +console.log(`All @visual-json/* packages are in sync: ${version}`); diff --git a/scripts/sync-version.mjs b/scripts/sync-version.mjs new file mode 100644 index 0000000..94be192 --- /dev/null +++ b/scripts/sync-version.mjs @@ -0,0 +1,38 @@ +#!/usr/bin/env node + +/** + * Syncs the version from @visual-json/core to all other @visual-json/* packages. + * Run this script after bumping the version in packages/@visual-json/core/package.json. + */ + +import { readFileSync, writeFileSync } from "fs"; +import { dirname, join } from "path"; +import { fileURLToPath } from "url"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const rootDir = join(__dirname, ".."); +const packagesDir = join(rootDir, "packages", "@visual-json"); + +const corePackageJson = JSON.parse( + readFileSync(join(packagesDir, "core", "package.json"), "utf-8"), +); +const version = corePackageJson.version; + +console.log(`Syncing version ${version} to all @visual-json/* packages...`); + +const packages = ["react", "vue", "svelte", "yaml"]; + +for (const pkg of packages) { + const pkgJsonPath = join(packagesDir, pkg, "package.json"); + const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf-8")); + if (pkgJson.version !== version) { + const oldVersion = pkgJson.version; + pkgJson.version = version; + writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + "\n"); + console.log(` Updated @visual-json/${pkg}: ${oldVersion} -> ${version}`); + } else { + console.log(` @visual-json/${pkg} already up to date`); + } +} + +console.log("Version sync complete.");