@jsonpages/stack 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/index.js +16 -0
- package/package.json +16 -0
- package/stack-versions.json +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# @jsonpages/stack
|
|
2
|
+
|
|
3
|
+
**Single source of truth** for JsonPages tenant dependency versions (enterprise stack manifest).
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
- **Core** syncs its `peerDependencies` from this manifest (via `prepack` script).
|
|
8
|
+
- **CLI** uses this manifest when projecting a new tenant so `npm install` gets the exact versions defined here.
|
|
9
|
+
- No version drift: one file to change when upgrading React, Vite, React Router, etc.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
1. **Upgrade stack:** Edit `stack-versions.json` (dependencies, devDependencies, peerDependencies). Keep `peerDependencies` in sync with what Core supports.
|
|
14
|
+
2. **Publish order:** Publish `@jsonpages/stack` first, then `@jsonpages/core`, then `@jsonpages/cli`.
|
|
15
|
+
3. **From repo:** Run `npm install` at monorepo root so workspace deps resolve; then build/publish Core and CLI as needed.
|
|
16
|
+
|
|
17
|
+
## Consumers
|
|
18
|
+
|
|
19
|
+
| Package | Use |
|
|
20
|
+
|----------------|-----|
|
|
21
|
+
| @jsonpages/core | `prepack` runs `scripts/sync-peers-from-stack.js` → copies `peerDependencies` into Core’s package.json. |
|
|
22
|
+
| @jsonpages/cli | On `jsonpages new tenant <name>`, installs deps with `name@version` from `dependencies` and `devDependencies`. |
|
|
23
|
+
|
|
24
|
+
## File layout
|
|
25
|
+
|
|
26
|
+
- `stack-versions.json` — canonical versions (peerDependencies, dependencies, devDependencies).
|
|
27
|
+
- `index.js` — ESM export for Node (used by Core sync script and CLI).
|
package/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsonpages/stack — Export stack manifest for Node ESM and CJS.
|
|
3
|
+
*/
|
|
4
|
+
import { readFileSync } from 'fs';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { dirname, join } from 'path';
|
|
7
|
+
|
|
8
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
const data = JSON.parse(
|
|
10
|
+
readFileSync(join(__dirname, 'stack-versions.json'), 'utf8')
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export default data;
|
|
14
|
+
export const peerDependencies = data.peerDependencies ?? {};
|
|
15
|
+
export const dependencies = data.dependencies ?? {};
|
|
16
|
+
export const devDependencies = data.devDependencies ?? {};
|
package/package.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jsonpages/stack",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "JsonPages tenant stack manifest — single source of truth for dependency versions",
|
|
5
|
+
"private": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./index.js",
|
|
10
|
+
"./stack-versions.json": "./stack-versions.json"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"index.js",
|
|
14
|
+
"stack-versions.json"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Single source of truth for JsonPages tenant stack. Core peerDependencies and CLI-projected tenant dependencies MUST derive from this manifest.",
|
|
3
|
+
"peerDependencies": {
|
|
4
|
+
"react": "^19.0.0",
|
|
5
|
+
"react-dom": "^19.0.0",
|
|
6
|
+
"react-router-dom": "^6.29.0",
|
|
7
|
+
"zod": "^3.24.1"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"react": "^19.0.0",
|
|
11
|
+
"react-dom": "^19.0.0",
|
|
12
|
+
"react-router-dom": "^6.29.0",
|
|
13
|
+
"zod": "^3.24.1",
|
|
14
|
+
"lucide-react": "^0.474.0",
|
|
15
|
+
"radix-ui": "^1.4.3",
|
|
16
|
+
"tailwind-merge": "^3.0.1",
|
|
17
|
+
"clsx": "^2.1.1",
|
|
18
|
+
"file-saver": "^2.0.5",
|
|
19
|
+
"jszip": "^3.10.1",
|
|
20
|
+
"@jsonpages/core": "^1.0.7"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"vite": "^6.0.0",
|
|
24
|
+
"@vitejs/plugin-react": "^4.0.0",
|
|
25
|
+
"typescript": "^5.7.3",
|
|
26
|
+
"@tailwindcss/vite": "^4.0.0",
|
|
27
|
+
"tailwindcss": "^4.0.0",
|
|
28
|
+
"@types/node": "^22.13.1",
|
|
29
|
+
"@types/react": "^19.0.0",
|
|
30
|
+
"@types/react-dom": "^19.0.0",
|
|
31
|
+
"@types/file-saver": "^2.0.7"
|
|
32
|
+
}
|
|
33
|
+
}
|