on-zero 0.7.10 → 0.8.0
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 → README.md} +172 -231
- package/dist/cjs/cli.cjs +5 -2
- package/dist/cjs/cli.native.js +5 -2
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.cjs +2 -2
- package/dist/cjs/combineZeroClients.native.js +6 -6
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/config.cjs +30 -0
- package/dist/cjs/config.native.js +33 -0
- package/dist/cjs/config.native.js.map +1 -0
- package/dist/cjs/createPermissions.cjs +2 -2
- package/dist/cjs/createPermissions.native.js +17 -27
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +3 -3
- package/dist/cjs/createUseQuery.native.js +4 -4
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +4 -3
- package/dist/cjs/createUseQueryDirect.native.js +14 -18
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +29 -9
- package/dist/cjs/createZeroClient.connection.test.cjs +11 -0
- package/dist/cjs/createZeroClient.connection.test.native.js +14 -7
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +58 -32
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.cjs +90 -3
- package/dist/cjs/createZeroClient.recovery.test.native.js +109 -19
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +70 -17
- package/dist/cjs/generate-helpers.native.js +110 -23
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-layout.cjs +586 -0
- package/dist/cjs/generate-layout.native.js +1275 -0
- package/dist/cjs/generate-layout.native.js.map +1 -0
- package/dist/cjs/generate-lite.cjs +295 -27
- package/dist/cjs/generate-lite.native.js +854 -102
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +433 -41
- package/dist/cjs/generate-lite.test.native.js +446 -41
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +172 -94
- package/dist/cjs/generate.native.js +324 -148
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +362 -45
- package/dist/cjs/generate.test.native.js +374 -45
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/NullToOptional.cjs +18 -0
- package/dist/cjs/helpers/NullToOptional.native.js +21 -0
- package/dist/cjs/helpers/NullToOptional.native.js.map +1 -0
- package/dist/cjs/helpers/asyncContext.cjs +128 -0
- package/dist/cjs/helpers/asyncContext.native.js +87 -0
- package/dist/cjs/helpers/asyncContext.native.js.map +1 -0
- package/dist/cjs/helpers/batchQuery.cjs +2 -2
- package/dist/cjs/helpers/batchQuery.native.js +2 -2
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +7 -4
- package/dist/cjs/helpers/createMutators.native.js +12 -9
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.native.js +2 -2
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
- package/dist/cjs/helpers/ellipsis.cjs +35 -0
- package/dist/cjs/helpers/ellipsis.native.js +38 -0
- package/dist/cjs/helpers/ellipsis.native.js.map +1 -0
- package/dist/cjs/helpers/emitter.cjs +99 -0
- package/dist/cjs/helpers/emitter.native.js +125 -0
- package/dist/cjs/helpers/emitter.native.js.map +1 -0
- package/dist/cjs/helpers/ensure.cjs +33 -0
- package/dist/cjs/helpers/ensure.native.js +37 -0
- package/dist/cjs/helpers/ensure.native.js.map +1 -0
- package/dist/cjs/helpers/ensureLoggedIn.cjs +2 -2
- package/dist/cjs/helpers/ensureLoggedIn.native.js +3 -3
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/errors.cjs +40 -0
- package/dist/cjs/helpers/errors.native.js +152 -0
- package/dist/cjs/helpers/errors.native.js.map +1 -0
- package/dist/cjs/helpers/getCurrentComponentStack.cjs +71 -0
- package/dist/cjs/helpers/getCurrentComponentStack.native.js +93 -0
- package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -0
- package/dist/cjs/helpers/globalValue.cjs +39 -0
- package/dist/cjs/helpers/globalValue.native.js +42 -0
- package/dist/cjs/helpers/globalValue.native.js.map +1 -0
- package/dist/cjs/helpers/mapObject.cjs +36 -0
- package/dist/cjs/helpers/mapObject.native.js +39 -0
- package/dist/cjs/helpers/mapObject.native.js.map +1 -0
- package/dist/cjs/helpers/mutationLifecycle.cjs +251 -0
- package/dist/cjs/helpers/mutationLifecycle.native.js +392 -0
- package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -0
- package/dist/cjs/helpers/mutationLifecycle.test.cjs +174 -0
- package/dist/cjs/helpers/mutationLifecycle.test.native.js +182 -0
- package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -0
- package/dist/cjs/helpers/mutatorContext.cjs +3 -3
- package/dist/cjs/helpers/mutatorContext.native.js +5 -5
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/platform.cjs +31 -0
- package/dist/cjs/helpers/platform.native.js +33 -0
- package/dist/cjs/helpers/platform.native.js.map +1 -0
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +2 -2
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +7 -7
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.cjs +2 -2
- package/dist/cjs/helpers/queryContext.native.js +4 -4
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +14 -15
- package/dist/cjs/helpers/recoverZeroClient.native.js +26 -23
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +10 -8
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +17 -21
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/helpers/sleep.cjs +34 -0
- package/dist/cjs/helpers/sleep.native.js +39 -0
- package/dist/cjs/helpers/sleep.native.js.map +1 -0
- package/dist/cjs/helpers/time.cjs +47 -0
- package/dist/cjs/helpers/time.native.js +80 -0
- package/dist/cjs/helpers/time.native.js.map +1 -0
- package/dist/cjs/helpers/tuple.cjs +18 -0
- package/dist/cjs/helpers/tuple.native.js +21 -0
- package/dist/cjs/helpers/tuple.native.js.map +1 -0
- package/dist/cjs/helpers/useMutation.native.js +5 -5
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.cjs +2 -2
- package/dist/cjs/helpers/useZeroDebug.native.js +7 -8
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -1
- package/dist/cjs/index.native.js +8 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.cjs +16 -4
- package/dist/cjs/instanceRegistry.native.js +56 -6
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/multi.cjs +34 -13
- package/dist/cjs/multi.native.js +39 -17
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.cjs +6 -2
- package/dist/cjs/multiInstance.test.native.js +13 -9
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js +10 -10
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.cjs +85 -36
- package/dist/cjs/multiPartition.test.native.js +102 -39
- package/dist/cjs/multiPartition.test.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +2 -2
- package/dist/cjs/mutations.native.js +4 -4
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/mutations.test.native.js +3 -3
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.cjs +3 -3
- package/dist/cjs/provideZero.hydration.test.native.js +4 -4
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/run.cjs +1 -1
- package/dist/cjs/run.native.js +3 -3
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.cjs +20 -16
- package/dist/cjs/server.native.js +50 -57
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/server.test.cjs +129 -6
- package/dist/cjs/server.test.native.js +141 -10
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js +3 -3
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.cjs +2 -2
- package/dist/cjs/state.native.js +10 -10
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js +3 -3
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.cjs +3 -3
- package/dist/cjs/useQuery.empty.test.native.js +6 -6
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.native.js +2 -2
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +7 -8
- package/dist/cjs/vite-plugin.native.js +11 -11
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.cjs +3 -3
- package/dist/cjs/where.native.js +4 -4
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/esm/cli.mjs +6 -3
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +6 -3
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/combineZeroClients.mjs +1 -1
- package/dist/esm/combineZeroClients.mjs.map +1 -1
- package/dist/esm/combineZeroClients.native.js +5 -5
- package/dist/esm/combineZeroClients.native.js.map +1 -1
- package/dist/esm/config.mjs +5 -0
- package/dist/esm/config.mjs.map +1 -0
- package/dist/esm/config.native.js +5 -0
- package/dist/esm/config.native.js.map +1 -0
- package/dist/esm/createPermissions.mjs +1 -1
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +16 -26
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +2 -2
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +3 -3
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +2 -1
- package/dist/esm/createUseQueryDirect.mjs.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +12 -16
- package/dist/esm/createUseQueryDirect.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.mjs +11 -0
- package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +14 -7
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +25 -5
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +54 -28
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.mjs +90 -3
- package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +109 -19
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +70 -18
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +110 -24
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-layout.mjs +560 -0
- package/dist/esm/generate-layout.mjs.map +1 -0
- package/dist/esm/generate-layout.native.js +1246 -0
- package/dist/esm/generate-layout.native.js.map +1 -0
- package/dist/esm/generate-lite.mjs +296 -28
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +855 -103
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +434 -42
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +447 -42
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +172 -96
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +324 -150
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +366 -49
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +378 -49
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/NullToOptional.mjs +2 -0
- package/dist/esm/helpers/NullToOptional.mjs.map +1 -0
- package/dist/esm/helpers/NullToOptional.native.js +2 -0
- package/dist/esm/helpers/NullToOptional.native.js.map +1 -0
- package/dist/esm/helpers/asyncContext.mjs +102 -0
- package/dist/esm/helpers/asyncContext.mjs.map +1 -0
- package/dist/esm/helpers/asyncContext.native.js +58 -0
- package/dist/esm/helpers/asyncContext.native.js.map +1 -0
- package/dist/esm/helpers/batchQuery.mjs +1 -1
- package/dist/esm/helpers/batchQuery.native.js +1 -1
- package/dist/esm/helpers/createMutators.mjs +5 -2
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +10 -7
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.native.js +2 -2
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
- package/dist/esm/helpers/ellipsis.mjs +10 -0
- package/dist/esm/helpers/ellipsis.mjs.map +1 -0
- package/dist/esm/helpers/ellipsis.native.js +10 -0
- package/dist/esm/helpers/ellipsis.native.js.map +1 -0
- package/dist/esm/helpers/emitter.mjs +72 -0
- package/dist/esm/helpers/emitter.mjs.map +1 -0
- package/dist/esm/helpers/emitter.native.js +95 -0
- package/dist/esm/helpers/emitter.native.js.map +1 -0
- package/dist/esm/helpers/ensure.mjs +8 -0
- package/dist/esm/helpers/ensure.mjs.map +1 -0
- package/dist/esm/helpers/ensure.native.js +9 -0
- package/dist/esm/helpers/ensure.native.js.map +1 -0
- package/dist/esm/helpers/ensureLoggedIn.mjs +1 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/errors.mjs +14 -0
- package/dist/esm/helpers/errors.mjs.map +1 -0
- package/dist/esm/helpers/errors.native.js +123 -0
- package/dist/esm/helpers/errors.native.js.map +1 -0
- package/dist/esm/helpers/getCurrentComponentStack.mjs +35 -0
- package/dist/esm/helpers/getCurrentComponentStack.mjs.map +1 -0
- package/dist/esm/helpers/getCurrentComponentStack.native.js +54 -0
- package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -0
- package/dist/esm/helpers/globalValue.mjs +14 -0
- package/dist/esm/helpers/globalValue.mjs.map +1 -0
- package/dist/esm/helpers/globalValue.native.js +14 -0
- package/dist/esm/helpers/globalValue.native.js.map +1 -0
- package/dist/esm/helpers/mapObject.mjs +11 -0
- package/dist/esm/helpers/mapObject.mjs.map +1 -0
- package/dist/esm/helpers/mapObject.native.js +11 -0
- package/dist/esm/helpers/mapObject.native.js.map +1 -0
- package/dist/esm/helpers/mutationLifecycle.mjs +221 -0
- package/dist/esm/helpers/mutationLifecycle.mjs.map +1 -0
- package/dist/esm/helpers/mutationLifecycle.native.js +359 -0
- package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -0
- package/dist/esm/helpers/mutationLifecycle.test.mjs +175 -0
- package/dist/esm/helpers/mutationLifecycle.test.mjs.map +1 -0
- package/dist/esm/helpers/mutationLifecycle.test.native.js +180 -0
- package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -0
- package/dist/esm/helpers/mutatorContext.mjs +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +4 -4
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/platform.mjs +5 -0
- package/dist/esm/helpers/platform.mjs.map +1 -0
- package/dist/esm/helpers/platform.native.js +4 -0
- package/dist/esm/helpers/platform.native.js.map +1 -0
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +6 -6
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.mjs +1 -1
- package/dist/esm/helpers/queryContext.native.js +3 -3
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +14 -15
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +26 -23
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.mjs +8 -6
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +15 -19
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/helpers/sleep.mjs +9 -0
- package/dist/esm/helpers/sleep.mjs.map +1 -0
- package/dist/esm/helpers/sleep.native.js +11 -0
- package/dist/esm/helpers/sleep.native.js.map +1 -0
- package/dist/esm/helpers/time.mjs +22 -0
- package/dist/esm/helpers/time.mjs.map +1 -0
- package/dist/esm/helpers/time.native.js +52 -0
- package/dist/esm/helpers/time.native.js.map +1 -0
- package/dist/esm/helpers/tuple.mjs +2 -0
- package/dist/esm/helpers/tuple.mjs.map +1 -0
- package/dist/esm/helpers/tuple.native.js +2 -0
- package/dist/esm/helpers/tuple.native.js.map +1 -0
- package/dist/esm/helpers/useMutation.native.js +5 -5
- package/dist/esm/helpers/useMutation.native.js.map +1 -1
- package/dist/esm/helpers/useMutation.test.native.js +1 -1
- package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.mjs +1 -1
- package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +6 -7
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/instanceRegistry.mjs +13 -2
- package/dist/esm/instanceRegistry.mjs.map +1 -1
- package/dist/esm/instanceRegistry.native.js +53 -4
- package/dist/esm/instanceRegistry.native.js.map +1 -1
- package/dist/esm/multi.mjs +33 -12
- package/dist/esm/multi.mjs.map +1 -1
- package/dist/esm/multi.native.js +38 -16
- package/dist/esm/multi.native.js.map +1 -1
- package/dist/esm/multiInstance.test.mjs +5 -1
- package/dist/esm/multiInstance.test.mjs.map +1 -1
- package/dist/esm/multiInstance.test.native.js +12 -8
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/dist/esm/multiInstanceNested.test.native.js +10 -10
- package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
- package/dist/esm/multiPartition.test.mjs +86 -37
- package/dist/esm/multiPartition.test.mjs.map +1 -1
- package/dist/esm/multiPartition.test.native.js +103 -40
- package/dist/esm/multiPartition.test.native.js.map +1 -1
- package/dist/esm/mutations.mjs +1 -1
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +3 -3
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/mutations.test.native.js +3 -3
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/provideZero.hydration.test.mjs +1 -1
- package/dist/esm/provideZero.hydration.test.mjs.map +1 -1
- package/dist/esm/provideZero.hydration.test.native.js +2 -2
- package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
- package/dist/esm/run.mjs +1 -1
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/run.native.js +3 -3
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/server.mjs +20 -15
- package/dist/esm/server.mjs.map +1 -1
- package/dist/esm/server.native.js +50 -56
- package/dist/esm/server.native.js.map +1 -1
- package/dist/esm/server.test.mjs +130 -7
- package/dist/esm/server.test.mjs.map +1 -1
- package/dist/esm/server.test.native.js +142 -11
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +3 -3
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.mjs +1 -1
- package/dist/esm/state.mjs.map +1 -1
- package/dist/esm/state.native.js +9 -9
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/usePermission.test.native.js +3 -3
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/useQuery.empty.test.mjs +1 -1
- package/dist/esm/useQuery.empty.test.mjs.map +1 -1
- package/dist/esm/useQuery.empty.test.native.js +4 -4
- package/dist/esm/useQuery.empty.test.native.js.map +1 -1
- package/dist/esm/useQuery.ssr.test.native.js +2 -2
- package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +7 -8
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +11 -11
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.mjs +1 -1
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +2 -2
- package/dist/esm/where.native.js.map +1 -1
- package/package.json +18 -6
- package/src/cli.ts +11 -3
- package/src/combineZeroClients.tsx +18 -10
- package/src/config.ts +72 -0
- package/src/createPermissions.ts +3 -4
- package/src/createUseQuery.tsx +8 -8
- package/src/createUseQueryDirect.tsx +11 -10
- package/src/createZeroClient.authData.test.tsx +1 -1
- package/src/createZeroClient.connection.test.tsx +13 -2
- package/src/createZeroClient.recovery.test.tsx +100 -4
- package/src/createZeroClient.tsx +87 -30
- package/src/generate-helpers.ts +108 -31
- package/src/generate-layout.ts +841 -0
- package/src/generate-lite.test.ts +421 -42
- package/src/generate-lite.ts +479 -43
- package/src/generate.test.ts +552 -90
- package/src/generate.ts +360 -163
- package/src/helpers/NullToOptional.ts +5 -0
- package/src/helpers/asyncContext.native.ts +90 -0
- package/src/helpers/asyncContext.ts +159 -0
- package/src/helpers/batchQuery.ts +2 -2
- package/src/helpers/createMutators.ts +11 -8
- package/src/helpers/ellipsis.ts +9 -0
- package/src/helpers/emitter.tsx +106 -0
- package/src/helpers/ensure.ts +10 -0
- package/src/helpers/ensureLoggedIn.ts +1 -2
- package/src/helpers/errors.ts +13 -0
- package/src/helpers/getCurrentComponentStack.ts +56 -0
- package/src/helpers/globalValue.ts +40 -0
- package/src/helpers/mapObject.ts +14 -0
- package/src/helpers/mutationLifecycle.test.ts +180 -0
- package/src/helpers/mutationLifecycle.ts +313 -0
- package/src/helpers/mutatorContext.ts +3 -3
- package/src/helpers/platform.native.ts +2 -0
- package/src/helpers/platform.ts +16 -0
- package/src/helpers/prettyFormatZeroQuery.ts +2 -2
- package/src/helpers/queryContext.ts +2 -2
- package/src/helpers/recoverZeroClient.test.ts +23 -21
- package/src/helpers/recoverZeroClient.ts +56 -49
- package/src/helpers/sleep.ts +8 -0
- package/src/helpers/time.ts +51 -0
- package/src/helpers/tuple.ts +1 -0
- package/src/helpers/useMutation.tsx +3 -3
- package/src/helpers/useZeroDebug.ts +3 -3
- package/src/index.ts +13 -1
- package/src/instanceRegistry.ts +19 -6
- package/src/multi.ts +75 -31
- package/src/multiInstance.test.tsx +31 -13
- package/src/multiInstanceNested.test.tsx +2 -2
- package/src/multiPartition.test.ts +62 -27
- package/src/mutations.ts +10 -10
- package/src/provideZero.hydration.test.tsx +1 -1
- package/src/resolveQuery.ts +2 -2
- package/src/run.ts +7 -7
- package/src/server.test.ts +117 -18
- package/src/server.ts +70 -43
- package/src/serverWhere.ts +2 -2
- package/src/state.ts +2 -2
- package/src/types.ts +47 -6
- package/src/useQuery.empty.test.tsx +3 -3
- package/src/useQuery.ssr.test.ts +1 -1
- package/src/vite-plugin.ts +12 -9
- package/src/where.ts +6 -7
- package/src/zeroRunner.ts +2 -2
- package/types/combineZeroClients.d.ts +11 -5
- package/types/combineZeroClients.d.ts.map +1 -1
- package/types/config.d.ts +62 -0
- package/types/config.d.ts.map +1 -0
- package/types/createPermissions.d.ts.map +1 -1
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts +1 -1
- package/types/createUseQueryDirect.d.ts.map +1 -1
- package/types/createZeroClient.d.ts +22 -12
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroClient.recovery.test.d.ts.map +1 -1
- package/types/generate-helpers.d.ts +17 -2
- package/types/generate-helpers.d.ts.map +1 -1
- package/types/generate-layout.d.ts +26 -0
- package/types/generate-layout.d.ts.map +1 -0
- package/types/generate-lite.d.ts +29 -1
- package/types/generate-lite.d.ts.map +1 -1
- package/types/generate.d.ts +20 -0
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/NullToOptional.d.ts +6 -0
- package/types/helpers/NullToOptional.d.ts.map +1 -0
- package/types/helpers/asyncContext.d.ts +15 -0
- package/types/helpers/asyncContext.d.ts.map +1 -0
- package/types/helpers/asyncContext.native.d.ts +8 -0
- package/types/helpers/asyncContext.native.d.ts.map +1 -0
- package/types/helpers/createMutators.d.ts +2 -1
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/helpers/ellipsis.d.ts +2 -0
- package/types/helpers/ellipsis.d.ts.map +1 -0
- package/types/helpers/emitter.d.ts +21 -0
- package/types/helpers/emitter.d.ts.map +1 -0
- package/types/helpers/ensure.d.ts +2 -0
- package/types/helpers/ensure.d.ts.map +1 -0
- package/types/helpers/ensureLoggedIn.d.ts.map +1 -1
- package/types/helpers/errors.d.ts +7 -0
- package/types/helpers/errors.d.ts.map +1 -0
- package/types/helpers/getCurrentComponentStack.d.ts +2 -0
- package/types/helpers/getCurrentComponentStack.d.ts.map +1 -0
- package/types/helpers/globalValue.d.ts +23 -0
- package/types/helpers/globalValue.d.ts.map +1 -0
- package/types/helpers/mapObject.d.ts +4 -0
- package/types/helpers/mapObject.d.ts.map +1 -0
- package/types/helpers/mutationLifecycle.d.ts +44 -0
- package/types/helpers/mutationLifecycle.d.ts.map +1 -0
- package/types/helpers/mutationLifecycle.test.d.ts +2 -0
- package/types/helpers/mutationLifecycle.test.d.ts.map +1 -0
- package/types/helpers/platform.d.ts +3 -0
- package/types/helpers/platform.d.ts.map +1 -0
- package/types/helpers/platform.native.d.ts +3 -0
- package/types/helpers/platform.native.d.ts.map +1 -0
- package/types/helpers/recoverZeroClient.d.ts +13 -9
- package/types/helpers/recoverZeroClient.d.ts.map +1 -1
- package/types/helpers/sleep.d.ts +2 -0
- package/types/helpers/sleep.d.ts.map +1 -0
- package/types/helpers/time.d.ts +28 -0
- package/types/helpers/time.d.ts.map +1 -0
- package/types/helpers/tuple.d.ts +2 -0
- package/types/helpers/tuple.d.ts.map +1 -0
- package/types/index.d.ts +3 -1
- package/types/index.d.ts.map +1 -1
- package/types/instanceRegistry.d.ts +1 -0
- package/types/instanceRegistry.d.ts.map +1 -1
- package/types/multi.d.ts +23 -1
- package/types/multi.d.ts.map +1 -1
- package/types/mutations.d.ts +1 -1
- package/types/mutations.d.ts.map +1 -1
- package/types/run.d.ts.map +1 -1
- package/types/server.d.ts +12 -8
- package/types/server.d.ts.map +1 -1
- package/types/state.d.ts +1 -1
- package/types/state.d.ts.map +1 -1
- package/types/types.d.ts +23 -1
- package/types/types.d.ts.map +1 -1
- package/types/vite-plugin.d.ts.map +1 -1
- package/types/where.d.ts.map +1 -1
- package/lint/ssr-guards.js +0 -165
- package/test-fixtures/server-return-types.ts +0 -58
- package/test-fixtures/tsconfig.json +0 -13
- package/tsconfig.json +0 -26
- package/vitest.config.ts +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","readdirSync","statSync","basename","dirname","relative","resolve","sep","isSourceFile","isSourceFile2","name","endsWith","toImportPath","toImportPath2","baseDir","path","split","join","replace","isWithin","isWithin2","root","child","startsWith","propertyName","ts","isIdentifier","isStringLiteral","isNumericLiteral","text","readDataConfig","configPath","Error","source","createSourceFile","ScriptTarget","Latest","hasParseErrors","config","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","statements","Symbol","iterator","_step","next","done","statement","value","isExportAssignment","isExportEquals","call","expression","isCallExpression","getText","arguments","isObjectLiteralExpression","err","return","rootOptions","Map","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","properties","_step1","option","isPropertyAssignment","has","set","initializer","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","keys","_step2","name1","instancesNode","get","instances","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_loop","property","_step3","name2","some","instance","dir","scope","supportTables","seen","Set","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_iterator5","_step5","option2","optionName","add","isArrayLiteralExpression","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","elements","_step12","table","push","isDirectory","found","_iterator3","length","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_loop1","_step4","duplicate","find","candidate","_iterator4","_source_parseDiagnostics","Boolean","parseDiagnostics","hasNamespaceExports","displayPath","console","warn","functions","exported","isVariableStatement","_statement_modifiers","isExported","modifiers","modifier","kind","SyntaxKind","ExportKeyword","declarationList","declarations","declaration","initializerText","isArrowFunction","isFunctionExpression","body","isFunctionDeclaration","_statement_modifiers1","visiting","reachesQuery","reachesQuery1","node","isPropertyAccessExpression","helper","delete","found1","forEachChild","discoverNamespaces","instanceDirs","namespaces","withFileTypes","sort","a","b","localeCompare","entry","isFile","queryPath","modelPath","sourcePaths","folder","hasQueries","hasMutations","includes","filter","path2","metadataPaths","paths","relations","databaseDir","relationTargets","visit","visit1","factory","isParenthesizedExpression","tableProperty","_relations_get","tableRelations","relationProperty","tableColumns","columns","sources","flatMap","namespace","isVariableDeclaration","tableNames","foundColumns","inspect","inspect1","argument","test"],"sources":["../../src/generate-layout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateGroupedQueriesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.mjs";
|
|
1
|
+
import { generateGroupedQueriesFile, generateInstancesFile, generateModelsFile, generateReadmeFile, generateSyncedMutationsFile, generateSyncedQueriesFile, generateTablesFile, generateTypesFile, parseColumnType, parseTypeString } from "./generate-helpers.mjs";
|
|
2
2
|
function stripTrailingSlash(s) {
|
|
3
3
|
return s.endsWith("/") ? s.slice(0, -1) : s;
|
|
4
4
|
}
|
|
@@ -8,6 +8,28 @@ function baseName(path, ext) {
|
|
|
8
8
|
if (ext && base.endsWith(ext)) base = base.slice(0, -ext.length);
|
|
9
9
|
return base;
|
|
10
10
|
}
|
|
11
|
+
function resolvePath(path) {
|
|
12
|
+
const absolute = path.startsWith("/");
|
|
13
|
+
const parts = [];
|
|
14
|
+
for (const part of path.split("/")) {
|
|
15
|
+
if (!part || part === ".") continue;
|
|
16
|
+
if (part === "..") parts.pop();else parts.push(part);
|
|
17
|
+
}
|
|
18
|
+
return `${absolute ? "/" : ""}${parts.join("/")}`;
|
|
19
|
+
}
|
|
20
|
+
function parentDir(path) {
|
|
21
|
+
return path.slice(0, path.lastIndexOf("/"));
|
|
22
|
+
}
|
|
23
|
+
function relativePath(from, to) {
|
|
24
|
+
const fromParts = resolvePath(from).split("/").filter(Boolean);
|
|
25
|
+
const toParts = resolvePath(to).split("/").filter(Boolean);
|
|
26
|
+
let common = 0;
|
|
27
|
+
while (fromParts[common] === toParts[common] && common < fromParts.length) common++;
|
|
28
|
+
return [...Array.from({
|
|
29
|
+
length: fromParts.length - common
|
|
30
|
+
}, () => ".."), ...toParts.slice(common)].join("/");
|
|
31
|
+
}
|
|
32
|
+
const isWithin = (root, path) => path === root || path.startsWith(`${root}/`);
|
|
11
33
|
function listDirectTsFiles(files, dirPrefix) {
|
|
12
34
|
const prefix = stripTrailingSlash(dirPrefix) + "/";
|
|
13
35
|
const out = [];
|
|
@@ -22,28 +44,172 @@ function listDirectTsFiles(files, dirPrefix) {
|
|
|
22
44
|
}
|
|
23
45
|
return out.sort();
|
|
24
46
|
}
|
|
47
|
+
function discoverLiteLayout(files, baseDir, parse, explicitConfigPath) {
|
|
48
|
+
const paths = Object.keys(files);
|
|
49
|
+
const configPath = resolvePath(explicitConfigPath ?? `${baseDir}/on-zero.config.ts`);
|
|
50
|
+
const configSource = files[configPath];
|
|
51
|
+
let config;
|
|
52
|
+
if (configSource !== void 0) {
|
|
53
|
+
const parsed = parse(configSource, configPath);
|
|
54
|
+
if (parsed.parseError) {
|
|
55
|
+
throw new Error(`[on-zero] unable to parse ${configPath}: ${parsed.parseError}`);
|
|
56
|
+
}
|
|
57
|
+
config = parsed.dataConfig;
|
|
58
|
+
if (!config) {
|
|
59
|
+
throw new Error(`[on-zero] ${configPath} must default export defineConfig({ instances: { ... } })`);
|
|
60
|
+
}
|
|
61
|
+
} else if (explicitConfigPath) {
|
|
62
|
+
throw new Error(`[on-zero] config file does not exist: ${configPath}`);
|
|
63
|
+
}
|
|
64
|
+
if (explicitConfigPath && parentDir(configPath) !== baseDir) {
|
|
65
|
+
throw new Error(`[on-zero] ${configPath} must be at the data root ${baseDir}`);
|
|
66
|
+
}
|
|
67
|
+
const instances = config ? Object.entries(config.instances).map(([name, options]) => {
|
|
68
|
+
if (options.dir?.startsWith("/")) {
|
|
69
|
+
throw new Error(`[on-zero] instance '${name}' dir must be relative to ${configPath}`);
|
|
70
|
+
}
|
|
71
|
+
if (options.scope === "") {
|
|
72
|
+
throw new Error(`[on-zero] instance '${name}' scope cannot be empty`);
|
|
73
|
+
}
|
|
74
|
+
if (options.supportTables?.some(table => table === "")) {
|
|
75
|
+
throw new Error(`[on-zero] instance '${name}' supportTables cannot contain an empty table name`);
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
name,
|
|
79
|
+
dir: resolvePath(`${parentDir(configPath)}/${options.dir ?? name}`),
|
|
80
|
+
scope: options.scope ?? null,
|
|
81
|
+
declaredSupportTables: [...(options.supportTables ?? [])],
|
|
82
|
+
namespaces: []
|
|
83
|
+
};
|
|
84
|
+
}) : [{
|
|
85
|
+
name: "default",
|
|
86
|
+
dir: baseDir,
|
|
87
|
+
scope: null,
|
|
88
|
+
declaredSupportTables: [],
|
|
89
|
+
namespaces: []
|
|
90
|
+
}];
|
|
91
|
+
if (config && instances.length === 0) {
|
|
92
|
+
throw new Error(`[on-zero] ${configPath} must declare at least one instance`);
|
|
93
|
+
}
|
|
94
|
+
for (const instance of instances) {
|
|
95
|
+
if (!paths.some(path => isWithin(instance.dir, path))) {
|
|
96
|
+
throw new Error(`[on-zero] instance '${instance.name}' directory does not exist: ${instance.dir}`);
|
|
97
|
+
}
|
|
98
|
+
const duplicate = instances.find(candidate => candidate !== instance && candidate.dir === instance.dir);
|
|
99
|
+
if (duplicate) {
|
|
100
|
+
throw new Error(`[on-zero] instances '${instance.name}' and '${duplicate.name}' resolve to the same directory: ${instance.dir}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const instanceDirs = new Set(instances.map(instance => instance.dir));
|
|
104
|
+
const sourceRoots = [baseDir, ...instances.map(instance => instance.dir)];
|
|
105
|
+
const remnant = paths.find(path => baseName(path) === "instance.ts" && sourceRoots.some(root => isWithin(root, path)));
|
|
106
|
+
if (remnant) {
|
|
107
|
+
throw new Error(`[on-zero] ${remnant} uses removed instance.ts configuration; delete it and configure instances in on-zero.config.ts`);
|
|
108
|
+
}
|
|
109
|
+
const parseDataFile = path => {
|
|
110
|
+
let parsed;
|
|
111
|
+
try {
|
|
112
|
+
parsed = parse(files[path], path);
|
|
113
|
+
} catch {
|
|
114
|
+
console.warn(`[on-zero] ignoring ${path.slice(baseDir.lastIndexOf("/") + 1)}: no recognized data exports`);
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
if (parsed.parseError) {
|
|
118
|
+
console.warn(`[on-zero] ignoring ${path.slice(baseDir.lastIndexOf("/") + 1)}: no recognized data exports`);
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
return parsed;
|
|
122
|
+
};
|
|
123
|
+
const hasDataExport = (source, parsed) => parsed.queries.length > 0 || parsed.mutations.length > 0 || (parsed.tables?.length ?? 0) > 0 || /export\s+const\s+(?:mutate|schema|where)\s*=\s*(?:mutations|serverWhere|table)\s*\(/.test(source);
|
|
124
|
+
if (config) {
|
|
125
|
+
for (const path of paths) {
|
|
126
|
+
if (path === configPath || !isWithin(baseDir, path) || instances.some(instance => isWithin(instance.dir, path)) || isWithin(`${baseDir}/generated`, path) || !path.endsWith(".ts") || path.endsWith(".d.ts") || path.endsWith(".test.ts") || path.endsWith(".spec.ts") || baseName(path) === "instance.ts") {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const parsed = parseDataFile(path);
|
|
130
|
+
if (parsed && hasDataExport(files[path], parsed)) {
|
|
131
|
+
throw new Error(`[on-zero] data namespace ${path} is outside every instance directory declared in ${configPath}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (const instance of instances) {
|
|
136
|
+
const directFiles = listDirectTsFiles(files, instance.dir).filter(path => baseName(path) !== "on-zero.config.ts");
|
|
137
|
+
for (const path of directFiles) {
|
|
138
|
+
const source = files[path];
|
|
139
|
+
const parsed = parseDataFile(path);
|
|
140
|
+
if (!parsed || !hasDataExport(source, parsed)) continue;
|
|
141
|
+
instance.namespaces.push({
|
|
142
|
+
name: baseName(path, ".ts"),
|
|
143
|
+
instance: instance.name,
|
|
144
|
+
queryPath: path,
|
|
145
|
+
modelPath: path
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
const prefix = `${instance.dir}/`;
|
|
149
|
+
const folders = /* @__PURE__ */new Set();
|
|
150
|
+
for (const path of paths) {
|
|
151
|
+
if (!path.startsWith(prefix)) continue;
|
|
152
|
+
const rest = path.slice(prefix.length);
|
|
153
|
+
const slash = rest.indexOf("/");
|
|
154
|
+
if (slash > 0) folders.add(`${instance.dir}/${rest.slice(0, slash)}`);
|
|
155
|
+
}
|
|
156
|
+
for (const folder of [...folders].sort()) {
|
|
157
|
+
if (folder === `${baseDir}/generated` || instanceDirs.has(folder)) continue;
|
|
158
|
+
const queries = `${folder}/queries.ts`;
|
|
159
|
+
const mutations = `${folder}/mutations.ts`;
|
|
160
|
+
if (!(queries in files) && !(mutations in files)) {
|
|
161
|
+
const oldName = baseName(folder);
|
|
162
|
+
if (["models", "mutations", "queries"].includes(oldName) && listDirectTsFiles(files, folder).length > 0) {
|
|
163
|
+
throw new Error(`[on-zero] ${folder} uses the removed top-level ${oldName}/ layout; move each namespace to <name>.ts or <name>/queries.ts + mutations.ts`);
|
|
164
|
+
}
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
instance.namespaces.push({
|
|
168
|
+
name: baseName(folder),
|
|
169
|
+
instance: instance.name,
|
|
170
|
+
queryPath: queries in files ? queries : null,
|
|
171
|
+
modelPath: mutations in files ? mutations : null
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
const owners = /* @__PURE__ */new Map();
|
|
176
|
+
for (const namespace of instances.flatMap(instance => instance.namespaces)) {
|
|
177
|
+
const owner = owners.get(namespace.name);
|
|
178
|
+
if (owner) {
|
|
179
|
+
throw new Error(`[on-zero] namespace '${namespace.name}' is claimed by instances '${owner}' and '${namespace.instance}'`);
|
|
180
|
+
}
|
|
181
|
+
owners.set(namespace.name, namespace.instance);
|
|
182
|
+
}
|
|
183
|
+
return instances;
|
|
184
|
+
}
|
|
25
185
|
function generateLite(opts) {
|
|
26
186
|
const {
|
|
27
187
|
files,
|
|
28
188
|
parse
|
|
29
189
|
} = opts;
|
|
30
|
-
const baseDir = stripTrailingSlash(opts.dir);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
190
|
+
const baseDir = resolvePath(stripTrailingSlash(opts.dir));
|
|
191
|
+
const instances = discoverLiteLayout(files, baseDir, parse, opts.config);
|
|
192
|
+
const sourceRoots = [baseDir, ...instances.map(instance => instance.dir)];
|
|
193
|
+
const namespaces = instances.flatMap(instance => instance.namespaces);
|
|
194
|
+
const modelNamespaces = namespaces.filter(namespace => namespace.modelPath !== null);
|
|
195
|
+
const relations = /* @__PURE__ */new Map();
|
|
196
|
+
const tableColumns = /* @__PURE__ */new Map();
|
|
197
|
+
for (const path of Object.keys(files).filter(path2 => path2.endsWith("/relations.ts") || /\/database\/(?:schema[^/]*|zeroSchemaInput)\.ts$/.test(path2))) {
|
|
198
|
+
const parsed = parse(files[path], path);
|
|
199
|
+
for (const relation of parsed.relations ?? []) {
|
|
200
|
+
const tableRelations = relations.get(relation.sourceTable) ?? /* @__PURE__ */new Map();
|
|
201
|
+
tableRelations.set(relation.name, relation.targetTable);
|
|
202
|
+
relations.set(relation.sourceTable, tableRelations);
|
|
203
|
+
}
|
|
204
|
+
for (const table of parsed.tables ?? []) {
|
|
205
|
+
tableColumns.set(table.name, new Set(table.columns));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
43
208
|
const allModelMutations = [];
|
|
44
209
|
const modelNamesWithSchema = [];
|
|
45
|
-
for (const
|
|
46
|
-
const
|
|
210
|
+
for (const namespace of modelNamespaces) {
|
|
211
|
+
const filePath = namespace.modelPath;
|
|
212
|
+
const modelName = namespace.name;
|
|
47
213
|
const content = files[filePath];
|
|
48
214
|
const parsed = parse(content, filePath);
|
|
49
215
|
const mutationExport = parsed.mutations[0] ?? null;
|
|
@@ -57,6 +223,9 @@ function generateLite(opts) {
|
|
|
57
223
|
for (const col of mutationExport.schema.columns) {
|
|
58
224
|
columns[col.name] = parseColumnType(col.builderText);
|
|
59
225
|
}
|
|
226
|
+
const names = new Set(mutationExport.schema.columns.map(column => column.name));
|
|
227
|
+
tableColumns.set(modelName, names);
|
|
228
|
+
tableColumns.set(mutationExport.schema.tableName, names);
|
|
60
229
|
}
|
|
61
230
|
const hasCRUD = hasSchema && mutationExport !== null;
|
|
62
231
|
const custom = (mutationExport?.handlers ?? []).map(h => {
|
|
@@ -96,18 +265,32 @@ function generateLite(opts) {
|
|
|
96
265
|
});
|
|
97
266
|
}
|
|
98
267
|
const allQueries = [];
|
|
99
|
-
|
|
100
|
-
|
|
268
|
+
const relatedPaths = /* @__PURE__ */new Map();
|
|
269
|
+
for (const namespace of namespaces.filter(namespace2 => namespace2.queryPath !== null)) {
|
|
270
|
+
const filePath = namespace.queryPath;
|
|
271
|
+
const fileBaseName = namespace.name;
|
|
101
272
|
const content = files[filePath];
|
|
102
273
|
const parsed = parse(content, filePath);
|
|
274
|
+
if (content.includes(".related(") && !parsed.queries.some(query => query.relatedPaths)) {
|
|
275
|
+
throw new Error(`[on-zero] ${filePath} uses related(), but the lite parser did not return relatedPaths`);
|
|
276
|
+
}
|
|
103
277
|
for (const q of parsed.queries) {
|
|
104
|
-
if (
|
|
278
|
+
if (["mutate", "permission", "schema", "where"].includes(q.name)) continue;
|
|
279
|
+
if (q.relatedPaths?.length) {
|
|
280
|
+
const entries = relatedPaths.get(namespace.name) ?? [];
|
|
281
|
+
entries.push({
|
|
282
|
+
query: q.name,
|
|
283
|
+
paths: q.relatedPaths
|
|
284
|
+
});
|
|
285
|
+
relatedPaths.set(namespace.name, entries);
|
|
286
|
+
}
|
|
105
287
|
if (q.paramTypeText == null) {
|
|
106
288
|
allQueries.push({
|
|
107
289
|
name: q.name,
|
|
108
290
|
params: "void",
|
|
109
291
|
valibotCode: "",
|
|
110
|
-
sourceFile: fileBaseName
|
|
292
|
+
sourceFile: fileBaseName,
|
|
293
|
+
importPath: `../${relativePath(baseDir, filePath).replace(/\.ts$/, "")}`
|
|
111
294
|
});
|
|
112
295
|
continue;
|
|
113
296
|
}
|
|
@@ -122,22 +305,102 @@ function generateLite(opts) {
|
|
|
122
305
|
name: q.name,
|
|
123
306
|
params: paramType,
|
|
124
307
|
valibotCode: valibotCode ?? "v.unknown()",
|
|
125
|
-
sourceFile: fileBaseName
|
|
308
|
+
sourceFile: fileBaseName,
|
|
309
|
+
importPath: `../${relativePath(baseDir, filePath).replace(/\.ts$/, "")}`
|
|
126
310
|
});
|
|
127
311
|
}
|
|
128
312
|
}
|
|
129
|
-
const
|
|
313
|
+
const owners = new Map(namespaces.map(namespace => [namespace.name, namespace.instance]));
|
|
314
|
+
const relatedOwners = /* @__PURE__ */new Map();
|
|
315
|
+
const syncTables = /* @__PURE__ */new Map();
|
|
316
|
+
for (const instance of instances) {
|
|
317
|
+
const synced = new Set(instance.namespaces.map(namespace => namespace.name));
|
|
318
|
+
for (const namespace of instance.namespaces) {
|
|
319
|
+
for (const query of relatedPaths.get(namespace.name) ?? []) {
|
|
320
|
+
for (const path of query.paths) {
|
|
321
|
+
let sourceTable = namespace.name;
|
|
322
|
+
for (const relationName of path) {
|
|
323
|
+
const target = relations.get(sourceTable)?.get(relationName);
|
|
324
|
+
if (!target) {
|
|
325
|
+
throw new Error(`[on-zero] ${namespace.name}.${query.query} related('${relationName}') cannot be resolved from table '${sourceTable}' through relations.ts`);
|
|
326
|
+
}
|
|
327
|
+
const owner = owners.get(target) ?? relatedOwners.get(target);
|
|
328
|
+
if (owner && owner !== instance.name) {
|
|
329
|
+
throw new Error(`[on-zero] ${namespace.name}.${query.query} in instance '${instance.name}' reaches table '${target}' owned by instance '${owner}'`);
|
|
330
|
+
}
|
|
331
|
+
relatedOwners.set(target, instance.name);
|
|
332
|
+
synced.add(target);
|
|
333
|
+
sourceTable = target;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
const tables = [...synced].sort();
|
|
339
|
+
if (instance.scope) {
|
|
340
|
+
for (const table of tables) {
|
|
341
|
+
if (!tableColumns.get(table)?.has(instance.scope)) {
|
|
342
|
+
throw new Error(`[on-zero] table '${table}' in instance '${instance.name}' is missing scope column '${instance.scope}'`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
syncTables.set(instance.name, tables);
|
|
347
|
+
}
|
|
348
|
+
const supportTables = /* @__PURE__ */new Map();
|
|
349
|
+
for (const instance of instances) {
|
|
350
|
+
const supported = new Set(instance.declaredSupportTables);
|
|
351
|
+
for (const namespace of instance.namespaces) {
|
|
352
|
+
if (!namespace.modelPath) continue;
|
|
353
|
+
const visited = /* @__PURE__ */new Set();
|
|
354
|
+
const scan = path => {
|
|
355
|
+
if (visited.has(path)) return;
|
|
356
|
+
visited.add(path);
|
|
357
|
+
const parsed = parse(files[path], path);
|
|
358
|
+
if (parsed.parseError) {
|
|
359
|
+
throw new Error(`[on-zero] unable to derive mutation dependencies from ${path}: ${parsed.parseError}`);
|
|
360
|
+
}
|
|
361
|
+
for (const table of parsed.supportTables ?? []) {
|
|
362
|
+
if (owners.has(table) || relatedOwners.has(table)) continue;
|
|
363
|
+
if (!syncTables.get(instance.name).includes(table)) {
|
|
364
|
+
supported.add(table);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
for (const specifier of parsed.imports ?? []) {
|
|
368
|
+
const unresolved = specifier.startsWith("~/data/") ? `${baseDir}/${specifier.slice("~/data/".length)}` : specifier.startsWith(".") ? `${parentDir(path)}/${specifier}` : null;
|
|
369
|
+
if (!unresolved) continue;
|
|
370
|
+
const normalized = resolvePath(unresolved);
|
|
371
|
+
const dependency = [normalized.endsWith(".ts") ? normalized : `${normalized}.ts`, `${normalized}/index.ts`].find(candidate => candidate in files && sourceRoots.some(root => isWithin(root, candidate)));
|
|
372
|
+
if (dependency) scan(dependency);
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
scan(namespace.modelPath);
|
|
376
|
+
}
|
|
377
|
+
supportTables.set(instance.name, [...supported].sort());
|
|
378
|
+
}
|
|
379
|
+
const modelNames = modelNamespaces.map(namespace => namespace.name);
|
|
130
380
|
const out = {};
|
|
131
|
-
out["models.ts"] = generateModelsFile(
|
|
381
|
+
out["models.ts"] = generateModelsFile(modelNamespaces.map(namespace => ({
|
|
382
|
+
name: namespace.name,
|
|
383
|
+
importPath: `../${relativePath(baseDir, namespace.modelPath).replace(/\.ts$/, "")}`
|
|
384
|
+
})));
|
|
132
385
|
if (modelNamesWithSchema.length > 0) {
|
|
133
386
|
out["types.ts"] = generateTypesFile(modelNamesWithSchema);
|
|
134
|
-
out["tables.ts"] = generateTablesFile(modelNamesWithSchema
|
|
387
|
+
out["tables.ts"] = generateTablesFile(modelNamespaces.filter(namespace => modelNamesWithSchema.includes(namespace.name)).map(namespace => ({
|
|
388
|
+
name: namespace.name,
|
|
389
|
+
importPath: `../${relativePath(baseDir, namespace.modelPath).replace(/\.ts$/, "")}`
|
|
390
|
+
})));
|
|
135
391
|
}
|
|
136
392
|
out["README.md"] = generateReadmeFile();
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
393
|
+
out["groupedQueries.ts"] = generateGroupedQueriesFile(allQueries);
|
|
394
|
+
out["syncedQueries.ts"] = generateSyncedQueriesFile(allQueries);
|
|
395
|
+
out["instances.ts"] = generateInstancesFile(instances.map(instance => ({
|
|
396
|
+
name: instance.name,
|
|
397
|
+
scope: instance.scope,
|
|
398
|
+
queryNames: instance.namespaces.map(namespace => namespace.name).filter(name => allQueries.some(query => query.sourceFile === name)),
|
|
399
|
+
modelNames: instance.namespaces.filter(namespace => namespace.modelPath).map(namespace => namespace.name),
|
|
400
|
+
tables: instance.namespaces.map(namespace => namespace.name),
|
|
401
|
+
syncTables: syncTables.get(instance.name),
|
|
402
|
+
supportTables: supportTables.get(instance.name)
|
|
403
|
+
})));
|
|
141
404
|
if (allModelMutations.length > 0) {
|
|
142
405
|
out["syncedMutations.ts"] = generateSyncedMutationsFile(allModelMutations);
|
|
143
406
|
}
|
|
@@ -148,6 +411,11 @@ function generateLite(opts) {
|
|
|
148
411
|
}
|
|
149
412
|
return {
|
|
150
413
|
files: out,
|
|
414
|
+
instances: instances.map(instance => ({
|
|
415
|
+
name: instance.name,
|
|
416
|
+
syncTables: syncTables.get(instance.name),
|
|
417
|
+
supportTables: supportTables.get(instance.name)
|
|
418
|
+
})),
|
|
151
419
|
modelCount: modelNames.length,
|
|
152
420
|
queryCount: allQueries.length,
|
|
153
421
|
mutationCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateGroupedQueriesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","stripTrailingSlash","s","endsWith","slice","baseName","path","ext","idx","lastIndexOf","base","length","listDirectTsFiles","files","dirPrefix","prefix","out","Object","keys","startsWith","rest","includes","push","sort","generateLite","opts","parse","baseDir","dir","modelsDirName","modelsDir","mutationsPrefix","hasMutationsDir","some","p","modelsDirPath","queriesDirPath","modelFilePaths","queryFilePaths","allModelMutations","modelNamesWithSchema","filePath","modelName","content","parsed","mutationExport","mutations","columns","primaryKeys","hasSchema","schema","pk","col","name","builderText","hasCRUD","custom","handlers","map","h","paramTypeText","paramType","valibotCode","trim","allQueries","fileBaseName","q","queries","params","sourceFile","modelNames","mutationCount","m","filter","mut","modelCount","queryCount","schemaCount"],"sources":["../../src/generate-lite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["generateGroupedQueriesFile","generateInstancesFile","generateModelsFile","generateReadmeFile","generateSyncedMutationsFile","generateSyncedQueriesFile","generateTablesFile","generateTypesFile","parseColumnType","parseTypeString","stripTrailingSlash","s","endsWith","slice","baseName","path","ext","idx","lastIndexOf","base","length","resolvePath","absolute","startsWith","parts","part","split","pop","push","join","parentDir","relativePath","from","to","fromParts","filter","Boolean","toParts","common","Array","isWithin","root","listDirectTsFiles","files","dirPrefix","prefix","out","Object","keys","rest","includes","sort","discoverLiteLayout","baseDir","parse","explicitConfigPath","paths","configPath","configSource","config","parsed","parseError","Error","dataConfig","instances","entries","map","name","options","dir","scope","supportTables","some","table","declaredSupportTables","namespaces","instance","duplicate","find","candidate","instanceDirs","Set","sourceRoots","remnant","parseDataFile","console","warn","hasDataExport","source","queries","mutations","tables","test","directFiles","queryPath","modelPath","folders","slash","indexOf","add","folder","has","oldName","owners","Map","namespace","flatMap","owner","get","set","generateLite","opts","modelNamespaces","relations","tableColumns","path2","relation","tableRelations","sourceTable","targetTable","columns","allModelMutations","modelNamesWithSchema","filePath","modelName","content","mutationExport","primaryKeys","hasSchema","schema","pk","col","builderText","names","column","tableName","hasCRUD","custom","handlers","h","paramTypeText","paramType","valibotCode","trim","allQueries","relatedPaths","namespace2","fileBaseName","query","q","params","sourceFile","importPath","replace","relatedOwners","syncTables","synced","relationName","target","supported","visited","scan","specifier","imports","unresolved","normalized","dependency","modelNames","queryNames","mutationCount","m","mut","modelCount","queryCount","schemaCount"],"sources":["../../src/generate-lite.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|