Restructure the repository into a pnpm workspace under packages/ (core, webui, runtime). Move source files for core and webui into packages/*, add package manifests for @snowluma/core and @snowluma/runtime, and remove the old launcher package.json. Update root package.json to be a monorepo controller (scripts delegate to pnpm filters, set packageManager and Node engine). Configure build outputs to emit into the repo-root dist/ (vite config changes) so the existing release pipeline continues to work. Add .npmrc with mirrors, expand .gitignore for monorepo layout, add tsconfig base and package-level tsconfigs, and add vitest config for the core package. Adjust injector native search paths and update tests import paths to the new package layout. Small CI/workflow comment added to clarify build behavior and README updated with monorepo structure and common commands.
33 lines
950 B
JSON
33 lines
950 B
JSON
{
|
|
"name": "snowluma-monorepo",
|
|
"version": "0.1.0",
|
|
"description": "SnowLuma monorepo workspace (pnpm)",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "pnpm --filter @snowluma/core build",
|
|
"build:webui": "pnpm --filter webui build",
|
|
"build:all": "pnpm --filter @snowluma/core build:all && pnpm --filter webui build",
|
|
"dev": "pnpm --filter @snowluma/core dev",
|
|
"dev:web": "pnpm --filter webui dev",
|
|
"test": "pnpm --filter @snowluma/core test",
|
|
"test:watch": "pnpm --filter @snowluma/core test:watch",
|
|
"typecheck": "pnpm -r --if-present typecheck",
|
|
"lint": "pnpm -r --if-present lint",
|
|
"start": "node dist/index.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "catalog:"
|
|
},
|
|
"pnpm": {
|
|
"peerDependencyRules": {
|
|
"allowedVersions": {
|
|
"eslint-plugin-react-hooks>eslint": "10"
|
|
}
|
|
}
|
|
},
|
|
"packageManager": "pnpm@10.28.0",
|
|
"engines": {
|
|
"node": ">=22"
|
|
}
|
|
} |