@superbright/indexeddb-orm 1.0.45 → 1.0.46
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 +17 -0
- package/package.json +25 -23
package/README.md
CHANGED
|
@@ -77,6 +77,23 @@ Always pass `snake_case` to tracking helpers. Internally, payloads are normalise
|
|
|
77
77
|
> **Deprecated:** `skipKeyTransform` has been removed. It was a no-op because `convertKeysToSnakeCase` is idempotent for snake_case inputs.
|
|
78
78
|
|
|
79
79
|
|
|
80
|
+
## Schema tooling
|
|
81
|
+
|
|
82
|
+
API types and Zod schemas are generated from the live OpenAPI spec. Scalar is used to validate and mock the spec locally.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pnpm generate:api-schema # validate openapi.json, pull latest types, regenerate Zod schemas
|
|
86
|
+
pnpm validate:api # validate openapi.json only (Scalar)
|
|
87
|
+
pnpm mock:api # run a mock API server on :4010 (Scalar)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`generate:api-schema` runs automatically on `prepublishOnly`. It:
|
|
91
|
+
1. Validates `openapi.json` via Scalar
|
|
92
|
+
2. Fetches the live spec from `api.dev.inresi.link` and generates `src/types/api.generated.ts` (openapi-typescript)
|
|
93
|
+
3. Runs `gen-schemas.mjs` to emit `src/api/schemas.generated.ts` (Zod schemas with `z.lazy()` for circular refs) and `src/api/response-schemas.generated.ts` (strict embed overrides from `src/scripts/response-schema-overrides.json`)
|
|
94
|
+
|
|
95
|
+
Never edit `*.generated.ts` files by hand — they will be overwritten.
|
|
96
|
+
|
|
80
97
|
## Development
|
|
81
98
|
|
|
82
99
|
```bash
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superbright/indexeddb-orm",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.46",
|
|
4
4
|
"description": "Vite + TypeScript IndexedDB ORM.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -38,6 +38,29 @@
|
|
|
38
38
|
"files": [
|
|
39
39
|
"dist"
|
|
40
40
|
],
|
|
41
|
+
"scripts": {
|
|
42
|
+
"clean": "rimraf dist",
|
|
43
|
+
"build": "pnpm clean && vite build && tsc -p tsconfig.build.json",
|
|
44
|
+
"prepare": "pnpm build",
|
|
45
|
+
"start": "vite --clearScreen false",
|
|
46
|
+
"dev": "concurrently -k -n PLAY,BUILD \"pnpm:start\" \"pnpm:watch\"",
|
|
47
|
+
"watch": "concurrently -k -n TYPES,BUNDLE \"pnpm:watch:types\" \"pnpm:watch:bundle\"",
|
|
48
|
+
"watch:types": "tsc -w -p tsconfig.build.json",
|
|
49
|
+
"watch:bundle": "vite build --watch",
|
|
50
|
+
"test": "vitest run",
|
|
51
|
+
"test:watch": "vitest",
|
|
52
|
+
"test:contract": "vitest run --config vitest.contract.config.ts",
|
|
53
|
+
"format": "pnpm format:write",
|
|
54
|
+
"format:write": "prettier --write .",
|
|
55
|
+
"format:check": "prettier --check .",
|
|
56
|
+
"docs:api": "typedoc --plugin typedoc-plugin-markdown --entryPoints src/docs/property.ts src/docs/unit.ts src/docs/filters.ts --tsconfig tsconfig.json --out autodocs/docs/api/schema --readme none",
|
|
57
|
+
"analyze": "pnpm clean && ANALYZE=1 vite build && tsc -p tsconfig.build.json",
|
|
58
|
+
"docs:serve": "cp openapi.json autodocs/static/openapi.json && cd autodocs && pnpm start",
|
|
59
|
+
"mock:api": "scalar mock openapi.json --port 4010",
|
|
60
|
+
"validate:api": "scalar validate openapi.json",
|
|
61
|
+
"generate:api-schema": "scalar validate openapi.json && openapi-typescript https://api.dev.inresi.link/docs/json -o src/types/api.generated.ts && node src/scripts/gen-schemas.mjs",
|
|
62
|
+
"prepublishOnly": "pnpm generate:api-schema"
|
|
63
|
+
},
|
|
41
64
|
"dependencies": {
|
|
42
65
|
"add": "^2.0.6",
|
|
43
66
|
"dexie": "^4.0.8",
|
|
@@ -82,26 +105,5 @@
|
|
|
82
105
|
"posthog-js": {
|
|
83
106
|
"optional": true
|
|
84
107
|
}
|
|
85
|
-
},
|
|
86
|
-
"scripts": {
|
|
87
|
-
"clean": "rimraf dist",
|
|
88
|
-
"build": "pnpm clean && vite build && tsc -p tsconfig.build.json",
|
|
89
|
-
"start": "vite --clearScreen false",
|
|
90
|
-
"dev": "concurrently -k -n PLAY,BUILD \"pnpm:start\" \"pnpm:watch\"",
|
|
91
|
-
"watch": "concurrently -k -n TYPES,BUNDLE \"pnpm:watch:types\" \"pnpm:watch:bundle\"",
|
|
92
|
-
"watch:types": "tsc -w -p tsconfig.build.json",
|
|
93
|
-
"watch:bundle": "vite build --watch",
|
|
94
|
-
"test": "vitest run",
|
|
95
|
-
"test:watch": "vitest",
|
|
96
|
-
"test:contract": "vitest run --config vitest.contract.config.ts",
|
|
97
|
-
"format": "pnpm format:write",
|
|
98
|
-
"format:write": "prettier --write .",
|
|
99
|
-
"format:check": "prettier --check .",
|
|
100
|
-
"docs:api": "typedoc --plugin typedoc-plugin-markdown --entryPoints src/docs/property.ts src/docs/unit.ts src/docs/filters.ts --tsconfig tsconfig.json --out autodocs/docs/api/schema --readme none",
|
|
101
|
-
"analyze": "pnpm clean && ANALYZE=1 vite build && tsc -p tsconfig.build.json",
|
|
102
|
-
"docs:serve": "cp openapi.json autodocs/static/openapi.json && cd autodocs && pnpm start",
|
|
103
|
-
"mock:api": "scalar mock openapi.json --port 4010",
|
|
104
|
-
"validate:api": "scalar validate openapi.json",
|
|
105
|
-
"generate:api-schema": "scalar validate openapi.json && openapi-typescript https://api.dev.inresi.link/docs/json -o src/types/api.generated.ts && node src/scripts/gen-schemas.mjs"
|
|
106
108
|
}
|
|
107
|
-
}
|
|
109
|
+
}
|