@zenstackhq/testtools 1.0.0-beta.2 → 1.0.0-beta.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenstackhq/testtools",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "ZenStack Test Tools",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -12,13 +12,14 @@
12
12
  "license": "MIT",
13
13
  "dependencies": {
14
14
  "@prisma/client": "^4.7.0",
15
- "@prisma/generator-helper": "^4.7.1",
16
- "@prisma/internals": "^4.7.1",
15
+ "@prisma/generator-helper": "4.10.0",
16
+ "@prisma/internals": "4.10.0",
17
+ "json5": "^2.2.3",
17
18
  "prisma": "~4.7.0",
18
19
  "tmp": "^0.2.1",
19
- "@zenstackhq/language": "1.0.0-beta.2",
20
- "@zenstackhq/runtime": "1.0.0-beta.2",
21
- "zenstack": "1.0.0-beta.2"
20
+ "@zenstackhq/runtime": "1.0.0-beta.3",
21
+ "@zenstackhq/language": "1.0.0-beta.3",
22
+ "zenstack": "1.0.0-beta.3"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@types/node": "^18.14.2",
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "@prisma/client": "^4.0.0",
11
11
  "@zenstackhq/runtime": "file:<root>/packages/runtime/dist",
12
- "@zenstackhq/react": "file:<root>/packages/plugins/react/dist",
12
+ "@zenstackhq/swr": "file:<root>/packages/plugins/swr/dist",
13
13
  "@zenstackhq/trpc": "file:<root>/packages/plugins/trpc/dist",
14
14
  "@zenstackhq/openapi": "file:<root>/packages/plugins/openapi/dist",
15
15
  "prisma": "^4.0.0",
package/schema.js CHANGED
@@ -44,6 +44,7 @@ const path = __importStar(require("path"));
44
44
  const tmp_1 = __importDefault(require("tmp"));
45
45
  const cli_util_1 = require("zenstack/cli/cli-util");
46
46
  const prisma_1 = __importDefault(require("zenstack/plugins/prisma"));
47
+ const json5_1 = __importDefault(require("json5"));
47
48
  /**
48
49
  * Use it to represent multiple files in a single string like this
49
50
  `schema.zmodel
@@ -96,19 +97,8 @@ generator js {
96
97
  previewFeatures = ['clientExtensions']
97
98
  }
98
99
 
99
- plugin meta {
100
- provider = '@core/model-meta'
101
- output = '.zenstack'
102
- }
103
-
104
- plugin policy {
105
- provider = '@core/access-policy'
106
- output = '.zenstack'
107
- }
108
-
109
100
  plugin zod {
110
101
  provider = '@core/zod'
111
- output = '.zenstack/zod'
112
102
  }
113
103
  `;
114
104
  function loadSchemaFromFile(schemaFile, addPrelude = true, pushDb = true, logPrismaQuery = false) {
@@ -186,18 +176,44 @@ function loadSchema(schema, addPrelude = true, pushDb = true, extraDependencies
186
176
  if (compile) {
187
177
  console.log('Compiling...');
188
178
  run('npx tsc --init');
179
+ // add genetated '.zenstack/zod' folder to typescript's search path,
180
+ // so that it can be resolved from symbolic-linked files
181
+ const tsconfig = json5_1.default.parse(fs.readFileSync(path.join(projectRoot, './tsconfig.json'), 'utf-8'));
182
+ tsconfig.compilerOptions.paths = {
183
+ '.zenstack/zod/input': ['./node_modules/.zenstack/zod/input/index.d.ts'],
184
+ };
185
+ fs.writeFileSync(path.join(projectRoot, './tsconfig.json'), JSON.stringify(tsconfig, null, 2));
189
186
  run('npx tsc --project tsconfig.json');
190
187
  }
191
- const policy = require(path.join(path.dirname(zmodelPath), '.zenstack/policy')).default;
192
- const modelMeta = require(path.join(path.dirname(zmodelPath), '.zenstack/model-meta')).default;
193
- const zodSchemas = require(path.join(path.dirname(zmodelPath), '.zenstack/zod'));
188
+ let policy;
189
+ let modelMeta;
190
+ let zodSchemas;
191
+ const outputPath = path.join(projectRoot, 'node_modules');
192
+ try {
193
+ policy = require(path.join(outputPath, '.zenstack/policy')).default;
194
+ }
195
+ catch (_a) {
196
+ /* noop */
197
+ }
198
+ try {
199
+ modelMeta = require(path.join(outputPath, '.zenstack/model-meta')).default;
200
+ }
201
+ catch (_b) {
202
+ /* noop */
203
+ }
204
+ try {
205
+ zodSchemas = require(path.join(outputPath, '.zenstack/zod'));
206
+ }
207
+ catch (_c) {
208
+ /* noop */
209
+ }
194
210
  return {
195
211
  projectDir: projectRoot,
196
212
  prisma,
197
- withPolicy: (user) => (0, runtime_1.withPolicy)(prisma, { user }, { policy, modelMeta, logPrismaQuery }),
213
+ withPolicy: (user) => (0, runtime_1.withPolicy)(prisma, { user }, { policy, modelMeta, zodSchemas, logPrismaQuery }),
198
214
  withOmit: () => (0, runtime_1.withOmit)(prisma, { modelMeta }),
199
215
  withPassword: () => (0, runtime_1.withPassword)(prisma, { modelMeta }),
200
- withPresets: (user) => (0, runtime_1.withPresets)(prisma, { user }, { policy, modelMeta, logPrismaQuery }),
216
+ withPresets: (user) => (0, runtime_1.withPresets)(prisma, { user }, { policy, modelMeta, zodSchemas, logPrismaQuery }),
201
217
  policy,
202
218
  modelMeta,
203
219
  zodSchemas,
package/schema.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,iDAA4C;AAE5C,iDAAwH;AACxH,iDAAyC;AACzC,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAsB;AACtB,oDAAqD;AACrD,qEAAmD;AAEnD;;;;;;;;;EASE;AACW,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAgB/C,SAAgB,GAAG,CAAC,GAAW,EAAE,GAA4B,EAAE,GAAY;IACvE,IAAA,wBAAQ,EAAC,GAAG,EAAE;QACV,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,GAAG,gDAAO,OAAO,CAAC,GAAG,KAAE,YAAY,EAAE,GAAG,KAAK,GAAG,CAAE;QAClD,GAAG;KACN,CAAC,CAAC;AACP,CAAC;AAPD,kBAOC;AAED,SAAS,aAAa,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa;IAC1C,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;QACzB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE;YACvD,OAAO,IAAI,CAAC;SACf;aAAM;YACH,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5C;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAVD,4CAUC;AAED,SAAgB,0BAA0B,CAAC,KAAa;IACpD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAC/D,CAAC;AAHD,gEAGC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBrB,CAAC;AAEF,SAAsB,kBAAkB,CAAC,UAAkB,EAAE,UAAU,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,GAAG,KAAK;;QACjH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACzF,CAAC;CAAA;AAHD,gDAGC;AAED,SAAsB,UAAU,CAC5B,MAAc,EACd,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,IAAI,EACb,oBAA8B,EAAE,EAChC,OAAO,GAAG,KAAK,EACf,oBAA6B,EAC7B,cAAc,GAAG,KAAK;;QAEtB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,aAAG,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAEhG,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAa,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,iBAAiB;YACjB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1B,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,KAAK,KAAK,CAAC,EAAE;oBACb,yCAAyC;oBACzC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,UAAU,EAAE;wBACZ,iDAAiD;wBACjD,WAAW,GAAG,GAAG,WAAW,KAAK,aAAa,EAAE,CAAC;qBACpD;iBACJ;gBAED,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACN;aAAM;YACH,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,IAAI,oBAAoB,EAAE;gBACtB,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;gBAC1D,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aACzC;iBAAM;gBACH,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;aAC9C;SACJ;QAED,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnB,IAAI,oBAAoB,EAAE;YACtB,GAAG,CAAC,kCAAkC,UAAU,wBAAwB,EAAE;gBACtE,SAAS,EAAE,gBAAgB;aAC9B,CAAC,CAAC;SACN;aAAM;YACH,GAAG,CAAC,6CAA6C,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;SACvF;QAED,IAAI,MAAM,EAAE;YACR,GAAG,CAAC,oBAAoB,CAAC,CAAC;SAC7B;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC,CAAC,YAAY,CAAC;QACjG,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEpE,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAC5C,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtB,GAAG,CAAC,iCAAiC,CAAC,CAAC;SAC1C;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/F,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QAEjF,OAAO;YACH,UAAU,EAAE,WAAW;YACvB,MAAM;YACN,UAAU,EAAE,CAAC,IAAe,EAAE,EAAE,CAC5B,IAAA,oBAAU,EAAuB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;YAC7F,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAQ,EAAuB,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;YACrE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAA,sBAAY,EAAuB,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;YAC7E,WAAW,EAAE,CAAC,IAAe,EAAE,EAAE,CAC7B,IAAA,qBAAW,EAAuB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;YAC9F,MAAM;YACN,SAAS;YACT,UAAU;SACb,CAAC;IACN,CAAC;CAAA;AA3GD,gCA2GC;AAED;;;;GAIG;AACH,SAAsB,iBAAiB,CACnC,OAAe;;QAEf,MAAM,OAAO,GAAG;;;;;CAKnB,CAAC;QAEE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;QAEtD,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAY,EAAC,SAAS,CAAC,CAAC;QAE5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,MAAM,IAAA,gBAAY,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAO,EAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtC,CAAC;CAAA;AAtBD,8CAsBC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}