on-zero 0.16.20 → 0.16.21
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/dist/cjs/cli.cjs +6 -0
- package/dist/cjs/cli.native.js +6 -0
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +14 -4
- package/dist/cjs/createUseQuery.native.js +18 -5
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.cjs +13 -2
- package/dist/cjs/createUseQueryDirect.native.js +14 -2
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +21 -3
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.native.js +28 -3
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +57 -30
- package/dist/cjs/generate.native.js +92 -31
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +147 -0
- package/dist/cjs/generate.test.native.js +147 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
- package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
- package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
- package/dist/cjs/helpers/emitter.native.js.map +1 -1
- package/dist/cjs/helpers/ensure.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/errors.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/cjs/helpers/globalValue.native.js.map +1 -1
- package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/cjs/helpers/mapObject.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/sleep.native.js.map +1 -1
- package/dist/cjs/helpers/time.native.js.map +1 -1
- package/dist/cjs/helpers/tuple.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/multi.cjs +10 -5
- package/dist/cjs/multi.native.js +10 -5
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.cjs +46 -2
- package/dist/cjs/multiPartition.test.native.js +50 -2
- package/dist/cjs/multiPartition.test.native.js.map +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/native-typescript.cjs +50 -11
- package/dist/cjs/native-typescript.native.js +158 -30
- package/dist/cjs/native-typescript.native.js.map +1 -1
- package/dist/cjs/provideZero.eagerInstance.test.cjs +22 -0
- package/dist/cjs/provideZero.eagerInstance.test.native.js +30 -0
- package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
- package/dist/cjs/queryErrorRecovery.cjs +93 -0
- package/dist/cjs/queryErrorRecovery.native.js +205 -0
- package/dist/cjs/queryErrorRecovery.native.js.map +1 -0
- package/dist/cjs/queryJson.native.js.map +1 -1
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/streaming.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/useQuery.aggregate.zero.test.cjs +199 -4
- package/dist/cjs/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/cjs/useQuery.aggregate.zero.test.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +10 -0
- package/dist/cjs/vite-plugin.native.js +10 -0
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/cli.mjs +6 -0
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +7 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/combineZeroClients.native.js +4 -4
- package/dist/esm/combineZeroClients.native.js.map +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/createPermissions.native.js +4 -4
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js +1 -1
- package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +16 -6
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +24 -11
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createUseQueryDirect.mjs +13 -2
- package/dist/esm/createUseQueryDirect.mjs.map +1 -1
- package/dist/esm/createUseQueryDirect.native.js +19 -7
- package/dist/esm/createUseQueryDirect.native.js.map +1 -1
- package/dist/esm/createZeroClient.authData.test.native.js +2 -2
- package/dist/esm/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js +1 -1
- package/dist/esm/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.headless.test.native.js +2 -2
- package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +21 -3
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +49 -24
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +2 -2
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-helpers.test.native.js +1 -1
- package/dist/esm/generate-helpers.test.native.js.map +1 -1
- package/dist/esm/generate-layout.native.js.map +1 -1
- package/dist/esm/generate-lite.native.js +1 -1
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.native.js +1 -1
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +57 -30
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +95 -34
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +147 -0
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +148 -1
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/NullToOptional.native.js.map +1 -1
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js +7 -7
- package/dist/esm/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +1 -1
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +4 -4
- 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.native.js.map +1 -1
- package/dist/esm/helpers/emitter.native.js.map +1 -1
- package/dist/esm/helpers/ensure.native.js +1 -1
- package/dist/esm/helpers/ensure.native.js.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.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +3 -3
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/esm/helpers/globalValue.native.js.map +1 -1
- package/dist/esm/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/esm/helpers/mapObject.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js +1 -1
- package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +1 -1
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.test.native.js +6 -6
- package/dist/esm/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +1 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js +1 -1
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.test.native.js +2 -2
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/sleep.native.js +1 -1
- package/dist/esm/helpers/sleep.native.js.map +1 -1
- package/dist/esm/helpers/time.native.js.map +1 -1
- package/dist/esm/helpers/tuple.native.js.map +1 -1
- 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.native.js +2 -2
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/index.native.js +23 -23
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/instanceRegistry.native.js +2 -2
- package/dist/esm/instanceRegistry.native.js.map +1 -1
- package/dist/esm/modelRegistry.native.js.map +1 -1
- package/dist/esm/multi.mjs +10 -5
- package/dist/esm/multi.mjs.map +1 -1
- package/dist/esm/multi.native.js +15 -10
- package/dist/esm/multi.native.js.map +1 -1
- package/dist/esm/multiInstance.test.native.js +10 -10
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/dist/esm/multiInstanceMutations.test.native.js +4 -4
- package/dist/esm/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/esm/multiInstanceNested.test.native.js +3 -3
- package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
- package/dist/esm/multiPartition.test.mjs +47 -3
- package/dist/esm/multiPartition.test.mjs.map +1 -1
- package/dist/esm/multiPartition.test.native.js +52 -4
- package/dist/esm/multiPartition.test.native.js.map +1 -1
- package/dist/esm/mutations.native.js +2 -2
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/mutations.test.native.js +4 -4
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/native-typescript.mjs +50 -11
- package/dist/esm/native-typescript.mjs.map +1 -1
- package/dist/esm/native-typescript.native.js +158 -30
- package/dist/esm/native-typescript.native.js.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.mjs +22 -0
- package/dist/esm/provideZero.eagerInstance.test.mjs.map +1 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js +31 -1
- package/dist/esm/provideZero.eagerInstance.test.native.js.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/provideZero.ssr.test.native.js +2 -2
- package/dist/esm/provideZero.ssr.test.native.js.map +1 -1
- package/dist/esm/queryErrorRecovery.mjs +66 -0
- package/dist/esm/queryErrorRecovery.mjs.map +1 -0
- package/dist/esm/queryErrorRecovery.native.js +175 -0
- package/dist/esm/queryErrorRecovery.native.js.map +1 -0
- package/dist/esm/queryJson.native.js +1 -1
- package/dist/esm/queryJson.native.js.map +1 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.native.js +2 -2
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.native.js +4 -4
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/server.native.js +10 -10
- package/dist/esm/server.native.js.map +1 -1
- package/dist/esm/server.test.native.js +2 -2
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.native.js +1 -1
- package/dist/esm/serverWhere.native.js.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.native.js +1 -1
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/streaming.native.js +1 -1
- package/dist/esm/streaming.native.js.map +1 -1
- package/dist/esm/testSetup.native.js.map +1 -1
- package/dist/esm/types.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.aggregate.zero.test.mjs +197 -2
- package/dist/esm/useQuery.aggregate.zero.test.mjs.map +1 -1
- package/dist/esm/useQuery.aggregate.zero.test.native.js +212 -4
- package/dist/esm/useQuery.aggregate.zero.test.native.js.map +1 -1
- package/dist/esm/useQuery.empty.test.native.js +3 -3
- 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/useStreamingField.loop.test.native.js +1 -1
- package/dist/esm/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/esm/useStreamingField.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +10 -0
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +11 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.native.js +3 -3
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.native.js +1 -1
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.native.js +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +4 -4
- package/src/cli.ts +6 -0
- package/src/createUseQuery.tsx +20 -5
- package/src/createUseQueryDirect.tsx +17 -1
- package/src/createZeroClient.tsx +37 -4
- package/src/generate.test.ts +116 -0
- package/src/generate.ts +109 -52
- package/src/multi.ts +11 -3
- package/src/multiPartition.test.ts +55 -11
- package/src/native-typescript.ts +64 -11
- package/src/provideZero.eagerInstance.test.tsx +27 -0
- package/src/queryErrorRecovery.ts +95 -0
- package/src/useQuery.aggregate.zero.test.tsx +187 -2
- package/src/vite-plugin.ts +10 -0
- package/types/createUseQuery.d.ts +3 -1
- package/types/createUseQuery.d.ts.map +1 -1
- package/types/createUseQueryDirect.d.ts +3 -1
- package/types/createUseQueryDirect.d.ts.map +1 -1
- package/types/createZeroClient.d.ts +3 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/generate.d.ts +4 -0
- package/types/generate.d.ts.map +1 -1
- package/types/multi.d.ts +3 -1
- package/types/multi.d.ts.map +1 -1
- package/types/native-typescript.d.ts +7 -1
- package/types/native-typescript.d.ts.map +1 -1
- package/types/queryErrorRecovery.d.ts +33 -0
- package/types/queryErrorRecovery.d.ts.map +1 -0
- package/types/useQuery.aggregate.zero.test.d.ts.map +1 -1
- package/types/vite-plugin.d.ts.map +1 -1
|
@@ -13,7 +13,11 @@ async function closeCompiler(session) {
|
|
|
13
13
|
try {
|
|
14
14
|
if (session.paths.size > 0) {
|
|
15
15
|
var snapshot = await session.api.updateSnapshot({
|
|
16
|
-
|
|
16
|
+
...(session.tsconfig ? {
|
|
17
|
+
closeProjects: [session.tsconfig]
|
|
18
|
+
} : {
|
|
19
|
+
closeFiles: [...session.paths]
|
|
20
|
+
})
|
|
17
21
|
});
|
|
18
22
|
await snapshot.dispose();
|
|
19
23
|
}
|
|
@@ -21,7 +25,7 @@ async function closeCompiler(session) {
|
|
|
21
25
|
await session.api.close();
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
|
-
async function acquireCompiler(root, sourcePaths) {
|
|
28
|
+
async function acquireCompiler(root, sourcePaths, tsconfig) {
|
|
25
29
|
var previousTurn = compilerTurn;
|
|
26
30
|
var releaseTurn = function releaseTurn2() {};
|
|
27
31
|
compilerTurn = new Promise(function (resolveTurn) {
|
|
@@ -33,7 +37,7 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
33
37
|
compilerCloseTimer = null;
|
|
34
38
|
}
|
|
35
39
|
if (compilerClose) await compilerClose;
|
|
36
|
-
if (compiler && compiler.root !== root) {
|
|
40
|
+
if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {
|
|
37
41
|
var previous = compiler;
|
|
38
42
|
compiler = null;
|
|
39
43
|
await closeCompiler(previous);
|
|
@@ -43,7 +47,8 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
43
47
|
cwd: root
|
|
44
48
|
}),
|
|
45
49
|
paths: /* @__PURE__ */new Set(),
|
|
46
|
-
root
|
|
50
|
+
root,
|
|
51
|
+
tsconfig
|
|
47
52
|
};
|
|
48
53
|
compiler.api.clearSourceFileCache();
|
|
49
54
|
var previousPaths = compiler.paths;
|
|
@@ -51,7 +56,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
51
56
|
compiler.paths = nextPaths;
|
|
52
57
|
if (previousPaths.size > 0) {
|
|
53
58
|
var closedSnapshot = await compiler.api.updateSnapshot({
|
|
54
|
-
|
|
59
|
+
...(tsconfig ? {
|
|
60
|
+
closeProjects: [tsconfig]
|
|
61
|
+
} : {
|
|
62
|
+
closeFiles: [...previousPaths]
|
|
63
|
+
}),
|
|
55
64
|
fileChanges: {
|
|
56
65
|
invalidateAll: true
|
|
57
66
|
}
|
|
@@ -60,7 +69,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
60
69
|
compiler.api.clearSourceFileCache();
|
|
61
70
|
}
|
|
62
71
|
var snapshot = await compiler.api.updateSnapshot({
|
|
63
|
-
|
|
72
|
+
...(tsconfig ? {
|
|
73
|
+
openProjects: [tsconfig]
|
|
74
|
+
} : {
|
|
75
|
+
openFiles: sourcePaths
|
|
76
|
+
}),
|
|
64
77
|
fileChanges: {
|
|
65
78
|
invalidateAll: true
|
|
66
79
|
}
|
|
@@ -147,6 +160,7 @@ function collectTypeScriptSourcePaths(roots) {
|
|
|
147
160
|
return [...paths].sort();
|
|
148
161
|
}
|
|
149
162
|
async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
163
|
+
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
150
164
|
if (sourcePaths.length === 0) {
|
|
151
165
|
throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
|
|
152
166
|
}
|
|
@@ -154,46 +168,100 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
154
168
|
session,
|
|
155
169
|
snapshot,
|
|
156
170
|
releaseTurn
|
|
157
|
-
} = await acquireCompiler(root, sourcePaths);
|
|
171
|
+
} = await acquireCompiler(root, sourcePaths, options.tsconfig);
|
|
158
172
|
var sources = /* @__PURE__ */new Map();
|
|
159
173
|
var projectsByFile = /* @__PURE__ */new Map();
|
|
160
174
|
var parseErrors = /* @__PURE__ */new Set();
|
|
161
|
-
|
|
162
|
-
var
|
|
163
|
-
|
|
164
|
-
|
|
175
|
+
var loadSources = async function loadSources2() {
|
|
176
|
+
var _iteratorNormalCompletion2 = true,
|
|
177
|
+
_didIteratorError2 = false,
|
|
178
|
+
_iteratorError2 = void 0;
|
|
165
179
|
try {
|
|
166
|
-
for (var
|
|
167
|
-
var
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
180
|
+
for (var _iterator2 = sourcePaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
181
|
+
var path2 = _step2.value;
|
|
182
|
+
if (sources.has(path2)) continue;
|
|
183
|
+
var project2 = projectsByFile.get(path2);
|
|
184
|
+
if (!project2) throw new Error(`[on-zero] TypeScript did not open ${path2}`);
|
|
185
|
+
var source = await project2.program.getSourceFile(path2);
|
|
186
|
+
if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path2}`);
|
|
187
|
+
sources.set(path2, source);
|
|
174
188
|
try {
|
|
175
|
-
parse(readFileSync(
|
|
189
|
+
parse(readFileSync(path2, "utf8"), {
|
|
176
190
|
plugins: ["jsx", "typescript"],
|
|
177
191
|
sourceType: "module"
|
|
178
192
|
});
|
|
179
193
|
} catch (unused) {
|
|
180
|
-
parseErrors.add(
|
|
194
|
+
parseErrors.add(path2);
|
|
181
195
|
}
|
|
182
196
|
}
|
|
183
197
|
} catch (err) {
|
|
184
|
-
|
|
185
|
-
|
|
198
|
+
_didIteratorError2 = true;
|
|
199
|
+
_iteratorError2 = err;
|
|
186
200
|
} finally {
|
|
187
201
|
try {
|
|
188
|
-
if (!
|
|
189
|
-
|
|
202
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
203
|
+
_iterator2.return();
|
|
190
204
|
}
|
|
191
205
|
} finally {
|
|
192
|
-
if (
|
|
193
|
-
throw
|
|
206
|
+
if (_didIteratorError2) {
|
|
207
|
+
throw _iteratorError2;
|
|
194
208
|
}
|
|
195
209
|
}
|
|
196
210
|
}
|
|
211
|
+
};
|
|
212
|
+
try {
|
|
213
|
+
var scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;
|
|
214
|
+
if (options.tsconfig) {
|
|
215
|
+
if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);
|
|
216
|
+
var included = new Set(await scopedProject.program.getSourceFileNames());
|
|
217
|
+
var _iteratorNormalCompletion = true,
|
|
218
|
+
_didIteratorError = false,
|
|
219
|
+
_iteratorError = void 0;
|
|
220
|
+
try {
|
|
221
|
+
for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
222
|
+
var path = _step.value;
|
|
223
|
+
if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);
|
|
224
|
+
}
|
|
225
|
+
} catch (err) {
|
|
226
|
+
_didIteratorError = true;
|
|
227
|
+
_iteratorError = err;
|
|
228
|
+
} finally {
|
|
229
|
+
try {
|
|
230
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
231
|
+
_iterator.return();
|
|
232
|
+
}
|
|
233
|
+
} finally {
|
|
234
|
+
if (_didIteratorError) {
|
|
235
|
+
throw _iteratorError;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
var _iteratorNormalCompletion1 = true,
|
|
241
|
+
_didIteratorError1 = false,
|
|
242
|
+
_iteratorError1 = void 0;
|
|
243
|
+
try {
|
|
244
|
+
for (var _iterator1 = sourcePaths[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
245
|
+
var path1 = _step1.value;
|
|
246
|
+
var project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path1);
|
|
247
|
+
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path1}`);
|
|
248
|
+
projectsByFile.set(path1, project);
|
|
249
|
+
}
|
|
250
|
+
} catch (err) {
|
|
251
|
+
_didIteratorError1 = true;
|
|
252
|
+
_iteratorError1 = err;
|
|
253
|
+
} finally {
|
|
254
|
+
try {
|
|
255
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
256
|
+
_iterator1.return();
|
|
257
|
+
}
|
|
258
|
+
} finally {
|
|
259
|
+
if (_didIteratorError1) {
|
|
260
|
+
throw _iteratorError1;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (!options.deferSources) await loadSources();
|
|
197
265
|
} catch (error) {
|
|
198
266
|
await snapshot.dispose();
|
|
199
267
|
releaseCompiler(session, releaseTurn);
|
|
@@ -201,15 +269,75 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
201
269
|
}
|
|
202
270
|
var closed = false;
|
|
203
271
|
return {
|
|
272
|
+
configurationKey: JSON.stringify([...new Map([...projectsByFile.values()].map(function (p) {
|
|
273
|
+
return [p.id, p];
|
|
274
|
+
})).values()].map(function (project2) {
|
|
275
|
+
return [project2.configFileName, project2.compilerOptions];
|
|
276
|
+
}).sort(function (param, param1) {
|
|
277
|
+
var [left] = param,
|
|
278
|
+
[right] = param1;
|
|
279
|
+
return String(left).localeCompare(String(right));
|
|
280
|
+
})),
|
|
281
|
+
loadSources,
|
|
282
|
+
async sourceFilePaths() {
|
|
283
|
+
var paths = /* @__PURE__ */new Set();
|
|
284
|
+
var projects = new Map([...projectsByFile.values()].map(function (p) {
|
|
285
|
+
return [p.id, p];
|
|
286
|
+
}));
|
|
287
|
+
var _iteratorNormalCompletion2 = true,
|
|
288
|
+
_didIteratorError2 = false,
|
|
289
|
+
_iteratorError2 = void 0;
|
|
290
|
+
try {
|
|
291
|
+
for (var _iterator2 = projects.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
292
|
+
var project2 = _step2.value;
|
|
293
|
+
var _iteratorNormalCompletion12 = true,
|
|
294
|
+
_didIteratorError12 = false,
|
|
295
|
+
_iteratorError12 = void 0;
|
|
296
|
+
try {
|
|
297
|
+
for (var _iterator12 = (await project2.program.getSourceFileNames())[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
|
|
298
|
+
var path2 = _step12.value;
|
|
299
|
+
paths.add(path2);
|
|
300
|
+
}
|
|
301
|
+
} catch (err) {
|
|
302
|
+
_didIteratorError12 = true;
|
|
303
|
+
_iteratorError12 = err;
|
|
304
|
+
} finally {
|
|
305
|
+
try {
|
|
306
|
+
if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
|
|
307
|
+
_iterator12.return();
|
|
308
|
+
}
|
|
309
|
+
} finally {
|
|
310
|
+
if (_didIteratorError12) {
|
|
311
|
+
throw _iteratorError12;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
} catch (err) {
|
|
317
|
+
_didIteratorError2 = true;
|
|
318
|
+
_iteratorError2 = err;
|
|
319
|
+
} finally {
|
|
320
|
+
try {
|
|
321
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
322
|
+
_iterator2.return();
|
|
323
|
+
}
|
|
324
|
+
} finally {
|
|
325
|
+
if (_didIteratorError2) {
|
|
326
|
+
throw _iteratorError2;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return [...paths].sort();
|
|
331
|
+
},
|
|
204
332
|
projectForFile(path2) {
|
|
205
333
|
var project2 = projectsByFile.get(resolve(path2));
|
|
206
334
|
if (!project2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
|
|
207
335
|
return project2;
|
|
208
336
|
},
|
|
209
337
|
sourceFile(path2) {
|
|
210
|
-
var
|
|
211
|
-
if (!
|
|
212
|
-
return
|
|
338
|
+
var source = sources.get(resolve(path2));
|
|
339
|
+
if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
|
|
340
|
+
return source;
|
|
213
341
|
},
|
|
214
342
|
hasParseErrors(path2) {
|
|
215
343
|
return parseErrors.has(resolve(path2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","_process_env","_GOMAXPROCS","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","releaseTurn2","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openFiles","releaseCompiler","_compilerCloseTimer_unref","setTimeout","finally","unref","call","collectTypeScriptSourcePaths","roots","visited","walk","walk1","dir","has","add","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","withFileTypes","Symbol","iterator","_step2","next","done","entry","value","name","path","isDirectory","isFile","endsWith","err","return","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step"],"sources":["../../src/native-typescript.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","_process_env","_GOMAXPROCS","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","tsconfig","closeProjects","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","releaseTurn2","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openProjects","openFiles","releaseCompiler","_compilerCloseTimer_unref","setTimeout","finally","unref","call","collectTypeScriptSourcePaths","roots","visited","walk","walk1","dir","has","add","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","withFileTypes","Symbol","iterator","_step2","next","done","entry","value","name","path","isDirectory","isFile","endsWith","err","return","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","sort","createNativeTypeScriptProject","options","arguments","length","Error","sources","Map","projectsByFile","parseErrors","loadSources","loadSources2","path2","project2","get","source","program","getSourceFile","set","plugins","sourceType","unused","scopedProject","getProject","included","getSourceFileNames","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","path1","project","getDefaultProjectForFile","deferSources","error","closed","configurationKey","JSON","stringify","values","map","p","id","configFileName","compilerOptions","param","param1","left","right","String","localeCompare","sourceFilePaths","projects","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","_step12","projectForFile","sourceFile","hasParseErrors"],"sources":["native-typescript.native.js"],"sourcesContent":["import { existsSync, readFileSync, readdirSync } from \"fs\";\nimport { resolve } from \"path\";\nimport { parse } from \"@babel/parser\";\nimport { API } from \"typescript/unstable/async\";\nvar _process_env;\nvar _GOMAXPROCS;\n(_GOMAXPROCS = (_process_env = process.env).GOMAXPROCS) !== null && _GOMAXPROCS !== void 0 ? _GOMAXPROCS : _process_env.GOMAXPROCS = \"2\";\nvar compiler = null;\nvar compilerClose = null;\nvar compilerCloseTimer = null;\nvar compilerTurn = Promise.resolve();\nasync function closeCompiler(session) {\n try {\n if (session.paths.size > 0) {\n var snapshot = await session.api.updateSnapshot({\n ...session.tsconfig ? {\n closeProjects: [\n session.tsconfig\n ]\n } : {\n closeFiles: [\n ...session.paths\n ]\n }\n });\n await snapshot.dispose();\n }\n } finally {\n await session.api.close();\n }\n}\nasync function acquireCompiler(root, sourcePaths, tsconfig) {\n var previousTurn = compilerTurn;\n var releaseTurn = function releaseTurn2() {\n };\n compilerTurn = new Promise(function(resolveTurn) {\n releaseTurn = resolveTurn;\n });\n await previousTurn;\n if (compilerCloseTimer) {\n clearTimeout(compilerCloseTimer);\n compilerCloseTimer = null;\n }\n if (compilerClose) await compilerClose;\n if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {\n var previous = compiler;\n compiler = null;\n await closeCompiler(previous);\n }\n compiler !== null && compiler !== void 0 ? compiler : compiler = {\n api: new API({\n cwd: root\n }),\n paths: /* @__PURE__ */ new Set(),\n root,\n tsconfig\n };\n compiler.api.clearSourceFileCache();\n var previousPaths = compiler.paths;\n var nextPaths = new Set(sourcePaths);\n compiler.paths = nextPaths;\n if (previousPaths.size > 0) {\n var closedSnapshot = await compiler.api.updateSnapshot({\n ...tsconfig ? {\n closeProjects: [\n tsconfig\n ]\n } : {\n closeFiles: [\n ...previousPaths\n ]\n },\n fileChanges: {\n invalidateAll: true\n }\n });\n await closedSnapshot.dispose();\n compiler.api.clearSourceFileCache();\n }\n var snapshot = await compiler.api.updateSnapshot({\n ...tsconfig ? {\n openProjects: [\n tsconfig\n ]\n } : {\n openFiles: sourcePaths\n },\n fileChanges: {\n invalidateAll: true\n }\n });\n compiler.api.clearSourceFileCache();\n return {\n session: compiler,\n snapshot,\n releaseTurn\n };\n}\nfunction releaseCompiler(session, releaseTurn) {\n var _compilerCloseTimer_unref;\n releaseTurn();\n compilerCloseTimer = setTimeout(function() {\n compilerCloseTimer = null;\n if (compiler !== session) return;\n compiler = null;\n compilerClose = closeCompiler(session).finally(function() {\n compilerClose = null;\n });\n }, 25);\n (_compilerCloseTimer_unref = compilerCloseTimer.unref) === null || _compilerCloseTimer_unref === void 0 ? void 0 : _compilerCloseTimer_unref.call(compilerCloseTimer);\n}\nfunction collectTypeScriptSourcePaths(roots) {\n var paths = /* @__PURE__ */ new Set();\n var visited = /* @__PURE__ */ new Set();\n var walk = function walk1(dir) {\n if (visited.has(dir) || !existsSync(dir)) return;\n visited.add(dir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = readdirSync(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var entry = _step2.value;\n if (entry.name === \"node_modules\") continue;\n var path = resolve(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n } else if (entry.isFile() && (entry.name.endsWith(\".ts\") || entry.name.endsWith(\".tsx\"))) {\n paths.add(path);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = roots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var root = _step.value;\n walk(resolve(root));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n ...paths\n ].sort();\n}\nasync function createNativeTypeScriptProject(root, sourcePaths) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n if (sourcePaths.length === 0) {\n throw new Error(`[on-zero] no TypeScript source files found under ${root}`);\n }\n var { session, snapshot, releaseTurn } = await acquireCompiler(root, sourcePaths, options.tsconfig);\n var sources = /* @__PURE__ */ new Map();\n var projectsByFile = /* @__PURE__ */ new Map();\n var parseErrors = /* @__PURE__ */ new Set();\n var loadSources = async function loadSources2() {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = sourcePaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var path2 = _step2.value;\n if (sources.has(path2)) continue;\n var project2 = projectsByFile.get(path2);\n if (!project2) throw new Error(`[on-zero] TypeScript did not open ${path2}`);\n var source = await project2.program.getSourceFile(path2);\n if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path2}`);\n sources.set(path2, source);\n try {\n parse(readFileSync(path2, \"utf8\"), {\n plugins: [\n \"jsx\",\n \"typescript\"\n ],\n sourceType: \"module\"\n });\n } catch (unused) {\n parseErrors.add(path2);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n try {\n var scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;\n if (options.tsconfig) {\n if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);\n var included = new Set(await scopedProject.program.getSourceFileNames());\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var path = _step.value;\n if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = sourcePaths[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var path1 = _step1.value;\n var project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path1);\n if (!project) throw new Error(`[on-zero] TypeScript did not open ${path1}`);\n projectsByFile.set(path1, project);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (!options.deferSources) await loadSources();\n } catch (error) {\n await snapshot.dispose();\n releaseCompiler(session, releaseTurn);\n throw error;\n }\n var closed = false;\n return {\n configurationKey: JSON.stringify([\n ...new Map([\n ...projectsByFile.values()\n ].map(function(p) {\n return [\n p.id,\n p\n ];\n })).values()\n ].map(function(project2) {\n return [\n project2.configFileName,\n project2.compilerOptions\n ];\n }).sort(function(param, param1) {\n var [left] = param, [right] = param1;\n return String(left).localeCompare(String(right));\n })),\n loadSources,\n async sourceFilePaths() {\n var paths = /* @__PURE__ */ new Set();\n var projects = new Map([\n ...projectsByFile.values()\n ].map(function(p) {\n return [\n p.id,\n p\n ];\n }));\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = projects.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var project2 = _step2.value;\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = (await project2.program.getSourceFileNames())[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var path2 = _step12.value;\n paths.add(path2);\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return [\n ...paths\n ].sort();\n },\n projectForFile(path2) {\n var project2 = projectsByFile.get(resolve(path2));\n if (!project2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);\n return project2;\n },\n sourceFile(path2) {\n var source = sources.get(resolve(path2));\n if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);\n return source;\n },\n hasParseErrors(path2) {\n return parseErrors.has(resolve(path2));\n },\n async close() {\n if (closed) return;\n closed = true;\n await snapshot.dispose();\n releaseCompiler(session, releaseTurn);\n }\n };\n}\nexport {\n collectTypeScriptSourcePaths,\n createNativeTypeScriptProject\n};\n//# sourceMappingURL=native-typescript.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -194,4 +194,26 @@ test("disable=true constructs nothing", () => {
|
|
|
194
194
|
});
|
|
195
195
|
expect(fakeZero.instances.length).toBe(0);
|
|
196
196
|
});
|
|
197
|
+
test("unmounting one of two overlapping providers keeps the shared instance published", () => {
|
|
198
|
+
const client = makeClient();
|
|
199
|
+
const first = createRoot(document.createElement("div"));
|
|
200
|
+
root = createRoot(container);
|
|
201
|
+
const mount = target => act(() => {
|
|
202
|
+
target?.render(/* @__PURE__ */jsx(client.ProvideZero, {
|
|
203
|
+
cacheURL: "http://127.0.0.1:7788/zero",
|
|
204
|
+
userID: "shared",
|
|
205
|
+
children: /* @__PURE__ */jsx("span", {
|
|
206
|
+
children: "ok"
|
|
207
|
+
})
|
|
208
|
+
}));
|
|
209
|
+
});
|
|
210
|
+
mount(first);
|
|
211
|
+
mount(root);
|
|
212
|
+
expect(fakeZero.instances.length).toBe(1);
|
|
213
|
+
act(() => first.unmount());
|
|
214
|
+
expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);
|
|
215
|
+
act(() => root?.unmount());
|
|
216
|
+
root = null;
|
|
217
|
+
expect(() => client.zero.clientID).toThrow(/Zero instance not initialized/);
|
|
218
|
+
});
|
|
197
219
|
//# sourceMappingURL=provideZero.eagerInstance.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","instances","FakeZero","clientID","context","query","connection","state","current","name","subscribe","connect","fn","close","delete","errors","run","constructor","options","push","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","toHaveBeenCalled","mount","first","disable"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","instances","FakeZero","clientID","context","query","connection","state","current","name","subscribe","connect","fn","close","delete","errors","run","constructor","options","push","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","toHaveBeenCalled","mount","first","disable","target","toThrow"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import { act, StrictMode } from "react";
|
|
|
5
5
|
import { createRoot } from "react-dom/client";
|
|
6
6
|
import { renderToString } from "react-dom/server";
|
|
7
7
|
import { afterEach, beforeEach, expect, test, vi } from "vitest";
|
|
8
|
-
import { createZeroClient } from "./createZeroClient
|
|
8
|
+
import { createZeroClient } from "./createZeroClient";
|
|
9
9
|
function _class_call_check(instance, Constructor) {
|
|
10
10
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
11
11
|
}
|
|
@@ -224,4 +224,34 @@ test("disable=true constructs nothing", function () {
|
|
|
224
224
|
});
|
|
225
225
|
expect(fakeZero.instances.length).toBe(0);
|
|
226
226
|
});
|
|
227
|
+
test("unmounting one of two overlapping providers keeps the shared instance published", function () {
|
|
228
|
+
var client = makeClient();
|
|
229
|
+
var first = createRoot(document.createElement("div"));
|
|
230
|
+
root = createRoot(container);
|
|
231
|
+
var mount = function mount2(target) {
|
|
232
|
+
return act(function () {
|
|
233
|
+
target === null || target === void 0 ? void 0 : target.render(/* @__PURE__ */_jsx(client.ProvideZero, {
|
|
234
|
+
cacheURL: "http://127.0.0.1:7788/zero",
|
|
235
|
+
userID: "shared",
|
|
236
|
+
children: /* @__PURE__ */_jsx("span", {
|
|
237
|
+
children: "ok"
|
|
238
|
+
})
|
|
239
|
+
}));
|
|
240
|
+
});
|
|
241
|
+
};
|
|
242
|
+
mount(first);
|
|
243
|
+
mount(root);
|
|
244
|
+
expect(fakeZero.instances.length).toBe(1);
|
|
245
|
+
act(function () {
|
|
246
|
+
return first.unmount();
|
|
247
|
+
});
|
|
248
|
+
expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);
|
|
249
|
+
act(function () {
|
|
250
|
+
return root === null || root === void 0 ? void 0 : root.unmount();
|
|
251
|
+
});
|
|
252
|
+
root = null;
|
|
253
|
+
expect(function () {
|
|
254
|
+
return client.zero.clientID;
|
|
255
|
+
}).toThrow(/Zero instance not initialized/);
|
|
256
|
+
});
|
|
227
257
|
//# sourceMappingURL=provideZero.eagerInstance.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","instances","FakeZero","FakeZero2","options","_options_userID","state","current","name","subscribe","connect","fn","errors","push","clientID","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","makeClient2","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","Probe2","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","instances","FakeZero","FakeZero2","options","_options_userID","state","current","name","subscribe","connect","fn","errors","push","clientID","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","makeClient2","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","Probe2","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","close","toHaveBeenCalled","render2","mount","mount2","first","disable","target","toThrow"],"sources":["provideZero.eagerInstance.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useZero } from \"@rocicorp/zero/react\";\nimport { act, StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { renderToString } from \"react-dom/server\";\nimport { afterEach, beforeEach, expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar fakeZero = vi.hoisted(function() {\n var instances = [];\n var FakeZero = function FakeZero2(options) {\n \"use strict\";\n _class_call_check(this, FakeZero2);\n var _options_userID;\n _define_property(this, \"clientID\", void 0);\n _define_property(this, \"context\", {});\n _define_property(this, \"query\", {});\n _define_property(this, \"connection\", {\n state: {\n current: {\n name: \"connecting\"\n },\n subscribe: function subscribe() {\n return function() {\n };\n }\n },\n connect: vi.fn(async function() {\n })\n });\n _define_property(this, \"close\", vi.fn());\n _define_property(this, \"delete\", vi.fn(async function() {\n return {\n errors: []\n };\n }));\n _define_property(this, \"run\", vi.fn(async function() {\n return [];\n }));\n instances.push(this);\n this.clientID = `fake-${instances.length}-${(_options_userID = options.userID) !== null && _options_userID !== void 0 ? _options_userID : \"anon\"}`;\n };\n return {\n FakeZero,\n instances\n };\n});\nvi.mock(\"@rocicorp/zero\", async function(importOriginal) {\n var actual = await importOriginal();\n return {\n ...actual,\n Zero: fakeZero.FakeZero\n };\n});\nglobalThis.IS_REACT_ACT_ENVIRONMENT = true;\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar clientCount = 0;\nvar makeClient = function makeClient2() {\n return createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: `eager-instance-${++clientCount}`\n });\n};\nvar container;\nvar root;\nbeforeEach(function() {\n fakeZero.instances.length = 0;\n container = document.createElement(\"div\");\n root = null;\n});\nafterEach(function() {\n if (root) act(function() {\n return root === null || root === void 0 ? void 0 : root.unmount();\n });\n});\ntest(\"a consumer reading zero in its first render gets a live instance, with no effects flushed\", function() {\n var client = makeClient();\n var install = vi.fn();\n var seen = {};\n var Probe = function Probe2() {\n seen.transportInstalled = install.mock.calls.length > 0;\n seen.contextClientID = useZero().clientID;\n try {\n seen.facadeClientID = client.zero.clientID;\n } catch (error) {\n seen.error = error.message;\n }\n return null;\n };\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"first-render\",\n transport: {\n install\n },\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n expect(seen.error).toBeUndefined();\n expect(fakeZero.instances.length).toBe(1);\n expect(seen.facadeClientID).toBe(fakeZero.instances[0].clientID);\n expect(seen.contextClientID).toBe(fakeZero.instances[0].clientID);\n expect(seen.transportInstalled).toBe(true);\n});\ntest(\"the first committed render already carries the real instance\", function() {\n var client = makeClient();\n var clientIDs = [];\n var Probe = function Probe2() {\n clientIDs.push(useZero().clientID);\n return null;\n };\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"committed\",\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n });\n expect(clientIDs.length).toBeGreaterThan(0);\n expect(clientIDs).not.toContain(\"disabled\");\n expect(clientIDs[0]).toBe(fakeZero.instances[0].clientID);\n});\ntest(\"StrictMode double-invoked render constructs exactly one instance\", function() {\n var client = makeClient();\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(StrictMode, {\n children: /* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"strict\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n })\n }));\n });\n expect(fakeZero.instances.length).toBe(1);\n expect(fakeZero.instances[0].close).not.toHaveBeenCalled();\n});\ntest(\"an identity change rotates the instance and closes the outgoing one\", function() {\n var client = makeClient();\n root = createRoot(container);\n var render = function render2(userID) {\n return act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n render(\"one\");\n expect(fakeZero.instances.length).toBe(1);\n render(\"two\");\n expect(fakeZero.instances.length).toBe(2);\n expect(fakeZero.instances[0].close).toHaveBeenCalled();\n expect(fakeZero.instances[1].close).not.toHaveBeenCalled();\n});\ntest(\"a rotation that never commits is undone, not duplicated\", function() {\n var client = makeClient();\n root = createRoot(container);\n var mount = function mount2(userID) {\n return act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n mount(\"committed\");\n var first = fakeZero.instances[0];\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"abandoned\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n expect(fakeZero.instances.length).toBe(2);\n expect(first.close).not.toHaveBeenCalled();\n mount(\"committed\");\n expect(fakeZero.instances.length).toBe(2);\n expect(first.close).not.toHaveBeenCalled();\n expect(fakeZero.instances[1].close).toHaveBeenCalled();\n});\ntest(\"disable=true constructs nothing\", function() {\n var client = makeClient();\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"off\",\n disable: true,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n expect(fakeZero.instances.length).toBe(0);\n});\ntest(\"unmounting one of two overlapping providers keeps the shared instance published\", function() {\n var client = makeClient();\n var first = createRoot(document.createElement(\"div\"));\n root = createRoot(container);\n var mount = function mount2(target) {\n return act(function() {\n target === null || target === void 0 ? void 0 : target.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"shared\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n mount(first);\n mount(root);\n expect(fakeZero.instances.length).toBe(1);\n act(function() {\n return first.unmount();\n });\n expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);\n act(function() {\n return root === null || root === void 0 ? void 0 : root.unmount();\n });\n root = null;\n expect(function() {\n return client.zero.clientID;\n }).toThrow(/Zero instance not initialized/);\n});\n//# sourceMappingURL=provideZero.eagerInstance.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@ import { createSchema, string, table } from "@rocicorp/zero";
|
|
|
3
3
|
import { useId } from "react";
|
|
4
4
|
import { renderToString } from "react-dom/server";
|
|
5
5
|
import { expect, test } from "vitest";
|
|
6
|
-
import { createZeroClient } from "./createZeroClient
|
|
7
|
-
import { IS_SERVER, IS_SERVER_RUNTIME } from "./helpers/platform
|
|
6
|
+
import { createZeroClient } from "./createZeroClient";
|
|
7
|
+
import { IS_SERVER, IS_SERVER_RUNTIME } from "./helpers/platform";
|
|
8
8
|
var todoTable = table("todo").columns({
|
|
9
9
|
id: string(),
|
|
10
10
|
title: string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createSchema","string","table","useId","renderToString","expect","test","createZeroClient","IS_SERVER","IS_SERVER_RUNTIME","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","IdProbe","param","name","Tree","children","disable","ProvideZero","authData","userID","readIds","html","out","re"],"sources":["
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createSchema","string","table","useId","renderToString","expect","test","createZeroClient","IS_SERVER","IS_SERVER_RUNTIME","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","IdProbe","param","name","Tree","children","disable","ProvideZero","authData","userID","readIds","html","out","re","m","exec","toBe","active","disabled","Object","keys","length","toEqual","strip","strip2","s","replace","r1","r2","r3","r4"],"sources":["provideZero.hydration.test.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useId } from \"react\";\nimport { renderToString } from \"react-dom/server\";\nimport { expect, test } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { IS_SERVER, IS_SERVER_RUNTIME } from \"./helpers/platform\";\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"provider-shape-test\"\n});\nfunction IdProbe(param) {\n var { name } = param;\n var id = useId();\n return /* @__PURE__ */ _jsx(\"span\", {\n \"data-name\": name,\n \"data-probe-id\": id\n });\n}\nfunction Tree(param) {\n var { children, disable } = param;\n return /* @__PURE__ */ _jsxs(client.ProvideZero, {\n authData: {},\n userID: \"anon\",\n disable,\n children: [\n /* @__PURE__ */ _jsx(IdProbe, {\n name: \"a\"\n }),\n /* @__PURE__ */ _jsx(\"div\", {\n children: /* @__PURE__ */ _jsx(IdProbe, {\n name: \"b\"\n })\n }),\n /* @__PURE__ */ _jsx(\"section\", {\n children: /* @__PURE__ */ _jsx(\"p\", {\n children: /* @__PURE__ */ _jsx(IdProbe, {\n name: \"c\"\n })\n })\n }),\n children\n ]\n });\n}\nfunction readIds(html) {\n var out = {};\n var re = /data-name=\"([^\"]+)\" data-probe-id=\"([^\"]+)\"/g;\n var m;\n while (m = re.exec(html)) out[m[1]] = m[2];\n return out;\n}\ntest(\"test environment loads on-zero client runtime\", function() {\n expect(IS_SERVER_RUNTIME).toBe(false);\n expect(IS_SERVER).toBe(false);\n});\ntest(\"useId is stable across active vs disabled ProvideZero renders\", function() {\n var active = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var disabled = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n expect(Object.keys(active).length).toBe(3);\n expect(disabled).toEqual(active);\n});\ntest(\"rendered DOM structure matches between active and disabled (probe ids stripped)\", function() {\n var strip = function strip2(s) {\n return s.replace(/ data-probe-id=\"[^\"]+\"/g, \"\");\n };\n var active = strip(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var disabled = strip(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n expect(disabled).toBe(active);\n});\ntest(\"client-side hook count is stable across disable=true \\u2194 false\", function() {\n var r1 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n var r2 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var r3 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n var r4 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n expect(r2).toEqual(r1);\n expect(r3).toEqual(r1);\n expect(r4).toEqual(r1);\n});\n//# sourceMappingURL=provideZero.hydration.test.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,EAAEC,IAAI,IAAIC,KAAK,QAAQ,mBAAmB;AAC9D,SAASC,YAAY,EAAEC,MAAM,EAAEC,KAAK,QAAQ,gBAAgB;AAC5D,SAASC,KAAK,QAAQ,OAAO;AAC7B,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,MAAM,EAAEC,IAAI,QAAQ,QAAQ;AACrC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,SAAS,EAAEC,iBAAiB,QAAQ,oBAAoB;AACjE,IAAIC,SAAS,GAAGR,KAAK,CAAC,MAAM,CAAC,CAACS,OAAO,CAAC;EACpCC,EAAE,EAAEX,MAAM,CAAC,CAAC;EACZY,KAAK,EAAEZ,MAAM,CAAC;AAChB,CAAC,CAAC,CAACa,UAAU,CAAC,IAAI,CAAC;AACnB,IAAIC,MAAM,GAAGf,YAAY,CAAC;EACxBgB,MAAM,EAAE,CACNN,SAAS;AAEb,CAAC,CAAC;AACF,IAAIO,MAAM,GAAGV,gBAAgB,CAAC;EAC5BQ,MAAM;EACNG,MAAM,EAAE,CAAC,CAAC;EACVC,cAAc,EAAE,CAAC,CAAC;EAClBC,YAAY,EAAE;AAChB,CAAC,CAAC;AACF,SAASC,OAAOA,CAACC,KAAK,EAAE;EACtB,IAAI;IAAEC;EAAK,CAAC,GAAGD,KAAK;EACpB,IAAIV,EAAE,GAAGT,KAAK,CAAC,CAAC;EAChB,OAAO,eAAgBN,IAAI,CAAC,MAAM,EAAE;IAClC,WAAW,EAAE0B,IAAI;IACjB,eAAe,EAAEX;EACnB,CAAC,CAAC;AACJ;AACA,SAASY,IAAIA,CAACF,KAAK,EAAE;EACnB,IAAI;IAAEG,QAAQ;IAAEC;EAAQ,CAAC,GAAGJ,KAAK;EACjC,OAAO,eAAgBvB,KAAK,CAACkB,MAAM,CAACU,WAAW,EAAE;IAC/CC,QAAQ,EAAE,CAAC,CAAC;IACZC,MAAM,EAAE,MAAM;IACdH,OAAO;IACPD,QAAQ,EAAE,CACR,eAAgB5B,IAAI,CAACwB,OAAO,EAAE;MAC5BE,IAAI,EAAE;IACR,CAAC,CAAC,EACF,eAAgB1B,IAAI,CAAC,KAAK,EAAE;MAC1B4B,QAAQ,EAAE,eAAgB5B,IAAI,CAACwB,OAAO,EAAE;QACtCE,IAAI,EAAE;MACR,CAAC;IACH,CAAC,CAAC,EACF,eAAgB1B,IAAI,CAAC,SAAS,EAAE;MAC9B4B,QAAQ,EAAE,eAAgB5B,IAAI,CAAC,GAAG,EAAE;QAClC4B,QAAQ,EAAE,eAAgB5B,IAAI,CAACwB,OAAO,EAAE;UACtCE,IAAI,EAAE;QACR,CAAC;MACH,CAAC;IACH,CAAC,CAAC,EACFE,QAAQ;EAEZ,CAAC,CAAC;AACJ;AACA,SAASK,OAAOA,CAACC,IAAI,EAAE;EACrB,IAAIC,GAAG,GAAG,CAAC,CAAC;EACZ,IAAIC,EAAE,GAAG,8CAA8C;EACvD,IAAIC,CAAC;EACL,OAAOA,CAAC,GAAGD,EAAE,CAACE,IAAI,CAACJ,IAAI,CAAC,EAAEC,GAAG,CAACE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;EAC1C,OAAOF,GAAG;AACZ;AACA1B,IAAI,CAAC,+CAA+C,EAAE,YAAW;EAC/DD,MAAM,CAACI,iBAAiB,CAAC,CAAC2B,IAAI,CAAC,KAAK,CAAC;EACrC/B,MAAM,CAACG,SAAS,CAAC,CAAC4B,IAAI,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AACF9B,IAAI,CAAC,+DAA+D,EAAE,YAAW;EAC/E,IAAI+B,MAAM,GAAGP,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACpE,IAAIc,QAAQ,GAAGR,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE;IAC/DE,OAAO,EAAE;EACX,CAAC,CAAC,CAAC,CAAC;EACJrB,MAAM,CAACkC,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,MAAM,CAAC,CAACL,IAAI,CAAC,CAAC,CAAC;EAC1C/B,MAAM,CAACiC,QAAQ,CAAC,CAACI,OAAO,CAACL,MAAM,CAAC;AAClC,CAAC,CAAC;AACF/B,IAAI,CAAC,iFAAiF,EAAE,YAAW;EACjG,IAAIqC,KAAK,GAAG,SAASC,MAAMA,CAACC,CAAC,EAAE;IAC7B,OAAOA,CAAC,CAACC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;EACjD,CAAC;EACD,IAAIT,MAAM,GAAGM,KAAK,CAACvC,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAClE,IAAIc,QAAQ,GAAGK,KAAK,CAACvC,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE;IAC7DE,OAAO,EAAE;EACX,CAAC,CAAC,CAAC,CAAC;EACJrB,MAAM,CAACiC,QAAQ,CAAC,CAACF,IAAI,CAACC,MAAM,CAAC;AAC/B,CAAC,CAAC;AACF/B,IAAI,CAAC,mEAAmE,EAAE,YAAW;EACnF,IAAIyC,EAAE,GAAGjB,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE;IACzDE,OAAO,EAAE;EACX,CAAC,CAAC,CAAC,CAAC;EACJ,IAAIsB,EAAE,GAAGlB,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAChE,IAAIyB,EAAE,GAAGnB,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE;IACzDE,OAAO,EAAE;EACX,CAAC,CAAC,CAAC,CAAC;EACJ,IAAIwB,EAAE,GAAGpB,OAAO,CAAC1B,cAAc,CAAC,eAAgBP,IAAI,CAAC2B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAChEnB,MAAM,CAAC2C,EAAE,CAAC,CAACN,OAAO,CAACK,EAAE,CAAC;EACtB1C,MAAM,CAAC4C,EAAE,CAAC,CAACP,OAAO,CAACK,EAAE,CAAC;EACtB1C,MAAM,CAAC6C,EAAE,CAAC,CAACR,OAAO,CAACK,EAAE,CAAC;AACxB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,8 +3,8 @@ import { createSchema, string, table } from "@rocicorp/zero";
|
|
|
3
3
|
import { useZero } from "@rocicorp/zero/react";
|
|
4
4
|
import { renderToString } from "react-dom/server";
|
|
5
5
|
import { expect, test, vi } from "vitest";
|
|
6
|
-
import { createZeroClient } from "./createZeroClient
|
|
7
|
-
import { IS_SERVER_RUNTIME } from "./helpers/platform
|
|
6
|
+
import { createZeroClient } from "./createZeroClient";
|
|
7
|
+
import { IS_SERVER_RUNTIME } from "./helpers/platform";
|
|
8
8
|
function _class_call_check(instance, Constructor) {
|
|
9
9
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","renderToString","expect","test","vi","createZeroClient","IS_SERVER_RUNTIME","_class_call_check","instance","Constructor","TypeError","fakeZero","hoisted","instances","FakeZero","FakeZero2","push","mock","importOriginal","actual","Zero","window","Error","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","toBe"],"sources":["
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","renderToString","expect","test","vi","createZeroClient","IS_SERVER_RUNTIME","_class_call_check","instance","Constructor","TypeError","fakeZero","hoisted","instances","FakeZero","FakeZero2","push","mock","importOriginal","actual","Zero","window","Error","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","toBe","contextClientID","Probe","Probe2","clientID","ProvideZero","cacheURL","userID","children","length","zero","toThrow"],"sources":["provideZero.ssr.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useZero } from \"@rocicorp/zero/react\";\nimport { renderToString } from \"react-dom/server\";\nimport { expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { IS_SERVER_RUNTIME } from \"./helpers/platform\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nvar fakeZero = vi.hoisted(function() {\n var instances = [];\n var FakeZero = function FakeZero2() {\n \"use strict\";\n _class_call_check(this, FakeZero2);\n instances.push(this);\n };\n return {\n FakeZero,\n instances\n };\n});\nvi.mock(\"@rocicorp/zero\", async function(importOriginal) {\n var actual = await importOriginal();\n return {\n ...actual,\n Zero: fakeZero.FakeZero\n };\n});\nif (typeof window !== \"undefined\") {\n throw new Error(\"provideZero.ssr.test.tsx must run with @vitest-environment node\");\n}\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"ssr-eager-test\"\n});\ntest(\"the server runtime is what this file exercises\", function() {\n expect(IS_SERVER_RUNTIME).toBe(true);\n});\ntest(\"rendering ProvideZero on the server constructs no client\", function() {\n var contextClientID;\n var Probe = function Probe2() {\n contextClientID = useZero().clientID;\n return null;\n };\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"ssr\",\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n expect(fakeZero.instances.length).toBe(0);\n expect(contextClientID).toBe(\"disabled\");\n expect(function() {\n return client.zero.clientID;\n }).toThrow(/Zero instance not initialized/);\n});\n//# sourceMappingURL=provideZero.ssr.test.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,QAAQ,mBAAmB;AAC/C,SAASC,YAAY,EAAEC,MAAM,EAAEC,KAAK,QAAQ,gBAAgB;AAC5D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,MAAM,EAAEC,IAAI,EAAEC,EAAE,QAAQ,QAAQ;AACzC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,iBAAiBA,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;AAClG;AACA,IAAIC,QAAQ,GAAGP,EAAE,CAACQ,OAAO,CAAC,YAAW;EACnC,IAAIC,SAAS,GAAG,EAAE;EAClB,IAAIC,QAAQ,GAAG,SAASC,SAASA,CAAA,EAAG;IAClC,YAAY;;IACZR,iBAAiB,CAAC,IAAI,EAAEQ,SAAS,CAAC;IAClCF,SAAS,CAACG,IAAI,CAAC,IAAI,CAAC;EACtB,CAAC;EACD,OAAO;IACLF,QAAQ;IACRD;EACF,CAAC;AACH,CAAC,CAAC;AACFT,EAAE,CAACa,IAAI,CAAC,gBAAgB,EAAE,gBAAeC,cAAc,EAAE;EACvD,IAAIC,MAAM,GAAG,MAAMD,cAAc,CAAC,CAAC;EACnC,OAAO;IACL,GAAGC,MAAM;IACTC,IAAI,EAAET,QAAQ,CAACG;EACjB,CAAC;AACH,CAAC,CAAC;AACF,IAAI,OAAOO,MAAM,KAAK,WAAW,EAAE;EACjC,MAAM,IAAIC,KAAK,CAAC,iEAAiE,CAAC;AACpF;AACA,IAAIC,SAAS,GAAGxB,KAAK,CAAC,MAAM,CAAC,CAACyB,OAAO,CAAC;EACpCC,EAAE,EAAE3B,MAAM,CAAC,CAAC;EACZ4B,KAAK,EAAE5B,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC6B,UAAU,CAAC,IAAI,CAAC;AACnB,IAAIC,MAAM,GAAG/B,YAAY,CAAC;EACxBgC,MAAM,EAAE,CACNN,SAAS;AAEb,CAAC,CAAC;AACF,IAAIO,MAAM,GAAGzB,gBAAgB,CAAC;EAC5BuB,MAAM;EACNG,MAAM,EAAE,CAAC,CAAC;EACVC,cAAc,EAAE,CAAC,CAAC;EAClBC,YAAY,EAAE;AAChB,CAAC,CAAC;AACF9B,IAAI,CAAC,gDAAgD,EAAE,YAAW;EAChED,MAAM,CAACI,iBAAiB,CAAC,CAAC4B,IAAI,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC;AACF/B,IAAI,CAAC,0DAA0D,EAAE,YAAW;EAC1E,IAAIgC,eAAe;EACnB,IAAIC,KAAK,GAAG,SAASC,MAAMA,CAAA,EAAG;IAC5BF,eAAe,GAAGnC,OAAO,CAAC,CAAC,CAACsC,QAAQ;IACpC,OAAO,IAAI;EACb,CAAC;EACDrC,cAAc,CAAC,eAAgBL,IAAI,CAACkC,MAAM,CAACS,WAAW,EAAE;IACtDC,QAAQ,EAAE,4BAA4B;IACtCC,MAAM,EAAE,KAAK;IACbC,QAAQ,EAAE,eAAgB9C,IAAI,CAACwC,KAAK,EAAE,CAAC,CAAC;EAC1C,CAAC,CAAC,CAAC;EACHlC,MAAM,CAACS,QAAQ,CAACE,SAAS,CAAC8B,MAAM,CAAC,CAACT,IAAI,CAAC,CAAC,CAAC;EACzChC,MAAM,CAACiC,eAAe,CAAC,CAACD,IAAI,CAAC,UAAU,CAAC;EACxChC,MAAM,CAAC,YAAW;IAChB,OAAO4B,MAAM,CAACc,IAAI,CAACN,QAAQ;EAC7B,CAAC,CAAC,CAACO,OAAO,CAAC,+BAA+B,CAAC;AAC7C,CAAC,CAAC","ignoreList":[]}
|