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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { describe, expect, test, vi } from "vitest";
|
|
3
|
+
import { getInstanceForQueryFn } from "./instanceRegistry.mjs";
|
|
3
4
|
import { createZeroClients } from "./multi.mjs";
|
|
4
5
|
const schema = createSchema({
|
|
5
6
|
tables: [table("message").columns({
|
|
@@ -41,16 +42,55 @@ describe("createZeroClients", () => {
|
|
|
41
42
|
})
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
|
-
const result = createZeroClients(instances
|
|
45
|
+
const result = createZeroClients(instances, {
|
|
46
|
+
inner: "default"
|
|
47
|
+
});
|
|
45
48
|
expect(Object.keys(result.clients)).toEqual(["project", "default"]);
|
|
46
49
|
expect(result.clients.default.instanceName).toBe("default");
|
|
47
50
|
expect(result.clients.project.instanceName).toBe("project");
|
|
48
51
|
expect(result.providers.default).toBe(result.clients.default.ProvideZero);
|
|
49
52
|
expect(result.providers.project).toBe(result.clients.project.ProvideZero);
|
|
50
53
|
expect(result.combined.run).toBeTypeOf("function");
|
|
54
|
+
const innerQuery = vi.spyOn(result.clients.default, "useQuery").mockReturnValue("inner");
|
|
55
|
+
const outerQuery = vi.spyOn(result.clients.project, "useQueryDirect").mockReturnValue("outer");
|
|
56
|
+
expect(result.combined.useQuery(instances.default.queries.account.current, {})).toBe("inner");
|
|
57
|
+
expect(result.combined.useQuery(instances.project.queries.message.all, {})).toBe("outer");
|
|
58
|
+
expect(innerQuery).toHaveBeenCalledOnce();
|
|
59
|
+
expect(outerQuery).toHaveBeenCalledOnce();
|
|
51
60
|
});
|
|
52
61
|
test("requires at least one generated instance", () => {
|
|
53
|
-
expect(() => createZeroClients({}
|
|
62
|
+
expect(() => createZeroClients({}, {
|
|
63
|
+
inner: "missing"
|
|
64
|
+
})).toThrow(/at least one instance/);
|
|
65
|
+
});
|
|
66
|
+
test("rejects an unknown inner instance before replacing registered clients", () => {
|
|
67
|
+
const entry = {
|
|
68
|
+
schema,
|
|
69
|
+
queries: {
|
|
70
|
+
preserved: {
|
|
71
|
+
current: () => ({})
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
models: {},
|
|
75
|
+
tables: [],
|
|
76
|
+
syncTables: [],
|
|
77
|
+
supportTables: [],
|
|
78
|
+
scope: null,
|
|
79
|
+
defaultVisibility: null
|
|
80
|
+
};
|
|
81
|
+
createZeroClients({
|
|
82
|
+
default: entry
|
|
83
|
+
}, {
|
|
84
|
+
inner: "default"
|
|
85
|
+
});
|
|
86
|
+
const owner = getInstanceForQueryFn(entry.queries.preserved.current);
|
|
87
|
+
expect(owner?.name).toBe("default");
|
|
88
|
+
expect(() => createZeroClients({
|
|
89
|
+
default: entry
|
|
90
|
+
}, {
|
|
91
|
+
inner: "missing"
|
|
92
|
+
})).toThrow(/inner instance 'missing'/);
|
|
93
|
+
expect(getInstanceForQueryFn(entry.queries.preserved.current)).toBe(owner);
|
|
54
94
|
});
|
|
55
95
|
test("replaces an existing partition atomically when a namespace moves", () => {
|
|
56
96
|
const entry = queries => ({
|
|
@@ -74,6 +114,8 @@ describe("createZeroClients", () => {
|
|
|
74
114
|
before: () => ({})
|
|
75
115
|
}
|
|
76
116
|
})
|
|
117
|
+
}, {
|
|
118
|
+
inner: "project"
|
|
77
119
|
});
|
|
78
120
|
expect(() => createZeroClients({
|
|
79
121
|
default: entry({
|
|
@@ -86,6 +128,8 @@ describe("createZeroClients", () => {
|
|
|
86
128
|
after: () => ({})
|
|
87
129
|
}
|
|
88
130
|
})
|
|
131
|
+
}, {
|
|
132
|
+
inner: "project"
|
|
89
133
|
})).not.toThrow();
|
|
90
134
|
});
|
|
91
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","describe","expect","test","createZeroClients","schema","tables","columns","id","primaryKey","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","Object","keys","clients","toEqual","instanceName","toBe","providers","ProvideZero","combined","run","toBeTypeOf","toThrow","entry","movedNamespace","before","stableProject","stableDefault","after","not"],"sources":["../../src/multiPartition.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,QAAA,EAAUC,MAAA,EAAQC,IAAA,
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","describe","expect","test","vi","getInstanceForQueryFn","createZeroClients","schema","tables","columns","id","primaryKey","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","inner","Object","keys","clients","toEqual","instanceName","toBe","providers","ProvideZero","combined","run","toBeTypeOf","innerQuery","spyOn","mockReturnValue","outerQuery","useQuery","toHaveBeenCalledOnce","toThrow","entry","preserved","owner","name","movedNamespace","before","stableProject","stableDefault","after","not"],"sources":["../../src/multiPartition.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
-
import { describe, expect, test } from "vitest";
|
|
3
|
-
import {
|
|
2
|
+
import { describe, expect, test, vi } from "vitest";
|
|
3
|
+
import { getInstanceForQueryFn } from "./instanceRegistry";
|
|
4
|
+
import { createZeroClients } from "./multi";
|
|
4
5
|
var schema = createSchema({
|
|
5
6
|
tables: [table("message").columns({
|
|
6
7
|
id: string()
|
|
@@ -47,19 +48,62 @@ describe("createZeroClients", function () {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
|
-
var result = createZeroClients(instances
|
|
51
|
+
var result = createZeroClients(instances, {
|
|
52
|
+
inner: "default"
|
|
53
|
+
});
|
|
51
54
|
expect(Object.keys(result.clients)).toEqual(["project", "default"]);
|
|
52
55
|
expect(result.clients.default.instanceName).toBe("default");
|
|
53
56
|
expect(result.clients.project.instanceName).toBe("project");
|
|
54
57
|
expect(result.providers.default).toBe(result.clients.default.ProvideZero);
|
|
55
58
|
expect(result.providers.project).toBe(result.clients.project.ProvideZero);
|
|
56
59
|
expect(result.combined.run).toBeTypeOf("function");
|
|
60
|
+
var innerQuery = vi.spyOn(result.clients.default, "useQuery").mockReturnValue("inner");
|
|
61
|
+
var outerQuery = vi.spyOn(result.clients.project, "useQueryDirect").mockReturnValue("outer");
|
|
62
|
+
expect(result.combined.useQuery(instances.default.queries.account.current, {})).toBe("inner");
|
|
63
|
+
expect(result.combined.useQuery(instances.project.queries.message.all, {})).toBe("outer");
|
|
64
|
+
expect(innerQuery).toHaveBeenCalledOnce();
|
|
65
|
+
expect(outerQuery).toHaveBeenCalledOnce();
|
|
57
66
|
});
|
|
58
67
|
test("requires at least one generated instance", function () {
|
|
59
68
|
expect(function () {
|
|
60
|
-
return createZeroClients({}
|
|
69
|
+
return createZeroClients({}, {
|
|
70
|
+
inner: "missing"
|
|
71
|
+
});
|
|
61
72
|
}).toThrow(/at least one instance/);
|
|
62
73
|
});
|
|
74
|
+
test("rejects an unknown inner instance before replacing registered clients", function () {
|
|
75
|
+
var entry = {
|
|
76
|
+
schema,
|
|
77
|
+
queries: {
|
|
78
|
+
preserved: {
|
|
79
|
+
current: function current() {
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
models: {},
|
|
85
|
+
tables: [],
|
|
86
|
+
syncTables: [],
|
|
87
|
+
supportTables: [],
|
|
88
|
+
scope: null,
|
|
89
|
+
defaultVisibility: null
|
|
90
|
+
};
|
|
91
|
+
createZeroClients({
|
|
92
|
+
default: entry
|
|
93
|
+
}, {
|
|
94
|
+
inner: "default"
|
|
95
|
+
});
|
|
96
|
+
var owner = getInstanceForQueryFn(entry.queries.preserved.current);
|
|
97
|
+
expect(owner === null || owner === void 0 ? void 0 : owner.name).toBe("default");
|
|
98
|
+
expect(function () {
|
|
99
|
+
return createZeroClients({
|
|
100
|
+
default: entry
|
|
101
|
+
}, {
|
|
102
|
+
inner: "missing"
|
|
103
|
+
});
|
|
104
|
+
}).toThrow(/inner instance 'missing'/);
|
|
105
|
+
expect(getInstanceForQueryFn(entry.queries.preserved.current)).toBe(owner);
|
|
106
|
+
});
|
|
63
107
|
test("replaces an existing partition atomically when a namespace moves", function () {
|
|
64
108
|
var entry = function entry2(queries) {
|
|
65
109
|
return {
|
|
@@ -88,6 +132,8 @@ describe("createZeroClients", function () {
|
|
|
88
132
|
}
|
|
89
133
|
}
|
|
90
134
|
})
|
|
135
|
+
}, {
|
|
136
|
+
inner: "project"
|
|
91
137
|
});
|
|
92
138
|
expect(function () {
|
|
93
139
|
return createZeroClients({
|
|
@@ -105,6 +151,8 @@ describe("createZeroClients", function () {
|
|
|
105
151
|
}
|
|
106
152
|
}
|
|
107
153
|
})
|
|
154
|
+
}, {
|
|
155
|
+
inner: "project"
|
|
108
156
|
});
|
|
109
157
|
}).not.toThrow();
|
|
110
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","describe","expect","test","createZeroClients","schema","tables","columns","id","primaryKey","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","Object","keys","clients","toEqual"],"sources":["../../src/multiPartition.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAASC,iBAAA,QAAyB;AAElC,IAAAC,MAAM,GAAAP,YAAS;EACbQ,MAAA,EAAQ,CACTN,KAAA,YAAAO,OAAA;IAEDC,EAAA,EAAST,MAAA;EACP,GAAKU,UAAA;AACe;AACPR,QACP;EAAAE,IAAA,iEACqD;IAAA,IACrDO,SAAS;MAAAC,OACT;QACAN,MAAA;QACAO,OAAA;UACAC,OAAO;YACPC,OAAA,WAAmBA,QAAA;cACrB;YACA;UACE;QACA;QACAC,MAAA,EAAQ,CAAC;QACTT,MAAA,EAAQ,CACR,UACA;QACAU,UAAO,GACP,UACF;QACFC,aAAA;QAEAC,KAAM,MAAS;QAEfC,iBAAmB;MACnB;MACAC,OAAO;QACPf,MAAO;QACPO,OAAO;UACPS,OAAO,EAAO;YACfC,GAAA,WAAAA,IAAA;cAEI;YACI;UACR;QAEI;QACHP,MAAM,IAAQ;QACZT,MAAA,GACA,UACA;QACAU,UAAQ,GACR,SAAY,CACZ;QACAC,aAAO;QACPC,KAAA,aAAmB;QACrBC,iBAAA,WAAAA,kBAAAI,KAAA;UAEA;YACEC,MAAS,aAAQ;YACjBD;UACD;QAED;MAAO;IACa;IACgD,IAChEE,MAAA,GAASrB,iBAAQ,CAAAM,SAAkB;IAA8BR,MAClE,CAAAwB,MAAA,CAAAC,IAAA,CAAAF,MAAA,CAAAG,OAAA,GAAAC,OAAA,EACD,SAAI,EACP,UACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","describe","expect","test","vi","getInstanceForQueryFn","createZeroClients","schema","tables","columns","id","primaryKey","instances","default","queries","account","current","models","syncTables","supportTables","scope","defaultVisibility","project","message","all","value","column","result","inner","Object","keys","clients","toEqual","instanceName","toBe","providers","ProvideZero","combined","run","toBeTypeOf","innerQuery","spyOn","mockReturnValue","outerQuery","useQuery","toHaveBeenCalledOnce","toThrow","entry","preserved","owner","name","entry2","movedNamespace","before","stableProject","stableDefault","after","not"],"sources":["multiPartition.test.native.js"],"sourcesContent":["import { createSchema, string, table } from \"@rocicorp/zero\";\nimport { describe, expect, test, vi } from \"vitest\";\nimport { getInstanceForQueryFn } from \"./instanceRegistry\";\nimport { createZeroClients } from \"./multi\";\nvar schema = createSchema({\n tables: [\n table(\"message\").columns({\n id: string()\n }).primaryKey(\"id\")\n ]\n});\ndescribe(\"createZeroClients\", function() {\n test(\"builds generated partitions with default as the primary client\", function() {\n var instances = {\n default: {\n schema,\n queries: {\n account: {\n current: function current() {\n return {};\n }\n }\n },\n models: {},\n tables: [\n \"account\"\n ],\n syncTables: [\n \"account\"\n ],\n supportTables: [],\n scope: null,\n defaultVisibility: null\n },\n project: {\n schema,\n queries: {\n message: {\n all: function all() {\n return {};\n }\n }\n },\n models: {},\n tables: [\n \"message\"\n ],\n syncTables: [\n \"message\"\n ],\n supportTables: [],\n scope: \"projectId\",\n defaultVisibility: function defaultVisibility(value) {\n return {\n column: \"projectId\",\n value\n };\n }\n }\n };\n var result = createZeroClients(instances, {\n inner: \"default\"\n });\n expect(Object.keys(result.clients)).toEqual([\n \"project\",\n \"default\"\n ]);\n expect(result.clients.default.instanceName).toBe(\"default\");\n expect(result.clients.project.instanceName).toBe(\"project\");\n expect(result.providers.default).toBe(result.clients.default.ProvideZero);\n expect(result.providers.project).toBe(result.clients.project.ProvideZero);\n expect(result.combined.run).toBeTypeOf(\"function\");\n var innerQuery = vi.spyOn(result.clients.default, \"useQuery\").mockReturnValue(\"inner\");\n var outerQuery = vi.spyOn(result.clients.project, \"useQueryDirect\").mockReturnValue(\"outer\");\n expect(result.combined.useQuery(instances.default.queries.account.current, {})).toBe(\"inner\");\n expect(result.combined.useQuery(instances.project.queries.message.all, {})).toBe(\"outer\");\n expect(innerQuery).toHaveBeenCalledOnce();\n expect(outerQuery).toHaveBeenCalledOnce();\n });\n test(\"requires at least one generated instance\", function() {\n expect(function() {\n return createZeroClients({}, {\n inner: \"missing\"\n });\n }).toThrow(/at least one instance/);\n });\n test(\"rejects an unknown inner instance before replacing registered clients\", function() {\n var entry = {\n schema,\n queries: {\n preserved: {\n current: function current() {\n return {};\n }\n }\n },\n models: {},\n tables: [],\n syncTables: [],\n supportTables: [],\n scope: null,\n defaultVisibility: null\n };\n createZeroClients({\n default: entry\n }, {\n inner: \"default\"\n });\n var owner = getInstanceForQueryFn(entry.queries.preserved.current);\n expect(owner === null || owner === void 0 ? void 0 : owner.name).toBe(\"default\");\n expect(function() {\n return createZeroClients({\n default: entry\n }, {\n inner: \"missing\"\n });\n }).toThrow(/inner instance 'missing'/);\n expect(getInstanceForQueryFn(entry.queries.preserved.current)).toBe(owner);\n });\n test(\"replaces an existing partition atomically when a namespace moves\", function() {\n var entry = function entry2(queries) {\n return {\n schema,\n queries,\n models: {},\n tables: Object.keys(queries),\n syncTables: Object.keys(queries),\n supportTables: [],\n scope: null,\n defaultVisibility: null\n };\n };\n createZeroClients({\n default: entry({\n movedNamespace: {\n before: function before() {\n return {};\n }\n }\n }),\n project: entry({\n stableProject: {\n before: function before() {\n return {};\n }\n }\n })\n }, {\n inner: \"project\"\n });\n expect(function() {\n return createZeroClients({\n default: entry({\n stableDefault: {\n after: function after() {\n return {};\n }\n }\n }),\n project: entry({\n movedNamespace: {\n after: function after() {\n return {};\n }\n }\n })\n }, {\n inner: \"project\"\n });\n }).not.toThrow();\n });\n});\n//# sourceMappingURL=multiPartition.test.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { setMutationsPermissions } from "./modelRegistry
|
|
2
|
-
import { getSchema, getZQL } from "./state
|
|
1
|
+
import { setMutationsPermissions } from "./modelRegistry";
|
|
2
|
+
import { getSchema, getZQL } from "./state";
|
|
3
3
|
function mutationRegistry() {
|
|
4
4
|
var _global;
|
|
5
5
|
var global = globalThis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setMutationsPermissions","getSchema","getZQL","mutationRegistry","_global","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","crud","arguments","length","prior","get","_i","_iter","action","set","existing","proxy","Proxy","_","key","_mutationRegistry_get","ownKeys","current","Object","keys","getOwnPropertyDescriptor","enumerable","configurable","value","has","mutations","table","permissions","mutations2","options","schema","name","createCRUDMutation","createCRUDMutation2","customMutation","ctx","obj","environment","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","tables","primaryKey","Symbol","iterator","_step","next","done","where","err","return"],"sources":["../../src/mutations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["setMutationsPermissions","getSchema","getZQL","mutationRegistry","_global","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","crud","arguments","length","prior","get","_i","_iter","action","set","existing","proxy","Proxy","_","key","_mutationRegistry_get","ownKeys","current","Object","keys","getOwnPropertyDescriptor","enumerable","configurable","value","has","mutations","table","permissions","mutations2","options","schema","name","createCRUDMutation","createCRUDMutation2","customMutation","ctx","obj","environment","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","tables","primaryKey","Symbol","iterator","_step","next","done","where","err","return","tx","run","one","can","mutate","crudMutations","insert","update","delete","upsert","finalMutations"],"sources":["mutations.native.js"],"sourcesContent":["import { setMutationsPermissions } from \"./modelRegistry\";\nimport { getSchema, getZQL } from \"./state\";\nfunction mutationRegistry() {\n var _global;\n var global = globalThis;\n return (_global = global).__onZeroMutationRegistry__ || (_global.__onZeroMutationRegistry__ = /* @__PURE__ */ new Map());\n}\nfunction proxyRegistry() {\n var _global;\n var global = globalThis;\n return (_global = global).__onZeroProxyRegistry__ || (_global.__onZeroProxyRegistry__ = /* @__PURE__ */ new Map());\n}\nfunction getOrCreateMutationProxy(tableName, implementations) {\n var crud = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;\n var prior = mutationRegistry().get(tableName);\n if (prior && !crud) {\n for (var _i = 0, _iter = [\n \"insert\",\n \"update\",\n \"delete\",\n \"upsert\"\n ]; _i < _iter.length; _i++) {\n var action = _iter[_i];\n if (!(action in implementations)) delete prior[action];\n }\n }\n mutationRegistry().set(tableName, prior ? {\n ...prior,\n ...implementations\n } : implementations);\n var existing = proxyRegistry().get(tableName);\n if (existing) {\n return existing;\n }\n var proxy = new Proxy({}, {\n get(_, key) {\n var _mutationRegistry_get;\n return (_mutationRegistry_get = mutationRegistry().get(tableName)) === null || _mutationRegistry_get === void 0 ? void 0 : _mutationRegistry_get[key];\n },\n ownKeys() {\n var current = mutationRegistry().get(tableName);\n return current ? Object.keys(current) : [];\n },\n getOwnPropertyDescriptor(_, key) {\n var current = mutationRegistry().get(tableName);\n if (current && key in current) {\n return {\n enumerable: true,\n configurable: true,\n value: current[key]\n };\n }\n },\n has(_, key) {\n var current = mutationRegistry().get(tableName);\n return current ? key in current : false;\n }\n });\n proxyRegistry().set(tableName, proxy);\n return proxy;\n}\nfunction mutations(table, permissions, mutations2, options) {\n if (permissions) {\n var tableName = typeof table === \"string\" ? table : table.schema.name;\n setMutationsPermissions(tableName, permissions);\n if ((options === null || options === void 0 ? void 0 : options.crud) === false) {\n return getOrCreateMutationProxy(tableName, mutations2 !== null && mutations2 !== void 0 ? mutations2 : {}, false);\n }\n var createCRUDMutation = function createCRUDMutation2(action) {\n var customMutation = mutations2 === null || mutations2 === void 0 ? void 0 : mutations2[action];\n if (customMutation) return customMutation;\n return async function(ctx, obj) {\n if (action === \"upsert\" && ctx.environment === \"server\") {\n var existing = getZQL()[tableName];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = getSchema().tables[tableName].primaryKey[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n existing = existing.where(key, obj[key]);\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 if (await ctx.tx.run(existing.one())) {\n await ctx.can(permissions, obj);\n }\n } else if (action === \"update\" || action === \"delete\") {\n await ctx.can(permissions, obj);\n }\n await ctx.tx.mutate[tableName][action](obj);\n if (action !== \"delete\") {\n await ctx.can(permissions, obj);\n }\n };\n };\n var crudMutations = {\n insert: createCRUDMutation(\"insert\"),\n update: createCRUDMutation(\"update\"),\n delete: createCRUDMutation(\"delete\"),\n upsert: createCRUDMutation(\"upsert\")\n };\n var finalMutations = {\n ...mutations2,\n // generated CRUD fills missing operations; custom CRUD runs as-is\n ...crudMutations\n };\n return getOrCreateMutationProxy(tableName, finalMutations);\n }\n return table;\n}\nexport {\n mutations\n};\n//# sourceMappingURL=mutations.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,10 +5,10 @@ import { createSQLiteApplicationDatabase, createSyncExecutor } from "orez-lite";
|
|
|
5
5
|
import { createQueryCompiler } from "orez-lite/cloudflare/query-compiler";
|
|
6
6
|
import { executeTransactionQueryPlan } from "orez-lite/cloudflare/transaction-query";
|
|
7
7
|
import { afterAll, describe, expect, test, vi } from "vitest";
|
|
8
|
-
import { createZeroServerBindings, setupAsyncLocalStorage } from "./server
|
|
9
|
-
import { getMutationsPermissions } from "./modelRegistry
|
|
10
|
-
import { mutations } from "./mutations
|
|
11
|
-
import { serverWhere } from "./serverWhere
|
|
8
|
+
import { createZeroServerBindings, setupAsyncLocalStorage } from "./server";
|
|
9
|
+
import { getMutationsPermissions } from "./modelRegistry";
|
|
10
|
+
import { mutations } from "./mutations";
|
|
11
|
+
import { serverWhere } from "./serverWhere";
|
|
12
12
|
var previousEnvironment = vi.hoisted(function () {
|
|
13
13
|
var previous = process.env.VITE_ENVIRONMENT;
|
|
14
14
|
process.env.VITE_ENVIRONMENT = "client";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncLocalStorage","DatabaseSync","createSchema","string","table","createSQLiteApplicationDatabase","createSyncExecutor","createQueryCompiler","executeTransactionQueryPlan","afterAll","describe","expect","test","vi","createZeroServerBindings","setupAsyncLocalStorage","getMutationsPermissions","mutations","serverWhere","previousEnvironment","hoisted","previous","process","env","VITE_ENVIRONMENT","record","columns","id","primaryKey","permission","first","Object","keys","sort","toEqual","custom","fn","closed","crud","toBe","Reflect","get","toBeUndefined","toHaveBeenCalledOnce","reopened","insert","permissions","v1","v12","v2","v22","proxy","document","workspace","ownerId","title","schema","tables","relationships","enableLegacyQueries","sqlite","exec","compile","query","query2","sql","params","arguments","length","prepare","all","map","value","tx","changes","Number","run","queryAst","ast","format","queryName","database","transaction","work","result","error","eb","auth2","cmp","bindings","models","mutate","createServerActions","executor","mutators","effects","runBackground","promise","report","server","auth","authData","own","foreign"],"sources":["../../src/mutations.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAClC,SAASC,YAAA,QAAwC;AAEjD,SAASC,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAAAC,+BAAA,EAAAC,kBAAA;AAAA,SACEC,mBAAA;AAAA,SACAC,2BAAA;AAAA,SAEKC,QAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,IAAA,EAAAC,EAAA;AACP,SAASC,wBAAA,EAAAC,sBAA2B;AACpC,SAASC,uBAAA,mCAAmC;AAC5C,SAASC,SAAA,QAAU,uBAAkB;AAErC,SAASC,WAAA,iCAA0B;AAanC,IAAAC,mBAAS,GAAAN,EAAA,CAAAO,OAAA,aAA+B;EACxC,IAAAC,QAAS,GAAAC,OAAA,CAAAC,GAAiB,CAAAC,gBAAA;EAC1BF,OAAS,CAAAC,GAAA,CAAAC,gBAAmB;EAb5B,OAAMH,QAAA;AACJ;AACAZ,QAAA,aAAY;EACZ,IAAAU,mBAAO,oBAAAG,OAAA,CAAAC,GAAA,CAAAC,gBAAA,MACRF,OAAA,CAAAC,GAAA,CAAAC,gBAAA,GAAAL,mBAAA;AAED;AACET,QAAI,uBAAwB,YAAW;EAAmBE,IACrD,wFAA+B;IACrC,IAAAa,MAAA,GAAArB,KAAA,iBAAAsB,OAAA;MAMDC,EAAA,EAASxB,MAAA;IACP,GAAKyB,UAAA;IACH,IAAAC,UAAM,GAASX,WAAM,eAAgB,EAAQ,YAAM;MACnD,OAAM;IACN;IACA,IAAAY,KAAO,GAAAb,SAAY,CAAAQ,MAAO,EAAAI,UAAQ;IAClClB,MAAM,CAAAoB,MAAA,CAAAC,IAAY,CAAAF,KAAG,EAAAG,IAAA,GAAY,CAAAC,OAAA,EAAE,UACnC,QAAM,EACN,QAAO,EACP,QAAO,CACP;IACA,IAAAC,MAAO,GAAAtB,EAAQ,CAAAuB,EAAA,CAAI,kBAAiB,CACpC;IACA,IAAAC,MAAM,GAAOpB,SAAO,CAAAQ,MAAA,EAAAI,UAAA;MACpBM;IACA;MACAG,IAAA,EAAO;IAAsC,EAC3C;IAAA3B,MACA,CAAA0B,MAAA,EAAAE,IAAA,CAAAT,KAAA;IAAAnB,MACA,CAAAoB,MAAA,CAAAC,IAAA,CAAAK,MAAA,GAAAH,OAAA,EACA,UACA;IACFvB,MAAC,aAAA0B,MAAA,EAAAE,IAAA;IACF5B,MAAA,CAAA6B,OAAA,CAAAC,GAAA,CAAAJ,MAAA,aAAAK,aAAA;IAED/B,MAAK,CAAAK,uBAAA,kBAAAuB,IAAA,CAAAV,UAAuD;IAC1D,MAAMQ,MAAA,CAAAF,MAAS,EAAM;IACrBxB,MAAM,CAAAwB,MAAA,EAAAQ,oBAAyB;IAC/B,IAAAC,QAAM,GAAS3B,SAAM,CAAAQ,MAAA,EAAYI,UAAA;MAAES,IAAA;IACnC;IACA3B,MAAA,CAAOoB,MAAA,CAAOC,IAAA,CAAKY,QAAO,CAAE,CAAAX,IAAA,GAAQ,CAACC,OAAA,CAAQ,CAC7C,QAAM,EACN,QAAO,EACR,UAED,QAAK,EACH,QAAM,CACN;EAAuB,EAAC;EACxBtB,IAAA,sDAAuB;IAAC,IAAAa,MAAA,GAAArB,KAAA,iBAAAsB,OAAA;MACxBC,EAAA,EAAAxB,MAAU;IACV,GAAAyB,UAAM,CAAQ;IAGd,IAAAC,UAAa,GAAAX,WAAe;MAC7B;IACF;IAED,IAAA2B,MAAS,GAAAhC,EAAA,CAAAuB,EAAA,oBACP;IACE,IAAAD,MAAA,GAAAlB,SAAA,CAAuBQ,MAAA,EAAAI,UAAiB;MACxCgB;IACW,GACP;MACAP,IAAI;IAAO,EACX;IAAgB3B,MAChB,CAAAoB,MAAO,CAAAC,IAAO,CAAAG,MAAA,GAAAD,OAAA,EACf,QACA,CACH;IAA4B,MAC1BC,MAAS,CAAAU,MAAQ;IAAAlC,MACjB,CAAAkC,MAAA,EAAAF,oBAAgB;EAAA;EACK/B,IACtB;IACD,IAAAkC,WAAe,GAAA5B,WAAI,OAAa,cAAU;MAC1C,OAAO;IAAA,EACL;IACF,IAAA6B,EAAA,kBAAAC,IAAA,GACA;IACA,IAAAC,EAAM,kBAAgDC,GAAKA,CAAA,GAE3D;IAAmCjC,SACjC,SAAA6B,WAAA;MACAX,MAAM,EAAAY;IAA6B;IACxB,IAAAI,KACP,GAAAlC,SAAe,OAAK,EAAI6B,WAAU;MAC/BX,MACL,EAAAc;IAAA,EACF;IAAAtC,MACA,CAAAwC,KAAU,CAAAhB,MAAO,EAAAI,IAAK,CAAAU,EAAA;EACpB;AACqB;AAEuDvC,QAC1E,+BAAY;EAAAE,IACd;IACJG,sBAAA,CAAAf,iBAAA;IACA,IAAAoD,QAAM,GAAAhD,KAAW,aAAAsB,OAAA;MACf2B,SAAA,EAAAlD,MAAA;MACAwB,EAAA,EAAAxB,MAAA;MACEmD,OAAA,EAAOnD,MAAK;MACZoD,KAAA,EAAIpD,MAAA;IACF,GAAAyB,UAAM,YAAS,EAAM,KAAK;IAC1B,IAAA4B,MAAA,GAAOtD,YAAK,CAAQ;MACpBuD,MAAA,GACFL,QAAA,CACE;MACAM,aAAM;MAAAC,mBACR;IAAA,EACF;IACF,IAACC,MAAA,OAAA3D,YAAA;IACD2D,MAAM,CAAAC,IAAA,yGAAa;IAAA,IAAYC,OAAA,GAAAvD,mBAAA,CAAAiD,MAAA;IAAA,IAAaO,KAAI,kBAC3CC,OAAAC,GAAA;MAAA,IACDC,MAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAA,OACAP,MAAQ,CAAAS,OAAQ,CAAAJ,GAAA,EAAAK,GAAQ,IAAAJ,MAAO,CAAKK,GAAA,WAAOC,KAAW;QACxD,OAAAA,KAAA;MACF;IACA;IAA0C,IACxCC,EAAA;MACAV,KAAA;MACAF,IAAA,iBAAqBA,KAAAI,GAAQ;QAC9B,IAAAC,MAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;QACD,OAAM;UACJO,OAAA,EAAAC,MAAA,CAAAf,MAAA,CAAAS,OAAA,CAAAJ,GAAA,EAAAW,GAAA,IAAAV,MAAA,CAAAK,GAAA,WAAAC,KAAA;YACA,OAAAA,KAAA;UACA,IAAAE,OAAU;QACV;MAAS;MACqBG,QAC5B,EAAQ,eAAWA,SAAAC,GAAA,EAAAC,MAAA,EAAAC,SAAA;QACjB,OAAAxE,2BAAM,CAAAsD,OAAA,CAAAgB,GAAA,EAAAC,MAAA,aAAAd,GAAA,EAAAC,MAAA;UACR,OAAAN,MAAA,CAAAS,OAAA,CAAAJ,GAAA,EAAAK,GAAA,IAAAJ,MAAA,CAAAK,GAAA,WAAAC,KAAA;YACF,OAAAA,KAAA;UACD;QACD,GAAM;UACAQ;QACN,EAAM;MACN;IACA;IACE,IAAAC,QAAM,GAAO5E,+BAA4B,CAAI;MAC7C0D,KAAA;MACAmB,WAAM,iBAAAA,YAAAC,IAAA;QACJvB,MAAA,CAAOC,IAAA,QAAO;QACd;UACF,IAAMuB,MAAA,SAAAD,IAAA,CAAAV,EAAA;UACJb,MAAO,CAAAC,IAAA,CAAO,SAAS;UACvB,OAAQuB,MAAA;QACV,SAAMC,KAAA;UACJzB,MAAO,CAAAC,IAAA,CAAO,UAAS;UACvB,MAAQwB,KAAA;QACV;MAAM;IAC0D,EAChE;IACA,IAAAxD,UAAM,GAAAX,WAAA,uBAAAoE,EAAA,EAAAC,KAAA;MAAA,OACJD,EAAO,CAAAE,GAAA,UAAO,EAASD,KAAA,IAAS,IAAG,IAAAA,KAAS,IAAI,OAAAA,KAAa,CAAA5D,EAAA,KAAI,WAAA4D,KAAA,CAAA5D,EAAA;IAAA,EACnE;IACA,IAAA8D,QAAM,GAAO3E,wBAAuB,CAAE;MACtC0C,MAAM;MACNkC,MAAM;QACNtC,QAAA;UACEuC,MAAO,EAAA1E,SAAQ,CAAAmC,QAAA,EAAAvB,UAAA;QACf;MACF;MAAgD+D,mBAC9C,WAAAA,oBAAA;QACA,QAAQ;MAAA;IACI;IACA,IAAAC,QACN,GAAAvF,kBAAA;MAAA2E,QACA;MAAAzB,MAAA;MACAsC,QAAA,EACEL,QAAQ,CAAAK,QACN;MAGAC,OAAA;QACAC,aAAA,WAAaA,aAAOA,CAAAC,OAAS,EAAO;UAAK,OAC3CA,OAAA;QAAA;QACFC,MACA,EAAE,SAAMA,MAAMA,CAAAb,KAAA;UAAA,MAChBA,KAAA;QAAA;MACF;IACF;IAC6B,IAC9Bc,MAAA,GAAAV,QAAA,CAAAU,MAAA,CAAAN,QAAA;IACD,IAAAO,IAAA,GAAO;MACPC,QAAM;QACJ1E,EAAA;MAAA;IACA;IACyB,IACzB2E,GAAA;MAASjD,SACP;MAA4B1B,EAAA,EAC5B;MACE2B,OAAA,SAAM;MAAAC,KACR;IAAA;IACF,IACDgD,OAAA;MACDlD,SAAA,EAAW;MACT1B,EAAA,QAAM;MAAA2B,OACJ;MAAqEC,KACrE;IAAqD;IAEzD;MAGA,MAAA4C,MAAA,CAAAR,MAAA,CAAAvC,QAAA,CAAAP,MAAA,CAAAyD,GAAA,EAAAF,IAAA;MAAA,MACED,MACG,CAAAR,MAAQ,CAAAvC,QAAA,CAAAP,MAAA,CAAA0D,OAAA;QAEXF,QAAQ,EAAE;UACd1E,EAAA,EAAE;QACA;MACF;MACD,MAAAhB,MAAA,CAAAwF,MAAA,CAAAR,MAAA,CAAAvC,QAAA,CAAAP,MAAA;QACF,GAAA0D,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AsyncLocalStorage","DatabaseSync","createSchema","string","table","createSQLiteApplicationDatabase","createSyncExecutor","createQueryCompiler","executeTransactionQueryPlan","afterAll","describe","expect","test","vi","createZeroServerBindings","setupAsyncLocalStorage","getMutationsPermissions","mutations","serverWhere","previousEnvironment","hoisted","previous","process","env","VITE_ENVIRONMENT","record","columns","id","primaryKey","permission","first","Object","keys","sort","toEqual","custom","fn","closed","crud","toBe","Reflect","get","toBeUndefined","toHaveBeenCalledOnce","reopened","insert","permissions","v1","v12","v2","v22","proxy","document","workspace","ownerId","title","schema","tables","relationships","enableLegacyQueries","sqlite","exec","compile","query","query2","sql","params","arguments","length","prepare","all","map","value","tx","changes","Number","run","queryAst","ast","format","queryName","database","transaction","work","result","error","eb","auth2","cmp","bindings","models","mutate","createServerActions","executor","mutators","effects","runBackground","promise","report","server","auth","authData","own","foreign","rejects","toThrow","upsert","update","closedBindings","rename","ctx","input","can","closedExecutor","_i","_iter","action","execute","userID","close"],"sources":["mutations.test.native.js"],"sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { DatabaseSync } from \"node:sqlite\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { createSQLiteApplicationDatabase, createSyncExecutor } from \"orez-lite\";\nimport { createQueryCompiler } from \"orez-lite/cloudflare/query-compiler\";\nimport { executeTransactionQueryPlan } from \"orez-lite/cloudflare/transaction-query\";\nimport { afterAll, describe, expect, test, vi } from \"vitest\";\nimport { createZeroServerBindings, setupAsyncLocalStorage } from \"./server\";\nimport { getMutationsPermissions } from \"./modelRegistry\";\nimport { mutations } from \"./mutations\";\nimport { serverWhere } from \"./serverWhere\";\nvar previousEnvironment = vi.hoisted(function() {\n var previous = process.env.VITE_ENVIRONMENT;\n process.env.VITE_ENVIRONMENT = \"client\";\n return previous;\n});\nafterAll(function() {\n if (previousEnvironment === void 0) delete process.env.VITE_ENVIRONMENT;\n else process.env.VITE_ENVIRONMENT = previousEnvironment;\n});\ndescribe(\"mutations registry\", function() {\n test(\"explicit opt-out removes generated CRUD from existing proxies and retains permissions\", async function() {\n var record = table(\"closedRecord\").columns({\n id: string()\n }).primaryKey(\"id\");\n var permission = serverWhere(\"closedRecord\", function() {\n return true;\n });\n var first = mutations(record, permission);\n expect(Object.keys(first).sort()).toEqual([\n \"delete\",\n \"insert\",\n \"update\",\n \"upsert\"\n ]);\n var custom = vi.fn(async function() {\n });\n var closed = mutations(record, permission, {\n custom\n }, {\n crud: false\n });\n expect(closed).toBe(first);\n expect(Object.keys(closed)).toEqual([\n \"custom\"\n ]);\n expect(\"insert\" in closed).toBe(false);\n expect(Reflect.get(closed, \"upsert\")).toBeUndefined();\n expect(getMutationsPermissions(\"closedRecord\")).toBe(permission);\n await closed.custom();\n expect(custom).toHaveBeenCalledOnce();\n var reopened = mutations(record, permission, {}, {\n crud: true\n });\n expect(Object.keys(reopened).sort()).toEqual([\n \"custom\",\n \"delete\",\n \"insert\",\n \"update\",\n \"upsert\"\n ]);\n });\n test(\"opt-out preserves explicitly declared CRUD handlers\", async function() {\n var record = table(\"customRecord\").columns({\n id: string()\n }).primaryKey(\"id\");\n var permission = serverWhere(\"customRecord\", function() {\n return true;\n });\n var insert = vi.fn(async function() {\n });\n var custom = mutations(record, permission, {\n insert\n }, {\n crud: false\n });\n expect(Object.keys(custom)).toEqual([\n \"insert\"\n ]);\n await custom.insert();\n expect(insert).toHaveBeenCalledOnce();\n });\n test(\"re-registering a handler replaces it per key (HMR)\", function() {\n var permissions = serverWhere(\"post\", function() {\n return true;\n });\n var v1 = async function v12() {\n };\n var v2 = async function v22() {\n };\n mutations(\"post\", permissions, {\n custom: v1\n });\n var proxy = mutations(\"post\", permissions, {\n custom: v2\n });\n expect(proxy.custom).toBe(v2);\n });\n});\ndescribe(\"generated CRUD authorization\", function() {\n test(\"authorizes both sides of composite-key writes through the server executor\", async function() {\n setupAsyncLocalStorage(AsyncLocalStorage);\n var document = table(\"document\").columns({\n workspace: string(),\n id: string(),\n ownerId: string(),\n title: string()\n }).primaryKey(\"workspace\", \"id\");\n var schema = createSchema({\n tables: [\n document\n ],\n relationships: [],\n enableLegacyQueries: true\n });\n var sqlite = new DatabaseSync(\":memory:\");\n sqlite.exec(\"CREATE TABLE document (workspace TEXT, id TEXT, ownerId TEXT, title TEXT, PRIMARY KEY (workspace, id))\");\n var compile = createQueryCompiler(schema);\n var query = async function query2(sql) {\n var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n return sqlite.prepare(sql).all(...params.map(function(value) {\n return value;\n }));\n };\n var tx = {\n query,\n exec: async function exec(sql) {\n var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];\n return {\n changes: Number(sqlite.prepare(sql).run(...params.map(function(value) {\n return value;\n })).changes)\n };\n },\n queryAst: async function queryAst(ast, format, queryName) {\n return executeTransactionQueryPlan(compile(ast, format), function(sql, params) {\n return sqlite.prepare(sql).all(...params.map(function(value) {\n return value;\n }));\n }, {\n queryName\n });\n }\n };\n var database = createSQLiteApplicationDatabase({\n query,\n transaction: async function transaction(work) {\n sqlite.exec(\"BEGIN\");\n try {\n var result = await work(tx);\n sqlite.exec(\"COMMIT\");\n return result;\n } catch (error) {\n sqlite.exec(\"ROLLBACK\");\n throw error;\n }\n }\n });\n var permission = serverWhere(\"document\", function(eb, auth2) {\n return eb.cmp(\"ownerId\", auth2 && \"id\" in auth2 && typeof auth2.id === \"string\" ? auth2.id : \"\");\n });\n var bindings = createZeroServerBindings({\n schema,\n models: {\n document: {\n mutate: mutations(document, permission)\n }\n },\n createServerActions: function createServerActions() {\n return {};\n }\n });\n var executor = createSyncExecutor({\n database,\n schema,\n mutators: bindings.mutators,\n effects: {\n runBackground: function runBackground(promise) {\n return promise;\n },\n report: function report(error) {\n throw error;\n }\n }\n });\n var server = bindings.server(executor);\n var auth = {\n authData: {\n id: \"alice\"\n }\n };\n var own = {\n workspace: \"a\",\n id: \"same\",\n ownerId: \"alice\",\n title: \"own\"\n };\n var foreign = {\n workspace: \"b\",\n id: \"same\",\n ownerId: \"bob\",\n title: \"foreign\"\n };\n try {\n await server.mutate.document.insert(own, auth);\n await server.mutate.document.insert(foreign, {\n authData: {\n id: \"bob\"\n }\n });\n await expect(server.mutate.document.insert({\n ...foreign,\n id: \"forbidden\"\n }, auth)).rejects.toThrow();\n await expect(server.mutate.document.upsert({\n ...foreign,\n ownerId: \"alice\"\n }, auth)).rejects.toThrow();\n await expect(server.mutate.document.update({\n ...own,\n ownerId: \"bob\"\n }, auth)).rejects.toThrow();\n await expect(server.mutate.document.upsert({\n ...own,\n ownerId: \"bob\"\n }, auth)).rejects.toThrow();\n await expect(server.mutate.document.upsert({\n ...foreign,\n id: \"missing\"\n }, auth)).rejects.toThrow();\n await server.mutate.document.upsert({\n ...own,\n title: \"updated\"\n }, auth);\n await server.mutate.document.upsert({\n ...own,\n title: \"updated\"\n }, auth);\n await server.mutate.document.upsert({\n ...own,\n id: \"new\"\n }, auth);\n expect(sqlite.prepare(\"SELECT * FROM document ORDER BY workspace, id\").all()).toEqual([\n {\n ...own,\n id: \"new\"\n },\n {\n ...own,\n title: \"updated\"\n },\n foreign\n ]);\n var closedBindings = createZeroServerBindings({\n schema,\n models: {\n document: {\n mutate: mutations(document, permission, {\n rename: async function rename(ctx, input) {\n await ctx.can(permission, input);\n await ctx.tx.mutate.document.update(input);\n }\n }, {\n crud: false\n })\n }\n },\n createServerActions: function createServerActions() {\n return {};\n }\n });\n expect(Object.keys(closedBindings.mutators)).toEqual([\n \"document|rename\"\n ]);\n var closedExecutor = createSyncExecutor({\n database,\n schema,\n mutators: closedBindings.mutators,\n effects: {\n runBackground: function runBackground(promise) {\n return promise;\n },\n report: function report(error) {\n throw error;\n }\n }\n });\n for (var _i = 0, _iter = [\n \"insert\",\n \"update\",\n \"delete\",\n \"upsert\"\n ]; _i < _iter.length; _i++) {\n var action = _iter[_i];\n await expect(closedExecutor.execute(`document|${action}`, own, {\n userID: \"alice\"\n })).rejects.toThrow(`unknown mutator: document|${action}`);\n }\n await closedBindings.server(closedExecutor).mutate.document.rename({\n workspace: \"a\",\n id: \"same\",\n title: \"renamed\"\n }, auth);\n expect(sqlite.prepare(\"SELECT title FROM document WHERE workspace = ? AND id = ?\").get(\"a\", \"same\")).toEqual({\n title: \"renamed\"\n });\n } finally {\n sqlite.close();\n }\n });\n});\n//# sourceMappingURL=mutations.test.js.map\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,YAAY,EAAEC,MAAM,EAAEC,KAAK,QAAQ,gBAAgB;AAC5D,SAASC,+BAA+B,EAAEC,kBAAkB,QAAQ,WAAW;AAC/E,SAASC,mBAAmB,QAAQ,qCAAqC;AACzE,SAASC,2BAA2B,QAAQ,wCAAwC;AACpF,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,EAAE,QAAQ,QAAQ;AAC7D,SAASC,wBAAwB,EAAEC,sBAAsB,QAAQ,UAAU;AAC3E,SAASC,uBAAuB,QAAQ,iBAAiB;AACzD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,WAAW,QAAQ,eAAe;AAC3C,IAAIC,mBAAmB,GAAGN,EAAE,CAACO,OAAO,CAAC,YAAW;EAC9C,IAAIC,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAACC,gBAAgB;EAC3CF,OAAO,CAACC,GAAG,CAACC,gBAAgB,GAAG,QAAQ;EACvC,OAAOH,QAAQ;AACjB,CAAC,CAAC;AACFZ,QAAQ,CAAC,YAAW;EAClB,IAAIU,mBAAmB,KAAK,KAAK,CAAC,EAAE,OAAOG,OAAO,CAACC,GAAG,CAACC,gBAAgB,CAAC,KACnEF,OAAO,CAACC,GAAG,CAACC,gBAAgB,GAAGL,mBAAmB;AACzD,CAAC,CAAC;AACFT,QAAQ,CAAC,oBAAoB,EAAE,YAAW;EACxCE,IAAI,CAAC,uFAAuF,EAAE,kBAAiB;IAC7G,IAAIa,MAAM,GAAGrB,KAAK,CAAC,cAAc,CAAC,CAACsB,OAAO,CAAC;MACzCC,EAAE,EAAExB,MAAM,CAAC;IACb,CAAC,CAAC,CAACyB,UAAU,CAAC,IAAI,CAAC;IACnB,IAAIC,UAAU,GAAGX,WAAW,CAAC,cAAc,EAAE,YAAW;MACtD,OAAO,IAAI;IACb,CAAC,CAAC;IACF,IAAIY,KAAK,GAAGb,SAAS,CAACQ,MAAM,EAAEI,UAAU,CAAC;IACzClB,MAAM,CAACoB,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CACxC,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,CACT,CAAC;IACF,IAAIC,MAAM,GAAGtB,EAAE,CAACuB,EAAE,CAAC,kBAAiB,CACpC,CAAC,CAAC;IACF,IAAIC,MAAM,GAAGpB,SAAS,CAACQ,MAAM,EAAEI,UAAU,EAAE;MACzCM;IACF,CAAC,EAAE;MACDG,IAAI,EAAE;IACR,CAAC,CAAC;IACF3B,MAAM,CAAC0B,MAAM,CAAC,CAACE,IAAI,CAACT,KAAK,CAAC;IAC1BnB,MAAM,CAACoB,MAAM,CAACC,IAAI,CAACK,MAAM,CAAC,CAAC,CAACH,OAAO,CAAC,CAClC,QAAQ,CACT,CAAC;IACFvB,MAAM,CAAC,QAAQ,IAAI0B,MAAM,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;IACtC5B,MAAM,CAAC6B,OAAO,CAACC,GAAG,CAACJ,MAAM,EAAE,QAAQ,CAAC,CAAC,CAACK,aAAa,CAAC,CAAC;IACrD/B,MAAM,CAACK,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAACuB,IAAI,CAACV,UAAU,CAAC;IAChE,MAAMQ,MAAM,CAACF,MAAM,CAAC,CAAC;IACrBxB,MAAM,CAACwB,MAAM,CAAC,CAACQ,oBAAoB,CAAC,CAAC;IACrC,IAAIC,QAAQ,GAAG3B,SAAS,CAACQ,MAAM,EAAEI,UAAU,EAAE,CAAC,CAAC,EAAE;MAC/CS,IAAI,EAAE;IACR,CAAC,CAAC;IACF3B,MAAM,CAACoB,MAAM,CAACC,IAAI,CAACY,QAAQ,CAAC,CAACX,IAAI,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAC3C,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,CACT,CAAC;EACJ,CAAC,CAAC;EACFtB,IAAI,CAAC,qDAAqD,EAAE,kBAAiB;IAC3E,IAAIa,MAAM,GAAGrB,KAAK,CAAC,cAAc,CAAC,CAACsB,OAAO,CAAC;MACzCC,EAAE,EAAExB,MAAM,CAAC;IACb,CAAC,CAAC,CAACyB,UAAU,CAAC,IAAI,CAAC;IACnB,IAAIC,UAAU,GAAGX,WAAW,CAAC,cAAc,EAAE,YAAW;MACtD,OAAO,IAAI;IACb,CAAC,CAAC;IACF,IAAI2B,MAAM,GAAGhC,EAAE,CAACuB,EAAE,CAAC,kBAAiB,CACpC,CAAC,CAAC;IACF,IAAID,MAAM,GAAGlB,SAAS,CAACQ,MAAM,EAAEI,UAAU,EAAE;MACzCgB;IACF,CAAC,EAAE;MACDP,IAAI,EAAE;IACR,CAAC,CAAC;IACF3B,MAAM,CAACoB,MAAM,CAACC,IAAI,CAACG,MAAM,CAAC,CAAC,CAACD,OAAO,CAAC,CAClC,QAAQ,CACT,CAAC;IACF,MAAMC,MAAM,CAACU,MAAM,CAAC,CAAC;IACrBlC,MAAM,CAACkC,MAAM,CAAC,CAACF,oBAAoB,CAAC,CAAC;EACvC,CAAC,CAAC;EACF/B,IAAI,CAAC,oDAAoD,EAAE,YAAW;IACpE,IAAIkC,WAAW,GAAG5B,WAAW,CAAC,MAAM,EAAE,YAAW;MAC/C,OAAO,IAAI;IACb,CAAC,CAAC;IACF,IAAI6B,EAAE,GAAG,eAAeC,GAAGA,CAAA,EAAG,CAC9B,CAAC;IACD,IAAIC,EAAE,GAAG,eAAeC,GAAGA,CAAA,EAAG,CAC9B,CAAC;IACDjC,SAAS,CAAC,MAAM,EAAE6B,WAAW,EAAE;MAC7BX,MAAM,EAAEY;IACV,CAAC,CAAC;IACF,IAAII,KAAK,GAAGlC,SAAS,CAAC,MAAM,EAAE6B,WAAW,EAAE;MACzCX,MAAM,EAAEc;IACV,CAAC,CAAC;IACFtC,MAAM,CAACwC,KAAK,CAAChB,MAAM,CAAC,CAACI,IAAI,CAACU,EAAE,CAAC;EAC/B,CAAC,CAAC;AACJ,CAAC,CAAC;AACFvC,QAAQ,CAAC,8BAA8B,EAAE,YAAW;EAClDE,IAAI,CAAC,2EAA2E,EAAE,kBAAiB;IACjGG,sBAAsB,CAACf,iBAAiB,CAAC;IACzC,IAAIoD,QAAQ,GAAGhD,KAAK,CAAC,UAAU,CAAC,CAACsB,OAAO,CAAC;MACvC2B,SAAS,EAAElD,MAAM,CAAC,CAAC;MACnBwB,EAAE,EAAExB,MAAM,CAAC,CAAC;MACZmD,OAAO,EAAEnD,MAAM,CAAC,CAAC;MACjBoD,KAAK,EAAEpD,MAAM,CAAC;IAChB,CAAC,CAAC,CAACyB,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;IAChC,IAAI4B,MAAM,GAAGtD,YAAY,CAAC;MACxBuD,MAAM,EAAE,CACNL,QAAQ,CACT;MACDM,aAAa,EAAE,EAAE;MACjBC,mBAAmB,EAAE;IACvB,CAAC,CAAC;IACF,IAAIC,MAAM,GAAG,IAAI3D,YAAY,CAAC,UAAU,CAAC;IACzC2D,MAAM,CAACC,IAAI,CAAC,wGAAwG,CAAC;IACrH,IAAIC,OAAO,GAAGvD,mBAAmB,CAACiD,MAAM,CAAC;IACzC,IAAIO,KAAK,GAAG,eAAeC,MAAMA,CAACC,GAAG,EAAE;MACrC,IAAIC,MAAM,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;MAChF,OAAOP,MAAM,CAACS,OAAO,CAACJ,GAAG,CAAC,CAACK,GAAG,CAAC,GAAGJ,MAAM,CAACK,GAAG,CAAC,UAASC,KAAK,EAAE;QAC3D,OAAOA,KAAK;MACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAIC,EAAE,GAAG;MACPV,KAAK;MACLF,IAAI,EAAE,eAAeA,IAAIA,CAACI,GAAG,EAAE;QAC7B,IAAIC,MAAM,GAAGC,SAAS,CAACC,MAAM,GAAG,CAAC,IAAID,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;QAChF,OAAO;UACLO,OAAO,EAAEC,MAAM,CAACf,MAAM,CAACS,OAAO,CAACJ,GAAG,CAAC,CAACW,GAAG,CAAC,GAAGV,MAAM,CAACK,GAAG,CAAC,UAASC,KAAK,EAAE;YACpE,OAAOA,KAAK;UACd,CAAC,CAAC,CAAC,CAACE,OAAO;QACb,CAAC;MACH,CAAC;MACDG,QAAQ,EAAE,eAAeA,QAAQA,CAACC,GAAG,EAAEC,MAAM,EAAEC,SAAS,EAAE;QACxD,OAAOxE,2BAA2B,CAACsD,OAAO,CAACgB,GAAG,EAAEC,MAAM,CAAC,EAAE,UAASd,GAAG,EAAEC,MAAM,EAAE;UAC7E,OAAON,MAAM,CAACS,OAAO,CAACJ,GAAG,CAAC,CAACK,GAAG,CAAC,GAAGJ,MAAM,CAACK,GAAG,CAAC,UAASC,KAAK,EAAE;YAC3D,OAAOA,KAAK;UACd,CAAC,CAAC,CAAC;QACL,CAAC,EAAE;UACDQ;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IACD,IAAIC,QAAQ,GAAG5E,+BAA+B,CAAC;MAC7C0D,KAAK;MACLmB,WAAW,EAAE,eAAeA,WAAWA,CAACC,IAAI,EAAE;QAC5CvB,MAAM,CAACC,IAAI,CAAC,OAAO,CAAC;QACpB,IAAI;UACF,IAAIuB,MAAM,GAAG,MAAMD,IAAI,CAACV,EAAE,CAAC;UAC3Bb,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC;UACrB,OAAOuB,MAAM;QACf,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdzB,MAAM,CAACC,IAAI,CAAC,UAAU,CAAC;UACvB,MAAMwB,KAAK;QACb;MACF;IACF,CAAC,CAAC;IACF,IAAIxD,UAAU,GAAGX,WAAW,CAAC,UAAU,EAAE,UAASoE,EAAE,EAAEC,KAAK,EAAE;MAC3D,OAAOD,EAAE,CAACE,GAAG,CAAC,SAAS,EAAED,KAAK,IAAI,IAAI,IAAIA,KAAK,IAAI,OAAOA,KAAK,CAAC5D,EAAE,KAAK,QAAQ,GAAG4D,KAAK,CAAC5D,EAAE,GAAG,EAAE,CAAC;IAClG,CAAC,CAAC;IACF,IAAI8D,QAAQ,GAAG3E,wBAAwB,CAAC;MACtC0C,MAAM;MACNkC,MAAM,EAAE;QACNtC,QAAQ,EAAE;UACRuC,MAAM,EAAE1E,SAAS,CAACmC,QAAQ,EAAEvB,UAAU;QACxC;MACF,CAAC;MACD+D,mBAAmB,EAAE,SAASA,mBAAmBA,CAAA,EAAG;QAClD,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC;IACF,IAAIC,QAAQ,GAAGvF,kBAAkB,CAAC;MAChC2E,QAAQ;MACRzB,MAAM;MACNsC,QAAQ,EAAEL,QAAQ,CAACK,QAAQ;MAC3BC,OAAO,EAAE;QACPC,aAAa,EAAE,SAASA,aAAaA,CAACC,OAAO,EAAE;UAC7C,OAAOA,OAAO;QAChB,CAAC;QACDC,MAAM,EAAE,SAASA,MAAMA,CAACb,KAAK,EAAE;UAC7B,MAAMA,KAAK;QACb;MACF;IACF,CAAC,CAAC;IACF,IAAIc,MAAM,GAAGV,QAAQ,CAACU,MAAM,CAACN,QAAQ,CAAC;IACtC,IAAIO,IAAI,GAAG;MACTC,QAAQ,EAAE;QACR1E,EAAE,EAAE;MACN;IACF,CAAC;IACD,IAAI2E,GAAG,GAAG;MACRjD,SAAS,EAAE,GAAG;MACd1B,EAAE,EAAE,MAAM;MACV2B,OAAO,EAAE,OAAO;MAChBC,KAAK,EAAE;IACT,CAAC;IACD,IAAIgD,OAAO,GAAG;MACZlD,SAAS,EAAE,GAAG;MACd1B,EAAE,EAAE,MAAM;MACV2B,OAAO,EAAE,KAAK;MACdC,KAAK,EAAE;IACT,CAAC;IACD,IAAI;MACF,MAAM4C,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACP,MAAM,CAACyD,GAAG,EAAEF,IAAI,CAAC;MAC9C,MAAMD,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACP,MAAM,CAAC0D,OAAO,EAAE;QAC3CF,QAAQ,EAAE;UACR1E,EAAE,EAAE;QACN;MACF,CAAC,CAAC;MACF,MAAMhB,MAAM,CAACwF,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACP,MAAM,CAAC;QACzC,GAAG0D,OAAO;QACV5E,EAAE,EAAE;MACN,CAAC,EAAEyE,IAAI,CAAC,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAM9F,MAAM,CAACwF,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QACzC,GAAGH,OAAO;QACVjD,OAAO,EAAE;MACX,CAAC,EAAE8C,IAAI,CAAC,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAM9F,MAAM,CAACwF,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACuD,MAAM,CAAC;QACzC,GAAGL,GAAG;QACNhD,OAAO,EAAE;MACX,CAAC,EAAE8C,IAAI,CAAC,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAM9F,MAAM,CAACwF,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QACzC,GAAGJ,GAAG;QACNhD,OAAO,EAAE;MACX,CAAC,EAAE8C,IAAI,CAAC,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAM9F,MAAM,CAACwF,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QACzC,GAAGH,OAAO;QACV5E,EAAE,EAAE;MACN,CAAC,EAAEyE,IAAI,CAAC,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAMN,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QAClC,GAAGJ,GAAG;QACN/C,KAAK,EAAE;MACT,CAAC,EAAE6C,IAAI,CAAC;MACR,MAAMD,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QAClC,GAAGJ,GAAG;QACN/C,KAAK,EAAE;MACT,CAAC,EAAE6C,IAAI,CAAC;MACR,MAAMD,MAAM,CAACR,MAAM,CAACvC,QAAQ,CAACsD,MAAM,CAAC;QAClC,GAAGJ,GAAG;QACN3E,EAAE,EAAE;MACN,CAAC,EAAEyE,IAAI,CAAC;MACRzF,MAAM,CAACiD,MAAM,CAACS,OAAO,CAAC,+CAA+C,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC,CAACpC,OAAO,CAAC,CACpF;QACE,GAAGoE,GAAG;QACN3E,EAAE,EAAE;MACN,CAAC,EACD;QACE,GAAG2E,GAAG;QACN/C,KAAK,EAAE;MACT,CAAC,EACDgD,OAAO,CACR,CAAC;MACF,IAAIK,cAAc,GAAG9F,wBAAwB,CAAC;QAC5C0C,MAAM;QACNkC,MAAM,EAAE;UACNtC,QAAQ,EAAE;YACRuC,MAAM,EAAE1E,SAAS,CAACmC,QAAQ,EAAEvB,UAAU,EAAE;cACtCgF,MAAM,EAAE,eAAeA,MAAMA,CAACC,GAAG,EAAEC,KAAK,EAAE;gBACxC,MAAMD,GAAG,CAACE,GAAG,CAACnF,UAAU,EAAEkF,KAAK,CAAC;gBAChC,MAAMD,GAAG,CAACrC,EAAE,CAACkB,MAAM,CAACvC,QAAQ,CAACuD,MAAM,CAACI,KAAK,CAAC;cAC5C;YACF,CAAC,EAAE;cACDzE,IAAI,EAAE;YACR,CAAC;UACH;QACF,CAAC;QACDsD,mBAAmB,EAAE,SAASA,mBAAmBA,CAAA,EAAG;UAClD,OAAO,CAAC,CAAC;QACX;MACF,CAAC,CAAC;MACFjF,MAAM,CAACoB,MAAM,CAACC,IAAI,CAAC4E,cAAc,CAACd,QAAQ,CAAC,CAAC,CAAC5D,OAAO,CAAC,CACnD,iBAAiB,CAClB,CAAC;MACF,IAAI+E,cAAc,GAAG3G,kBAAkB,CAAC;QACtC2E,QAAQ;QACRzB,MAAM;QACNsC,QAAQ,EAAEc,cAAc,CAACd,QAAQ;QACjCC,OAAO,EAAE;UACPC,aAAa,EAAE,SAASA,aAAaA,CAACC,OAAO,EAAE;YAC7C,OAAOA,OAAO;UAChB,CAAC;UACDC,MAAM,EAAE,SAASA,MAAMA,CAACb,KAAK,EAAE;YAC7B,MAAMA,KAAK;UACb;QACF;MACF,CAAC,CAAC;MACF,KAAK,IAAI6B,EAAE,GAAG,CAAC,EAAEC,KAAK,GAAG,CACvB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,CACT,EAAED,EAAE,GAAGC,KAAK,CAAC/C,MAAM,EAAE8C,EAAE,EAAE,EAAE;QAC1B,IAAIE,MAAM,GAAGD,KAAK,CAACD,EAAE,CAAC;QACtB,MAAMvG,MAAM,CAACsG,cAAc,CAACI,OAAO,CAAC,YAAYD,MAAM,EAAE,EAAEd,GAAG,EAAE;UAC7DgB,MAAM,EAAE;QACV,CAAC,CAAC,CAAC,CAACd,OAAO,CAACC,OAAO,CAAC,6BAA6BW,MAAM,EAAE,CAAC;MAC5D;MACA,MAAMR,cAAc,CAACT,MAAM,CAACc,cAAc,CAAC,CAACtB,MAAM,CAACvC,QAAQ,CAACyD,MAAM,CAAC;QACjExD,SAAS,EAAE,GAAG;QACd1B,EAAE,EAAE,MAAM;QACV4B,KAAK,EAAE;MACT,CAAC,EAAE6C,IAAI,CAAC;MACRzF,MAAM,CAACiD,MAAM,CAACS,OAAO,CAAC,2DAA2D,CAAC,CAAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAACP,OAAO,CAAC;QAC3GqB,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,SAAS;MACRK,MAAM,CAAC2D,KAAK,CAAC,CAAC;IAChB;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -11,7 +11,11 @@ async function closeCompiler(session) {
|
|
|
11
11
|
try {
|
|
12
12
|
if (session.paths.size > 0) {
|
|
13
13
|
const snapshot = await session.api.updateSnapshot({
|
|
14
|
-
|
|
14
|
+
...(session.tsconfig ? {
|
|
15
|
+
closeProjects: [session.tsconfig]
|
|
16
|
+
} : {
|
|
17
|
+
closeFiles: [...session.paths]
|
|
18
|
+
})
|
|
15
19
|
});
|
|
16
20
|
await snapshot.dispose();
|
|
17
21
|
}
|
|
@@ -19,7 +23,7 @@ async function closeCompiler(session) {
|
|
|
19
23
|
await session.api.close();
|
|
20
24
|
}
|
|
21
25
|
}
|
|
22
|
-
async function acquireCompiler(root, sourcePaths) {
|
|
26
|
+
async function acquireCompiler(root, sourcePaths, tsconfig) {
|
|
23
27
|
const previousTurn = compilerTurn;
|
|
24
28
|
let releaseTurn = () => {};
|
|
25
29
|
compilerTurn = new Promise(resolveTurn => {
|
|
@@ -31,7 +35,7 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
31
35
|
compilerCloseTimer = null;
|
|
32
36
|
}
|
|
33
37
|
if (compilerClose) await compilerClose;
|
|
34
|
-
if (compiler && compiler.root !== root) {
|
|
38
|
+
if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {
|
|
35
39
|
const previous = compiler;
|
|
36
40
|
compiler = null;
|
|
37
41
|
await closeCompiler(previous);
|
|
@@ -41,7 +45,8 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
41
45
|
cwd: root
|
|
42
46
|
}),
|
|
43
47
|
paths: /* @__PURE__ */new Set(),
|
|
44
|
-
root
|
|
48
|
+
root,
|
|
49
|
+
tsconfig
|
|
45
50
|
};
|
|
46
51
|
compiler.api.clearSourceFileCache();
|
|
47
52
|
const previousPaths = compiler.paths;
|
|
@@ -49,7 +54,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
49
54
|
compiler.paths = nextPaths;
|
|
50
55
|
if (previousPaths.size > 0) {
|
|
51
56
|
const closedSnapshot = await compiler.api.updateSnapshot({
|
|
52
|
-
|
|
57
|
+
...(tsconfig ? {
|
|
58
|
+
closeProjects: [tsconfig]
|
|
59
|
+
} : {
|
|
60
|
+
closeFiles: [...previousPaths]
|
|
61
|
+
}),
|
|
53
62
|
fileChanges: {
|
|
54
63
|
invalidateAll: true
|
|
55
64
|
}
|
|
@@ -58,7 +67,11 @@ async function acquireCompiler(root, sourcePaths) {
|
|
|
58
67
|
compiler.api.clearSourceFileCache();
|
|
59
68
|
}
|
|
60
69
|
const snapshot = await compiler.api.updateSnapshot({
|
|
61
|
-
|
|
70
|
+
...(tsconfig ? {
|
|
71
|
+
openProjects: [tsconfig]
|
|
72
|
+
} : {
|
|
73
|
+
openFiles: sourcePaths
|
|
74
|
+
}),
|
|
62
75
|
fileChanges: {
|
|
63
76
|
invalidateAll: true
|
|
64
77
|
}
|
|
@@ -103,7 +116,7 @@ function collectTypeScriptSourcePaths(roots) {
|
|
|
103
116
|
for (const root of roots) walk(resolve(root));
|
|
104
117
|
return [...paths].sort();
|
|
105
118
|
}
|
|
106
|
-
async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
119
|
+
async function createNativeTypeScriptProject(root, sourcePaths, options = {}) {
|
|
107
120
|
if (sourcePaths.length === 0) {
|
|
108
121
|
throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
|
|
109
122
|
}
|
|
@@ -111,18 +124,18 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
111
124
|
session,
|
|
112
125
|
snapshot,
|
|
113
126
|
releaseTurn
|
|
114
|
-
} = await acquireCompiler(root, sourcePaths);
|
|
127
|
+
} = await acquireCompiler(root, sourcePaths, options.tsconfig);
|
|
115
128
|
const sources = /* @__PURE__ */new Map();
|
|
116
129
|
const projectsByFile = /* @__PURE__ */new Map();
|
|
117
130
|
const parseErrors = /* @__PURE__ */new Set();
|
|
118
|
-
|
|
131
|
+
const loadSources = async () => {
|
|
119
132
|
for (const path of sourcePaths) {
|
|
120
|
-
|
|
133
|
+
if (sources.has(path)) continue;
|
|
134
|
+
const project = projectsByFile.get(path);
|
|
121
135
|
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
|
|
122
136
|
const source = await project.program.getSourceFile(path);
|
|
123
137
|
if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
|
|
124
138
|
sources.set(path, source);
|
|
125
|
-
projectsByFile.set(path, project);
|
|
126
139
|
try {
|
|
127
140
|
parse(readFileSync(path, "utf8"), {
|
|
128
141
|
plugins: ["jsx", "typescript"],
|
|
@@ -132,6 +145,22 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
132
145
|
parseErrors.add(path);
|
|
133
146
|
}
|
|
134
147
|
}
|
|
148
|
+
};
|
|
149
|
+
try {
|
|
150
|
+
const scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;
|
|
151
|
+
if (options.tsconfig) {
|
|
152
|
+
if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);
|
|
153
|
+
const included = new Set(await scopedProject.program.getSourceFileNames());
|
|
154
|
+
for (const path of sourcePaths) {
|
|
155
|
+
if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
for (const path of sourcePaths) {
|
|
159
|
+
const project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path);
|
|
160
|
+
if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
|
|
161
|
+
projectsByFile.set(path, project);
|
|
162
|
+
}
|
|
163
|
+
if (!options.deferSources) await loadSources();
|
|
135
164
|
} catch (error) {
|
|
136
165
|
await snapshot.dispose();
|
|
137
166
|
releaseCompiler(session, releaseTurn);
|
|
@@ -139,6 +168,16 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
|
|
|
139
168
|
}
|
|
140
169
|
let closed = false;
|
|
141
170
|
return {
|
|
171
|
+
configurationKey: JSON.stringify([...new Map([...projectsByFile.values()].map(p => [p.id, p])).values()].map(project => [project.configFileName, project.compilerOptions]).sort(([left], [right]) => String(left).localeCompare(String(right)))),
|
|
172
|
+
loadSources,
|
|
173
|
+
async sourceFilePaths() {
|
|
174
|
+
const paths = /* @__PURE__ */new Set();
|
|
175
|
+
const projects = new Map([...projectsByFile.values()].map(p => [p.id, p]));
|
|
176
|
+
for (const project of projects.values()) {
|
|
177
|
+
for (const path of await project.program.getSourceFileNames()) paths.add(path);
|
|
178
|
+
}
|
|
179
|
+
return [...paths].sort();
|
|
180
|
+
},
|
|
142
181
|
projectForFile(path) {
|
|
143
182
|
const project = projectsByFile.get(resolve(path));
|
|
144
183
|
if (!project) throw new Error(`[on-zero] TypeScript project does not contain ${path}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openFiles","releaseCompiler","setTimeout","finally","unref","collectTypeScriptSourcePaths","roots","visited","walk","dir","has","add","entry","withFileTypes","name","path","isDirectory","isFile","endsWith","sort","createNativeTypeScriptProject","length","Error","sources","Map","projectsByFile","parseErrors","project","
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","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","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openProjects","openFiles","releaseCompiler","setTimeout","finally","unref","collectTypeScriptSourcePaths","roots","visited","walk","dir","has","add","entry","withFileTypes","name","path","isDirectory","isFile","endsWith","sort","createNativeTypeScriptProject","options","length","Error","sources","Map","projectsByFile","parseErrors","loadSources","project","get","source","program","getSourceFile","set","plugins","sourceType","scopedProject","getProject","included","getSourceFileNames","getDefaultProjectForFile","deferSources","error","closed","configurationKey","JSON","stringify","values","map","p","id","configFileName","compilerOptions","left","right","String","localeCompare","sourceFilePaths","projects","projectForFile","sourceFile","hasParseErrors"],"sources":["../../src/native-typescript.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|