From c11d033e57e4b3b2a33b7180c14aebf58d702f51 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 15:56:53 +0300 Subject: [PATCH 01/11] chore(deps): adopt managed ras-stack v5 --- .github/workflows/ci.yml | 2 +- .gitignore | 3 + .oxlintrc.json | 7 +- .pnpmfile.cjs | 46 +++ .prettierignore | 1 + CONTRIBUTING.md | 6 + justfile | 1 + package.json | 35 +-- pnpm-lock.yaml | 607 ++++++++++++++++++++------------------- pnpm-workspace.yaml | 7 +- ras.config.ts | 6 + ras.lock | 81 ++++++ tsconfig.json | 2 +- 13 files changed, 478 insertions(+), 326 deletions(-) create mode 100644 .pnpmfile.cjs create mode 100644 .prettierignore create mode 100644 ras.config.ts create mode 100644 ras.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9077791..9e7c7ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: check: uses: richardsolomou/ras-stack/.github/workflows/check-js.yml@v1 with: - command: just check + command: pnpm exec ras prepare && just check just-version: '1.58.0' end-to-end: diff --git a/.gitignore b/.gitignore index ab860d1..0124063 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ test-results playwright-report *.local .DS_Store +.ras/ +.ras-*/ +.ras-install.lock/ diff --git a/.oxlintrc.json b/.oxlintrc.json index 392303c..bad5a6e 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -1,9 +1,6 @@ { "$schema": "./node_modules/oxlint/configuration_schema.json", - "extends": [ - "./node_modules/ras-stack-config/config/oxlint/application.json", - "./node_modules/ras-stack-config/config/oxlint/domain.json" - ], + "extends": ["./.ras/oxlint.json"], "overrides": [ { "files": ["src/components/ui/**"], @@ -17,5 +14,5 @@ } } ], - "ignorePatterns": ["dist/**", "node_modules/**"] + "ignorePatterns": ["dist/**", "node_modules/**", ".ras/**", ".pnpmfile.cjs"] } diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs new file mode 100644 index 0000000..580af06 --- /dev/null +++ b/.pnpmfile.cjs @@ -0,0 +1,46 @@ +// Generated by ras install. Commit this file with ras.lock and pnpm-lock.yaml. +const dependencies = { + "@playwright/test": "1.64.0", + "@posthog/react": "1.11.3", + "@types/node": "26.2.0", + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", + "@vitejs/plugin-react": "6.1.2", + "@vitest/coverage-v8": "5.0.3", + "oxfmt": "0.72.0", + "oxlint": "1.87.0", + "oxlint-tsgolint": "7.0.2004", + "posthog-js": "1.438.12", + "react": "19.3.0", + "react-dom": "19.3.0", + "typescript": "7.0.2", + "vite": "8.3.4", + "vitest": "5.0.3" +}; +const allowBuilds = []; +module.exports = { + hooks: { + updateConfig(config) { + for (const [name, version] of Object.entries(dependencies)) { + if (config.overrides?.[name] && config.overrides[name] !== version) { + throw new Error('Consumer override conflicts with managed ' + name) + } + } + for (const name of allowBuilds) { + if (config.allowBuilds?.[name] === false) throw new Error('Consumer build policy denies ' + name) + } + return { + ...config, + publicHoistPattern: [...new Set([...(config.publicHoistPattern ?? []), ...Object.keys(dependencies)])], + overrides: { ...config.overrides, ...dependencies }, + allowBuilds: { ...Object.fromEntries(Object.keys(dependencies).map(name => [name, false])), ...config.allowBuilds, ...Object.fromEntries(allowBuilds.map(name => [name, true])) }, + } + }, + readPackage(pkg) { + if (pkg.name === 'ras-stack') { + pkg.dependencies = { ...pkg.dependencies, ...dependencies } + } + return pkg + }, + }, +}; diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d56dedc --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +/.pnpmfile.cjs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f0e545..f0caf64 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -77,3 +77,9 @@ Production setup and verification live in the [Cloudflare deployment guide](docs ## Shared infrastructure checks The shared Oxlint domain preset restricts Node and framework imports in `src/core/geometry`; test files can still load real geometry fixtures. `.oxlintrc.json` is the active lint configuration. `ras changesets check` validates existing Changesets without requiring a release note for every change. The PostHog wiring test imports the real application entrypoint and verifies the provider configuration passed by the app. + +## Managed dependencies and tools + +Select shared integrations and tools in `ras.config.ts`. RAS owns their tested versions; application code keeps its upstream imports. Compiler and linter overrides extend the generated `.ras` configuration. Keep application-specific dependencies in `package.json`. + +After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `ras.lock`, `.pnpmfile.cjs`, `.prettierignore`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. diff --git a/justfile b/justfile index c63d1bf..46f17f6 100644 --- a/justfile +++ b/justfile @@ -4,6 +4,7 @@ default: install: corepack enable pnpm install + pnpm exec ras prepare dev: pnpm dev diff --git a/package.json b/package.json index a01fa32..ad1a5de 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,15 @@ }, "type": "module", "scripts": { - "dev": "vite", - "build": "vite build", + "dev": "ras dev", + "build": "ras build", "preview": "vite preview", - "typecheck": "tsc --noEmit", - "lint": "oxlint --deny-warnings .", - "lint:fix": "oxlint --fix .", - "format": "oxfmt --write .", - "format:check": "oxfmt --check .", - "test": "vitest run", + "typecheck": "ras typecheck", + "lint": "ras exec -- oxlint --deny-warnings .", + "lint:fix": "ras exec -- oxlint --fix .", + "format": "ras format .", + "format:check": "ras format --check .", + "test": "ras test", "samples": "tsx scripts/exportSamples.ts", "changeset": "changeset", "version-packages": "changeset version", @@ -35,40 +35,25 @@ "@base-ui/react": "^1.9.0", "@fontsource/azeret-mono": "^5.3.0", "@fontsource/barlow-semi-condensed": "^5.3.0", - "@posthog/react": "^1.11.3", "class-variance-authority": "^0.7.1", "cn": "^0.4.0", "fflate": "^0.8.3", "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "posthog-js": "^1.438.8", - "ras-stack": "^4.0.0", - "react": "^19.3.0", - "react-dom": "^19.3.0", + "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#88386db224c7550980746392855aa3053fb59afc&path:/packages/ras-stack", "three": "^0.186.1" }, "devDependencies": { "@changesets/cli": "3.0.3", - "@playwright/test": "^1.64.0", "@posthog/rollup-plugin": "^1.6.1", "@tailwindcss/vite": "^4.3.3", - "@types/node": "^26.6.5", "@types/opentype.js": "^1.3.10", - "@types/react": "^19.3.0", - "@types/react-dom": "^19.3.0", "@types/three": "^0.186.0", - "@vitejs/plugin-react": "^6.1.2", - "oxfmt": "^0.72.0", - "oxlint": "^1.87.0", - "ras-stack-config": "^3.0.0", "shadcn": "^4.21.4", "tailwindcss": "^4.3.3", "tsx": "^4.23.15", - "tw-animate-css": "^1.4.0", - "typescript": "^7.0.2", - "vite": "^8.3.4", - "vitest": "^4.1.11" + "tw-animate-css": "^1.4.0" }, "engines": { "node": ">=24 <25" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1010c41..1427c84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,26 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@playwright/test': 1.64.0 + '@posthog/react': 1.11.3 + '@types/node': 26.2.0 + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0 + '@vitejs/plugin-react': 6.1.2 + '@vitest/coverage-v8': 5.0.3 + oxfmt: 0.72.0 + oxlint: 1.87.0 + oxlint-tsgolint: 7.0.2004 + posthog-js: 1.438.12 + react: 19.3.0 + react-dom: 19.3.0 + typescript: 7.0.2 + vite: 8.3.4 + vitest: 5.0.3 + +pnpmfileChecksum: sha256-/ifUlG4pVt0QnOMu9+sIJU14DMM3NIutTMgtKbxkn7c= + importers: .: @@ -17,9 +37,6 @@ importers: '@fontsource/barlow-semi-condensed': specifier: ^5.3.0 version: 5.3.0 - '@posthog/react': - specifier: ^1.11.3 - version: 1.11.3(@types/react@19.3.0)(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -34,22 +51,13 @@ importers: version: 1.55.0(@types/react@19.3.0)(react@19.3.0) manifold-3d: specifier: ^3.5.4 - version: 3.5.4(@gltf-transform/core@4.4.2)(@gltf-transform/extensions@4.4.2)(@gltf-transform/functions@4.4.2(@types/node@26.6.5))(esbuild-wasm@0.27.7) + version: 3.5.4(@gltf-transform/core@4.4.2)(@gltf-transform/extensions@4.4.2)(@gltf-transform/functions@4.4.2(@types/node@26.2.0))(esbuild-wasm@0.27.7) opentype.js: specifier: ^2.0.0 version: 2.0.0 - posthog-js: - specifier: ^1.438.8 - version: 1.438.8(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: ^4.0.0 - version: 4.0.0(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) - react: - specifier: ^19.3.0 - version: 19.3.0 - react-dom: - specifier: ^19.3.0 - version: 19.3.0(react@19.3.0) + specifier: git+https://github.com/richardsolomou/ras-stack.git#88386db224c7550980746392855aa3053fb59afc&path:/packages/ras-stack + version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) three: specifier: ^0.186.1 version: 0.186.1 @@ -57,42 +65,18 @@ importers: '@changesets/cli': specifier: 3.0.3 version: 3.0.3 - '@playwright/test': - specifier: ^1.64.0 - version: 1.64.0 '@posthog/rollup-plugin': specifier: ^1.6.1 version: 1.6.1(rollup@4.63.2) '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@types/node': - specifier: ^26.6.5 - version: 26.6.5 + version: 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@types/opentype.js': specifier: ^1.3.10 version: 1.3.10 - '@types/react': - specifier: ^19.3.0 - version: 19.3.0 - '@types/react-dom': - specifier: ^19.3.0 - version: 19.3.0(@types/react@19.3.0) '@types/three': specifier: ^0.186.0 version: 0.186.0 - '@vitejs/plugin-react': - specifier: ^6.1.2 - version: 6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - oxfmt: - specifier: ^0.72.0 - version: 0.72.0 - oxlint: - specifier: ^1.87.0 - version: 1.87.0 - ras-stack-config: - specifier: ^3.0.0 - version: 3.0.0 shadcn: specifier: ^4.21.4 version: 4.21.4 @@ -105,15 +89,6 @@ importers: tw-animate-css: specifier: ^1.4.0 version: 1.4.0 - typescript: - specifier: ^7.0.2 - version: 7.0.2 - vite: - specifier: ^8.3.4 - version: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vitest: - specifier: ^4.1.11 - version: 4.1.11(@types/node@26.6.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) packages: @@ -254,10 +229,10 @@ packages: engines: {node: '>=14.0.0'} peerDependencies: '@date-fns/tz': ^1.2.0 - '@types/react': ^17 || ^18 || ^19 + '@types/react': 19.3.0 date-fns: ^4.0.0 - react: ^17 || ^18 || ^19 - react-dom: ^17 || ^18 || ^19 + react: 19.3.0 + react-dom: 19.3.0 peerDependenciesMeta: '@date-fns/tz': optional: true @@ -269,13 +244,17 @@ packages: '@base-ui/utils@0.5.0': resolution: {integrity: sha512-dYGGcEttjkYiMoa5nHm8vLaJ2UcuTWxo3BFAwOYXeRg/q7UVVvA6cacEIXEs3FgBfK1CGtW1ptElqs7wsx+t9A==} peerDependencies: - '@types/react': ^17 || ^18 || ^19 - react: ^17 || ^18 || ^19 - react-dom: ^17 || ^18 || ^19 + '@types/react': 19.3.0 + react: 19.3.0 + react-dom: 19.3.0 peerDependenciesMeta: '@types/react': optional: true + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} + '@changesets/apply-release-plan@8.1.1': resolution: {integrity: sha512-nk2Hbq3M9NeHMdaIRBDvawKrQJzXB9sGyBUE5yWnIKtvdcNCPj75zBekJYr0gTT2ecJH3eFeTrc8eisPImcv0Q==} engines: {node: ^22.11 || ^24 || >=26} @@ -523,8 +502,8 @@ packages: '@floating-ui/react-dom@2.1.9': resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: 19.3.0 + react-dom: 19.3.0 '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} @@ -900,6 +879,36 @@ packages: cpu: [x64] os: [win32] + '@oxlint-tsgolint/darwin-arm64@7.0.2004': + resolution: {integrity: sha512-uJk3ttju7Lz+Nv8WG4CsLyewoL1qf/Ny8S8OksJ7Bm/F14Tc9gMfW6arM1PCc57IzH/X/I79YsCWTgxX1FKibQ==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@7.0.2004': + resolution: {integrity: sha512-0BFfHTzDxNDFPcu0UZAXT6CyCJHAXM0dZveyDb4KEHa2qF/DSnOKOrmvK/wFuFol9kvijbGM9JfuOsor+zWXRw==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@7.0.2004': + resolution: {integrity: sha512-TAehQc+qdRXyDN3nl/r/3/oPrBVrbtrDeGMkFyG6mf+XphpoJ2lAMVFLclyvrVZCw02RbKROjyw8h72XwQQHcw==} + cpu: [arm64] + os: [linux] + + '@oxlint-tsgolint/linux-x64@7.0.2004': + resolution: {integrity: sha512-LPunZvm6ZbWPfHMAyfZf9ci3HHvNEzLejO8zdqO3GoVGoSEHqqufHUD7+OgeatVSaJP7uXDJ2HaNOHIoH7go4Q==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@7.0.2004': + resolution: {integrity: sha512-FVWplzDImWhiuawnIZVETaQecv4GWom6Jv4Fx2xj7hhXXDZ5okEgiw1gTCImHTIQsi2ycC5oSxVwrn69bMh7iw==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@7.0.2004': + resolution: {integrity: sha512-7PsxuUx11Ry9DYTWcljTzRbmZY9B6O9fFFfZV+aodQEMy6pfRT3fhoQRv9PtGN/89z1pPz3nFKrsFm6WqNtX7w==} + cpu: [x64] + os: [win32] + '@oxlint/binding-android-arm-eabi@1.87.0': resolution: {integrity: sha512-22tVIHlB9898OYsBKmYB6He1MCSqdTmK1BVWuSNUTVrpS0KWNege+U9uEYqGJ+KatQag0r/oU44i3OOs46z7HQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1031,16 +1040,16 @@ packages: resolution: {integrity: sha512-pOr5+q1fLYKwFN3LAJuGZEnfXDcQ73zqgDHMtGy+K+uIoUqyY+6MeDCWFwfu+4EFuq76I5EPFofoNAI+Bmmq4A==} engines: {node: '>=22.13'} - '@posthog/browser-common@0.9.4': - resolution: {integrity: sha512-QlG0WZFG9iTp9cmXTypB4cgnxBAD3GImrj9AwmA84uh8uy5vIVgVLjoTTdOAW29XL+kh/eLn/5ZtBQt2JQfR+w==} + '@posthog/browser-common@0.9.5': + resolution: {integrity: sha512-oXnBgZvM8UQ84IcBLfGP0WSGd9rA0PCGR37H8Pw0NszJRwxwbJnFXIUih0pvI/ze2eGmzkIEC9i3SwC+bMAgjQ==} '@posthog/cli@0.16.2': resolution: {integrity: sha512-h8bpf9ffBUH/Z9IoyGV+wiI+vS8rIPorKT3eKQXuzuwawO0G7Qvy+hDd7HQ9YJjHByYZ77yPPQvrSs4WsqTUCg==} engines: {node: '>=14.14', npm: '>=6'} hasBin: true - '@posthog/core@1.58.0': - resolution: {integrity: sha512-vluXIlVF6WGeHoQbsQK8Y1ywXZlJDU7YHEKiXAArQU38yFBpgxxfD0kInbYHtura4Fr7Z7H8WiDFvtMpCGehGg==} + '@posthog/core@1.59.1': + resolution: {integrity: sha512-P39YgzQVDh6oz6wAzQXEnoHgTYpM7gifonmVKq1scAJco79h31XmmNVurRq9tTmmyIrr1uX8FHT0riCsyfV9AQ==} '@posthog/plugin-utils@2.0.0': resolution: {integrity: sha512-PC94+3zeEQ2IkhiU+pskOIOEkAFKZvwVixvrwpRfy+cl4b6gkTuHN44vp5OeG5ndfQOLJQF5onx8/K7yZC3i1g==} @@ -1048,9 +1057,9 @@ packages: '@posthog/react@1.11.3': resolution: {integrity: sha512-YqvZb2y9jh/yW0ojUtAns0l4yHWqpu+5UeIBxZlXpyGuWlh8M4siXRMtqhEh1BKfqp6Sq2usdsQCuoUzx1QFWQ==} peerDependencies: - '@types/react': '>=16.8.0' - posthog-js: '>=1.257.2' - react: '>=16.8.0' + '@types/react': 19.3.0 + posthog-js: 1.438.12 + react: 19.3.0 peerDependenciesMeta: '@types/react': optional: true @@ -1060,8 +1069,8 @@ packages: peerDependencies: rollup: '>= 4.0.0' - '@posthog/types@1.415.2': - resolution: {integrity: sha512-BIIHPyXcPZuNTImrR1qLqLKFw7j9o8co6LG/9OpLtpWJ3RT0y89Lx6VCtd37N9/dkr/qW7y0uPjJxAxjsALHtw==} + '@posthog/types@1.416.0': + resolution: {integrity: sha512-0/9+02s/0uDyrH4G/qUg1yyl6gXUg8Uuxw/PlDad3KLzo9FFS9zS/kAQaEshx/saVGupj1aAy/4EUBxWisBogw==} '@rolldown/binding-android-arm-eabi@1.2.13': resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} @@ -1311,9 +1320,6 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@tailwindcss/node@4.3.3': resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} @@ -1406,7 +1412,7 @@ packages: '@tailwindcss/vite@4.3.3': resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} peerDependencies: - vite: ^5.2.0 || ^6 || ^7 || ^8 + vite: 8.3.4 '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} @@ -1426,8 +1432,8 @@ packages: '@types/ndarray@1.0.14': resolution: {integrity: sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg==} - '@types/node@26.6.5': - resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} '@types/opentype.js@1.3.10': resolution: {integrity: sha512-F67EFyk6j02okHz5JCgata3ZRAcZi9GLnzmkHw/rzJq3OCc8/ZVdoKrxMTYjcQP6IYHGBz2cav1cpzkOkPiPCQ==} @@ -1435,7 +1441,7 @@ packages: '@types/react-dom@19.3.0': resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} peerDependencies: - '@types/react': ^19.3.0 + '@types/react': 19.3.0 '@types/react@19.3.0': resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} @@ -1582,7 +1588,7 @@ packages: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 oxc-transform-react: ^0.152.0 - vite: ^8.0.0 + vite: 8.3.4 peerDependenciesMeta: '@rolldown/plugin-babel': optional: true @@ -1591,34 +1597,36 @@ packages: oxc-transform-react: optional: true - '@vitest/expect@4.1.11': - resolution: {integrity: sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==} + '@vitest/coverage-v8@5.0.3': + resolution: {integrity: sha512-+klsyz7BvT1vCU28Zkfzms1Ia78XD0V41U3FUtRaa3S+vOr/EXvK1O6BvVD7l1RzEjm6SONR2aybOvDDf9u0mQ==} + peerDependencies: + '@vitest/browser': 5.0.3 + vitest: 5.0.3 + peerDependenciesMeta: + '@vitest/browser': + optional: true + + '@vitest/istanbul-lib-coverage@1.0.2': + resolution: {integrity: sha512-9J/JMwOf9AoJhAywhrn7ScKTL38hsWQP/qPG60OtaAFcQ5OXPwKsxZFlbnuCKmZ61m8/lGgHYnFpdyQZUvG/iA==} + engines: {node: '>=22'} - '@vitest/mocker@4.1.11': - resolution: {integrity: sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==} + '@vitest/istanbul-lib-report@1.0.2': + resolution: {integrity: sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ==} + engines: {node: '>=22'} + + '@vitest/mocker@5.0.3': + resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: 8.3.4 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.1.11': - resolution: {integrity: sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==} - - '@vitest/runner@4.1.11': - resolution: {integrity: sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==} - - '@vitest/snapshot@4.1.11': - resolution: {integrity: sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==} - - '@vitest/spy@4.1.11': - resolution: {integrity: sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==} - - '@vitest/utils@4.1.11': - resolution: {integrity: sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==} + '@vitest/spy@5.0.3': + resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} @@ -1666,6 +1674,9 @@ packages: resolution: {integrity: sha512-FvWoWYfSCM6kRxCSH+MGLHIKKGRL6A6AW7Zek2O32REPQRdg131428uRTKMBYAeRd3XXAaHDS60Wpri7CdKDrA==} engines: {node: '>=4'} + ast-v8-to-istanbul@1.0.7: + resolution: {integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA==} + atomically@1.7.0: resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} engines: {node: '>=10.12.0'} @@ -1719,8 +1730,8 @@ packages: caniuse-lite@1.0.30001815: resolution: {integrity: sha512-uDybUEyfgbyJJ93J1vikTylBX31AkdVYeVPeffMQpf8XN7hSfr0oZOn4VFOIMNvtU5+rHvC5Udg2TgtJKHm23Q==} - chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + chai@6.3.0: + resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} engines: {node: '>=18'} chalk@5.6.2: @@ -2259,6 +2270,9 @@ packages: jose@6.2.12: resolution: {integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==} + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2463,8 +2477,8 @@ packages: lucide-react@1.55.0: resolution: {integrity: sha512-bSozQHiI3/8q7JvgoqVRGOYUi7fYT3siAZwmZsljjsOH2Husp/2ODdFf/leD+ZC/2yKfn7r8oh6yeoR3ITR5vA==} peerDependencies: - '@types/react': '*' - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@types/react': 19.3.0 + react: 19.3.0 peerDependenciesMeta: '@types/react': optional: true @@ -2472,6 +2486,12 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} + + magicast@0.5.5: + resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} + manifold-3d@3.5.4: resolution: {integrity: sha512-WWsme5HabwLHVcWPHT9m+s7mdmDVSEvCny+uXH1E7jEc8FbFUgM75C3Dh6NVw57Eeh3Ow7+xHCuXfxDMOemi9A==} hasBin: true @@ -2630,12 +2650,16 @@ packages: vite-plus: optional: true + oxlint-tsgolint@7.0.2004: + resolution: {integrity: sha512-vQ9WDF3fiZJvRdSDosNOflerOCOpwol6vWzVDxW76RcU19cjTh7engvkHLvmv+tzedR8fAiJUVUGr6IVZdkzXQ==} + hasBin: true + oxlint@1.87.0: resolution: {integrity: sha512-drxVlaW7Oqq7wSy1CN25znRu00aRq8n57Q2wniJRxCmtYVz07ufCm7EVDPQFZURrTgQIjzKrVEHAD/HcvJXObg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=7.0.2003' + oxlint-tsgolint: 7.0.2004 vite-plus: '*' peerDependenciesMeta: oxlint-tsgolint: @@ -2688,9 +2712,6 @@ packages: path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2728,11 +2749,11 @@ packages: resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==} engines: {node: ^10 || ^12 || >=14} - posthog-js@1.438.8: - resolution: {integrity: sha512-nQpTyiVryD2C3hm3KWrslmqiEGSFqOclTq5bsmiBKHOsDAwvVQ2wgNCbpeCScYOn56h3/dgO/va+Zu1yOv2CCQ==} + posthog-js@1.438.12: + resolution: {integrity: sha512-hjhvrtqbk6pFlbtNEGk0FrWKKFdeXe/WWA/LppN0f+uDoHKR9/SZJOxUHSVCGYbGTJvNRoDjjQvZuTcq4oKSlg==} peerDependencies: - '@types/react': '>=16.8.0' - react: '>=16.8.0' + '@types/react': 19.3.0 + react: 19.3.0 peerDependenciesMeta: '@types/react': optional: true @@ -2780,63 +2801,11 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack-config@3.0.0: - resolution: {integrity: sha512-O4QWgZWTT6P1kZvlpCaDWcVM46yHAtoMGLzh2P4rv2xp9wjpLOSfQDZ8Lu3jln8IibLcu9wr8kWtR8D0WQAqOg==} - - ras-stack@4.0.0: - resolution: {integrity: sha512-35PFyJ/FXx1Zu2fdKWtEwNXvOVh3zd+MDVPodRGPLY/yHCogTtOMICtv4DO7S3AbdYlT2ZOYfZF5rjSAIT0KcA==} + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack: + resolution: {gitHosted: true, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc} + version: 4.4.2 engines: {node: '>=24 <25'} hasBin: true - peerDependencies: - '@libsql/client': '>=0.18 <1' - '@opentelemetry/api-logs': '>=0.221.0 <0.224.0' - '@opentelemetry/exporter-logs-otlp-http': '>=0.221.0 <0.224.0' - '@opentelemetry/resources': ^2.10.0 - '@opentelemetry/sdk-logs': '>=0.221.0 <0.224.0' - '@posthog/react': '>=1.1 <2' - '@tanstack/react-start': '>=1.168.10 <2' - better-sqlite3: '>=12 <14' - centrifuge: '>=5 <6' - drizzle-orm: '>=0.45 <1' - nodemailer: '>=9 <11' - postgres: '>=3.4 <4' - posthog-js: '>=1.430.3 <2' - posthog-node: '>=5.52 <6' - react: '>=19 <20' - tus-js-client: '>=4 <5' - peerDependenciesMeta: - '@libsql/client': - optional: true - '@opentelemetry/api-logs': - optional: true - '@opentelemetry/exporter-logs-otlp-http': - optional: true - '@opentelemetry/resources': - optional: true - '@opentelemetry/sdk-logs': - optional: true - '@posthog/react': - optional: true - '@tanstack/react-start': - optional: true - better-sqlite3: - optional: true - centrifuge: - optional: true - drizzle-orm: - optional: true - nodemailer: - optional: true - postgres: - optional: true - posthog-js: - optional: true - posthog-node: - optional: true - react: - optional: true - tus-js-client: - optional: true raw-body@3.0.2: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} @@ -2845,7 +2814,7 @@ packages: react-dom@19.3.0: resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} peerDependencies: - react: ^19.3.0 + react: 19.3.0 react@19.3.0: resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} @@ -2959,9 +2928,6 @@ packages: resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -2992,15 +2958,12 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@4.2.0: - resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} + std-env@4.3.0: + resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} @@ -3056,8 +3019,9 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinybench@6.2.2: + resolution: {integrity: sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==} + engines: {node: '>=20.0.0'} tinyexec@1.3.1: resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} @@ -3071,8 +3035,8 @@ packages: resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} engines: {node: ^20.0.0 || >=22.0.0} - tinyrainbow@3.1.1: - resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} + tinyrainbow@3.2.0: + resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} engines: {node: '>=14.0.0'} to-regex-range@5.0.1: @@ -3114,8 +3078,8 @@ packages: engines: {node: '>=16.20.0'} hasBin: true - undici-types@8.9.0: - resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} undici@7.30.0: resolution: {integrity: sha512-dkrQXeHSaoamnItlYbmzG0wFYrM0ZwDxCIg0A7aKjTyyhh9svRzCNFEzV+Vm05/yehjCzjDZ31KXfGEjYSztDQ==} @@ -3145,7 +3109,7 @@ packages: use-sync-external-store@1.7.0: resolution: {integrity: sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: 19.3.0 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -3163,7 +3127,7 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 + '@types/node': 26.2.0 '@vitejs/devtools': ^0.7.1 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' @@ -3201,23 +3165,23 @@ packages: yaml: optional: true - vitest@4.1.11: - resolution: {integrity: sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.3: + resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.11 - '@vitest/browser-preview': 4.1.11 - '@vitest/browser-webdriverio': 4.1.11 - '@vitest/coverage-istanbul': 4.1.11 - '@vitest/coverage-v8': 4.1.11 - '@vitest/ui': 4.1.11 + '@types/node': 26.2.0 + '@vitest/browser-playwright': 5.0.3 + '@vitest/browser-preview': 5.0.3 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.3 + '@vitest/coverage-v8': 5.0.3 + '@vitest/ui': 5.0.3 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: 8.3.4 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -3258,9 +3222,9 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} + why-is-node-running@3.2.1: + resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==} + engines: {node: '>=20.11'} hasBin: true wrappy@1.0.2: @@ -3511,6 +3475,8 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 + '@bcoe/v8-coverage@1.0.2': {} + '@changesets/apply-release-plan@8.1.1': dependencies: '@changesets/config': 4.0.1 @@ -3763,14 +3729,14 @@ snapshots: '@gltf-transform/core': 4.4.2 ktx-parse: 1.1.0 - '@gltf-transform/functions@4.4.2(@types/node@26.6.5)': + '@gltf-transform/functions@4.4.2(@types/node@26.2.0)': dependencies: '@gltf-transform/core': 4.4.2 '@gltf-transform/extensions': 4.4.2 ktx-parse: 1.1.0 ndarray: 1.0.19 ndarray-lanczos: 0.3.0 - ndarray-pixels: 5.2.0(@types/node@26.6.5) + ndarray-pixels: 5.2.0(@types/node@26.2.0) transitivePeerDependencies: - '@types/node' @@ -4018,6 +3984,24 @@ snapshots: '@oxfmt/binding-win32-x64-msvc@0.72.0': optional: true + '@oxlint-tsgolint/darwin-arm64@7.0.2004': + optional: true + + '@oxlint-tsgolint/darwin-x64@7.0.2004': + optional: true + + '@oxlint-tsgolint/linux-arm64@7.0.2004': + optional: true + + '@oxlint-tsgolint/linux-x64@7.0.2004': + optional: true + + '@oxlint-tsgolint/win32-arm64@7.0.2004': + optional: true + + '@oxlint-tsgolint/win32-x64@7.0.2004': + optional: true + '@oxlint/binding-android-arm-eabi@1.87.0': optional: true @@ -4081,26 +4065,26 @@ snapshots: '@pnpm/deps.graph-sequencer@1100.0.1': {} - '@posthog/browser-common@0.9.4': + '@posthog/browser-common@0.9.5': dependencies: - '@posthog/core': 1.58.0 - '@posthog/types': 1.415.2 + '@posthog/core': 1.59.1 + '@posthog/types': 1.416.0 '@posthog/cli@0.16.2': dependencies: detect-libc: 2.1.2 - '@posthog/core@1.58.0': + '@posthog/core@1.59.1': dependencies: - '@posthog/types': 1.415.2 + '@posthog/types': 1.416.0 '@posthog/plugin-utils@2.0.0': dependencies: cross-spawn: 7.0.6 - '@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0)': + '@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0)': dependencies: - posthog-js: 1.438.8(@types/react@19.3.0)(react@19.3.0) + posthog-js: 1.438.12(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 optionalDependencies: '@types/react': 19.3.0 @@ -4112,7 +4096,7 @@ snapshots: magic-string: 0.30.21 rollup: 4.63.2 - '@posthog/types@1.415.2': {} + '@posthog/types@1.416.0': {} '@rolldown/binding-android-arm-eabi@1.2.13': optional: true @@ -4268,8 +4252,6 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@standard-schema/spec@1.1.0': {} - '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 @@ -4331,12 +4313,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tailwindcss/vite@4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) '@ts-morph/common@0.27.0': dependencies: @@ -4357,9 +4339,9 @@ snapshots: '@types/ndarray@1.0.14': {} - '@types/node@26.6.5': + '@types/node@26.2.0': dependencies: - undici-types: 8.9.0 + undici-types: 8.3.0 '@types/opentype.js@1.3.10': {} @@ -4449,51 +4431,39 @@ snapshots: '@typescript/typescript-win32-x64@7.0.2': optional: true - '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - '@vitest/expect@4.1.11': + '@vitest/coverage-v8@5.0.3(vitest@5.0.3)': dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 - chai: 6.2.2 - tinyrainbow: 3.1.1 - - '@vitest/mocker@4.1.11(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': - dependencies: - '@vitest/spy': 4.1.11 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + '@bcoe/v8-coverage': 1.0.2 + '@vitest/istanbul-lib-coverage': 1.0.2 + '@vitest/istanbul-lib-report': 1.0.2 + ast-v8-to-istanbul: 1.0.7 + magicast: 0.5.5 + obug: 2.2.1 + std-env: 4.3.0 + tinyrainbow: 3.2.0 + vitest: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@vitest/pretty-format@4.1.11': - dependencies: - tinyrainbow: 3.1.1 + '@vitest/istanbul-lib-coverage@1.0.2': {} - '@vitest/runner@4.1.11': + '@vitest/istanbul-lib-report@1.0.2': dependencies: - '@vitest/utils': 4.1.11 - pathe: 2.0.3 + '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/snapshot@4.1.11': + '@vitest/mocker@5.0.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: - '@vitest/pretty-format': 4.1.11 - '@vitest/utils': 4.1.11 - magic-string: 0.30.21 - pathe: 2.0.3 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 + estree-walker: 3.0.3 + magic-string: 1.4.3 + optionalDependencies: + vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - '@vitest/spy@4.1.11': {} - - '@vitest/utils@4.1.11': - dependencies: - '@vitest/pretty-format': 4.1.11 - convert-source-map: 2.0.0 - tinyrainbow: 3.1.1 + '@vitest/spy@5.0.3': {} accepts@2.0.0: dependencies: @@ -4529,6 +4499,12 @@ snapshots: dependencies: tslib: 2.8.1 + ast-v8-to-istanbul@1.0.7: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 + atomically@1.7.0: {} balanced-match@4.0.4: {} @@ -4585,7 +4561,7 @@ snapshots: caniuse-lite@1.0.30001815: {} - chai@6.2.2: {} + chai@6.3.0: {} chalk@5.6.2: {} @@ -5078,6 +5054,8 @@ snapshots: jose@6.2.12: {} + js-tokens@10.0.0: {} + js-tokens@4.0.0: {} jsesc@3.1.0: {} @@ -5231,11 +5209,21 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 - manifold-3d@3.5.4(@gltf-transform/core@4.4.2)(@gltf-transform/extensions@4.4.2)(@gltf-transform/functions@4.4.2(@types/node@26.6.5))(esbuild-wasm@0.27.7): + magic-string@1.4.3: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + + magicast@0.5.5: + dependencies: + '@babel/parser': 7.29.9 + '@babel/types': 7.29.8 + source-map-js: 1.2.2 + + manifold-3d@3.5.4(@gltf-transform/core@4.4.2)(@gltf-transform/extensions@4.4.2)(@gltf-transform/functions@4.4.2(@types/node@26.2.0))(esbuild-wasm@0.27.7): dependencies: '@gltf-transform/core': 4.4.2 '@gltf-transform/extensions': 4.4.2 - '@gltf-transform/functions': 4.4.2(@types/node@26.6.5) + '@gltf-transform/functions': 4.4.2(@types/node@26.2.0) '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/trace-mapping': 0.3.31 '@jscadui/3mf-export': 0.5.0 @@ -5294,12 +5282,12 @@ snapshots: dependencies: cwise-compiler: 1.1.3 - ndarray-pixels@5.2.0(@types/node@26.6.5): + ndarray-pixels@5.2.0(@types/node@26.2.0): dependencies: '@types/ndarray': 1.0.14 ndarray: 1.0.19 ndarray-ops: 1.2.2 - sharp: 0.35.3(@types/node@26.6.5) + sharp: 0.35.3(@types/node@26.2.0) transitivePeerDependencies: - '@types/node' @@ -5400,7 +5388,16 @@ snapshots: '@oxfmt/binding-win32-ia32-msvc': 0.72.0 '@oxfmt/binding-win32-x64-msvc': 0.72.0 - oxlint@1.87.0: + oxlint-tsgolint@7.0.2004: + optionalDependencies: + '@oxlint-tsgolint/darwin-arm64': 7.0.2004 + '@oxlint-tsgolint/darwin-x64': 7.0.2004 + '@oxlint-tsgolint/linux-arm64': 7.0.2004 + '@oxlint-tsgolint/linux-x64': 7.0.2004 + '@oxlint-tsgolint/win32-arm64': 7.0.2004 + '@oxlint-tsgolint/win32-x64': 7.0.2004 + + oxlint@1.87.0(oxlint-tsgolint@7.0.2004): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.87.0 '@oxlint/binding-android-arm64': 1.87.0 @@ -5421,6 +5418,7 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.87.0 '@oxlint/binding-win32-ia32-msvc': 1.87.0 '@oxlint/binding-win32-x64-msvc': 1.87.0 + oxlint-tsgolint: 7.0.2004 p-limit@2.3.0: dependencies: @@ -5450,8 +5448,6 @@ snapshots: path-to-regexp@8.4.2: {} - pathe@2.0.3: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -5481,11 +5477,11 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.2 - posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0): + posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0): dependencies: - '@posthog/browser-common': 0.9.4 - '@posthog/core': 1.58.0 - '@posthog/types': 1.415.2 + '@posthog/browser-common': 0.9.5 + '@posthog/core': 1.59.1 + '@posthog/types': 1.416.0 core-js: 3.50.0 dompurify: 3.4.17 fflate: 0.4.9 @@ -5530,16 +5526,55 @@ snapshots: range-parser@1.3.0: {} - ras-stack-config@3.0.0: {} - - ras-stack@4.0.0(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 - optionalDependencies: - '@posthog/react': 1.11.3(@types/react@19.3.0)(posthog-js@1.438.8(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) - posthog-js: 1.438.8(@types/react@19.3.0)(react@19.3.0) + '@playwright/test': 1.64.0 + '@posthog/react': 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + '@types/node': 26.2.0 + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@vitejs/plugin-react': 6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) + oxfmt: 0.72.0 + oxlint: 1.87.0(oxlint-tsgolint@7.0.2004) + oxlint-tsgolint: 7.0.2004 + posthog-js: 1.438.12(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + typescript: 7.0.2 + vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vitest: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@rolldown/plugin-babel' + - '@vitejs/devtools' + - '@vitest/browser' + - '@vitest/browser-playwright' + - '@vitest/browser-preview' + - '@vitest/browser-webdriverio' + - '@vitest/coverage-istanbul' + - '@vitest/ui' + - babel-plugin-react-compiler + - esbuild + - happy-dom + - jiti + - jsdom + - less + - msw + - oxc-transform-react + - preact-render-to-string + - sass + - sass-embedded + - stylus + - sugarss + - svelte + - terser + - tsx + - vite-plus + - yaml raw-body@3.0.2: dependencies: @@ -5718,7 +5753,7 @@ snapshots: - babel-plugin-macros - supports-color - sharp@0.35.3(@types/node@26.6.5): + sharp@0.35.3(@types/node@26.2.0): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 @@ -5749,7 +5784,7 @@ snapshots: '@img/sharp-win32-arm64': 0.35.3 '@img/sharp-win32-ia32': 0.35.3 '@img/sharp-win32-x64': 0.35.3 - '@types/node': 26.6.5 + '@types/node': 26.2.0 shebang-command@2.0.0: dependencies: @@ -5787,8 +5822,6 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - siginfo@2.0.0: {} - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -5808,11 +5841,9 @@ snapshots: source-map@0.6.1: {} - stackback@0.0.2: {} - statuses@2.0.2: {} - std-env@4.2.0: {} + std-env@4.3.0: {} stdin-discarder@0.2.2: {} @@ -5856,7 +5887,7 @@ snapshots: tiny-invariant@1.3.3: {} - tinybench@2.9.0: {} + tinybench@6.2.2: {} tinyexec@1.3.1: {} @@ -5867,7 +5898,7 @@ snapshots: tinypool@2.2.0: {} - tinyrainbow@3.1.1: {} + tinyrainbow@3.2.0: {} to-regex-range@5.0.1: dependencies: @@ -5927,7 +5958,7 @@ snapshots: '@typescript/typescript-win32-arm64': 7.0.2 '@typescript/typescript-win32-x64': 7.0.2 - undici-types@8.9.0: {} + undici-types@8.3.0: {} undici@7.30.0: {} @@ -5955,7 +5986,7 @@ snapshots: vary@1.1.2: {} - vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -5963,37 +5994,32 @@ snapshots: rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.6.5 + '@types/node': 26.2.0 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.15 yaml: 2.9.1 - vitest@4.1.11(@types/node@26.6.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + vitest@5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: - '@vitest/expect': 4.1.11 - '@vitest/mocker': 4.1.11(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@vitest/pretty-format': 4.1.11 - '@vitest/runner': 4.1.11 - '@vitest/snapshot': 4.1.11 - '@vitest/spy': 4.1.11 - '@vitest/utils': 4.1.11 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 + magic-string: 1.4.3 obug: 2.2.1 - pathe: 2.0.3 picomatch: 4.0.7 - std-env: 4.2.0 - tinybench: 2.9.0 + std-env: 4.3.0 + tinybench: 6.2.2 tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinyrainbow: 3.1.1 - vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - why-is-node-running: 2.3.0 + vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 26.6.5 + '@types/node': 26.2.0 + '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) transitivePeerDependencies: - msw @@ -6009,10 +6035,7 @@ snapshots: dependencies: isexe: 3.1.5 - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + why-is-node-running@3.2.1: {} wrappy@1.0.2: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bb2e309..a188ee7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,10 @@ allowBuilds: '@posthog/cli': true core-js: true esbuild: true + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack: true minimumReleaseAgeExclude: - - ras-stack-config@3.0.0 - - ras-stack@4.0.0 + # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. + - '@posthog/browser-common@0.9.5' + - '@posthog/core@1.59.1' + - posthog-js@1.438.12 diff --git a/ras.config.ts b/ras.config.ts new file mode 100644 index 0000000..98c1f57 --- /dev/null +++ b/ras.config.ts @@ -0,0 +1,6 @@ +import { defineConfig, posthog, typescript, oxlint, oxfmt, vite, vitest, playwright } from 'ras-stack/config' + +export default defineConfig({ + integrations: [posthog.react], + tooling: [typescript.tanstack, oxlint.application, oxlint.domain, oxfmt, vite, vitest, playwright], +}) diff --git a/ras.lock b/ras.lock new file mode 100644 index 0000000..58c4f31 --- /dev/null +++ b/ras.lock @@ -0,0 +1,81 @@ +{ + "version": 1, + "fingerprint": "90e2fad0817bd44fe9bd96d078210f9afb120c629400e520cee2664da3ab89dd", + "plan": { + "dependencies": { + "@playwright/test": "1.64.0", + "@posthog/react": "1.11.3", + "@types/node": "26.2.0", + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", + "@vitejs/plugin-react": "6.1.2", + "@vitest/coverage-v8": "5.0.3", + "oxfmt": "0.72.0", + "oxlint": "1.87.0", + "oxlint-tsgolint": "7.0.2004", + "posthog-js": "1.438.12", + "react": "19.3.0", + "react-dom": "19.3.0", + "typescript": "7.0.2", + "vite": "8.3.4", + "vitest": "5.0.3" + }, + "commands": { + "typecheck": { + "package": "typescript", + "bin": "tsc", + "args": [ + "--noEmit" + ] + }, + "lint": { + "package": "oxlint", + "bin": "oxlint", + "args": [ + "--type-aware", + "--deny-warnings" + ] + }, + "format": { + "package": "oxfmt", + "bin": "oxfmt", + "args": [ + "--write" + ] + }, + "dev": { + "package": "vite", + "bin": "vite" + }, + "build": { + "package": "vite", + "bin": "vite", + "args": [ + "build" + ] + }, + "test": { + "package": "vitest", + "bin": "vitest", + "args": [ + "run" + ] + }, + "e2e": { + "package": "@playwright/test", + "bin": "playwright", + "args": [ + "test" + ] + } + }, + "presets": { + "oxlint": [ + "application", + "domain" + ], + "typescript": "tanstack" + }, + "allowBuilds": [] + } +} diff --git a/tsconfig.json b/tsconfig.json index 81e8633..c815b20 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "ras-stack-config/config/typescript/tanstack", + "extends": "./.ras/tsconfig.json", "include": ["src", "scripts", "vite.config.ts", "vitest.config.ts"], "compilerOptions": { "noUncheckedIndexedAccess": false, From 47ff87898c88f497a41dc71672f7072c77c74a85 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 16:16:25 +0300 Subject: [PATCH 02/11] chore(deps): keep generated hook ignores in oxfmt config --- .oxfmtrc.json | 2 +- .prettierignore | 1 - CONTRIBUTING.md | 2 +- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- pnpm-workspace.yaml | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 .prettierignore diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 904e7e1..8a73af4 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -3,5 +3,5 @@ "singleQuote": true, "semi": false, "printWidth": 140, - "ignorePatterns": ["dist/**", "pnpm-lock.yaml"] + "ignorePatterns": ["dist/**", "pnpm-lock.yaml", "/.pnpmfile.cjs"] } diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index d56dedc..0000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -/.pnpmfile.cjs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f0caf64..3c0f733 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -82,4 +82,4 @@ The shared Oxlint domain preset restricts Node and framework imports in `src/cor Select shared integrations and tools in `ras.config.ts`. RAS owns their tested versions; application code keeps its upstream imports. Compiler and linter overrides extend the generated `.ras` configuration. Keep application-specific dependencies in `package.json`. -After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `ras.lock`, `.pnpmfile.cjs`, `.prettierignore`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. +After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `ras.lock`, `.pnpmfile.cjs`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. Keep `/.pnpmfile.cjs` in the Oxfmt configuration's `ignorePatterns`: pnpm checksums the hook's exact bytes. diff --git a/package.json b/package.json index ad1a5de..bfd2d2c 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#88386db224c7550980746392855aa3053fb59afc&path:/packages/ras-stack", + "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#eebc2bec147e93b679d301e25fb4e29e71b7c0a2&path:/packages/ras-stack", "three": "^0.186.1" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1427c84..d2f776a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,8 +56,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ras-stack: - specifier: git+https://github.com/richardsolomou/ras-stack.git#88386db224c7550980746392855aa3053fb59afc&path:/packages/ras-stack - version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + specifier: git+https://github.com/richardsolomou/ras-stack.git#eebc2bec147e93b679d301e25fb4e29e71b7c0a2&path:/packages/ras-stack + version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) three: specifier: ^0.186.1 version: 0.186.1 @@ -2801,8 +2801,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack: - resolution: {gitHosted: true, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc} + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack: + resolution: {gitHosted: true, integrity: sha512-xuDQhIURhxGfuNYT0yo6Lwf5l+YeT7E/NWeSEOEJFbhZnz5PDAAekyBJd/iaxp10OkX6LT7m1PYOftwkiZe2Zw==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2} version: 4.4.2 engines: {node: '>=24 <25'} hasBin: true @@ -5526,7 +5526,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a188ee7..281ff3c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,7 @@ allowBuilds: '@posthog/cli': true core-js: true esbuild: true - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/88386db224c7550980746392855aa3053fb59afc#path:/packages/ras-stack: true + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack: true minimumReleaseAgeExclude: # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. From 74a5f06df60a0754c0b1fc5d535251816317e644 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 17:16:01 +0300 Subject: [PATCH 03/11] chore(deps): use configured ras build integrations --- .pnpmfile.cjs | 4 + CONTRIBUTING.md | 2 +- package.json | 8 +- pnpm-lock.yaml | 343 +++++++++++++++++++++----------------------- pnpm-workspace.yaml | 2 +- ras.config.ts | 4 +- ras.lock | 12 +- src/styles.css | 2 - vite.config.ts | 28 +--- 9 files changed, 191 insertions(+), 214 deletions(-) diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index 580af06..0c308bf 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -2,6 +2,8 @@ const dependencies = { "@playwright/test": "1.64.0", "@posthog/react": "1.11.3", + "@posthog/rollup-plugin": "1.6.1", + "@tailwindcss/vite": "4.3.3", "@types/node": "26.2.0", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", @@ -13,6 +15,8 @@ const dependencies = { "posthog-js": "1.438.12", "react": "19.3.0", "react-dom": "19.3.0", + "tailwindcss": "4.3.3", + "tw-animate-css": "1.4.0", "typescript": "7.0.2", "vite": "8.3.4", "vitest": "5.0.3" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3c0f733..dc124d5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,6 +80,6 @@ The shared Oxlint domain preset restricts Node and framework imports in `src/cor ## Managed dependencies and tools -Select shared integrations and tools in `ras.config.ts`. RAS owns their tested versions; application code keeps its upstream imports. Compiler and linter overrides extend the generated `.ras` configuration. Keep application-specific dependencies in `package.json`. +Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `ras.lock`, `.pnpmfile.cjs`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. Keep `/.pnpmfile.cjs` in the Oxfmt configuration's `ignorePatterns`: pnpm checksums the hook's exact bytes. diff --git a/package.json b/package.json index bfd2d2c..d10149b 100644 --- a/package.json +++ b/package.json @@ -41,19 +41,15 @@ "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#eebc2bec147e93b679d301e25fb4e29e71b7c0a2&path:/packages/ras-stack", + "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#a1138e15ad73be185b186281c4fdaf72636f18b3&path:/packages/ras-stack", "three": "^0.186.1" }, "devDependencies": { "@changesets/cli": "3.0.3", - "@posthog/rollup-plugin": "^1.6.1", - "@tailwindcss/vite": "^4.3.3", "@types/opentype.js": "^1.3.10", "@types/three": "^0.186.0", "shadcn": "^4.21.4", - "tailwindcss": "^4.3.3", - "tsx": "^4.23.15", - "tw-animate-css": "^1.4.0" + "tsx": "^4.23.15" }, "engines": { "node": ">=24 <25" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2f776a..44bcf1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,8 @@ settings: overrides: '@playwright/test': 1.64.0 '@posthog/react': 1.11.3 + '@posthog/rollup-plugin': 1.6.1 + '@tailwindcss/vite': 4.3.3 '@types/node': 26.2.0 '@types/react': 19.3.0 '@types/react-dom': 19.3.0 @@ -18,11 +20,13 @@ overrides: posthog-js: 1.438.12 react: 19.3.0 react-dom: 19.3.0 + tailwindcss: 4.3.3 + tw-animate-css: 1.4.0 typescript: 7.0.2 vite: 8.3.4 vitest: 5.0.3 -pnpmfileChecksum: sha256-/ifUlG4pVt0QnOMu9+sIJU14DMM3NIutTMgtKbxkn7c= +pnpmfileChecksum: sha256-rtsvcyyfMMe3BllPXE0w+GZlQZfyL0yveBA5VfYMhOQ= importers: @@ -56,8 +60,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 ras-stack: - specifier: git+https://github.com/richardsolomou/ras-stack.git#eebc2bec147e93b679d301e25fb4e29e71b7c0a2&path:/packages/ras-stack - version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + specifier: git+https://github.com/richardsolomou/ras-stack.git#a1138e15ad73be185b186281c4fdaf72636f18b3&path:/packages/ras-stack + version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) three: specifier: ^0.186.1 version: 0.186.1 @@ -65,12 +69,6 @@ importers: '@changesets/cli': specifier: 3.0.3 version: 3.0.3 - '@posthog/rollup-plugin': - specifier: ^1.6.1 - version: 1.6.1(rollup@4.63.2) - '@tailwindcss/vite': - specifier: ^4.3.3 - version: 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@types/opentype.js': specifier: ^1.3.10 version: 1.3.10 @@ -80,15 +78,9 @@ importers: shadcn: specifier: ^4.21.4 version: 4.21.4 - tailwindcss: - specifier: ^4.3.3 - version: 4.3.3 tsx: specifier: ^4.23.15 version: 4.23.15 - tw-animate-css: - specifier: ^1.4.0 - version: 1.4.0 packages: @@ -523,8 +515,8 @@ packages: '@gltf-transform/functions@4.4.2': resolution: {integrity: sha512-dclXgv9TshMaWBqPDUYd4xTwBQ2PpuR8p0Y9pokrRzGQDUPXRP6lTDzbqT0UmEmxFSvRyPJjvOWUmzeiRafpvw==} - '@hono/node-server@2.1.4': - resolution: {integrity: sha512-2g1qeHl4BduwDn6L8nkAvDrPUWPMlkQ//a5NhP/zIyaXKMjZNRV+cG9Csu+BiJFf6+68pqzjf4Hi5sJGKHuS1g==} + '@hono/node-server@2.1.5': + resolution: {integrity: sha512-MgP/I06GdvsilDspMk/qmRzpk8LOUStP6jFAbSRi40W09DhoyUn+Mj7eyKICPqeYKybOjVFLVIAQzvu1bfIa7Q==} engines: {node: '>=20'} peerDependencies: hono: ^4 || ^5.0.0-0 @@ -1051,8 +1043,8 @@ packages: '@posthog/core@1.59.1': resolution: {integrity: sha512-P39YgzQVDh6oz6wAzQXEnoHgTYpM7gifonmVKq1scAJco79h31XmmNVurRq9tTmmyIrr1uX8FHT0riCsyfV9AQ==} - '@posthog/plugin-utils@2.0.0': - resolution: {integrity: sha512-PC94+3zeEQ2IkhiU+pskOIOEkAFKZvwVixvrwpRfy+cl4b6gkTuHN44vp5OeG5ndfQOLJQF5onx8/K7yZC3i1g==} + '@posthog/plugin-utils@2.0.1': + resolution: {integrity: sha512-ZiQfUcgY65EjF2vkqL4Aau6sx0aqvSWoXaGSGu9Solnmv6e6VRjQbAU0SCKbxpJxcEsCJof9vmvnrFTQIEOUAQ==} '@posthog/react@1.11.3': resolution: {integrity: sha512-YqvZb2y9jh/yW0ojUtAns0l4yHWqpu+5UeIBxZlXpyGuWlh8M4siXRMtqhEh1BKfqp6Sq2usdsQCuoUzx1QFWQ==} @@ -1171,141 +1163,141 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/rollup-android-arm-eabi@4.63.2': - resolution: {integrity: sha512-Xa6RDoWa+hNiX6PgsljlH6W75RaONx3y6PVlbLhkEWW+GaPQ3dP5gwbL/erAzQHWwkvW5UxdD5l87Qx2FAQ/4A==} + '@rollup/rollup-android-arm-eabi@4.64.6': + resolution: {integrity: sha512-FkO19Fowv/OQeJZPVfdetJaI3/VpbZmBsnmAlR/rQ+b3QwfiGQiOpVegpSRH331kelvHTVw9hXYG3DwjAaRzyQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.63.2': - resolution: {integrity: sha512-vNASxsghMfQ5s+v3PrpnJd+ryL/26lxCCaGI+sDJ7VzmHiYXIrrVltsDhaawxLM1WcoMU2oYlbPHLaYQtBzhcg==} + '@rollup/rollup-android-arm64@4.64.6': + resolution: {integrity: sha512-si5/Etm6MphPc2xYHnk455Shls/hoMjTy3mhXge4OPmvCw7TwC4KP4fKokAlKLV4XaQvLvgSHfafPcblLMYYdQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.63.2': - resolution: {integrity: sha512-0dWDjmlrpZAgjPD/aPzUDhBW8APLRjAni5bOrM76wiiZm+E+KTMVKNhAzaTBohz8UyO2fKNAl0+fygbe2HZXOA==} + '@rollup/rollup-darwin-arm64@4.64.6': + resolution: {integrity: sha512-PQCl3q7b0BgvVt72i2xrWM6I5KliwwVe4GpWW5QDGyUQawDS9aPZss/aGyFqBmxdRxlE8wDc9CaxiQ5DHRSp/Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.63.2': - resolution: {integrity: sha512-N58uktcwzk3+qT4KHEuNdIxX1N01RWrkfVoml69EAbSaNDL+sbNVLx2RMl4Qd23lpA0fgPvyh5hHb4weD5WKmg==} + '@rollup/rollup-darwin-x64@4.64.6': + resolution: {integrity: sha512-l9DFl1Itb1YYdSrP1K3U8ih44AOHa/p+Q4WMMDfGvH5qVWp+ajfgS1DlYo4yCRh8wJ2ZJv0Fqccf+ULAmMFjmg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.63.2': - resolution: {integrity: sha512-HWF2zH8EAp2scWRpt2PGe6iUGz7zi04waXsdRr3zb4DWCk2ImIo5FZu0jjmD53nP/DGSvnW0e7/1ToCNZs2lZw==} + '@rollup/rollup-freebsd-arm64@4.64.6': + resolution: {integrity: sha512-bR4GR3205N9+od0+l5Dd9/iZTDpJkIe6d6Ydp2qbcQZJLmKBdYQQRp8gbWpbMt92twKJY66o1vK4NkoKQODIrA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.63.2': - resolution: {integrity: sha512-MkvcwHMnzPSMOQEwB6wHnLzmc+hT8BGc5bW/Mhmjjgx3wbj6VBnlc47XsK74kD0K9MikFfXpQqyz4NUXaUW62A==} + '@rollup/rollup-freebsd-x64@4.64.6': + resolution: {integrity: sha512-XTVNaDzcFl2TeBglvxdGgsCv9JGtAGRAoJENmGBR/XvDH2mA2K0IXc2aMfP0dR8mexSXSKifJ85FixoXX1wfTw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.63.2': - resolution: {integrity: sha512-xe1bCKPJaKsD0tfd7Rb6bGfUogJTpKbTEEthsfdb7hTfTRNJVQTdirabQx0o6ERVba/smkM720soMY+0QnrlSQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.64.6': + resolution: {integrity: sha512-qWc6qbc+25ugG9vqPR9P422KJBbVfZ05mjcMggoq8tsfWP+eRfC+/tiDdIlRF5VL2pDVZWN9zAhWsmu7R1+7Dw==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.63.2': - resolution: {integrity: sha512-yOM7LdK0p6gk6+Q773OEwtlsikT1TL3yMmYsTtRlDRPha5vV2DC5x7LqRWDr6f3cSYNMKVqxzffXv8ivxNBIFQ==} + '@rollup/rollup-linux-arm-musleabihf@4.64.6': + resolution: {integrity: sha512-V4Nwkp8844X/Xnww3PI1LYS0YPei8XQEVG70R+5MPZGO7AhYoun4hCN7Svs4U3wbQLZbwiz+9xRFhUZZdRl8Ww==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.63.2': - resolution: {integrity: sha512-qiWuJJV3DybA2IfzvRimeKXGrGuVPv1zobSY/26KnP3HbV0VcNb3ECzgvtbvF3xjSMkcooou6HASXZuLdjnhpQ==} + '@rollup/rollup-linux-arm64-gnu@4.64.6': + resolution: {integrity: sha512-xb72A1aPaaIsp+a88VtRae/ovIEXislbUMyp7b9AQQU7ZkP2m/+ik6DW9TQcJyw5R8/RIailF9zExYwkjR++UA==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.63.2': - resolution: {integrity: sha512-akcZquRzCY/KpUoZAMBhGf7oi4LmXq1BzRA5CPAC3rkUf28Y/sAYV3jSL+JKd7cwEyFvR5G0XVZ0gaMedP+60A==} + '@rollup/rollup-linux-arm64-musl@4.64.6': + resolution: {integrity: sha512-pbcs1BVBwC43hZkjhjlF8Rx8m5G0KnhLZs9Azy/gqccP6UsNSzJr0hKGIAVPqzAH1O/NdPxxC9GVGb4msQg/aw==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.63.2': - resolution: {integrity: sha512-fNwYHrPyYyxauPzX/cpYw8Z7LQpp+DGA0KCoswA0aVFBpmdMil9XgjB8V3Ny64Ihu797+GKcuJqnsOKEmor7fA==} + '@rollup/rollup-linux-loong64-gnu@4.64.6': + resolution: {integrity: sha512-EKOC8os6Vsg487ZLKUqzLF99Jsmnq6tu7O7mAELakNpcA+8KadktFf/JYdRuHe/DzCUXmN38pUKu4XBcKlqGbQ==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.63.2': - resolution: {integrity: sha512-XfvsgzR7DZqREdst7K1Mj3ilSUM5xLAHJcIMDFPKdxTs9q5VHOT8aMA+a683fqBu7DQl8+Sd9HCsQYL8EMY9qA==} + '@rollup/rollup-linux-loong64-musl@4.64.6': + resolution: {integrity: sha512-v/SQ68GnSlr/HyjB79sNXesGDwkOPu9JjbHfmWaymCiM+nZsQ9TstG1KfA4MuEvTr2d3PoY8PhFxj9bt0e32JA==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.63.2': - resolution: {integrity: sha512-Pp7gVZggEFlbcuztay+/U0gVG9S1XAh8i7I1Re/htbAzo43P5wHZHw6pTyzotISqlKohoh9RpIfnOz3RbemK1w==} + '@rollup/rollup-linux-ppc64-gnu@4.64.6': + resolution: {integrity: sha512-G3pmliMQ7r15zFFNwBlaT/xTdSLi4lfgI7CUrQueyKYheNVhrd8JrWCE6Ll8xf4AA1RZFqq+mNJYntiElsVOyA==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.63.2': - resolution: {integrity: sha512-zkgL2xff6i7u5hau/m6FGeS8gRkLEdgLw522WGmdWWlLd9btmNl3S80mcEjtGq+kvgUekQ3+BOYLLLcPlS2LIA==} + '@rollup/rollup-linux-ppc64-musl@4.64.6': + resolution: {integrity: sha512-XQTB/IPoB/wG6x/wu9uomAt8YH61IAr5iZTubMiad/lu88sotq2ocz9hJd556+Jz2kIkF7ZQZIsUuWE3OWqtcA==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.63.2': - resolution: {integrity: sha512-qOheJomrkVCbbHFJ7L3J97cnhfogKqguAQphv26+3ZsAQIF1L19b+dArl//s8rjJHJLz9byykyM8NBP4nmSa1g==} + '@rollup/rollup-linux-riscv64-gnu@4.64.6': + resolution: {integrity: sha512-O5mpokth6+ydMuwiGtY8fIjvOBfH7u6SzmDNmZ3k6GK5C6iEAC2q2ZN/T5L9jYILx0IcCT0KnfMDihQ5yQFSBw==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.63.2': - resolution: {integrity: sha512-XlxLD54wQhH3FciCgMofxBw27NzUe818gJH410qWvc41UT0ZFcgxVjyX5/EK8MPTupjeVWqN5oy+9pCA9mqfCA==} + '@rollup/rollup-linux-riscv64-musl@4.64.6': + resolution: {integrity: sha512-aIFxbAD9v3TvIaEDsKmukjcDg1JS4/tFXw8SHyQQgzOwzWCQ4cyDK7Ju1pQKqUXDFkEu/BZCFDCDATsKhQcB/Q==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.63.2': - resolution: {integrity: sha512-vdryWeRb2bLJZf0Fv/W8se6nvsHe2PkTCxV0meheK3nQE+G90VCJcke51Miy1yQRsfm2uqIyjXOu4wmUzbTtkQ==} + '@rollup/rollup-linux-s390x-gnu@4.64.6': + resolution: {integrity: sha512-fuNo1UwBc6BxnHDOxxguQL/InhheMN3RJcJMb0b4xP8r5Q3CNCrJbVg0eCIFuJ4e/zAfjR2gYbOfbzO/G7CIyw==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.63.2': - resolution: {integrity: sha512-bcq2h2pkKmH2po4cZV8VWzO4lL40STyu/nLoFpYMQp9C2tCVNTdcVv86MwSsn3D5s1FBe2Ty1atqvVAUTMimNg==} + '@rollup/rollup-linux-x64-gnu@4.64.6': + resolution: {integrity: sha512-05v6wFKDKJPZs9xlytVrrRu6IbRuoSvlH9xNwEOafXsKyjBFZPvAcZz2VIAB/M+lblYeKa9iOYC4RDVdfcAAaw==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.63.2': - resolution: {integrity: sha512-EGoo5DMVMRkTId8fuTDaoxVlR5ZTsKULUezRjd9gCw5eeY+DjCvDpZAOlNUvKPGX+7rS1RWx6j+yOpNPx0cUgQ==} + '@rollup/rollup-linux-x64-musl@4.64.6': + resolution: {integrity: sha512-wJXKcdMjvkc/FaavZXNP1yW4i0pfOmhZAIWRSLG2yJ0PB0TWi7dkLErhX0u0vptDcXKKO/m1Y/YTeuyvb2MXwg==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.63.2': - resolution: {integrity: sha512-MErl12k7BFHZG1TI9QF/3lSSZARzq9KgNy/FjnqFMCkv+N4RSSzoUCA5h2mqHX4Mox3WaTVKblyzhQ1zRb2ZuQ==} + '@rollup/rollup-openbsd-x64@4.64.6': + resolution: {integrity: sha512-cwg7/h0ThvJwy8CBkmACdiHAxRWpbsCmIsjOt+Zzx0hTnIcSUmKYEV03bGg+hD827OnwUsbKh1ZZDW754xWyBA==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.63.2': - resolution: {integrity: sha512-ILs8k07Wh4p0PsNY4wYLEaXZKMOpVhrG5QDB0yHhGhuzOfDlnyHN6sflL4El/MpUP1y8uY2lUZrv4oBS6pTT3g==} + '@rollup/rollup-openharmony-arm64@4.64.6': + resolution: {integrity: sha512-T0RkYIJbdYXJEQFw+tMBO09KDFdgmNxkHsof3wWAABrvnx15Yh8RytmrgYy9+q9cBeBNZF66MMQZC+5nzEz6vg==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.63.2': - resolution: {integrity: sha512-hKgB3nz/TKD3Wv78XEsyXzQsNjvhOHmwKQTvXADGOyU/cIClZDO7DsoggbdmJDPGp5V80tA3Vfv61PaKTLH3LA==} + '@rollup/rollup-win32-arm64-msvc@4.64.6': + resolution: {integrity: sha512-KlfpmF1AAIdAWxt8QQNClbpLFlAUfYOzqIuJ7IXEStMHpFRuH78RG6FjqPb3Rqhh0K89F5npvG+/i3Fjl6IveQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.63.2': - resolution: {integrity: sha512-T4wf1mudIDxN8Q/CWIBJC1u5gQUc+r5mPvlwoSbIvNkyVTP2TAFeobEmst5AQ4gMyAz4sSByVdoTDfvTmGK/8g==} + '@rollup/rollup-win32-ia32-msvc@4.64.6': + resolution: {integrity: sha512-MrTLjd7Jlt9/ZavJZYG61KQv9Iy9bzbY+yXy73Xvwoa2uP66wvDShkyBr5Chz/yrE6lbD/zHMuTmKQVNQqBApg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.63.2': - resolution: {integrity: sha512-tC3IY7qoaD9Ll3/8WJQn49j5V2f/NuI9S41NOE2iM5MPs3sPIvOkVToLcz/7Bz4pyF7PSvrtwu8I/pUrGOSecQ==} + '@rollup/rollup-win32-x64-gnu@4.64.6': + resolution: {integrity: sha512-8fWDH1CkPI8GdBKAxzHDza7UmgficsKo2+MVbvUgOGhB0629w5sHMg3Qu5y7TZsrYKHHWpz8fla4KvoT7WsO3Q==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.63.2': - resolution: {integrity: sha512-6NHnk/K3eq2ZFYcU1X8g67s9qIJRCOTT92gwLMVBp08dB2uuuwI1/Q/empzL2Bfr2f2WRLJVwpp90RmacQyFkw==} + '@rollup/rollup-win32-x64-msvc@4.64.6': + resolution: {integrity: sha512-9/c9PWdr5GCIHkkxiHM1HjNBQMVdftP4O8QTcoUAaRza2FSqJ4axbf8QAnBuE6BIGQDl71SaRPeDdDYid5ecTw==} cpu: [x64] os: [win32] @@ -1715,8 +1707,8 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cac@7.0.0: - resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + cac@7.1.0: + resolution: {integrity: sha512-LMDU/U2yA4IPIY8KT0NsNPWEYZvAMkbgyspxJ6btJaYV+WMDOHAZCmB0lsTObiHaRS1V/ztKAl7+TSkTqXyeoA==} engines: {node: '>=20.19.0'} call-bind-apply-helpers@1.0.2: @@ -1727,8 +1719,8 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - caniuse-lite@1.0.30001815: - resolution: {integrity: sha512-uDybUEyfgbyJJ93J1vikTylBX31AkdVYeVPeffMQpf8XN7hSfr0oZOn4VFOIMNvtU5+rHvC5Udg2TgtJKHm23Q==} + caniuse-lite@1.0.30001816: + resolution: {integrity: sha512-+8Yx7BXCoqk6IF8yTicjfUR6D/ldJzdlsodlEOiOSPmhK844WIgk67/zIQaGAOxNkZyyvBlrRFnLvqKIoqbAFw==} chai@6.3.0: resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} @@ -1898,8 +1890,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.452: - resolution: {integrity: sha512-cVvk1YBSj6571VmV6hdJTqj94Y79xSu8cj6Y9t6ae4Y4431z8/7EJFvu3rVp90xhfuv9BpPKUmaLfTo4+FOGBg==} + electron-to-chromium@1.5.456: + resolution: {integrity: sha512-8hboqI6xesozteFb8aa7OGknvxUtTeRJLz0FoePysUEh/oWbddykIGdgpEJRbPRg/nIMfBf2DFos+H2MtvJl2A==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -1908,8 +1900,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - enhanced-resolve@5.24.5: - resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} + enhanced-resolve@5.26.0: + resolution: {integrity: sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -2132,8 +2124,8 @@ packages: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - human-id@4.2.1: - resolution: {integrity: sha512-zPGsiS+dWoTZtZ4AtpA9Y+BdSFSNWvnouNlWNoUFyAM6xHOHmdCvqO3k8AIbdamCOv4gUFUVNPf6rJFfc4UiJw==} + human-id@4.2.2: + resolution: {integrity: sha512-Z+8unD6em/MJwyrkWQ2M3wygRGI1+MztbutiNwk1DCuEPXOZRWGjtcMPZYP1exY9iNZMhd7ZOSMQSo9WYtiQRw==} hasBin: true human-signals@2.1.0: @@ -2161,8 +2153,8 @@ packages: iota-array@1.0.0: resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} - ip-address@10.7.3: - resolution: {integrity: sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==} + ip-address@10.7.4: + resolution: {integrity: sha512-DWBMKyeM25D70nrIiTkgQth59/G+naKOTep6huF9j+GmeK3DMD60Zvxg5d5qQnz+38AHgou6ean2LECX+lrKDg==} engines: {node: '>= 12'} ipaddr.js@1.9.1: @@ -2312,8 +2304,8 @@ packages: ktx-parse@1.1.0: resolution: {integrity: sha512-mKp3y+FaYgR7mXWAbyyzpa/r1zDWeaunH+INJO4fou3hb45XuNSwar+7llrRyvpMWafxSIi99RNFJ05MHedaJQ==} - launch-editor@2.14.1: - resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + launch-editor@2.14.2: + resolution: {integrity: sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==} lightningcss-android-arm64@1.32.0: resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} @@ -2679,8 +2671,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-manager-detector@1.8.0: - resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} @@ -2801,8 +2793,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack: - resolution: {gitHosted: true, integrity: sha512-xuDQhIURhxGfuNYT0yo6Lwf5l+YeT7E/NWeSEOEJFbhZnz5PDAAekyBJd/iaxp10OkX6LT7m1PYOftwkiZe2Zw==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2} + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack: + resolution: {gitHosted: true, integrity: sha512-Z5XMXB7rWWisJRGn9v0/s5I4pmhbG4Kb9MEDJCJfIWOrknpx30mvzhc/Ka97pWbrNeTTgZx1PByANH80tbmouA==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3} version: 4.4.2 engines: {node: '>=24 <25'} hasBin: true @@ -2844,8 +2836,8 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.63.2: - resolution: {integrity: sha512-l5eyksV4tPBj6lJyEa37YzIOCSOV7lkZzEHUdpjWZbtD7wTcFYmEYXSgm5bT4vV+dZLb9rBG1W9GROOG4NS4Ew==} + rollup@4.64.6: + resolution: {integrity: sha512-fX1Vy+UNKdXn+xKDnu/HBXbHVr1AY8cSdQj9BU4kLv5aFCMqGpvrVbyUMmjN3DdzWhSAuTbcX8PCNEVaumthYA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2908,8 +2900,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.11.0: - resolution: {integrity: sha512-JdxDPD0DBTyu08pq0kPC0xSNet/qsU07qT6IsX1AS8oO2ICNRY4ldNa8OAI6PuwAH8tG3lxEhbqmyp4Dw4036g==} + shell-quote@1.12.0: + resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} engines: {node: '>= 0.4'} side-channel-list@1.0.1: @@ -2946,10 +2938,6 @@ packages: resolution: {integrity: sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.2: resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} engines: {node: '>=0.10.0'} @@ -3517,10 +3505,10 @@ snapshots: '@clack/prompts': 1.8.1 '@manypkg/get-packages': 3.1.0 '@pnpm/deps.graph-sequencer': 1100.0.1 - cac: 7.0.0 + cac: 7.1.0 import-meta-resolve: 4.2.0 - launch-editor: 2.14.1 - package-manager-detector: 1.8.0 + launch-editor: 2.14.2 + package-manager-detector: 1.9.0 semver: 7.8.5 tinyexec: 1.3.1 @@ -3536,7 +3524,7 @@ snapshots: '@changesets/format@0.1.2': dependencies: - package-manager-detector: 1.8.0 + package-manager-detector: 1.9.0 tinyexec: 1.3.1 '@changesets/get-dependents-graph@3.0.0': @@ -3579,7 +3567,7 @@ snapshots: dependencies: '@changesets/format': 0.1.2 '@changesets/types': 7.0.0 - human-id: 4.2.1 + human-id: 4.2.2 '@clack/core@1.5.1': dependencies: @@ -3740,7 +3728,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@hono/node-server@2.1.4(hono@4.13.13)': + '@hono/node-server@2.1.5(hono@4.13.13)': dependencies: hono: 4.13.13 @@ -3888,7 +3876,7 @@ snapshots: '@modelcontextprotocol/sdk@1.32.1(zod@3.25.76)': dependencies: - '@hono/node-server': 2.1.4(hono@4.13.13) + '@hono/node-server': 2.1.5(hono@4.13.13) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -4078,7 +4066,7 @@ snapshots: dependencies: '@posthog/types': 1.416.0 - '@posthog/plugin-utils@2.0.0': + '@posthog/plugin-utils@2.0.1': dependencies: cross-spawn: 7.0.6 @@ -4089,12 +4077,12 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@posthog/rollup-plugin@1.6.1(rollup@4.63.2)': + '@posthog/rollup-plugin@1.6.1(rollup@4.64.6)': dependencies: '@posthog/cli': 0.16.2 - '@posthog/plugin-utils': 2.0.0 + '@posthog/plugin-utils': 2.0.1 magic-string: 0.30.21 - rollup: 4.63.2 + rollup: 4.64.6 '@posthog/types@1.416.0': {} @@ -4145,79 +4133,79 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@rollup/rollup-android-arm-eabi@4.63.2': + '@rollup/rollup-android-arm-eabi@4.64.6': optional: true - '@rollup/rollup-android-arm64@4.63.2': + '@rollup/rollup-android-arm64@4.64.6': optional: true - '@rollup/rollup-darwin-arm64@4.63.2': + '@rollup/rollup-darwin-arm64@4.64.6': optional: true - '@rollup/rollup-darwin-x64@4.63.2': + '@rollup/rollup-darwin-x64@4.64.6': optional: true - '@rollup/rollup-freebsd-arm64@4.63.2': + '@rollup/rollup-freebsd-arm64@4.64.6': optional: true - '@rollup/rollup-freebsd-x64@4.63.2': + '@rollup/rollup-freebsd-x64@4.64.6': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.63.2': + '@rollup/rollup-linux-arm-gnueabihf@4.64.6': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.63.2': + '@rollup/rollup-linux-arm-musleabihf@4.64.6': optional: true - '@rollup/rollup-linux-arm64-gnu@4.63.2': + '@rollup/rollup-linux-arm64-gnu@4.64.6': optional: true - '@rollup/rollup-linux-arm64-musl@4.63.2': + '@rollup/rollup-linux-arm64-musl@4.64.6': optional: true - '@rollup/rollup-linux-loong64-gnu@4.63.2': + '@rollup/rollup-linux-loong64-gnu@4.64.6': optional: true - '@rollup/rollup-linux-loong64-musl@4.63.2': + '@rollup/rollup-linux-loong64-musl@4.64.6': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.63.2': + '@rollup/rollup-linux-ppc64-gnu@4.64.6': optional: true - '@rollup/rollup-linux-ppc64-musl@4.63.2': + '@rollup/rollup-linux-ppc64-musl@4.64.6': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.63.2': + '@rollup/rollup-linux-riscv64-gnu@4.64.6': optional: true - '@rollup/rollup-linux-riscv64-musl@4.63.2': + '@rollup/rollup-linux-riscv64-musl@4.64.6': optional: true - '@rollup/rollup-linux-s390x-gnu@4.63.2': + '@rollup/rollup-linux-s390x-gnu@4.64.6': optional: true - '@rollup/rollup-linux-x64-gnu@4.63.2': + '@rollup/rollup-linux-x64-gnu@4.64.6': optional: true - '@rollup/rollup-linux-x64-musl@4.63.2': + '@rollup/rollup-linux-x64-musl@4.64.6': optional: true - '@rollup/rollup-openbsd-x64@4.63.2': + '@rollup/rollup-openbsd-x64@4.64.6': optional: true - '@rollup/rollup-openharmony-arm64@4.63.2': + '@rollup/rollup-openharmony-arm64@4.64.6': optional: true - '@rollup/rollup-win32-arm64-msvc@4.63.2': + '@rollup/rollup-win32-arm64-msvc@4.64.6': optional: true - '@rollup/rollup-win32-ia32-msvc@4.63.2': + '@rollup/rollup-win32-ia32-msvc@4.64.6': optional: true - '@rollup/rollup-win32-x64-gnu@4.63.2': + '@rollup/rollup-win32-x64-gnu@4.64.6': optional: true - '@rollup/rollup-win32-x64-msvc@4.63.2': + '@rollup/rollup-win32-x64-msvc@4.64.6': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -4255,11 +4243,11 @@ snapshots: '@tailwindcss/node@4.3.3': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.24.5 + enhanced-resolve: 5.26.0 jiti: 2.7.0 lightningcss: 1.32.0 magic-string: 0.30.21 - source-map-js: 1.2.1 + source-map-js: 1.2.2 tailwindcss: 4.3.3 '@tailwindcss/oxide-android-arm64@4.3.3': @@ -4536,8 +4524,8 @@ snapshots: browserslist@4.29.3: dependencies: baseline-browser-mapping: 2.11.28 - caniuse-lite: 1.0.30001815 - electron-to-chromium: 1.5.452 + caniuse-lite: 1.0.30001816 + electron-to-chromium: 1.5.456 node-releases: 2.0.58 update-browserslist-db: 1.3.4(browserslist@4.29.3) @@ -4547,7 +4535,7 @@ snapshots: bytes@3.1.2: {} - cac@7.0.0: {} + cac@7.1.0: {} call-bind-apply-helpers@1.0.2: dependencies: @@ -4559,7 +4547,7 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - caniuse-lite@1.0.30001815: {} + caniuse-lite@1.0.30001816: {} chai@6.3.0: {} @@ -4682,13 +4670,13 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.452: {} + electron-to-chromium@1.5.456: {} emoji-regex@10.6.0: {} encodeurl@2.0.0: {} - enhanced-resolve@5.24.5: + enhanced-resolve@5.26.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 @@ -4792,7 +4780,7 @@ snapshots: dependencies: debug: 4.4.3 express: 5.3.0 - ip-address: 10.7.3 + ip-address: 10.7.4 transitivePeerDependencies: - supports-color @@ -4972,7 +4960,7 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - human-id@4.2.1: {} + human-id@4.2.2: {} human-signals@2.1.0: {} @@ -4990,7 +4978,7 @@ snapshots: iota-array@1.0.0: {} - ip-address@10.7.3: {} + ip-address@10.7.4: {} ipaddr.js@1.9.1: {} @@ -5082,10 +5070,10 @@ snapshots: ktx-parse@1.1.0: {} - launch-editor@2.14.1: + launch-editor@2.14.2: dependencies: picocolors: 1.1.1 - shell-quote: 1.11.0 + shell-quote: 1.12.0 lightningcss-android-arm64@1.32.0: optional: true @@ -5430,7 +5418,7 @@ snapshots: p-try@2.2.0: {} - package-manager-detector@1.8.0: {} + package-manager-detector@1.9.0: {} parse-ms@4.0.0: {} @@ -5526,12 +5514,14 @@ snapshots: range-parser@1.3.0: {} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 '@playwright/test': 1.64.0 '@posthog/react': 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + '@posthog/rollup-plugin': 1.6.1(rollup@4.64.6) + '@tailwindcss/vite': 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@types/node': 26.2.0 '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) @@ -5543,6 +5533,8 @@ snapshots: posthog-js: 1.438.12(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) + tailwindcss: 4.3.3 + tw-animate-css: 1.4.0 typescript: 7.0.2 vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) vitest: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) @@ -5566,6 +5558,7 @@ snapshots: - msw - oxc-transform-react - preact-render-to-string + - rollup - sass - sass-embedded - stylus @@ -5630,36 +5623,36 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.13 '@rolldown/binding-win32-x64-msvc': 1.2.13 - rollup@4.63.2: + rollup@4.64.6: dependencies: '@types/estree': 1.0.9 optionalDependencies: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 - '@rollup/rollup-android-arm-eabi': 4.63.2 - '@rollup/rollup-android-arm64': 4.63.2 - '@rollup/rollup-darwin-arm64': 4.63.2 - '@rollup/rollup-darwin-x64': 4.63.2 - '@rollup/rollup-freebsd-arm64': 4.63.2 - '@rollup/rollup-freebsd-x64': 4.63.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.63.2 - '@rollup/rollup-linux-arm-musleabihf': 4.63.2 - '@rollup/rollup-linux-arm64-gnu': 4.63.2 - '@rollup/rollup-linux-arm64-musl': 4.63.2 - '@rollup/rollup-linux-loong64-gnu': 4.63.2 - '@rollup/rollup-linux-loong64-musl': 4.63.2 - '@rollup/rollup-linux-ppc64-gnu': 4.63.2 - '@rollup/rollup-linux-ppc64-musl': 4.63.2 - '@rollup/rollup-linux-riscv64-gnu': 4.63.2 - '@rollup/rollup-linux-riscv64-musl': 4.63.2 - '@rollup/rollup-linux-s390x-gnu': 4.63.2 - '@rollup/rollup-linux-x64-gnu': 4.63.2 - '@rollup/rollup-linux-x64-musl': 4.63.2 - '@rollup/rollup-openbsd-x64': 4.63.2 - '@rollup/rollup-openharmony-arm64': 4.63.2 - '@rollup/rollup-win32-arm64-msvc': 4.63.2 - '@rollup/rollup-win32-ia32-msvc': 4.63.2 - '@rollup/rollup-win32-x64-gnu': 4.63.2 - '@rollup/rollup-win32-x64-msvc': 4.63.2 + '@rollup/rollup-android-arm-eabi': 4.64.6 + '@rollup/rollup-android-arm64': 4.64.6 + '@rollup/rollup-darwin-arm64': 4.64.6 + '@rollup/rollup-darwin-x64': 4.64.6 + '@rollup/rollup-freebsd-arm64': 4.64.6 + '@rollup/rollup-freebsd-x64': 4.64.6 + '@rollup/rollup-linux-arm-gnueabihf': 4.64.6 + '@rollup/rollup-linux-arm-musleabihf': 4.64.6 + '@rollup/rollup-linux-arm64-gnu': 4.64.6 + '@rollup/rollup-linux-arm64-musl': 4.64.6 + '@rollup/rollup-linux-loong64-gnu': 4.64.6 + '@rollup/rollup-linux-loong64-musl': 4.64.6 + '@rollup/rollup-linux-ppc64-gnu': 4.64.6 + '@rollup/rollup-linux-ppc64-musl': 4.64.6 + '@rollup/rollup-linux-riscv64-gnu': 4.64.6 + '@rollup/rollup-linux-riscv64-musl': 4.64.6 + '@rollup/rollup-linux-s390x-gnu': 4.64.6 + '@rollup/rollup-linux-x64-gnu': 4.64.6 + '@rollup/rollup-linux-x64-musl': 4.64.6 + '@rollup/rollup-openbsd-x64': 4.64.6 + '@rollup/rollup-openharmony-arm64': 4.64.6 + '@rollup/rollup-win32-arm64-msvc': 4.64.6 + '@rollup/rollup-win32-ia32-msvc': 4.64.6 + '@rollup/rollup-win32-x64-gnu': 4.64.6 + '@rollup/rollup-win32-x64-msvc': 4.64.6 fsevents: 2.3.3 router@2.2.0: @@ -5792,7 +5785,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.11.0: {} + shell-quote@1.12.0: {} side-channel-list@1.0.1: dependencies: @@ -5832,11 +5825,9 @@ snapshots: socks@2.8.10: dependencies: - ip-address: 10.7.3 + ip-address: 10.7.4 smart-buffer: 4.2.0 - source-map-js@1.2.1: {} - source-map-js@1.2.2: {} source-map@0.6.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 281ff3c..8a607e1 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,7 @@ allowBuilds: '@posthog/cli': true core-js: true esbuild: true - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eebc2bec147e93b679d301e25fb4e29e71b7c0a2#path:/packages/ras-stack: true + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack: true minimumReleaseAgeExclude: # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. diff --git a/ras.config.ts b/ras.config.ts index 98c1f57..3b031a3 100644 --- a/ras.config.ts +++ b/ras.config.ts @@ -1,6 +1,6 @@ -import { defineConfig, posthog, typescript, oxlint, oxfmt, vite, vitest, playwright } from 'ras-stack/config' +import { defineConfig, posthog, typescript, oxlint, oxfmt, tailwind, vite, vitest, playwright } from 'ras-stack/config' export default defineConfig({ integrations: [posthog.react], - tooling: [typescript.tanstack, oxlint.application, oxlint.domain, oxfmt, vite, vitest, playwright], + tooling: [typescript.tanstack, oxlint.application, oxlint.domain, oxfmt, tailwind.animations, posthog.build, vite, vitest, playwright], }) diff --git a/ras.lock b/ras.lock index 58c4f31..b17dae3 100644 --- a/ras.lock +++ b/ras.lock @@ -1,10 +1,12 @@ { "version": 1, - "fingerprint": "90e2fad0817bd44fe9bd96d078210f9afb120c629400e520cee2664da3ab89dd", + "fingerprint": "312b8717cb6df8f12983a292ca53518c56363d022d989bf2e2144cb8f5471ce5", "plan": { "dependencies": { "@playwright/test": "1.64.0", "@posthog/react": "1.11.3", + "@posthog/rollup-plugin": "1.6.1", + "@tailwindcss/vite": "4.3.3", "@types/node": "26.2.0", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", @@ -16,6 +18,8 @@ "posthog-js": "1.438.12", "react": "19.3.0", "react-dom": "19.3.0", + "tailwindcss": "4.3.3", + "tw-animate-css": "1.4.0", "typescript": "7.0.2", "vite": "8.3.4", "vitest": "5.0.3" @@ -74,6 +78,12 @@ "application", "domain" ], + "vite": [ + "tailwind", + "tailwind-animations", + "posthog", + "react" + ], "typescript": "tanstack" }, "allowBuilds": [] diff --git a/src/styles.css b/src/styles.css index f60aa40..e1e2a47 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1,5 +1,3 @@ -@import 'tailwindcss' source('./'); -@import 'tw-animate-css'; @import 'shadcn/tailwind.css'; @import '@fontsource/barlow-semi-condensed/400.css'; @import '@fontsource/barlow-semi-condensed/500.css'; diff --git a/vite.config.ts b/vite.config.ts index b13f975..fe097a6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,27 +1,5 @@ -import { fileURLToPath } from 'node:url' -import posthogRollup from '@posthog/rollup-plugin' -import tailwindcss from '@tailwindcss/vite' -import react from '@vitejs/plugin-react' -import { defineConfig, loadEnv } from 'vite' +import { defineViteConfig } from 'ras-stack/vite' -export default defineConfig(({ mode }) => { - const env = loadEnv(mode, process.cwd(), '') - const sourceMapUpload = - env.CF_PAGES === '1' && env.POSTHOG_API_KEY && env.POSTHOG_PROJECT_ID - ? posthogRollup({ - personalApiKey: env.POSTHOG_API_KEY, - projectId: env.POSTHOG_PROJECT_ID, - host: env.POSTHOG_HOST, - sourcemaps: { enabled: true, deleteAfterUpload: true }, - }) - : undefined - - return { - plugins: [react(), tailwindcss(), sourceMapUpload], - resolve: { - alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, - }, - // The WASM and font assets are fetched by the worker at runtime, not inlined. - assetsInclude: ['**/*.woff'], - } +export default defineViteConfig({ + assetsInclude: ['**/*.woff'], }) From 900070834f96249d8183915edd78a1e3accff857 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 17:57:44 +0300 Subject: [PATCH 04/11] refactor(deps): use native ras dependency linking --- .gitignore | 1 - .pnpmfile.cjs | 7 +-- CONTRIBUTING.md | 4 +- package.json | 2 +- pnpm-lock.yaml | 144 ++++++++++++++++++++++++++++---------------- pnpm-workspace.yaml | 2 +- ras.lock | 91 ---------------------------- 7 files changed, 98 insertions(+), 153 deletions(-) delete mode 100644 ras.lock diff --git a/.gitignore b/.gitignore index 0124063..0d326f0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ playwright-report *.local .DS_Store .ras/ -.ras-*/ .ras-install.lock/ diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs index 0c308bf..eeb994e 100644 --- a/.pnpmfile.cjs +++ b/.pnpmfile.cjs @@ -1,4 +1,4 @@ -// Generated by ras install. Commit this file with ras.lock and pnpm-lock.yaml. +// Generated by ras install. Commit this file with pnpm-lock.yaml. const dependencies = { "@playwright/test": "1.64.0", "@posthog/react": "1.11.3", @@ -21,6 +21,7 @@ const dependencies = { "vite": "8.3.4", "vitest": "5.0.3" }; +const consumer = "basekit"; const allowBuilds = []; module.exports = { hooks: { @@ -35,13 +36,11 @@ module.exports = { } return { ...config, - publicHoistPattern: [...new Set([...(config.publicHoistPattern ?? []), ...Object.keys(dependencies)])], - overrides: { ...config.overrides, ...dependencies }, allowBuilds: { ...Object.fromEntries(Object.keys(dependencies).map(name => [name, false])), ...config.allowBuilds, ...Object.fromEntries(allowBuilds.map(name => [name, true])) }, } }, readPackage(pkg) { - if (pkg.name === 'ras-stack') { + if (pkg.name === consumer || pkg.name === 'ras-stack') { pkg.dependencies = { ...pkg.dependencies, ...dependencies } } return pkg diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc124d5..a551883 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,6 +80,6 @@ The shared Oxlint domain preset restricts Node and framework imports in `src/cor ## Managed dependencies and tools -Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. +Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. pnpm installs the selected packages as dependencies of this application and RAS, without workspace-wide overrides, hoisting rules, or link repair. `pnpm-lock.yaml` is the only lockfile. -After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `ras.lock`, `.pnpmfile.cjs`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. Keep `/.pnpmfile.cjs` in the Oxfmt configuration's `ignorePatterns`: pnpm checksums the hook's exact bytes. +After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `.pnpmfile.cjs`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. Keep `/.pnpmfile.cjs` in the Oxfmt configuration's `ignorePatterns`: pnpm checksums the hook's exact bytes. diff --git a/package.json b/package.json index d10149b..94723c5 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#a1138e15ad73be185b186281c4fdaf72636f18b3&path:/packages/ras-stack", + "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#eb0b4a67d395dec7fdcb220597681fb30560567e&path:/packages/ras-stack", "three": "^0.186.1" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44bcf1d..01f8293 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,29 +4,7 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - '@playwright/test': 1.64.0 - '@posthog/react': 1.11.3 - '@posthog/rollup-plugin': 1.6.1 - '@tailwindcss/vite': 4.3.3 - '@types/node': 26.2.0 - '@types/react': 19.3.0 - '@types/react-dom': 19.3.0 - '@vitejs/plugin-react': 6.1.2 - '@vitest/coverage-v8': 5.0.3 - oxfmt: 0.72.0 - oxlint: 1.87.0 - oxlint-tsgolint: 7.0.2004 - posthog-js: 1.438.12 - react: 19.3.0 - react-dom: 19.3.0 - tailwindcss: 4.3.3 - tw-animate-css: 1.4.0 - typescript: 7.0.2 - vite: 8.3.4 - vitest: 5.0.3 - -pnpmfileChecksum: sha256-rtsvcyyfMMe3BllPXE0w+GZlQZfyL0yveBA5VfYMhOQ= +pnpmfileChecksum: sha256-epg5K6r4B211ZNThVX618Ra5gbf1m1KMdM7gJp6fR6M= importers: @@ -41,6 +19,33 @@ importers: '@fontsource/barlow-semi-condensed': specifier: ^5.3.0 version: 5.3.0 + '@playwright/test': + specifier: 1.64.0 + version: 1.64.0 + '@posthog/react': + specifier: 1.11.3 + version: 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + '@posthog/rollup-plugin': + specifier: 1.6.1 + version: 1.6.1(rollup@4.64.6) + '@tailwindcss/vite': + specifier: 4.3.3 + version: 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@types/node': + specifier: 26.2.0 + version: 26.2.0 + '@types/react': + specifier: 19.3.0 + version: 19.3.0 + '@types/react-dom': + specifier: 19.3.0 + version: 19.3.0(@types/react@19.3.0) + '@vitejs/plugin-react': + specifier: 6.1.2 + version: 6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/coverage-v8': + specifier: 5.0.3 + version: 5.0.3(vitest@5.0.3) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -59,12 +64,45 @@ importers: opentype.js: specifier: ^2.0.0 version: 2.0.0 + oxfmt: + specifier: 0.72.0 + version: 0.72.0 + oxlint: + specifier: 1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2004) + oxlint-tsgolint: + specifier: 7.0.2004 + version: 7.0.2004 + posthog-js: + specifier: 1.438.12 + version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: git+https://github.com/richardsolomou/ras-stack.git#a1138e15ad73be185b186281c4fdaf72636f18b3&path:/packages/ras-stack - version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) + specifier: git+https://github.com/richardsolomou/ras-stack.git#eb0b4a67d395dec7fdcb220597681fb30560567e&path:/packages/ras-stack + version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) + react: + specifier: 19.3.0 + version: 19.3.0 + react-dom: + specifier: 19.3.0 + version: 19.3.0(react@19.3.0) + tailwindcss: + specifier: 4.3.3 + version: 4.3.3 three: specifier: ^0.186.1 version: 0.186.1 + tw-animate-css: + specifier: 1.4.0 + version: 1.4.0 + typescript: + specifier: 7.0.2 + version: 7.0.2 + vite: + specifier: 8.3.4 + version: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vitest: + specifier: 5.0.3 + version: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) devDependencies: '@changesets/cli': specifier: 3.0.3 @@ -221,10 +259,10 @@ packages: engines: {node: '>=14.0.0'} peerDependencies: '@date-fns/tz': ^1.2.0 - '@types/react': 19.3.0 + '@types/react': ^17 || ^18 || ^19 date-fns: ^4.0.0 - react: 19.3.0 - react-dom: 19.3.0 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: '@date-fns/tz': optional: true @@ -236,9 +274,9 @@ packages: '@base-ui/utils@0.5.0': resolution: {integrity: sha512-dYGGcEttjkYiMoa5nHm8vLaJ2UcuTWxo3BFAwOYXeRg/q7UVVvA6cacEIXEs3FgBfK1CGtW1ptElqs7wsx+t9A==} peerDependencies: - '@types/react': 19.3.0 - react: 19.3.0 - react-dom: 19.3.0 + '@types/react': ^17 || ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 peerDependenciesMeta: '@types/react': optional: true @@ -494,8 +532,8 @@ packages: '@floating-ui/react-dom@2.1.9': resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} peerDependencies: - react: 19.3.0 - react-dom: 19.3.0 + react: '>=16.8.0' + react-dom: '>=16.8.0' '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} @@ -1049,9 +1087,9 @@ packages: '@posthog/react@1.11.3': resolution: {integrity: sha512-YqvZb2y9jh/yW0ojUtAns0l4yHWqpu+5UeIBxZlXpyGuWlh8M4siXRMtqhEh1BKfqp6Sq2usdsQCuoUzx1QFWQ==} peerDependencies: - '@types/react': 19.3.0 - posthog-js: 1.438.12 - react: 19.3.0 + '@types/react': '>=16.8.0' + posthog-js: '>=1.257.2' + react: '>=16.8.0' peerDependenciesMeta: '@types/react': optional: true @@ -1404,7 +1442,7 @@ packages: '@tailwindcss/vite@4.3.3': resolution: {integrity: sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==} peerDependencies: - vite: 8.3.4 + vite: ^5.2.0 || ^6 || ^7 || ^8 '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} @@ -1433,7 +1471,7 @@ packages: '@types/react-dom@19.3.0': resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} peerDependencies: - '@types/react': 19.3.0 + '@types/react': ^19.3.0 '@types/react@19.3.0': resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} @@ -1580,7 +1618,7 @@ packages: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 oxc-transform-react: ^0.152.0 - vite: 8.3.4 + vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': optional: true @@ -1610,7 +1648,7 @@ packages: resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} peerDependencies: msw: ^2.4.9 - vite: 8.3.4 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true @@ -2469,8 +2507,8 @@ packages: lucide-react@1.55.0: resolution: {integrity: sha512-bSozQHiI3/8q7JvgoqVRGOYUi7fYT3siAZwmZsljjsOH2Husp/2ODdFf/leD+ZC/2yKfn7r8oh6yeoR3ITR5vA==} peerDependencies: - '@types/react': 19.3.0 - react: 19.3.0 + '@types/react': '*' + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -2651,7 +2689,7 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: 7.0.2004 + oxlint-tsgolint: '>=7.0.2003' vite-plus: '*' peerDependenciesMeta: oxlint-tsgolint: @@ -2744,8 +2782,8 @@ packages: posthog-js@1.438.12: resolution: {integrity: sha512-hjhvrtqbk6pFlbtNEGk0FrWKKFdeXe/WWA/LppN0f+uDoHKR9/SZJOxUHSVCGYbGTJvNRoDjjQvZuTcq4oKSlg==} peerDependencies: - '@types/react': 19.3.0 - react: 19.3.0 + '@types/react': '>=16.8.0' + react: '>=16.8.0' peerDependenciesMeta: '@types/react': optional: true @@ -2793,8 +2831,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack: - resolution: {gitHosted: true, integrity: sha512-Z5XMXB7rWWisJRGn9v0/s5I4pmhbG4Kb9MEDJCJfIWOrknpx30mvzhc/Ka97pWbrNeTTgZx1PByANH80tbmouA==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3} + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack: + resolution: {gitHosted: true, integrity: sha512-MUHSEhqrXNbGAkYC0Dk2+1m9l9+snmbnPs3c1kZJlUU/l+q72HfycylvXaK+KeRRuOVbDqRSUA9wrWL55SeU/A==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e} version: 4.4.2 engines: {node: '>=24 <25'} hasBin: true @@ -2806,7 +2844,7 @@ packages: react-dom@19.3.0: resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} peerDependencies: - react: 19.3.0 + react: ^19.3.0 react@19.3.0: resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} @@ -3097,7 +3135,7 @@ packages: use-sync-external-store@1.7.0: resolution: {integrity: sha512-6L+EeigHMQhdaIPNIFUKwfWJSwWFQ8gJbJ2DLOs5sDIegTwR9fRxvnM3uciHKjIZhFz+KAv2emhWMRvDmMcY8A==} peerDependencies: - react: 19.3.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -3115,7 +3153,7 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': 26.2.0 + '@types/node': ^20.19.0 || >=22.12.0 '@vitejs/devtools': ^0.7.1 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' @@ -3160,7 +3198,7 @@ packages: peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': 26.2.0 + '@types/node': ^22.0.0 || >=24.0.0 '@vitest/browser-playwright': 5.0.3 '@vitest/browser-preview': 5.0.3 '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 @@ -3169,7 +3207,7 @@ packages: '@vitest/ui': 5.0.3 happy-dom: '*' jsdom: '*' - vite: 8.3.4 + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -5514,7 +5552,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8a607e1..124030d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,7 +7,7 @@ allowBuilds: '@posthog/cli': true core-js: true esbuild: true - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/a1138e15ad73be185b186281c4fdaf72636f18b3#path:/packages/ras-stack: true + ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack: true minimumReleaseAgeExclude: # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. diff --git a/ras.lock b/ras.lock deleted file mode 100644 index b17dae3..0000000 --- a/ras.lock +++ /dev/null @@ -1,91 +0,0 @@ -{ - "version": 1, - "fingerprint": "312b8717cb6df8f12983a292ca53518c56363d022d989bf2e2144cb8f5471ce5", - "plan": { - "dependencies": { - "@playwright/test": "1.64.0", - "@posthog/react": "1.11.3", - "@posthog/rollup-plugin": "1.6.1", - "@tailwindcss/vite": "4.3.3", - "@types/node": "26.2.0", - "@types/react": "19.3.0", - "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "6.1.2", - "@vitest/coverage-v8": "5.0.3", - "oxfmt": "0.72.0", - "oxlint": "1.87.0", - "oxlint-tsgolint": "7.0.2004", - "posthog-js": "1.438.12", - "react": "19.3.0", - "react-dom": "19.3.0", - "tailwindcss": "4.3.3", - "tw-animate-css": "1.4.0", - "typescript": "7.0.2", - "vite": "8.3.4", - "vitest": "5.0.3" - }, - "commands": { - "typecheck": { - "package": "typescript", - "bin": "tsc", - "args": [ - "--noEmit" - ] - }, - "lint": { - "package": "oxlint", - "bin": "oxlint", - "args": [ - "--type-aware", - "--deny-warnings" - ] - }, - "format": { - "package": "oxfmt", - "bin": "oxfmt", - "args": [ - "--write" - ] - }, - "dev": { - "package": "vite", - "bin": "vite" - }, - "build": { - "package": "vite", - "bin": "vite", - "args": [ - "build" - ] - }, - "test": { - "package": "vitest", - "bin": "vitest", - "args": [ - "run" - ] - }, - "e2e": { - "package": "@playwright/test", - "bin": "playwright", - "args": [ - "test" - ] - } - }, - "presets": { - "oxlint": [ - "application", - "domain" - ], - "vite": [ - "tailwind", - "tailwind-animations", - "posthog", - "react" - ], - "typescript": "tanstack" - }, - "allowBuilds": [] - } -} From f1ffcd1264b24a3455468dcd709f05c0c7e7034f Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 19:13:46 +0300 Subject: [PATCH 05/11] refactor(deps): adopt native pnpm ras configuration --- .github/dependabot.yml | 2 +- .github/workflows/ci.yml | 2 +- .gitignore | 1 - .oxfmtrc.json | 2 +- .oxlintrc.json | 2 +- .pnpmfile.cjs | 49 ---------- CONTRIBUTING.md | 8 +- README.md | 2 +- justfile | 1 - package.json | 3 +- pnpm-lock.yaml | 203 ++++++++++++++++++++++++++++++++++----- pnpm-workspace.yaml | 6 +- 12 files changed, 195 insertions(+), 86 deletions(-) delete mode 100644 .pnpmfile.cjs diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9749ee1..2754e19 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,7 +7,7 @@ updates: cooldown: default-days: 7 allow: - - dependency-name: '*' + - dependency-type: direct update-types: - version-update:semver-minor - version-update:semver-patch diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9e7c7ac..9077791 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: check: uses: richardsolomou/ras-stack/.github/workflows/check-js.yml@v1 with: - command: pnpm exec ras prepare && just check + command: just check just-version: '1.58.0' end-to-end: diff --git a/.gitignore b/.gitignore index 0d326f0..9e4f869 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,3 @@ playwright-report *.local .DS_Store .ras/ -.ras-install.lock/ diff --git a/.oxfmtrc.json b/.oxfmtrc.json index 8a73af4..904e7e1 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -3,5 +3,5 @@ "singleQuote": true, "semi": false, "printWidth": 140, - "ignorePatterns": ["dist/**", "pnpm-lock.yaml", "/.pnpmfile.cjs"] + "ignorePatterns": ["dist/**", "pnpm-lock.yaml"] } diff --git a/.oxlintrc.json b/.oxlintrc.json index bad5a6e..2b7fe02 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -14,5 +14,5 @@ } } ], - "ignorePatterns": ["dist/**", "node_modules/**", ".ras/**", ".pnpmfile.cjs"] + "ignorePatterns": ["dist/**", "node_modules/**", ".ras/**"] } diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs deleted file mode 100644 index eeb994e..0000000 --- a/.pnpmfile.cjs +++ /dev/null @@ -1,49 +0,0 @@ -// Generated by ras install. Commit this file with pnpm-lock.yaml. -const dependencies = { - "@playwright/test": "1.64.0", - "@posthog/react": "1.11.3", - "@posthog/rollup-plugin": "1.6.1", - "@tailwindcss/vite": "4.3.3", - "@types/node": "26.2.0", - "@types/react": "19.3.0", - "@types/react-dom": "19.3.0", - "@vitejs/plugin-react": "6.1.2", - "@vitest/coverage-v8": "5.0.3", - "oxfmt": "0.72.0", - "oxlint": "1.87.0", - "oxlint-tsgolint": "7.0.2004", - "posthog-js": "1.438.12", - "react": "19.3.0", - "react-dom": "19.3.0", - "tailwindcss": "4.3.3", - "tw-animate-css": "1.4.0", - "typescript": "7.0.2", - "vite": "8.3.4", - "vitest": "5.0.3" -}; -const consumer = "basekit"; -const allowBuilds = []; -module.exports = { - hooks: { - updateConfig(config) { - for (const [name, version] of Object.entries(dependencies)) { - if (config.overrides?.[name] && config.overrides[name] !== version) { - throw new Error('Consumer override conflicts with managed ' + name) - } - } - for (const name of allowBuilds) { - if (config.allowBuilds?.[name] === false) throw new Error('Consumer build policy denies ' + name) - } - return { - ...config, - allowBuilds: { ...Object.fromEntries(Object.keys(dependencies).map(name => [name, false])), ...config.allowBuilds, ...Object.fromEntries(allowBuilds.map(name => [name, true])) }, - } - }, - readPackage(pkg) { - if (pkg.name === consumer || pkg.name === 'ras-stack') { - pkg.dependencies = { ...pkg.dependencies, ...dependencies } - } - return pkg - }, - }, -}; diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a551883..eb8668e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Thanks for helping with BaseKit. We aim to keep the generator small, exact, and ## Development setup -Install Node 24.x, pnpm 11.15.0, and Just 1.58.0, then run: +Install Node 24.x, pnpm 12.13.0, and Just 1.58.0, then run: ```sh just install @@ -82,4 +82,8 @@ The shared Oxlint domain preset restricts Node and framework imports in `src/cor Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. pnpm installs the selected packages as dependencies of this application and RAS, without workspace-wide overrides, hoisting rules, or link repair. `pnpm-lock.yaml` is the only lockfile. -After changing RAS or its selections, run `pnpm exec ras install` and commit `ras.config.ts`, `.pnpmfile.cjs`, and `pnpm-lock.yaml`. A normal frozen install restores the dependency graph, and `pnpm exec ras prepare` regenerates local configuration without changing the lockfile. Keep `/.pnpmfile.cjs` in the Oxfmt configuration's `ignorePatterns`: pnpm checksums the hook's exact bytes. +Run `pnpm install` after changing selections, and `pnpm update ras-stack` to upgrade RAS within its declared range (`--latest` for a new major), followed by `pnpm install` to apply its selected graph. Commit `ras.config.ts`, `pnpm-workspace.yaml`, and `pnpm-lock.yaml`. pnpm installs RAS as a config dependency before resolving the selected graph and generates `.ras/` automatically. There is no custom install/update command, generated consumer hook, formatter exclusion, or regeneration workflow. + +Dependabot is restricted to manifest-owned dependencies through `dependency-type: direct`. RAS-managed packages have no manifest requirement, so standalone lockfile/security updates remain RAS's responsibility. App-owned dependency updates can still change their transitive graph. Dependabot currently does not update `configDependencies`; prepare RAS upgrade PRs separately with the native pnpm command. Security alerts remain visible and managed security fixes require a RAS upgrade. + +This migration pins the published `ras-stack@5.0.0-next.0` candidate. Keep it in draft until RAS v5 is released, then replace the prerelease pin with the stable range and regenerate the lockfile with `pnpm install`. diff --git a/README.md b/README.md index 0975d77..d239cbf 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ The generator, 3D preview, fonts, and exporters all run locally in your browser. ## Development 🛠️ -Development requires Node 24.x and pnpm 10.33.0. +Development requires Node 24.x and pnpm 12.13.0. ```sh pnpm install diff --git a/justfile b/justfile index 46f17f6..c63d1bf 100644 --- a/justfile +++ b/justfile @@ -4,7 +4,6 @@ default: install: corepack enable pnpm install - pnpm exec ras prepare dev: pnpm dev diff --git a/package.json b/package.json index 94723c5..d53ba7a 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "ras-stack": "git+https://github.com/richardsolomou/ras-stack.git#eb0b4a67d395dec7fdcb220597681fb30560567e&path:/packages/ras-stack", "three": "^0.186.1" }, "devDependencies": { @@ -54,5 +53,5 @@ "engines": { "node": ">=24 <25" }, - "packageManager": "pnpm@11.15.0" + "packageManager": "pnpm@12.13.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01f8293..2149b91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,10 +1,176 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: + ras-stack: + specifier: 5.0.0-next.0 + version: 5.0.0-next.0 + packageManagerDependencies: + pnpm: + specifier: 12.13.0 + version: 12.13.0 + +packages: + + '@pnpm/exe.android-arm64@12.13.0': + resolution: {integrity: sha512-BI++xXYAk3lTLQ1695b3pAAaLwzUTQqKyT5UukVd1NU5qv7h/rUfVCiV5hrLksdbgPMWcic8gf9uXMiqTlerzg==} + cpu: [arm64] + os: [android] + + '@pnpm/exe.android-x64@12.13.0': + resolution: {integrity: sha512-bFq6cnbSB3fezJ0siOtuoRqLiR3VXFCZvUUFa0wlZ4a3EaJYsnnDli4ZTe8/bDfX1UhNMFxAAiSAKg7xITu+Zw==} + cpu: [x64] + os: [android] + + '@pnpm/exe.darwin-arm64@12.13.0': + resolution: {integrity: sha512-9rRpaMGxxrv5YbptsRTIeG+q2IzQyrkRKXkD30pb7weCC6Xz6vQzfkItzrUZsb2bXyYd7fSsq+luTsreXBQYyQ==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.13.0': + resolution: {integrity: sha512-A+VFQakozmXIo8kxtcP9sZCKIi94f9uB5jLXRvwnNSA5G6/G6Iq/8E17+fIPf4bm7xvR+qeM794Nz98Q52lutQ==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.freebsd-x64@12.13.0': + resolution: {integrity: sha512-HqT2ppLDxmpO8jTgl44BLdrBQoQXE73HHBElYRKvxL47d4maQ0sfk+fI+bfeDpRTqKzc5JZfj85yjRo7anqioA==} + cpu: [x64] + os: [freebsd] + + '@pnpm/exe.linux-arm64-musl@12.13.0': + resolution: {integrity: sha512-yZfm/7h1Kdd1XTNf9+F2Gt5R4WuQKMRbkMIpbzCtxpzniPEKGo/2kymNxdHq3jIcfnzHnP+KBR/YONZ+4Icq+g==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.13.0': + resolution: {integrity: sha512-jp29ia+fTNhheXzt4FRUw5CwFW9caPNEdLRuy7/Dlbv3sj+iHldfJXfCojkPE4g71NPVwMpY5Eoc7nkfWexqrA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-ppc64@12.13.0': + resolution: {integrity: sha512-BO8Nz70baL6KV0G9p+Lx8l6BQYFE11KDEOTTjSNZdiUMMyN1byeDlls10ZgCIaIq5ELlLJ0F/LKieNjubOC7BA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-riscv64@12.13.0': + resolution: {integrity: sha512-LrGM+VzpNghXuHK1XSMNEsochaLscAYkllSPLF3Y4CQpaOFYmiZoX+G3TN+T3pYRxdgvwWJCqbbdwRJZFykrig==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-s390x@12.13.0': + resolution: {integrity: sha512-0Xetcb9OJpXYmJ7rMDh3oFszIvbQl0F8UNh7oJnbLJY1K5PtDgYVkjqwb1JpjU0mkr0b4HKkFdZhlYh7XEGTvw==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.13.0': + resolution: {integrity: sha512-LSD/snRsouEGA52HrTfEbGrCGdkkr5gXfQym26Ogu3I7sc5dJHUHyp8GnA7ewXrFOSRCJXH25mnmQ6Jpit572Q==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.13.0': + resolution: {integrity: sha512-t4EYUFG4SPYaJJVQToWIPq/lLBquCPCxMtt9vV//HirSDl332dnxDnwgvdW29sqLg3Ob2x7zFQ69HZLyoCyfpQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.13.0': + resolution: {integrity: sha512-aDzzll9stgP+p6KKYHNzuShZhBCaxabv481xK5BjfvSnyFbjzu7ksKUIVlsiAw4xAXnrIqvEj0lQarsbBRcIQA==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.13.0': + resolution: {integrity: sha512-Nkw4hDJTcmuO6zDjkTo4Dz7pG2ojEifSBGC4QbFJFIfBoRbN88GIMu/Lm1woxd7ONhJFlfJ+dJeiDyuP0NKtSA==} + cpu: [x64] + os: [win32] + + pnpm@12.13.0: + resolution: {integrity: sha512-HlVxm/JugJ3OXFCE/euqZO+z2pA4rl1oqfimgxHxpFhByMO3ajcpjDtm9rzIBAmpt/M8eKcWij6Q+2Wl2CNa5A==} + engines: {node: '>=18.*'} + hasBin: true + + ras-stack@5.0.0-next.0: + resolution: {integrity: sha512-LtbNNA3c6GQKpPQhk4hJF77zOYZpSkB71nkukHDylwQ4DuwcrJX4cGGOtJRswHSNVap5jqAh+BuAXUa9Aq0LdA==} + +snapshots: + + '@pnpm/exe.android-arm64@12.13.0': + optional: true + + '@pnpm/exe.android-x64@12.13.0': + optional: true + + '@pnpm/exe.darwin-arm64@12.13.0': + optional: true + + '@pnpm/exe.darwin-x64@12.13.0': + optional: true + + '@pnpm/exe.freebsd-x64@12.13.0': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.13.0': + optional: true + + '@pnpm/exe.linux-arm64@12.13.0': + optional: true + + '@pnpm/exe.linux-ppc64@12.13.0': + optional: true + + '@pnpm/exe.linux-riscv64@12.13.0': + optional: true + + '@pnpm/exe.linux-s390x@12.13.0': + optional: true + + '@pnpm/exe.linux-x64-musl@12.13.0': + optional: true + + '@pnpm/exe.linux-x64@12.13.0': + optional: true + + '@pnpm/exe.win32-arm64@12.13.0': + optional: true + + '@pnpm/exe.win32-x64@12.13.0': + optional: true + + pnpm@12.13.0: + optionalDependencies: + '@pnpm/exe.android-arm64': 12.13.0 + '@pnpm/exe.android-x64': 12.13.0 + '@pnpm/exe.darwin-arm64': 12.13.0 + '@pnpm/exe.darwin-x64': 12.13.0 + '@pnpm/exe.freebsd-x64': 12.13.0 + '@pnpm/exe.linux-arm64': 12.13.0 + '@pnpm/exe.linux-arm64-musl': 12.13.0 + '@pnpm/exe.linux-ppc64': 12.13.0 + '@pnpm/exe.linux-riscv64': 12.13.0 + '@pnpm/exe.linux-s390x': 12.13.0 + '@pnpm/exe.linux-x64': 12.13.0 + '@pnpm/exe.linux-x64-musl': 12.13.0 + '@pnpm/exe.win32-arm64': 12.13.0 + '@pnpm/exe.win32-x64': 12.13.0 + + ras-stack@5.0.0-next.0: {} + +--- lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -pnpmfileChecksum: sha256-epg5K6r4B211ZNThVX618Ra5gbf1m1KMdM7gJp6fR6M= +pnpmfileChecksum: sha256-S0yJslQFUH1m+1uStGJlkf5LKazMaPeSwo8hK4MouHI= importers: @@ -77,8 +243,8 @@ importers: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: git+https://github.com/richardsolomou/ras-stack.git#eb0b4a67d395dec7fdcb220597681fb30560567e&path:/packages/ras-stack - version: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) + specifier: 5.0.0-next.0 + version: 5.0.0-next.0(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) react: specifier: 19.3.0 version: 19.3.0 @@ -1664,19 +1830,9 @@ packages: ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} @@ -2831,9 +2987,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack: - resolution: {gitHosted: true, integrity: sha512-MUHSEhqrXNbGAkYC0Dk2+1m9l9+snmbnPs3c1kZJlUU/l+q72HfycylvXaK+KeRRuOVbDqRSUA9wrWL55SeU/A==, path: /packages/ras-stack, tarball: https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e} - version: 4.4.2 + ras-stack@5.0.0-next.0: + resolution: {integrity: sha512-LtbNNA3c6GQKpPQhk4hJF77zOYZpSkB71nkukHDylwQ4DuwcrJX4cGGOtJRswHSNVap5jqAh+BuAXUa9Aq0LdA==} engines: {node: '>=24 <25'} hasBin: true @@ -3916,7 +4071,7 @@ snapshots: dependencies: '@hono/node-server': 2.1.5(hono@4.13.13) ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) + ajv-formats: 3.0.1 content-type: 1.0.5 cors: 2.8.6 cross-spawn: 7.0.6 @@ -4496,12 +4651,12 @@ snapshots: mime-types: 3.0.2 negotiator: 1.1.0 - ajv-formats@2.1.1(ajv@8.20.0): - optionalDependencies: + ajv-formats@2.1.1: + dependencies: ajv: 8.20.0 - ajv-formats@3.0.1(ajv@8.20.0): - optionalDependencies: + ajv-formats@3.0.1: + dependencies: ajv: 8.20.0 ajv@8.20.0: @@ -4618,7 +4773,7 @@ snapshots: conf@10.2.0: dependencies: ajv: 8.20.0 - ajv-formats: 2.1.1(ajv@8.20.0) + ajv-formats: 2.1.1 atomically: 1.7.0 debounce-fn: 4.0.0 dot-prop: 6.0.1 @@ -5552,10 +5707,8 @@ snapshots: range-parser@1.3.0: {} - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): + ras-stack@5.0.0-next.0(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): dependencies: - '@changesets/parse': 1.0.0 - '@manypkg/get-packages': 3.1.0 '@playwright/test': 1.64.0 '@posthog/react': 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) '@posthog/rollup-plugin': 1.6.1(rollup@4.64.6) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 124030d..f2ac435 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,10 +7,14 @@ allowBuilds: '@posthog/cli': true core-js: true esbuild: true - ras-stack@https://codeload.github.com/richardsolomou/ras-stack/tar.gz/eb0b4a67d395dec7fdcb220597681fb30560567e#path:/packages/ras-stack: true minimumReleaseAgeExclude: + - ras-stack@5.0.0-next.0 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' - posthog-js@1.438.12 + +configDependencies: + ras-stack: 5.0.0-next.0 +pnpmfile: node_modules/.pnpm-config/ras-stack/pnpmfile.cjs From b969156091a7b3ffb3f486ae1aab10c026771395 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Wed, 21 Oct 2026 20:47:38 +0300 Subject: [PATCH 06/11] chore(deps): synchronize ordinary dependencies with ras v5 --- .github/dependabot.yml | 22 +++ .gitignore | 1 - .ras/.gitignore | 1 + .ras/oxlint.json | 3 + .ras/tsconfig.json | 5 + .ras/vscode-settings.json | 4 + CONTRIBUTING.md | 10 +- package.json | 51 +++++- pnpm-lock.yaml | 359 +++++++++++++++++++------------------- pnpm-workspace.yaml | 6 +- 10 files changed, 269 insertions(+), 193 deletions(-) create mode 100644 .ras/.gitignore create mode 100644 .ras/oxlint.json create mode 100644 .ras/tsconfig.json create mode 100644 .ras/vscode-settings.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2754e19..c4a8140 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -24,6 +24,28 @@ updates: - '*' update-types: - minor + ignore: + - dependency-name: ras-stack # Managed by RAS. + - dependency-name: '@playwright/test' # Managed by RAS. + - dependency-name: '@posthog/react' # Managed by RAS. + - dependency-name: '@posthog/rollup-plugin' # Managed by RAS. + - dependency-name: '@tailwindcss/vite' # Managed by RAS. + - dependency-name: '@types/node' # Managed by RAS. + - dependency-name: '@types/react' # Managed by RAS. + - dependency-name: '@types/react-dom' # Managed by RAS. + - dependency-name: '@vitejs/plugin-react' # Managed by RAS. + - dependency-name: '@vitest/coverage-v8' # Managed by RAS. + - dependency-name: oxfmt # Managed by RAS. + - dependency-name: oxlint # Managed by RAS. + - dependency-name: oxlint-tsgolint # Managed by RAS. + - dependency-name: posthog-js # Managed by RAS. + - dependency-name: react # Managed by RAS. + - dependency-name: react-dom # Managed by RAS. + - dependency-name: tailwindcss # Managed by RAS. + - dependency-name: tw-animate-css # Managed by RAS. + - dependency-name: typescript # Managed by RAS. + - dependency-name: vite # Managed by RAS. + - dependency-name: vitest # Managed by RAS. - package-ecosystem: github-actions directory: / schedule: diff --git a/.gitignore b/.gitignore index 9e4f869..ab860d1 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,3 @@ test-results playwright-report *.local .DS_Store -.ras/ diff --git a/.ras/.gitignore b/.ras/.gitignore new file mode 100644 index 0000000..3879bbe --- /dev/null +++ b/.ras/.gitignore @@ -0,0 +1 @@ +# Generated by RAS. diff --git a/.ras/oxlint.json b/.ras/oxlint.json new file mode 100644 index 0000000..8a5ca1a --- /dev/null +++ b/.ras/oxlint.json @@ -0,0 +1,3 @@ +{ + "extends": ["../node_modules/ras-stack/config/oxlint/application.json", "../node_modules/ras-stack/config/oxlint/domain.json"] +} diff --git a/.ras/tsconfig.json b/.ras/tsconfig.json new file mode 100644 index 0000000..27fe307 --- /dev/null +++ b/.ras/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../node_modules/ras-stack/config/typescript/tanstack.json", + "include": ["../src", "../ras.config.ts"], + "exclude": ["../node_modules", "."] +} diff --git a/.ras/vscode-settings.json b/.ras/vscode-settings.json new file mode 100644 index 0000000..fae8e3d --- /dev/null +++ b/.ras/vscode-settings.json @@ -0,0 +1,4 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb8668e..25fc196 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,10 +80,12 @@ The shared Oxlint domain preset restricts Node and framework imports in `src/cor ## Managed dependencies and tools -Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. pnpm installs the selected packages as dependencies of this application and RAS, without workspace-wide overrides, hoisting rules, or link repair. `pnpm-lock.yaml` is the only lockfile. +Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. Selected packages are ordinary application dependencies, with build/test tools and type definitions in development dependencies. RAS shares runtime SDKs through optional peers. `pnpm-lock.yaml` is the only lockfile. -Run `pnpm install` after changing selections, and `pnpm update ras-stack` to upgrade RAS within its declared range (`--latest` for a new major), followed by `pnpm install` to apply its selected graph. Commit `ras.config.ts`, `pnpm-workspace.yaml`, and `pnpm-lock.yaml`. pnpm installs RAS as a config dependency before resolving the selected graph and generates `.ras/` automatically. There is no custom install/update command, generated consumer hook, formatter exclusion, or regeneration workflow. +Run `pnpm exec ras sync` after changing selections. RAS writes exact runtime and development dependencies into the ordinary manifest, records their ownership in `ras.managedDependencies`, regenerates committed `.ras/` presets, maintains Dependabot ignores, and runs pnpm install. Commit the resulting manifest, configuration, policy files, and lockfile. Fresh clones and CI use ordinary `pnpm install --frozen-lockfile`; `ras sync --check` detects unsynchronized selections without writing. -Dependabot is restricted to manifest-owned dependencies through `dependency-type: direct`. RAS-managed packages have no manifest requirement, so standalone lockfile/security updates remain RAS's responsibility. App-owned dependency updates can still change their transitive graph. Dependabot currently does not update `configDependencies`; prepare RAS upgrade PRs separately with the native pnpm command. Security alerts remain visible and managed security fixes require a RAS upgrade. +Upgrade the complete stack with `pnpm exec ras update`, optionally followed by a release version or tag. The command runs the target release's sync and native installation. Correct an installation failure and rerun the same command. Plain libraries remain application-owned. Consumer lockfiles pin transitives for frozen installs; deliberate application updates can still move shared transitives. -This migration pins the published `ras-stack@5.0.0-next.0` candidate. Keep it in draft until RAS v5 is released, then replace the prerelease pin with the stable range and regenerate the lockfile with `pnpm install`. +Dependabot ignores RAS and selected package names through generated `Managed by RAS.` entries. Existing handwritten rules remain intact. These ignores cover the entire root npm rule, including the same names in other workspace manifests; independent upgrades for those names require a deliberate update. Vulnerability alerts remain visible, and managed security fixes require a coordinated RAS upgrade. + +This draft pins the published `ras-stack@5.0.0-next.1` candidate. Replace it with the stable v5 release and run `ras sync` before merging. diff --git a/package.json b/package.json index d53ba7a..d5f9f1b 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "changeset": "changeset", "version-packages": "changeset version", "release": "changeset tag", - "check": "pnpm format:check && pnpm lint && pnpm changesets:check && pnpm typecheck && pnpm test && pnpm build", + "check": "ras sync --check && pnpm format:check && pnpm lint && pnpm changesets:check && pnpm typecheck && pnpm test && pnpm build", "test:e2e": "pnpm build && playwright test", "test:e2e:run": "playwright test", "test:e2e:install": "playwright install --with-deps chromium", @@ -35,23 +35,68 @@ "@base-ui/react": "^1.9.0", "@fontsource/azeret-mono": "^5.3.0", "@fontsource/barlow-semi-condensed": "^5.3.0", + "@posthog/react": "1.11.3", "class-variance-authority": "^0.7.1", "cn": "^0.4.0", "fflate": "^0.8.3", "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", + "posthog-js": "1.438.12", + "ras-stack": "5.0.0-next.1", + "react": "19.3.0", + "react-dom": "19.3.0", "three": "^0.186.1" }, "devDependencies": { "@changesets/cli": "3.0.3", + "@playwright/test": "1.64.0", + "@posthog/rollup-plugin": "1.6.1", + "@tailwindcss/vite": "4.3.3", + "@types/node": "26.2.0", "@types/opentype.js": "^1.3.10", + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", "@types/three": "^0.186.0", + "@vitejs/plugin-react": "6.1.2", + "@vitest/coverage-v8": "5.0.3", + "oxfmt": "0.72.0", + "oxlint": "1.87.0", + "oxlint-tsgolint": "7.0.2004", "shadcn": "^4.21.4", - "tsx": "^4.23.15" + "tailwindcss": "4.3.3", + "tsx": "^4.23.15", + "tw-animate-css": "1.4.0", + "typescript": "7.0.2", + "vite": "8.3.4", + "vitest": "5.0.3" }, "engines": { "node": ">=24 <25" }, - "packageManager": "pnpm@12.13.0" + "packageManager": "pnpm@12.13.0", + "ras": { + "managedDependencies": [ + "@playwright/test", + "@posthog/react", + "@posthog/rollup-plugin", + "@tailwindcss/vite", + "@types/node", + "@types/react", + "@types/react-dom", + "@vitejs/plugin-react", + "@vitest/coverage-v8", + "oxfmt", + "oxlint", + "oxlint-tsgolint", + "posthog-js", + "react", + "react-dom", + "tailwindcss", + "tw-animate-css", + "typescript", + "vite", + "vitest" + ] + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2149b91..4622380 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,10 +4,6 @@ lockfileVersion: '9.0' importers: .: - configDependencies: - ras-stack: - specifier: 5.0.0-next.0 - version: 5.0.0-next.0 packageManagerDependencies: pnpm: specifier: 12.13.0 @@ -97,9 +93,6 @@ packages: engines: {node: '>=18.*'} hasBin: true - ras-stack@5.0.0-next.0: - resolution: {integrity: sha512-LtbNNA3c6GQKpPQhk4hJF77zOYZpSkB71nkukHDylwQ4DuwcrJX4cGGOtJRswHSNVap5jqAh+BuAXUa9Aq0LdA==} - snapshots: '@pnpm/exe.android-arm64@12.13.0': @@ -160,9 +153,6 @@ snapshots: '@pnpm/exe.linux-x64-musl': 12.13.0 '@pnpm/exe.win32-arm64': 12.13.0 '@pnpm/exe.win32-x64': 12.13.0 - - ras-stack@5.0.0-next.0: {} - --- lockfileVersion: '9.0' @@ -170,8 +160,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -pnpmfileChecksum: sha256-S0yJslQFUH1m+1uStGJlkf5LKazMaPeSwo8hK4MouHI= - importers: .: @@ -185,33 +173,9 @@ importers: '@fontsource/barlow-semi-condensed': specifier: ^5.3.0 version: 5.3.0 - '@playwright/test': - specifier: 1.64.0 - version: 1.64.0 '@posthog/react': specifier: 1.11.3 version: 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) - '@posthog/rollup-plugin': - specifier: 1.6.1 - version: 1.6.1(rollup@4.64.6) - '@tailwindcss/vite': - specifier: 4.3.3 - version: 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@types/node': - specifier: 26.2.0 - version: 26.2.0 - '@types/react': - specifier: 19.3.0 - version: 19.3.0 - '@types/react-dom': - specifier: 19.3.0 - version: 19.3.0(@types/react@19.3.0) - '@vitejs/plugin-react': - specifier: 6.1.2 - version: 6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@vitest/coverage-v8': - specifier: 5.0.3 - version: 5.0.3(vitest@5.0.3) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -230,61 +194,85 @@ importers: opentype.js: specifier: ^2.0.0 version: 2.0.0 - oxfmt: - specifier: 0.72.0 - version: 0.72.0 - oxlint: - specifier: 1.87.0 - version: 1.87.0(oxlint-tsgolint@7.0.2004) - oxlint-tsgolint: - specifier: 7.0.2004 - version: 7.0.2004 posthog-js: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: 5.0.0-next.0 - version: 5.0.0-next.0(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1) + specifier: 5.0.0-next.1 + version: 5.0.0-next.1(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) react: specifier: 19.3.0 version: 19.3.0 react-dom: specifier: 19.3.0 version: 19.3.0(react@19.3.0) - tailwindcss: - specifier: 4.3.3 - version: 4.3.3 three: specifier: ^0.186.1 version: 0.186.1 - tw-animate-css: - specifier: 1.4.0 - version: 1.4.0 - typescript: - specifier: 7.0.2 - version: 7.0.2 - vite: - specifier: 8.3.4 - version: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vitest: - specifier: 5.0.3 - version: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) devDependencies: '@changesets/cli': specifier: 3.0.3 version: 3.0.3 + '@playwright/test': + specifier: 1.64.0 + version: 1.64.0 + '@posthog/rollup-plugin': + specifier: 1.6.1 + version: 1.6.1(rollup@4.64.6) + '@tailwindcss/vite': + specifier: 4.3.3 + version: 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@types/node': + specifier: 26.2.0 + version: 26.2.0 '@types/opentype.js': specifier: ^1.3.10 version: 1.3.10 + '@types/react': + specifier: 19.3.0 + version: 19.3.0 + '@types/react-dom': + specifier: 19.3.0 + version: 19.3.0(@types/react@19.3.0) '@types/three': specifier: ^0.186.0 version: 0.186.0 + '@vitejs/plugin-react': + specifier: 6.1.2 + version: 6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/coverage-v8': + specifier: 5.0.3 + version: 5.0.3(vitest@5.0.3) + oxfmt: + specifier: 0.72.0 + version: 0.72.0 + oxlint: + specifier: 1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2004) + oxlint-tsgolint: + specifier: 7.0.2004 + version: 7.0.2004 shadcn: specifier: ^4.21.4 version: 4.21.4 + tailwindcss: + specifier: 4.3.3 + version: 4.3.3 tsx: specifier: ^4.23.15 version: 4.23.15 + tw-animate-css: + specifier: 1.4.0 + version: 1.4.0 + typescript: + specifier: 7.0.2 + version: 7.0.2 + vite: + specifier: 8.3.4 + version: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vitest: + specifier: 5.0.3 + version: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) packages: @@ -950,8 +938,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.153.0': - resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} + '@oxc-project/types@0.154.0': + resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==} '@oxfmt/binding-android-arm-eabi@0.72.0': resolution: {integrity: sha512-u4U1uaDOVBuorGNC/07NLm48nECHOiJJka002YGML16Md2DRvf38RGBt01lH60EOGvNlFVmbLoksQedNBoZHKw==} @@ -1268,98 +1256,98 @@ packages: '@posthog/types@1.416.0': resolution: {integrity: sha512-0/9+02s/0uDyrH4G/qUg1yyl6gXUg8Uuxw/PlDad3KLzo9FFS9zS/kAQaEshx/saVGupj1aAy/4EUBxWisBogw==} - '@rolldown/binding-android-arm-eabi@1.2.13': - resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} + '@rolldown/binding-android-arm-eabi@1.2.14': + resolution: {integrity: sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.13': - resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==} + '@rolldown/binding-android-arm64@1.2.14': + resolution: {integrity: sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.13': - resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==} + '@rolldown/binding-darwin-arm64@1.2.14': + resolution: {integrity: sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.13': - resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==} + '@rolldown/binding-darwin-x64@1.2.14': + resolution: {integrity: sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.13': - resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==} + '@rolldown/binding-freebsd-x64@1.2.14': + resolution: {integrity: sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.13': - resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': + resolution: {integrity: sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.13': - resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==} + '@rolldown/binding-linux-arm64-gnu@1.2.14': + resolution: {integrity: sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.2.13': - resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==} + '@rolldown/binding-linux-arm64-musl@1.2.14': + resolution: {integrity: sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.2.13': - resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==} + '@rolldown/binding-linux-ppc64-gnu@1.2.14': + resolution: {integrity: sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.2.13': - resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==} + '@rolldown/binding-linux-s390x-gnu@1.2.14': + resolution: {integrity: sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.2.13': - resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==} + '@rolldown/binding-linux-x64-gnu@1.2.14': + resolution: {integrity: sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.2.13': - resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==} + '@rolldown/binding-linux-x64-musl@1.2.14': + resolution: {integrity: sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.2.13': - resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==} + '@rolldown/binding-openharmony-arm64@1.2.14': + resolution: {integrity: sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.13': - resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==} + '@rolldown/binding-win32-arm64-msvc@1.2.14': + resolution: {integrity: sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.13': - resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==} + '@rolldown/binding-win32-x64-msvc@1.2.14': + resolution: {integrity: sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -2987,10 +2975,63 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@5.0.0-next.0: - resolution: {integrity: sha512-LtbNNA3c6GQKpPQhk4hJF77zOYZpSkB71nkukHDylwQ4DuwcrJX4cGGOtJRswHSNVap5jqAh+BuAXUa9Aq0LdA==} + ras-stack@5.0.0-next.1: + resolution: {integrity: sha512-INyaTv3W2x5j/KX6x9CwzuoE/8tprlsZ0xztZmbrUilD3xqvfFlgLu0/JIya6Q9V/aCRt/eIBMZjIyRoyR0VJg==} engines: {node: '>=24 <25'} hasBin: true + peerDependencies: + '@libsql/client': '>=0.18 <1' + '@opentelemetry/api-logs': '>=0.221.0 <0.224.0' + '@opentelemetry/exporter-logs-otlp-http': '>=0.221.0 <0.224.0' + '@opentelemetry/resources': ^2.10.0 + '@opentelemetry/sdk-logs': '>=0.221.0 <0.224.0' + '@posthog/react': '>=1.1 <2' + '@tanstack/react-query': ^5.104.1 + '@tanstack/react-start': '>=1.168.10 <2' + better-sqlite3: '>=12 <14' + centrifuge: '>=5 <6' + drizzle-orm: '>=0.45 <1' + nodemailer: '>=9 <11' + postgres: '>=3.4 <4' + posthog-js: '>=1.430.3 <2' + posthog-node: '>=5.52 <6' + react: '>=19 <20' + tus-js-client: '>=4 <5' + peerDependenciesMeta: + '@libsql/client': + optional: true + '@opentelemetry/api-logs': + optional: true + '@opentelemetry/exporter-logs-otlp-http': + optional: true + '@opentelemetry/resources': + optional: true + '@opentelemetry/sdk-logs': + optional: true + '@posthog/react': + optional: true + '@tanstack/react-query': + optional: true + '@tanstack/react-start': + optional: true + better-sqlite3: + optional: true + centrifuge: + optional: true + drizzle-orm: + optional: true + nodemailer: + optional: true + postgres: + optional: true + posthog-js: + optional: true + posthog-node: + optional: true + react: + optional: true + tus-js-client: + optional: true raw-body@3.0.2: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} @@ -3024,8 +3065,8 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.2.13: - resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} + rolldown@1.2.14: + resolution: {integrity: sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -4106,7 +4147,7 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.3 - '@oxc-project/types@0.153.0': {} + '@oxc-project/types@0.154.0': {} '@oxfmt/binding-android-arm-eabi@0.72.0': optional: true @@ -4279,49 +4320,49 @@ snapshots: '@posthog/types@1.416.0': {} - '@rolldown/binding-android-arm-eabi@1.2.13': + '@rolldown/binding-android-arm-eabi@1.2.14': optional: true - '@rolldown/binding-android-arm64@1.2.13': + '@rolldown/binding-android-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-arm64@1.2.13': + '@rolldown/binding-darwin-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-x64@1.2.13': + '@rolldown/binding-darwin-x64@1.2.14': optional: true - '@rolldown/binding-freebsd-x64@1.2.13': + '@rolldown/binding-freebsd-x64@1.2.14': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.13': + '@rolldown/binding-linux-arm64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.13': + '@rolldown/binding-linux-arm64-musl@1.2.14': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.13': + '@rolldown/binding-linux-ppc64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.13': + '@rolldown/binding-linux-s390x-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.13': + '@rolldown/binding-linux-x64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-musl@1.2.13': + '@rolldown/binding-linux-x64-musl@1.2.14': optional: true - '@rolldown/binding-openharmony-arm64@1.2.13': + '@rolldown/binding-openharmony-arm64@1.2.14': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.13': + '@rolldown/binding-win32-arm64-msvc@1.2.14': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.13': + '@rolldown/binding-win32-x64-msvc@1.2.14': optional: true '@rolldown/pluginutils@1.0.1': {} @@ -5707,58 +5748,16 @@ snapshots: range-parser@1.3.0: {} - ras-stack@5.0.0-next.0(esbuild@0.28.2)(jiti@2.7.0)(rollup@4.64.6)(tsx@4.23.15)(yaml@2.9.1): + ras-stack@5.0.0-next.1(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): dependencies: - '@playwright/test': 1.64.0 + '@changesets/parse': 1.0.0 + '@manypkg/get-packages': 3.1.0 + import-meta-resolve: 4.2.0 + yaml: 2.9.1 + optionalDependencies: '@posthog/react': 1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) - '@posthog/rollup-plugin': 1.6.1(rollup@4.64.6) - '@tailwindcss/vite': 4.3.3(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@types/node': 26.2.0 - '@types/react': 19.3.0 - '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@vitejs/plugin-react': 6.1.2(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) - oxfmt: 0.72.0 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2004) - oxlint-tsgolint: 7.0.2004 posthog-js: 1.438.12(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 - react-dom: 19.3.0(react@19.3.0) - tailwindcss: 4.3.3 - tw-animate-css: 1.4.0 - typescript: 7.0.2 - vite: 8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vitest: 5.0.3(@types/node@26.2.0)(@vitest/coverage-v8@5.0.3)(vite@8.3.4(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@opentelemetry/api' - - '@rolldown/plugin-babel' - - '@vitejs/devtools' - - '@vitest/browser' - - '@vitest/browser-playwright' - - '@vitest/browser-preview' - - '@vitest/browser-webdriverio' - - '@vitest/coverage-istanbul' - - '@vitest/ui' - - babel-plugin-react-compiler - - esbuild - - happy-dom - - jiti - - jsdom - - less - - msw - - oxc-transform-react - - preact-render-to-string - - rollup - - sass - - sass-embedded - - stylus - - sugarss - - svelte - - terser - - tsx - - vite-plus - - yaml raw-body@3.0.2: dependencies: @@ -5793,26 +5792,26 @@ snapshots: reusify@1.1.0: {} - rolldown@1.2.13: + rolldown@1.2.14: dependencies: - '@oxc-project/types': 0.153.0 + '@oxc-project/types': 0.154.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.13 - '@rolldown/binding-android-arm64': 1.2.13 - '@rolldown/binding-darwin-arm64': 1.2.13 - '@rolldown/binding-darwin-x64': 1.2.13 - '@rolldown/binding-freebsd-x64': 1.2.13 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 - '@rolldown/binding-linux-arm64-gnu': 1.2.13 - '@rolldown/binding-linux-arm64-musl': 1.2.13 - '@rolldown/binding-linux-ppc64-gnu': 1.2.13 - '@rolldown/binding-linux-s390x-gnu': 1.2.13 - '@rolldown/binding-linux-x64-gnu': 1.2.13 - '@rolldown/binding-linux-x64-musl': 1.2.13 - '@rolldown/binding-openharmony-arm64': 1.2.13 - '@rolldown/binding-win32-arm64-msvc': 1.2.13 - '@rolldown/binding-win32-x64-msvc': 1.2.13 + '@rolldown/binding-android-arm-eabi': 1.2.14 + '@rolldown/binding-android-arm64': 1.2.14 + '@rolldown/binding-darwin-arm64': 1.2.14 + '@rolldown/binding-darwin-x64': 1.2.14 + '@rolldown/binding-freebsd-x64': 1.2.14 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.14 + '@rolldown/binding-linux-arm64-gnu': 1.2.14 + '@rolldown/binding-linux-arm64-musl': 1.2.14 + '@rolldown/binding-linux-ppc64-gnu': 1.2.14 + '@rolldown/binding-linux-s390x-gnu': 1.2.14 + '@rolldown/binding-linux-x64-gnu': 1.2.14 + '@rolldown/binding-linux-x64-musl': 1.2.14 + '@rolldown/binding-openharmony-arm64': 1.2.14 + '@rolldown/binding-win32-arm64-msvc': 1.2.14 + '@rolldown/binding-win32-x64-msvc': 1.2.14 rollup@4.64.6: dependencies: @@ -6173,7 +6172,7 @@ snapshots: lightningcss: 1.33.0 picomatch: 4.0.7 postcss: 8.5.29 - rolldown: 1.2.13 + rolldown: 1.2.14 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.2.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f2ac435..887541b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,12 +9,8 @@ allowBuilds: esbuild: true minimumReleaseAgeExclude: - - ras-stack@5.0.0-next.0 + - ras-stack@5.0.0-next.1 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' - posthog-js@1.438.12 - -configDependencies: - ras-stack: 5.0.0-next.0 -pnpmfile: node_modules/.pnpm-config/ras-stack/pnpmfile.cjs From 02d2617b6569a25f8d13c93437855e418e7713a1 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Thu, 22 Oct 2026 10:40:20 +0300 Subject: [PATCH 07/11] docs: link to central ras guidance --- CONTRIBUTING.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 25fc196..ee0d73c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,6 +13,8 @@ just dev Open `http://localhost:5173`. The app has no backend, database, account, or environment variables. +Shared tool configuration and dependency maintenance are documented in the [RAS documentation](https://github.com/richardsolomou/ras-stack/blob/main/docs/README.md). + ## Checks Run the complete local check suite with: @@ -76,16 +78,4 @@ Production setup and verification live in the [Cloudflare deployment guide](docs ## Shared infrastructure checks -The shared Oxlint domain preset restricts Node and framework imports in `src/core/geometry`; test files can still load real geometry fixtures. `.oxlintrc.json` is the active lint configuration. `ras changesets check` validates existing Changesets without requiring a release note for every change. The PostHog wiring test imports the real application entrypoint and verifies the provider configuration passed by the app. - -## Managed dependencies and tools - -Select configured integrations and tools in `ras.config.ts`. RAS owns their tested versions and supplies the Vite plugins, Tailwind imports, compiler settings, and linter presets for the selections. Keep app-specific Vite overrides in `defineViteConfig` from `ras-stack/vite`; the app still imports `src/styles.css`. Plain libraries such as Zod remain in `package.json`. Selected packages are ordinary application dependencies, with build/test tools and type definitions in development dependencies. RAS shares runtime SDKs through optional peers. `pnpm-lock.yaml` is the only lockfile. - -Run `pnpm exec ras sync` after changing selections. RAS writes exact runtime and development dependencies into the ordinary manifest, records their ownership in `ras.managedDependencies`, regenerates committed `.ras/` presets, maintains Dependabot ignores, and runs pnpm install. Commit the resulting manifest, configuration, policy files, and lockfile. Fresh clones and CI use ordinary `pnpm install --frozen-lockfile`; `ras sync --check` detects unsynchronized selections without writing. - -Upgrade the complete stack with `pnpm exec ras update`, optionally followed by a release version or tag. The command runs the target release's sync and native installation. Correct an installation failure and rerun the same command. Plain libraries remain application-owned. Consumer lockfiles pin transitives for frozen installs; deliberate application updates can still move shared transitives. - -Dependabot ignores RAS and selected package names through generated `Managed by RAS.` entries. Existing handwritten rules remain intact. These ignores cover the entire root npm rule, including the same names in other workspace manifests; independent upgrades for those names require a deliberate update. Vulnerability alerts remain visible, and managed security fixes require a coordinated RAS upgrade. - -This draft pins the published `ras-stack@5.0.0-next.1` candidate. Replace it with the stable v5 release and run `ras sync` before merging. +Lint rules restrict Node and framework imports in `src/core/geometry`; test files can still load real geometry fixtures. `.oxlintrc.json` is the active lint configuration. The PostHog wiring test imports the real application entrypoint and verifies the provider configuration passed by the app. From bbcd44e73343a47e60b9f43b7fdd458d714e677a Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Thu, 22 Oct 2026 11:17:09 +0300 Subject: [PATCH 08/11] refactor(config): use inferred ras tooling defaults --- .ras/tsconfig.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- pnpm-workspace.yaml | 2 +- ras.config.ts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.ras/tsconfig.json b/.ras/tsconfig.json index 27fe307..0cc46c6 100644 --- a/.ras/tsconfig.json +++ b/.ras/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../node_modules/ras-stack/config/typescript/tanstack.json", + "extends": "../node_modules/ras-stack/config/typescript/vite.json", "include": ["../src", "../ras.config.ts"], "exclude": ["../node_modules", "."] } diff --git a/package.json b/package.json index d5f9f1b..16b6194 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", "posthog-js": "1.438.12", - "ras-stack": "5.0.0-next.1", + "ras-stack": "5.0.0-next.2", "react": "19.3.0", "react-dom": "19.3.0", "three": "^0.186.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4622380..0ae5f4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -198,8 +198,8 @@ importers: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: 5.0.0-next.1 - version: 5.0.0-next.1(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + specifier: 5.0.0-next.2 + version: 5.0.0-next.2(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) react: specifier: 19.3.0 version: 19.3.0 @@ -2975,8 +2975,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@5.0.0-next.1: - resolution: {integrity: sha512-INyaTv3W2x5j/KX6x9CwzuoE/8tprlsZ0xztZmbrUilD3xqvfFlgLu0/JIya6Q9V/aCRt/eIBMZjIyRoyR0VJg==} + ras-stack@5.0.0-next.2: + resolution: {integrity: sha512-2mLS7W6XBDyrFiWL6geLKExxMsWZACcR4vdAtQta5FmIo6lBBQd6HeB96OtGOYxp5j2zAsk0IQlaV8l9no4rpg==} engines: {node: '>=24 <25'} hasBin: true peerDependencies: @@ -5748,7 +5748,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@5.0.0-next.1(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): + ras-stack@5.0.0-next.2(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 887541b..02ff1e6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,7 +9,7 @@ allowBuilds: esbuild: true minimumReleaseAgeExclude: - - ras-stack@5.0.0-next.1 + - ras-stack@5.0.0-next.2 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' diff --git a/ras.config.ts b/ras.config.ts index 3b031a3..b697b07 100644 --- a/ras.config.ts +++ b/ras.config.ts @@ -2,5 +2,5 @@ import { defineConfig, posthog, typescript, oxlint, oxfmt, tailwind, vite, vites export default defineConfig({ integrations: [posthog.react], - tooling: [typescript.tanstack, oxlint.application, oxlint.domain, oxfmt, tailwind.animations, posthog.build, vite, vitest, playwright], + tooling: [typescript, oxlint.domain, oxfmt, tailwind.animations, posthog.build, vite, vitest, playwright], }) From 60cb0c8b4afb7806dc3d9300ebe0202e2d29ea7f Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Thu, 22 Oct 2026 13:47:22 +0300 Subject: [PATCH 09/11] refactor(deps): install managed packages through the ras pnpm hook --- .ras/.gitignore | 1 - .ras/oxlint.json | 3 --- .ras/tsconfig.json | 5 ---- .ras/vscode-settings.json | 4 ---- package.json | 49 ++------------------------------------- pnpm-lock.yaml | 22 ++++++++++++++---- pnpm-workspace.yaml | 5 +++- 7 files changed, 23 insertions(+), 66 deletions(-) delete mode 100644 .ras/.gitignore delete mode 100644 .ras/oxlint.json delete mode 100644 .ras/tsconfig.json delete mode 100644 .ras/vscode-settings.json diff --git a/.ras/.gitignore b/.ras/.gitignore deleted file mode 100644 index 3879bbe..0000000 --- a/.ras/.gitignore +++ /dev/null @@ -1 +0,0 @@ -# Generated by RAS. diff --git a/.ras/oxlint.json b/.ras/oxlint.json deleted file mode 100644 index 8a5ca1a..0000000 --- a/.ras/oxlint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["../node_modules/ras-stack/config/oxlint/application.json", "../node_modules/ras-stack/config/oxlint/domain.json"] -} diff --git a/.ras/tsconfig.json b/.ras/tsconfig.json deleted file mode 100644 index 0cc46c6..0000000 --- a/.ras/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": "../node_modules/ras-stack/config/typescript/vite.json", - "include": ["../src", "../ras.config.ts"], - "exclude": ["../node_modules", "."] -} diff --git a/.ras/vscode-settings.json b/.ras/vscode-settings.json deleted file mode 100644 index fae8e3d..0000000 --- a/.ras/vscode-settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true -} diff --git a/package.json b/package.json index 16b6194..555b0c7 100644 --- a/package.json +++ b/package.json @@ -35,68 +35,23 @@ "@base-ui/react": "^1.9.0", "@fontsource/azeret-mono": "^5.3.0", "@fontsource/barlow-semi-condensed": "^5.3.0", - "@posthog/react": "1.11.3", "class-variance-authority": "^0.7.1", "cn": "^0.4.0", "fflate": "^0.8.3", "lucide-react": "^1.55.0", "manifold-3d": "^3.5.4", "opentype.js": "^2.0.0", - "posthog-js": "1.438.12", - "ras-stack": "5.0.0-next.2", - "react": "19.3.0", - "react-dom": "19.3.0", "three": "^0.186.1" }, "devDependencies": { "@changesets/cli": "3.0.3", - "@playwright/test": "1.64.0", - "@posthog/rollup-plugin": "1.6.1", - "@tailwindcss/vite": "4.3.3", - "@types/node": "26.2.0", "@types/opentype.js": "^1.3.10", - "@types/react": "19.3.0", - "@types/react-dom": "19.3.0", "@types/three": "^0.186.0", - "@vitejs/plugin-react": "6.1.2", - "@vitest/coverage-v8": "5.0.3", - "oxfmt": "0.72.0", - "oxlint": "1.87.0", - "oxlint-tsgolint": "7.0.2004", "shadcn": "^4.21.4", - "tailwindcss": "4.3.3", - "tsx": "^4.23.15", - "tw-animate-css": "1.4.0", - "typescript": "7.0.2", - "vite": "8.3.4", - "vitest": "5.0.3" + "tsx": "^4.23.15" }, "engines": { "node": ">=24 <25" }, - "packageManager": "pnpm@12.13.0", - "ras": { - "managedDependencies": [ - "@playwright/test", - "@posthog/react", - "@posthog/rollup-plugin", - "@tailwindcss/vite", - "@types/node", - "@types/react", - "@types/react-dom", - "@vitejs/plugin-react", - "@vitest/coverage-v8", - "oxfmt", - "oxlint", - "oxlint-tsgolint", - "posthog-js", - "react", - "react-dom", - "tailwindcss", - "tw-animate-css", - "typescript", - "vite", - "vitest" - ] - } + "packageManager": "pnpm@12.13.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0ae5f4a..297b7e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,10 @@ lockfileVersion: '9.0' importers: .: + configDependencies: + ras-stack: + specifier: 5.0.0-next.3 + version: 5.0.0-next.3 packageManagerDependencies: pnpm: specifier: 12.13.0 @@ -93,6 +97,9 @@ packages: engines: {node: '>=18.*'} hasBin: true + ras-stack@5.0.0-next.3: + resolution: {integrity: sha512-WcJDNA7Qe+py+cpvBeUEGqBVEZ2yl0S9pjA23jzS245GHuUizO3d0uFr/p0LNILAfeOnKW4BZnhirFpbPr3NnQ==} + snapshots: '@pnpm/exe.android-arm64@12.13.0': @@ -153,6 +160,9 @@ snapshots: '@pnpm/exe.linux-x64-musl': 12.13.0 '@pnpm/exe.win32-arm64': 12.13.0 '@pnpm/exe.win32-x64': 12.13.0 + + ras-stack@5.0.0-next.3: {} + --- lockfileVersion: '9.0' @@ -160,6 +170,8 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +pnpmfileChecksum: sha256-HnaFlEKILTIwPvpK0ZfesHBJAW6ScAi/wOJFl9xjoPg= + importers: .: @@ -198,8 +210,8 @@ importers: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: 5.0.0-next.2 - version: 5.0.0-next.2(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + specifier: 5.0.0-next.3 + version: 5.0.0-next.3(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) react: specifier: 19.3.0 version: 19.3.0 @@ -2975,8 +2987,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@5.0.0-next.2: - resolution: {integrity: sha512-2mLS7W6XBDyrFiWL6geLKExxMsWZACcR4vdAtQta5FmIo6lBBQd6HeB96OtGOYxp5j2zAsk0IQlaV8l9no4rpg==} + ras-stack@5.0.0-next.3: + resolution: {integrity: sha512-WcJDNA7Qe+py+cpvBeUEGqBVEZ2yl0S9pjA23jzS245GHuUizO3d0uFr/p0LNILAfeOnKW4BZnhirFpbPr3NnQ==} engines: {node: '>=24 <25'} hasBin: true peerDependencies: @@ -5748,7 +5760,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@5.0.0-next.2(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): + ras-stack@5.0.0-next.3(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 02ff1e6..1694dd9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,8 +9,11 @@ allowBuilds: esbuild: true minimumReleaseAgeExclude: - - ras-stack@5.0.0-next.2 + - ras-stack@5.0.0-next.3 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' - posthog-js@1.438.12 +configDependencies: + ras-stack: 5.0.0-next.3 +pnpmfile: node_modules/.pnpm-config/ras-stack/pnpmfile.mjs From 1b0947a1a33b86b546ae82b81ed7bcb393e6cab6 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Fri, 23 Oct 2026 11:37:46 +0300 Subject: [PATCH 10/11] chore(deps): validate the ras review fixes --- pnpm-lock.yaml | 20 ++++++++++---------- pnpm-workspace.yaml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 297b7e4..ae9caf8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ importers: .: configDependencies: ras-stack: - specifier: 5.0.0-next.3 - version: 5.0.0-next.3 + specifier: 5.0.0-next.4 + version: 5.0.0-next.4 packageManagerDependencies: pnpm: specifier: 12.13.0 @@ -97,8 +97,8 @@ packages: engines: {node: '>=18.*'} hasBin: true - ras-stack@5.0.0-next.3: - resolution: {integrity: sha512-WcJDNA7Qe+py+cpvBeUEGqBVEZ2yl0S9pjA23jzS245GHuUizO3d0uFr/p0LNILAfeOnKW4BZnhirFpbPr3NnQ==} + ras-stack@5.0.0-next.4: + resolution: {integrity: sha512-MWE2cB6pQ0ybrWWwcVWclXVuWR3hmt7X9i2F6oEjVwrYRura+noH4LwZ0/LUljc5yW9YnOlomNZ6UMj789hGcg==} snapshots: @@ -161,7 +161,7 @@ snapshots: '@pnpm/exe.win32-arm64': 12.13.0 '@pnpm/exe.win32-x64': 12.13.0 - ras-stack@5.0.0-next.3: {} + ras-stack@5.0.0-next.4: {} --- lockfileVersion: '9.0' @@ -210,8 +210,8 @@ importers: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: 5.0.0-next.3 - version: 5.0.0-next.3(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + specifier: 5.0.0-next.4 + version: 5.0.0-next.4(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) react: specifier: 19.3.0 version: 19.3.0 @@ -2987,8 +2987,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@5.0.0-next.3: - resolution: {integrity: sha512-WcJDNA7Qe+py+cpvBeUEGqBVEZ2yl0S9pjA23jzS245GHuUizO3d0uFr/p0LNILAfeOnKW4BZnhirFpbPr3NnQ==} + ras-stack@5.0.0-next.4: + resolution: {integrity: sha512-MWE2cB6pQ0ybrWWwcVWclXVuWR3hmt7X9i2F6oEjVwrYRura+noH4LwZ0/LUljc5yW9YnOlomNZ6UMj789hGcg==} engines: {node: '>=24 <25'} hasBin: true peerDependencies: @@ -5760,7 +5760,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@5.0.0-next.3(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): + ras-stack@5.0.0-next.4(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1694dd9..2ade1c3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,11 +9,11 @@ allowBuilds: esbuild: true minimumReleaseAgeExclude: - - ras-stack@5.0.0-next.3 + - ras-stack@5.0.0-next.4 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' - posthog-js@1.438.12 configDependencies: - ras-stack: 5.0.0-next.3 + ras-stack: 5.0.0-next.4 pnpmfile: node_modules/.pnpm-config/ras-stack/pnpmfile.mjs From 5ac11111c88f74a029ba6863427149c77a6178a1 Mon Sep 17 00:00:00 2001 From: Richard Solomou Date: Fri, 23 Oct 2026 11:56:51 +0300 Subject: [PATCH 11/11] chore(deps): adopt stable ras-stack v5 --- pnpm-lock.yaml | 20 ++++++++++---------- pnpm-workspace.yaml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae9caf8..704f530 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ importers: .: configDependencies: ras-stack: - specifier: 5.0.0-next.4 - version: 5.0.0-next.4 + specifier: 5.0.0 + version: 5.0.0 packageManagerDependencies: pnpm: specifier: 12.13.0 @@ -97,8 +97,8 @@ packages: engines: {node: '>=18.*'} hasBin: true - ras-stack@5.0.0-next.4: - resolution: {integrity: sha512-MWE2cB6pQ0ybrWWwcVWclXVuWR3hmt7X9i2F6oEjVwrYRura+noH4LwZ0/LUljc5yW9YnOlomNZ6UMj789hGcg==} + ras-stack@5.0.0: + resolution: {integrity: sha512-HPR0bJcEUZBM5GzsRwOj4cVo70Ra+CvpyUq4RYIBVAn1OimnWq3CQtPeG/42NbNLma5iQRAOPczvrW2nl63ihA==} snapshots: @@ -161,7 +161,7 @@ snapshots: '@pnpm/exe.win32-arm64': 12.13.0 '@pnpm/exe.win32-x64': 12.13.0 - ras-stack@5.0.0-next.4: {} + ras-stack@5.0.0: {} --- lockfileVersion: '9.0' @@ -210,8 +210,8 @@ importers: specifier: 1.438.12 version: 1.438.12(@types/react@19.3.0)(react@19.3.0) ras-stack: - specifier: 5.0.0-next.4 - version: 5.0.0-next.4(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) + specifier: 5.0.0 + version: 5.0.0(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0) react: specifier: 19.3.0 version: 19.3.0 @@ -2987,8 +2987,8 @@ packages: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} - ras-stack@5.0.0-next.4: - resolution: {integrity: sha512-MWE2cB6pQ0ybrWWwcVWclXVuWR3hmt7X9i2F6oEjVwrYRura+noH4LwZ0/LUljc5yW9YnOlomNZ6UMj789hGcg==} + ras-stack@5.0.0: + resolution: {integrity: sha512-HPR0bJcEUZBM5GzsRwOj4cVo70Ra+CvpyUq4RYIBVAn1OimnWq3CQtPeG/42NbNLma5iQRAOPczvrW2nl63ihA==} engines: {node: '>=24 <25'} hasBin: true peerDependencies: @@ -5760,7 +5760,7 @@ snapshots: range-parser@1.3.0: {} - ras-stack@5.0.0-next.4(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): + ras-stack@5.0.0(@posthog/react@1.11.3(@types/react@19.3.0)(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0))(posthog-js@1.438.12(@types/react@19.3.0)(react@19.3.0))(react@19.3.0): dependencies: '@changesets/parse': 1.0.0 '@manypkg/get-packages': 3.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 2ade1c3..ced56b4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,11 +9,11 @@ allowBuilds: esbuild: true minimumReleaseAgeExclude: - - ras-stack@5.0.0-next.4 + - ras-stack@5.0.0 # Reviewed exact versions from the RAS candidate; retain the seven-day gate for other packages. - '@posthog/browser-common@0.9.5' - '@posthog/core@1.59.1' - posthog-js@1.438.12 configDependencies: - ras-stack: 5.0.0-next.4 + ras-stack: 5.0.0 pnpmfile: node_modules/.pnpm-config/ras-stack/pnpmfile.mjs