From 9e8412645e06f0bf63f85c8bb61ad00384fdef99 Mon Sep 17 00:00:00 2001 From: Yiming Date: Tue, 30 May 2023 14:37:12 +0900 Subject: [PATCH] fix: disable eslint in generated hooks, refactor package inter-dependencies --- package.json | 2 +- packages/language/package.json | 2 +- packages/next/package.json | 2 +- packages/plugins/openapi/package.json | 2 +- packages/plugins/react/package.json | 2 +- packages/plugins/swr/package.json | 2 +- packages/plugins/swr/res/helper.ts | 2 ++ packages/plugins/tanstack-query/package.json | 2 +- packages/plugins/trpc/package.json | 2 +- packages/runtime/package.json | 3 +- packages/runtime/src/constants.ts | 25 +++++++++++++++ .../src/enhancements/policy/handler.ts | 2 +- .../src/enhancements/policy/policy-utils.ts | 2 +- packages/runtime/src/enhancements/utils.ts | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 3 +- packages/sdk/src/constants.ts | 32 ++++--------------- packages/server/package.json | 3 +- packages/server/src/api/utils.ts | 2 +- packages/testtools/package.json | 2 +- pnpm-lock.yaml | 9 ++---- tests/integration/test-run/package-lock.json | 4 +-- 22 files changed, 57 insertions(+), 52 deletions(-) diff --git a/package.json b/package.json index 4aa32f340..03060457c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/language/package.json b/packages/language/package.json index 4dcada344..433c222ab 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/language", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "displayName": "ZenStack modeling language compiler", "description": "ZenStack modeling language compiler", "homepage": "https://zenstack.dev", diff --git a/packages/next/package.json b/packages/next/package.json index 51411a1b6..6baa34de1 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/next", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "displayName": "ZenStack Next.js integration", "description": "ZenStack Next.js integration", "homepage": "https://zenstack.dev", diff --git a/packages/plugins/openapi/package.json b/packages/plugins/openapi/package.json index 44dbe988a..ff6043903 100644 --- a/packages/plugins/openapi/package.json +++ b/packages/plugins/openapi/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/openapi", "displayName": "ZenStack Plugin and Runtime for OpenAPI", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin and runtime supporting OpenAPI", "main": "index.js", "repository": { diff --git a/packages/plugins/react/package.json b/packages/plugins/react/package.json index 2fb78eee8..57108414d 100644 --- a/packages/plugins/react/package.json +++ b/packages/plugins/react/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/react", "displayName": "ZenStack plugin and runtime for ReactJS", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin and runtime for ReactJS", "main": "index.js", "repository": { diff --git a/packages/plugins/swr/package.json b/packages/plugins/swr/package.json index ca238ac1b..03e9c32d7 100644 --- a/packages/plugins/swr/package.json +++ b/packages/plugins/swr/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/swr", "displayName": "ZenStack plugin for generating SWR hooks", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin for generating SWR hooks", "main": "index.js", "repository": { diff --git a/packages/plugins/swr/res/helper.ts b/packages/plugins/swr/res/helper.ts index 7dae7d442..52159678e 100644 --- a/packages/plugins/swr/res/helper.ts +++ b/packages/plugins/swr/res/helper.ts @@ -1,3 +1,5 @@ +/* eslint-disable */ + import { createContext } from 'react'; import type { MutatorCallback, MutatorOptions, SWRResponse } from 'swr'; import useSWR, { useSWRConfig } from 'swr'; diff --git a/packages/plugins/tanstack-query/package.json b/packages/plugins/tanstack-query/package.json index b056f3aac..48e70a4ef 100644 --- a/packages/plugins/tanstack-query/package.json +++ b/packages/plugins/tanstack-query/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/tanstack-query", "displayName": "ZenStack plugin for generating tanstack-query hooks", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin for generating tanstack-query hooks", "main": "index.js", "repository": { diff --git a/packages/plugins/trpc/package.json b/packages/plugins/trpc/package.json index 009659067..28e1976b5 100644 --- a/packages/plugins/trpc/package.json +++ b/packages/plugins/trpc/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/trpc", "displayName": "ZenStack plugin for tRPC", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin for tRPC", "main": "index.js", "repository": { diff --git a/packages/runtime/package.json b/packages/runtime/package.json index fb56d3bd6..b8c8f60e7 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/runtime", "displayName": "ZenStack Runtime Library", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "Runtime of ZenStack for both client-side and server-side environments.", "repository": { "type": "git", @@ -22,7 +22,6 @@ "dependencies": { "@paralleldrive/cuid2": "^2.2.0", "@types/bcryptjs": "^2.4.2", - "@zenstackhq/sdk": "workspace:*", "bcryptjs": "^2.4.3", "change-case": "^4.1.2", "colors": "1.4.0", diff --git a/packages/runtime/src/constants.ts b/packages/runtime/src/constants.ts index be7c688ef..1a09ac31b 100644 --- a/packages/runtime/src/constants.ts +++ b/packages/runtime/src/constants.ts @@ -2,3 +2,28 @@ * Default length of password hash salt (used by bcryptjs to hash password) */ export const DEFAULT_PASSWORD_SALT_LENGTH = 12; + +/** + * Auxiliary database field for supporting policy check for nested writes + */ +export const TRANSACTION_FIELD_NAME = 'zenstack_transaction'; + +/** + * Auxiliary database field for building up policy check queries + */ +export const GUARD_FIELD_NAME = 'zenstack_guard'; + +/** + * All Auxiliary fields. + */ +export const AUXILIARY_FIELDS = [TRANSACTION_FIELD_NAME, GUARD_FIELD_NAME]; + +/** + * Reasons for a CRUD operation to fail. + */ +export enum CrudFailureReason { + /** + * CRUD suceeded but the result was not readable. + */ + RESULT_NOT_READABLE = 'RESULT_NOT_READABLE', +} diff --git a/packages/runtime/src/enhancements/policy/handler.ts b/packages/runtime/src/enhancements/policy/handler.ts index 69000179e..b497f53e2 100644 --- a/packages/runtime/src/enhancements/policy/handler.ts +++ b/packages/runtime/src/enhancements/policy/handler.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { CrudFailureReason } from '@zenstackhq/sdk'; +import { CrudFailureReason } from '../../constants'; import { AuthUser, DbClientContract, PolicyOperationKind } from '../../types'; import { BatchResult, PrismaProxyHandler } from '../proxy'; import { ModelMeta, PolicyDef } from '../types'; diff --git a/packages/runtime/src/enhancements/policy/policy-utils.ts b/packages/runtime/src/enhancements/policy/policy-utils.ts index 4891b238c..2392f9cce 100644 --- a/packages/runtime/src/enhancements/policy/policy-utils.ts +++ b/packages/runtime/src/enhancements/policy/policy-utils.ts @@ -1,11 +1,11 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { createId } from '@paralleldrive/cuid2'; -import { AUXILIARY_FIELDS, CrudFailureReason, GUARD_FIELD_NAME, TRANSACTION_FIELD_NAME } from '@zenstackhq/sdk'; import deepcopy from 'deepcopy'; import { lowerCaseFirst } from 'lower-case-first'; import pluralize from 'pluralize'; import { fromZodError } from 'zod-validation-error'; +import { AUXILIARY_FIELDS, CrudFailureReason, GUARD_FIELD_NAME, TRANSACTION_FIELD_NAME } from '../../constants'; import { AuthUser, DbClientContract, diff --git a/packages/runtime/src/enhancements/utils.ts b/packages/runtime/src/enhancements/utils.ts index c5b62c71c..fdf38f3ff 100644 --- a/packages/runtime/src/enhancements/utils.ts +++ b/packages/runtime/src/enhancements/utils.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -import { AUXILIARY_FIELDS } from '@zenstackhq/sdk'; import { lowerCaseFirst } from 'lower-case-first'; import path from 'path'; import * as util from 'util'; +import { AUXILIARY_FIELDS } from '../constants'; import { DbClientContract } from '../types'; import { ModelMeta } from './types'; diff --git a/packages/schema/package.json b/packages/schema/package.json index 5274629b6..43cc2e09c 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack Language Tools", "description": "A toolkit for building secure CRUD apps with Next.js + Typescript", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "author": { "name": "ZenStack Team" }, diff --git a/packages/sdk/package.json b/packages/sdk/package.json index d95a6c676..ce0c7d421 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/sdk", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack plugin development SDK", "main": "index.js", "scripts": { @@ -21,6 +21,7 @@ "dependencies": { "@prisma/generator-helper": "^4.7.1", "@zenstackhq/language": "workspace:*", + "@zenstackhq/runtime": "workspace:*", "prettier": "^2.8.3", "ts-morph": "^16.0.0" }, diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts index da7d620e4..c3ab474e5 100644 --- a/packages/sdk/src/constants.ts +++ b/packages/sdk/src/constants.ts @@ -1,29 +1,11 @@ -/** - * Auxiliary database field for supporting policy check for nested writes - */ -export const TRANSACTION_FIELD_NAME = 'zenstack_transaction'; - -/** - * Auxiliary database field for building up policy check queries - */ -export const GUARD_FIELD_NAME = 'zenstack_guard'; - -/** - * All Auxiliary fields. - */ -export const AUXILIARY_FIELDS = [TRANSACTION_FIELD_NAME, GUARD_FIELD_NAME]; - -/** - * Reasons for a CRUD operation to fail. - */ -export enum CrudFailureReason { - /** - * CRUD suceeded but the result was not readable. - */ - RESULT_NOT_READABLE = 'RESULT_NOT_READABLE', -} - /** * @zenstackhq/runtime package name */ export const RUNTIME_PACKAGE = '@zenstackhq/runtime'; + +export { + AUXILIARY_FIELDS, + GUARD_FIELD_NAME, + TRANSACTION_FIELD_NAME, + CrudFailureReason, +} from '@zenstackhq/runtime/constants'; diff --git a/packages/server/package.json b/packages/server/package.json index 4e2f956f9..53a89579a 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/server", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "displayName": "ZenStack Server-side Adapters", "description": "ZenStack server-side adapters", "homepage": "https://zenstack.dev", @@ -25,7 +25,6 @@ "dependencies": { "@zenstackhq/openapi": "workspace:*", "@zenstackhq/runtime": "workspace:*", - "@zenstackhq/sdk": "workspace:*", "change-case": "^4.1.2", "lower-case-first": "^2.0.2", "superjson": "^1.11.0", diff --git a/packages/server/src/api/utils.ts b/packages/server/src/api/utils.ts index 08472d228..74079364d 100644 --- a/packages/server/src/api/utils.ts +++ b/packages/server/src/api/utils.ts @@ -1,8 +1,8 @@ import { DbOperations } from '@zenstackhq/runtime'; +import { AUXILIARY_FIELDS } from '@zenstackhq/runtime/constants'; import type { ModelZodSchema } from '@zenstackhq/runtime/zod'; import { upperCaseFirst } from 'upper-case-first'; import { fromZodError } from 'zod-validation-error'; -import { AUXILIARY_FIELDS } from '@zenstackhq/sdk'; import { LoggerConfig } from '../types'; export function getZodSchema(zodSchemas: ModelZodSchema, model: string, operation: keyof DbOperations) { diff --git a/packages/testtools/package.json b/packages/testtools/package.json index 7ba660abd..0f9167d5f 100644 --- a/packages/testtools/package.json +++ b/packages/testtools/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/testtools", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "description": "ZenStack Test Tools", "main": "index.js", "publishConfig": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16831868e..5dcbcc319 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -465,9 +465,6 @@ importers: '@types/bcryptjs': specifier: ^2.4.2 version: 2.4.2 - '@zenstackhq/sdk': - specifier: workspace:* - version: link:../sdk/dist bcryptjs: specifier: ^2.4.3 version: 2.4.3 @@ -718,6 +715,9 @@ importers: '@zenstackhq/language': specifier: workspace:* version: link:../language/dist + '@zenstackhq/runtime': + specifier: workspace:* + version: link:../runtime/dist prettier: specifier: ^2.8.3 version: 2.8.3 @@ -744,9 +744,6 @@ importers: '@zenstackhq/runtime': specifier: workspace:* version: link:../runtime/dist - '@zenstackhq/sdk': - specifier: workspace:* - version: link:../sdk/dist change-case: specifier: ^4.1.2 version: 4.1.2 diff --git a/tests/integration/test-run/package-lock.json b/tests/integration/test-run/package-lock.json index 854682a53..9d400afe0 100644 --- a/tests/integration/test-run/package-lock.json +++ b/tests/integration/test-run/package-lock.json @@ -126,7 +126,7 @@ }, "../../../packages/runtime/dist": { "name": "@zenstackhq/runtime", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "license": "MIT", "dependencies": { "@paralleldrive/cuid2": "^2.2.0", @@ -160,7 +160,7 @@ }, "../../../packages/schema/dist": { "name": "zenstack", - "version": "1.0.0-alpha.120", + "version": "1.0.0-alpha.121", "hasInstallScript": true, "license": "MIT", "dependencies": {