From 4f1183546d0c531c4ca9c4d116d652b3d030cd54 Mon Sep 17 00:00:00 2001 From: FTB_lag Date: Mon, 23 Jun 2025 00:17:30 +0300 Subject: [PATCH 1/8] chore: remove unused spaces --- packages/cli/src/actions/generate.ts | 4 ++-- packages/language/res/stdlib.zmodel | 22 ++++++++--------- packages/language/src/utils.ts | 1 - .../src/validators/datamodel-validator.ts | 1 - packages/language/src/zmodel.langium | 6 ++--- .../runtime/src/plugins/policy/plugin.zmodel | 8 +++---- packages/runtime/src/utils/clone.ts | 4 +--- .../test/client-api/type-coverage.test.ts | 4 ++-- .../test/policy/connect-disconnect.test.ts | 24 +++++++++---------- .../cross-model-field-comparison.test.ts | 6 ++--- .../runtime/test/policy/current-model.test.ts | 14 +++++------ .../runtime/test/policy/empty-policy.test.ts | 8 +++---- .../test/policy/field-comparison.test.ts | 16 ++++++------- packages/runtime/test/schemas/todo.zmodel | 4 ++-- packages/runtime/test/vitest.d.ts | 2 -- packages/sdk/src/prisma/prisma-builder.ts | 1 - 16 files changed, 59 insertions(+), 66 deletions(-) diff --git a/packages/cli/src/actions/generate.ts b/packages/cli/src/actions/generate.ts index f377e2f3..339e9968 100644 --- a/packages/cli/src/actions/generate.ts +++ b/packages/cli/src/actions/generate.ts @@ -1,10 +1,10 @@ import { isPlugin, LiteralExpr, type Model } from '@zenstackhq/language/ast'; import type { CliGenerator } from '@zenstackhq/runtime/client'; import { PrismaSchemaGenerator, TsSchemaGenerator } from '@zenstackhq/sdk'; +import { invariant } from '@zenstackhq/sdk/local-helpers'; import colors from 'colors'; import fs from 'node:fs'; import path from 'node:path'; -import invariant from 'tiny-invariant'; import { getSchemaFile, loadSchemaDocument } from './action-utils'; type Options = { @@ -41,7 +41,7 @@ import { ZenStackClient } from '@zenstackhq/runtime'; import { schema } from '${outputPath}/schema'; const client = new ZenStackClient(schema, { - dialectConfig: { ... } + dialectConfig: { ... } }); \`\`\` `); diff --git a/packages/language/res/stdlib.zmodel b/packages/language/res/stdlib.zmodel index 363d818b..ec144c90 100644 --- a/packages/language/res/stdlib.zmodel +++ b/packages/language/res/stdlib.zmodel @@ -25,7 +25,7 @@ enum ReferentialAction { * Used with "onUpdate": when updating the identifier of a referenced object, the scalar fields of the referencing objects will be set to NULL. */ SetNull - + /** * Used with "onDelete": the scalar field of the referencing object will be set to the fields default value. * Used with "onUpdate": the scalar field of the referencing object will be set to the fields default value. @@ -104,7 +104,7 @@ function ulid(): String { } @@@expressionContext([DefaultValue]) /** - * Creates a sequence of integers in the underlying database and assign the incremented + * Creates a sequence of integers in the underlying database and assign the incremented * values to the ID values of the created records based on the sequence. */ function autoincrement(): Int { @@ -174,9 +174,9 @@ function isEmpty(field: Any[]): Boolean { /** * The name of the model for which the policy rule is defined. If the rule is * inherited to a sub model, this function returns the name of the sub model. - * + * * @param optional parameter to control the casing of the returned value. Valid - * values are "original", "upper", "lower", "capitalize", "uncapitalize". Defaults + * values are "original", "upper", "lower", "capitalize", "uncapitalize". Defaults * to "original". */ function currentModel(casing: String?): String { @@ -186,7 +186,7 @@ function currentModel(casing: String?): String { * The operation for which the policy rule is defined for. Note that a rule with * "all" operation is expanded to "create", "read", "update", and "delete" rules, * and the function returns corresponding value for each expanded version. - * + * * @param optional parameter to control the casing of the returned value. Valid * values are "original", "upper", "lower", "capitalize", "uncapitalize". Defaults * to "original". @@ -523,13 +523,13 @@ attribute @@schema(_ name: String) @@@prisma /** * Indicates that the field is a password field and needs to be hashed before persistence. - * + * * ZenStack uses `bcryptjs` library to hash password. You can use the `saltLength` parameter * to configure the cost of hashing, or use `salt` parameter to provide an explicit salt. * By default, salt length of 12 is used. * * @see https://www.npmjs.com/package/bcryptjs for details - * + * * @param saltLength: length of salt to use (cost factor for the hash function) * @param salt: salt to use (a pregenerated valid salt) */ @@ -538,8 +538,8 @@ attribute @password(saltLength: Int?, salt: String?) @@@targetField([StringField /** * Indicates that the field is encrypted when storing in the DB and should be decrypted when read - * - * ZenStack uses the Web Crypto API to encrypt and decrypt the field. + * + * ZenStack uses the Web Crypto API to encrypt and decrypt the field. */ attribute @encrypted() @@@targetField([StringField]) @@ -665,9 +665,9 @@ function url(field: String): Boolean { /** * Checks if the current user can perform the given operation on the given field. - * + * * @param field: The field to check access for - * @param operation: The operation to check access for. Can be "read", "create", "update", or "delete". If the operation is not provided, + * @param operation: The operation to check access for. Can be "read", "create", "update", or "delete". If the operation is not provided, * it defaults the operation of the containing policy rule. */ function check(field: Any, operation: String?): Boolean { diff --git a/packages/language/src/utils.ts b/packages/language/src/utils.ts index be6b3c67..c1e6ada2 100644 --- a/packages/language/src/utils.ts +++ b/packages/language/src/utils.ts @@ -332,7 +332,6 @@ export function getObjectLiteral(expr: Expression | ConfigExpr | undefined): } export function getLiteralArray< - T extends string | number | boolean | any = any, >(expr: Expression | ConfigExpr | undefined): T[] | undefined { const arr = getArray(expr); diff --git a/packages/language/src/validators/datamodel-validator.ts b/packages/language/src/validators/datamodel-validator.ts index 877f92e8..fd23c290 100644 --- a/packages/language/src/validators/datamodel-validator.ts +++ b/packages/language/src/validators/datamodel-validator.ts @@ -259,7 +259,6 @@ export default class DataModelValidator implements AstValidator { return; } - const oppositeModel = field.type.reference!.ref! as DataModel; // Use name because the current document might be updated diff --git a/packages/language/src/zmodel.langium b/packages/language/src/zmodel.langium index 0d7fa8e9..5f2bca5e 100644 --- a/packages/language/src/zmodel.langium +++ b/packages/language/src/zmodel.langium @@ -164,7 +164,7 @@ Argument: DataModel: (comments+=TRIPLE_SLASH_COMMENT)* ( - ((isAbstract?='abstract')? 'model' name=RegularID + ((isAbstract?='abstract')? 'model' name=RegularID ('extends' superTypes+=[DataModel] (',' superTypes+=[DataModel])*)?) | ((isView?='view') name=RegularID) ) @@ -193,7 +193,7 @@ TypeDef: type TypeDefFieldTypes = TypeDef | Enum; TypeDefField: - (comments+=TRIPLE_SLASH_COMMENT)* + (comments+=TRIPLE_SLASH_COMMENT)* name=RegularIDWithTypeNames type=TypeDefFieldType (attributes+=DataModelFieldAttribute)*; TypeDefFieldType: @@ -208,7 +208,7 @@ Enum: 'enum' name=RegularID '{' ( fields+=EnumField | attributes+=DataModelAttribute - )+ + )+ '}'; EnumField: diff --git a/packages/runtime/src/plugins/policy/plugin.zmodel b/packages/runtime/src/plugins/policy/plugin.zmodel index 3ff7d9c0..ecb39320 100644 --- a/packages/runtime/src/plugins/policy/plugin.zmodel +++ b/packages/runtime/src/plugins/policy/plugin.zmodel @@ -1,6 +1,6 @@ /** * Defines an access policy that allows a set of operations when the given condition is true. - * + * * @param operation: comma-separated list of "create", "read", "update", "delete". Use "all" to denote all operations. * @param condition: a boolean expression that controls if the operation should be allowed. */ @@ -8,8 +8,8 @@ attribute @@allow(_ operation: String @@@completionHint(["'create'", "'read'", " /** * Defines an access policy that allows the annotated field to be read or updated. - * You can pass a third argument as `true` to make it override the model-level policies. - * + * You can pass a third argument as `true` to make it override the model-level policies. + * * @param operation: comma-separated list of "create", "read", "update", "delete". Use "all" to denote all operations. * @param condition: a boolean expression that controls if the operation should be allowed. * @param override: a boolean value that controls if the field-level policy should override the model-level policy. @@ -18,7 +18,7 @@ attribute @allow(_ operation: String @@@completionHint(["'create'", "'read'", "' /** * Defines an access policy that denies a set of operations when the given condition is true. - * + * * @param operation: comma-separated list of "create", "read", "update", "delete". Use "all" to denote all operations. * @param condition: a boolean expression that controls if the operation should be denied. */ diff --git a/packages/runtime/src/utils/clone.ts b/packages/runtime/src/utils/clone.ts index 82355f6a..756b7df6 100644 --- a/packages/runtime/src/utils/clone.ts +++ b/packages/runtime/src/utils/clone.ts @@ -1,5 +1,4 @@ -// @ts-expect-error -import { isPlainObject } from 'is-plain-object'; +import { isPlainObject } from '@zenstackhq/sdk/local-helpers'; /** * Clones the given object. Only arrays and plain objects are cloned. Other values are returned as is. @@ -14,7 +13,6 @@ export function clone(value: T): T { return value; } - const result: any = {}; for (const key of Object.keys(value)) { result[key] = clone(value[key as keyof T]); diff --git a/packages/runtime/test/client-api/type-coverage.test.ts b/packages/runtime/test/client-api/type-coverage.test.ts index 3574d49d..f525026b 100644 --- a/packages/runtime/test/client-api/type-coverage.test.ts +++ b/packages/runtime/test/client-api/type-coverage.test.ts @@ -8,7 +8,7 @@ describe('zmodel type coverage tests', () => { ` model Foo { id String @id @default(cuid()) - + String String Int Int BigInt BigInt @@ -17,7 +17,7 @@ describe('zmodel type coverage tests', () => { Decimal Decimal Boolean Boolean Bytes Bytes - + @@allow('all', true) } `, diff --git a/packages/runtime/test/policy/connect-disconnect.test.ts b/packages/runtime/test/policy/connect-disconnect.test.ts index 48e45da0..d6e30128 100644 --- a/packages/runtime/test/policy/connect-disconnect.test.ts +++ b/packages/runtime/test/policy/connect-disconnect.test.ts @@ -7,11 +7,11 @@ describe('connect and disconnect tests', () => { id String @id @default(uuid()) m2 M2[] value Int @default(0) - + @@deny('read', value < 0) @@allow('all', true) } - + model M2 { id String @id @default(uuid()) value Int @@ -19,7 +19,7 @@ describe('connect and disconnect tests', () => { m1 M1? @relation(fields: [m1Id], references:[id]) m1Id String? m3 M3[] - + @@allow('read,create', true) @@allow('update', !deleted) } @@ -183,17 +183,17 @@ describe('connect and disconnect tests', () => { model M1 { id String @id @default(uuid()) m2 M2? - + @@allow('all', true) } - + model M2 { id String @id @default(uuid()) value Int deleted Boolean @default(false) m1 M1? @relation(fields: [m1Id], references:[id]) m1Id String? @unique - + @@allow('read,create', true) @@allow('update', !deleted) } @@ -285,17 +285,17 @@ describe('connect and disconnect tests', () => { id String @id @default(uuid()) value Int @default(0) m2 M2[] - + @@deny('read', value < 0) @@allow('all', true) } - + model M2 { id String @id @default(uuid()) value Int deleted Boolean @default(false) m1 M1[] - + @@deny('read', value < 0) @@allow('read,create', true) @@allow('update', !deleted) @@ -325,16 +325,16 @@ describe('connect and disconnect tests', () => { id String @id @default(uuid()) value Int @default(0) m2 M1OnM2[] - + @@allow('all', true) } - + model M2 { id String @id @default(uuid()) value Int deleted Boolean @default(false) m1 M1OnM2[] - + @@allow('read,create', true) } diff --git a/packages/runtime/test/policy/cross-model-field-comparison.test.ts b/packages/runtime/test/policy/cross-model-field-comparison.test.ts index 53a29ba6..146992a2 100644 --- a/packages/runtime/test/policy/cross-model-field-comparison.test.ts +++ b/packages/runtime/test/policy/cross-model-field-comparison.test.ts @@ -10,16 +10,16 @@ describe('cross-model field comparison tests', () => { profile Profile @relation(fields: [profileId], references: [id]) profileId Int @unique age Int - + @@allow('all', age == profile.age) @@deny('update', age > 100) } - + model Profile { id Int @id age Int user User? - + @@allow('all', true) } `, diff --git a/packages/runtime/test/policy/current-model.test.ts b/packages/runtime/test/policy/current-model.test.ts index 8ad743b5..024e658f 100644 --- a/packages/runtime/test/policy/current-model.test.ts +++ b/packages/runtime/test/policy/current-model.test.ts @@ -10,7 +10,7 @@ describe('currentModel tests', () => { @@allow('read', true) @@allow('create', currentModel() == 'User') } - + model Post { id Int @id @@allow('read', true) @@ -31,7 +31,7 @@ describe('currentModel tests', () => { @@allow('read', true) @@allow('create', currentModel('upper') == 'USER') } - + model Post { id Int @id @@allow('read', true) @@ -52,7 +52,7 @@ describe('currentModel tests', () => { @@allow('read', true) @@allow('create', currentModel('lower') == 'user') } - + model Post { id Int @id @@allow('read', true) @@ -73,7 +73,7 @@ describe('currentModel tests', () => { @@allow('read', true) @@allow('create', currentModel('capitalize') == 'User') } - + model post { id Int @id @@allow('read', true) @@ -94,7 +94,7 @@ describe('currentModel tests', () => { @@allow('read', true) @@allow('create', currentModel('uncapitalize') == 'uSER') } - + model POST { id Int @id @@allow('read', true) @@ -119,7 +119,7 @@ describe('currentModel tests', () => { model User extends Base { } - + model Post extends Base { } `, @@ -144,7 +144,7 @@ describe('currentModel tests', () => { model User extends Base { } - + model Post extends Base { } `, diff --git a/packages/runtime/test/policy/empty-policy.test.ts b/packages/runtime/test/policy/empty-policy.test.ts index 0199122e..432454c1 100644 --- a/packages/runtime/test/policy/empty-policy.test.ts +++ b/packages/runtime/test/policy/empty-policy.test.ts @@ -52,10 +52,10 @@ describe('empty policy tests', () => { model M1 { id String @id @default(uuid()) m2 M2[] - + @@allow('all', true) } - + model M2 { id String @id @default(uuid()) m1 M1 @relation(fields: [m1Id], references:[id]) @@ -81,10 +81,10 @@ describe('empty policy tests', () => { model M1 { id String @id @default(uuid()) m2 M2? - + @@allow('all', true) } - + model M2 { id String @id @default(uuid()) m1 M1 @relation(fields: [m1Id], references:[id]) diff --git a/packages/runtime/test/policy/field-comparison.test.ts b/packages/runtime/test/policy/field-comparison.test.ts index 7d597d00..1d8e3cdf 100644 --- a/packages/runtime/test/policy/field-comparison.test.ts +++ b/packages/runtime/test/policy/field-comparison.test.ts @@ -23,14 +23,14 @@ describe('field comparison tests', () => { it('works with "in" operator', async () => { const db = await createPolicyTestClient( ` - model Model { - id String @id @default(uuid()) - x String - y String[] - @@allow('create', x in y) - @@allow('read', x in y) - } - `, + model Model { + id String @id @default(uuid()) + x String + y String[] + @@allow('create', x in y) + @@allow('read', x in y) + } + `, { provider: 'postgresql', dbName: 'field-comparison-tests-operator', diff --git a/packages/runtime/test/schemas/todo.zmodel b/packages/runtime/test/schemas/todo.zmodel index ef9453fa..f462d064 100644 --- a/packages/runtime/test/schemas/todo.zmodel +++ b/packages/runtime/test/schemas/todo.zmodel @@ -109,7 +109,7 @@ model List { // require login @@deny('all', auth() == null) - // can be read by owner or space members (only if not private) + // can be read by owner or space members (only if not private) @@allow('read', ownerId == auth().id || (space.members?[userId == auth().id] && !private)) // when create, owner must be set to current user, and user must be in the space @@ -117,7 +117,7 @@ model List { // when create, owner must be set to current user, and user must be in the space // update is not allowed to change owner - @@allow('update', ownerId == auth().id && space.members?[userId == auth().id] + @@allow('update', ownerId == auth().id && space.members?[userId == auth().id] // TODO: future() support // && future().ownerId == ownerId ) diff --git a/packages/runtime/test/vitest.d.ts b/packages/runtime/test/vitest.d.ts index 2606a85a..b547127c 100644 --- a/packages/runtime/test/vitest.d.ts +++ b/packages/runtime/test/vitest.d.ts @@ -1,5 +1,3 @@ - - import 'vitest'; interface CustomMatchers { diff --git a/packages/sdk/src/prisma/prisma-builder.ts b/packages/sdk/src/prisma/prisma-builder.ts index f0cf5d32..a118a647 100644 --- a/packages/sdk/src/prisma/prisma-builder.ts +++ b/packages/sdk/src/prisma/prisma-builder.ts @@ -145,7 +145,6 @@ export class Model extends ContainerDeclaration { } override toString(): string { - const result: any[] = [...this.fields]; if (this.attributes.length > 0) { From 4617b4d7d88d0ad1534fc657dc44ec1d13e865db Mon Sep 17 00:00:00 2001 From: FTB_lag Date: Mon, 23 Jun 2025 00:18:21 +0300 Subject: [PATCH 2/8] chore(sdk): move libraries from v2 --- packages/sdk/package.json | 10 ++++++++ packages/sdk/src/local-helpers/index.ts | 4 ++++ .../sdk/src/local-helpers/is-plain-object.ts | 23 +++++++++++++++++++ .../sdk/src/local-helpers/lower-case-first.ts | 5 ++++ .../sdk/src/local-helpers/tiny-invariant.ts | 17 ++++++++++++++ .../sdk/src/local-helpers/upper-case-first.ts | 5 ++++ 6 files changed, 64 insertions(+) create mode 100644 packages/sdk/src/local-helpers/index.ts create mode 100644 packages/sdk/src/local-helpers/is-plain-object.ts create mode 100644 packages/sdk/src/local-helpers/lower-case-first.ts create mode 100644 packages/sdk/src/local-helpers/tiny-invariant.ts create mode 100644 packages/sdk/src/local-helpers/upper-case-first.ts diff --git a/packages/sdk/package.json b/packages/sdk/package.json index ae249e29..e436c16f 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -34,6 +34,16 @@ "types": "./dist/schema.d.cts", "default": "./dist/schema.cjs" } + }, + "./local-helpers": { + "import": { + "types": "./dist/local-helpers.d.ts", + "default": "./dist/local-helpers.js" + }, + "require": { + "types": "./dist/local-helpers.d.cts", + "default": "./dist/local-helpers.cjs" + } } }, "dependencies": { diff --git a/packages/sdk/src/local-helpers/index.ts b/packages/sdk/src/local-helpers/index.ts new file mode 100644 index 00000000..2404c25c --- /dev/null +++ b/packages/sdk/src/local-helpers/index.ts @@ -0,0 +1,4 @@ +export * from './is-plain-object'; +export * from './lower-case-first'; +export * from './upper-case-first'; +export * from './tiny-invariant'; diff --git a/packages/sdk/src/local-helpers/is-plain-object.ts b/packages/sdk/src/local-helpers/is-plain-object.ts new file mode 100644 index 00000000..f5c13d6d --- /dev/null +++ b/packages/sdk/src/local-helpers/is-plain-object.ts @@ -0,0 +1,23 @@ +function isObject(o: unknown) { + return Object.prototype.toString.call(o) === '[object Object]'; +} + +export function isPlainObject(o: unknown) { + if (isObject(o) === false) return false; + + // If has modified constructor + const ctor = (o as { constructor: unknown }).constructor; + if (ctor === undefined) return true; + + // If has modified prototype + const prot = (ctor as { prototype: unknown }).prototype; + if (isObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (Object.prototype.hasOwnProperty.call(prot, 'isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} diff --git a/packages/sdk/src/local-helpers/lower-case-first.ts b/packages/sdk/src/local-helpers/lower-case-first.ts new file mode 100644 index 00000000..f915f174 --- /dev/null +++ b/packages/sdk/src/local-helpers/lower-case-first.ts @@ -0,0 +1,5 @@ +export function lowerCaseFirst(input: string) { + return input.charAt(0).toLowerCase() + input.slice(1); +} + +export { lowerCaseFirst as uncapitalize }; diff --git a/packages/sdk/src/local-helpers/tiny-invariant.ts b/packages/sdk/src/local-helpers/tiny-invariant.ts new file mode 100644 index 00000000..1e6638e3 --- /dev/null +++ b/packages/sdk/src/local-helpers/tiny-invariant.ts @@ -0,0 +1,17 @@ +const isProduction = process.env['NODE_ENV'] === 'production'; +const prefix = 'Invariant failed'; + +export function invariant( + condition: unknown, + message?: string, +): asserts condition { + if (condition) { + return; + } + + if (isProduction) { + throw new Error(prefix); + } + + throw new Error(message ? `${prefix}: ${message}` : prefix); +} diff --git a/packages/sdk/src/local-helpers/upper-case-first.ts b/packages/sdk/src/local-helpers/upper-case-first.ts new file mode 100644 index 00000000..f3719e6f --- /dev/null +++ b/packages/sdk/src/local-helpers/upper-case-first.ts @@ -0,0 +1,5 @@ +export function upperCaseFirst(input: string) { + return input.charAt(0).toUpperCase() + input.slice(1); +} + +export { upperCaseFirst as capitalize }; From 3d26907626c50d6fc7bbcc5168e0ee2b537ca868 Mon Sep 17 00:00:00 2001 From: FTB_lag Date: Mon, 23 Jun 2025 00:21:07 +0300 Subject: [PATCH 3/8] chore: remove some libraries, use local-helpers from sdk --- package.json | 2 -- packages/cli/package.json | 10 ++-------- packages/create-zenstack/package.json | 4 ++-- packages/ide/vscode/package.json | 8 ++++---- packages/language/package.json | 4 ++-- packages/runtime/package.json | 7 +------ packages/runtime/src/client/crud-types.ts | 2 +- packages/runtime/src/client/crud/dialects/base.ts | 4 +--- .../runtime/src/client/crud/dialects/postgresql.ts | 2 +- packages/runtime/src/client/crud/dialects/sqlite.ts | 2 +- packages/runtime/src/client/crud/operations/base.ts | 2 +- .../src/client/executor/zenstack-query-executor.ts | 7 +++---- packages/runtime/src/client/functions.ts | 6 +++--- .../runtime/src/client/helpers/schema-db-pusher.ts | 2 +- packages/runtime/src/client/options.ts | 3 +-- packages/runtime/src/client/result-processor.ts | 2 +- .../runtime/src/plugins/policy/expression-evaluator.ts | 2 +- .../src/plugins/policy/expression-transformer.ts | 4 ++-- packages/runtime/src/plugins/policy/policy-handler.ts | 2 +- packages/runtime/src/utils/type-utils.ts | 2 ++ packages/runtime/test/utils.ts | 2 +- packages/sdk/package.json | 9 +++------ packages/sdk/src/ts-schema-generator.ts | 2 +- packages/sdk/tsup.config.ts | 1 + packages/tanstack-query/package.json | 4 ++-- packages/testtools/package.json | 4 ++-- packages/zod/package.json | 4 ++-- 27 files changed, 43 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 24888806..d1decc99 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,8 @@ "license": "MIT", "devDependencies": { "@eslint/js": "^9.29.0", - "@swc/core": "^1.12.5", "@types/node": "^20.17.24", "eslint": "~9.29.0", - "npm-run-all": "^4.1.5", "prettier": "^3.5.3", "tsup": "^8.5.0", "tsx": "^4.20.3", diff --git a/packages/cli/package.json b/packages/cli/package.json index a63ca4d4..ee4fb67f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -29,28 +29,22 @@ "dependencies": { "@zenstackhq/language": "workspace:*", "@zenstackhq/sdk": "workspace:*", - "async-exit-hook": "^2.0.1", "colors": "1.4.0", "commander": "^8.3.0", "langium": "catalog:", "ora": "^5.4.1", "package-manager-detector": "^1.3.0", - "tiny-invariant": "^1.3.3", "ts-pattern": "catalog:" }, "peerDependencies": { "prisma": "catalog:" }, "devDependencies": { - "@types/async-exit-hook": "^2.0.0", "@types/better-sqlite3": "^7.6.13", - "@types/semver": "^7.3.13", - "@types/tmp": "^0.2.6", + "@zenstackhq/eslint-config": "workspace:*", "@zenstackhq/runtime": "workspace:*", "@zenstackhq/testtools": "workspace:*", "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*", - "better-sqlite3": "^11.8.1", - "tmp": "^0.2.3" + "better-sqlite3": "^11.8.1" } } diff --git a/packages/create-zenstack/package.json b/packages/create-zenstack/package.json index 01505f38..086306f9 100644 --- a/packages/create-zenstack/package.json +++ b/packages/create-zenstack/package.json @@ -35,7 +35,7 @@ "ora": "^5.4.1" }, "devDependencies": { - "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "@zenstackhq/eslint-config": "workspace:*", + "@zenstackhq/typescript-config": "workspace:*" } } diff --git a/packages/ide/vscode/package.json b/packages/ide/vscode/package.json index 4bfd341f..39d36e80 100644 --- a/packages/ide/vscode/package.json +++ b/packages/ide/vscode/package.json @@ -30,15 +30,15 @@ "license": "MIT", "packageManager": "pnpm@10.12.1", "dependencies": { + "@zenstackhq/language": "workspace:*", "langium": "catalog:", "vscode-languageclient": "^9.0.1", - "vscode-languageserver": "^9.0.1", - "@zenstackhq/language": "workspace:*" + "vscode-languageserver": "^9.0.1" }, "devDependencies": { "@types/vscode": "^1.63.0", - "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "@zenstackhq/eslint-config": "workspace:*", + "@zenstackhq/typescript-config": "workspace:*" }, "files": [ "dist", diff --git a/packages/language/package.json b/packages/language/package.json index 5555b630..a79f84c2 100644 --- a/packages/language/package.json +++ b/packages/language/package.json @@ -49,9 +49,9 @@ }, "devDependencies": { "@types/pluralize": "^0.0.33", - "langium-cli": "~3.3.0", + "@zenstackhq/eslint-config": "workspace:*", "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "langium-cli": "~3.3.0" }, "volta": { "node": "18.19.1", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 48108f49..308c5cbb 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -66,14 +66,11 @@ "dependencies": { "@paralleldrive/cuid2": "^2.2.2", "decimal.js": "^10.4.3", - "is-plain-object": "^5.0.0", "json-stable-stringify": "^1.3.0", "kysely": "catalog:", "nanoid": "^5.0.9", - "tiny-invariant": "^1.3.3", "ts-pattern": "catalog:", "ulid": "^3.0.0", - "utility-types": "^3.11.0", "uuid": "^11.0.5" }, "peerDependencies": { @@ -92,13 +89,11 @@ "devDependencies": { "@types/better-sqlite3": "^7.0.0", "@types/pg": "^8.0.0", - "@types/tmp": "^0.2.6", + "@zenstackhq/eslint-config": "workspace:*", "@zenstackhq/language": "workspace:*", "@zenstackhq/sdk": "workspace:*", "@zenstackhq/testtools": "workspace:*", "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*", - "tmp": "^0.2.3", "tsx": "^4.19.2" } } diff --git a/packages/runtime/src/client/crud-types.ts b/packages/runtime/src/client/crud-types.ts index b78038ac..b5bf4661 100644 --- a/packages/runtime/src/client/crud-types.ts +++ b/packages/runtime/src/client/crud-types.ts @@ -1,5 +1,4 @@ import type { ExpressionBuilder, OperandExpression, SqlBool } from 'kysely'; -import type { Optional } from 'utility-types'; import type { BuiltinType, FieldDef, @@ -29,6 +28,7 @@ import type { MapBaseType, NonEmptyArray, NullableIf, + Optional, OrArray, ValueOfPotentialTuple, WrapType, diff --git a/packages/runtime/src/client/crud/dialects/base.ts b/packages/runtime/src/client/crud/dialects/base.ts index 5205f01c..e5e42051 100644 --- a/packages/runtime/src/client/crud/dialects/base.ts +++ b/packages/runtime/src/client/crud/dialects/base.ts @@ -1,11 +1,9 @@ +import { invariant, isPlainObject } from '@zenstackhq/sdk/local-helpers'; import type { Expression, ExpressionBuilder, ExpressionWrapper, SqlBool, ValueNode } from 'kysely'; import { sql, type SelectQueryBuilder } from 'kysely'; -import invariant from 'tiny-invariant'; import { match, P } from 'ts-pattern'; import type { BuiltinType, DataSourceProviderType, FieldDef, GetModels, SchemaDef } from '../../../schema'; import { enumerate } from '../../../utils/enumerate'; -// @ts-expect-error -import { isPlainObject } from 'is-plain-object'; import type { OrArray } from '../../../utils/type-utils'; import type { BooleanFilter, diff --git a/packages/runtime/src/client/crud/dialects/postgresql.ts b/packages/runtime/src/client/crud/dialects/postgresql.ts index f51e6bb1..6ac92909 100644 --- a/packages/runtime/src/client/crud/dialects/postgresql.ts +++ b/packages/runtime/src/client/crud/dialects/postgresql.ts @@ -1,3 +1,4 @@ +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { sql, type Expression, @@ -6,7 +7,6 @@ import { type RawBuilder, type SelectQueryBuilder, } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { BuiltinType, FieldDef, GetModels, SchemaDef } from '../../../schema'; import type { FindArgs } from '../../crud-types'; diff --git a/packages/runtime/src/client/crud/dialects/sqlite.ts b/packages/runtime/src/client/crud/dialects/sqlite.ts index 2144317a..0fc14577 100644 --- a/packages/runtime/src/client/crud/dialects/sqlite.ts +++ b/packages/runtime/src/client/crud/dialects/sqlite.ts @@ -1,3 +1,4 @@ +import { invariant } from '@zenstackhq/sdk/local-helpers'; import type Decimal from 'decimal.js'; import { ExpressionWrapper, @@ -7,7 +8,6 @@ import { type RawBuilder, type SelectQueryBuilder, } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { BuiltinType, GetModels, SchemaDef } from '../../../schema'; import type { FindArgs } from '../../crud-types'; diff --git a/packages/runtime/src/client/crud/operations/base.ts b/packages/runtime/src/client/crud/operations/base.ts index dbecfe8a..dd39fb0f 100644 --- a/packages/runtime/src/client/crud/operations/base.ts +++ b/packages/runtime/src/client/crud/operations/base.ts @@ -1,4 +1,5 @@ import { createId } from '@paralleldrive/cuid2'; +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { DeleteResult, expressionBuilder, @@ -10,7 +11,6 @@ import { type SelectQueryBuilder, } from 'kysely'; import { nanoid } from 'nanoid'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import { ulid } from 'ulid'; import * as uuid from 'uuid'; diff --git a/packages/runtime/src/client/executor/zenstack-query-executor.ts b/packages/runtime/src/client/executor/zenstack-query-executor.ts index 3803f3f6..381ec9af 100644 --- a/packages/runtime/src/client/executor/zenstack-query-executor.ts +++ b/packages/runtime/src/client/executor/zenstack-query-executor.ts @@ -22,7 +22,6 @@ import { } from 'kysely'; import { nanoid } from 'nanoid'; import { match } from 'ts-pattern'; -import type { PromiseType } from 'utility-types'; import type { GetModels, SchemaDef } from '../../schema'; import type { ClientImpl } from '../client-impl'; import type { ClientContract } from '../contract'; @@ -58,7 +57,7 @@ export class ZenStackQueryExecutor extends DefaultQuer override async executeQuery(compiledQuery: CompiledQuery, queryId: QueryId) { let queryNode = compiledQuery.query; - let mutationInterceptionInfo: PromiseType>; + let mutationInterceptionInfo: Awaited>; if (this.isMutationNode(queryNode) && this.hasMutationHooks) { mutationInterceptionInfo = await this.callMutationInterceptionFilters(queryNode); } @@ -291,7 +290,7 @@ export class ZenStackQueryExecutor extends DefaultQuer private callBeforeMutationHooks( queryNode: OperationNode, - mutationInterceptionInfo: PromiseType>, + mutationInterceptionInfo: Awaited>, ) { if (!mutationInterceptionInfo?.intercept) { return; @@ -315,7 +314,7 @@ export class ZenStackQueryExecutor extends DefaultQuer private async callAfterQueryInterceptionFilters( queryResult: QueryResult, queryNode: OperationNode, - mutationInterceptionInfo: PromiseType>, + mutationInterceptionInfo: Awaited>, ) { if (!mutationInterceptionInfo?.intercept) { return; diff --git a/packages/runtime/src/client/functions.ts b/packages/runtime/src/client/functions.ts index e05041df..218f268f 100644 --- a/packages/runtime/src/client/functions.ts +++ b/packages/runtime/src/client/functions.ts @@ -1,5 +1,5 @@ +import { invariant, capitalize, uncapitalize } from '@zenstackhq/sdk/local-helpers'; import { sql, ValueNode, type Expression, type ExpressionBuilder } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { ZModelFunction, ZModelFunctionContext } from './options'; @@ -132,8 +132,8 @@ function processCasing(casing: Expression, result: string, model: string) { .with('original', () => model) .with('upper', () => result.toUpperCase()) .with('lower', () => result.toLowerCase()) - .with('capitalize', () => `${result.charAt(0).toUpperCase() + result.slice(1)}`) - .with('uncapitalize', () => `${result.charAt(0).toLowerCase() + result.slice(1)}`) + .with('capitalize', () => capitalize(result)) + .with('uncapitalize', () => uncapitalize(result)) .otherwise(() => { throw new Error( `Invalid casing value: ${opNode.value}. Must be "original", "upper", "lower", "capitalize", or "uncapitalize".`, diff --git a/packages/runtime/src/client/helpers/schema-db-pusher.ts b/packages/runtime/src/client/helpers/schema-db-pusher.ts index 4dd3b2d7..6678dbc1 100644 --- a/packages/runtime/src/client/helpers/schema-db-pusher.ts +++ b/packages/runtime/src/client/helpers/schema-db-pusher.ts @@ -1,5 +1,5 @@ +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { CreateTableBuilder, sql, type ColumnDataType, type OnModifyForeignAction } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import { ExpressionUtils, diff --git a/packages/runtime/src/client/options.ts b/packages/runtime/src/client/options.ts index be4ba98d..150c8e16 100644 --- a/packages/runtime/src/client/options.ts +++ b/packages/runtime/src/client/options.ts @@ -1,7 +1,6 @@ import type { Expression, ExpressionBuilder, KyselyConfig, PostgresDialectConfig, SqliteDialectConfig } from 'kysely'; -import type { Optional } from 'utility-types'; import type { DataSourceProvider, GetModel, GetModels, ProcedureDef, SchemaDef } from '../schema'; -import type { PrependParameter } from '../utils/type-utils'; +import type { Optional, PrependParameter } from '../utils/type-utils'; import type { ClientContract, CRUD, ProcedureFunc } from './contract'; import type { BaseCrudDialect } from './crud/dialects/base'; import type { RuntimePlugin } from './plugin'; diff --git a/packages/runtime/src/client/result-processor.ts b/packages/runtime/src/client/result-processor.ts index 6899346d..490579f9 100644 --- a/packages/runtime/src/client/result-processor.ts +++ b/packages/runtime/src/client/result-processor.ts @@ -1,5 +1,5 @@ +import { invariant } from '@zenstackhq/sdk/local-helpers'; import Decimal from 'decimal.js'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { BuiltinType, FieldDef, GetModels, SchemaDef } from '../schema'; import { ensureArray, getField } from './query-utils'; diff --git a/packages/runtime/src/plugins/policy/expression-evaluator.ts b/packages/runtime/src/plugins/policy/expression-evaluator.ts index 77b1ec1e..ec61aeeb 100644 --- a/packages/runtime/src/plugins/policy/expression-evaluator.ts +++ b/packages/runtime/src/plugins/policy/expression-evaluator.ts @@ -1,4 +1,4 @@ -import invariant from 'tiny-invariant'; +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { match } from 'ts-pattern'; import { ExpressionUtils, diff --git a/packages/runtime/src/plugins/policy/expression-transformer.ts b/packages/runtime/src/plugins/policy/expression-transformer.ts index 05f40bf1..00a64491 100644 --- a/packages/runtime/src/plugins/policy/expression-transformer.ts +++ b/packages/runtime/src/plugins/policy/expression-transformer.ts @@ -1,4 +1,4 @@ -import type { OperandExpression } from 'kysely'; +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { AliasNode, BinaryOperationNode, @@ -16,9 +16,9 @@ import { ValueNode, WhereNode, type ExpressionBuilder, + type OperandExpression, type OperationNode, } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { CRUD } from '../../client/contract'; import { getCrudDialect } from '../../client/crud/dialects'; diff --git a/packages/runtime/src/plugins/policy/policy-handler.ts b/packages/runtime/src/plugins/policy/policy-handler.ts index f3cae07e..07a20edb 100644 --- a/packages/runtime/src/plugins/policy/policy-handler.ts +++ b/packages/runtime/src/plugins/policy/policy-handler.ts @@ -1,3 +1,4 @@ +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { AliasNode, BinaryOperationNode, @@ -22,7 +23,6 @@ import { type QueryResult, type RootOperationNode, } from 'kysely'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import type { ClientContract } from '../../client'; import type { CRUD } from '../../client/contract'; diff --git a/packages/runtime/src/utils/type-utils.ts b/packages/runtime/src/utils/type-utils.ts index 0046b429..c1bd0d01 100644 --- a/packages/runtime/src/utils/type-utils.ts +++ b/packages/runtime/src/utils/type-utils.ts @@ -1,5 +1,7 @@ import type Decimal from 'decimal.js'; +export type Optional = Omit & Partial>; + export type NullableIf = Condition extends true ? T | null : T; export type PartialRecord = Partial>; diff --git a/packages/runtime/test/utils.ts b/packages/runtime/test/utils.ts index 1feb435b..b2dd3228 100644 --- a/packages/runtime/test/utils.ts +++ b/packages/runtime/test/utils.ts @@ -1,12 +1,12 @@ import { loadDocument } from '@zenstackhq/language'; import { PrismaSchemaGenerator } from '@zenstackhq/sdk'; +import { invariant } from '@zenstackhq/sdk/local-helpers'; import { generateTsSchema } from '@zenstackhq/testtools'; import SQLite from 'better-sqlite3'; import { execSync } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; import { Client as PGClient, Pool } from 'pg'; -import invariant from 'tiny-invariant'; import type { ClientOptions } from '../src/client'; import { ZenStackClient } from '../src/client'; import type { SchemaDef } from '../src/schema'; diff --git a/packages/sdk/package.json b/packages/sdk/package.json index e436c16f..03b82641 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -49,16 +49,13 @@ "dependencies": { "@zenstackhq/language": "workspace:*", "langium": "catalog:", - "tiny-invariant": "^1.3.3", - "tmp": "^0.2.3", "ts-pattern": "catalog:", "typescript": "catalog:" }, "devDependencies": { - "@types/tmp": "^0.2.6", - "decimal.js": "^10.4.3", - "kysely": "catalog:", + "@zenstackhq/eslint-config": "workspace:*", "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "decimal.js": "^10.4.3", + "kysely": "catalog:" } } diff --git a/packages/sdk/src/ts-schema-generator.ts b/packages/sdk/src/ts-schema-generator.ts index 1b1f6c56..4a4e4ebd 100644 --- a/packages/sdk/src/ts-schema-generator.ts +++ b/packages/sdk/src/ts-schema-generator.ts @@ -34,10 +34,10 @@ import { } from '@zenstackhq/language/ast'; import fs from 'node:fs'; import path from 'node:path'; -import invariant from 'tiny-invariant'; import { match } from 'ts-pattern'; import * as ts from 'typescript'; import { ModelUtils } from '.'; +import { invariant } from './local-helpers'; import { getAttribute, getAuthDecl, hasAttribute, isIdField, isUniqueField } from './model-utils'; export class TsSchemaGenerator { diff --git a/packages/sdk/tsup.config.ts b/packages/sdk/tsup.config.ts index 4c9aca3e..9a917cee 100644 --- a/packages/sdk/tsup.config.ts +++ b/packages/sdk/tsup.config.ts @@ -4,6 +4,7 @@ export default defineConfig({ entry: { index: 'src/index.ts', schema: 'src/schema/index.ts', + 'local-helpers': 'src/local-helpers/index.ts', }, outDir: 'dist', splitting: false, diff --git a/packages/tanstack-query/package.json b/packages/tanstack-query/package.json index c633ed60..15b8fcd3 100644 --- a/packages/tanstack-query/package.json +++ b/packages/tanstack-query/package.json @@ -28,8 +28,8 @@ "@zenstackhq/runtime": "workspace:*" }, "devDependencies": { - "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "@zenstackhq/eslint-config": "workspace:*", + "@zenstackhq/typescript-config": "workspace:*" }, "peerDependencies": { "@tanstack/react-query": "^5.0.0" diff --git a/packages/testtools/package.json b/packages/testtools/package.json index f810eaea..7d8f6771 100644 --- a/packages/testtools/package.json +++ b/packages/testtools/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@types/tmp": "^0.2.6", - "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "@zenstackhq/eslint-config": "workspace:*", + "@zenstackhq/typescript-config": "workspace:*" } } diff --git a/packages/zod/package.json b/packages/zod/package.json index 8d6c3879..94c6d5c8 100644 --- a/packages/zod/package.json +++ b/packages/zod/package.json @@ -29,8 +29,8 @@ "ts-pattern": "catalog:" }, "devDependencies": { - "@zenstackhq/typescript-config": "workspace:*", - "@zenstackhq/eslint-config": "workspace:*" + "@zenstackhq/eslint-config": "workspace:*", + "@zenstackhq/typescript-config": "workspace:*" }, "peerDependencies": { "zod": "catalog:" From 0890b0a350a55e22032980579ec774704895c136 Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:11:32 +0800 Subject: [PATCH 4/8] fix: PR merge issues --- packages/runtime/src/client/functions.ts | 4 +- packages/sdk/src/ts-schema-generator.ts | 1 - pnpm-lock.yaml | 1094 +--------------------- 3 files changed, 6 insertions(+), 1093 deletions(-) diff --git a/packages/runtime/src/client/functions.ts b/packages/runtime/src/client/functions.ts index 781372ac..2c1f3c4f 100644 --- a/packages/runtime/src/client/functions.ts +++ b/packages/runtime/src/client/functions.ts @@ -132,9 +132,7 @@ function processCasing(casing: Expression, result: string, model: string) { .with('original', () => model) .with('upper', () => result.toUpperCase()) .with('lower', () => result.toLowerCase()) - .with(' - - ', () => capitalize(result)) + .with('capitalize', () => capitalize(result)) .with('uncapitalize', () => uncapitalize(result)) .otherwise(() => { throw new Error( diff --git a/packages/sdk/src/ts-schema-generator.ts b/packages/sdk/src/ts-schema-generator.ts index 140feb39..c6e22a2e 100644 --- a/packages/sdk/src/ts-schema-generator.ts +++ b/packages/sdk/src/ts-schema-generator.ts @@ -39,7 +39,6 @@ import path from 'node:path'; import { match } from 'ts-pattern'; import * as ts from 'typescript'; import { ModelUtils } from '.'; -import { invariant } from './local-helpers'; import { getAttribute, getAuthDecl, hasAttribute, isIdField, isUniqueField } from './model-utils'; export class TsSchemaGenerator { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index df6a06cc..8eed846c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,18 +32,12 @@ importers: '@eslint/js': specifier: ^9.29.0 version: 9.29.0 - '@swc/core': - specifier: ^1.12.5 - version: 1.12.5 '@types/node': specifier: ^20.17.24 version: 20.17.24 eslint: specifier: ~9.29.0 version: 9.29.0(jiti@2.4.2) - npm-run-all: - specifier: ^4.1.5 - version: 4.1.5 prettier: specifier: ^3.5.3 version: 3.5.3 @@ -77,9 +71,6 @@ importers: '@zenstackhq/sdk': specifier: workspace:* version: link:../sdk - async-exit-hook: - specifier: ^2.0.1 - version: 2.0.1 colors: specifier: 1.4.0 version: 1.4.0 @@ -102,18 +93,9 @@ importers: specifier: 'catalog:' version: 5.7.1 devDependencies: - '@types/async-exit-hook': - specifier: ^2.0.0 - version: 2.0.2 '@types/better-sqlite3': specifier: ^7.6.13 version: 7.6.13 - '@types/semver': - specifier: ^7.3.13 - version: 7.5.8 - '@types/tmp': - specifier: ^0.2.6 - version: 0.2.6 '@zenstackhq/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -129,9 +111,6 @@ importers: better-sqlite3: specifier: ^11.8.1 version: 11.8.1 - tmp: - specifier: ^0.2.3 - version: 0.2.3 packages/common-helpers: devDependencies: @@ -245,9 +224,6 @@ importers: ulid: specifier: ^3.0.0 version: 3.0.0 - utility-types: - specifier: ^3.11.0 - version: 3.11.0 uuid: specifier: ^11.0.5 version: 11.0.5 @@ -261,9 +237,6 @@ importers: '@types/pg': specifier: ^8.0.0 version: 8.11.11 - '@types/tmp': - specifier: ^0.2.6 - version: 0.2.6 '@zenstackhq/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -279,9 +252,6 @@ importers: '@zenstackhq/typescript-config': specifier: workspace:* version: link:../typescript-config - tmp: - specifier: ^0.2.3 - version: 0.2.3 tsx: specifier: ^4.19.2 version: 4.19.2 @@ -297,9 +267,6 @@ importers: langium: specifier: 'catalog:' version: 3.3.0 - tmp: - specifier: ^0.2.3 - version: 0.2.3 ts-pattern: specifier: 'catalog:' version: 5.7.1 @@ -307,9 +274,6 @@ importers: specifier: 'catalog:' version: 5.8.3 devDependencies: - '@types/tmp': - specifier: ^0.2.6 - version: 0.2.6 '@zenstackhq/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -1059,9 +1023,6 @@ packages: peerDependencies: react: ^18 || ^19 - '@types/async-exit-hook@2.0.2': - resolution: {integrity: sha512-RJbTNivnnn+JzNiQTtUgwo/1S6QUHwI5JfXCeUPsqZXB4LuvRwvHhbKFSS5jFDYpk8XoEAYVW2cumBOdGpXL2Q==} - '@types/better-sqlite3@7.6.12': resolution: {integrity: sha512-fnQmj8lELIj7BSrZQAdBMHEHX8OZLYIHXqAKT1O7tDfLxaINzf00PMjw22r3N/xXh0w/sGHlO6SVaCQ2mj78lg==} @@ -1089,9 +1050,6 @@ packages: '@types/pluralize@0.0.33': resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/tmp@0.2.6': resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} @@ -1207,10 +1165,6 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -1225,30 +1179,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} - - async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1310,10 +1244,6 @@ packages: resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} engines: {node: '>=12'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1353,16 +1283,10 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -1392,26 +1316,10 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -1446,10 +1354,6 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -1470,13 +1374,6 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.24.0: - resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} - engines: {node: '>= 0.4'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -1492,14 +1389,6 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} - esbuild-register@3.6.0: resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: @@ -1515,10 +1404,6 @@ packages: engines: {node: '>=18'} hasBin: true - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1625,10 +1510,6 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} - foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} @@ -1652,13 +1533,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -1667,10 +1541,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - get-tsconfig@4.10.0: resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} @@ -1701,10 +1571,6 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -1715,14 +1581,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -1730,25 +1588,14 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1774,61 +1621,14 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - - is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1837,62 +1637,14 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} - - is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} - - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -1924,9 +1676,6 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -1976,10 +1725,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2021,10 +1766,6 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2091,37 +1832,18 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-abi@3.73.0: resolution: {integrity: sha512-z8iYzQGBu35ZkTQ9mtR8RqugJZ9RCLn8fv3d7LsgDBzOijGQP3RdKTX4LA7LXw03ZhU5z0l4xfhIMgSES31+cg==} engines: {node: '>=10'} - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -2140,10 +1862,6 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} - p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2162,25 +1880,14 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -2189,10 +1896,6 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} - path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -2253,15 +1956,6 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - - pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -2273,10 +1967,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} - postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -2389,10 +2079,6 @@ packages: resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} - read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -2401,14 +2087,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - - regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -2420,11 +2098,6 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -2441,25 +2114,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -2474,50 +2131,14 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -2542,18 +2163,6 @@ packages: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -2564,10 +2173,6 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2576,22 +2181,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.padend@3.1.6: - resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -2603,10 +2192,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -2623,18 +2208,10 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - tar-fs@2.1.2: resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} @@ -2768,22 +2345,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - typescript-eslint@8.34.1: resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2803,10 +2364,6 @@ packages: resolution: {integrity: sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==} hasBin: true - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -2820,17 +2377,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - uuid@11.0.5: resolution: {integrity: sha512-508e6IcKLrhxKdBbcA2b4KQZlLVp2+J5UwQ6F7Drckkc5N9ZJwFa4TgWtsww9UG8fGHbm6gbV19TdM5pQ4GaIA==} hasBin: true - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vite-node@3.2.4: resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -2937,26 +2487,6 @@ packages: whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3425,12 +2955,15 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.12.5 '@swc/core-win32-ia32-msvc': 1.12.5 '@swc/core-win32-x64-msvc': 1.12.5 + optional: true - '@swc/counter@0.1.3': {} + '@swc/counter@0.1.3': + optional: true '@swc/types@0.1.23': dependencies: '@swc/counter': 0.1.3 + optional: true '@tanstack/query-core@5.81.0': {} @@ -3439,8 +2972,6 @@ snapshots: '@tanstack/query-core': 5.81.0 react: 19.1.0 - '@types/async-exit-hook@2.0.2': {} - '@types/better-sqlite3@7.6.12': dependencies: '@types/node': 20.17.24 @@ -3471,8 +3002,6 @@ snapshots: '@types/pluralize@0.0.33': {} - '@types/semver@7.5.8': {} - '@types/tmp@0.2.6': {} '@types/vscode@1.101.0': {} @@ -3628,10 +3157,6 @@ snapshots: ansi-regex@6.1.0: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -3642,31 +3167,8 @@ snapshots: argparse@2.0.1: {} - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - is-array-buffer: 3.0.5 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.5 - assertion-error@2.0.1: {} - async-exit-hook@2.0.1: {} - - async-function@1.0.0: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.1.0 - balanced-match@1.0.2: {} base64-js@1.5.1: {} @@ -3742,12 +3244,6 @@ snapshots: loupe: 3.1.4 pathval: 2.0.0 - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -3785,16 +3281,10 @@ snapshots: clone@1.0.4: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} colors@1.4.0: {} @@ -3811,39 +3301,13 @@ snapshots: consola@3.4.2: {} - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - debug@4.4.1: + debug@4.4.1: dependencies: ms: 2.1.3 @@ -3869,12 +3333,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - detect-libc@2.0.3: {} dunder-proto@1.0.1: @@ -3893,67 +3351,6 @@ snapshots: dependencies: once: 1.4.0 - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - es-abstract@1.24.0: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 - es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -3964,19 +3361,6 @@ snapshots: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - esbuild-register@3.6.0(esbuild@0.25.5): dependencies: debug: 4.4.1 @@ -4039,8 +3423,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.5 '@esbuild/win32-x64': 0.25.5 - escape-string-regexp@1.0.5: {} - escape-string-regexp@4.0.0: {} eslint-scope@8.4.0: @@ -4170,10 +3552,6 @@ snapshots: flatted@3.3.3: {} - for-each@0.3.5: - dependencies: - is-callable: 1.2.7 - foreground-child@3.3.0: dependencies: cross-spawn: 7.0.6 @@ -4197,17 +3575,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.8: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - functions-have-names: 1.2.3 - hasown: 2.0.2 - is-callable: 1.2.7 - - functions-have-names@1.2.3: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -4226,12 +3593,6 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - get-tsconfig@4.10.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -4270,43 +3631,24 @@ snapshots: globals@14.0.0: {} - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 - gopd@1.2.0: {} graceful-fs@4.2.11: {} graphemer@1.4.0: {} - has-bigints@1.1.0: {} - - has-flag@3.0.0: {} - has-flag@4.0.0: {} has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 - has-proto@1.2.0: - dependencies: - dunder-proto: 1.0.1 - has-symbols@1.1.0: {} - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - hasown@2.0.2: dependencies: function-bind: 1.1.2 - hosted-git-info@2.8.9: {} - ieee754@1.2.1: {} ignore@5.3.2: {} @@ -4324,127 +3666,20 @@ snapshots: ini@1.3.8: {} - internal-slot@1.1.0: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - - is-array-buffer@3.0.5: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - - is-arrayish@0.2.1: {} - - is-async-function@2.1.1: - dependencies: - async-function: 1.0.0 - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-bigint@1.1.0: - dependencies: - has-bigints: 1.1.0 - - is-boolean-object@1.2.2: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-callable@1.2.7: {} - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-typed-array: 1.1.15 - - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-extglob@2.1.1: {} - is-finalizationregistry@1.1.1: - dependencies: - call-bound: 1.0.4 - is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.1.0: - dependencies: - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-interactive@1.0.0: {} - is-map@2.0.3: {} - - is-negative-zero@2.0.3: {} - - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-number@7.0.0: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.4 - - is-string@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.4 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.19 - is-unicode-supported@0.1.0: {} - is-weakmap@2.0.2: {} - - is-weakref@1.1.1: - dependencies: - call-bound: 1.0.4 - - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - isarray@2.0.5: {} isexe@2.0.0: {} @@ -4471,8 +3706,6 @@ snapshots: json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: {} - json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} @@ -4533,13 +3766,6 @@ snapshots: lines-and-columns@1.2.4: {} - load-json-file@4.0.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - load-tsconfig@0.2.5: {} locate-path@6.0.0: @@ -4571,8 +3797,6 @@ snapshots: math-intrinsics@1.1.0: {} - memorystream@0.3.1: {} - merge2@1.4.1: {} micromatch@4.0.8: @@ -4629,46 +3853,14 @@ snapshots: natural-compare@1.4.0: {} - nice-try@1.0.5: {} - node-abi@3.73.0: dependencies: semver: 7.7.2 - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.10 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - - npm-run-all@4.1.5: - dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.6 - memorystream: 0.3.1 - minimatch: 3.1.2 - pidtree: 0.3.1 - read-pkg: 3.0.0 - shell-quote: 1.8.3 - string.prototype.padend: 3.1.6 - object-assign@4.1.1: {} - object-inspect@1.13.4: {} - object-keys@1.1.1: {} - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 - obuf@1.1.2: {} once@1.4.0: @@ -4700,12 +3892,6 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - own-keys@1.0.1: - dependencies: - get-intrinsic: 1.3.0 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 - p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -4722,19 +3908,10 @@ snapshots: dependencies: callsites: 3.1.0 - parse-json@4.0.0: - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - path-exists@4.0.0: {} - path-key@2.0.1: {} - path-key@3.1.1: {} - path-parse@1.0.7: {} - path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -4745,10 +3922,6 @@ snapshots: lru-cache: 11.1.0 minipass: 7.1.2 - path-type@3.0.0: - dependencies: - pify: 3.0.0 - pathe@2.0.3: {} pathval@2.0.0: {} @@ -4806,10 +3979,6 @@ snapshots: picomatch@4.0.2: {} - pidtree@0.3.1: {} - - pify@3.0.0: {} - pirates@4.0.7: {} pkg-types@1.3.1: @@ -4820,8 +3989,6 @@ snapshots: pluralize@8.0.0: {} - possible-typed-array-names@1.1.0: {} - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.6)(tsx@4.20.3): dependencies: lilconfig: 3.1.3 @@ -4914,12 +4081,6 @@ snapshots: react@19.1.0: {} - read-pkg@3.0.0: - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -4928,38 +4089,12 @@ snapshots: readdirp@4.1.2: {} - reflect.getprototypeof@1.0.10: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - which-builtin-type: 1.2.1 - - regexp.prototype.flags@1.5.4: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-errors: 1.3.0 - get-proto: 1.0.1 - gopd: 1.2.0 - set-function-name: 2.0.2 - resolve-from@4.0.0: {} resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -4997,29 +4132,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.3: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - isarray: 2.0.5 - safe-buffer@5.2.1: {} - safe-push-apply@1.0.0: - dependencies: - es-errors: 1.3.0 - isarray: 2.0.5 - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - - semver@5.7.2: {} - semver@7.6.3: {} semver@7.7.2: {} @@ -5033,61 +4147,12 @@ snapshots: gopd: 1.2.0 has-property-descriptors: 1.0.2 - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-proto@1.0.0: - dependencies: - dunder-proto: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} - - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 - siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -5108,31 +4173,12 @@ snapshots: dependencies: whatwg-url: 7.1.0 - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 - - spdx-license-ids@3.0.21: {} - split2@4.2.0: {} stackback@0.0.2: {} std-env@3.9.0: {} - stop-iteration-iterator@1.1.0: - dependencies: - es-errors: 1.3.0 - internal-slot: 1.1.0 - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5145,36 +4191,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.padend@3.1.6: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 - - string.prototype.trim@1.2.10: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-object-atoms: 1.1.1 - has-property-descriptors: 1.0.2 - - string.prototype.trimend@1.0.9: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -5187,8 +4203,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-bom@3.0.0: {} - strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} @@ -5207,16 +4221,10 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} - tar-fs@2.1.2: dependencies: chownr: 1.1.4 @@ -5353,39 +4361,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typed-array-buffer@1.0.3: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-typed-array: 1.1.15 - - typed-array-byte-length@1.0.3: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - - typed-array-byte-offset@1.0.4: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.10 - - typed-array-length@1.0.7: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.5 - gopd: 1.2.0 - is-typed-array: 1.1.15 - possible-typed-array-names: 1.1.0 - reflect.getprototypeof: 1.0.10 - typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): dependencies: '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) @@ -5402,13 +4377,6 @@ snapshots: ulid@3.0.0: {} - unbox-primitive@1.1.0: - dependencies: - call-bound: 1.0.4 - has-bigints: 1.1.0 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.1 - undici-types@6.19.8: {} universalify@2.0.1: {} @@ -5419,15 +4387,8 @@ snapshots: util-deprecate@1.0.2: {} - utility-types@3.11.0: {} - uuid@11.0.5: {} - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - vite-node@3.2.4(@types/node@20.17.24)(jiti@2.4.2)(tsx@4.20.3): dependencies: cac: 6.7.14 @@ -5539,51 +4500,6 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - which-boxed-primitive@1.1.1: - dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.2 - is-number-object: 1.1.1 - is-string: 1.1.1 - is-symbol: 1.1.1 - - which-builtin-type@1.2.1: - dependencies: - call-bound: 1.0.4 - function.prototype.name: 1.1.8 - has-tostringtag: 1.0.2 - is-async-function: 2.1.1 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 - is-regex: 1.2.1 - is-weakref: 1.1.1 - isarray: 2.0.5 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.19 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.4 - - which-typed-array@1.1.19: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 From 47802065ebbe03a5d07353c2d2c77e4615e1f24b Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:14:47 +0800 Subject: [PATCH 5/8] update --- packages/sdk/package.json | 10 -------- packages/sdk/src/local-helpers/index.ts | 4 ---- .../sdk/src/local-helpers/is-plain-object.ts | 23 ------------------- .../sdk/src/local-helpers/lower-case-first.ts | 5 ---- .../sdk/src/local-helpers/tiny-invariant.ts | 17 -------------- .../sdk/src/local-helpers/upper-case-first.ts | 5 ---- packages/sdk/tsup.config.ts | 1 - 7 files changed, 65 deletions(-) delete mode 100644 packages/sdk/src/local-helpers/index.ts delete mode 100644 packages/sdk/src/local-helpers/is-plain-object.ts delete mode 100644 packages/sdk/src/local-helpers/lower-case-first.ts delete mode 100644 packages/sdk/src/local-helpers/tiny-invariant.ts delete mode 100644 packages/sdk/src/local-helpers/upper-case-first.ts diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 074a3d37..ff2a5d78 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -35,16 +35,6 @@ "types": "./dist/schema.d.cts", "default": "./dist/schema.cjs" } - }, - "./local-helpers": { - "import": { - "types": "./dist/local-helpers.d.ts", - "default": "./dist/local-helpers.js" - }, - "require": { - "types": "./dist/local-helpers.d.cts", - "default": "./dist/local-helpers.cjs" - } } }, "dependencies": { diff --git a/packages/sdk/src/local-helpers/index.ts b/packages/sdk/src/local-helpers/index.ts deleted file mode 100644 index 2404c25c..00000000 --- a/packages/sdk/src/local-helpers/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './is-plain-object'; -export * from './lower-case-first'; -export * from './upper-case-first'; -export * from './tiny-invariant'; diff --git a/packages/sdk/src/local-helpers/is-plain-object.ts b/packages/sdk/src/local-helpers/is-plain-object.ts deleted file mode 100644 index f5c13d6d..00000000 --- a/packages/sdk/src/local-helpers/is-plain-object.ts +++ /dev/null @@ -1,23 +0,0 @@ -function isObject(o: unknown) { - return Object.prototype.toString.call(o) === '[object Object]'; -} - -export function isPlainObject(o: unknown) { - if (isObject(o) === false) return false; - - // If has modified constructor - const ctor = (o as { constructor: unknown }).constructor; - if (ctor === undefined) return true; - - // If has modified prototype - const prot = (ctor as { prototype: unknown }).prototype; - if (isObject(prot) === false) return false; - - // If constructor does not have an Object-specific method - if (Object.prototype.hasOwnProperty.call(prot, 'isPrototypeOf') === false) { - return false; - } - - // Most likely a plain Object - return true; -} diff --git a/packages/sdk/src/local-helpers/lower-case-first.ts b/packages/sdk/src/local-helpers/lower-case-first.ts deleted file mode 100644 index f915f174..00000000 --- a/packages/sdk/src/local-helpers/lower-case-first.ts +++ /dev/null @@ -1,5 +0,0 @@ -export function lowerCaseFirst(input: string) { - return input.charAt(0).toLowerCase() + input.slice(1); -} - -export { lowerCaseFirst as uncapitalize }; diff --git a/packages/sdk/src/local-helpers/tiny-invariant.ts b/packages/sdk/src/local-helpers/tiny-invariant.ts deleted file mode 100644 index 1e6638e3..00000000 --- a/packages/sdk/src/local-helpers/tiny-invariant.ts +++ /dev/null @@ -1,17 +0,0 @@ -const isProduction = process.env['NODE_ENV'] === 'production'; -const prefix = 'Invariant failed'; - -export function invariant( - condition: unknown, - message?: string, -): asserts condition { - if (condition) { - return; - } - - if (isProduction) { - throw new Error(prefix); - } - - throw new Error(message ? `${prefix}: ${message}` : prefix); -} diff --git a/packages/sdk/src/local-helpers/upper-case-first.ts b/packages/sdk/src/local-helpers/upper-case-first.ts deleted file mode 100644 index f3719e6f..00000000 --- a/packages/sdk/src/local-helpers/upper-case-first.ts +++ /dev/null @@ -1,5 +0,0 @@ -export function upperCaseFirst(input: string) { - return input.charAt(0).toUpperCase() + input.slice(1); -} - -export { upperCaseFirst as capitalize }; diff --git a/packages/sdk/tsup.config.ts b/packages/sdk/tsup.config.ts index 9a917cee..4c9aca3e 100644 --- a/packages/sdk/tsup.config.ts +++ b/packages/sdk/tsup.config.ts @@ -4,7 +4,6 @@ export default defineConfig({ entry: { index: 'src/index.ts', schema: 'src/schema/index.ts', - 'local-helpers': 'src/local-helpers/index.ts', }, outDir: 'dist', splitting: false, From addb6fcca89273eafa0c13b69af35944913a062a Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:18:47 +0800 Subject: [PATCH 6/8] update --- packages/runtime/src/client/functions.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/runtime/src/client/functions.ts b/packages/runtime/src/client/functions.ts index 2c1f3c4f..6b548e8d 100644 --- a/packages/runtime/src/client/functions.ts +++ b/packages/runtime/src/client/functions.ts @@ -1,4 +1,4 @@ -import { invariant, capitalize, uncapitalize } from '@zenstackhq/common-helpers'; +import { invariant, lowerCaseFirst, upperCaseFirst } from '@zenstackhq/common-helpers'; import { sql, ValueNode, type Expression, type ExpressionBuilder } from 'kysely'; import { match } from 'ts-pattern'; import type { ZModelFunction, ZModelFunctionContext } from './options'; @@ -132,8 +132,8 @@ function processCasing(casing: Expression, result: string, model: string) { .with('original', () => model) .with('upper', () => result.toUpperCase()) .with('lower', () => result.toLowerCase()) - .with('capitalize', () => capitalize(result)) - .with('uncapitalize', () => uncapitalize(result)) + .with('capitalize', () => upperCaseFirst(result)) + .with('uncapitalize', () => lowerCaseFirst(result)) .otherwise(() => { throw new Error( `Invalid casing value: ${opNode.value}. Must be "original", "upper", "lower", "capitalize", or "uncapitalize".`, From 1dfcab018d5e5ca24303d7651752ea08407cebd4 Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:21:16 +0800 Subject: [PATCH 7/8] update --- packages/runtime/test/utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/runtime/test/utils.ts b/packages/runtime/test/utils.ts index 21cd1f9c..88aa389c 100644 --- a/packages/runtime/test/utils.ts +++ b/packages/runtime/test/utils.ts @@ -1,7 +1,6 @@ import { invariant } from '@zenstackhq/common-helpers'; import { loadDocument } from '@zenstackhq/language'; import { PrismaSchemaGenerator } from '@zenstackhq/sdk'; -import { invariant } from '@zenstackhq/sdk/local-helpers'; import { generateTsSchema } from '@zenstackhq/testtools'; import SQLite from 'better-sqlite3'; import { execSync } from 'node:child_process'; From 6614a900642d42b0965ad3c39eff38d0d6bf6fa1 Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:26:33 +0800 Subject: [PATCH 8/8] update --- packages/runtime/src/plugins/policy/expression-transformer.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/runtime/src/plugins/policy/expression-transformer.ts b/packages/runtime/src/plugins/policy/expression-transformer.ts index 1ffc321a..23725791 100644 --- a/packages/runtime/src/plugins/policy/expression-transformer.ts +++ b/packages/runtime/src/plugins/policy/expression-transformer.ts @@ -1,5 +1,4 @@ import { invariant } from '@zenstackhq/common-helpers'; -import type { OperandExpression } from 'kysely'; import { AliasNode, BinaryOperationNode,