-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
80 lines (80 loc) · 2.38 KB
/
package.json
File metadata and controls
80 lines (80 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{
"name": "paneweave",
"version": "0.0.1",
"description": "Reusable React split-pane layout engine with registry-driven panels, typed APIs, and configurable persistence.",
"keywords": [
"react",
"layout",
"split-pane",
"panels"
],
"license": "MIT",
"author": "Kirill Osipov",
"type": "module",
"sideEffects": [
"./dist/styles.css"
],
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
},
"./styles.css": "./dist/styles.css"
},
"files": [
"dist",
"README.md",
"LICENSE"
],
"scripts": {
"build": "npm run clean && npm run build:types && npm run build:js && npm run build:css",
"build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly",
"build:js": "esbuild src/index.ts --bundle --format=esm --platform=browser --target=es2020 --minify --tree-shaking=true --external:react --external:react-dom --outdir=dist",
"build:css": "esbuild src/styles.css --minify --outfile=dist/styles.css",
"clean": "rm -rf dist",
"test": "npm run build && node --test tests/*.test.mjs",
"deploy": "npm run deploy:npm",
"deploy:dry": "npm run deploy:npm:dry",
"deploy:npm": "npm run test && npm publish",
"deploy:npm:dry": "npm run test && npm publish --dry-run"
},
"x-docs": {
"readme": "./README.md",
"usage": "See the Consumer Example section in README.md"
},
"x-consumer-example": {
"imports": [
"import { PaneweaveLayout } from 'paneweave'",
"import { createLayoutStore } from 'paneweave/zustand'",
"import 'paneweave/styles.css'"
],
"steps": [
"Create a layout store with createLayoutStore({ initialLayout, persistence })",
"Register your panels with ids, labels, and render functions",
"Render <PaneweaveLayout store={store} panelDefinitions={panelDefinitions} panelContext={context} />"
]
},
"peerDependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0",
"zustand": "^5.0.0"
},
"peerDependenciesMeta": {
"zustand": {
"optional": true
}
},
"devDependencies": {
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"esbuild": "^0.25.9",
"jsdom": "^26.1.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"typescript": "~5.9.3",
"zustand": "^5.0.12"
}
}