-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
executable file
·117 lines (117 loc) · 11.7 KB
/
package.json
File metadata and controls
executable file
·117 lines (117 loc) · 11.7 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"private": true,
"name": "@evolu/monorepo",
"repository": "https://github.com/SQLoot/evolu-plan-b",
"author": "SQLoot",
"license": "MIT",
"packageManager": "bun@1.3.11",
"workspaces": [
"apps/relay",
"packages/*",
"examples/*"
],
"scripts": {
"dev": "turbo --filter relay dev",
"relay": "turbo --filter relay dev",
"build": "bun run clean:ts && turbo --filter @evolu/* build",
"build:web": "bun run build:docs",
"build:docs": "bun run docs:generate:api",
"typecheck": "tsc --build tsconfig.typecheck.json",
"test": "bun run test:preflight && bunx vitest run",
"test:preflight": "bun run test:preflight:bun && bun run test:preflight:node",
"test:preflight:bun": "bun ./scripts/ensure-better-sqlite3.mts --runtime=bun",
"test:preflight:node": "bun ./scripts/ensure-better-sqlite3.mts --runtime=node",
"test:docs": "bunx vitest run scripts/typedoc-plugin-evolu.test.mts",
"test:tree-shaking:compat": "EVOLU_TREE_SHAKING_COMPAT=1 bunx vitest run packages/common/test/TreeShaking.test.ts",
"test:coverage": "bun run test:coverage:vitest && bun run test:coverage:bun && bun run coverage:merge:bun",
"test:coverage:vitest": "bun run test:preflight && bunx vitest run --coverage --config vitest.coverage.config.mts",
"test:coverage:bun": "bun test ./packages/bun/test --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage/bun",
"test:coverage:astro": "bun run test:preflight && bunx vitest run --project astro --coverage --coverage.all=true --coverage.include='packages/astro/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-astro",
"test:coverage:tanstack": "bun run test:preflight && bunx vitest run --project tanstack-start --coverage --coverage.all=true --coverage.include='packages/tanstack-start/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-tanstack",
"test:coverage:react-native": "bun run test:preflight && bunx vitest run --project react-native --coverage --coverage.all=true --coverage.include='packages/react-native/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-react-native",
"test:coverage:expo": "bun run test:preflight && bunx vitest run --project react-native --coverage --coverage.all=true --coverage.include='packages/react-native/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-expo",
"test:coverage:react-web": "bun run test:preflight && bunx vitest run --project react-web --coverage --coverage.all=true --coverage.include='packages/react-web/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-react-web",
"test:coverage:tauri": "bun run test:preflight && bunx vitest run --project tauri --coverage --coverage.all=true --coverage.include='packages/tauri/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-tauri",
"test:coverage:web": "bun run test:preflight && bunx vitest run --project @evolu/web --coverage --coverage.all=true --coverage.include='packages/web/src/**/*.{ts,tsx}' --coverage.exclude='**/*.d.ts' --coverage.reporter=text --coverage.reporter=json-summary --coverage.reportsDirectory=coverage/lane-web",
"coverage:merge:bun": "bun ./scripts/coverage-merge-bun.mts --vitest coverage/coverage-summary.json --bun coverage/bun/lcov.info --out coverage/coverage-summary.json",
"coverage:gate:p0": "bun ./scripts/coverage-file-gate.mts --coverage coverage/coverage-summary.json --thresholds '{\"packages/common/src/local-first/Db.ts\":{\"statements\":90,\"branches\":90},\"packages/common/src/local-first/Worker.ts\":{\"statements\":90,\"branches\":90},\"packages/web/src/local-first/DbWorker.ts\":{\"statements\":90,\"branches\":90}}'",
"coverage:gate:p1": "bun ./scripts/coverage-file-gate.mts --coverage coverage/coverage-summary.json --thresholds '{\"packages/common/src/local-first/Db.ts\":{\"statements\":90,\"branches\":90},\"packages/common/src/local-first/Worker.ts\":{\"statements\":90,\"branches\":90},\"packages/web/src/local-first/DbWorker.ts\":{\"statements\":90,\"branches\":90},\"packages/common/src/local-first/LocalAuth.ts\":{\"statements\":75,\"branches\":60},\"packages/web/src/local-first/LocalAuth.ts\":{\"statements\":75,\"branches\":60},\"packages/nodejs/src/Worker.ts\":{\"statements\":90,\"branches\":85},\"packages/nodejs/src/Sqlite.ts\":{\"statements\":90,\"branches\":85}}'",
"coverage:gate:astro": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-astro/coverage-summary.json --thresholds '{\"packages/astro/src/index.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100}}'",
"coverage:gate:tanstack": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-tanstack/coverage-summary.json --thresholds '{\"packages/tanstack-start/src/index.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100}}'",
"coverage:gate:react-native": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-react-native/coverage-summary.json --thresholds '{\"packages/react-native/src/Task.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/Worker.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/web.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/index.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/shared.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/createExpoDeps.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/sqlite-drivers/createExpoSqliteDriver.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/sqlite-drivers/createOpSqliteDriver.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/exports/expo-sqlite.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/exports/expo-op-sqlite.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/exports/bare-op-sqlite.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/components/EvoluIdenticon.tsx\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100}}'",
"coverage:gate:expo": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-expo/coverage-summary.json --thresholds '{\"packages/react-native/src/createExpoDeps.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/sqlite-drivers/createExpoSqliteDriver.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/exports/expo-sqlite.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100},\"packages/react-native/src/exports/expo-op-sqlite.ts\":{\"statements\":100,\"branches\":100,\"functions\":100,\"lines\":100}}'",
"coverage:gate:react-web": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-react-web/coverage-summary.json --thresholds '{\"packages/react-web/src/local-first/Evolu.ts\":{\"statements\":80,\"branches\":70,\"functions\":80,\"lines\":80}}'",
"coverage:gate:tauri": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-tauri/coverage-summary.json --thresholds '{\"packages/tauri/src/index.ts\":{\"statements\":90,\"branches\":80,\"functions\":100,\"lines\":100}}'",
"coverage:gate:web": "bun ./scripts/coverage-file-gate.mts --coverage coverage/lane-web/coverage-summary.json --thresholds '{\"packages/web/src/Sqlite.ts\":{\"statements\":95,\"branches\":90},\"packages/web/src/Task.ts\":{\"statements\":98,\"branches\":95},\"packages/web/src/Worker.ts\":{\"statements\":98,\"branches\":95},\"packages/web/src/local-first/DbWorker.ts\":{\"statements\":98,\"branches\":90},\"packages/web/src/local-first/LocalAuth.ts\":{\"statements\":99,\"branches\":90}}'",
"coverage:lane:astro": "bun run test:coverage:astro && bun run coverage:gate:astro",
"coverage:lane:tanstack": "bun run test:coverage:tanstack && bun run coverage:gate:tanstack",
"coverage:lane:react-native": "bun run test:coverage:react-native && bun run coverage:gate:react-native",
"coverage:lane:expo": "bun run test:coverage:expo && bun run coverage:gate:expo",
"coverage:lane:react-web": "bun run test:coverage:react-web && bun run coverage:gate:react-web",
"coverage:lane:tauri": "bun run test:coverage:tauri && bun run coverage:gate:tauri",
"coverage:lane:web": "bun run test:coverage:web && bun run coverage:gate:web",
"coverage:lane:active": "bun run coverage:lane:${EVOLU_ACTIVE_COVERAGE_LANE:-astro}",
"playwright:install": "cd packages/common && bunx playwright install chromium firefox webkit",
"test:watch": "bunx vitest",
"start": "turbo start",
"lint": "biome check",
"lint-monorepo": "bunx sherif@1.6.1",
"format": "biome format --write .",
"sync:guard:upstream": "bun ./scripts/sync-guard-upstream.mts",
"sync:guard:upstream:strict": "bun ./scripts/sync-guard-upstream.mts --strict",
"sync:guard:common-v8": "bun ./scripts/sync-guard-common-v8.mts",
"sync:guard:common-v8:strict": "bun ./scripts/sync-guard-common-v8.mts --strict",
"verify:fast": "bun run build && bun run test && bun run lint && bun run lint-monorepo",
"verify": "bun run typecheck && bun run format && bun run build && bun run test && bun run test:coverage && bun run lint && bun run lint-monorepo",
"clean:ts": "tsc --build --clean tsconfig.typecheck.json",
"clean": "turbo clean && bun ./scripts/rm.mts node_modules .turbo out coverage",
"version": "changeset version",
"release": "bun run build && changeset publish",
"ios": "cd examples/react-expo && bun ios",
"android": "cd examples/react-expo && bun android",
"bench": "turbo bench",
"examples:toggle-deps": "bun ./scripts/toggle-examples-deps.mts",
"examples:build": "turbo --filter @example/* build",
"examples:react-nextjs:dev": "turbo --filter @example/react-nextjs dev",
"examples:react-vite-pwa:dev": "turbo --filter @example/react-vite-pwa dev",
"examples:svelte-vite-pwa:dev": "turbo --filter @example/svelte-vite-pwa dev",
"examples:vue-vite-pwa:dev": "turbo --filter @example/vue-vite-pwa dev",
"docs:generate:api": "typedoc",
"docs:sync:website": "bun ./scripts/docs-sync-website.mts"
},
"devDependencies": {
"@biomejs/biome": "^2.4.10",
"@changesets/cli": "^2.30.0",
"@vitest/browser": "^4.1.2",
"@vitest/browser-playwright": "^4.1.2",
"@vitest/coverage-istanbul": "^4.1.2",
"@vitest/coverage-v8": "^4.1.2",
"turbo": "^2.9.1",
"typedoc": "^0.28.18",
"typedoc-plugin-markdown": "^4.11.0",
"typescript": "^5.9.3",
"vitest": "^4.1.2"
},
"overrides": {
"serialize-javascript": "^7.0.3",
"svgo": "^4.0.1",
"tar": "^7.5.10"
},
"engines": {
"node": ">=24.0.0"
},
"trustedDependencies": [
"@biomejs/biome",
"@parcel/watcher",
"@tailwindcss/oxide",
"better-sqlite3",
"electron",
"electron-winstaller",
"esbuild",
"lmdb",
"msgpackr-extract",
"react-native-nitro-modules",
"sharp",
"unrs-resolver"
]
}