- Upgrade required Node.js runtime from 22 to 24 in package.json
- Update pnpm to version 12
- Upgrade astro to 7.2.9 and @astrojs/starlight to 0.41.9
- Update README.md to include NVM and the Node.js 24 requirement
- Update pnpm-workspace.yaml to only install environment-specific dependencies
- Downgraded astro to ^6.4.8 and starlight to ^0.40.0 in docs/
- Removed platform-specific astro compiler bindings from root package.json
- Updated pnpm-lock.yaml
pnpm v11 aggressively purges nested optional platform-specific dependencies during hoisted workspace resolution if the host detection mismatches local metadata. Moving these packages to root devDependencies bypasses pnpm's optional filtering logic, forcing a deterministic physical download of the required Rust compiler binary without cluttering the published library's package.json.
Fixes: #23
Playwright was previously pinned with a caret range (^1.61.1), which
allowed pnpm to silently resolve a newer minor version after the
lockfile was regenerated. This caused a version mismatch with the
Docker test image, which still referenced 1.61.1.
- packages/luna-charts/package.json: pin playwright to 1.62.1 exactly
- Dockerfile.test: bump base image to v1.62.1-noble to match
add root command for documentation development
Expose the Astro documentation development server through the root
workspace to simplify the local development workflow. Developers can
now start the documentation site without changing into the docs directory.
Fixes: #12
Explicitly added @oxc-parser/binding-linux-x64-gnu and @rolldown/binding-linux-x64-gnu as devDependencies. This bypasses issues where pnpm occasionally skips optional native platform bindings during installation, which previously caused CriticalPresetLoadError when loading StencilJS plugins.
- Add supportedArchitectures (linux-x64-gnu) to pnpm-workspace.yaml so native bindings (rolldown, esbuild) are included in the lockfile for the container's platform
- Add onlyBuiltDependencies: [playwright] to pnpm-workspace.yaml so build scripts run non-interactively in CI/Docker
- Remove stale/redundant pnpm field from package.json (moved to pnpm-workspace.yaml per pnpm v10+ config location)
- Split stencil-test into test:unit (native, fast) and test:browser (Docker, cross-browser) scripts
- Set ENV CI=true in Dockerfile.test to avoid interactive TTY prompts during pnpm install
- Remove anonymous node_modules volumes from docker-compose.test.yaml to prevent stale volume state from surviving image rebuilds
- Add root-level test:unit / test:component / test scripts to orchestrate native unit tests and Dockerized cross-browser tests