-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
178 lines (178 loc) · 10.9 KB
/
package.json
File metadata and controls
178 lines (178 loc) · 10.9 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
{
"name": "pithos",
"version": "1.0.0",
"type": "module",
"description": "A comprehensive TypeScript utility library",
"keywords": [
"utilities",
"typescript",
"functional-programming",
"result",
"either",
"validation",
"schema",
"async",
"performance",
"fp-ts",
"neverthrow",
"lodash-alternative",
"underscore-alternative",
"ramda-alternative",
"zod-alternative",
"developer-tools",
"ecosystem"
],
"scripts": {
"cli": "pnpm exec tsx scripts/cli.ts",
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json --resolve-full-paths",
"dev": "tsc -p tsconfig.build.json --watch",
"coverage": "rm -rf reports/coverage && vitest run --coverage && pnpm exec open-cli reports/coverage/index.html",
"coverage:arkhe": "rm -rf reports/coverage && vitest run packages/pithos/src/arkhe packages/pithos/test/arkhe --coverage --coverage.include=packages/pithos/src/arkhe/**/*.ts && pnpm exec open-cli reports/coverage/index.html",
"coverage:kanon": "rm -rf reports/coverage && vitest run packages/pithos/src/kanon packages/pithos/test/kanon --coverage --coverage.include=packages/pithos/src/kanon/**/*.ts && pnpm exec open-cli reports/coverage/index.html",
"coverage:sphalma": "rm -rf reports/coverage && vitest run packages/pithos/src/sphalma packages/pithos/test/sphalma --coverage --coverage.include=packages/pithos/src/sphalma/**/*.ts && pnpm exec open-cli reports/coverage/index.html",
"coverage:taphos": "rm -rf reports/coverage && vitest run packages/pithos/src/taphos packages/pithos/test/taphos --coverage --coverage.include=packages/pithos/src/taphos/**/*.ts && pnpm exec open-cli reports/coverage/index.html",
"coverage:zygos": "rm -rf reports/coverage && vitest run packages/pithos/src/zygos packages/pithos/test/zygos --coverage --coverage.include=packages/pithos/src/zygos/**/*.ts && pnpm exec open-cli reports/coverage/index.html",
"test": "vitest run",
"test:watch": "vitest",
"test:arkhe": "vitest packages/pithos/src/arkhe packages/pithos/test/arkhe --run",
"test:kanon": "vitest packages/pithos/src/kanon packages/pithos/test/kanon --run",
"test:sphalma": "vitest packages/pithos/src/sphalma packages/pithos/test/sphalma --run",
"test:taphos": "vitest packages/pithos/src/taphos packages/pithos/test/taphos --run",
"test:zygos": "vitest packages/pithos/src/zygos packages/pithos/test/zygos --run",
"test:mutation": "stryker run && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:file": "pnpm exec tsx scripts/mutation-file.ts",
"test:mutation:arkhe": "pnpm stryker run --mutate 'packages/pithos/src/arkhe/**/!(*.test).ts' && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:kanon": "pnpm stryker run --mutate 'packages/pithos/src/kanon/**/!(*.test).ts' && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:sphalma": "pnpm stryker run --mutate 'packages/pithos/src/sphalma/**/!(*.test).ts' && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:taphos": "pnpm stryker run --mutate 'packages/pithos/src/taphos/**/!(*.test).ts' && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:zygos": "pnpm stryker run --mutate 'packages/pithos/src/zygos/**/!(*.test).ts' && pnpm exec open-cli reports/mutation/mutation.html",
"test:mutation:all": "pnpm run test:mutation:arkhe && pnpm run test:mutation:kanon && pnpm run test:mutation:sphalma && pnpm run test:mutation:taphos && pnpm run test:mutation:zygos",
"test:mutation:check": "pnpm exec tsx scripts/check-mutation-coverage.ts && pnpm exec open-cli reports/mutation/mutation_separate.html",
"lint": "eslint packages/pithos/src --ext .ts --max-warnings=0",
"lint:fix": "eslint packages/pithos/src --ext .ts --fix",
"lint:arkhe": "eslint packages/pithos/src/arkhe --ext .ts --max-warnings=0",
"lint:arkhe:fix": "eslint packages/pithos/src/arkhe --ext .ts --fix",
"lint:kanon": "eslint packages/pithos/src/kanon --ext .ts --max-warnings=0",
"lint:kanon:fix": "eslint packages/pithos/src/kanon --ext .ts --fix",
"lint:sphalma": "eslint packages/pithos/src/sphalma --ext .ts --max-warnings=0",
"lint:sphalma:fix": "eslint packages/pithos/src/sphalma --ext .ts --fix",
"lint:taphos": "eslint packages/pithos/src/taphos --ext .ts --max-warnings=0",
"lint:taphos:fix": "eslint packages/pithos/src/taphos --ext .ts --fix",
"lint:zygos": "eslint packages/pithos/src/zygos --ext .ts --max-warnings=0",
"lint:zygos:fix": "eslint packages/pithos/src/zygos --ext .ts --fix",
"check:types": "tsc --noEmit",
"check:tsdoc": "pnpm exec tsx scripts/check-tsdoc.ts",
"check:multiple-jsdoc": "pnpm exec tsx scripts/check-multiple-jsdoc.ts",
"check:stryker-comments": "pnpm exec tsx scripts/check-stryker-comments.ts",
"check:doc-pages": "pnpm exec tsx scripts/check-doc-pages.ts",
"check:doc-inline-types": "pnpm exec tsx scripts/check-inline-types.ts",
"doc:check": "pnpm exec tsx scripts/check-doc-coverage.ts",
"doc:copy:changelog": "pnpm exec tsx scripts/copy-changelog.ts",
"check:dependencies": "pnpm exec tsx scripts/check-dependencies.ts",
"check:test-imports": "pnpm exec tsx scripts/check-test-imports.ts",
"check:knip": "knip",
"check:jscpd": "jscpd packages/pithos/src --reporters console",
"check:all": "pnpm exec tsx scripts/check-all.ts",
"generate:exports": "pnpm exec tsx scripts/generate-exports.ts",
"generate:autocompletion": "pnpm exec tsx scripts/generate-autocompletion.ts",
"doc:generate": "pnpm doc:generate:api && pnpm doc:check && pnpm doc:merge && pnpm doc:copy:changelog && pnpm exec tsx packages/main/website/scripts/generate-use-cases-data.ts && pnpm doc:snapshots",
"doc:generate:kanon:benchmarks-results": "pnpm benchmark:kanon realworld all --report",
"doc:generate:arkhe:benchmarks-results": "pnpm exec tsx packages/arkhe/benchmarks/run-bench.ts --report",
"doc:generate:taphos:benchmarks-results": "pnpm exec tsx packages/taphos/benchmarks/run-bench.ts --report",
"doc:generate:kanon:bundle-sizes": "pnpm build && pnpm exec tsx packages/main/website/scripts/generate-bundle-data.ts",
"doc:generate-arkhe-taphos-bundle-sizes": "pnpm build && pnpm exec tsx packages/main/website/scripts/generate-arkhe-bundle-sizes.ts",
"doc:generate-zygos-bundle-sizes": "pnpm build && pnpm exec tsx packages/main/website/scripts/generate-zygos-bundle-sizes.ts",
"doc:generate:api": "cd packages/pithos && typedoc",
"doc:merge": "pnpm exec tsx scripts/merge-docs.ts",
"doc:snapshots": "vitest run scripts/doc-formatters/__tests__/snapshots-*.test.ts --dir scripts",
"doc:snapshots:update": "vitest run scripts/doc-formatters/__tests__/snapshots-*.test.ts --dir scripts --update",
"doc:build": "cd packages/main/website && pnpm build",
"doc:build:zip": "pnpm doc:build && cd packages/main/website/build && zip -r ../website-build.zip .",
"doc:preview:emoji": "pnpm exec tsx scripts/generate-emoji-preview.ts",
"doc:generate:fonts": "cd packages/main/website && pnpm run generate:fonts",
"seo:lighthouse": "bash scripts/ensure-website-build.sh && bash scripts/run-lighthouse.sh && pnpm exec tsx scripts/generate-lighthouse-index.ts",
"seo:test": "vitest run packages/main/website/test --dir packages/main/website",
"seo:validate": "pnpm exec tsx packages/main/website/scripts/seo-validate.ts",
"seo:canonicals": "pnpm exec tsx packages/main/website/scripts/verify-canonicals.ts",
"a11y:lint": "pnpm eslint 'packages/main/website/src/**/*.tsx' 2>&1 | grep 'jsx-a11y' || echo 'No accessibility issues found'",
"doc:deploy:preview": "pnpm doc:build && pnpm exec tsx scripts/vercel-deploy.ts",
"doc:deploy:prod": "read -p '⚠️ Deploy to pithos.dev? (y/N) ' confirm && if [ \"$confirm\" = 'y' ] || [ \"$confirm\" = 'yes' ]; then pnpm doc:build && pnpm exec tsx scripts/vercel-deploy.ts --prod; else echo 'Deploy cancelled.'; fi",
"analyze:bundle": "pnpm run build && pnpm --filter pithos-bundle-analyzer build && pnpm exec tsx packages/main/pithos-bundle-analyzer/scripts/summarize-sizes.ts && pnpm --filter pithos-bundle-analyzer preview",
"analyze:treeshaking": "cd packages/kanon/test-string-schema && pnpm build && pnpm preview",
"clean": "rm -rf packages/pithos/dist",
"dev:landscape": "pnpm --filter pithos-landscape dev",
"build:landscape": "pnpm --filter pithos-landscape build",
"preview:landscape": "pnpm --filter pithos-landscape preview",
"benchmark:kanon": "pnpm exec tsx packages/kanon/benchmarks/run-bench.ts",
"benchmark:kanon:perf": "cd packages/kanon/perf-benchmarks && npm run benchmark",
"benchmark:arkhe": "vitest bench packages/arkhe/benchmarks --run",
"benchmark:taphos": "vitest bench packages/taphos/benchmarks --run",
"benchmark:zygos": "vitest bench packages/zygos/benchmarks --run",
"doc:generate:zygos:benchmarks-results": "pnpm exec tsx packages/zygos/benchmarks/run-bench.ts --report",
"publish:dry-run": "pnpm --filter @pithos/core publish --dry-run",
"publish:dry-run:no-git-checks": "pnpm --filter @pithos/core publish --dry-run --no-git-checks",
"publish:pithos": "read -p '⚠️ Publish @pithos/core to npm? (y/N) ' confirm && if [ \"$confirm\" = 'y' ] || [ \"$confirm\" = 'yes' ]; then pnpm --filter @pithos/core publish; else echo 'Publish cancelled.'; fi",
"prepublishOnly": "pnpm --filter @pithos/core run prepublishOnly"
},
"pnpm": {
"overrides": {
"sharp": "^0.34.5"
},
"onlyBuiltDependencies": [
"@parcel/watcher",
"core-js",
"core-js-pure",
"esbuild",
"protobufjs",
"sharp"
]
},
"engines": {
"node": ">=20.0.0"
},
"devDependencies": {
"@eslint/js": "^9.39.4",
"@fast-check/vitest": "^0.3.0",
"@sinclair/typebox": "^0.34.48",
"@stryker-mutator/core": "^9.6.0",
"@stryker-mutator/vitest-runner": "^9.6.0",
"@types/lodash-es": "^4.17.12",
"@types/node": "^25.5.0",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"@vitest/coverage-v8": "^4.1.0",
"ajv": "^8.18.0",
"ajv-formats": "^3.0.1",
"c8": "^10.1.3",
"es-toolkit": "^1.45.1",
"esbuild": "^0.27.4",
"effect": "^3.19.19",
"eslint": "^9.39.4",
"eslint-plugin-jsx-a11y": "^6.10.2",
"fast-check": "^4.6.0",
"fastest-validator": "^1.19.1",
"fp-ts": "^2.16.11",
"globals": "^16.5.0",
"jscpd": "^4.0.8",
"knip": "^5.86.0",
"lodash-es": "^4.17.23",
"neverthrow": "^8.2.0",
"open-cli": "^8.0.0",
"radashi": "^12.7.2",
"remeda": "^2.33.6",
"superstruct": "^2.0.2",
"ts-morph": "^26.0.0",
"ts-node": "^10.9.2",
"tsc-alias": "^1.8.16",
"tsx": "^4.21.0",
"typedoc": "^0.28.17",
"typedoc-plugin-markdown": "^4.10.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.57.0",
"valibot": "^1.2.0",
"vite": "^8.0.0",
"vitest": "^4.1.0",
"zod": "^4.3.6",
"zod3": "npm:zod@^3.25.76"
}
}