From 3ad272f3453a9599ab470bc30fd0e6c1884ae9bc Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Sat, 1 Apr 2023 20:53:44 +0800 Subject: [PATCH] refactor: leverage pnpmfile for dependency installation --- .pnpmfile.cjs | 51 ++ package.json | 4 +- packages/connectors/.gitignore | 1 - packages/connectors/README.md | 21 + .../package.extend.json | 14 - .../connector-alipay-native/package.json | 47 ++ .../connector-alipay-web/package.extend.json | 14 - .../connector-alipay-web/package.json | 47 ++ .../connector-alipay-web/src/types.ts | 5 +- .../connector-aliyun-dm/package.extend.json | 6 - .../connector-aliyun-dm/package.json | 41 ++ .../connector-aliyun-sms/package.extend.json | 6 - .../connector-aliyun-sms/package.json | 41 ++ .../connector-apple/package.extend.json | 10 - .../connectors/connector-apple/package.json | 43 ++ .../connector-aws-ses/package.extend.json | 10 - .../connectors/connector-aws-ses/package.json | 44 ++ .../connector-azuread/package.extend.json | 10 - .../connectors/connector-azuread/package.json | 43 ++ .../connector-discord/package.extend.json | 7 - .../connectors/connector-discord/package.json | 42 ++ .../connector-facebook/package.extend.json | 7 - .../connector-facebook/package.json | 42 ++ .../connector-feishu-web/package.extend.json | 7 - .../connector-feishu-web/package.json | 42 ++ .../connector-github/package.extend.json | 10 - .../connectors/connector-github/package.json | 43 ++ .../connector-google/package.extend.json | 7 - .../connectors/connector-google/package.json | 42 ++ .../connector-kakao/package.extend.json | 7 - .../connectors/connector-kakao/package.json | 42 ++ .../connector-logto-email/package.extend.json | 8 - .../connector-logto-email/package.json | 42 ++ .../connector-logto-sms/package.extend.json | 8 - .../connector-logto-sms/package.json | 42 ++ .../package.extend.json | 8 - .../connector-logto-social-demo/package.json | 42 ++ .../package.extend.json | 10 - .../package.json | 42 ++ .../connector-mock-email/package.extend.json | 10 - .../connector-mock-email/package.json | 42 ++ .../connector-mock-sms/package.extend.json | 10 - .../connector-mock-sms/package.json | 42 ++ .../connector-mock-social/package.extend.json | 10 - .../connector-mock-social/package.json | 42 ++ .../connector-naver/package.extend.json | 7 - .../connectors/connector-naver/package.json | 42 ++ .../connector-oauth2/package.extend.json | 10 - .../connectors/connector-oauth2/package.json | 43 ++ .../connector-oidc/package.extend.json | 11 - .../connectors/connector-oidc/package.json | 44 ++ .../connector-saml/package.extend.json | 11 - .../connectors/connector-saml/package.json | 44 ++ .../package.extend.json | 7 - .../connector-sendgrid-email/package.json | 42 ++ .../connector-smtp/package.extend.json | 13 - .../connectors/connector-smtp/package.json | 46 ++ .../connector-tencent-sms/package.extend.json | 7 - .../connector-tencent-sms/package.json | 42 ++ .../connector-twilio-sms/package.extend.json | 7 - .../connector-twilio-sms/package.json | 42 ++ .../package.extend.json | 7 - .../connector-wechat-native/package.json | 42 ++ .../connector-wechat-web/package.extend.json | 7 - .../connector-wechat-web/package.json | 42 ++ packages/connectors/templates/package.json | 5 +- .../connectors/templates/sync-from-current.js | 29 -- packages/connectors/templates/sync-preset.js | 58 +++ .../connectors/templates/sync-to-current.js | 104 ---- pnpm-lock.yaml | 460 +++++++----------- 70 files changed, 1581 insertions(+), 705 deletions(-) create mode 100644 .pnpmfile.cjs create mode 100644 packages/connectors/README.md delete mode 100644 packages/connectors/connector-alipay-native/package.extend.json create mode 100644 packages/connectors/connector-alipay-native/package.json delete mode 100644 packages/connectors/connector-alipay-web/package.extend.json create mode 100644 packages/connectors/connector-alipay-web/package.json delete mode 100644 packages/connectors/connector-aliyun-dm/package.extend.json create mode 100644 packages/connectors/connector-aliyun-dm/package.json delete mode 100644 packages/connectors/connector-aliyun-sms/package.extend.json create mode 100644 packages/connectors/connector-aliyun-sms/package.json delete mode 100644 packages/connectors/connector-apple/package.extend.json create mode 100644 packages/connectors/connector-apple/package.json delete mode 100644 packages/connectors/connector-aws-ses/package.extend.json create mode 100644 packages/connectors/connector-aws-ses/package.json delete mode 100644 packages/connectors/connector-azuread/package.extend.json create mode 100644 packages/connectors/connector-azuread/package.json delete mode 100644 packages/connectors/connector-discord/package.extend.json create mode 100644 packages/connectors/connector-discord/package.json delete mode 100644 packages/connectors/connector-facebook/package.extend.json create mode 100644 packages/connectors/connector-facebook/package.json delete mode 100644 packages/connectors/connector-feishu-web/package.extend.json create mode 100644 packages/connectors/connector-feishu-web/package.json delete mode 100644 packages/connectors/connector-github/package.extend.json create mode 100644 packages/connectors/connector-github/package.json delete mode 100644 packages/connectors/connector-google/package.extend.json create mode 100644 packages/connectors/connector-google/package.json delete mode 100644 packages/connectors/connector-kakao/package.extend.json create mode 100644 packages/connectors/connector-kakao/package.json delete mode 100644 packages/connectors/connector-logto-email/package.extend.json create mode 100644 packages/connectors/connector-logto-email/package.json delete mode 100644 packages/connectors/connector-logto-sms/package.extend.json create mode 100644 packages/connectors/connector-logto-sms/package.json delete mode 100644 packages/connectors/connector-logto-social-demo/package.extend.json create mode 100644 packages/connectors/connector-logto-social-demo/package.json delete mode 100644 packages/connectors/connector-mock-email-alternative/package.extend.json create mode 100644 packages/connectors/connector-mock-email-alternative/package.json delete mode 100644 packages/connectors/connector-mock-email/package.extend.json create mode 100644 packages/connectors/connector-mock-email/package.json delete mode 100644 packages/connectors/connector-mock-sms/package.extend.json create mode 100644 packages/connectors/connector-mock-sms/package.json delete mode 100644 packages/connectors/connector-mock-social/package.extend.json create mode 100644 packages/connectors/connector-mock-social/package.json delete mode 100644 packages/connectors/connector-naver/package.extend.json create mode 100644 packages/connectors/connector-naver/package.json delete mode 100644 packages/connectors/connector-oauth2/package.extend.json create mode 100644 packages/connectors/connector-oauth2/package.json delete mode 100644 packages/connectors/connector-oidc/package.extend.json create mode 100644 packages/connectors/connector-oidc/package.json delete mode 100644 packages/connectors/connector-saml/package.extend.json create mode 100644 packages/connectors/connector-saml/package.json delete mode 100644 packages/connectors/connector-sendgrid-email/package.extend.json create mode 100644 packages/connectors/connector-sendgrid-email/package.json delete mode 100644 packages/connectors/connector-smtp/package.extend.json create mode 100644 packages/connectors/connector-smtp/package.json delete mode 100644 packages/connectors/connector-tencent-sms/package.extend.json create mode 100644 packages/connectors/connector-tencent-sms/package.json delete mode 100644 packages/connectors/connector-twilio-sms/package.extend.json create mode 100644 packages/connectors/connector-twilio-sms/package.json delete mode 100644 packages/connectors/connector-wechat-native/package.extend.json create mode 100644 packages/connectors/connector-wechat-native/package.json delete mode 100644 packages/connectors/connector-wechat-web/package.extend.json create mode 100644 packages/connectors/connector-wechat-web/package.json delete mode 100644 packages/connectors/templates/sync-from-current.js create mode 100644 packages/connectors/templates/sync-preset.js delete mode 100644 packages/connectors/templates/sync-to-current.js diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs new file mode 100644 index 000000000..1dd3e8b58 --- /dev/null +++ b/.pnpmfile.cjs @@ -0,0 +1,51 @@ +// See https://pnpm.io/pnpmfile +const fs = require('node:fs/promises'); + +// Types are inspected and edited from https://github.com/pnpm/pnpm/blob/ef6c22e129dc3d76998cee33647b70a66d1f36bf/hooks/pnpmfile/src/requireHooks.ts +/** + * @typedef {Object} HookContext + * @property {(message: string) => void} log + */ + +/** + * @typedef {Object} Hooks + * @property {((pkg: unknown, context: HookContext) => unknown)=} readPackage + */ + +const isObject = (value) => value !== null && typeof value === 'object'; + +/** @type Hooks */ +const hooks = { readPackage: async (pkg) => { + // Skip if not a connector package + if (!( + isObject(pkg) && + 'name' in pkg && + String(pkg.name) !== '@logto/connector-kit' && + String(pkg.name).startsWith('@logto/connector-') + )) { + return pkg; + } + + // Apply connector's `package.json` to the template + const result = JSON.parse(await fs.readFile('packages/connectors/templates/package.json', 'utf8')); + for (const [key, value] of Object.entries(pkg)) { + if (key === '$schema') { + continue; + } + + // Shallow merge + if (Array.isArray(result[key])) { + result[key] = [...result[key], ...value]; + } else if (typeof value === 'object' && value !== null) { + result[key] = { ...result[key], ...value }; + } else { + result[key] = value; + } + } + + return result; +} }; + +module.exports = { + hooks, +}; diff --git a/package.json b/package.json index a8fa67b93..beb62d822 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,7 @@ "type": "module", "scripts": { "preinstall": "npx only-allow pnpm", - "connectors:sync": "cd packages/connectors && node templates/sync-to-current.js", - "connectors:update": "cd packages/connectors && node templates/sync-from-current.js", - "pnpm:devPreinstall": "pnpm connectors:sync", + "pnpm:devPreinstall": "cd packages/connectors && node templates/sync-preset.js", "prepare": "if test \"$NODE_ENV\" != \"production\" && test \"$CI\" != \"true\" ; then husky install ; fi", "prepack": "pnpm -r prepack", "dev": "pnpm -r prepack && pnpm start:dev", diff --git a/packages/connectors/.gitignore b/packages/connectors/.gitignore index d25bcdee8..35dfa630e 100644 --- a/packages/connectors/.gitignore +++ b/packages/connectors/.gitignore @@ -1,5 +1,4 @@ # generated files -/*/package.json /*/types /*/tsconfig.* /*/jest.config.* diff --git a/packages/connectors/README.md b/packages/connectors/README.md new file mode 100644 index 000000000..1524e4187 --- /dev/null +++ b/packages/connectors/README.md @@ -0,0 +1,21 @@ +# Logto connectors directory + +## Template syncing + +Since all connectors have a same pattern for `package.json`, here we leverage several techniques to avoid annoying copy-pastes: + +### When `pnpm i` + +- The `"pnpm:devPreinstall"` script in the project root executes `templates/sync-preset.js` that: + - Check every connectors's `package.json` to see if there's any unexpected keys + - Sync `templates/package.json` by REPLACING every template key (except dependency keys) in the current `package.json` with the value from the template `package.json` + - Copies all config files to every connector directory +- The hook in `.pnpmfile.cjs` of the project root merges dependency fields for every connector + - Also we can update arbitrary fields in this hook, we still need to keep non-dependency fields in the connector's `package.json` since the hook only takes affect during `pnpm i`. + +> **Caution** +> Workspace dependencies should be defined in connector's package.json (not template) in order to let PNPM correctly resolves the workspace dependency tree; + +### Add a new custom field + +Head to `templates/sync-preset.js` and update `allowedCustomKeys`. diff --git a/packages/connectors/connector-alipay-native/package.extend.json b/packages/connectors/connector-alipay-native/package.extend.json deleted file mode 100644 index 23bc459de..000000000 --- a/packages/connectors/connector-alipay-native/package.extend.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-alipay-native", - "version": "1.0.0", - "description": "Alipay Native implementation.", - "author": "Silverhand Inc. ", - "dependencies": { - "dayjs": "^1.10.5", - "iconv-lite": "^0.6.3" - }, - "devDependencies": { - "@shopify/jest-koa-mocks": "^5.0.0" - } -} diff --git a/packages/connectors/connector-alipay-native/package.json b/packages/connectors/connector-alipay-native/package.json new file mode 100644 index 000000000..923826259 --- /dev/null +++ b/packages/connectors/connector-alipay-native/package.json @@ -0,0 +1,47 @@ +{ + "name": "@logto/connector-alipay-native", + "version": "1.0.0", + "description": "Alipay Native implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "dayjs": "^1.10.5", + "iconv-lite": "^0.6.3" + }, + "devDependencies": { + "@shopify/jest-koa-mocks": "^5.0.0" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-alipay-web/package.extend.json b/packages/connectors/connector-alipay-web/package.extend.json deleted file mode 100644 index 5e1b0929b..000000000 --- a/packages/connectors/connector-alipay-web/package.extend.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-alipay-web", - "version": "1.0.0", - "description": "Alipay implementation.", - "dependencies": { - "@logto/core-kit": "1.0.0-beta.29", - "dayjs": "^1.10.5", - "iconv-lite": "^0.6.3" - }, - "devDependencies": { - "@shopify/jest-koa-mocks": "^5.0.0" - } -} diff --git a/packages/connectors/connector-alipay-web/package.json b/packages/connectors/connector-alipay-web/package.json new file mode 100644 index 000000000..1c30faf44 --- /dev/null +++ b/packages/connectors/connector-alipay-web/package.json @@ -0,0 +1,47 @@ +{ + "name": "@logto/connector-alipay-web", + "version": "1.0.0", + "description": "Alipay implementation.", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "@logto/core-kit": "workspace:^", + "dayjs": "^1.10.5", + "iconv-lite": "^0.6.3" + }, + "devDependencies": { + "@shopify/jest-koa-mocks": "^5.0.0" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-alipay-web/src/types.ts b/packages/connectors/connector-alipay-web/src/types.ts index 2acfa89ed..2c3ae263c 100644 --- a/packages/connectors/connector-alipay-web/src/types.ts +++ b/packages/connectors/connector-alipay-web/src/types.ts @@ -1,17 +1,14 @@ -import { fallback } from '@logto/core-kit'; import { z } from 'zod'; import { alipaySigningAlgorithms, charsetEnum, fallbackCharset } from './constant.js'; const charsetGuard = z.enum(charsetEnum); -type Charset = z.infer; - export const alipayConfigGuard = z.object({ appId: z.string(), privateKey: z.string(), signType: z.enum(alipaySigningAlgorithms), - charset: charsetGuard.or(fallback(fallbackCharset)), + charset: charsetGuard.default(fallbackCharset), }); export type AlipayConfig = z.infer; diff --git a/packages/connectors/connector-aliyun-dm/package.extend.json b/packages/connectors/connector-aliyun-dm/package.extend.json deleted file mode 100644 index a51bb2b6e..000000000 --- a/packages/connectors/connector-aliyun-dm/package.extend.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-aliyun-dm", - "version": "1.0.0", - "description": "Aliyun DM connector implementation." -} diff --git a/packages/connectors/connector-aliyun-dm/package.json b/packages/connectors/connector-aliyun-dm/package.json new file mode 100644 index 000000000..fc2bf04d9 --- /dev/null +++ b/packages/connectors/connector-aliyun-dm/package.json @@ -0,0 +1,41 @@ +{ + "name": "@logto/connector-aliyun-dm", + "version": "1.0.0", + "description": "Aliyun DM connector implementation.", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-aliyun-sms/package.extend.json b/packages/connectors/connector-aliyun-sms/package.extend.json deleted file mode 100644 index aca3faea3..000000000 --- a/packages/connectors/connector-aliyun-sms/package.extend.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-aliyun-sms", - "version": "1.0.0", - "description": "Aliyun SMS connector implementation." -} diff --git a/packages/connectors/connector-aliyun-sms/package.json b/packages/connectors/connector-aliyun-sms/package.json new file mode 100644 index 000000000..93c155f13 --- /dev/null +++ b/packages/connectors/connector-aliyun-sms/package.json @@ -0,0 +1,41 @@ +{ + "name": "@logto/connector-aliyun-sms", + "version": "1.0.0", + "description": "Aliyun SMS connector implementation.", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-apple/package.extend.json b/packages/connectors/connector-apple/package.extend.json deleted file mode 100644 index 8409c9416..000000000 --- a/packages/connectors/connector-apple/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-apple", - "version": "1.0.0", - "description": "Apple web connector implementation.", - "dependencies": { - "@logto/core-kit": "1.0.0-beta.30", - "jose": "^4.3.8" - } -} diff --git a/packages/connectors/connector-apple/package.json b/packages/connectors/connector-apple/package.json new file mode 100644 index 000000000..56d589c2c --- /dev/null +++ b/packages/connectors/connector-apple/package.json @@ -0,0 +1,43 @@ +{ + "name": "@logto/connector-apple", + "version": "1.0.0", + "description": "Apple web connector implementation.", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "@logto/core-kit": "workspace:^", + "jose": "^4.3.8" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-aws-ses/package.extend.json b/packages/connectors/connector-aws-ses/package.extend.json deleted file mode 100644 index a4e044fbd..000000000 --- a/packages/connectors/connector-aws-ses/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@logto/connector-aws-ses", - "version": "1.0.0", - "description": "Logto Connector for Amazon SES", - "author": "Jeff ", - "dependencies": { - "@aws-sdk/client-sesv2": "^3.224.0", - "@aws-sdk/types": "^3.226.0" - } -} diff --git a/packages/connectors/connector-aws-ses/package.json b/packages/connectors/connector-aws-ses/package.json new file mode 100644 index 000000000..4856ab233 --- /dev/null +++ b/packages/connectors/connector-aws-ses/package.json @@ -0,0 +1,44 @@ +{ + "name": "@logto/connector-aws-ses", + "version": "1.0.0", + "description": "Logto Connector for Amazon SES", + "author": "Jeff ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "@aws-sdk/client-sesv2": "^3.224.0", + "@aws-sdk/types": "^3.226.0" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-azuread/package.extend.json b/packages/connectors/connector-azuread/package.extend.json deleted file mode 100644 index 6633143af..000000000 --- a/packages/connectors/connector-azuread/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-azuread", - "version": "1.0.0", - "description": "Microsoft Azure AD connector implementation.", - "author": "Mobilist Inc. ", - "dependencies": { - "@azure/msal-node": "^1.12.0" - } -} diff --git a/packages/connectors/connector-azuread/package.json b/packages/connectors/connector-azuread/package.json new file mode 100644 index 000000000..597e658cb --- /dev/null +++ b/packages/connectors/connector-azuread/package.json @@ -0,0 +1,43 @@ +{ + "name": "@logto/connector-azuread", + "version": "1.0.0", + "description": "Microsoft Azure AD connector implementation.", + "author": "Mobilist Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "@azure/msal-node": "^1.12.0" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-discord/package.extend.json b/packages/connectors/connector-discord/package.extend.json deleted file mode 100644 index ab8abfd5b..000000000 --- a/packages/connectors/connector-discord/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-discord", - "version": "1.0.0", - "description": "Discord connector implementation.", - "author": "ZR3SYSTEMS. " -} diff --git a/packages/connectors/connector-discord/package.json b/packages/connectors/connector-discord/package.json new file mode 100644 index 000000000..ea3bc9b5a --- /dev/null +++ b/packages/connectors/connector-discord/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-discord", + "version": "1.0.0", + "description": "Discord connector implementation.", + "author": "ZR3SYSTEMS. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-facebook/package.extend.json b/packages/connectors/connector-facebook/package.extend.json deleted file mode 100644 index 274b92f17..000000000 --- a/packages/connectors/connector-facebook/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-facebook", - "version": "1.0.0", - "description": "Facebook web connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-facebook/package.json b/packages/connectors/connector-facebook/package.json new file mode 100644 index 000000000..8173ac9a1 --- /dev/null +++ b/packages/connectors/connector-facebook/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-facebook", + "version": "1.0.0", + "description": "Facebook web connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-feishu-web/package.extend.json b/packages/connectors/connector-feishu-web/package.extend.json deleted file mode 100644 index 01068bb56..000000000 --- a/packages/connectors/connector-feishu-web/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-feishu-web", - "version": "1.0.0", - "description": "Feishu web connector.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-feishu-web/package.json b/packages/connectors/connector-feishu-web/package.json new file mode 100644 index 000000000..89476db00 --- /dev/null +++ b/packages/connectors/connector-feishu-web/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-feishu-web", + "version": "1.0.0", + "description": "Feishu web connector.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-github/package.extend.json b/packages/connectors/connector-github/package.extend.json deleted file mode 100644 index 7872922fe..000000000 --- a/packages/connectors/connector-github/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-github", - "version": "1.0.0", - "description": "Github web connector implementation.", - "author": "Silverhand Inc. ", - "dependencies": { - "query-string": "^7.0.1" - } -} diff --git a/packages/connectors/connector-github/package.json b/packages/connectors/connector-github/package.json new file mode 100644 index 000000000..b58f8c699 --- /dev/null +++ b/packages/connectors/connector-github/package.json @@ -0,0 +1,43 @@ +{ + "name": "@logto/connector-github", + "version": "1.0.0", + "description": "Github web connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "query-string": "^7.0.1" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-google/package.extend.json b/packages/connectors/connector-google/package.extend.json deleted file mode 100644 index aa2e2f830..000000000 --- a/packages/connectors/connector-google/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-google", - "version": "1.0.0", - "description": "Google web connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-google/package.json b/packages/connectors/connector-google/package.json new file mode 100644 index 000000000..9bdebdd1c --- /dev/null +++ b/packages/connectors/connector-google/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-google", + "version": "1.0.0", + "description": "Google web connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-kakao/package.extend.json b/packages/connectors/connector-kakao/package.extend.json deleted file mode 100644 index ba5bb6a6e..000000000 --- a/packages/connectors/connector-kakao/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-kakao", - "version": "1.0.0", - "description": "Kakao connector implementation.", - "author": "Kyungyoon Kim. " -} diff --git a/packages/connectors/connector-kakao/package.json b/packages/connectors/connector-kakao/package.json new file mode 100644 index 000000000..b853ab9f4 --- /dev/null +++ b/packages/connectors/connector-kakao/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-kakao", + "version": "1.0.0", + "description": "Kakao connector implementation.", + "author": "Kyungyoon Kim. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-logto-email/package.extend.json b/packages/connectors/connector-logto-email/package.extend.json deleted file mode 100644 index 3a2e35580..000000000 --- a/packages/connectors/connector-logto-email/package.extend.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-logto-email", - "version": "1.0.0", - "description": "Logto email connector.", - "author": "Silverhand Inc. ", - "dependencies": {} -} diff --git a/packages/connectors/connector-logto-email/package.json b/packages/connectors/connector-logto-email/package.json new file mode 100644 index 000000000..f7ea8d312 --- /dev/null +++ b/packages/connectors/connector-logto-email/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-logto-email", + "version": "1.0.0", + "description": "Logto email connector.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-logto-sms/package.extend.json b/packages/connectors/connector-logto-sms/package.extend.json deleted file mode 100644 index 11fd694af..000000000 --- a/packages/connectors/connector-logto-sms/package.extend.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-logto-sms", - "version": "1.0.0", - "description": "Logto SMS connector.", - "author": "Silverhand Inc. ", - "dependencies": {} -} diff --git a/packages/connectors/connector-logto-sms/package.json b/packages/connectors/connector-logto-sms/package.json new file mode 100644 index 000000000..a48c217a0 --- /dev/null +++ b/packages/connectors/connector-logto-sms/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-logto-sms", + "version": "1.0.0", + "description": "Logto SMS connector.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-logto-social-demo/package.extend.json b/packages/connectors/connector-logto-social-demo/package.extend.json deleted file mode 100644 index b2e749c8d..000000000 --- a/packages/connectors/connector-logto-social-demo/package.extend.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-logto-social-demo", - "version": "1.0.0", - "description": "OAuth standard connector implementation.", - "author": "Silverhand Inc. ", - "dependencies": {} -} diff --git a/packages/connectors/connector-logto-social-demo/package.json b/packages/connectors/connector-logto-social-demo/package.json new file mode 100644 index 000000000..0a1e67329 --- /dev/null +++ b/packages/connectors/connector-logto-social-demo/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-logto-social-demo", + "version": "1.0.0", + "description": "OAuth standard connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-mock-email-alternative/package.extend.json b/packages/connectors/connector-mock-email-alternative/package.extend.json deleted file mode 100644 index f4146d758..000000000 --- a/packages/connectors/connector-mock-email-alternative/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-mock-standard-email", - "version": "1.0.0", - "description": "Mock Standard Email Service connector implementation for integration tests only.", - "author": "Silverhand Inc. ", - "scripts": { - "test": "echo No test available; exit 0;" - } -} diff --git a/packages/connectors/connector-mock-email-alternative/package.json b/packages/connectors/connector-mock-email-alternative/package.json new file mode 100644 index 000000000..984b5b6f3 --- /dev/null +++ b/packages/connectors/connector-mock-email-alternative/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-mock-standard-email", + "version": "1.0.0", + "description": "Mock Standard Email Service connector implementation for integration tests only.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-mock-email/package.extend.json b/packages/connectors/connector-mock-email/package.extend.json deleted file mode 100644 index 268627093..000000000 --- a/packages/connectors/connector-mock-email/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-mock-email", - "version": "1.0.0", - "description": "Mock Email Service connector implementation for integration tests only.", - "author": "Silverhand Inc. ", - "scripts": { - "test": "echo No test available; exit 0;" - } -} diff --git a/packages/connectors/connector-mock-email/package.json b/packages/connectors/connector-mock-email/package.json new file mode 100644 index 000000000..95a0687b4 --- /dev/null +++ b/packages/connectors/connector-mock-email/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-mock-email", + "version": "1.0.0", + "description": "Mock Email Service connector implementation for integration tests only.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-mock-sms/package.extend.json b/packages/connectors/connector-mock-sms/package.extend.json deleted file mode 100644 index 7488ce00f..000000000 --- a/packages/connectors/connector-mock-sms/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-mock-sms", - "version": "1.0.0", - "description": "Mock SMS connector implementation for integration tests only.", - "author": "Silverhand Inc. ", - "scripts": { - "test": "echo No test available; exit 0;" - } -} diff --git a/packages/connectors/connector-mock-sms/package.json b/packages/connectors/connector-mock-sms/package.json new file mode 100644 index 000000000..db341dfaf --- /dev/null +++ b/packages/connectors/connector-mock-sms/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-mock-sms", + "version": "1.0.0", + "description": "Mock SMS connector implementation for integration tests only.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-mock-social/package.extend.json b/packages/connectors/connector-mock-social/package.extend.json deleted file mode 100644 index c9a4285aa..000000000 --- a/packages/connectors/connector-mock-social/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-mock-social", - "version": "1.0.0", - "description": "Social mock connector implementation.", - "author": "Silverhand Inc. ", - "scripts": { - "test": "echo No test available; exit 0;" - } -} diff --git a/packages/connectors/connector-mock-social/package.json b/packages/connectors/connector-mock-social/package.json new file mode 100644 index 000000000..bf1fd6fef --- /dev/null +++ b/packages/connectors/connector-mock-social/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-mock-social", + "version": "1.0.0", + "description": "Social mock connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-naver/package.extend.json b/packages/connectors/connector-naver/package.extend.json deleted file mode 100644 index 514013f22..000000000 --- a/packages/connectors/connector-naver/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-naver", - "version": "1.0.0", - "description": "Naver connector implementation.", - "author": "Kyungyoon Kim. " -} diff --git a/packages/connectors/connector-naver/package.json b/packages/connectors/connector-naver/package.json new file mode 100644 index 000000000..06130473a --- /dev/null +++ b/packages/connectors/connector-naver/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-naver", + "version": "1.0.0", + "description": "Naver connector implementation.", + "author": "Kyungyoon Kim. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-oauth2/package.extend.json b/packages/connectors/connector-oauth2/package.extend.json deleted file mode 100644 index 7531dbc14..000000000 --- a/packages/connectors/connector-oauth2/package.extend.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-oauth", - "version": "1.0.0", - "description": "OAuth standard connector implementation.", - "author": "Silverhand Inc. ", - "dependencies": { - "query-string": "^7.0.1" - } -} diff --git a/packages/connectors/connector-oauth2/package.json b/packages/connectors/connector-oauth2/package.json new file mode 100644 index 000000000..4ff8676e1 --- /dev/null +++ b/packages/connectors/connector-oauth2/package.json @@ -0,0 +1,43 @@ +{ + "name": "@logto/connector-oauth", + "version": "1.0.0", + "description": "OAuth standard connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "query-string": "^7.0.1" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-oidc/package.extend.json b/packages/connectors/connector-oidc/package.extend.json deleted file mode 100644 index aca54972a..000000000 --- a/packages/connectors/connector-oidc/package.extend.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-oidc", - "version": "1.0.0", - "description": "OIDC standard connector implementation.", - "dependencies": { - "@logto/core-kit": "1.0.0-beta.30", - "jose": "^4.3.8", - "nanoid": "^4.0.0" - } -} diff --git a/packages/connectors/connector-oidc/package.json b/packages/connectors/connector-oidc/package.json new file mode 100644 index 000000000..4bd9d269f --- /dev/null +++ b/packages/connectors/connector-oidc/package.json @@ -0,0 +1,44 @@ +{ + "name": "@logto/connector-oidc", + "version": "1.0.0", + "description": "OIDC standard connector implementation.", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "@logto/core-kit": "workspace:^", + "jose": "^4.3.8", + "nanoid": "^4.0.0" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-saml/package.extend.json b/packages/connectors/connector-saml/package.extend.json deleted file mode 100644 index e56229940..000000000 --- a/packages/connectors/connector-saml/package.extend.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-saml", - "version": "1.0.0", - "description": "SAML standard connector implementation.", - "author": "Silverhand Inc. ", - "dependencies": { - "fast-xml-parser": "^4.0.13", - "samlify": "2.7.7" - } -} diff --git a/packages/connectors/connector-saml/package.json b/packages/connectors/connector-saml/package.json new file mode 100644 index 000000000..b127e8a62 --- /dev/null +++ b/packages/connectors/connector-saml/package.json @@ -0,0 +1,44 @@ +{ + "name": "@logto/connector-saml", + "version": "1.0.0", + "description": "SAML standard connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "fast-xml-parser": "^4.0.13", + "samlify": "2.7.7" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-sendgrid-email/package.extend.json b/packages/connectors/connector-sendgrid-email/package.extend.json deleted file mode 100644 index 2861f9e61..000000000 --- a/packages/connectors/connector-sendgrid-email/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-sendgrid-email", - "version": "1.0.0", - "description": "SendGrid Email Service connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-sendgrid-email/package.json b/packages/connectors/connector-sendgrid-email/package.json new file mode 100644 index 000000000..edb1e05ad --- /dev/null +++ b/packages/connectors/connector-sendgrid-email/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-sendgrid-email", + "version": "1.0.0", + "description": "SendGrid Email Service connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-smtp/package.extend.json b/packages/connectors/connector-smtp/package.extend.json deleted file mode 100644 index ddffa3da2..000000000 --- a/packages/connectors/connector-smtp/package.extend.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-smtp", - "version": "1.0.0", - "description": "SMTP connector implementation.", - "author": "Silverhand Inc. ", - "dependencies": { - "nodemailer": "^6.9.1" - }, - "devDependencies": { - "@types/nodemailer": "^6.4.7" - } -} diff --git a/packages/connectors/connector-smtp/package.json b/packages/connectors/connector-smtp/package.json new file mode 100644 index 000000000..077ceb6a4 --- /dev/null +++ b/packages/connectors/connector-smtp/package.json @@ -0,0 +1,46 @@ +{ + "name": "@logto/connector-smtp", + "version": "1.0.0", + "description": "SMTP connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^", + "nodemailer": "^6.9.1" + }, + "devDependencies": { + "@types/nodemailer": "^6.4.7" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-tencent-sms/package.extend.json b/packages/connectors/connector-tencent-sms/package.extend.json deleted file mode 100644 index 8290f9c66..000000000 --- a/packages/connectors/connector-tencent-sms/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-tencent-sms", - "version": "1.0.0", - "description": "Tencent SMS connector implementation.", - "author": "StringKe" -} diff --git a/packages/connectors/connector-tencent-sms/package.json b/packages/connectors/connector-tencent-sms/package.json new file mode 100644 index 000000000..bcf70ba3d --- /dev/null +++ b/packages/connectors/connector-tencent-sms/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-tencent-sms", + "version": "1.0.0", + "description": "Tencent SMS connector implementation.", + "author": "StringKe", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-twilio-sms/package.extend.json b/packages/connectors/connector-twilio-sms/package.extend.json deleted file mode 100644 index 4648b5c0f..000000000 --- a/packages/connectors/connector-twilio-sms/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-twilio-sms", - "version": "1.0.0", - "description": "Twilio SMS connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-twilio-sms/package.json b/packages/connectors/connector-twilio-sms/package.json new file mode 100644 index 000000000..659a2c864 --- /dev/null +++ b/packages/connectors/connector-twilio-sms/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-twilio-sms", + "version": "1.0.0", + "description": "Twilio SMS connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-wechat-native/package.extend.json b/packages/connectors/connector-wechat-native/package.extend.json deleted file mode 100644 index 8ef3ea919..000000000 --- a/packages/connectors/connector-wechat-native/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-wechat-native", - "version": "1.0.0", - "description": "WeChat native connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-wechat-native/package.json b/packages/connectors/connector-wechat-native/package.json new file mode 100644 index 000000000..e2f4e1854 --- /dev/null +++ b/packages/connectors/connector-wechat-native/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-wechat-native", + "version": "1.0.0", + "description": "WeChat native connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/connector-wechat-web/package.extend.json b/packages/connectors/connector-wechat-web/package.extend.json deleted file mode 100644 index 2be98b9af..000000000 --- a/packages/connectors/connector-wechat-web/package.extend.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/package", - "name": "@logto/connector-wechat-web", - "version": "1.0.0", - "description": "Wechat Web connector implementation.", - "author": "Silverhand Inc. " -} diff --git a/packages/connectors/connector-wechat-web/package.json b/packages/connectors/connector-wechat-web/package.json new file mode 100644 index 000000000..3e3dada65 --- /dev/null +++ b/packages/connectors/connector-wechat-web/package.json @@ -0,0 +1,42 @@ +{ + "name": "@logto/connector-wechat-web", + "version": "1.0.0", + "description": "Wechat Web connector implementation.", + "author": "Silverhand Inc. ", + "dependencies": { + "@logto/connector-kit": "workspace:^" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "exports": "./lib/index.js", + "license": "MPL-2.0", + "type": "module", + "files": [ + "lib", + "docs", + "logo.svg", + "logo-dark.svg" + ], + "scripts": { + "precommit": "lint-staged", + "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", + "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", + "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental", + "lint": "eslint --ext .ts src", + "lint:report": "pnpm lint --format json --output-file report.json", + "test:only": "NODE_OPTIONS=--experimental-vm-modules jest", + "test": "pnpm build:test && pnpm test:only", + "test:ci": "pnpm test:only --silent --coverage", + "prepublishOnly": "pnpm build" + }, + "engines": { + "node": "^18.12.0" + }, + "eslintConfig": { + "extends": "@silverhand" + }, + "prettier": "@silverhand/eslint-config/.prettierrc", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/connectors/templates/package.json b/packages/connectors/templates/package.json index c840ef360..7a3a394f8 100644 --- a/packages/connectors/templates/package.json +++ b/packages/connectors/templates/package.json @@ -11,8 +11,6 @@ "logo-dark.svg" ], "scripts": { - "package:sync": "cd ../../../ && pnpm package:sync", - "package:update": "cd ../../../ && pnpm package:update", "precommit": "lint-staged", "build:test": "rm -rf lib/ && tsc -p tsconfig.test.json --sourcemap", "build": "rm -rf lib/ && tsc -p tsconfig.build.json --noEmit && rollup -c", @@ -25,7 +23,6 @@ "prepublishOnly": "pnpm build" }, "dependencies": { - "@logto/connector-kit": "workspace:^", "@silverhand/essentials": "^2.5.0", "got": "^12.5.3", "snakecase-keys": "^5.4.4", @@ -40,7 +37,7 @@ "@silverhand/eslint-config": "3.0.0", "@silverhand/ts-config": "3.0.0", "@types/jest": "^29.4.0", - "@types/node": "^16.11.18", + "@types/node": "^18.11.18", "@types/supertest": "^2.0.11", "eslint": "^8.34.0", "jest": "^29.5.0", diff --git a/packages/connectors/templates/sync-from-current.js b/packages/connectors/templates/sync-from-current.js deleted file mode 100644 index b4e2977af..000000000 --- a/packages/connectors/templates/sync-from-current.js +++ /dev/null @@ -1,29 +0,0 @@ -// Sync limited info of all `package.json` to `package.extend.json`. - -import fs from 'node:fs/promises'; -import path from 'node:path'; - -// Assuming execution context `packages/connectors` -const sync = async () => { - const packagesDirectory = './'; - const packages = await fs.readdir(packagesDirectory); - - await Promise.all( - packages - .filter((packageName) => packageName.startsWith('connector-')) - .map(async (packageJson) => { - const current = JSON.parse( - await fs.readFile(path.join(packagesDirectory, packageJson, 'package.json'), 'utf8') - ); - const extendPath = path.join(packagesDirectory, packageJson, 'package.extend.json'); - const extended = JSON.parse(await fs.readFile(extendPath, 'utf8')); - - // eslint-disable-next-line @silverhand/fp/no-mutation - extended.version = current.version; - - await fs.writeFile(extendPath, JSON.stringify(extended, undefined, 2) + '\n'); - }) - ); -}; - -await sync(); diff --git a/packages/connectors/templates/sync-preset.js b/packages/connectors/templates/sync-preset.js new file mode 100644 index 000000000..1c4294d19 --- /dev/null +++ b/packages/connectors/templates/sync-preset.js @@ -0,0 +1,58 @@ +// Merge all `package.extend.json` to the template and write to `package.json`. + +import fs from 'node:fs/promises'; +import path from 'node:path'; + +const isDependencyKey = (key) => key.toLowerCase().endsWith('dependencies'); +const allowedCustomKeys = Object.freeze(['name', 'version', 'description', 'author']); + +// Assuming execution context `packages/connectors` +const templateJson = Object.fromEntries( + Object.entries(JSON.parse(await fs.readFile('templates/package.json'))).filter( + // Filter out dependency fields since they'll be handled by the hook in `.pnpmfile.cjs` + ([key]) => !isDependencyKey(key) + ) +); +const templateKeys = Object.keys(templateJson); + +const sync = async () => { + const packagesDirectory = './'; + const packages = await fs.readdir(packagesDirectory); + + await Promise.all( + packages + .filter((packageName) => packageName.startsWith('connector-')) + .map(async (packageName) => { + const packageJsonPath = path.join(packagesDirectory, packageName, 'package.json'); + + // Sync package.json + const current = JSON.parse(await fs.readFile(packageJsonPath, 'utf8')); + + const invalidKeys = Object.keys(current).filter( + (key) => + !isDependencyKey(key) && !allowedCustomKeys.includes(key) && !templateKeys.includes(key) + ); + if (invalidKeys.length > 0) { + throw new Error( + `Invalid key${invalidKeys.length === 1 ? '' : 's'} ${invalidKeys + .map((key) => `"${key}"`) + .join(', ')} found in ${packageName}.` + + '\n' + + `Allowed custom keys are: ${allowedCustomKeys.map((key) => `"${key}"`).join(', ')}.` + ); + } + + await fs.writeFile( + packageJsonPath, + JSON.stringify({ ...current, ...templateJson }, undefined, 2) + '\n' + ); + + // Copy preset + await fs.cp('templates/preset', path.join(packagesDirectory, packageName), { + recursive: true, + }); + }) + ); +}; + +await sync(); diff --git a/packages/connectors/templates/sync-to-current.js b/packages/connectors/templates/sync-to-current.js deleted file mode 100644 index 452abb907..000000000 --- a/packages/connectors/templates/sync-to-current.js +++ /dev/null @@ -1,104 +0,0 @@ -// Merge all `package.extend.json` to the template and write to `package.json`. - -import { existsSync } from 'node:fs'; -import fs from 'node:fs/promises'; -import path from 'node:path'; - -import templateJson from './package.json' assert { type: "json" }; - -const dependencyFields = [ - 'dependencies', - 'devDependencies', - 'peerDependencies', - 'optionalDependencies', -]; - -const dependencyChanged = (json1, json2) => { - return !dependencyFields.every((field) => { - if (typeof json1[field] !== typeof json2[field]) { - return false; - } - - if (typeof json1[field] !== 'object' || json1[field] === null) { - return json1[field] === json2[field]; - } - - const composed1 = Object.entries(json1[field]) - .slice() - .sort(([a], [b]) => a.localeCompare(b)) - .join(','); - const composed2 = Object.entries(json2[field]) - .slice() - .sort(([a], [b]) => a.localeCompare(b)) - .join(','); - - return composed1 === composed2; - }); -}; - -// Assuming execution context `packages/connectors` -const sync = async () => { - const packagesDirectory = './'; - const packages = await fs.readdir(packagesDirectory); - // eslint-disable-next-line @silverhand/fp/no-let - let shouldError = false; - - // Disable `no-mutation` for easier json updates - /* eslint-disable @silverhand/fp/no-mutation */ - await Promise.all( - packages - .filter((packageName) => packageName.startsWith('connector-')) - .map(async (packageName) => { - // Copy preset - await fs.cp('templates/preset', path.join(packagesDirectory, packageName), { - recursive: true, - }); - - // Sync package.json - const extended = JSON.parse( - await fs.readFile( - path.join(packagesDirectory, packageName, 'package.extend.json'), - 'utf8' - ) - ); - const result = { ...templateJson }; - - for (const [key, value] of Object.entries(extended)) { - if (key === '$schema') { - continue; - } - - if (Array.isArray(result[key])) { - result[key] = [...result[key], ...value]; - } else if (typeof value === 'object' && value !== null) { - result[key] = { ...result[key], ...value }; - } else { - result[key] = value; - } - } - - const target = path.join(packagesDirectory, packageName, 'package.json'); - - if (!existsSync(target)) { - console.warn( - `Creating ${target}. If this is a new package, run \`pnpm i\` again to update the lockfile.` - ); - } else if (dependencyChanged(JSON.parse(await fs.readFile(target, 'utf8')), result)) { - console.warn(`Updating dependencies of ${target}`); - shouldError = true; - } - - await fs.writeFile(target, JSON.stringify(result, undefined, 2) + '\n'); - }) - ); - /* eslint-enable @silverhand/fp/no-mutation */ - - if (!process.argv.includes('--silent') && shouldError) { - console.log( - '**CONNECTOR SYNC SCRIPT**\n\nThe dependencies in `package.json` changed, run `pnpm i` again to update the lockfile.' - ); - throw new Error('Need to run `pnpm i` again'); - } -}; - -await sync(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 902ef9bbb..10647e45e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -367,8 +367,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -377,7 +377,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -409,8 +409,8 @@ importers: specifier: workspace:^ version: link:../../toolkit/connector-kit '@logto/core-kit': - specifier: 1.0.0-beta.29 - version: 1.0.0-beta.29(zod@3.20.2) + specifier: workspace:^ + version: link:../../toolkit/core-kit '@silverhand/essentials': specifier: ^2.5.0 version: 2.5.0 @@ -458,8 +458,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -468,7 +468,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -537,8 +537,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -547,7 +547,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -616,8 +616,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -626,7 +626,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -658,8 +658,8 @@ importers: specifier: workspace:^ version: link:../../toolkit/connector-kit '@logto/core-kit': - specifier: 1.0.0-beta.30 - version: 1.0.0-beta.30 + specifier: workspace:^ + version: link:../../toolkit/core-kit '@silverhand/essentials': specifier: ^2.5.0 version: 2.5.0 @@ -701,8 +701,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -711,7 +711,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -786,8 +786,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -796,7 +796,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -868,8 +868,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -878,7 +878,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -947,8 +947,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -957,7 +957,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1026,8 +1026,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1036,7 +1036,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1105,8 +1105,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1115,7 +1115,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1187,8 +1187,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1197,7 +1197,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1266,8 +1266,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1276,7 +1276,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1345,8 +1345,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1355,7 +1355,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1424,8 +1424,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1434,7 +1434,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1503,8 +1503,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1513,7 +1513,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1582,8 +1582,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1592,7 +1592,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1661,8 +1661,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1671,7 +1671,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1740,8 +1740,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1750,7 +1750,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1819,8 +1819,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1829,7 +1829,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1898,8 +1898,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1908,7 +1908,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -1977,8 +1977,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -1987,7 +1987,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2059,8 +2059,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2069,7 +2069,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2101,8 +2101,8 @@ importers: specifier: workspace:^ version: link:../../toolkit/connector-kit '@logto/core-kit': - specifier: 1.0.0-beta.30 - version: 1.0.0-beta.30 + specifier: workspace:^ + version: link:../../toolkit/core-kit '@silverhand/essentials': specifier: ^2.5.0 version: 2.5.0 @@ -2147,8 +2147,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2157,7 +2157,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2232,8 +2232,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2242,7 +2242,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2311,8 +2311,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2321,7 +2321,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2393,8 +2393,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/nodemailer': specifier: ^6.4.7 version: 6.4.7 @@ -2406,7 +2406,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2475,8 +2475,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2485,7 +2485,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2554,8 +2554,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2564,7 +2564,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2633,8 +2633,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2643,7 +2643,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2712,8 +2712,8 @@ importers: specifier: ^29.4.0 version: 29.4.0 '@types/node': - specifier: ^16.11.18 - version: 16.11.18 + specifier: ^18.11.18 + version: 18.11.18 '@types/supertest': specifier: ^2.0.11 version: 2.0.11 @@ -2722,7 +2722,7 @@ importers: version: 8.34.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: specifier: ^1.0.0 version: 1.0.0 @@ -2926,7 +2926,7 @@ importers: version: 3.0.4(react-dom@18.2.0)(react@18.2.0) react-dnd: specifier: ^16.0.0 - version: 16.0.0(@types/node@16.11.18)(@types/react@18.0.31)(react@18.2.0) + version: 16.0.0(@types/node@18.11.18)(@types/react@18.0.31)(react@18.2.0) react-dnd-html5-backend: specifier: ^16.0.0 version: 16.0.0 @@ -3870,7 +3870,7 @@ importers: version: 3.0.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@16.11.18) + version: 29.5.0(@types/node@18.11.18) jest-environment-jsdom: specifier: ^29.0.0 version: 29.2.2 @@ -5505,10 +5505,10 @@ packages: '@commitlint/execute-rule': 17.0.0 '@commitlint/resolve-extends': 17.0.0 '@commitlint/types': 17.0.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 2.0.0(@types/node@16.11.18)(cosmiconfig@7.1.0)(typescript@4.9.4) + cosmiconfig-typescript-loader: 2.0.0(@types/node@18.11.18)(cosmiconfig@7.1.0)(typescript@4.9.4) lodash: 4.17.21 resolve-from: 5.0.0 typescript: 4.9.4 @@ -5718,7 +5718,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 jest-message-util: 29.5.0 jest-util: 29.5.0 @@ -5739,14 +5739,14 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@16.11.18) + jest-config: 29.5.0(@types/node@18.11.18) jest-haste-map: 29.5.0 jest-message-util: 29.5.0 jest-regex-util: 29.4.3 @@ -5773,7 +5773,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 27.5.1 dev: true @@ -5783,7 +5783,7 @@ packages: dependencies: '@jest/fake-timers': 29.4.1 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.4.1 dev: true @@ -5793,7 +5793,7 @@ packages: dependencies: '@jest/fake-timers': 29.4.1 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.4.1 dev: true @@ -5803,7 +5803,7 @@ packages: dependencies: '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.5.0 dev: true @@ -5830,7 +5830,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -5842,7 +5842,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-message-util: 29.4.1 jest-mock: 29.4.1 jest-util: 29.4.1 @@ -5854,7 +5854,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@sinonjs/fake-timers': 10.0.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-message-util: 29.5.0 jest-mock: 29.4.1 jest-util: 29.5.0 @@ -5866,7 +5866,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@sinonjs/fake-timers': 10.0.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-message-util: 29.5.0 jest-mock: 29.5.0 jest-util: 29.5.0 @@ -5899,7 +5899,7 @@ packages: '@jest/transform': 29.5.0 '@jest/types': 29.5.0 '@jridgewell/trace-mapping': 0.3.17 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -5993,7 +5993,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true @@ -6005,7 +6005,7 @@ packages: '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true @@ -6017,7 +6017,7 @@ packages: '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true @@ -6029,7 +6029,7 @@ packages: '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true @@ -6173,29 +6173,6 @@ packages: lodash.once: 4.1.1 dev: true - /@logto/core-kit@1.0.0-beta.29(zod@3.20.2): - resolution: {integrity: sha512-I1Tb4gOP3/Wga3cVmmCnyZixy5XbJlpucKuscYdhqZzIF9iHKZRBaRVCPKsvL+1nuoSyl5bWCyIi4s5msqQLCg==} - engines: {node: ^16.13.0 || ^18.12.0} - peerDependencies: - zod: ^3.19.1 - dependencies: - '@logto/language-kit': 1.0.0 - color: 4.2.3 - nanoid: 3.3.4 - zod: 3.20.2 - dev: false - - /@logto/core-kit@1.0.0-beta.30: - resolution: {integrity: sha512-xhJvRrwnx4YhLDZyqtp37prBJV2aBy7P5IQiNHRxi+5Ceov7Yhbylb2ItG2uxm4adVWemlbwgrN1CwcK9IKbag==} - engines: {node: ^16.13.0 || ^18.12.0} - dependencies: - '@logto/language-kit': 1.0.0-beta.30 - color: 4.2.3 - nanoid: 4.0.0 - optionalDependencies: - zod: 3.20.2 - dev: false - /@logto/js@1.1.0: resolution: {integrity: sha512-YW8ou7DifY0T9Pfli3sZG9sdm5UbINcHEi9pkj6pGxVUX5lBWRxT+ZWGgOsRl4KtrPXzg9ivAAJHzyPRwZAf7g==} dependencies: @@ -6205,20 +6182,6 @@ packages: lodash.get: 4.4.2 dev: true - /@logto/language-kit@1.0.0: - resolution: {integrity: sha512-lsnxOecS7eE7z/ZAf8sSQ3+VFWdw78sqDc/oESso6ZqzKSUGfkBdEMxcUhqh6JpFb62bNFND4Lgyvj+g6y94qw==} - engines: {node: ^18.12.0} - optionalDependencies: - zod: 3.20.2 - dev: false - - /@logto/language-kit@1.0.0-beta.30: - resolution: {integrity: sha512-0PEArBYLW0M6uuXizxPhUSh+Q55wDrHkr7xUcCHLKvvlSW2WLO062mU7xzKva8st00pIXMMetnPUVyMW1SRfzw==} - engines: {node: ^16.13.0 || ^18.12.0} - optionalDependencies: - zod: 3.20.2 - dev: false - /@logto/node@1.1.0: resolution: {integrity: sha512-HccBWwWIzN/hXTbuBZ1D2W1S30sqNXKxkcGvKF2uvbMzzkdxS7WeGFSBt3o2dYdLBUGamINmLxjMucvwBI8a4w==} dependencies: @@ -7635,7 +7598,7 @@ packages: '@jest/types': 29.5.0 deepmerge: 4.2.2 identity-obj-proxy: 3.0.0 - jest: 29.5.0(@types/node@16.11.18) + jest: 29.5.0(@types/node@18.11.18) jest-matcher-specific-error: 1.0.0 jest-transform-stub: 2.0.0 ts-jest: 29.0.5(@babel/core@7.20.2)(@jest/types@29.5.0)(jest@29.5.0)(typescript@5.0.2) @@ -7876,7 +7839,7 @@ packages: /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.4.1 + tslib: 2.5.0 dev: true /@szmarczak/http-timer@5.0.1: @@ -7989,7 +7952,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/color-convert@2.0.0: @@ -8011,7 +7974,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/content-disposition@0.5.4: @@ -8028,7 +7991,7 @@ packages: '@types/connect': 3.4.35 '@types/express': 4.17.13 '@types/keygrip': 1.0.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/debug@4.1.7: @@ -8044,7 +8007,7 @@ packages: /@types/etag@1.8.1: resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/expect-puppeteer@5.0.3: @@ -8057,7 +8020,7 @@ packages: /@types/express-serve-static-core@4.17.26: resolution: {integrity: sha512-zeu3tpouA043RHxW0gzRxwCHchMgftE8GArRsvYT0ByDMbn19olQHx5jLue0LxWY6iYtXb7rXmuVtSkhy9YZvQ==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -8074,13 +8037,13 @@ packages: /@types/formidable@2.0.4: resolution: {integrity: sha512-6HYcnmBCeby/nNGgX9kq1DxUpK2UcB3yoHCr3GzFjjqkpivOdcBSbsXP9NbxLcPEi11Fl/L41rbFCIsteF9sbg==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: false /@types/graceful-fs@4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/hast@2.3.4: @@ -8165,7 +8128,7 @@ packages: /@types/jsdom@20.0.0: resolution: {integrity: sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/tough-cookie': 4.0.2 parse5: 7.1.1 dev: true @@ -8192,7 +8155,7 @@ packages: resolution: {integrity: sha512-nJSII/tOSvYCwk3yDEBJLHd8ctkt5CQFZ0j8ZBnHZ2x0hg24z9H1i38lWXA/5z0Ix0uitMW1jov+kVbQI1aNPQ==} dependencies: '@types/koa': 2.13.4 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/koa-logger@3.1.2: @@ -8223,7 +8186,7 @@ packages: '@types/http-errors': 1.8.2 '@types/keygrip': 1.0.2 '@types/koa-compose': 3.2.5 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/koa__cors@4.0.0: @@ -8271,7 +8234,7 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 form-data: 3.0.1 dev: false @@ -8279,17 +8242,13 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@16.11.18: - resolution: {integrity: sha512-7N8AOYWWYuw0g+K+GKCmIwfU1VMHcexYNpLPYzFZ4Uq2W6C/ptfeC7XhXgy/4pcwhz/9KoS5yijMfnYQ0u0Udw==} - /@types/node@18.11.18: resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} - dev: true /@types/nodemailer@6.4.7: resolution: {integrity: sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/normalize-package-data@2.4.1: @@ -8312,7 +8271,7 @@ packages: /@types/pg@8.6.6: resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 pg-protocol: 1.6.0 pg-types: 2.2.0 @@ -8331,7 +8290,7 @@ packages: /@types/puppeteer@5.4.6: resolution: {integrity: sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/qs@6.9.7: @@ -8413,7 +8372,7 @@ packages: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/sinon@10.0.13: @@ -8434,7 +8393,7 @@ packages: resolution: {integrity: sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==} dependencies: '@types/cookiejar': 2.1.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/supertest@2.0.11: @@ -8453,7 +8412,7 @@ packages: /@types/through@0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /@types/tough-cookie@4.0.2: @@ -8463,7 +8422,7 @@ packages: /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: false /@types/unist@2.0.6: @@ -8494,7 +8453,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true optional: true @@ -9820,7 +9779,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig-typescript-loader@2.0.0(@types/node@16.11.18)(cosmiconfig@7.1.0)(typescript@4.9.4): + /cosmiconfig-typescript-loader@2.0.0(@types/node@18.11.18)(cosmiconfig@7.1.0)(typescript@4.9.4): resolution: {integrity: sha512-2NlGul/E3vTQEANqPziqkA01vfiuUU8vT0jZAuUIjEW8u3eCcnCQWLggapCjhbF76s7KQF0fM0kXSKmzaDaG1g==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -9828,9 +9787,9 @@ packages: cosmiconfig: '>=7' typescript: '>=3' dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 cosmiconfig: 7.1.0 - ts-node: 10.7.0(@types/node@16.11.18)(typescript@4.9.4) + ts-node: 10.7.0(@types/node@18.11.18)(typescript@4.9.4) typescript: 4.9.4 transitivePeerDependencies: - '@swc/core' @@ -12819,7 +12778,7 @@ packages: '@jest/expect': 29.5.0 '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -12839,34 +12798,6 @@ packages: - supports-color dev: true - /jest-cli@29.5.0(@types/node@16.11.18): - resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.5.0 - '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 29.5.0(@types/node@16.11.18) - jest-util: 29.5.0 - jest-validate: 29.5.0 - prompts: 2.4.2 - yargs: 17.6.0 - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - /jest-cli@29.5.0(@types/node@18.11.18): resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -12895,45 +12826,6 @@ packages: - ts-node dev: true - /jest-config@29.5.0(@types/node@16.11.18): - resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.20.2 - '@jest/test-sequencer': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 16.11.18 - babel-jest: 29.5.0(@babel/core@7.20.2) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.2.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.5.0 - jest-environment-node: 29.5.0 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.5.0 - jest-runner: 29.5.0 - jest-util: 29.5.0 - jest-validate: 29.5.0 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.5.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /jest-config@29.5.0(@types/node@18.11.18): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -13030,7 +12922,7 @@ packages: '@jest/fake-timers': 29.2.2 '@jest/types': 29.5.0 '@types/jsdom': 20.0.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.2.2 jest-util: 29.2.1 jsdom: 20.0.2 @@ -13047,7 +12939,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -13059,7 +12951,7 @@ packages: '@jest/environment': 29.4.1 '@jest/fake-timers': 29.4.1 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.4.1 jest-util: 29.4.1 dev: true @@ -13071,7 +12963,7 @@ packages: '@jest/environment': 29.5.0 '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-mock: 29.5.0 jest-util: 29.5.0 dev: true @@ -13101,7 +12993,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.18 + '@types/node': 18.11.18 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -13186,7 +13078,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 dev: true /jest-mock@29.2.2: @@ -13194,7 +13086,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-util: 29.4.1 dev: true @@ -13203,7 +13095,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-util: 29.5.0 dev: true @@ -13212,7 +13104,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-util: 29.5.0 dev: true @@ -13281,7 +13173,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.10 @@ -13312,7 +13204,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -13372,7 +13264,7 @@ packages: jest: ^28.1.0 || ^29.1.2 react: ^17.0.0 || ^18.0.0 dependencies: - jest: 29.5.0(@types/node@16.11.18) + jest: 29.5.0(@types/node@18.11.18) react: 18.2.0 dev: true @@ -13381,7 +13273,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -13393,7 +13285,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 ci-info: 3.5.0 graceful-fs: 4.2.10 @@ -13405,7 +13297,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -13417,7 +13309,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -13442,7 +13334,7 @@ packages: dependencies: '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -13454,32 +13346,12 @@ packages: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 16.11.18 + '@types/node': 18.11.18 jest-util: 29.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.5.0(@types/node@16.11.18): - resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.5.0 - '@jest/types': 29.5.0 - import-local: 3.1.0 - jest-cli: 29.5.0(@types/node@16.11.18) - transitivePeerDependencies: - - '@types/node' - - supports-color - - ts-node - dev: true - /jest@29.5.0(@types/node@18.11.18): resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14233,7 +14105,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.4.1 + tslib: 2.5.0 dev: false /lowercase-keys@1.0.1: @@ -14957,6 +14829,7 @@ packages: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: true /nanoid@4.0.0: resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} @@ -16372,7 +16245,7 @@ packages: dnd-core: 16.0.0 dev: true - /react-dnd@16.0.0(@types/node@16.11.18)(@types/react@18.0.31)(react@18.2.0): + /react-dnd@16.0.0(@types/node@18.11.18)(@types/react@18.0.31)(react@18.2.0): resolution: {integrity: sha512-RCoeWRWhuwSoqdLaJV8N/weARLyXqsf43OC3QiBWPORIIGGovF/EqI8ckf14ca3bl6oZNI/igtxX49+IDmNDeQ==} peerDependencies: '@types/hoist-non-react-statics': '>= 3.3.1' @@ -16389,7 +16262,7 @@ packages: dependencies: '@react-dnd/invariant': 4.0.0 '@react-dnd/shallowequal': 4.0.0 - '@types/node': 16.11.18 + '@types/node': 18.11.18 '@types/react': 18.0.31 dnd-core: 16.0.0 fast-deep-equal: 3.1.3 @@ -18278,7 +18151,7 @@ packages: '@jest/types': 29.5.0 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@16.11.18) + jest: 29.5.0(@types/node@18.11.18) jest-util: 29.5.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -18288,7 +18161,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-node@10.7.0(@types/node@16.11.18)(typescript@4.9.4): + /ts-node@10.7.0(@types/node@18.11.18)(typescript@4.9.4): resolution: {integrity: sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==} hasBin: true peerDependencies: @@ -18307,7 +18180,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 16.11.18 + '@types/node': 18.11.18 acorn: 8.8.1 acorn-walk: 8.2.0 arg: 4.1.3 @@ -18336,7 +18209,6 @@ packages: /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: false /tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}