3de86c8be2
The participant count is the number of participants INCLUDING those this session cannot see, so it cannot be a count of the participations we are allowed to read. The project derives it: whoever signs up deposits a marker into the event's inbox, and the event OWNER recomputes the field from those deposits. That needs an inbox. @ng-org/refine-providers is CRUD over SHEX shapes and has none, so it cannot carry the model — and the counter it could carry, incremented from a value read back out of a list, races itself and is the one the project's brief declares superseded. Measured, not assumed: optimistic mutations moved one assertion from the seeded value to the written one and left the rest. So the wiring goes and the structure stays. The contract, the registry, the runtime switch and useBackend are untouched; what is gone is the single entry, its three ng-org-specific files and the dependency. What the next backend must answer, the derived count included, is written in types.ts, and the withdrawn implementation stays in this branch's history as the worked example. Two refusals rather than quiet degradations. With no backend the data context falls back to demo data and SAYS so, instead of mounting a connected path that would hand every screen empty lists. And the @data harness refuses to publish its bridge at all: on fixtures those scenarios would assert happily and report green while touching no wallet, which is worse than red.
68 lines
2.5 KiB
JSON
68 lines
2.5 KiB
JSON
{
|
|
"name": "festipod",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "portless festipod bun --hot src/index.ts",
|
|
"start": "NODE_ENV=production bun src/index.ts",
|
|
"build": "bun run build.ts",
|
|
"test:cucumber": "bun run cucumber:run && bun run cucumber:report && bun run features:parse && bun run steps:extract",
|
|
"cucumber:run": "node --import tsx/esm node_modules/@cucumber/cucumber/bin/cucumber.js --config cucumber.json",
|
|
"test:data": "node --import tsx/esm node_modules/@cucumber/cucumber/bin/cucumber.js --config cucumber.json --tags @data",
|
|
"test:auth-setup": "bun scripts/setup-test-auth.ts",
|
|
"cucumber:report": "bun scripts/parse-test-results.ts",
|
|
"features:parse": "bun scripts/parse-features.ts",
|
|
"steps:extract": "bun scripts/extract-step-definitions.ts",
|
|
"build:orm": "rdf-orm build --input ./src/shared/shapes/shex --output ./src/shared/shapes/orm",
|
|
"build:ng": "bash scripts/build-ng-packages.sh",
|
|
"storybook": "storybook dev -p 6006",
|
|
"build-storybook": "storybook build"
|
|
},
|
|
"dependencies": {
|
|
"@ng-org/alien-deepsignals": "0.1.2-alpha.13",
|
|
"@ng-org/orm": "0.1.2-alpha.21",
|
|
"@ng-org/shex-orm": "0.1.2-alpha.9",
|
|
"@ng-org/web": "0.1.2-alpha.14",
|
|
"@radix-ui/react-label": "^2.1.7",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-slot": "^1.2.3",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@refinedev/core": "^5.0.12",
|
|
"bun-plugin-tailwind": "^0.1.2",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"lucide-react": "^0.545.0",
|
|
"react": "^19",
|
|
"react-dom": "^19",
|
|
"tailwind-merge": "^3.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@cucumber/cucumber": "^12.5.0",
|
|
"@cucumber/gherkin": "^29.0.0",
|
|
"@cucumber/messages": "^26.0.1",
|
|
"@storybook/addon-a11y": "^10.3.5",
|
|
"@storybook/addon-docs": "^10.3.5",
|
|
"@storybook/addon-onboarding": "^10.3.5",
|
|
"@storybook/addon-webpack5-compiler-swc": "^4.0.3",
|
|
"@storybook/react-webpack5": "^10.3.5",
|
|
"@types/bun": "latest",
|
|
"@types/chai": "^5.2.3",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"chai": "^6.2.2",
|
|
"happy-dom": "^16.6.0",
|
|
"playwright": "^1.58.2",
|
|
"storybook": "^10.3.5",
|
|
"tailwindcss": "^4.1.11",
|
|
"tsx": "^4.21.0",
|
|
"tw-animate-css": "^1.4.0"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"bun"
|
|
]
|
|
},
|
|
"packageManager": "pnpm@10.26.0+sha512.3b3f6c725ebe712506c0ab1ad4133cf86b1f4b687effce62a9b38b4d72e3954242e643190fc51fa1642949c735f403debd44f5cb0edd657abe63a8b6a7e1e402"
|
|
}
|