From 9204c329aa649956fe912b49b8028a5c7bb31116 Mon Sep 17 00:00:00 2001 From: simeng-li Date: Thu, 20 Oct 2022 15:18:44 +0800 Subject: [PATCH 01/18] style(ui): add new color theme file add new color theme file according to the latest design --- packages/ui/src/scss/_colors.scss | 179 ++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 packages/ui/src/scss/_colors.scss diff --git a/packages/ui/src/scss/_colors.scss b/packages/ui/src/scss/_colors.scss new file mode 100644 index 000000000..450ed979b --- /dev/null +++ b/packages/ui/src/scss/_colors.scss @@ -0,0 +1,179 @@ +/* Color Theme */ +/* Foundation */ + +/* Static */ +@mixin static { + --color-static-white: #fff; + --color-static-black: #000; +} + +@mixin light { + /* Color Platte */ + --color-neutral-0: #0000; + --color-neutral-10: #191c1d; + --color-neutral-20: #2d3132; + --color-neutral-50: #747778; + --color-neutral-80: #c4c7c7; + --color-neutral-90: #e0e3e3; + --color-neutral-95: #eff1f1; + --color-neutral-100: #fff; + + --color-neutral-variant-80: #e5e1ec; + + --color-danger-30: #930006; + --color-danger-40: #ba1b1b; + --color-danger-50: #dd3730; + + --color-success-60: #32873d; + --color-success-70: #68be6c; + --color-success-80: #83da85; + --color-success-90: #9fe79f; + + --color-brand-30: #4300da; + --color-brand-40: #5d34f2; + --color-brand-50: #7958ff; + + /* Text & Icon */ + --color-type-primary: var(--color-neutral-10); + --color-type-secondary: var(--color-neutral-50); + --color-type-disable: scale-color(var(--color-neutral-10), $alpha: -65%); + --color-type-link: var(--color-brand-default); + + /* Line */ + --color-line-divider: scale-color(var(--color-neutral-10), $alpha: -88%); + --color-line-border: var(--color-neutral-80); + --color-line-border-transparent: scale-color(var(--color-neutral-10), $alpha: -75%); + + /* Background */ + --color-bg-base: var(--color-neutral-95); + --color-bg-layer-1: var(--color-neutral-100); + --color-bg-layer-2: var(--color-neutral-95); + --color-bg-float: var(--color-neutral-100); + --color-bg-mask: scale-color(var(--color-neutral-0), $alpha: -60%); + --color-bg-toast: var(--color-neutral-20); + --color-bg-state-unselected: var(--color-neutral-90); + --color-bg-state-disabled: scale-color(var(--color-neutral-10), -92%); + --color-bg-desktop: var(--color-neutral-variant-80); + + /* Brand */ + // Note: System brand color. May be overwritten dynamically by js + --color-brand-default: var(--color-brand-40); + --color-brand-hover: var(--color-brand-50); + --color-brand-pressed: var(--color-brand-30); + + /* Danger */ + --color-danger-default: var(--color-danger-40); + --color-danger-hover: var(--color-danger-50); + --color-danger-pressed: var(--color-danger-30); + + /* Success */ + --color-success-default: var(--color-success-70); + --color-success-hover: var(--color-success-80); + --color-success-pressed: var(--color-success-60); + --color-success-disable: var(--color-success-90); + + /* Overlay */ + --color-overlay-neutral-hover: scale-color(var(--color-neutral-10), -92%); + --color-overlay-neutral-pressed: scale-color(var(--color-neutral-10), -88%); + --color-overlay-neutral-focused: scale-color(var(--color-neutral-10), -84%); + --color-overlay-danger-hover: scale-color(var(--color-danger-40), -92%); + --color-overlay-danger-pressed: scale-color(var(--color-danger-40), -88%); + --color-overlay-danger-focused: scale-color(var(--color-danger-40), -84%); + // Note: System brand color. May be overwritten dynamically by js + --color-overlay-brand-hover: scale-color(var(--color-brand-40), -92%); + --color-overlay-brand-pressed: scale-color(var(--color-brand-40), -88%); + --color-overlay-brand-focused: scale-color(var(--color-brand-40), -84%); +} + +@mixin dark { + /* Color Platte */ + --color-neutral-0: #fff; + --color-neutral-10: #f7f8f8; + --color-neutral-20: #f7f8f8; + --color-neutral-50: #a9acac; + --color-neutral-80: #a9acac; + --color-neutral-90: #444748; + --color-neutral-95: #2d3132; + --color-neutral-99: #191c1d; + --color-neutral-100: #000; + + --color-neutral-variant-80: #5f5d67; + --color-neutral-variant-90: #47464e; + + --color-danger-30: #ffdad4; + --color-danger-40: #ffb4a9; + --color-danger-50: #ff897a; + --color-danger-60: #ff5449; + --color-danger-70: #dd3730; + --color-danger-50: #ba1b1b; + + --color-success-60: #4ea254; + --color-success-70: #32873d; + --color-success-80: #116d26; + --color-success-90: #005314; + + --color-brand-30: #e6deff; + --color-brand-40: #cabeff; + --color-brand-50: #af9eff; + --color-brand-70: #7958ff; + + --color-surface-2: + linear-gradient(0deg, rgba(202, 190, 255, 8%), rgba(202, 190, 255, 8%)), + linear-gradient(0deg, rgba(196, 199, 199, 2%), rgba(196, 199, 199, 2%)), + #191c1d; + --color-surface-4: + linear-gradient(0deg, rgba(202, 190, 255, 14%), rgba(202, 190, 255, 14%)), + linear-gradient(0deg, rgba(196, 199, 199, 2%), rgba(196, 199, 199, 2%)), + #191c1d; + + /* Text & Icon */ + --color-type-primary: var(--color-neutral-10); + --color-type-secondary: var(--color-neutral-50); + --color-type-disable: scale-color(var(--color-neutral-10), $alpha: -65%); + --color-type-link: var(--color-brand-default); + + /* Line */ + --color-line-divider: scale-color(var(--color-neutral-10), $alpha: -86%); + --color-line-border: var(--color-neutral-80); + --color-line-border-transparent: scale-color(var(--color-neutral-10), $alpha: -80%); + + /* Background */ + --color-bg-base: var(--color-neutral-99); + --color-bg-layer-1: var(--color-surface-2); + --color-bg-layer-2: var(--color-surface-4); + --color-bg-float: var(--color-surface-4); + --color-bg-mask: scale-color(var(--color-neutral-0), $alpha: -40%); + --color-bg-toast: var(--color-neutral-80); + --color-bg-state-unselected: var(--color-neutral-90); + --color-bg-state-disabled: scale-color(var(--color-neutral-10), -92%); + --color-bg-desktop: var(--color-neutral-variant-90); + + /* Brand */ + // Note: System brand color. May be overwritten dynamically by js + --color-brand-default: var(--color-brand-70); + --color-brand-hover: var(--color-brand-50); + --color-brand-pressed: var(--color-brand-30); + + /* Danger */ + --color-danger-default: var(--color-danger-70); + --color-danger-hover: var(--color-danger-60); + --color-danger-pressed: var(--color-danger-80); + + /* Success */ + --color-success-default: var(--color-success-70); + --color-success-hover: var(--color-success-60); + --color-success-pressed: var(--color-success-80); + --color-success-disable: var(--color-success-90); + + /* Overlay */ + --color-overlay-neutral-hover: scale-color(var(--color-neutral-10), -92%); + --color-overlay-neutral-pressed: scale-color(var(--color-neutral-10), -88%); + --color-overlay-neutral-focused: scale-color(var(--color-neutral-10), -84%); + --color-overlay-danger-hover: scale-color(var(--color-danger-40), -92%); + --color-overlay-danger-pressed: scale-color(var(--color-danger-40), -88%); + --color-overlay-danger-focused: scale-color(var(--color-danger-40), -84%); + // Note: System brand color. May be overwritten dynamically by js + --color-overlay-brand-hover: scale-color(var(--color-brand-40), -92%); + --color-overlay-brand-pressed: scale-color(var(--color-brand-40), -88%); + --color-overlay-brand-focused: scale-color(var(--color-brand-40), -84%); +} From d3af024c26abea825c0e02bab218e1894296de6f Mon Sep 17 00:00:00 2001 From: simeng-li Date: Thu, 20 Oct 2022 17:33:14 +0800 Subject: [PATCH 02/18] fix(ui): fix text overflow issue fix test overflow issue --- packages/ui/src/components/Button/index.module.scss | 2 +- packages/ui/src/components/Notification/index.module.scss | 1 + packages/ui/src/scss/normalized.scss | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/Button/index.module.scss b/packages/ui/src/components/Button/index.module.scss index 513498fe5..99b649d18 100644 --- a/packages/ui/src/components/Button/index.module.scss +++ b/packages/ui/src/components/Button/index.module.scss @@ -11,8 +11,8 @@ -webkit-appearance: none; -webkit-tap-highlight-color: transparent; transition: background 0.2s ease-in-out; - white-space: nowrap; user-select: none; + overflow: hidden; } .large { diff --git a/packages/ui/src/components/Notification/index.module.scss b/packages/ui/src/components/Notification/index.module.scss index 28eb9dc43..63dcaeb93 100644 --- a/packages/ui/src/components/Notification/index.module.scss +++ b/packages/ui/src/components/Notification/index.module.scss @@ -31,6 +31,7 @@ .link { text-decoration: underline; cursor: pointer; + max-width: 20%; } :global(body.desktop) { diff --git a/packages/ui/src/scss/normalized.scss b/packages/ui/src/scss/normalized.scss index 13cdd9c19..ab4759fd7 100644 --- a/packages/ui/src/scss/normalized.scss +++ b/packages/ui/src/scss/normalized.scss @@ -2,6 +2,7 @@ body { margin: 0; padding: 0; font-family: sans-serif; + word-break: break-word; } * { From e0aaf64f822d7dd66ea11a7a30f4d7472e4ce39b Mon Sep 17 00:00:00 2001 From: simeng-li Date: Thu, 20 Oct 2022 18:40:45 +0800 Subject: [PATCH 03/18] fix(core): let ac SIE language load from default SIE language settings let ac SIE language load from default SIR language settings --- packages/core/src/routes/well-known.test.ts | 2 +- packages/core/src/routes/well-known.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/core/src/routes/well-known.test.ts b/packages/core/src/routes/well-known.test.ts index 0de4b2eb1..95c90d54a 100644 --- a/packages/core/src/routes/well-known.test.ts +++ b/packages/core/src/routes/well-known.test.ts @@ -100,7 +100,6 @@ describe('GET /.well-known/sign-in-exp', () => { it('should return admin console settings', async () => { interactionDetails.mockResolvedValue({ params: { client_id: adminConsoleApplicationId } }); const response = await sessionRequest.get('/.well-known/sign-in-exp'); - expect(signInExperienceQuerySpyOn).not.toBeCalled(); expect(response.status).toEqual(200); expect(response.body).toMatchObject({ @@ -109,6 +108,7 @@ describe('GET /.well-known/sign-in-exp', () => { ...adminConsoleSignInExperience.branding, slogan: 'admin_console.welcome.title', }, + languageInfo: mockSignInExperience.languageInfo, socialConnectors: [], signInMode: SignInMode.SignIn, }); diff --git a/packages/core/src/routes/well-known.ts b/packages/core/src/routes/well-known.ts index f498340fc..cdde25391 100644 --- a/packages/core/src/routes/well-known.ts +++ b/packages/core/src/routes/well-known.ts @@ -30,6 +30,11 @@ export default function wellKnownRoutes(router: T, pr throw error; }); + const [signInExperience, logtoConnectors] = await Promise.all([ + findDefaultSignInExperience(), + getLogtoConnectors(), + ]); + // Hard code AdminConsole sign-in methods settings. if (interaction?.params.client_id === adminConsoleApplicationId) { ctx.body = { @@ -38,6 +43,7 @@ export default function wellKnownRoutes(router: T, pr ...adminConsoleSignInExperience.branding, slogan: i18next.t('admin_console.welcome.title'), }, + languageInfo: signInExperience.languageInfo, signInMode: (await hasActiveUsers()) ? SignInMode.SignIn : SignInMode.Register, socialConnectors: [], }; @@ -46,10 +52,6 @@ export default function wellKnownRoutes(router: T, pr } // Custom Applications - const [signInExperience, logtoConnectors] = await Promise.all([ - findDefaultSignInExperience(), - getLogtoConnectors(), - ]); const socialConnectors = signInExperience.socialSignInConnectorTargets.reduce< Array From 0797305fb28acc4e9d11372f0d800765c3c328bc Mon Sep 17 00:00:00 2001 From: simeng-li Date: Thu, 20 Oct 2022 19:01:19 +0800 Subject: [PATCH 04/18] fix(console): fix ac chunky preview experience fix ac preview render delay bug when switch between platforms --- packages/ui/src/hooks/use-preview.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/hooks/use-preview.ts b/packages/ui/src/hooks/use-preview.ts index 1d935b3ee..0229e978f 100644 --- a/packages/ui/src/hooks/use-preview.ts +++ b/packages/ui/src/hooks/use-preview.ts @@ -76,13 +76,13 @@ const usePreview = (context: Context): [boolean, PreviewConfig?] => { }; (async () => { - await changeLanguage(language); - setTheme(mode); setPlatform(platform); setExperienceSettings(experienceSettings); + + await changeLanguage(language); })(); }, [isPreview, previewConfig, setExperienceSettings, setPlatform, setTheme]); From ceb2ff7c462cb941283b5548441f592ae787ffa1 Mon Sep 17 00:00:00 2001 From: simeng-li Date: Fri, 21 Oct 2022 10:08:52 +0800 Subject: [PATCH 05/18] fix(ui): cr update cr update --- packages/ui/src/containers/AppContent/index.module.scss | 1 + packages/ui/src/scss/normalized.scss | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/src/containers/AppContent/index.module.scss b/packages/ui/src/containers/AppContent/index.module.scss index b99a56322..b7be87a8d 100644 --- a/packages/ui/src/containers/AppContent/index.module.scss +++ b/packages/ui/src/containers/AppContent/index.module.scss @@ -22,6 +22,7 @@ body { background-color: var(--color-base); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: auto; + word-break: break-word; } .container { diff --git a/packages/ui/src/scss/normalized.scss b/packages/ui/src/scss/normalized.scss index ab4759fd7..13cdd9c19 100644 --- a/packages/ui/src/scss/normalized.scss +++ b/packages/ui/src/scss/normalized.scss @@ -2,7 +2,6 @@ body { margin: 0; padding: 0; font-family: sans-serif; - word-break: break-word; } * { From a88c586bc0afdfdc98cc2b9ab1dae7090cdbd116 Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Fri, 21 Oct 2022 10:10:55 +0800 Subject: [PATCH 06/18] chore: add renovate monorepo rules (#2218) --- renovate.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/renovate.json b/renovate.json index 5fcce1121..53d126790 100644 --- a/renovate.json +++ b/renovate.json @@ -1,4 +1,15 @@ { + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [{ + "matchSourceUrlPrefixes": ["https://github.com/logto-io/js"], + "groupName": "Logto JS SDK monorepo packages" + }, { + "matchSourceUrlPrefixes": ["https://github.com/logto-io/toolkit"], + "groupName": "Logto standard toolkit monorepo packages" + }, { + "matchSourceUrlPrefixes": ["https://github.com/silverhand-io/configs"], + "groupName": "Silverhand configs monorepo packages" + }], "extends": [ "config:base", ":preserveSemverRanges" From 421c9e43db54b8ae6099cce7cdeb14ef1701de03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Oct 2022 02:14:37 +0000 Subject: [PATCH 07/18] chore(deps): update logto js sdk monorepo packages to v1.0.0-beta.10 --- packages/console/package.json | 2 +- packages/demo-app/package.json | 2 +- packages/integration-tests/package.json | 2 +- pnpm-lock.yaml | 54 ++++++++++--------------- 4 files changed, 25 insertions(+), 35 deletions(-) diff --git a/packages/console/package.json b/packages/console/package.json index 0b5f50690..10d3f16db 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -22,7 +22,7 @@ "@logto/language-kit": "1.0.0-beta.19", "@logto/phrases": "^1.0.0-beta.12", "@logto/phrases-ui": "^1.0.0-beta.12", - "@logto/react": "1.0.0-beta.8", + "@logto/react": "1.0.0-beta.10", "@logto/schemas": "^1.0.0-beta.12", "@mdx-js/react": "^1.6.22", "@parcel/core": "2.7.0", diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 4e822d76c..625e61904 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -20,7 +20,7 @@ "@logto/core-kit": "1.0.0-beta.18", "@logto/language-kit": "1.0.0-beta.19", "@logto/phrases": "^1.0.0-beta.12", - "@logto/react": "1.0.0-beta.8", + "@logto/react": "1.0.0-beta.10", "@logto/schemas": "^1.0.0-beta.12", "@parcel/core": "2.7.0", "@parcel/transformer-sass": "2.7.0", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index bdb12f773..bd3b98c8a 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@jest/types": "^29.1.2", - "@logto/node": "1.0.0-beta.8", + "@logto/node": "1.0.0-beta.10", "@logto/schemas": "^1.0.0-beta.12", "@peculiar/webcrypto": "^1.3.3", "@silverhand/eslint-config": "1.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2f8e12657..a58d7ec95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,7 +107,7 @@ importers: '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': ^1.0.0-beta.12 '@logto/phrases-ui': ^1.0.0-beta.12 - '@logto/react': 1.0.0-beta.8 + '@logto/react': 1.0.0-beta.10 '@logto/schemas': ^1.0.0-beta.12 '@mdx-js/react': ^1.6.22 '@parcel/core': 2.7.0 @@ -174,7 +174,7 @@ importers: '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui - '@logto/react': 1.0.0-beta.8_react@18.2.0 + '@logto/react': 1.0.0-beta.10_react@18.2.0 '@logto/schemas': link:../schemas '@mdx-js/react': 1.6.22_react@18.2.0 '@parcel/core': 2.7.0 @@ -406,7 +406,7 @@ importers: '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': ^1.0.0-beta.12 - '@logto/react': 1.0.0-beta.8 + '@logto/react': 1.0.0-beta.10 '@logto/schemas': ^1.0.0-beta.12 '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0 @@ -433,7 +433,7 @@ importers: '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': link:../phrases - '@logto/react': 1.0.0-beta.8_react@18.2.0 + '@logto/react': 1.0.0-beta.10_react@18.2.0 '@logto/schemas': link:../schemas '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0_@parcel+core@2.7.0 @@ -460,7 +460,7 @@ importers: packages/integration-tests: specifiers: '@jest/types': ^29.1.2 - '@logto/node': 1.0.0-beta.8 + '@logto/node': 1.0.0-beta.10 '@logto/schemas': ^1.0.0-beta.12 '@peculiar/webcrypto': ^1.3.3 '@silverhand/eslint-config': 1.2.0 @@ -485,7 +485,7 @@ importers: typescript: ^4.7.4 devDependencies: '@jest/types': 29.1.2 - '@logto/node': 1.0.0-beta.8 + '@logto/node': 1.0.0-beta.10 '@logto/schemas': link:../schemas '@peculiar/webcrypto': 1.3.3 '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni @@ -2111,19 +2111,19 @@ packages: dev: true optional: true - /@logto/browser/1.0.0-beta.8: - resolution: {integrity: sha512-PaTtd4f5FBdwd5N4F5ByHh/+LrlqKYh951g47xdEzKdNn47HQAecxhXuvg8hYZXCopaWv73/7bsJgAoivhNM4Q==} + /@logto/browser/1.0.0-beta.10: + resolution: {integrity: sha512-ziZv8TTWwzK9PgBtioF9Wplfaj0J/InyxSBmfgFS5PX54GAVfOy3uGBi9hGL6HDRPj3SYs2U1bi21YPlF9z/8w==} dependencies: - '@logto/client': 1.0.0-beta.8 + '@logto/client': 1.0.0-beta.10 '@silverhand/essentials': 1.3.0 js-base64: 3.7.2 dev: true - /@logto/client/1.0.0-beta.8: - resolution: {integrity: sha512-pFqPTF8ZUrT1PhlRmI+04HjJ5YBqNM7CBJPYxy2fK3PN3IpzgV6zNvTW9K/JuxFSYlu/2VR7x7xJ46Qs3G6Kmg==} + /@logto/client/1.0.0-beta.10: + resolution: {integrity: sha512-XHkOJdvxsBix/8cZ3a6Hx3UiiQkaJBDF9D7BGM8lZxPz5nsGq8YkX5ZRvjVCX9Y3fE3nRb5Iv1ccWvV192lUWg==} dependencies: - '@logto/core-kit': 1.0.0-beta.14 - '@logto/js': 1.0.0-beta.8 + '@logto/core-kit': 1.0.0-beta.19 + '@logto/js': 1.0.0-beta.10 '@silverhand/essentials': 1.3.0 camelcase-keys: 7.0.2 jose: 4.6.0 @@ -2151,15 +2151,6 @@ packages: zod: 3.18.0 dev: false - /@logto/core-kit/1.0.0-beta.14: - resolution: {integrity: sha512-nyRlOU92k65TRHA7WaeM2ktiy0OmCooD8OXW9XxEOx4d6tJUReuFisPmNEh8bV3wK41fSy3zRwo93SAF6nSlRQ==} - engines: {node: ^16.0.0} - dependencies: - color: 4.2.3 - nanoid: 3.3.4 - zod: 3.18.0 - dev: true - /@logto/core-kit/1.0.0-beta.18: resolution: {integrity: sha512-VgSBWbPeFHgSOiOoYiE+TQF8byImxfd2xGTjA37RtFHMeUfT8CNTQWESUYuP7JWrKNm1N2ua7DTZZAJAKH9qMg==} engines: {node: ^16.0.0} @@ -2177,12 +2168,11 @@ packages: color: 4.2.3 nanoid: 3.3.4 zod: 3.18.0 - dev: false - /@logto/js/1.0.0-beta.8: - resolution: {integrity: sha512-Xo63sYZHnoFV+UTCtxRvGk+RuC3yJ3aDEpVDqShSZyfqY0xwGU5naIWHQXOd4koqkAQtp613AdL0qsEshrSl7Q==} + /@logto/js/1.0.0-beta.10: + resolution: {integrity: sha512-mMzverjbeKtGjSb0NmEUHzDBRrXhCPOydCE37yhzL/qORiehyblPqntw3lLrf5oCNUKaxv7PzT5q/Lfbxb3Q8g==} dependencies: - '@logto/core-kit': 1.0.0-beta.14 + '@logto/core-kit': 1.0.0-beta.19 '@silverhand/essentials': 1.3.0 camelcase-keys: 7.0.2 jose: 4.6.0 @@ -2195,10 +2185,10 @@ packages: dependencies: zod: 3.18.0 - /@logto/node/1.0.0-beta.8: - resolution: {integrity: sha512-IsQeFGhycUyX1R3/DiODK/nL2tsZaoeITKgqeJP68jiJnO51wPT9ewlFnJ656l/4bCA791oH71WTeeSvKJ8L2w==} + /@logto/node/1.0.0-beta.10: + resolution: {integrity: sha512-4st77cD1h/bCIrt+BttDHva/I7ibLw0ilvi30uadEwuH0Ih8WFYvlyi2V1wOljd5Ym+fqSMbyKXQQIwba6CenQ==} dependencies: - '@logto/client': 1.0.0-beta.8 + '@logto/client': 1.0.0-beta.10 '@silverhand/essentials': 1.3.0 js-base64: 3.7.2 node-fetch: 2.6.7 @@ -2206,12 +2196,12 @@ packages: - encoding dev: true - /@logto/react/1.0.0-beta.8_react@18.2.0: - resolution: {integrity: sha512-m76Tg2ftX5clYxODLa0XxcmMlebK49h1rl5MB1Eym9epEl/BjZr5NQ6TG6VgNx+Yp4g+sfptw2+iVdP8yBk+fw==} + /@logto/react/1.0.0-beta.10_react@18.2.0: + resolution: {integrity: sha512-MutQplD5VkUqYIhnaQgNiRpbQTRK/OS2Ut70j99mVax/frImlIu1m1YeuE8NEqGmB9SBQvJoP5kECxVNf2a4Nw==} peerDependencies: react: '>=16.8.0 || ^18.0.0' dependencies: - '@logto/browser': 1.0.0-beta.8 + '@logto/browser': 1.0.0-beta.10 '@silverhand/essentials': 1.3.0 react: 18.2.0 dev: true From 19666e0401602560a50f58dc19b7e072450f7696 Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Fri, 21 Oct 2022 13:59:08 +0800 Subject: [PATCH 08/18] chore: introduce changesets (#2215) --- .changeset/README.md | 8 + .changeset/config.json | 23 + .github/workflows/release.yml | 32 ++ package.json | 2 +- packages/cli/package.json | 4 +- packages/console/package.json | 6 +- packages/core/package.json | 10 +- packages/create/package.json | 2 +- packages/demo-app/package.json | 4 +- packages/integration-tests/package.json | 2 +- packages/schemas/package.json | 4 +- packages/shared/package.json | 2 +- packages/ui/package.json | 6 +- pnpm-lock.yaml | 600 ++++++++++++++++++++++-- 14 files changed, 645 insertions(+), 60 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 000000000..e5b6d8d6a --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 000000000..88ccf281b --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [[ + "@logto/console", + "@logto/core", + "@logto/demo-app", + "@logto/integration-tests", + "@logto/phrases", + "@logto/phrases-ui", + "@logto/schemas", + "@logto/ui" + ], [ + "@logto/cli", + "@logto/create" + ]], + "access": "restricted", + "baseBranch": "master", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5609ffb6..017800b29 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,6 +78,38 @@ jobs: az config set extension.use_dynamic_install=yes_without_prompt az containerapp update -n logto-dev -g LogtoDev --image svhd/logto:edge + release-changesets: + runs-on: ubuntu-latest + if: ${{ !startsWith(github.ref, 'refs/tags/') }} + steps: + - uses: actions/checkout@v3 + + - name: Setup Node and pnpm + uses: silverhand-io/actions-node-pnpm-run-steps@v2 + + - name: Import GPG key + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.BOT_GPG_KEY }} + passphrase: ${{ secrets.BOT_GPG_PASSPHRASE }} + git_user_signingkey: true + git_commit_gpgsign: true + git_tag_gpgsign: true + + - name: Configure Git user + run: | + git config --global user.email bot@silverhand.io + git config --global user.name silverhand-bot + + - name: Create release pull request + uses: changesets/action@v1 + with: + publish: changeset tag && git push --tags + commit: 'release: version packages' + title: 'release: version packages' + setupGitUser: false + env: + GITHUB_TOKEN: ${{ secrets.BOT_PAT }} create-github-release: environment: release diff --git a/package.json b/package.json index af11b8a5c..291afbab8 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,6 @@ "license": "MPL-2.0", "scripts": { "preinstall": "npx only-allow pnpm", - "version": "pnpm i --frozen-lockfile=false && git add pnpm-lock.yaml", "prepare": "if test \"$NODE_ENV\" != \"production\" && test \"$CI\" != \"true\" ; then husky install ; fi", "prepack": "pnpm -r prepack", "dev": "pnpm -r prepack && pnpm start:dev", @@ -18,6 +17,7 @@ "ci:test": "pnpm -r --parallel test:ci" }, "devDependencies": { + "@changesets/cli": "^2.25.0", "@commitlint/cli": "^17.0.0", "@commitlint/config-conventional": "^17.0.0", "@commitlint/types": "^17.0.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index ebbc85f10..16d2a8a54 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -40,8 +40,8 @@ "url": "https://github.com/logto-io/logto/issues" }, "dependencies": { - "@logto/schemas": "^1.0.0-beta.12", - "@logto/shared": "^1.0.0-beta.12", + "@logto/schemas": "workspace:^", + "@logto/shared": "workspace:^", "@silverhand/essentials": "^1.3.0", "chalk": "^4.1.2", "decamelize": "^5.0.0", diff --git a/packages/console/package.json b/packages/console/package.json index 10d3f16db..db72eedf9 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -20,10 +20,10 @@ "@fontsource/roboto-mono": "^4.5.7", "@logto/core-kit": "1.0.0-beta.18", "@logto/language-kit": "1.0.0-beta.19", - "@logto/phrases": "^1.0.0-beta.12", - "@logto/phrases-ui": "^1.0.0-beta.12", + "@logto/phrases": "workspace:^", + "@logto/phrases-ui": "workspace:^", "@logto/react": "1.0.0-beta.10", - "@logto/schemas": "^1.0.0-beta.12", + "@logto/schemas": "workspace:^", "@mdx-js/react": "^1.6.22", "@parcel/core": "2.7.0", "@parcel/transformer-mdx": "2.7.0", diff --git a/packages/core/package.json b/packages/core/package.json index 1f59ea0f8..68029d352 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -19,14 +19,14 @@ "test:report": "codecov -F core" }, "dependencies": { - "@logto/cli": "^1.0.0-beta.12", + "@logto/cli": "workspace:^", "@logto/connector-kit": "^1.0.0-beta.18", "@logto/core-kit": "^1.0.0-beta.18", "@logto/language-kit": "1.0.0-beta.19", - "@logto/phrases": "^1.0.0-beta.12", - "@logto/phrases-ui": "^1.0.0-beta.12", - "@logto/schemas": "^1.0.0-beta.12", - "@logto/shared": "^1.0.0-beta.12", + "@logto/phrases": "workspace:^", + "@logto/phrases-ui": "workspace:^", + "@logto/schemas": "workspace:^", + "@logto/shared": "workspace:^", "@silverhand/essentials": "^1.3.0", "chalk": "^4", "clean-deep": "^3.4.0", diff --git a/packages/create/package.json b/packages/create/package.json index 767551b1b..a950e218f 100644 --- a/packages/create/package.json +++ b/packages/create/package.json @@ -14,6 +14,6 @@ "node": "^16.0.0" }, "dependencies": { - "@logto/cli": "^1.0.0-beta.12" + "@logto/cli": "workspace:^" } } diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 625e61904..5cd3884cd 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -19,9 +19,9 @@ "devDependencies": { "@logto/core-kit": "1.0.0-beta.18", "@logto/language-kit": "1.0.0-beta.19", - "@logto/phrases": "^1.0.0-beta.12", + "@logto/phrases": "workspace:^", "@logto/react": "1.0.0-beta.10", - "@logto/schemas": "^1.0.0-beta.12", + "@logto/schemas": "workspace:^", "@parcel/core": "2.7.0", "@parcel/transformer-sass": "2.7.0", "@silverhand/eslint-config": "1.2.0", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index bd3b98c8a..69285b778 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@jest/types": "^29.1.2", "@logto/node": "1.0.0-beta.10", - "@logto/schemas": "^1.0.0-beta.12", + "@logto/schemas": "workspace:^", "@peculiar/webcrypto": "^1.3.3", "@silverhand/eslint-config": "1.2.0", "@silverhand/essentials": "^1.3.0", diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 3f858fe95..b3319bf23 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -70,8 +70,8 @@ "@logto/connector-kit": "1.0.0-beta.19", "@logto/core-kit": "1.0.0-beta.18", "@logto/language-kit": "1.0.0-beta.19", - "@logto/phrases": "^1.0.0-beta.12", - "@logto/phrases-ui": "^1.0.0-beta.12", + "@logto/phrases": "workspace:^", + "@logto/phrases-ui": "workspace:^", "zod": "^3.18.0" } } diff --git a/packages/shared/package.json b/packages/shared/package.json index 370d33da3..ddc63da3e 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -43,7 +43,7 @@ }, "prettier": "@silverhand/eslint-config/.prettierrc", "dependencies": { - "@logto/schemas": "^1.0.0-beta.12", + "@logto/schemas": "workspace:^", "@silverhand/essentials": "^1.3.0", "dayjs": "^1.10.5", "find-up": "^5.0.0", diff --git a/packages/ui/package.json b/packages/ui/package.json index 9a45ced09..155965fa2 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -19,9 +19,9 @@ "@logto/core-kit": "1.0.0-beta.18" }, "devDependencies": { - "@logto/phrases": "^1.0.0-beta.12", - "@logto/phrases-ui": "^1.0.0-beta.12", - "@logto/schemas": "^1.0.0-beta.12", + "@logto/phrases": "workspace:^", + "@logto/phrases-ui": "workspace:^", + "@logto/schemas": "workspace:^", "@parcel/core": "2.7.0", "@parcel/transformer-sass": "2.7.0", "@parcel/transformer-svg-react": "2.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a58d7ec95..b50f3ef9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,7 @@ importers: .: specifiers: + '@changesets/cli': ^2.25.0 '@commitlint/cli': ^17.0.0 '@commitlint/config-conventional': ^17.0.0 '@commitlint/types': ^17.0.0 @@ -13,6 +14,7 @@ importers: dependencies: '@logto/cli': link:packages/cli devDependencies: + '@changesets/cli': 2.25.0 '@commitlint/cli': 17.0.0 '@commitlint/config-conventional': 17.0.0 '@commitlint/types': 17.0.0 @@ -21,8 +23,8 @@ importers: packages/cli: specifiers: - '@logto/schemas': ^1.0.0-beta.12 - '@logto/shared': ^1.0.0-beta.12 + '@logto/schemas': workspace:^ + '@logto/shared': workspace:^ '@silverhand/eslint-config': 1.2.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 @@ -105,10 +107,10 @@ importers: '@fontsource/roboto-mono': ^4.5.7 '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@logto/phrases': ^1.0.0-beta.12 - '@logto/phrases-ui': ^1.0.0-beta.12 + '@logto/phrases': workspace:^ + '@logto/phrases-ui': workspace:^ '@logto/react': 1.0.0-beta.10 - '@logto/schemas': ^1.0.0-beta.12 + '@logto/schemas': workspace:^ '@mdx-js/react': ^1.6.22 '@parcel/core': 2.7.0 '@parcel/transformer-mdx': 2.7.0 @@ -238,14 +240,14 @@ importers: packages/core: specifiers: - '@logto/cli': ^1.0.0-beta.12 + '@logto/cli': workspace:^ '@logto/connector-kit': ^1.0.0-beta.18 '@logto/core-kit': ^1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@logto/phrases': ^1.0.0-beta.12 - '@logto/phrases-ui': ^1.0.0-beta.12 - '@logto/schemas': ^1.0.0-beta.12 - '@logto/shared': ^1.0.0-beta.12 + '@logto/phrases': workspace:^ + '@logto/phrases-ui': workspace:^ + '@logto/schemas': workspace:^ + '@logto/shared': workspace:^ '@shopify/jest-koa-mocks': ^5.0.0 '@silverhand/eslint-config': 1.2.0 '@silverhand/essentials': ^1.3.0 @@ -397,7 +399,7 @@ importers: packages/create: specifiers: - '@logto/cli': ^1.0.0-beta.12 + '@logto/cli': workspace:^ dependencies: '@logto/cli': link:../cli @@ -405,9 +407,9 @@ importers: specifiers: '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@logto/phrases': ^1.0.0-beta.12 + '@logto/phrases': workspace:^ '@logto/react': 1.0.0-beta.10 - '@logto/schemas': ^1.0.0-beta.12 + '@logto/schemas': workspace:^ '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0 '@silverhand/eslint-config': 1.2.0 @@ -461,7 +463,7 @@ importers: specifiers: '@jest/types': ^29.1.2 '@logto/node': 1.0.0-beta.10 - '@logto/schemas': ^1.0.0-beta.12 + '@logto/schemas': workspace:^ '@peculiar/webcrypto': ^1.3.3 '@silverhand/eslint-config': 1.2.0 '@silverhand/essentials': ^1.3.0 @@ -564,8 +566,8 @@ importers: '@logto/connector-kit': 1.0.0-beta.19 '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@logto/phrases': ^1.0.0-beta.12 - '@logto/phrases-ui': ^1.0.0-beta.12 + '@logto/phrases': workspace:^ + '@logto/phrases-ui': workspace:^ '@silverhand/eslint-config': 1.2.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 @@ -614,7 +616,7 @@ importers: packages/shared: specifiers: - '@logto/schemas': ^1.0.0-beta.12 + '@logto/schemas': workspace:^ '@silverhand/eslint-config': 1.2.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 @@ -652,9 +654,9 @@ importers: packages/ui: specifiers: '@logto/core-kit': 1.0.0-beta.18 - '@logto/phrases': ^1.0.0-beta.12 - '@logto/phrases-ui': ^1.0.0-beta.12 - '@logto/schemas': ^1.0.0-beta.12 + '@logto/phrases': workspace:^ + '@logto/phrases-ui': workspace:^ + '@logto/schemas': workspace:^ '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0 '@parcel/transformer-svg-react': 2.7.0 @@ -1402,6 +1404,189 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@changesets/apply-release-plan/6.1.1: + resolution: {integrity: sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/config': 2.2.0 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 1.5.0 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.7.1 + resolve-from: 5.0.0 + semver: 5.7.1 + dev: true + + /@changesets/assemble-release-plan/5.2.2: + resolution: {integrity: sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.4 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + semver: 5.7.1 + dev: true + + /@changesets/changelog-git/0.1.13: + resolution: {integrity: sha512-zvJ50Q+EUALzeawAxax6nF2WIcSsC5PwbuLeWkckS8ulWnuPYx8Fn/Sjd3rF46OzeKA8t30loYYV6TIzp4DIdg==} + dependencies: + '@changesets/types': 5.2.0 + dev: true + + /@changesets/cli/2.25.0: + resolution: {integrity: sha512-Svu5KD2enurVHGEEzCRlaojrHjVYgF9srmMP9VQSy9c1TspX6C9lDPpulsSNIjYY9BuU/oiWpjBgR7RI9eQiAA==} + hasBin: true + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/apply-release-plan': 6.1.1 + '@changesets/assemble-release-plan': 5.2.2 + '@changesets/changelog-git': 0.1.13 + '@changesets/config': 2.2.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.4 + '@changesets/get-release-plan': 3.0.15 + '@changesets/git': 1.5.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.13 + '@changesets/read': 0.5.8 + '@changesets/types': 5.2.0 + '@changesets/write': 0.2.1 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.0 + '@types/semver': 6.2.3 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.3.6 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.0.3 + resolve-from: 5.0.0 + semver: 5.7.1 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.1.6 + dev: true + + /@changesets/config/2.2.0: + resolution: {integrity: sha512-GGaokp3nm5FEDk/Fv2PCRcQCOxGKKPRZ7prcMqxEr7VSsG75MnChQE8plaW1k6V8L2bJE+jZWiRm19LbnproOw==} + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.4 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + dev: true + + /@changesets/errors/0.1.4: + resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + dependencies: + extendable-error: 0.1.7 + dev: true + + /@changesets/get-dependents-graph/1.3.4: + resolution: {integrity: sha512-+C4AOrrFY146ydrgKOo5vTZfj7vetNu1tWshOID+UjPUU9afYGDXI8yLnAeib1ffeBXV3TuGVcyphKpJ3cKe+A==} + dependencies: + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 5.7.1 + dev: true + + /@changesets/get-release-plan/3.0.15: + resolution: {integrity: sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/assemble-release-plan': 5.2.2 + '@changesets/config': 2.2.0 + '@changesets/pre': 1.0.13 + '@changesets/read': 0.5.8 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + dev: true + + /@changesets/get-version-range-type/0.3.2: + resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + dev: true + + /@changesets/git/1.5.0: + resolution: {integrity: sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + spawndamnit: 2.0.0 + dev: true + + /@changesets/logger/0.0.5: + resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + dependencies: + chalk: 2.4.2 + dev: true + + /@changesets/parse/0.3.15: + resolution: {integrity: sha512-3eDVqVuBtp63i+BxEWHPFj2P1s3syk0PTrk2d94W9JD30iG+OER0Y6n65TeLlY8T2yB9Fvj6Ev5Gg0+cKe/ZUA==} + dependencies: + '@changesets/types': 5.2.0 + js-yaml: 3.14.1 + dev: true + + /@changesets/pre/1.0.13: + resolution: {integrity: sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + dev: true + + /@changesets/read/0.5.8: + resolution: {integrity: sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/git': 1.5.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.15 + '@changesets/types': 5.2.0 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + dev: true + + /@changesets/types/4.1.0: + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + dev: true + + /@changesets/types/5.2.0: + resolution: {integrity: sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA==} + dev: true + + /@changesets/write/0.2.1: + resolution: {integrity: sha512-KUd49nt2fnYdGixIqTi1yVE1nAoZYUMdtB3jBfp77IMqjZ65hrmZE5HdccDlTeClZN0420ffpnfET3zzeY8pdw==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/types': 5.2.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.7.1 + dev: true + /@commitlint/cli/17.0.0: resolution: {integrity: sha512-Np6slCdVVG1XwMvwbZrXIzS1INPAD5QmN4L6al04AmCd4nAPU63gxgxC5Mz0Fmx7va23Uvb0S7yEFV1JPhvPUQ==} engines: {node: '>=v14'} @@ -2206,6 +2391,26 @@ packages: react: 18.2.0 dev: true + /@manypkg/find-root/1.1.0: + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + dependencies: + '@babel/runtime': 7.19.4 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + dev: true + + /@manypkg/get-packages/1.1.3: + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + dependencies: + '@babel/runtime': 7.19.4 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + dev: true + /@mdx-js/mdx/1.6.22: resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} dependencies: @@ -3744,6 +3949,12 @@ packages: rxjs: 7.5.5 dev: true + /@types/is-ci/3.0.0: + resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + dependencies: + ci-info: 3.5.0 + dev: true + /@types/istanbul-lib-coverage/2.0.3: resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} dev: true @@ -3899,6 +4110,10 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true + /@types/node/12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + /@types/node/16.11.12: resolution: {integrity: sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==} dev: true @@ -4011,6 +4226,10 @@ packages: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: true + /@types/semver/6.2.3: + resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} + dev: true + /@types/semver/7.3.12: resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true @@ -4336,6 +4555,11 @@ packages: uri-js: 4.4.1 dev: true + /ansi-colors/4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -4636,6 +4860,13 @@ packages: /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /better-path-resolve/1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + dependencies: + is-windows: 1.0.2 + dev: true + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -4671,6 +4902,12 @@ packages: fill-range: 7.0.1 dev: true + /breakword/1.0.5: + resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} + dependencies: + wcwidth: 1.0.1 + dev: true + /browser-process-hrtime/1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true @@ -4779,7 +5016,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.3 /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -4877,7 +5114,6 @@ packages: /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: false /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -4976,6 +5212,14 @@ packages: engines: {node: '>= 10'} dev: false + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -5018,7 +5262,6 @@ packages: /clone/1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: false /clone/2.1.2: resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} @@ -5303,6 +5546,14 @@ packages: - encoding dev: true + /cross-spawn/5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -5376,6 +5627,28 @@ packages: resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} dev: true + /csv-generate/3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true + + /csv-parse/4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true + + /csv-stringify/5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true + + /csv/5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + dev: true + /cwd/0.10.0: resolution: {integrity: sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==} engines: {node: '>=0.8'} @@ -5579,7 +5852,6 @@ packages: resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} dependencies: clone: 1.0.4 - dev: false /defer-to-connect/2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} @@ -5639,6 +5911,11 @@ packages: repeat-string: 1.6.1 dev: true + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + /detect-libc/1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} @@ -5835,6 +6112,13 @@ packages: tapable: 2.2.1 dev: true + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + /entities/2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -6495,6 +6779,10 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true + /extendable-error/0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + dev: true + /external-editor/3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -6502,7 +6790,6 @@ packages: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: false /extract-zip/2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} @@ -6677,6 +6964,13 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 + /find-yarn-workspace-root2/1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: true + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6771,6 +7065,24 @@ packages: jsonfile: 6.1.0 universalify: 2.0.0 + /fs-extra/7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs-minipass/2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -6826,13 +7138,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - /get-intrinsic/1.1.3: resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} dependencies: @@ -7007,7 +7312,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.11 + fast-glob: 3.2.12 ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 @@ -7417,6 +7722,10 @@ packages: - supports-color dev: true + /human-id/1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + dev: true + /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -7459,7 +7768,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: false /iconv-lite/0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -7673,6 +7981,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-ci/3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.5.0 + dev: true + /is-core-module/2.10.0: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} dependencies: @@ -7871,6 +8186,13 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-subdir/1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + dependencies: + better-path-resolve: 1.0.0 + dev: true + /is-symbol/1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} @@ -7905,6 +8227,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + /is-word-character/1.0.4: resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} dev: true @@ -8939,6 +9266,12 @@ packages: hasBin: true dev: true + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9222,6 +9555,16 @@ packages: '@lmdb/lmdb-win32-x64': 2.5.2 dev: true + /load-yaml-file/0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.10 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + /loader-utils/3.2.0: resolution: {integrity: sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==} engines: {node: '>= 12.13.0'} @@ -9283,6 +9626,10 @@ packages: /lodash.sortby/4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + /lodash.startcase/4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + /lodash.transform/4.6.0: resolution: {integrity: sha512-LO37ZnhmBVx0GvOU/caQuipEh4GN82TcWv3yHlebGDgOxbxiwwzW5Pcx2AcvpIv2WmvmSMoC492yQFNhy/l/UQ==} @@ -9352,6 +9699,13 @@ packages: highlight.js: 10.7.3 dev: true + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -9552,6 +9906,23 @@ packages: resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} + /meow/6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.0 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + /meow/8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -9967,6 +10338,11 @@ packages: is-extendable: 0.1.1 dev: true + /mixme/0.5.4: + resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} + engines: {node: '>= 8.0.0'} + dev: true + /mkdirp-classic/0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true @@ -10472,7 +10848,10 @@ packages: /os-tmpdir/1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: false + + /outdent/0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: true /p-cancelable/2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} @@ -10482,6 +10861,13 @@ packages: resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} engines: {node: '>=8'} + /p-filter/2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + /p-limit/2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -10508,6 +10894,11 @@ packages: dependencies: p-limit: 3.1.0 + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -10829,6 +11220,11 @@ packages: hasBin: true dev: true + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} @@ -11081,6 +11477,16 @@ packages: posthtml-render: 3.0.0 dev: true + /preferred-pm/3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: true + /prelude-ls/1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -11205,6 +11611,10 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true @@ -11634,6 +12044,16 @@ packages: type-fest: 0.6.0 dev: true + /read-yaml-file/1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.10 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + /readable-stream/1.0.34: resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: @@ -11839,6 +12259,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + /requires-port/1.0.0: resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} dev: false @@ -12087,6 +12511,10 @@ packages: dependencies: type-fest: 0.20.2 + /set-blocking/2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + /setprototypeof/1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} dev: false @@ -12104,6 +12532,13 @@ packages: mixin-object: 2.0.1 dev: true + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -12111,6 +12546,11 @@ packages: shebang-regex: 3.0.0 dev: true + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -12316,6 +12756,19 @@ packages: transitivePeerDependencies: - pg-native + /smartwrap/2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + array.prototype.flat: 1.3.0 + breakword: 1.0.5 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + dev: true + /snake-case/3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: @@ -12383,6 +12836,13 @@ packages: tree-kill: 1.2.2 dev: true + /spawndamnit/2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.7 + dev: true + /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: @@ -12453,6 +12913,12 @@ packages: engines: {node: '>= 0.8'} dev: false + /stream-transform/2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + dependencies: + mixme: 0.5.4 + dev: true + /strict-uri-encode/2.0.0: resolution: {integrity: sha1-ucczDHBChi9rFC3CdLvMWGbONUY=} engines: {node: '>=4'} @@ -12985,7 +13451,6 @@ packages: engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - dev: false /tmpl/1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -13193,6 +13658,20 @@ packages: typescript: 4.7.4 dev: true + /tty-table/4.1.6: + resolution: {integrity: sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.4 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.6.0 + dev: true + /type-check/0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -13215,7 +13694,6 @@ packages: /type-fest/0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - dev: false /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} @@ -13611,7 +14089,6 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.3 - dev: false /weak-lru-cache/1.2.2: resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} @@ -13695,6 +14172,18 @@ packages: is-symbol: 1.0.4 dev: true + /which-module/2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: true + + /which-pm/2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: true + /which/1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -13780,10 +14269,18 @@ packages: resolution: {integrity: sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==} dev: true + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -13796,6 +14293,14 @@ packages: engines: {node: '>= 14'} dev: true + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -13804,10 +14309,27 @@ packages: /yargs-parser/21.0.1: resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} engines: {node: '>=12'} + dev: true /yargs-parser/21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 dev: true /yargs/16.2.0: @@ -13846,7 +14368,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 21.0.1 + yargs-parser: 21.1.1 /yauzl/2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} From 4e74bcf0a45084aa2e62936a4c514003df9e7b17 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Oct 2022 02:17:09 +0000 Subject: [PATCH 09/18] chore(deps): update silverhand configs monorepo packages to v1.3.0 --- packages/cli/package.json | 2 +- packages/console/package.json | 4 +- packages/core/package.json | 2 +- packages/demo-app/package.json | 4 +- packages/integration-tests/package.json | 2 +- packages/phrases-ui/package.json | 2 +- packages/phrases/package.json | 2 +- packages/schemas/package.json | 2 +- packages/shared/package.json | 2 +- packages/ui/package.json | 4 +- pnpm-lock.yaml | 160 ++++++++++-------------- 11 files changed, 79 insertions(+), 107 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 16d2a8a54..475bc6234 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -63,7 +63,7 @@ "zod": "^3.18.0" }, "devDependencies": { - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", "@types/fs-extra": "^9.0.13", diff --git a/packages/console/package.json b/packages/console/package.json index db72eedf9..e6c8df85b 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -29,8 +29,8 @@ "@parcel/transformer-mdx": "2.7.0", "@parcel/transformer-sass": "2.7.0", "@parcel/transformer-svg-react": "2.7.0", - "@silverhand/eslint-config": "1.2.0", - "@silverhand/eslint-config-react": "1.2.1", + "@silverhand/eslint-config": "1.3.0", + "@silverhand/eslint-config-react": "1.3.0", "@silverhand/essentials": "^1.3.0", "@silverhand/ts-config": "1.2.1", "@silverhand/ts-config-react": "1.2.1", diff --git a/packages/core/package.json b/packages/core/package.json index 68029d352..1e51e50db 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -68,7 +68,7 @@ }, "devDependencies": { "@shopify/jest-koa-mocks": "^5.0.0", - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", "@types/debug": "^4.1.7", diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 5cd3884cd..3b042d6f4 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -24,8 +24,8 @@ "@logto/schemas": "workspace:^", "@parcel/core": "2.7.0", "@parcel/transformer-sass": "2.7.0", - "@silverhand/eslint-config": "1.2.0", - "@silverhand/eslint-config-react": "1.2.1", + "@silverhand/eslint-config": "1.3.0", + "@silverhand/eslint-config-react": "1.3.0", "@silverhand/ts-config": "1.2.1", "@silverhand/ts-config-react": "1.2.1", "@types/react": "^18.0.0", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 69285b778..8b20f21de 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -18,7 +18,7 @@ "@logto/node": "1.0.0-beta.10", "@logto/schemas": "workspace:^", "@peculiar/webcrypto": "^1.3.3", - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/essentials": "^1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", diff --git a/packages/phrases-ui/package.json b/packages/phrases-ui/package.json index 20afab19b..e7dce260b 100644 --- a/packages/phrases-ui/package.json +++ b/packages/phrases-ui/package.json @@ -37,7 +37,7 @@ "zod": "^3.18.0" }, "devDependencies": { - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/ts-config": "1.2.1", "eslint": "^8.21.0", "lint-staged": "^13.0.0", diff --git a/packages/phrases/package.json b/packages/phrases/package.json index b55375479..e1d9d4f64 100644 --- a/packages/phrases/package.json +++ b/packages/phrases/package.json @@ -37,7 +37,7 @@ "zod": "^3.18.0" }, "devDependencies": { - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/ts-config": "1.2.1", "eslint": "^8.21.0", "lint-staged": "^13.0.0", diff --git a/packages/schemas/package.json b/packages/schemas/package.json index b3319bf23..46dc3dc56 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -30,7 +30,7 @@ "node": "^16.0.0" }, "devDependencies": { - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/essentials": "^1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", diff --git a/packages/shared/package.json b/packages/shared/package.json index ddc63da3e..c44c5ab15 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -21,7 +21,7 @@ "test:ci": "jest" }, "devDependencies": { - "@silverhand/eslint-config": "1.2.0", + "@silverhand/eslint-config": "1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", "@types/jest": "^29.1.2", diff --git a/packages/ui/package.json b/packages/ui/package.json index 155965fa2..82de7d6bb 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -26,8 +26,8 @@ "@parcel/transformer-sass": "2.7.0", "@parcel/transformer-svg-react": "2.7.0", "@peculiar/webcrypto": "^1.3.3", - "@silverhand/eslint-config": "1.2.0", - "@silverhand/eslint-config-react": "1.2.1", + "@silverhand/eslint-config": "1.3.0", + "@silverhand/eslint-config-react": "1.3.0", "@silverhand/essentials": "^1.3.0", "@silverhand/jest-config": "1.2.2", "@silverhand/ts-config": "1.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b50f3ef9c..39aa17b0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ importers: specifiers: '@logto/schemas': workspace:^ '@logto/shared': workspace:^ - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -84,7 +84,7 @@ importers: yargs: 17.6.0 zod: 3.18.0 devDependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 '@types/fs-extra': 9.0.13 @@ -116,8 +116,8 @@ importers: '@parcel/transformer-mdx': 2.7.0 '@parcel/transformer-sass': 2.7.0 '@parcel/transformer-svg-react': 2.7.0 - '@silverhand/eslint-config': 1.2.0 - '@silverhand/eslint-config-react': 1.2.1 + '@silverhand/eslint-config': 1.3.0 + '@silverhand/eslint-config-react': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/ts-config': 1.2.1 '@silverhand/ts-config-react': 1.2.1 @@ -183,8 +183,8 @@ importers: '@parcel/transformer-mdx': 2.7.0_qpbak7zubdfpxpruk62f7gjw7u '@parcel/transformer-sass': 2.7.0_@parcel+core@2.7.0 '@parcel/transformer-svg-react': 2.7.0_@parcel+core@2.7.0 - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni - '@silverhand/eslint-config-react': 1.2.1_3jdvf2aalbcoibv3m53iflhmym + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config-react': 1.3.0_3jdvf2aalbcoibv3m53iflhmym '@silverhand/essentials': 1.3.0 '@silverhand/ts-config': 1.2.1_typescript@4.7.4 '@silverhand/ts-config-react': 1.2.1_typescript@4.7.4 @@ -249,7 +249,7 @@ importers: '@logto/schemas': workspace:^ '@logto/shared': workspace:^ '@shopify/jest-koa-mocks': ^5.0.0 - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -366,7 +366,7 @@ importers: zod: 3.18.0 devDependencies: '@shopify/jest-koa-mocks': 5.0.0 - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 '@types/debug': 4.1.7 @@ -412,8 +412,8 @@ importers: '@logto/schemas': workspace:^ '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0 - '@silverhand/eslint-config': 1.2.0 - '@silverhand/eslint-config-react': 1.2.1 + '@silverhand/eslint-config': 1.3.0 + '@silverhand/eslint-config-react': 1.3.0 '@silverhand/ts-config': 1.2.1 '@silverhand/ts-config-react': 1.2.1 '@types/react': ^18.0.0 @@ -439,8 +439,8 @@ importers: '@logto/schemas': link:../schemas '@parcel/core': 2.7.0 '@parcel/transformer-sass': 2.7.0_@parcel+core@2.7.0 - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni - '@silverhand/eslint-config-react': 1.2.1_qoomm4vc6ijs52fnjlal4yoenm + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config-react': 1.3.0_qoomm4vc6ijs52fnjlal4yoenm '@silverhand/ts-config': 1.2.1_typescript@4.7.4 '@silverhand/ts-config-react': 1.2.1_typescript@4.7.4 '@types/react': 18.0.15 @@ -465,7 +465,7 @@ importers: '@logto/node': 1.0.0-beta.10 '@logto/schemas': workspace:^ '@peculiar/webcrypto': ^1.3.3 - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -490,7 +490,7 @@ importers: '@logto/node': 1.0.0-beta.10 '@logto/schemas': link:../schemas '@peculiar/webcrypto': 1.3.3 - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/essentials': 1.3.0 '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 @@ -515,7 +515,7 @@ importers: specifiers: '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/ts-config': 1.2.1 eslint: ^8.21.0 @@ -529,7 +529,7 @@ importers: '@silverhand/essentials': 1.3.0 zod: 3.18.0 devDependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/ts-config': 1.2.1_typescript@4.7.4 eslint: 8.21.0 lint-staged: 13.0.0 @@ -540,7 +540,7 @@ importers: specifiers: '@logto/core-kit': 1.0.0-beta.18 '@logto/language-kit': 1.0.0-beta.19 - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/ts-config': 1.2.1 eslint: ^8.21.0 @@ -554,7 +554,7 @@ importers: '@silverhand/essentials': 1.3.0 zod: 3.18.0 devDependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/ts-config': 1.2.1_typescript@4.7.4 eslint: 8.21.0 lint-staged: 13.0.0 @@ -568,7 +568,7 @@ importers: '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -595,7 +595,7 @@ importers: '@logto/phrases-ui': link:../phrases-ui zod: 3.18.0 devDependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/essentials': 1.3.0 '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 @@ -617,7 +617,7 @@ importers: packages/shared: specifiers: '@logto/schemas': workspace:^ - '@silverhand/eslint-config': 1.2.0 + '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -640,7 +640,7 @@ importers: nanoid: 3.3.4 slonik: 30.1.2 devDependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 '@types/jest': 29.1.2 @@ -661,8 +661,8 @@ importers: '@parcel/transformer-sass': 2.7.0 '@parcel/transformer-svg-react': 2.7.0 '@peculiar/webcrypto': ^1.3.3 - '@silverhand/eslint-config': 1.2.0 - '@silverhand/eslint-config-react': 1.2.1 + '@silverhand/eslint-config': 1.3.0 + '@silverhand/eslint-config-react': 1.3.0 '@silverhand/essentials': ^1.3.0 '@silverhand/jest-config': 1.2.2 '@silverhand/ts-config': 1.2.1 @@ -714,8 +714,8 @@ importers: '@parcel/transformer-sass': 2.7.0_@parcel+core@2.7.0 '@parcel/transformer-svg-react': 2.7.0_@parcel+core@2.7.0 '@peculiar/webcrypto': 1.3.3 - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni - '@silverhand/eslint-config-react': 1.2.1_3jdvf2aalbcoibv3m53iflhmym + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config-react': 1.3.0_3jdvf2aalbcoibv3m53iflhmym '@silverhand/essentials': 1.3.0 '@silverhand/jest-config': 1.2.2_zapogttls25djihwjkusccjjym '@silverhand/ts-config': 1.2.1_typescript@4.7.4 @@ -780,13 +780,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.16.10 + dev: true /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - dev: true /@babel/compat-data/7.17.7: resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} @@ -802,7 +802,7 @@ packages: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 '@babel/generator': 7.17.9 '@babel/helper-module-transforms': 7.17.7 '@babel/helpers': 7.17.9 @@ -815,7 +815,7 @@ packages: gensync: 1.0.0-beta.2 json5: 2.2.1 lodash: 4.17.21 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 source-map: 0.5.7 transitivePeerDependencies: @@ -976,7 +976,7 @@ packages: '@babel/helper-module-imports': 7.16.7 '@babel/helper-simple-access': 7.17.7 '@babel/helper-split-export-declaration': 7.16.7 - '@babel/helper-validator-identifier': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.16.7 '@babel/traverse': 7.17.9 '@babel/types': 7.18.2 @@ -1047,19 +1047,14 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier/7.16.7: - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-validator-identifier/7.18.6: resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier/7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-option/7.16.7: resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} @@ -1100,6 +1095,7 @@ packages: '@babel/helper-validator-identifier': 7.18.6 chalk: 2.4.2 js-tokens: 4.0.0 + dev: true /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -1108,7 +1104,6 @@ packages: '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true /@babel/parser/7.18.3: resolution: {integrity: sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==} @@ -1307,6 +1302,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 + dev: true /@babel/runtime/7.18.3: resolution: {integrity: sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==} @@ -1319,13 +1315,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 - dev: true /@babel/template/7.16.7: resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 '@babel/parser': 7.18.3 '@babel/types': 7.18.2 dev: true @@ -1343,7 +1338,7 @@ packages: resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 '@babel/generator': 7.17.9 '@babel/helper-environment-visitor': 7.16.7 '@babel/helper-function-name': 7.17.9 @@ -1379,7 +1374,7 @@ packages: resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.16.7 + '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 dev: false @@ -1387,7 +1382,7 @@ packages: resolution: {integrity: sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 dev: true @@ -3403,13 +3398,13 @@ packages: resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true - /@silverhand/eslint-config-react/1.2.1_3jdvf2aalbcoibv3m53iflhmym: - resolution: {integrity: sha512-N8yvFVMSpJFOEXykFP3SUqAkITt6zsoF+9hLIEo7kwBIi++h5m5+8JagPEj0e3RjprvXa1ZgcD0vwLdMw8H4zA==} + /@silverhand/eslint-config-react/1.3.0_3jdvf2aalbcoibv3m53iflhmym: + resolution: {integrity: sha512-L6tzayeKo1RXTadIHbZKUJWzi5Pu0tjg6eoTw5mz+3FTLu4zBXK0+/jK6FeHwQ3lWt8Cj3HDIMvVG97yjoblPA==} engines: {node: ^16.0.0 || ^18.0.0} peerDependencies: stylelint: ^14.9.1 dependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni eslint-config-xo-react: 0.27.0_nlhz3yu2pbp43ngjgjnh6mfwge eslint-plugin-jsx-a11y: 6.6.1_eslint@8.21.0 eslint-plugin-react: 7.31.10_eslint@8.21.0 @@ -3425,13 +3420,13 @@ packages: - typescript dev: true - /@silverhand/eslint-config-react/1.2.1_qoomm4vc6ijs52fnjlal4yoenm: - resolution: {integrity: sha512-N8yvFVMSpJFOEXykFP3SUqAkITt6zsoF+9hLIEo7kwBIi++h5m5+8JagPEj0e3RjprvXa1ZgcD0vwLdMw8H4zA==} + /@silverhand/eslint-config-react/1.3.0_qoomm4vc6ijs52fnjlal4yoenm: + resolution: {integrity: sha512-L6tzayeKo1RXTadIHbZKUJWzi5Pu0tjg6eoTw5mz+3FTLu4zBXK0+/jK6FeHwQ3lWt8Cj3HDIMvVG97yjoblPA==} engines: {node: ^16.0.0 || ^18.0.0} peerDependencies: stylelint: ^14.9.1 dependencies: - '@silverhand/eslint-config': 1.2.0_swk2g7ygmfleszo5c33j4vooni + '@silverhand/eslint-config': 1.3.0_swk2g7ygmfleszo5c33j4vooni eslint-config-xo-react: 0.27.0_nlhz3yu2pbp43ngjgjnh6mfwge eslint-plugin-jsx-a11y: 6.6.1_eslint@8.21.0 eslint-plugin-react: 7.31.10_eslint@8.21.0 @@ -3447,8 +3442,8 @@ packages: - typescript dev: true - /@silverhand/eslint-config/1.2.0_swk2g7ygmfleszo5c33j4vooni: - resolution: {integrity: sha512-75LMImKXxIqSl1e1KNKH6P0HX+8RvYi9tnVb51zN+m5ip+SX60i2MEmsSkHtHgIFBaJ9vTJkXTDC13oRw00iYw==} + /@silverhand/eslint-config/1.3.0_swk2g7ygmfleszo5c33j4vooni: + resolution: {integrity: sha512-0+SXJXAkUe1pg2DNn3JCEo99Weev07chQsL2iSCramXeMKjEk1R1UKjgQJM9saUGF7ovY4hlE/JjFD3PFId4DQ==} engines: {node: ^16.0.0 || ^18.0.0} peerDependencies: eslint: ^8.21.0 @@ -3459,8 +3454,8 @@ packages: '@typescript-eslint/parser': 5.40.0_qugx7qdu5zevzvxaiqyxfiwquq eslint: 8.21.0 eslint-config-prettier: 8.5.0_eslint@8.21.0 - eslint-config-xo: 0.41.0_eslint@8.21.0 - eslint-config-xo-typescript: 0.52.0_4y2fwmtil766jscqcpwrpkqfje + eslint-config-xo: 0.42.0_eslint@8.21.0 + eslint-config-xo-typescript: 0.53.0_4y2fwmtil766jscqcpwrpkqfje eslint-import-resolver-typescript: 3.5.1_jatgrcxl4x7ywe7ak6cnjca2ae eslint-plugin-consistent-default-export-name: 0.0.15 eslint-plugin-eslint-comments: 3.2.0_eslint@8.21.0 @@ -4800,9 +4795,9 @@ packages: /babel-plugin-macros/2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.17.9 + '@babel/runtime': 7.19.4 cosmiconfig: 6.0.0 - resolve: 1.22.0 + resolve: 1.22.1 dev: false /babel-preset-current-node-syntax/1.0.1_@babel+core@7.19.3: @@ -6250,12 +6245,12 @@ packages: eslint-plugin-react-hooks: 4.6.0_eslint@8.21.0 dev: true - /eslint-config-xo-typescript/0.52.0_4y2fwmtil766jscqcpwrpkqfje: - resolution: {integrity: sha512-8HMY/ArRT1Jv8dD5Fkjb+5wex+egwuniNcKNHnPZR0YAEy99/SiCcBrS72hlSiWdhrK/dmv3nZM3uIgvhJI0gQ==} + /eslint-config-xo-typescript/0.53.0_4y2fwmtil766jscqcpwrpkqfje: + resolution: {integrity: sha512-IJ1n70egMPTou/41HoGGFbLf/2WCsVW5lSUxOSklrR8T1221fMRPVJxIVZ3evr8R+N5wR6uzg/0uzSymwWA5Bg==} engines: {node: '>=12'} peerDependencies: - '@typescript-eslint/eslint-plugin': '>=5.28.0' - '@typescript-eslint/parser': '>=5.28.0' + '@typescript-eslint/eslint-plugin': '>=5.31.0' + '@typescript-eslint/parser': '>=5.31.0' eslint: '>=8.0.0' typescript: '>=4.4' dependencies: @@ -6265,8 +6260,8 @@ packages: typescript: 4.7.4 dev: true - /eslint-config-xo/0.41.0_eslint@8.21.0: - resolution: {integrity: sha512-cyTc182COQVdalOi5105h0Cw/Qb52IRGyIZLmUICIauANm9Upmv81UEsuFkdKnvwr4NtU95qjdk3g4/kNspA6g==} + /eslint-config-xo/0.42.0_eslint@8.21.0: + resolution: {integrity: sha512-HIfd+AM6tHFoaZ/NXYDV3Mr/CJrAj/DoP6IOYt1/v+90XtCwVYOfW7LXbRDYDmhQMzT16h7eqPRcex72waRqdA==} engines: {node: '>=12'} peerDependencies: eslint: '>=8.14.0' @@ -7992,12 +7987,6 @@ packages: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} dependencies: has: 1.0.3 - dev: true - - /is-core-module/2.9.0: - resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} - dependencies: - has: 1.0.3 /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -8797,11 +8786,11 @@ packages: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 '@jest/types': 28.1.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 micromatch: 4.0.5 pretty-format: 28.1.3 slash: 3.0.0 @@ -9027,8 +9016,8 @@ packages: '@jest/types': 28.1.3 '@types/node': 17.0.23 chalk: 4.1.2 - ci-info: 3.3.2 - graceful-fs: 4.2.9 + ci-info: 3.5.0 + graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true @@ -10597,7 +10586,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -10607,8 +10596,8 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.9.0 - semver: 7.3.7 + is-core-module: 2.10.0 + semver: 7.3.8 validate-npm-package-license: 3.0.4 dev: true @@ -11007,7 +10996,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -11250,7 +11239,7 @@ packages: dev: true /postcss-media-query-parser/0.2.3: - resolution: {integrity: sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=} + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} dev: true /postcss-modules-extract-imports/3.0.0_postcss@8.4.6: @@ -11270,7 +11259,7 @@ packages: dependencies: icss-utils: 5.1.0_postcss@8.4.6 postcss: 8.4.6 - postcss-selector-parser: 6.0.9 + postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 dev: true @@ -11281,7 +11270,7 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.6 - postcss-selector-parser: 6.0.9 + postcss-selector-parser: 6.0.10 dev: true /postcss-modules-values/4.0.0_postcss@8.4.6: @@ -11349,14 +11338,6 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-selector-parser/6.0.9: - resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - /postcss-sorting/7.0.1_postcss@8.4.18: resolution: {integrity: sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==} peerDependencies: @@ -12314,14 +12295,6 @@ packages: engines: {node: '>=10'} dev: true - /resolve/1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} - hasBin: true - dependencies: - is-core-module: 2.9.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - /resolve/1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true @@ -12329,7 +12302,6 @@ packages: is-core-module: 2.10.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /resolve/2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} From f56b5b5c486a6c6d78d45f38c7ab23dfdb3d8a1e Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Fri, 21 Oct 2022 13:14:17 +0800 Subject: [PATCH 10/18] refactor: fix lint errors --- packages/cli/src/commands/connector/add.ts | 2 +- packages/cli/src/commands/connector/index.ts | 2 +- packages/cli/src/commands/connector/list.ts | 2 +- packages/cli/src/commands/connector/remove.ts | 2 +- .../commands/database/alteration/index.test.ts | 2 +- .../src/commands/database/alteration/index.ts | 8 ++++---- .../commands/database/alteration/version.ts | 2 +- packages/cli/src/commands/database/config.ts | 5 +++-- packages/cli/src/commands/database/index.ts | 2 +- .../cli/src/commands/database/seed/index.ts | 5 +++-- .../src/commands/database/seed/oidc-config.ts | 3 ++- packages/cli/src/commands/install/index.ts | 2 +- packages/cli/src/database.ts | 2 +- .../include.d/slonik-interceptor-preset.d.ts | 2 +- packages/cli/src/queries/logto-config.test.ts | 3 ++- packages/cli/src/queries/logto-config.ts | 15 +++++---------- packages/cli/src/test-utilities.ts | 4 ++-- packages/cli/src/utilities.ts | 6 ++++-- .../components/ActionMenu/ActionMenuButton.tsx | 3 ++- .../src/components/ActionMenu/index.tsx | 5 +++-- .../console/src/components/Alert/index.tsx | 4 ++-- .../src/components/AppBoundary/index.tsx | 3 ++- .../Sidebar/components/Contact/hook.tsx | 2 +- .../Sidebar/components/Item/index.tsx | 6 ++++-- .../Sidebar/components/Section/index.tsx | 2 +- .../AppContent/components/Sidebar/hook.tsx | 6 +++--- .../components/Sidebar/icons/BarGraph.tsx | 2 +- .../components/Sidebar/icons/Bolt.tsx | 2 +- .../components/Sidebar/icons/Box.tsx | 2 +- .../components/Sidebar/icons/Cloud.tsx | 2 +- .../components/Sidebar/icons/Connection.tsx | 2 +- .../components/Sidebar/icons/Contact.tsx | 2 +- .../components/Sidebar/icons/Document.tsx | 2 +- .../components/Sidebar/icons/Gear.tsx | 2 +- .../components/Sidebar/icons/List.tsx | 2 +- .../components/Sidebar/icons/UserProfile.tsx | 2 +- .../components/Sidebar/icons/Web.tsx | 2 +- .../AppContent/components/UserInfo/index.tsx | 3 ++- .../src/components/ApplicationIcon/index.tsx | 3 ++- .../src/components/ApplicationName/index.tsx | 2 +- .../components/ApplicationSelector/index.tsx | 2 +- .../src/components/AuditLogTable/index.tsx | 5 +++-- .../console/src/components/Button/index.tsx | 7 ++++--- packages/console/src/components/Card/index.tsx | 3 ++- .../console/src/components/CardTitle/index.tsx | 6 +++--- .../console/src/components/Checkbox/index.tsx | 3 ++- .../src/components/CodeEditor/index.tsx | 3 ++- .../src/components/ColorPicker/index.tsx | 3 ++- .../src/components/ConfirmModal/index.tsx | 7 ++++--- .../src/components/CopyToClipboard/index.tsx | 6 ++++-- .../src/components/DangerousRaw/index.tsx | 2 +- .../console/src/components/DateTime/index.tsx | 2 +- .../components/DeleteConfirmModal/index.tsx | 3 ++- .../console/src/components/Drawer/index.tsx | 2 +- .../src/components/Dropdown/DropdownItem.tsx | 2 +- .../console/src/components/Dropdown/index.tsx | 6 ++++-- .../src/components/ErrorBoundary/index.tsx | 3 ++- .../console/src/components/FormField/index.tsx | 7 ++++--- .../src/components/IconButton/index.tsx | 7 ++++--- .../src/components/ItemPreview/index.tsx | 5 +++-- .../src/components/LinkButton/index.tsx | 6 +++--- .../components/GithubRawImage/index.tsx | 3 ++- .../console/src/components/Markdown/index.tsx | 3 ++- .../src/components/ModalLayout/index.tsx | 4 ++-- .../src/components/MultiTextInput/index.tsx | 9 +++++---- .../src/components/MultiTextInput/utils.ts | 3 ++- .../src/components/RadioGroup/Radio.tsx | 5 +++-- .../src/components/RadioGroup/index.tsx | 6 ++++-- .../console/src/components/Search/index.tsx | 3 ++- .../console/src/components/Select/index.tsx | 3 ++- .../console/src/components/Status/index.tsx | 2 +- .../console/src/components/Switch/index.tsx | 3 ++- .../src/components/Table/TableEmpty.tsx | 2 +- .../console/src/components/TextInput/index.tsx | 3 ++- .../console/src/components/Textarea/index.tsx | 3 ++- .../console/src/components/Tooltip/index.tsx | 6 ++++-- .../components/Transfer/DragDropProvider.tsx | 3 ++- .../src/components/Transfer/DraggableItem.tsx | 5 +++-- .../console/src/components/Transfer/index.tsx | 3 ++- .../UnsavedChangesAlertModal/index.tsx | 3 ++- .../console/src/components/UserName/index.tsx | 5 +++-- packages/console/src/consts/connectors.ts | 2 +- packages/console/src/hooks/use-api.ts | 2 +- .../console/src/hooks/use-connector-groups.ts | 7 ++++--- .../console/src/hooks/use-connector-in-use.ts | 5 +++-- packages/console/src/hooks/use-position.ts | 3 ++- packages/console/src/hooks/use-scroll.ts | 2 +- packages/console/src/hooks/use-settings.ts | 5 +++-- packages/console/src/hooks/use-swr-fetcher.ts | 4 ++-- packages/console/src/hooks/use-swr-options.ts | 2 +- packages/console/src/hooks/use-ui-languages.ts | 7 ++++--- .../console/src/hooks/use-user-preferences.ts | 5 +++-- packages/console/src/i18n/init.ts | 2 +- packages/console/src/include.d/react-app.d.ts | 2 +- .../console/src/include.d/react-i18next.d.ts | 2 +- .../mdx-components/DetailsSummary/index.tsx | 6 ++++-- .../console/src/mdx-components/Step/index.tsx | 5 +++-- .../src/mdx-components/TabItem/index.tsx | 2 +- .../console/src/mdx-components/Tabs/index.tsx | 2 +- .../src/mdx-components/UriInputField/index.tsx | 12 +++++++----- .../src/pages/ApiResourceDetails/index.tsx | 6 ++++-- .../components/CreateForm/index.tsx | 2 +- .../console/src/pages/ApiResources/index.tsx | 5 +++-- .../components/AdvancedSettings.tsx | 3 ++- .../ApplicationDetails/components/Settings.tsx | 10 +++------- .../src/pages/ApplicationDetails/index.tsx | 6 ++++-- .../components/CreateForm/index.tsx | 3 ++- .../Applications/components/Guide/index.tsx | 12 +++++++----- .../components/SdkSelector/index.tsx | 2 +- .../components/TypeDescription/index.tsx | 2 +- .../console/src/pages/Applications/index.tsx | 4 ++-- .../src/pages/AuditLogDetails/index.tsx | 4 ++-- .../components/ConnectorContent.tsx | 3 ++- .../components/ConnectorTabs/index.tsx | 3 ++- .../src/pages/ConnectorDetails/index.tsx | 6 ++++-- .../components/ConnectorName/index.tsx | 3 ++- .../components/ConnectorRow/index.tsx | 3 ++- .../components/CreateForm/PlatformSelector.tsx | 2 +- .../Connectors/components/Guide/index.tsx | 5 +++-- .../src/pages/Dashboard/components/Block.tsx | 2 +- packages/console/src/pages/Dashboard/index.tsx | 7 ++++--- packages/console/src/pages/GetStarted/hook.ts | 5 +++-- packages/console/src/pages/Settings/index.tsx | 3 ++- .../components/AuthenticationForm.tsx | 2 +- .../components/BrandingForm.tsx | 2 +- .../SignInExperience/components/ColorForm.tsx | 2 +- .../components/ConnectorSetupWarning.tsx | 5 +++-- .../SignInExperience/components/GuideModal.tsx | 4 ++-- .../components/LanguagesForm.tsx | 6 +++--- .../LanguageEditor/AddLanguageSelector.tsx | 6 ++++-- .../LanguageEditor/EditSection.tsx | 2 +- .../LanguageEditor/LanguageDetails.tsx | 7 ++++--- .../LanguageEditor/LanguageItem.tsx | 3 ++- .../LanguageEditor/LanguageNav.tsx | 7 ++----- .../use-language-editor-context.ts | 2 +- .../SignInExperience/components/Preview.tsx | 13 +++++-------- .../components/SignInMethodsChangePreview.tsx | 2 +- .../components/SignInMethodsForm.tsx | 2 +- .../components/SignInMethodsPreview.tsx | 3 ++- .../SignInExperience/components/TermsForm.tsx | 2 +- .../src/pages/SignInExperience/hooks.ts | 4 ++-- .../src/pages/SignInExperience/index.tsx | 7 ++++--- .../SignInExperience/tabs/BrandingTab.tsx | 2 +- .../pages/SignInExperience/tabs/OthersTab.tsx | 2 +- .../SignInExperience/tabs/SignInMethodsTab.tsx | 2 +- .../src/pages/SignInExperience/types.ts | 2 +- .../src/pages/SignInExperience/utilities.ts | 12 +++--------- .../UserDetails/components/CreateSuccess.tsx | 2 +- .../components/ResetPasswordForm.tsx | 2 +- .../UserDetails/components/UserConnectors.tsx | 2 +- .../UserDetails/components/UserSettings.tsx | 5 +++-- .../console/src/pages/UserDetails/index.tsx | 5 +++-- .../Users/components/CreateForm/index.tsx | 2 +- packages/console/src/pages/Users/index.tsx | 4 ++-- packages/console/src/types/connector.ts | 2 +- packages/console/src/types/custom-phrase.ts | 4 ++-- packages/console/src/utilities/a11y.ts | 2 +- packages/core/src/__mocks__/connector.ts | 5 +++-- packages/core/src/__mocks__/index.ts | 11 ++--------- .../core/src/__mocks__/sign-in-experience.ts | 6 ++---- packages/core/src/__mocks__/user.ts | 3 ++- packages/core/src/app/init.ts | 2 +- packages/core/src/connectors/index.ts | 5 +++-- packages/core/src/connectors/types.ts | 4 ++-- .../src/connectors/utilities/index.test.ts | 2 +- .../core/src/connectors/utilities/index.ts | 8 ++------ .../core/src/database/find-entity-by-id.ts | 2 +- packages/core/src/database/insert-into.test.ts | 3 ++- packages/core/src/database/insert-into.ts | 7 ++++--- packages/core/src/database/row-count.ts | 3 ++- .../core/src/database/update-where.test.ts | 5 +++-- packages/core/src/database/update-where.ts | 13 +++++-------- .../core/src/env-set/check-alteration-state.ts | 2 +- packages/core/src/env-set/index.ts | 5 +++-- packages/core/src/env-set/oidc.ts | 3 ++- packages/core/src/errors/RequestError/index.ts | 7 ++++--- .../errors/RequestError/request-error.test.ts | 2 +- packages/core/src/errors/SlonikError/index.ts | 4 ++-- packages/core/src/i18n/detect-language.test.ts | 2 +- packages/core/src/i18n/detect-language.ts | 9 +++++---- packages/core/src/include.d/koa-body.d.ts | 4 ++-- packages/core/src/include.d/koa-router.d.ts | 2 +- packages/core/src/include.d/koa.d.ts | 2 +- packages/core/src/include.d/oidc-provider.d.ts | 2 +- .../include.d/slonik-interceptor-preset.d.ts | 2 +- .../core/src/lib/__mocks__/logto-config.ts | 3 ++- packages/core/src/lib/logto-config.ts | 5 +++-- packages/core/src/lib/passcode.test.ts | 3 ++- packages/core/src/lib/passcode.ts | 14 +++++--------- packages/core/src/lib/phrase.test.ts | 2 +- packages/core/src/lib/phrase.ts | 5 +++-- packages/core/src/lib/session.ts | 4 ++-- .../core/src/lib/sign-in-experience.test.ts | 2 +- packages/core/src/lib/sign-in-experience.ts | 15 +++++---------- packages/core/src/lib/social.ts | 10 ++++++---- packages/core/src/lib/user.ts | 3 ++- packages/core/src/middleware/koa-auth.test.ts | 7 ++++--- packages/core/src/middleware/koa-auth.ts | 6 +++--- .../core/src/middleware/koa-check-demo-app.ts | 2 +- .../middleware/koa-connector-error-handler.ts | 2 +- .../core/src/middleware/koa-error-handler.ts | 5 +++-- packages/core/src/middleware/koa-guard.ts | 9 +++++---- packages/core/src/middleware/koa-i18next.ts | 4 ++-- .../src/middleware/koa-log-session.test.ts | 2 +- .../core/src/middleware/koa-log-session.ts | 6 +++--- packages/core/src/middleware/koa-log.test.ts | 6 ++++-- packages/core/src/middleware/koa-log.ts | 7 ++++--- .../src/middleware/koa-oidc-error-handler.ts | 4 ++-- .../core/src/middleware/koa-pagination.test.ts | 5 +++-- packages/core/src/middleware/koa-pagination.ts | 4 ++-- packages/core/src/middleware/koa-root-proxy.ts | 4 ++-- .../core/src/middleware/koa-serve-static.ts | 2 +- .../src/middleware/koa-slonik-error-handler.ts | 4 ++-- packages/core/src/middleware/koa-spa-proxy.ts | 4 ++-- .../src/middleware/koa-spa-session-guard.ts | 6 +++--- .../core/src/middleware/koa-welcome-proxy.ts | 4 ++-- packages/core/src/oidc/adapter.test.ts | 2 +- packages/core/src/oidc/adapter.ts | 5 +++-- packages/core/src/oidc/init.ts | 2 +- packages/core/src/oidc/scope.ts | 9 +++++---- packages/core/src/oidc/utils.ts | 12 ++++-------- packages/core/src/queries/application.test.ts | 3 ++- packages/core/src/queries/application.ts | 6 ++++-- packages/core/src/queries/connector.test.ts | 3 ++- packages/core/src/queries/connector.ts | 3 ++- packages/core/src/queries/custom-phrase.ts | 3 ++- packages/core/src/queries/log.ts | 3 ++- .../src/queries/oidc-model-instance.test.ts | 6 ++++-- .../core/src/queries/oidc-model-instance.ts | 10 ++++++---- packages/core/src/queries/passcode.test.ts | 3 ++- packages/core/src/queries/passcode.ts | 3 ++- packages/core/src/queries/resource.test.ts | 3 ++- packages/core/src/queries/resource.ts | 6 ++++-- packages/core/src/queries/roles.test.ts | 3 ++- packages/core/src/queries/roles.ts | 3 ++- packages/core/src/queries/setting.test.ts | 3 ++- packages/core/src/queries/setting.ts | 5 +++-- .../src/queries/sign-in-experience.test.ts | 3 ++- .../core/src/queries/sign-in-experience.ts | 3 ++- packages/core/src/queries/user.test.ts | 3 ++- packages/core/src/queries/user.ts | 6 ++++-- packages/core/src/routes/admin-user.test.ts | 3 ++- packages/core/src/routes/admin-user.ts | 2 +- packages/core/src/routes/application.test.ts | 3 ++- packages/core/src/routes/application.ts | 2 +- packages/core/src/routes/authn.ts | 2 +- packages/core/src/routes/connector.test.ts | 5 +++-- packages/core/src/routes/connector.ts | 7 ++++--- .../core/src/routes/connector.update.test.ts | 2 +- packages/core/src/routes/custom-phrase.test.ts | 2 +- packages/core/src/routes/custom-phrase.ts | 5 +++-- packages/core/src/routes/dashboard.ts | 5 +++-- packages/core/src/routes/init.ts | 4 ++-- packages/core/src/routes/log.test.ts | 2 +- packages/core/src/routes/log.ts | 2 +- packages/core/src/routes/phrase.test.ts | 2 +- packages/core/src/routes/phrase.ts | 4 ++-- packages/core/src/routes/resource.test.ts | 2 +- packages/core/src/routes/resource.ts | 2 +- packages/core/src/routes/role.test.ts | 2 +- packages/core/src/routes/role.ts | 2 +- .../src/routes/session/forgot-password.test.ts | 3 ++- .../core/src/routes/session/forgot-password.ts | 4 ++-- packages/core/src/routes/session/index.test.ts | 2 +- packages/core/src/routes/session/index.ts | 6 +++--- .../middleware/koa-guard-session-action.ts | 5 +++-- .../session/middleware/passwordless-action.ts | 6 +++--- .../src/routes/session/passwordless.test.ts | 3 ++- .../core/src/routes/session/passwordless.ts | 4 ++-- .../core/src/routes/session/social.test.ts | 2 +- packages/core/src/routes/session/social.ts | 4 ++-- .../routes/session/username-password.test.ts | 3 ++- .../src/routes/session/username-password.ts | 4 ++-- packages/core/src/routes/session/utils.ts | 14 ++++++++------ packages/core/src/routes/setting.test.ts | 2 +- packages/core/src/routes/setting.ts | 2 +- .../sign-in-experience.branding.guard.test.ts | 3 ++- .../sign-in-experience.color.guard.test.ts | 2 +- .../routes/sign-in-experience.guard.test.ts | 8 ++------ .../core/src/routes/sign-in-experience.test.ts | 8 ++------ packages/core/src/routes/sign-in-experience.ts | 2 +- packages/core/src/routes/status.ts | 2 +- packages/core/src/routes/swagger.test.ts | 2 +- packages/core/src/routes/swagger.ts | 10 ++++++---- packages/core/src/routes/types.ts | 8 ++++---- packages/core/src/routes/well-known.ts | 7 ++++--- packages/core/src/utils/assert-that.ts | 2 +- packages/core/src/utils/jwks.ts | 3 ++- .../src/utils/oidc-provider-event-listener.ts | 4 ++-- packages/core/src/utils/pagination.ts | 2 +- packages/core/src/utils/schema.ts | 2 +- packages/core/src/utils/test-utils.ts | 18 +++++++++++------- packages/core/src/utils/translation.ts | 2 +- packages/core/src/utils/zod.test.ts | 3 ++- packages/core/src/utils/zod.ts | 7 ++++--- packages/demo-app/src/App.tsx | 3 ++- .../demo-app/src/include.d/react-i18next.d.ts | 2 +- .../integration-tests/src/api/admin-user.ts | 2 +- .../integration-tests/src/api/application.ts | 2 +- .../integration-tests/src/api/connector.ts | 2 +- packages/integration-tests/src/api/logs.ts | 2 +- packages/integration-tests/src/api/me.ts | 2 +- packages/integration-tests/src/api/resource.ts | 2 +- .../src/api/sign-in-experience.ts | 2 +- .../integration-tests/src/api/wellknown.ts | 2 +- packages/integration-tests/src/client/index.ts | 3 ++- .../integration-tests/src/client/storage.ts | 4 ++-- packages/integration-tests/src/helpers.ts | 2 +- packages/integration-tests/src/utils.ts | 2 +- .../tests/api/dashboard.test.ts | 3 ++- .../tests/api/swagger-check.test.ts | 2 +- packages/phrases-ui/src/index.ts | 7 ++++--- packages/phrases-ui/src/locales/fr.ts | 2 +- packages/phrases-ui/src/locales/ko-kr.ts | 2 +- packages/phrases-ui/src/locales/pt-pt.ts | 2 +- packages/phrases-ui/src/locales/tr-tr.ts | 2 +- packages/phrases-ui/src/locales/zh-cn.ts | 2 +- packages/phrases-ui/src/types.ts | 2 +- packages/phrases/src/index.ts | 7 ++++--- packages/phrases/src/locales/fr/index.ts | 2 +- packages/phrases/src/locales/ko-kr/index.ts | 2 +- packages/phrases/src/locales/pt-pt/index.ts | 2 +- packages/phrases/src/locales/tr-tr/index.ts | 2 +- packages/phrases/src/locales/zh-cn/index.ts | 2 +- packages/phrases/src/types.ts | 2 +- packages/schemas/src/foundations/schemas.ts | 2 +- packages/schemas/src/gen/index.ts | 2 +- packages/schemas/src/gen/schema.ts | 2 +- packages/schemas/src/gen/utils.ts | 5 +++-- packages/schemas/src/seeds/application.ts | 3 ++- packages/schemas/src/seeds/resource.ts | 2 +- packages/schemas/src/seeds/roles.ts | 2 +- packages/schemas/src/seeds/setting.ts | 2 +- .../schemas/src/seeds/sign-in-experience.ts | 3 ++- packages/schemas/src/types/connector.ts | 4 ++-- packages/schemas/src/types/log.ts | 2 +- packages/schemas/src/types/logto-config.ts | 3 ++- packages/schemas/src/types/oidc-config.ts | 2 +- packages/schemas/src/types/user.ts | 2 +- packages/shared/src/database/types.ts | 4 ++-- packages/shared/src/database/utils.test.ts | 2 +- packages/shared/src/database/utils.ts | 10 ++++++---- .../RenderWithPageContext/SettingsProvider.tsx | 5 +++-- .../__mocks__/RenderWithPageContext/index.tsx | 5 +++-- packages/ui/src/__mocks__/logto.tsx | 4 ++-- packages/ui/src/apis/settings.ts | 2 +- packages/ui/src/apis/utils.ts | 2 +- .../ui/src/components/Button/IconButton.tsx | 3 ++- packages/ui/src/components/Button/index.tsx | 4 ++-- packages/ui/src/components/Checkbox/index.tsx | 3 ++- .../ui/src/components/ConfirmModal/AcModal.tsx | 2 +- .../components/ConfirmModal/MobileModal.tsx | 2 +- .../ui/src/components/ConfirmModal/type.ts | 4 ++-- packages/ui/src/components/Divider/index.tsx | 3 ++- packages/ui/src/components/Drawer/index.tsx | 2 +- packages/ui/src/components/Dropdown/index.tsx | 3 ++- .../ui/src/components/ErrorMessage/index.tsx | 5 +++-- .../ui/src/components/Input/PasswordInput.tsx | 6 ++++-- .../ui/src/components/Input/PhoneInput.tsx | 5 +++-- packages/ui/src/components/Input/index.tsx | 5 +++-- packages/ui/src/components/Passcode/index.tsx | 11 ++--------- packages/ui/src/components/TextLink/index.tsx | 5 +++-- .../ui/src/containers/AppContent/index.tsx | 3 ++- .../containers/ConfirmModalProvider/index.tsx | 5 +++-- .../ui/src/containers/CreateAccount/index.tsx | 3 ++- .../containers/PasscodeValidation/index.tsx | 6 ++++-- ...forgot-password-with-email-error-handler.ts | 2 +- ...e-forgot-password-with-sms-error-handler.ts | 2 +- .../use-passcode-validation-error-handler.ts | 2 +- .../use-register-with-sms-error-handler.ts | 3 ++- .../use-sign-in-with-email-error-handler.ts | 3 ++- .../use-sign-in-with-sms-error-handler.ts | 3 ++- .../user-register-with-email-error-handler.ts | 3 ++- .../Passwordless/EmailPasswordless.tsx | 5 +++-- .../Passwordless/PhonePasswordless.tsx | 5 +++-- .../ui/src/containers/ResetPassword/index.tsx | 3 ++- .../src/containers/SignInMethodsLink/index.tsx | 8 +++++--- .../SocialSignInDropdown/index.test.tsx | 2 +- .../SocialSignInDropdown/index.tsx | 2 +- .../SocialSignInIconList/index.tsx | 15 ++++----------- .../SocialSignIn/SocialSignInList/index.tsx | 7 ++++--- .../SocialSignIn/SocialSignInPopUp/index.tsx | 2 +- .../TermsOfUseConfirmModalContent/index.tsx | 2 +- .../ui/src/containers/UsernameSignIn/index.tsx | 3 ++- packages/ui/src/hooks/use-api.ts | 2 +- packages/ui/src/hooks/use-bind-social.ts | 2 +- packages/ui/src/hooks/use-form.ts | 8 +++++--- packages/ui/src/hooks/use-page-context.ts | 2 +- packages/ui/src/hooks/use-phone-number.ts | 8 ++------ packages/ui/src/hooks/use-preview.ts | 4 ++-- .../src/hooks/use-social-sign-in-listener.ts | 3 ++- packages/ui/src/hooks/use-social.ts | 2 +- packages/ui/src/hooks/use-theme.ts | 2 +- packages/ui/src/i18n/init.ts | 5 +++-- packages/ui/src/i18n/utils.ts | 8 +++++--- packages/ui/src/include.d/react-app.d.ts | 2 +- packages/ui/src/include.d/react-i18next.d.ts | 2 +- packages/ui/src/pages/Consent/index.tsx | 15 ++++++++------- packages/ui/src/pages/ErrorPage/index.tsx | 5 +++-- packages/ui/src/pages/Passcode/index.tsx | 2 +- packages/ui/src/pages/SignIn/index.tsx | 3 ++- packages/ui/src/pages/SignIn/registry.tsx | 5 +++-- packages/ui/src/types/index.ts | 3 ++- packages/ui/src/utils/a11y.ts | 2 +- packages/ui/src/utils/country-code.ts | 4 +--- packages/ui/src/utils/field-validations.ts | 2 +- packages/ui/src/utils/logo.ts | 18 ++++++++++++++++++ packages/ui/src/utils/sign-in-experience.ts | 8 ++++++-- .../ui/src/utils/social-connectors.test.ts | 3 ++- packages/ui/src/utils/social-connectors.ts | 3 ++- 410 files changed, 899 insertions(+), 741 deletions(-) create mode 100644 packages/ui/src/utils/logo.ts diff --git a/packages/cli/src/commands/connector/add.ts b/packages/cli/src/commands/connector/add.ts index 931957187..a2575e79f 100644 --- a/packages/cli/src/commands/connector/add.ts +++ b/packages/cli/src/commands/connector/add.ts @@ -1,4 +1,4 @@ -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { log } from '../../utilities'; import { addConnectors, addOfficialConnectors, inquireInstancePath } from './utils'; diff --git a/packages/cli/src/commands/connector/index.ts b/packages/cli/src/commands/connector/index.ts index a5ff36788..5a282715a 100644 --- a/packages/cli/src/commands/connector/index.ts +++ b/packages/cli/src/commands/connector/index.ts @@ -1,5 +1,5 @@ import { noop } from '@silverhand/essentials'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import add from './add'; import list from './list'; diff --git a/packages/cli/src/commands/connector/list.ts b/packages/cli/src/commands/connector/list.ts index ae2af5f11..91d5c0765 100644 --- a/packages/cli/src/commands/connector/list.ts +++ b/packages/cli/src/commands/connector/list.ts @@ -1,5 +1,5 @@ import chalk from 'chalk'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { getConnectorPackagesFrom, isOfficialConnector } from './utils'; diff --git a/packages/cli/src/commands/connector/remove.ts b/packages/cli/src/commands/connector/remove.ts index c3a4f37da..8e932fbe8 100644 --- a/packages/cli/src/commands/connector/remove.ts +++ b/packages/cli/src/commands/connector/remove.ts @@ -1,6 +1,6 @@ import chalk from 'chalk'; import fsExtra from 'fs-extra'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { log } from '../../utilities'; import { getConnectorPackagesFrom } from './utils'; diff --git a/packages/cli/src/commands/database/alteration/index.test.ts b/packages/cli/src/commands/database/alteration/index.test.ts index 8ea61e772..490f4d15e 100644 --- a/packages/cli/src/commands/database/alteration/index.test.ts +++ b/packages/cli/src/commands/database/alteration/index.test.ts @@ -2,7 +2,7 @@ import { createMockPool } from 'slonik'; import * as functions from '.'; import * as queries from '../../../queries/logto-config'; -import { QueryType } from '../../../test-utilities'; +import type { QueryType } from '../../../test-utilities'; import { chooseAlterationsByVersion } from './version'; const mockQuery: jest.MockedFunction = jest.fn(); diff --git a/packages/cli/src/commands/database/alteration/index.ts b/packages/cli/src/commands/database/alteration/index.ts index 5055e013d..11896258e 100644 --- a/packages/cli/src/commands/database/alteration/index.ts +++ b/packages/cli/src/commands/database/alteration/index.ts @@ -1,12 +1,12 @@ import path from 'path'; -import { AlterationScript } from '@logto/schemas/lib/types/alteration'; +import type { AlterationScript } from '@logto/schemas/lib/types/alteration'; import { findPackage } from '@logto/shared'; import { conditionalString } from '@silverhand/essentials'; import chalk from 'chalk'; import { copy, existsSync, remove, readdir } from 'fs-extra'; -import { DatabasePool } from 'slonik'; -import { CommandModule } from 'yargs'; +import type { DatabasePool } from 'slonik'; +import type { CommandModule } from 'yargs'; import { createPoolFromConfig } from '../../../database'; import { @@ -14,7 +14,7 @@ import { updateDatabaseTimestamp, } from '../../../queries/logto-config'; import { getPathInModule, log } from '../../../utilities'; -import { AlterationFile } from './type'; +import type { AlterationFile } from './type'; import { chooseAlterationsByVersion } from './version'; const alterationFilenameRegex = /-(\d+)-?.*\.js$/; diff --git a/packages/cli/src/commands/database/alteration/version.ts b/packages/cli/src/commands/database/alteration/version.ts index ffc0b38ae..afbae1ac1 100644 --- a/packages/cli/src/commands/database/alteration/version.ts +++ b/packages/cli/src/commands/database/alteration/version.ts @@ -4,7 +4,7 @@ import inquirer from 'inquirer'; import { SemVer, compare, eq, gt } from 'semver'; import { findLastIndex, isTty, log } from '../../../utilities'; -import { AlterationFile } from './type'; +import type { AlterationFile } from './type'; const getVersionFromFilename = (filename: string) => { try { diff --git a/packages/cli/src/commands/database/config.ts b/packages/cli/src/commands/database/config.ts index c000afd79..1ac8f55c5 100644 --- a/packages/cli/src/commands/database/config.ts +++ b/packages/cli/src/commands/database/config.ts @@ -1,7 +1,8 @@ -import { logtoConfigGuards, LogtoConfigKey, logtoConfigKeys } from '@logto/schemas'; +import type { LogtoConfigKey } from '@logto/schemas'; +import { logtoConfigGuards, logtoConfigKeys } from '@logto/schemas'; import { deduplicate, noop } from '@silverhand/essentials'; import chalk from 'chalk'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { createPoolFromConfig } from '../../database'; import { getRowsByKeys, updateValueByKey } from '../../queries/logto-config'; diff --git a/packages/cli/src/commands/database/index.ts b/packages/cli/src/commands/database/index.ts index 226da93f9..4a81096f5 100644 --- a/packages/cli/src/commands/database/index.ts +++ b/packages/cli/src/commands/database/index.ts @@ -1,5 +1,5 @@ import { noop } from '@silverhand/essentials'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import alteration from './alteration'; import config from './config'; diff --git a/packages/cli/src/commands/database/seed/index.ts b/packages/cli/src/commands/database/seed/index.ts index 4dbc863c1..b57162c2b 100644 --- a/packages/cli/src/commands/database/seed/index.ts +++ b/packages/cli/src/commands/database/seed/index.ts @@ -4,9 +4,10 @@ import path from 'path'; import { logtoConfigGuards, LogtoOidcConfigKey, seeds } from '@logto/schemas'; import { buildApplicationSecret } from '@logto/shared'; import chalk from 'chalk'; -import { DatabasePool, DatabaseTransactionConnection, sql } from 'slonik'; +import type { DatabasePool, DatabaseTransactionConnection } from 'slonik'; +import { sql } from 'slonik'; import { raw } from 'slonik-sql-tag-raw'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { z } from 'zod'; import { createPoolAndDatabaseIfNeeded, insertInto } from '../../../database'; diff --git a/packages/cli/src/commands/database/seed/oidc-config.ts b/packages/cli/src/commands/database/seed/oidc-config.ts index 5beee6f32..4e4678263 100644 --- a/packages/cli/src/commands/database/seed/oidc-config.ts +++ b/packages/cli/src/commands/database/seed/oidc-config.ts @@ -2,7 +2,8 @@ import { generateKeyPair } from 'crypto'; import { readFile } from 'fs/promises'; import { promisify } from 'util'; -import { LogtoOidcConfigKey, LogtoOidcConfigType } from '@logto/schemas'; +import type { LogtoOidcConfigType } from '@logto/schemas'; +import { LogtoOidcConfigKey } from '@logto/schemas'; import { getEnv, getEnvAsStringArray } from '@silverhand/essentials'; import { nanoid } from 'nanoid'; diff --git a/packages/cli/src/commands/install/index.ts b/packages/cli/src/commands/install/index.ts index b0cb27fd3..4761c45b9 100644 --- a/packages/cli/src/commands/install/index.ts +++ b/packages/cli/src/commands/install/index.ts @@ -1,5 +1,5 @@ import chalk from 'chalk'; -import { CommandModule } from 'yargs'; +import type { CommandModule } from 'yargs'; import { getDatabaseUrlFromConfig } from '../../database'; import { log } from '../../utilities'; diff --git a/packages/cli/src/database.ts b/packages/cli/src/database.ts index 046ec3d7c..3c9e0ce3d 100644 --- a/packages/cli/src/database.ts +++ b/packages/cli/src/database.ts @@ -1,4 +1,4 @@ -import { SchemaLike } from '@logto/schemas'; +import type { SchemaLike } from '@logto/schemas'; import { convertToPrimitiveOrSql } from '@logto/shared'; import { assert } from '@silverhand/essentials'; import decamelize from 'decamelize'; diff --git a/packages/cli/src/include.d/slonik-interceptor-preset.d.ts b/packages/cli/src/include.d/slonik-interceptor-preset.d.ts index 5e24372aa..778cb40c0 100644 --- a/packages/cli/src/include.d/slonik-interceptor-preset.d.ts +++ b/packages/cli/src/include.d/slonik-interceptor-preset.d.ts @@ -1,5 +1,5 @@ declare module 'slonik-interceptor-preset' { - import { Interceptor } from 'slonik'; + import type { Interceptor } from 'slonik'; export const createInterceptors: (config?: { benchmarkQueries: boolean; diff --git a/packages/cli/src/queries/logto-config.test.ts b/packages/cli/src/queries/logto-config.test.ts index 2a407122d..bdfcfa857 100644 --- a/packages/cli/src/queries/logto-config.test.ts +++ b/packages/cli/src/queries/logto-config.test.ts @@ -2,7 +2,8 @@ import { AlterationStateKey, LogtoConfigs } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import { createMockPool, createMockQueryResult, sql } from 'slonik'; -import { expectSqlAssert, QueryType } from '../test-utilities'; +import type { QueryType } from '../test-utilities'; +import { expectSqlAssert } from '../test-utilities'; import { updateDatabaseTimestamp, getCurrentDatabaseAlterationTimestamp } from './logto-config'; const mockQuery: jest.MockedFunction = jest.fn(); diff --git a/packages/cli/src/queries/logto-config.ts b/packages/cli/src/queries/logto-config.ts index 1b1599c56..b4d50d716 100644 --- a/packages/cli/src/queries/logto-config.ts +++ b/packages/cli/src/queries/logto-config.ts @@ -1,14 +1,9 @@ -import { - AlterationState, - LogtoConfig, - logtoConfigGuards, - LogtoConfigKey, - LogtoConfigs, - AlterationStateKey, -} from '@logto/schemas'; +import type { AlterationState, LogtoConfig, LogtoConfigKey } from '@logto/schemas'; +import { logtoConfigGuards, LogtoConfigs, AlterationStateKey } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; -import { Nullable } from '@silverhand/essentials'; -import { DatabasePool, DatabaseTransactionConnection, sql } from 'slonik'; +import type { Nullable } from '@silverhand/essentials'; +import type { DatabasePool, DatabaseTransactionConnection } from 'slonik'; +import { sql } from 'slonik'; import { z } from 'zod'; const { table, fields } = convertToIdentifiers(LogtoConfigs); diff --git a/packages/cli/src/test-utilities.ts b/packages/cli/src/test-utilities.ts index e03d395e8..04057500c 100644 --- a/packages/cli/src/test-utilities.ts +++ b/packages/cli/src/test-utilities.ts @@ -1,7 +1,7 @@ // Copied from core -import { QueryResult, QueryResultRow } from 'slonik'; -import { PrimitiveValueExpression } from 'slonik/dist/src/types.d'; +import type { QueryResult, QueryResultRow } from 'slonik'; +import type { PrimitiveValueExpression } from 'slonik/dist/src/types.d'; export type QueryType = ( sql: string, diff --git a/packages/cli/src/utilities.ts b/packages/cli/src/utilities.ts index d6196c408..14178fd4f 100644 --- a/packages/cli/src/utilities.ts +++ b/packages/cli/src/utilities.ts @@ -2,9 +2,11 @@ import { execSync } from 'child_process'; import { createWriteStream } from 'fs'; import path from 'path'; -import { conditionalString, Optional } from '@silverhand/essentials'; +import type { Optional } from '@silverhand/essentials'; +import { conditionalString } from '@silverhand/essentials'; import chalk from 'chalk'; -import got, { Progress } from 'got'; +import type { Progress } from 'got'; +import got from 'got'; import { HttpsProxyAgent } from 'hpagent'; import inquirer from 'inquirer'; import ora from 'ora'; diff --git a/packages/console/src/components/ActionMenu/ActionMenuButton.tsx b/packages/console/src/components/ActionMenu/ActionMenuButton.tsx index a7b096d71..348608921 100644 --- a/packages/console/src/components/ActionMenu/ActionMenuButton.tsx +++ b/packages/console/src/components/ActionMenu/ActionMenuButton.tsx @@ -1,6 +1,7 @@ import { forwardRef } from 'react'; -import Button, { Props as ButtonProps } from '../Button'; +import type { Props as ButtonProps } from '../Button'; +import Button from '../Button'; const ActionMenuButton = forwardRef((props, anchorReference) => (
diff --git a/packages/console/src/components/ActionMenu/index.tsx b/packages/console/src/components/ActionMenu/index.tsx index 1fdcb0215..b3812c12d 100644 --- a/packages/console/src/components/ActionMenu/index.tsx +++ b/packages/console/src/components/ActionMenu/index.tsx @@ -1,6 +1,7 @@ -import { ReactNode, useRef, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useRef, useState } from 'react'; -import { Props as ButtonProps } from '../Button'; +import type { Props as ButtonProps } from '../Button'; import Dropdown from '../Dropdown'; import ActionMenuButton from './ActionMenuButton'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/Alert/index.tsx b/packages/console/src/components/Alert/index.tsx index ac32821bb..6a8f0cdd7 100644 --- a/packages/console/src/components/Alert/index.tsx +++ b/packages/console/src/components/Alert/index.tsx @@ -1,6 +1,6 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import Info from '@/assets/images/info.svg'; import LinkButton from '@/components/LinkButton'; diff --git a/packages/console/src/components/AppBoundary/index.tsx b/packages/console/src/components/AppBoundary/index.tsx index 8a7109342..b6d85a497 100644 --- a/packages/console/src/components/AppBoundary/index.tsx +++ b/packages/console/src/components/AppBoundary/index.tsx @@ -1,5 +1,6 @@ import { AppearanceMode } from '@logto/schemas'; -import { ReactNode, useEffect } from 'react'; +import type { ReactNode } from 'react'; +import { useEffect } from 'react'; import useUserPreferences from '@/hooks/use-user-preferences'; import initI18n from '@/i18n/init'; diff --git a/packages/console/src/components/AppContent/components/Sidebar/components/Contact/hook.tsx b/packages/console/src/components/AppContent/components/Sidebar/components/Contact/hook.tsx index b83062285..6ea31aa7b 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/components/Contact/hook.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/components/Contact/hook.tsx @@ -1,4 +1,4 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import { AppearanceMode } from '@logto/schemas'; import DiscordDark from '@/assets/images/discord-dark.svg'; diff --git a/packages/console/src/components/AppContent/components/Sidebar/components/Item/index.tsx b/packages/console/src/components/AppContent/components/Sidebar/components/Item/index.tsx index 51934c9f0..27dd8bd20 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/components/Item/index.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/components/Item/index.tsx @@ -1,6 +1,8 @@ import classNames from 'classnames'; -import { ReactChild, ReactNode, useMemo, useState } from 'react'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { ReactChild, ReactNode } from 'react'; +import { useMemo, useState } from 'react'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import { getPath } from '../../utils'; diff --git a/packages/console/src/components/AppContent/components/Sidebar/components/Section/index.tsx b/packages/console/src/components/AppContent/components/Sidebar/components/Section/index.tsx index 8cd182a8a..483709487 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/components/Section/index.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/components/Section/index.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/AppContent/components/Sidebar/hook.tsx b/packages/console/src/components/AppContent/components/Sidebar/hook.tsx index dc9b570c6..7862050de 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/hook.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/hook.tsx @@ -1,6 +1,6 @@ -import { Optional } from '@silverhand/essentials'; -import { FC, ReactNode } from 'react'; -import { TFuncKey } from 'react-i18next'; +import type { Optional } from '@silverhand/essentials'; +import type { FC, ReactNode } from 'react'; +import type { TFuncKey } from 'react-i18next'; import useDocumentationUrl from '@/hooks/use-documentation-url'; import useUserPreferences from '@/hooks/use-user-preferences'; diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/BarGraph.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/BarGraph.tsx index 5ca927783..375d6681c 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/BarGraph.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/BarGraph.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const BarGraph = (props: SVGProps) => ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Bolt.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Bolt.tsx index 20a7315ed..99fe75ce4 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Bolt.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Bolt.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Bolt = (props: SVGProps) => ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Box.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Box.tsx index 2b649c1d7..80030aa17 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Box.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Box.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Box = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Cloud.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Cloud.tsx index c68eca284..6e3375e08 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Cloud.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Cloud.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Cloud = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Connection.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Connection.tsx index 4f8f3b50e..7c7592b43 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Connection.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Connection.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Connection = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Contact.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Contact.tsx index 7507f223a..e913eff00 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Contact.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Contact.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Contact = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Document.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Document.tsx index bfe1728c7..d1e0d01e1 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Document.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Document.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Document = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Gear.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Gear.tsx index e3721d206..fe4fa1a44 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Gear.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Gear.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Gear = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/List.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/List.tsx index 6d5a58e71..95e6204ce 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/List.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/List.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const List = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/UserProfile.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/UserProfile.tsx index 05d989498..f74f60b2e 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/UserProfile.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/UserProfile.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const UserProfile = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/Sidebar/icons/Web.tsx b/packages/console/src/components/AppContent/components/Sidebar/icons/Web.tsx index c4d482b6e..8e02d7ac6 100644 --- a/packages/console/src/components/AppContent/components/Sidebar/icons/Web.tsx +++ b/packages/console/src/components/AppContent/components/Sidebar/icons/Web.tsx @@ -1,4 +1,4 @@ -import { SVGProps } from 'react'; +import type { SVGProps } from 'react'; const Web = (props: SVGProps) => { return ( diff --git a/packages/console/src/components/AppContent/components/UserInfo/index.tsx b/packages/console/src/components/AppContent/components/UserInfo/index.tsx index e37935890..b6069c7f2 100644 --- a/packages/console/src/components/AppContent/components/UserInfo/index.tsx +++ b/packages/console/src/components/AppContent/components/UserInfo/index.tsx @@ -1,4 +1,5 @@ -import { useLogto, IdTokenClaims } from '@logto/react'; +import type { IdTokenClaims } from '@logto/react'; +import { useLogto } from '@logto/react'; import classNames from 'classnames'; import { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/components/ApplicationIcon/index.tsx b/packages/console/src/components/ApplicationIcon/index.tsx index 3c614d987..ab5cb66fd 100644 --- a/packages/console/src/components/ApplicationIcon/index.tsx +++ b/packages/console/src/components/ApplicationIcon/index.tsx @@ -1,4 +1,5 @@ -import { AppearanceMode, ApplicationType } from '@logto/schemas'; +import type { ApplicationType } from '@logto/schemas'; +import { AppearanceMode } from '@logto/schemas'; import { darkModeApplicationIconMap, lightModeApplicationIconMap } from '@/consts'; import { useTheme } from '@/hooks/use-theme'; diff --git a/packages/console/src/components/ApplicationName/index.tsx b/packages/console/src/components/ApplicationName/index.tsx index 895760f7a..6164b61d2 100644 --- a/packages/console/src/components/ApplicationName/index.tsx +++ b/packages/console/src/components/ApplicationName/index.tsx @@ -1,4 +1,4 @@ -import { Application } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; diff --git a/packages/console/src/components/AuditLogTable/components/ApplicationSelector/index.tsx b/packages/console/src/components/AuditLogTable/components/ApplicationSelector/index.tsx index 7636d0978..275cd0349 100644 --- a/packages/console/src/components/AuditLogTable/components/ApplicationSelector/index.tsx +++ b/packages/console/src/components/AuditLogTable/components/ApplicationSelector/index.tsx @@ -1,4 +1,4 @@ -import { Application } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; import { useTranslation } from 'react-i18next'; import useSWR from 'swr'; diff --git a/packages/console/src/components/AuditLogTable/index.tsx b/packages/console/src/components/AuditLogTable/index.tsx index 47bba45b8..219e6fe3a 100644 --- a/packages/console/src/components/AuditLogTable/index.tsx +++ b/packages/console/src/components/AuditLogTable/index.tsx @@ -1,4 +1,5 @@ -import { LogDto, LogResult } from '@logto/schemas'; +import type { LogDto } from '@logto/schemas'; +import { LogResult } from '@logto/schemas'; import { conditionalString } from '@silverhand/essentials'; import classNames from 'classnames'; import { useTranslation } from 'react-i18next'; @@ -11,7 +12,7 @@ import TableEmpty from '@/components/Table/TableEmpty'; import TableError from '@/components/Table/TableError'; import TableLoading from '@/components/Table/TableLoading'; import UserName from '@/components/UserName'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import * as tableStyles from '@/scss/table.module.scss'; import ApplicationSelector from './components/ApplicationSelector'; diff --git a/packages/console/src/components/Button/index.tsx b/packages/console/src/components/Button/index.tsx index f5dd61d14..3f52dc82e 100644 --- a/packages/console/src/components/Button/index.tsx +++ b/packages/console/src/components/Button/index.tsx @@ -1,11 +1,12 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { HTMLProps, ReactElement, ReactNode, useEffect, useRef, useState } from 'react'; +import type { HTMLProps, ReactElement, ReactNode } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Ring as Spinner } from '@/components/Spinner'; -import DangerousRaw from '../DangerousRaw'; +import type DangerousRaw from '../DangerousRaw'; import * as styles from './index.module.scss'; export type ButtonType = 'primary' | 'danger' | 'outline' | 'text' | 'default' | 'branding'; diff --git a/packages/console/src/components/Card/index.tsx b/packages/console/src/components/Card/index.tsx index 2dfd3cb1c..e3e0a62ed 100644 --- a/packages/console/src/components/Card/index.tsx +++ b/packages/console/src/components/Card/index.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; -import { forwardRef, Ref, ReactNode } from 'react'; +import type { Ref, ReactNode } from 'react'; +import { forwardRef } from 'react'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/CardTitle/index.tsx b/packages/console/src/components/CardTitle/index.tsx index 686bdd117..30efca0ca 100644 --- a/packages/console/src/components/CardTitle/index.tsx +++ b/packages/console/src/components/CardTitle/index.tsx @@ -1,9 +1,9 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactElement } from 'react'; +import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; -import DangerousRaw from '../DangerousRaw'; +import type DangerousRaw from '../DangerousRaw'; import * as styles from './index.module.scss'; type Props = { diff --git a/packages/console/src/components/Checkbox/index.tsx b/packages/console/src/components/Checkbox/index.tsx index 0b6cfd1a3..d71a5dc91 100644 --- a/packages/console/src/components/Checkbox/index.tsx +++ b/packages/console/src/components/Checkbox/index.tsx @@ -1,5 +1,6 @@ import { nanoid } from 'nanoid'; -import { ReactNode, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useState } from 'react'; import Icon from './Icon'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/CodeEditor/index.tsx b/packages/console/src/components/CodeEditor/index.tsx index b7c232f15..8f40238ca 100644 --- a/packages/console/src/components/CodeEditor/index.tsx +++ b/packages/console/src/components/CodeEditor/index.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; -import { ChangeEvent, KeyboardEvent, useRef } from 'react'; +import type { ChangeEvent, KeyboardEvent } from 'react'; +import { useRef } from 'react'; import { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter'; import { a11yDark as theme } from 'react-syntax-highlighter/dist/esm/styles/prism'; diff --git a/packages/console/src/components/ColorPicker/index.tsx b/packages/console/src/components/ColorPicker/index.tsx index f67131653..18903582b 100644 --- a/packages/console/src/components/ColorPicker/index.tsx +++ b/packages/console/src/components/ColorPicker/index.tsx @@ -1,5 +1,6 @@ import { nanoid } from 'nanoid'; -import { ChangeEventHandler, useState } from 'react'; +import type { ChangeEventHandler } from 'react'; +import { useState } from 'react'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/ConfirmModal/index.tsx b/packages/console/src/components/ConfirmModal/index.tsx index f7ccc256b..8c586bfe2 100644 --- a/packages/console/src/components/ConfirmModal/index.tsx +++ b/packages/console/src/components/ConfirmModal/index.tsx @@ -1,9 +1,10 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import ReactModal from 'react-modal'; -import Button, { ButtonType } from '@/components/Button'; +import type { ButtonType } from '@/components/Button'; +import Button from '@/components/Button'; import * as modalStyles from '@/scss/modal.module.scss'; import ModalLayout from '../ModalLayout'; diff --git a/packages/console/src/components/CopyToClipboard/index.tsx b/packages/console/src/components/CopyToClipboard/index.tsx index fd1b0aef8..186b09d37 100644 --- a/packages/console/src/components/CopyToClipboard/index.tsx +++ b/packages/console/src/components/CopyToClipboard/index.tsx @@ -1,6 +1,8 @@ import classNames from 'classnames'; -import { MouseEventHandler, useEffect, useMemo, useRef, useState } from 'react'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { MouseEventHandler } from 'react'; +import { useEffect, useMemo, useRef, useState } from 'react'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import Copy from '@/assets/images/copy.svg'; import EyeClosed from '@/assets/images/eye-closed.svg'; diff --git a/packages/console/src/components/DangerousRaw/index.tsx b/packages/console/src/components/DangerousRaw/index.tsx index fb4c54af2..2e1f4f5cc 100644 --- a/packages/console/src/components/DangerousRaw/index.tsx +++ b/packages/console/src/components/DangerousRaw/index.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; type Props = { children: ReactNode; diff --git a/packages/console/src/components/DateTime/index.tsx b/packages/console/src/components/DateTime/index.tsx index eaf1a57cf..0bc850197 100644 --- a/packages/console/src/components/DateTime/index.tsx +++ b/packages/console/src/components/DateTime/index.tsx @@ -1,4 +1,4 @@ -import { Nullable } from '@silverhand/essentials'; +import type { Nullable } from '@silverhand/essentials'; import dayjs from 'dayjs'; type Props = { diff --git a/packages/console/src/components/DeleteConfirmModal/index.tsx b/packages/console/src/components/DeleteConfirmModal/index.tsx index d0471158c..b2e75f86b 100644 --- a/packages/console/src/components/DeleteConfirmModal/index.tsx +++ b/packages/console/src/components/DeleteConfirmModal/index.tsx @@ -1,4 +1,5 @@ -import { ReactNode, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useState } from 'react'; import ConfirmModal from '@/components/ConfirmModal'; import TextInput from '@/components/TextInput'; diff --git a/packages/console/src/components/Drawer/index.tsx b/packages/console/src/components/Drawer/index.tsx index 549113a9e..61f0dbc19 100644 --- a/packages/console/src/components/Drawer/index.tsx +++ b/packages/console/src/components/Drawer/index.tsx @@ -1,4 +1,4 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import ReactModal from 'react-modal'; import Close from '@/assets/images/close.svg'; diff --git a/packages/console/src/components/Dropdown/DropdownItem.tsx b/packages/console/src/components/Dropdown/DropdownItem.tsx index f5aaddc36..885bfd3fd 100644 --- a/packages/console/src/components/Dropdown/DropdownItem.tsx +++ b/packages/console/src/components/Dropdown/DropdownItem.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames'; -import { MouseEvent, KeyboardEvent, ReactNode } from 'react'; +import type { MouseEvent, KeyboardEvent, ReactNode } from 'react'; import { onKeyDownHandler } from '@/utilities/a11y'; diff --git a/packages/console/src/components/Dropdown/index.tsx b/packages/console/src/components/Dropdown/index.tsx index ddb0a10bf..c10de023d 100644 --- a/packages/console/src/components/Dropdown/index.tsx +++ b/packages/console/src/components/Dropdown/index.tsx @@ -1,8 +1,10 @@ import classNames from 'classnames'; -import { ReactNode, RefObject, useRef } from 'react'; +import type { ReactNode, RefObject } from 'react'; +import { useRef } from 'react'; import ReactModal from 'react-modal'; -import usePosition, { HorizontalAlignment } from '@/hooks/use-position'; +import type { HorizontalAlignment } from '@/hooks/use-position'; +import usePosition from '@/hooks/use-position'; import { onKeyDownHandler } from '@/utilities/a11y'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/ErrorBoundary/index.tsx b/packages/console/src/components/ErrorBoundary/index.tsx index e4e3684c0..ea3db40a6 100644 --- a/packages/console/src/components/ErrorBoundary/index.tsx +++ b/packages/console/src/components/ErrorBoundary/index.tsx @@ -1,5 +1,6 @@ import { conditional } from '@silverhand/essentials'; -import { Component, ReactNode } from 'react'; +import type { ReactNode } from 'react'; +import { Component } from 'react'; import AppError from '../AppError'; diff --git a/packages/console/src/components/FormField/index.tsx b/packages/console/src/components/FormField/index.tsx index 19baebc6b..a17c3704f 100644 --- a/packages/console/src/components/FormField/index.tsx +++ b/packages/console/src/components/FormField/index.tsx @@ -1,11 +1,12 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactElement, ReactNode, useRef } from 'react'; +import type { ReactElement, ReactNode } from 'react'; +import { useRef } from 'react'; import { useTranslation } from 'react-i18next'; import Tip from '@/assets/images/tip.svg'; -import DangerousRaw from '../DangerousRaw'; +import type DangerousRaw from '../DangerousRaw'; import Spacer from '../Spacer'; import Tooltip from '../Tooltip'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/IconButton/index.tsx b/packages/console/src/components/IconButton/index.tsx index 14113cde2..41cbd8400 100644 --- a/packages/console/src/components/IconButton/index.tsx +++ b/packages/console/src/components/IconButton/index.tsx @@ -1,7 +1,8 @@ -import { AdminConsoleKey } from '@logto/phrases'; -import { Nullable } from '@silverhand/essentials'; +import type { AdminConsoleKey } from '@logto/phrases'; +import type { Nullable } from '@silverhand/essentials'; import classNames from 'classnames'; -import { ForwardedRef, forwardRef, HTMLProps, useImperativeHandle, useRef } from 'react'; +import type { ForwardedRef, HTMLProps } from 'react'; +import { forwardRef, useImperativeHandle, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import Tooltip from '../Tooltip'; diff --git a/packages/console/src/components/ItemPreview/index.tsx b/packages/console/src/components/ItemPreview/index.tsx index 7baf8dca3..e918f95cc 100644 --- a/packages/console/src/components/ItemPreview/index.tsx +++ b/packages/console/src/components/ItemPreview/index.tsx @@ -1,6 +1,7 @@ import classNames from 'classnames'; -import { ReactNode } from 'react'; -import { Link, To } from 'react-router-dom'; +import type { ReactNode } from 'react'; +import type { To } from 'react-router-dom'; +import { Link } from 'react-router-dom'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/components/LinkButton/index.tsx b/packages/console/src/components/LinkButton/index.tsx index 3ab773a79..cdbed5384 100644 --- a/packages/console/src/components/LinkButton/index.tsx +++ b/packages/console/src/components/LinkButton/index.tsx @@ -1,10 +1,10 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactElement, ReactNode } from 'react'; +import type { ReactElement, ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; -import DangerousRaw from '../DangerousRaw'; +import type DangerousRaw from '../DangerousRaw'; import * as styles from './index.module.scss'; type Props = { diff --git a/packages/console/src/components/Markdown/components/GithubRawImage/index.tsx b/packages/console/src/components/Markdown/components/GithubRawImage/index.tsx index 01b18694e..0b2605b9a 100644 --- a/packages/console/src/components/Markdown/components/GithubRawImage/index.tsx +++ b/packages/console/src/components/Markdown/components/GithubRawImage/index.tsx @@ -1,4 +1,5 @@ -import { HTMLProps, useRef, useState } from 'react'; +import type { HTMLProps } from 'react'; +import { useRef, useState } from 'react'; const githubRawUrlPrefix = 'https://raw.githubusercontent.com/logto-io/logto/master'; diff --git a/packages/console/src/components/Markdown/index.tsx b/packages/console/src/components/Markdown/index.tsx index b8cedcd3a..d05904221 100644 --- a/packages/console/src/components/Markdown/index.tsx +++ b/packages/console/src/components/Markdown/index.tsx @@ -1,4 +1,5 @@ -import { conditionalString, Optional } from '@silverhand/essentials'; +import type { Optional } from '@silverhand/essentials'; +import { conditionalString } from '@silverhand/essentials'; import classNames from 'classnames'; import { memo, useRef } from 'react'; import ReactMarkdown from 'react-markdown'; diff --git a/packages/console/src/components/ModalLayout/index.tsx b/packages/console/src/components/ModalLayout/index.tsx index 39b431671..82ee19dd3 100644 --- a/packages/console/src/components/ModalLayout/index.tsx +++ b/packages/console/src/components/ModalLayout/index.tsx @@ -1,6 +1,6 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import Close from '@/assets/images/close.svg'; diff --git a/packages/console/src/components/MultiTextInput/index.tsx b/packages/console/src/components/MultiTextInput/index.tsx index e3b28690b..90ce7c422 100644 --- a/packages/console/src/components/MultiTextInput/index.tsx +++ b/packages/console/src/components/MultiTextInput/index.tsx @@ -1,5 +1,6 @@ -import { AdminConsoleKey } from '@logto/phrases'; -import { KeyboardEvent, useMemo, useState } from 'react'; +import type { AdminConsoleKey } from '@logto/phrases'; +import type { KeyboardEvent } from 'react'; +import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import Minus from '@/assets/images/minus.svg'; @@ -9,7 +10,7 @@ import ConfirmModal from '../ConfirmModal'; import IconButton from '../IconButton'; import TextInput from '../TextInput'; import * as styles from './index.module.scss'; -import { MultiTextInputError } from './types'; +import type { MultiTextInputError } from './types'; type Props = { title: AdminConsoleKey; @@ -53,7 +54,7 @@ const MultiTextInput = ({ title, value, onChange, onKeyPress, error, placeholder
{ diff --git a/packages/console/src/hooks/use-connector-in-use.ts b/packages/console/src/hooks/use-connector-in-use.ts index ab96f2b82..89d30b066 100644 --- a/packages/console/src/hooks/use-connector-in-use.ts +++ b/packages/console/src/hooks/use-connector-in-use.ts @@ -1,7 +1,8 @@ -import { ConnectorType, SignInExperience, SignInMethodState } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; +import { ConnectorType, SignInMethodState } from '@logto/schemas'; import useSWR from 'swr'; -import { RequestError } from './use-api'; +import type { RequestError } from './use-api'; const useConnectorInUse = (type?: ConnectorType, target?: string): boolean | undefined => { const { data } = useSWR(target && type && '/api/sign-in-exp'); diff --git a/packages/console/src/hooks/use-position.ts b/packages/console/src/hooks/use-position.ts index 2cc589e9f..da6bea222 100644 --- a/packages/console/src/hooks/use-position.ts +++ b/packages/console/src/hooks/use-position.ts @@ -1,4 +1,5 @@ -import { RefObject, useCallback, useEffect, useState } from 'react'; +import type { RefObject } from 'react'; +import { useCallback, useEffect, useState } from 'react'; export type VerticalAlignment = 'top' | 'center' | 'bottom'; diff --git a/packages/console/src/hooks/use-scroll.ts b/packages/console/src/hooks/use-scroll.ts index 14d4f5080..21cab2f0d 100644 --- a/packages/console/src/hooks/use-scroll.ts +++ b/packages/console/src/hooks/use-scroll.ts @@ -1,4 +1,4 @@ -import { Nullable } from '@silverhand/essentials'; +import type { Nullable } from '@silverhand/essentials'; import { useState, useEffect, useCallback } from 'react'; const useScroll = (contentRef: Nullable) => { diff --git a/packages/console/src/hooks/use-settings.ts b/packages/console/src/hooks/use-settings.ts index c402d1b96..c17481899 100644 --- a/packages/console/src/hooks/use-settings.ts +++ b/packages/console/src/hooks/use-settings.ts @@ -1,8 +1,9 @@ import { useLogto } from '@logto/react'; -import { AdminConsoleConfig, Setting } from '@logto/schemas'; +import type { AdminConsoleConfig, Setting } from '@logto/schemas'; import useSWR from 'swr'; -import useApi, { RequestError } from './use-api'; +import type { RequestError } from './use-api'; +import useApi from './use-api'; const useSettings = () => { const { isAuthenticated, error: authError } = useLogto(); diff --git a/packages/console/src/hooks/use-swr-fetcher.ts b/packages/console/src/hooks/use-swr-fetcher.ts index 19c0ce8cb..10f061a1a 100644 --- a/packages/console/src/hooks/use-swr-fetcher.ts +++ b/packages/console/src/hooks/use-swr-fetcher.ts @@ -1,8 +1,8 @@ -import { RequestErrorBody } from '@logto/schemas'; +import type { RequestErrorBody } from '@logto/schemas'; import { HTTPError } from 'ky'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -import { BareFetcher } from 'swr'; +import type { BareFetcher } from 'swr'; import useApi, { RequestError } from './use-api'; diff --git a/packages/console/src/hooks/use-swr-options.ts b/packages/console/src/hooks/use-swr-options.ts index 614cb2ce0..1a0aee334 100644 --- a/packages/console/src/hooks/use-swr-options.ts +++ b/packages/console/src/hooks/use-swr-options.ts @@ -1,4 +1,4 @@ -import { SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { RequestError } from './use-api'; import useSwrFetcher from './use-swr-fetcher'; diff --git a/packages/console/src/hooks/use-ui-languages.ts b/packages/console/src/hooks/use-ui-languages.ts index fcd1e42eb..d30d37ad3 100644 --- a/packages/console/src/hooks/use-ui-languages.ts +++ b/packages/console/src/hooks/use-ui-languages.ts @@ -1,11 +1,12 @@ -import { LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; import { builtInLanguages as builtInUiLanguages } from '@logto/phrases-ui'; import { useCallback, useMemo } from 'react'; import useSWR from 'swr'; -import { CustomPhraseResponse } from '@/types/custom-phrase'; +import type { CustomPhraseResponse } from '@/types/custom-phrase'; -import useApi, { RequestError } from './use-api'; +import type { RequestError } from './use-api'; +import useApi from './use-api'; const useUiLanguages = () => { const { diff --git a/packages/console/src/hooks/use-user-preferences.ts b/packages/console/src/hooks/use-user-preferences.ts index 53295acb8..4b3495ab3 100644 --- a/packages/console/src/hooks/use-user-preferences.ts +++ b/packages/console/src/hooks/use-user-preferences.ts @@ -1,7 +1,7 @@ import { builtInLanguages as builtInConsoleLanguages } from '@logto/phrases'; import { useLogto } from '@logto/react'; import { AppearanceMode } from '@logto/schemas'; -import { Nullable, Optional } from '@silverhand/essentials'; +import type { Nullable, Optional } from '@silverhand/essentials'; import { t } from 'i18next'; import { useCallback, useEffect, useMemo } from 'react'; import { toast } from 'react-hot-toast'; @@ -10,7 +10,8 @@ import { z } from 'zod'; import { themeStorageKey } from '@/consts'; -import useApi, { RequestError } from './use-api'; +import type { RequestError } from './use-api'; +import useApi from './use-api'; import useLogtoUserId from './use-logto-user-id'; const userPreferencesGuard = z.object({ diff --git a/packages/console/src/i18n/init.ts b/packages/console/src/i18n/init.ts index aa65cd7aa..8c93fdbd5 100644 --- a/packages/console/src/i18n/init.ts +++ b/packages/console/src/i18n/init.ts @@ -1,4 +1,4 @@ -import { LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; import resources from '@logto/phrases'; import i18next from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; diff --git a/packages/console/src/include.d/react-app.d.ts b/packages/console/src/include.d/react-app.d.ts index 777943041..c2ef4a4de 100644 --- a/packages/console/src/include.d/react-app.d.ts +++ b/packages/console/src/include.d/react-app.d.ts @@ -36,7 +36,7 @@ declare module '*.webp' { } declare module '*.svg' { - import * as React from 'react'; + import type * as React from 'react'; export const ReactComponent: React.FunctionComponent< React.SVGProps & { title?: string } diff --git a/packages/console/src/include.d/react-i18next.d.ts b/packages/console/src/include.d/react-i18next.d.ts index 119678c7a..555d2cc15 100644 --- a/packages/console/src/include.d/react-i18next.d.ts +++ b/packages/console/src/include.d/react-i18next.d.ts @@ -1,6 +1,6 @@ // https://react.i18next.com/latest/typescript#create-a-declaration-file -import { LocalPhrase } from '@logto/phrases'; +import type { LocalPhrase } from '@logto/phrases'; declare module 'react-i18next' { interface CustomTypeOptions { diff --git a/packages/console/src/mdx-components/DetailsSummary/index.tsx b/packages/console/src/mdx-components/DetailsSummary/index.tsx index 4065e08b5..ea269e635 100644 --- a/packages/console/src/mdx-components/DetailsSummary/index.tsx +++ b/packages/console/src/mdx-components/DetailsSummary/index.tsx @@ -1,6 +1,8 @@ import classNames from 'classnames'; -import { ReactNode, useState, useCallback } from 'react'; -import AnimateHeight, { Height } from 'react-animate-height'; +import type { ReactNode } from 'react'; +import { useState, useCallback } from 'react'; +import type { Height } from 'react-animate-height'; +import AnimateHeight from 'react-animate-height'; import ArrowRight from '@/assets/images/triangle-right.svg'; import { onKeyDownHandler } from '@/utilities/a11y'; diff --git a/packages/console/src/mdx-components/Step/index.tsx b/packages/console/src/mdx-components/Step/index.tsx index 4eeab0ae2..954bab7f2 100644 --- a/packages/console/src/mdx-components/Step/index.tsx +++ b/packages/console/src/mdx-components/Step/index.tsx @@ -1,6 +1,7 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import classNames from 'classnames'; -import { PropsWithChildren, useEffect, useRef, useState, useCallback } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useEffect, useRef, useState, useCallback } from 'react'; import KeyboardArrowDown from '@/assets/images/keyboard-arrow-down.svg'; import KeyboardArrowUp from '@/assets/images/keyboard-arrow-up.svg'; diff --git a/packages/console/src/mdx-components/TabItem/index.tsx b/packages/console/src/mdx-components/TabItem/index.tsx index a5bb23c8b..e8a4bdf58 100644 --- a/packages/console/src/mdx-components/TabItem/index.tsx +++ b/packages/console/src/mdx-components/TabItem/index.tsx @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; export type Props = { children: ReactNode; diff --git a/packages/console/src/mdx-components/Tabs/index.tsx b/packages/console/src/mdx-components/Tabs/index.tsx index 36271e564..78966c934 100644 --- a/packages/console/src/mdx-components/Tabs/index.tsx +++ b/packages/console/src/mdx-components/Tabs/index.tsx @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import { Nullable } from '@silverhand/essentials'; +import type { Nullable } from '@silverhand/essentials'; import { useState, isValidElement, type ReactElement, cloneElement, useRef, Children } from 'react'; import type { Props as TabItemProps } from '../TabItem'; diff --git a/packages/console/src/mdx-components/UriInputField/index.tsx b/packages/console/src/mdx-components/UriInputField/index.tsx index 1d6f5a749..19c2f35e3 100644 --- a/packages/console/src/mdx-components/UriInputField/index.tsx +++ b/packages/console/src/mdx-components/UriInputField/index.tsx @@ -1,6 +1,7 @@ -import { AdminConsoleKey } from '@logto/phrases'; -import { Application } from '@logto/schemas'; -import { useRef, KeyboardEvent } from 'react'; +import type { AdminConsoleKey } from '@logto/phrases'; +import type { Application } from '@logto/schemas'; +import type { KeyboardEvent } from 'react'; +import { useRef } from 'react'; import { Controller, FormProvider, useForm } from 'react-hook-form'; import { toast } from 'react-hot-toast'; import { useTranslation } from 'react-i18next'; @@ -11,8 +12,9 @@ import FormField from '@/components/FormField'; import MultiTextInput from '@/components/MultiTextInput'; import { convertRhfErrorMessage, createValidatorForRhf } from '@/components/MultiTextInput/utils'; import TextInput from '@/components/TextInput'; -import useApi, { RequestError } from '@/hooks/use-api'; -import { GuideForm } from '@/types/guide'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; +import type { GuideForm } from '@/types/guide'; import { uriValidator } from '@/utilities/validator'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/pages/ApiResourceDetails/index.tsx b/packages/console/src/pages/ApiResourceDetails/index.tsx index 8095c929f..10e8a8f34 100644 --- a/packages/console/src/pages/ApiResourceDetails/index.tsx +++ b/packages/console/src/pages/ApiResourceDetails/index.tsx @@ -1,4 +1,5 @@ -import { AppearanceMode, Resource } from '@logto/schemas'; +import type { Resource } from '@logto/schemas'; +import { AppearanceMode } from '@logto/schemas'; import { managementResource } from '@logto/schemas/lib/seeds'; import classNames from 'classnames'; import { useEffect, useState } from 'react'; @@ -24,7 +25,8 @@ import LinkButton from '@/components/LinkButton'; import TabNav, { TabNavItem } from '@/components/TabNav'; import TextInput from '@/components/TextInput'; import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; -import useApi, { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useTheme } from '@/hooks/use-theme'; import * as detailsStyles from '@/scss/details.module.scss'; diff --git a/packages/console/src/pages/ApiResources/components/CreateForm/index.tsx b/packages/console/src/pages/ApiResources/components/CreateForm/index.tsx index 79bb7b625..b48344a8b 100644 --- a/packages/console/src/pages/ApiResources/components/CreateForm/index.tsx +++ b/packages/console/src/pages/ApiResources/components/CreateForm/index.tsx @@ -1,4 +1,4 @@ -import { Resource } from '@logto/schemas'; +import type { Resource } from '@logto/schemas'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/ApiResources/index.tsx b/packages/console/src/pages/ApiResources/index.tsx index 99357bc1d..c17d0e727 100644 --- a/packages/console/src/pages/ApiResources/index.tsx +++ b/packages/console/src/pages/ApiResources/index.tsx @@ -1,4 +1,5 @@ -import { AppearanceMode, Resource } from '@logto/schemas'; +import type { Resource } from '@logto/schemas'; +import { AppearanceMode } from '@logto/schemas'; import classNames from 'classnames'; import { useState } from 'react'; import { toast } from 'react-hot-toast'; @@ -19,7 +20,7 @@ import Pagination from '@/components/Pagination'; import TableEmpty from '@/components/Table/TableEmpty'; import TableError from '@/components/Table/TableError'; import TableLoading from '@/components/Table/TableLoading'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import { useTheme } from '@/hooks/use-theme'; import * as modalStyles from '@/scss/modal.module.scss'; import * as tableStyles from '@/scss/table.module.scss'; diff --git a/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx b/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx index 0e8c6538d..ae3d3a873 100644 --- a/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx +++ b/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx @@ -1,4 +1,5 @@ -import { Application, ApplicationType, SnakeCaseOidcConfig, UserRole } from '@logto/schemas'; +import type { Application, SnakeCaseOidcConfig } from '@logto/schemas'; +import { ApplicationType, UserRole } from '@logto/schemas'; import { useEffect } from 'react'; import { Controller, useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/ApplicationDetails/components/Settings.tsx b/packages/console/src/pages/ApplicationDetails/components/Settings.tsx index 925590801..8fb0e2fc1 100644 --- a/packages/console/src/pages/ApplicationDetails/components/Settings.tsx +++ b/packages/console/src/pages/ApplicationDetails/components/Settings.tsx @@ -1,9 +1,5 @@ -import { - Application, - ApplicationType, - SnakeCaseOidcConfig, - validateRedirectUrl, -} from '@logto/schemas'; +import type { Application, SnakeCaseOidcConfig } from '@logto/schemas'; +import { ApplicationType, validateRedirectUrl } from '@logto/schemas'; import { useEffect } from 'react'; import { Controller, useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -11,7 +7,7 @@ import { useTranslation } from 'react-i18next'; import CopyToClipboard from '@/components/CopyToClipboard'; import FormField from '@/components/FormField'; import MultiTextInput from '@/components/MultiTextInput'; -import { MultiTextInputRule } from '@/components/MultiTextInput/types'; +import type { MultiTextInputRule } from '@/components/MultiTextInput/types'; import { createValidatorForRhf, convertRhfErrorMessage } from '@/components/MultiTextInput/utils'; import TextInput from '@/components/TextInput'; import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; diff --git a/packages/console/src/pages/ApplicationDetails/index.tsx b/packages/console/src/pages/ApplicationDetails/index.tsx index 0236091d2..adf5952b5 100644 --- a/packages/console/src/pages/ApplicationDetails/index.tsx +++ b/packages/console/src/pages/ApplicationDetails/index.tsx @@ -1,4 +1,5 @@ -import { Application, ApplicationType, SnakeCaseOidcConfig } from '@logto/schemas'; +import type { Application, SnakeCaseOidcConfig } from '@logto/schemas'; +import { ApplicationType } from '@logto/schemas'; import classNames from 'classnames'; import { useEffect, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; @@ -20,7 +21,8 @@ import DetailsSkeleton from '@/components/DetailsSkeleton'; import Drawer from '@/components/Drawer'; import LinkButton from '@/components/LinkButton'; import TabNav, { TabNavItem } from '@/components/TabNav'; -import useApi, { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useDocumentationUrl from '@/hooks/use-documentation-url'; import * as detailsStyles from '@/scss/details.module.scss'; import { applicationTypeI18nKey } from '@/types/applications'; diff --git a/packages/console/src/pages/Applications/components/CreateForm/index.tsx b/packages/console/src/pages/Applications/components/CreateForm/index.tsx index 80d04307b..ccf8c2722 100644 --- a/packages/console/src/pages/Applications/components/CreateForm/index.tsx +++ b/packages/console/src/pages/Applications/components/CreateForm/index.tsx @@ -1,4 +1,5 @@ -import { Application, ApplicationType } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; +import { ApplicationType } from '@logto/schemas'; import { useState } from 'react'; import { useController, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/Applications/components/Guide/index.tsx b/packages/console/src/pages/Applications/components/Guide/index.tsx index 511ed53e1..4f8701c7f 100644 --- a/packages/console/src/pages/Applications/components/Guide/index.tsx +++ b/packages/console/src/pages/Applications/components/Guide/index.tsx @@ -1,13 +1,15 @@ -import { Application } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; import { MDXProvider } from '@mdx-js/react'; -import { Optional } from '@silverhand/essentials'; +import type { Optional } from '@silverhand/essentials'; import i18next from 'i18next'; -import { MDXProps } from 'mdx/types'; -import { cloneElement, lazy, LazyExoticComponent, Suspense, useEffect, useState } from 'react'; +import type { MDXProps } from 'mdx/types'; +import type { LazyExoticComponent } from 'react'; +import { cloneElement, lazy, Suspense, useEffect, useState } from 'react'; import CodeEditor from '@/components/CodeEditor'; import DetailsSummary from '@/mdx-components/DetailsSummary'; -import { applicationTypeAndSdkTypeMappings, SupportedSdk } from '@/types/applications'; +import type { SupportedSdk } from '@/types/applications'; +import { applicationTypeAndSdkTypeMappings } from '@/types/applications'; import GuideHeader from '../GuideHeader'; import SdkSelector from '../SdkSelector'; diff --git a/packages/console/src/pages/Applications/components/SdkSelector/index.tsx b/packages/console/src/pages/Applications/components/SdkSelector/index.tsx index 4250c7159..9537ebad4 100644 --- a/packages/console/src/pages/Applications/components/SdkSelector/index.tsx +++ b/packages/console/src/pages/Applications/components/SdkSelector/index.tsx @@ -13,7 +13,7 @@ import RadioGroup, { Radio } from '@/components/RadioGroup'; import Select from '@/components/Select'; import Spacer from '@/components/Spacer'; import { useTheme } from '@/hooks/use-theme'; -import { SupportedSdk } from '@/types/applications'; +import type { SupportedSdk } from '@/types/applications'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/pages/Applications/components/TypeDescription/index.tsx b/packages/console/src/pages/Applications/components/TypeDescription/index.tsx index f63ddd341..9376e8d08 100644 --- a/packages/console/src/pages/Applications/components/TypeDescription/index.tsx +++ b/packages/console/src/pages/Applications/components/TypeDescription/index.tsx @@ -1,4 +1,4 @@ -import { ApplicationType } from '@logto/schemas'; +import type { ApplicationType } from '@logto/schemas'; import ApplicationIcon from '@/components/ApplicationIcon'; diff --git a/packages/console/src/pages/Applications/index.tsx b/packages/console/src/pages/Applications/index.tsx index af16add33..ec1ad9967 100644 --- a/packages/console/src/pages/Applications/index.tsx +++ b/packages/console/src/pages/Applications/index.tsx @@ -1,4 +1,4 @@ -import { Application } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; import classNames from 'classnames'; import { toast } from 'react-hot-toast'; import { useTranslation } from 'react-i18next'; @@ -17,7 +17,7 @@ import Pagination from '@/components/Pagination'; import TableEmpty from '@/components/Table/TableEmpty'; import TableError from '@/components/Table/TableError'; import TableLoading from '@/components/Table/TableLoading'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import * as modalStyles from '@/scss/modal.module.scss'; import * as tableStyles from '@/scss/table.module.scss'; import { applicationTypeI18nKey } from '@/types/applications'; diff --git a/packages/console/src/pages/AuditLogDetails/index.tsx b/packages/console/src/pages/AuditLogDetails/index.tsx index 0d01a5d32..1a5c8f7ad 100644 --- a/packages/console/src/pages/AuditLogDetails/index.tsx +++ b/packages/console/src/pages/AuditLogDetails/index.tsx @@ -1,4 +1,4 @@ -import { LogDto, User } from '@logto/schemas'; +import type { LogDto, User } from '@logto/schemas'; import classNames from 'classnames'; import dayjs from 'dayjs'; import { useTranslation } from 'react-i18next'; @@ -16,7 +16,7 @@ import LinkButton from '@/components/LinkButton'; import TabNav, { TabNavItem } from '@/components/TabNav'; import UserName from '@/components/UserName'; import { logEventTitle } from '@/consts/logs'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import * as detailsStyles from '@/scss/details.module.scss'; import EventIcon from './components/EventIcon'; diff --git a/packages/console/src/pages/ConnectorDetails/components/ConnectorContent.tsx b/packages/console/src/pages/ConnectorDetails/components/ConnectorContent.tsx index c70ba832f..d2b9390fc 100644 --- a/packages/console/src/pages/ConnectorDetails/components/ConnectorContent.tsx +++ b/packages/console/src/pages/ConnectorDetails/components/ConnectorContent.tsx @@ -1,4 +1,5 @@ -import { Connector, ConnectorResponse, ConnectorMetadata, ConnectorType } from '@logto/schemas'; +import type { Connector, ConnectorResponse, ConnectorMetadata } from '@logto/schemas'; +import { ConnectorType } from '@logto/schemas'; import { useMemo } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { toast } from 'react-hot-toast'; diff --git a/packages/console/src/pages/ConnectorDetails/components/ConnectorTabs/index.tsx b/packages/console/src/pages/ConnectorDetails/components/ConnectorTabs/index.tsx index b549ba5be..f025dffb1 100644 --- a/packages/console/src/pages/ConnectorDetails/components/ConnectorTabs/index.tsx +++ b/packages/console/src/pages/ConnectorDetails/components/ConnectorTabs/index.tsx @@ -1,4 +1,5 @@ -import { ConnectorResponse, ConnectorPlatform } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { ConnectorPlatform } from '@logto/schemas'; import classNames from 'classnames'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/ConnectorDetails/index.tsx b/packages/console/src/pages/ConnectorDetails/index.tsx index 8d61831be..760df8381 100644 --- a/packages/console/src/pages/ConnectorDetails/index.tsx +++ b/packages/console/src/pages/ConnectorDetails/index.tsx @@ -1,4 +1,5 @@ -import { AppearanceMode, ConnectorResponse, ConnectorType } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { AppearanceMode, ConnectorType } from '@logto/schemas'; import classNames from 'classnames'; import { useState } from 'react'; import { toast } from 'react-hot-toast'; @@ -21,7 +22,8 @@ import Markdown from '@/components/Markdown'; import Status from '@/components/Status'; import TabNav, { TabNavItem } from '@/components/TabNav'; import UnnamedTrans from '@/components/UnnamedTrans'; -import useApi, { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useConnectorInUse from '@/hooks/use-connector-in-use'; import { useTheme } from '@/hooks/use-theme'; import * as detailsStyles from '@/scss/details.module.scss'; diff --git a/packages/console/src/pages/Connectors/components/ConnectorName/index.tsx b/packages/console/src/pages/Connectors/components/ConnectorName/index.tsx index 01838562b..9528cfd5a 100644 --- a/packages/console/src/pages/Connectors/components/ConnectorName/index.tsx +++ b/packages/console/src/pages/Connectors/components/ConnectorName/index.tsx @@ -1,4 +1,5 @@ -import { AppearanceMode, ConnectorResponse, ConnectorType } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { AppearanceMode, ConnectorType } from '@logto/schemas'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; diff --git a/packages/console/src/pages/Connectors/components/ConnectorRow/index.tsx b/packages/console/src/pages/Connectors/components/ConnectorRow/index.tsx index 6b2ea89c4..5bc3b2cb1 100644 --- a/packages/console/src/pages/Connectors/components/ConnectorRow/index.tsx +++ b/packages/console/src/pages/Connectors/components/ConnectorRow/index.tsx @@ -1,4 +1,5 @@ -import { ConnectorResponse, ConnectorType } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { ConnectorType } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; diff --git a/packages/console/src/pages/Connectors/components/CreateForm/PlatformSelector.tsx b/packages/console/src/pages/Connectors/components/CreateForm/PlatformSelector.tsx index 0be886cbb..7ffcc9ee0 100644 --- a/packages/console/src/pages/Connectors/components/CreateForm/PlatformSelector.tsx +++ b/packages/console/src/pages/Connectors/components/CreateForm/PlatformSelector.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import RadioGroup, { Radio } from '@/components/RadioGroup'; import UnnamedTrans from '@/components/UnnamedTrans'; import { connectorPlatformLabel } from '@/consts/connectors'; -import { ConnectorGroup } from '@/types/connector'; +import type { ConnectorGroup } from '@/types/connector'; import * as styles from './PlatformSelector.module.scss'; diff --git a/packages/console/src/pages/Connectors/components/Guide/index.tsx b/packages/console/src/pages/Connectors/components/Guide/index.tsx index cbbe1a7b9..3ee3b58a2 100644 --- a/packages/console/src/pages/Connectors/components/Guide/index.tsx +++ b/packages/console/src/pages/Connectors/components/Guide/index.tsx @@ -1,5 +1,6 @@ import { getDefaultLanguage } from '@logto/core-kit'; -import { ConnectorResponse, ConnectorType } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { ConnectorType } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; import i18next from 'i18next'; import { Controller, useForm } from 'react-hook-form'; @@ -16,7 +17,7 @@ import useApi from '@/hooks/use-api'; import useSettings from '@/hooks/use-settings'; import Step from '@/mdx-components/Step'; import SenderTester from '@/pages/ConnectorDetails/components/SenderTester'; -import { GuideForm } from '@/types/guide'; +import type { GuideForm } from '@/types/guide'; import { safeParseJson } from '@/utilities/json'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/pages/Dashboard/components/Block.tsx b/packages/console/src/pages/Dashboard/components/Block.tsx index e94e85709..969728db3 100644 --- a/packages/console/src/pages/Dashboard/components/Block.tsx +++ b/packages/console/src/pages/Dashboard/components/Block.tsx @@ -1,4 +1,4 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import { conditionalString } from '@silverhand/essentials'; import classNames from 'classnames'; import { useRef } from 'react'; diff --git a/packages/console/src/pages/Dashboard/index.tsx b/packages/console/src/pages/Dashboard/index.tsx index ae30486e2..db727d9e8 100644 --- a/packages/console/src/pages/Dashboard/index.tsx +++ b/packages/console/src/pages/Dashboard/index.tsx @@ -1,5 +1,6 @@ import dayjs from 'dayjs'; -import { ChangeEventHandler, useState } from 'react'; +import type { ChangeEventHandler } from 'react'; +import { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Area, @@ -15,13 +16,13 @@ import useSWR from 'swr'; import AppError from '@/components/AppError'; import Card from '@/components/Card'; import TextInput from '@/components/TextInput'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import Block from './components/Block'; import ChartTooltip from './components/ChartTooltip'; import Skeleton from './components/Skeleton'; import * as styles from './index.module.scss'; -import { ActiveUsersResponse, NewUsersResponse, TotalUsersResponse } from './types'; +import type { ActiveUsersResponse, NewUsersResponse, TotalUsersResponse } from './types'; const tickStyle = { fill: 'var(--color-text-secondary)', diff --git a/packages/console/src/pages/GetStarted/hook.ts b/packages/console/src/pages/GetStarted/hook.ts index 041576e5d..70e8d4053 100644 --- a/packages/console/src/pages/GetStarted/hook.ts +++ b/packages/console/src/pages/GetStarted/hook.ts @@ -1,5 +1,6 @@ -import { AdminConsoleKey } from '@logto/phrases'; -import { AppearanceMode, Application } from '@logto/schemas'; +import type { AdminConsoleKey } from '@logto/phrases'; +import type { Application } from '@logto/schemas'; +import { AppearanceMode } from '@logto/schemas'; import { demoAppApplicationId } from '@logto/schemas/lib/seeds'; import { useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; diff --git a/packages/console/src/pages/Settings/index.tsx b/packages/console/src/pages/Settings/index.tsx index 616ee85d2..4431cdd6a 100644 --- a/packages/console/src/pages/Settings/index.tsx +++ b/packages/console/src/pages/Settings/index.tsx @@ -15,7 +15,8 @@ import FormField from '@/components/FormField'; import Select from '@/components/Select'; import TabNav, { TabNavItem } from '@/components/TabNav'; import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; -import useUserPreferences, { UserPreferences } from '@/hooks/use-user-preferences'; +import type { UserPreferences } from '@/hooks/use-user-preferences'; +import useUserPreferences from '@/hooks/use-user-preferences'; import * as detailsStyles from '@/scss/details.module.scss'; import ChangePassword from './components/ChangePassword'; diff --git a/packages/console/src/pages/SignInExperience/components/AuthenticationForm.tsx b/packages/console/src/pages/SignInExperience/components/AuthenticationForm.tsx index 3261ef053..af6bbcdc8 100644 --- a/packages/console/src/pages/SignInExperience/components/AuthenticationForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/AuthenticationForm.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next'; import FormField from '@/components/FormField'; import Switch from '@/components/Switch'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import * as styles from './index.module.scss'; const AuthenticationForm = () => { diff --git a/packages/console/src/pages/SignInExperience/components/BrandingForm.tsx b/packages/console/src/pages/SignInExperience/components/BrandingForm.tsx index b5c008180..f3b00ca59 100644 --- a/packages/console/src/pages/SignInExperience/components/BrandingForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/BrandingForm.tsx @@ -7,7 +7,7 @@ import RadioGroup, { Radio } from '@/components/RadioGroup'; import TextInput from '@/components/TextInput'; import { uriValidator } from '@/utilities/validator'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import * as styles from './index.module.scss'; const BrandingForm = () => { diff --git a/packages/console/src/pages/SignInExperience/components/ColorForm.tsx b/packages/console/src/pages/SignInExperience/components/ColorForm.tsx index 5b34369cd..def828495 100644 --- a/packages/console/src/pages/SignInExperience/components/ColorForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/ColorForm.tsx @@ -8,7 +8,7 @@ import ColorPicker from '@/components/ColorPicker'; import FormField from '@/components/FormField'; import Switch from '@/components/Switch'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import * as styles from './index.module.scss'; const ColorForm = () => { diff --git a/packages/console/src/pages/SignInExperience/components/ConnectorSetupWarning.tsx b/packages/console/src/pages/SignInExperience/components/ConnectorSetupWarning.tsx index 801326b51..09710d24a 100644 --- a/packages/console/src/pages/SignInExperience/components/ConnectorSetupWarning.tsx +++ b/packages/console/src/pages/SignInExperience/components/ConnectorSetupWarning.tsx @@ -1,10 +1,11 @@ -import { ConnectorResponse, ConnectorType, SignInMethodKey } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { ConnectorType, SignInMethodKey } from '@logto/schemas'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import useSWR from 'swr'; import Alert from '@/components/Alert'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; type Props = { method: SignInMethodKey; diff --git a/packages/console/src/pages/SignInExperience/components/GuideModal.tsx b/packages/console/src/pages/SignInExperience/components/GuideModal.tsx index 2519140ed..8f0b5eb91 100644 --- a/packages/console/src/pages/SignInExperience/components/GuideModal.tsx +++ b/packages/console/src/pages/SignInExperience/components/GuideModal.tsx @@ -1,4 +1,4 @@ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { useEffect, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -17,7 +17,7 @@ import useUserPreferences from '@/hooks/use-user-preferences'; import * as modalStyles from '@/scss/modal.module.scss'; import usePreviewConfigs from '../hooks'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import { signInExperienceParser } from '../utilities'; import BrandingForm from './BrandingForm'; import ColorForm from './ColorForm'; diff --git a/packages/console/src/pages/SignInExperience/components/LanguagesForm.tsx b/packages/console/src/pages/SignInExperience/components/LanguagesForm.tsx index 1fa734743..83791e5ee 100644 --- a/packages/console/src/pages/SignInExperience/components/LanguagesForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/LanguagesForm.tsx @@ -1,5 +1,5 @@ import { languages as uiLanguageNameMapping } from '@logto/language-kit'; -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { useEffect, useMemo } from 'react'; import { Controller, useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -8,10 +8,10 @@ import useSWR from 'swr'; import FormField from '@/components/FormField'; import Select from '@/components/Select'; import Switch from '@/components/Switch'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import useUiLanguages from '@/hooks/use-ui-languages'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import ManageLanguageButton from './ManageLanguage/ManageLanguageButton'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/AddLanguageSelector.tsx b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/AddLanguageSelector.tsx index 3513c7386..c4167f1fe 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/AddLanguageSelector.tsx +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/AddLanguageSelector.tsx @@ -1,6 +1,8 @@ -import { LanguageTag, languages as uiLanguageNameMapping } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages as uiLanguageNameMapping } from '@logto/language-kit'; import classNames from 'classnames'; -import { ChangeEvent, useEffect, useRef, useState } from 'react'; +import type { ChangeEvent } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import Plus from '@/assets/images/plus.svg'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/EditSection.tsx b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/EditSection.tsx index 4823429bd..b5982edc2 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/EditSection.tsx +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/EditSection.tsx @@ -1,4 +1,4 @@ -import { Translation } from '@logto/schemas'; +import type { Translation } from '@logto/schemas'; import { useFormContext } from 'react-hook-form'; import Textarea from '@/components/Textarea'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageDetails.tsx b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageDetails.tsx index 75dd4765d..6f28dec1e 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageDetails.tsx +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageDetails.tsx @@ -1,7 +1,8 @@ -import { languages as uiLanguageNameMapping, LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages as uiLanguageNameMapping } from '@logto/language-kit'; import resource, { isBuiltInLanguageTag } from '@logto/phrases-ui'; import en from '@logto/phrases-ui/lib/locales/en'; -import { SignInExperience, Translation } from '@logto/schemas'; +import type { SignInExperience, Translation } from '@logto/schemas'; import cleanDeep from 'clean-deep'; import deepmerge from 'deepmerge'; import { useCallback, useContext, useEffect, useMemo, useState } from 'react'; @@ -17,7 +18,7 @@ import ConfirmModal from '@/components/ConfirmModal'; import IconButton from '@/components/IconButton'; import useApi, { RequestError } from '@/hooks/use-api'; import useUiLanguages from '@/hooks/use-ui-languages'; -import { CustomPhraseResponse } from '@/types/custom-phrase'; +import type { CustomPhraseResponse } from '@/types/custom-phrase'; import { createEmptyUiTranslation, flattenTranslation } from '../../../utilities'; import EditSection from './EditSection'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageItem.tsx b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageItem.tsx index 1a328a69a..46d9d330c 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageItem.tsx +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageItem.tsx @@ -1,4 +1,5 @@ -import { languages, LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages } from '@logto/language-kit'; import classNames from 'classnames'; import { useEffect, useRef } from 'react'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageNav.tsx b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageNav.tsx index 4c4695ccb..340af4bea 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageNav.tsx +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/LanguageNav.tsx @@ -1,8 +1,5 @@ -import { - isLanguageTag, - LanguageTag, - languages as uiLanguageNameMapping, -} from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; +import { isLanguageTag, languages as uiLanguageNameMapping } from '@logto/language-kit'; import { useContext } from 'react'; import useUiLanguages from '@/hooks/use-ui-languages'; diff --git a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/use-language-editor-context.ts b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/use-language-editor-context.ts index 54fe0ef05..5b671a966 100644 --- a/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/use-language-editor-context.ts +++ b/packages/console/src/pages/SignInExperience/components/ManageLanguage/LanguageEditor/use-language-editor-context.ts @@ -1,4 +1,4 @@ -import { LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; import { createContext, useMemo, useState } from 'react'; const noop = () => { diff --git a/packages/console/src/pages/SignInExperience/components/Preview.tsx b/packages/console/src/pages/SignInExperience/components/Preview.tsx index 9ddc95fb3..137e467ec 100644 --- a/packages/console/src/pages/SignInExperience/components/Preview.tsx +++ b/packages/console/src/pages/SignInExperience/components/Preview.tsx @@ -1,10 +1,7 @@ -import { LanguageTag, languages as uiLanguageNameMapping } from '@logto/language-kit'; -import { - AppearanceMode, - ConnectorResponse, - ConnectorMetadata, - SignInExperience, -} from '@logto/schemas'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages as uiLanguageNameMapping } from '@logto/language-kit'; +import type { ConnectorResponse, ConnectorMetadata, SignInExperience } from '@logto/schemas'; +import { AppearanceMode } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; import classNames from 'classnames'; import dayjs from 'dayjs'; @@ -16,7 +13,7 @@ import PhoneInfo from '@/assets/images/phone-info.svg'; import Card from '@/components/Card'; import Select from '@/components/Select'; import TabNav, { TabNavItem } from '@/components/TabNav'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import useUiLanguages from '@/hooks/use-ui-languages'; import * as styles from './Preview.module.scss'; diff --git a/packages/console/src/pages/SignInExperience/components/SignInMethodsChangePreview.tsx b/packages/console/src/pages/SignInExperience/components/SignInMethodsChangePreview.tsx index 7f36c2ac5..24d8e98b5 100644 --- a/packages/console/src/pages/SignInExperience/components/SignInMethodsChangePreview.tsx +++ b/packages/console/src/pages/SignInExperience/components/SignInMethodsChangePreview.tsx @@ -1,4 +1,4 @@ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { useTranslation } from 'react-i18next'; import * as styles from './SignInMethodsChangePreview.module.scss'; diff --git a/packages/console/src/pages/SignInExperience/components/SignInMethodsForm.tsx b/packages/console/src/pages/SignInExperience/components/SignInMethodsForm.tsx index f8e0fc041..ed4d01d07 100644 --- a/packages/console/src/pages/SignInExperience/components/SignInMethodsForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/SignInMethodsForm.tsx @@ -8,7 +8,7 @@ import FormField from '@/components/FormField'; import Select from '@/components/Select'; import Switch from '@/components/Switch'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import ConnectorSetupWarning from './ConnectorSetupWarning'; import ConnectorsTransfer from './ConnectorsTransfer'; import * as styles from './index.module.scss'; diff --git a/packages/console/src/pages/SignInExperience/components/SignInMethodsPreview.tsx b/packages/console/src/pages/SignInExperience/components/SignInMethodsPreview.tsx index c26be7065..a2dfb63fb 100644 --- a/packages/console/src/pages/SignInExperience/components/SignInMethodsPreview.tsx +++ b/packages/console/src/pages/SignInExperience/components/SignInMethodsPreview.tsx @@ -1,4 +1,5 @@ -import { SignInExperience, SignInMethodKey, SignInMethodState } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; +import { SignInMethodKey, SignInMethodState } from '@logto/schemas'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/SignInExperience/components/TermsForm.tsx b/packages/console/src/pages/SignInExperience/components/TermsForm.tsx index 774ba8cc0..e0373d562 100644 --- a/packages/console/src/pages/SignInExperience/components/TermsForm.tsx +++ b/packages/console/src/pages/SignInExperience/components/TermsForm.tsx @@ -6,7 +6,7 @@ import Switch from '@/components/Switch'; import TextInput from '@/components/TextInput'; import { uriValidator } from '@/utilities/validator'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; import * as styles from './index.module.scss'; const TermsForm = () => { diff --git a/packages/console/src/pages/SignInExperience/hooks.ts b/packages/console/src/pages/SignInExperience/hooks.ts index 68541cb35..19bec86f3 100644 --- a/packages/console/src/pages/SignInExperience/hooks.ts +++ b/packages/console/src/pages/SignInExperience/hooks.ts @@ -1,7 +1,7 @@ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { useMemo } from 'react'; -import { SignInExperienceForm } from './types'; +import type { SignInExperienceForm } from './types'; import { signInExperienceParser } from './utilities'; const usePreviewConfigs = ( diff --git a/packages/console/src/pages/SignInExperience/index.tsx b/packages/console/src/pages/SignInExperience/index.tsx index c3abb6814..d03dfd173 100644 --- a/packages/console/src/pages/SignInExperience/index.tsx +++ b/packages/console/src/pages/SignInExperience/index.tsx @@ -1,4 +1,4 @@ -import { SignInExperience as SignInExperienceType } from '@logto/schemas'; +import type { SignInExperience as SignInExperienceType } from '@logto/schemas'; import classNames from 'classnames'; import { useEffect, useMemo, useState } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; @@ -12,7 +12,8 @@ import Card from '@/components/Card'; import CardTitle from '@/components/CardTitle'; import ConfirmModal from '@/components/ConfirmModal'; import TabNav, { TabNavItem } from '@/components/TabNav'; -import useApi, { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useSettings from '@/hooks/use-settings'; import useUiLanguages from '@/hooks/use-ui-languages'; import * as detailsStyles from '@/scss/details.module.scss'; @@ -26,7 +27,7 @@ import * as styles from './index.module.scss'; import BrandingTab from './tabs/BrandingTab'; import OthersTab from './tabs/OthersTab'; import SignInMethodsTab from './tabs/SignInMethodsTab'; -import { SignInExperienceForm } from './types'; +import type { SignInExperienceForm } from './types'; import { compareSignInMethods, signInExperienceParser } from './utilities'; const SignInExperience = () => { diff --git a/packages/console/src/pages/SignInExperience/tabs/BrandingTab.tsx b/packages/console/src/pages/SignInExperience/tabs/BrandingTab.tsx index df4090c99..3ef205367 100644 --- a/packages/console/src/pages/SignInExperience/tabs/BrandingTab.tsx +++ b/packages/console/src/pages/SignInExperience/tabs/BrandingTab.tsx @@ -5,7 +5,7 @@ import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; import BrandingForm from '../components/BrandingForm'; import ColorForm from '../components/ColorForm'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; type Props = { defaultData: SignInExperienceForm; diff --git a/packages/console/src/pages/SignInExperience/tabs/OthersTab.tsx b/packages/console/src/pages/SignInExperience/tabs/OthersTab.tsx index 29b461e1e..bafeda29a 100644 --- a/packages/console/src/pages/SignInExperience/tabs/OthersTab.tsx +++ b/packages/console/src/pages/SignInExperience/tabs/OthersTab.tsx @@ -6,7 +6,7 @@ import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; import AuthenticationForm from '../components/AuthenticationForm'; import LanguagesForm from '../components/LanguagesForm'; import TermsForm from '../components/TermsForm'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; type Props = { defaultData: SignInExperienceForm; diff --git a/packages/console/src/pages/SignInExperience/tabs/SignInMethodsTab.tsx b/packages/console/src/pages/SignInExperience/tabs/SignInMethodsTab.tsx index 9f5f3dd1e..bdaeaa1ed 100644 --- a/packages/console/src/pages/SignInExperience/tabs/SignInMethodsTab.tsx +++ b/packages/console/src/pages/SignInExperience/tabs/SignInMethodsTab.tsx @@ -4,7 +4,7 @@ import { useFormContext } from 'react-hook-form'; import UnsavedChangesAlertModal from '@/components/UnsavedChangesAlertModal'; import SignInMethodsForm from '../components/SignInMethodsForm'; -import { SignInExperienceForm } from '../types'; +import type { SignInExperienceForm } from '../types'; type Props = { defaultData: SignInExperienceForm; diff --git a/packages/console/src/pages/SignInExperience/types.ts b/packages/console/src/pages/SignInExperience/types.ts index 87ddd9819..4432fbecd 100644 --- a/packages/console/src/pages/SignInExperience/types.ts +++ b/packages/console/src/pages/SignInExperience/types.ts @@ -1,4 +1,4 @@ -import { SignInExperience, SignInMethodKey } from '@logto/schemas'; +import type { SignInExperience, SignInMethodKey } from '@logto/schemas'; export type SignInExperienceForm = Omit & { signInMethods: { diff --git a/packages/console/src/pages/SignInExperience/utilities.ts b/packages/console/src/pages/SignInExperience/utilities.ts index bf5660fe8..8f8ee7bcd 100644 --- a/packages/console/src/pages/SignInExperience/utilities.ts +++ b/packages/console/src/pages/SignInExperience/utilities.ts @@ -1,15 +1,9 @@ import en from '@logto/phrases-ui/lib/locales/en'; -import { - SignInExperience, - SignInMethodKey, - SignInMethods, - SignInMethodState, - SignInMode, - Translation, -} from '@logto/schemas'; +import type { SignInExperience, SignInMethods, Translation } from '@logto/schemas'; +import { SignInMethodKey, SignInMethodState, SignInMode } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; -import { SignInExperienceForm } from './types'; +import type { SignInExperienceForm } from './types'; const findMethodState = ( setup: SignInExperienceForm, diff --git a/packages/console/src/pages/UserDetails/components/CreateSuccess.tsx b/packages/console/src/pages/UserDetails/components/CreateSuccess.tsx index dbca41926..a26fb1e89 100644 --- a/packages/console/src/pages/UserDetails/components/CreateSuccess.tsx +++ b/packages/console/src/pages/UserDetails/components/CreateSuccess.tsx @@ -1,4 +1,4 @@ -import { AdminConsoleKey } from '@logto/phrases'; +import type { AdminConsoleKey } from '@logto/phrases'; import { useState } from 'react'; import { toast } from 'react-hot-toast'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/UserDetails/components/ResetPasswordForm.tsx b/packages/console/src/pages/UserDetails/components/ResetPasswordForm.tsx index c2ad145ba..0a1c8b97f 100644 --- a/packages/console/src/pages/UserDetails/components/ResetPasswordForm.tsx +++ b/packages/console/src/pages/UserDetails/components/ResetPasswordForm.tsx @@ -1,4 +1,4 @@ -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { nanoid } from 'nanoid'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx index 46703d072..54d34b2d4 100644 --- a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx +++ b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx @@ -1,5 +1,5 @@ import type { Identities, ConnectorResponse } from '@logto/schemas'; -import { Optional } from '@silverhand/essentials'; +import type { Optional } from '@silverhand/essentials'; import { useMemo, useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/UserDetails/components/UserSettings.tsx b/packages/console/src/pages/UserDetails/components/UserSettings.tsx index 91e077de1..7e3fe4376 100644 --- a/packages/console/src/pages/UserDetails/components/UserSettings.tsx +++ b/packages/console/src/pages/UserDetails/components/UserSettings.tsx @@ -1,5 +1,6 @@ -import { arbitraryObjectGuard, User } from '@logto/schemas'; -import { Nullable } from '@silverhand/essentials'; +import type { User } from '@logto/schemas'; +import { arbitraryObjectGuard } from '@logto/schemas'; +import type { Nullable } from '@silverhand/essentials'; import { useEffect } from 'react'; import { useForm, useController } from 'react-hook-form'; import { toast } from 'react-hot-toast'; diff --git a/packages/console/src/pages/UserDetails/index.tsx b/packages/console/src/pages/UserDetails/index.tsx index 5b8d647f0..8e3a9553e 100644 --- a/packages/console/src/pages/UserDetails/index.tsx +++ b/packages/console/src/pages/UserDetails/index.tsx @@ -1,4 +1,4 @@ -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import classNames from 'classnames'; import { useMemo, useState } from 'react'; import { toast } from 'react-hot-toast'; @@ -20,7 +20,8 @@ import LinkButton from '@/components/LinkButton'; import TabNav, { TabNavItem } from '@/components/TabNav'; import { generatedPasswordStorageKey } from '@/consts'; import { generateAvatarPlaceHolderById } from '@/consts/avatars'; -import useApi, { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import * as detailsStyles from '@/scss/details.module.scss'; import * as modalStyles from '@/scss/modal.module.scss'; diff --git a/packages/console/src/pages/Users/components/CreateForm/index.tsx b/packages/console/src/pages/Users/components/CreateForm/index.tsx index 0dc4ae935..2e7d83595 100644 --- a/packages/console/src/pages/Users/components/CreateForm/index.tsx +++ b/packages/console/src/pages/Users/components/CreateForm/index.tsx @@ -1,5 +1,5 @@ import { usernameRegEx } from '@logto/core-kit'; -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { nanoid } from 'nanoid'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; diff --git a/packages/console/src/pages/Users/index.tsx b/packages/console/src/pages/Users/index.tsx index acee505c4..bf71fbda5 100644 --- a/packages/console/src/pages/Users/index.tsx +++ b/packages/console/src/pages/Users/index.tsx @@ -1,4 +1,4 @@ -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { conditional, conditionalString } from '@silverhand/essentials'; import classNames from 'classnames'; import { useState } from 'react'; @@ -21,7 +21,7 @@ import TableError from '@/components/Table/TableError'; import TableLoading from '@/components/Table/TableLoading'; import { generatedPasswordStorageKey } from '@/consts'; import { generateAvatarPlaceHolderById } from '@/consts/avatars'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; import * as modalStyles from '@/scss/modal.module.scss'; import * as tableStyles from '@/scss/table.module.scss'; diff --git a/packages/console/src/types/connector.ts b/packages/console/src/types/connector.ts index 0c5f351e0..81a2d0101 100644 --- a/packages/console/src/types/connector.ts +++ b/packages/console/src/types/connector.ts @@ -1,4 +1,4 @@ -import { ConnectorResponse } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; export type ConnectorGroup = Pick< ConnectorResponse, diff --git a/packages/console/src/types/custom-phrase.ts b/packages/console/src/types/custom-phrase.ts index 11bf591a6..26e10519b 100644 --- a/packages/console/src/types/custom-phrase.ts +++ b/packages/console/src/types/custom-phrase.ts @@ -1,5 +1,5 @@ -import { LanguageTag } from '@logto/language-kit'; -import { Translation } from '@logto/schemas'; +import type { LanguageTag } from '@logto/language-kit'; +import type { Translation } from '@logto/schemas'; export type CustomPhraseResponse = { languageTag: LanguageTag; diff --git a/packages/console/src/utilities/a11y.ts b/packages/console/src/utilities/a11y.ts index e96dfce97..e46b51f8b 100644 --- a/packages/console/src/utilities/a11y.ts +++ b/packages/console/src/utilities/a11y.ts @@ -1,4 +1,4 @@ -import { KeyboardEventHandler, KeyboardEvent } from 'react'; +import type { KeyboardEventHandler, KeyboardEvent } from 'react'; type callbackHandler = ((event: KeyboardEvent) => void) | undefined; diff --git a/packages/core/src/__mocks__/connector.ts b/packages/core/src/__mocks__/connector.ts index f2b029db5..4d3e4bbab 100644 --- a/packages/core/src/__mocks__/connector.ts +++ b/packages/core/src/__mocks__/connector.ts @@ -1,8 +1,9 @@ import { ConnectorPlatform } from '@logto/connector-kit'; -import { Connector, ConnectorMetadata, ConnectorType } from '@logto/schemas'; +import type { Connector, ConnectorMetadata } from '@logto/schemas'; +import { ConnectorType } from '@logto/schemas'; import { any } from 'zod'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; export const mockMetadata: ConnectorMetadata = { id: 'id', diff --git a/packages/core/src/__mocks__/index.ts b/packages/core/src/__mocks__/index.ts index 9e823098b..4f6865581 100644 --- a/packages/core/src/__mocks__/index.ts +++ b/packages/core/src/__mocks__/index.ts @@ -1,12 +1,5 @@ -import { - Application, - ApplicationType, - Passcode, - PasscodeType, - Resource, - Role, - Setting, -} from '@logto/schemas'; +import type { Application, Passcode, Resource, Role, Setting } from '@logto/schemas'; +import { ApplicationType, PasscodeType } from '@logto/schemas'; export * from './connector'; export * from './sign-in-experience'; diff --git a/packages/core/src/__mocks__/sign-in-experience.ts b/packages/core/src/__mocks__/sign-in-experience.ts index 19578d72d..825761b86 100644 --- a/packages/core/src/__mocks__/sign-in-experience.ts +++ b/packages/core/src/__mocks__/sign-in-experience.ts @@ -1,14 +1,12 @@ -import { +import type { Branding, - BrandingStyle, LanguageInfo, SignInExperience, SignInMethods, - SignInMethodState, TermsOfUse, - SignInMode, Color, } from '@logto/schemas'; +import { BrandingStyle, SignInMethodState, SignInMode } from '@logto/schemas'; export const mockSignInExperience: SignInExperience = { id: 'foo', diff --git a/packages/core/src/__mocks__/user.ts b/packages/core/src/__mocks__/user.ts index bf687d86e..7db746a5c 100644 --- a/packages/core/src/__mocks__/user.ts +++ b/packages/core/src/__mocks__/user.ts @@ -1,4 +1,5 @@ -import { userInfoSelectFields, User, UsersPasswordEncryptionMethod } from '@logto/schemas'; +import type { User } from '@logto/schemas'; +import { userInfoSelectFields, UsersPasswordEncryptionMethod } from '@logto/schemas'; import pick from 'lodash.pick'; export const mockUser: User = { diff --git a/packages/core/src/app/init.ts b/packages/core/src/app/init.ts index 6c48ce54b..c98a8b848 100644 --- a/packages/core/src/app/init.ts +++ b/packages/core/src/app/init.ts @@ -2,7 +2,7 @@ import fs from 'fs/promises'; import https from 'https'; import chalk from 'chalk'; -import Koa from 'koa'; +import type Koa from 'koa'; import compose from 'koa-compose'; import koaLogger from 'koa-logger'; import mount from 'koa-mount'; diff --git a/packages/core/src/connectors/index.ts b/packages/core/src/connectors/index.ts index 1e4c5317a..9ef3237b5 100644 --- a/packages/core/src/connectors/index.ts +++ b/packages/core/src/connectors/index.ts @@ -3,7 +3,8 @@ import { readdir } from 'fs/promises'; import path from 'path'; import { connectorDirectory } from '@logto/cli/lib/constants'; -import { AllConnector, CreateConnector, validateConfig } from '@logto/connector-kit'; +import type { AllConnector, CreateConnector } from '@logto/connector-kit'; +import { validateConfig } from '@logto/connector-kit'; import { findPackage } from '@logto/shared'; import chalk from 'chalk'; @@ -11,7 +12,7 @@ import RequestError from '@/errors/RequestError'; import { findAllConnectors, insertConnector } from '@/queries/connector'; import { defaultConnectorMethods } from './consts'; -import { LoadConnector, LogtoConnector } from './types'; +import type { LoadConnector, LogtoConnector } from './types'; import { getConnectorConfig, readUrl, validateConnectorModule } from './utilities'; // eslint-disable-next-line @silverhand/fp/no-let diff --git a/packages/core/src/connectors/types.ts b/packages/core/src/connectors/types.ts index 22a375dcd..95412a334 100644 --- a/packages/core/src/connectors/types.ts +++ b/packages/core/src/connectors/types.ts @@ -1,5 +1,5 @@ -import { AllConnector } from '@logto/connector-kit'; -import { Connector, PasscodeType } from '@logto/schemas'; +import type { AllConnector } from '@logto/connector-kit'; +import type { Connector, PasscodeType } from '@logto/schemas'; import { z } from 'zod'; export { ConnectorType } from '@logto/schemas'; diff --git a/packages/core/src/connectors/utilities/index.test.ts b/packages/core/src/connectors/utilities/index.test.ts index 184c88109..aaad17d9e 100644 --- a/packages/core/src/connectors/utilities/index.test.ts +++ b/packages/core/src/connectors/utilities/index.test.ts @@ -1,4 +1,4 @@ -import { Connector } from '@logto/schemas'; +import type { Connector } from '@logto/schemas'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/connectors/utilities/index.ts b/packages/core/src/connectors/utilities/index.ts index 52f4bb4ff..a8e66edda 100644 --- a/packages/core/src/connectors/utilities/index.ts +++ b/packages/core/src/connectors/utilities/index.ts @@ -2,12 +2,8 @@ import { existsSync } from 'fs'; import { readFile } from 'fs/promises'; import path from 'path'; -import { - BaseConnector, - ConnectorError, - ConnectorErrorCodes, - ConnectorType, -} from '@logto/connector-kit'; +import type { BaseConnector } from '@logto/connector-kit'; +import { ConnectorError, ConnectorErrorCodes, ConnectorType } from '@logto/connector-kit'; import RequestError from '@/errors/RequestError'; import { findAllConnectors } from '@/queries/connector'; diff --git a/packages/core/src/database/find-entity-by-id.ts b/packages/core/src/database/find-entity-by-id.ts index 0ed5acbcc..25a9f8927 100644 --- a/packages/core/src/database/find-entity-by-id.ts +++ b/packages/core/src/database/find-entity-by-id.ts @@ -1,4 +1,4 @@ -import { SchemaLike, GeneratedSchema } from '@logto/schemas'; +import type { SchemaLike, GeneratedSchema } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import { sql, NotFoundError } from 'slonik'; diff --git a/packages/core/src/database/insert-into.test.ts b/packages/core/src/database/insert-into.test.ts index 93994ccfc..4622dc807 100644 --- a/packages/core/src/database/insert-into.test.ts +++ b/packages/core/src/database/insert-into.test.ts @@ -1,4 +1,5 @@ -import { CreateUser, Users } from '@logto/schemas'; +import type { CreateUser } from '@logto/schemas'; +import { Users } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import decamelize from 'decamelize'; diff --git a/packages/core/src/database/insert-into.ts b/packages/core/src/database/insert-into.ts index 2e7eb61bf..b2604d486 100644 --- a/packages/core/src/database/insert-into.ts +++ b/packages/core/src/database/insert-into.ts @@ -1,13 +1,14 @@ -import { GeneratedSchema, SchemaLike } from '@logto/schemas'; +import type { GeneratedSchema, SchemaLike } from '@logto/schemas'; +import type { OmitAutoSetFields } from '@logto/shared'; import { - OmitAutoSetFields, convertToIdentifiers, excludeAutoSetFields, convertToPrimitiveOrSql, conditionalSql, } from '@logto/shared'; import { has } from '@silverhand/essentials'; -import { IdentifierSqlToken, sql } from 'slonik'; +import type { IdentifierSqlToken } from 'slonik'; +import { sql } from 'slonik'; import envSet from '@/env-set'; import { InsertionError } from '@/errors/SlonikError'; diff --git a/packages/core/src/database/row-count.ts b/packages/core/src/database/row-count.ts index 56b705adc..5a1b40c27 100644 --- a/packages/core/src/database/row-count.ts +++ b/packages/core/src/database/row-count.ts @@ -1,4 +1,5 @@ -import { IdentifierSqlToken, sql } from 'slonik'; +import type { IdentifierSqlToken } from 'slonik'; +import { sql } from 'slonik'; import envSet from '@/env-set'; diff --git a/packages/core/src/database/update-where.test.ts b/packages/core/src/database/update-where.test.ts index 16bd9b6f5..ff5bae6b9 100644 --- a/packages/core/src/database/update-where.test.ts +++ b/packages/core/src/database/update-where.test.ts @@ -1,5 +1,6 @@ -import { CreateUser, Users, Applications, User } from '@logto/schemas'; -import { UpdateWhereData } from '@logto/shared'; +import type { CreateUser, User } from '@logto/schemas'; +import { Users, Applications } from '@logto/schemas'; +import type { UpdateWhereData } from '@logto/shared'; import envSet from '@/env-set'; import { UpdateError } from '@/errors/SlonikError'; diff --git a/packages/core/src/database/update-where.ts b/packages/core/src/database/update-where.ts index b8aa0ef78..62f385900 100644 --- a/packages/core/src/database/update-where.ts +++ b/packages/core/src/database/update-where.ts @@ -1,11 +1,8 @@ -import { SchemaLike, GeneratedSchema } from '@logto/schemas'; -import { - UpdateWhereData, - convertToIdentifiers, - convertToPrimitiveOrSql, - conditionalSql, -} from '@logto/shared'; -import { notFalsy, Truthy } from '@silverhand/essentials'; +import type { SchemaLike, GeneratedSchema } from '@logto/schemas'; +import type { UpdateWhereData } from '@logto/shared'; +import { convertToIdentifiers, convertToPrimitiveOrSql, conditionalSql } from '@logto/shared'; +import type { Truthy } from '@silverhand/essentials'; +import { notFalsy } from '@silverhand/essentials'; import { sql } from 'slonik'; import envSet from '@/env-set'; diff --git a/packages/core/src/env-set/check-alteration-state.ts b/packages/core/src/env-set/check-alteration-state.ts index 3125a99b0..3314af97f 100644 --- a/packages/core/src/env-set/check-alteration-state.ts +++ b/packages/core/src/env-set/check-alteration-state.ts @@ -1,6 +1,6 @@ import { getUndeployedAlterations } from '@logto/cli/lib/commands/database/alteration'; import chalk from 'chalk'; -import { DatabasePool } from 'slonik'; +import type { DatabasePool } from 'slonik'; export const checkAlterationState = async (pool: DatabasePool) => { const alterations = await getUndeployedAlterations(pool); diff --git a/packages/core/src/env-set/index.ts b/packages/core/src/env-set/index.ts index 85b161551..862afecb6 100644 --- a/packages/core/src/env-set/index.ts +++ b/packages/core/src/env-set/index.ts @@ -1,5 +1,6 @@ -import { getEnv, getEnvAsStringArray, Optional } from '@silverhand/essentials'; -import { DatabasePool } from 'slonik'; +import type { Optional } from '@silverhand/essentials'; +import { getEnv, getEnvAsStringArray } from '@silverhand/essentials'; +import type { DatabasePool } from 'slonik'; import { getOidcConfigs } from '@/lib/logto-config'; import { appendPath } from '@/utils/url'; diff --git a/packages/core/src/env-set/oidc.ts b/packages/core/src/env-set/oidc.ts index af62f079f..1df120cec 100644 --- a/packages/core/src/env-set/oidc.ts +++ b/packages/core/src/env-set/oidc.ts @@ -1,6 +1,7 @@ import crypto from 'crypto'; -import { LogtoOidcConfigKey, LogtoOidcConfigType } from '@logto/schemas'; +import type { LogtoOidcConfigType } from '@logto/schemas'; +import { LogtoOidcConfigKey } from '@logto/schemas'; import { createLocalJWKSet } from 'jose'; import { exportJWK } from '@/utils/jwks'; diff --git a/packages/core/src/errors/RequestError/index.ts b/packages/core/src/errors/RequestError/index.ts index 708b0d55f..9325ecb92 100644 --- a/packages/core/src/errors/RequestError/index.ts +++ b/packages/core/src/errors/RequestError/index.ts @@ -1,6 +1,7 @@ -import { LogtoErrorCode, LogtoErrorI18nKey } from '@logto/phrases'; -import { RequestErrorBody, RequestErrorMetadata } from '@logto/schemas'; -import { conditional, Optional } from '@silverhand/essentials'; +import type { LogtoErrorCode, LogtoErrorI18nKey } from '@logto/phrases'; +import type { RequestErrorBody, RequestErrorMetadata } from '@logto/schemas'; +import type { Optional } from '@silverhand/essentials'; +import { conditional } from '@silverhand/essentials'; import i18next from 'i18next'; import pick from 'lodash.pick'; import { ZodError } from 'zod'; diff --git a/packages/core/src/errors/RequestError/request-error.test.ts b/packages/core/src/errors/RequestError/request-error.test.ts index 9e2529c63..b23533d01 100644 --- a/packages/core/src/errors/RequestError/request-error.test.ts +++ b/packages/core/src/errors/RequestError/request-error.test.ts @@ -1,4 +1,4 @@ -import { LogtoErrorI18nKey } from '@logto/phrases'; +import type { LogtoErrorI18nKey } from '@logto/phrases'; import i18next from 'i18next'; import initI18n from '@/i18n/init'; diff --git a/packages/core/src/errors/SlonikError/index.ts b/packages/core/src/errors/SlonikError/index.ts index af0573ce2..96fd5300e 100644 --- a/packages/core/src/errors/SlonikError/index.ts +++ b/packages/core/src/errors/SlonikError/index.ts @@ -1,5 +1,5 @@ -import { SchemaLike, GeneratedSchema } from '@logto/schemas'; -import { OmitAutoSetFields, UpdateWhereData } from '@logto/shared'; +import type { SchemaLike, GeneratedSchema } from '@logto/schemas'; +import type { OmitAutoSetFields, UpdateWhereData } from '@logto/shared'; import { SlonikError } from 'slonik'; export class DeletionError extends SlonikError { diff --git a/packages/core/src/i18n/detect-language.test.ts b/packages/core/src/i18n/detect-language.test.ts index 4039f0cc6..d16a1d30f 100644 --- a/packages/core/src/i18n/detect-language.test.ts +++ b/packages/core/src/i18n/detect-language.test.ts @@ -1,5 +1,5 @@ import { createMockContext } from '@shopify/jest-koa-mocks'; -import { ParameterizedContext } from 'koa'; +import type { ParameterizedContext } from 'koa'; import detectLanguage from './detect-language'; diff --git a/packages/core/src/i18n/detect-language.ts b/packages/core/src/i18n/detect-language.ts index 1b13d3b2e..66a13650a 100644 --- a/packages/core/src/i18n/detect-language.ts +++ b/packages/core/src/i18n/detect-language.ts @@ -1,8 +1,9 @@ -import { IncomingHttpHeaders } from 'http'; +import type { IncomingHttpHeaders } from 'http'; -import { Optional, normalizeValueToStringArray } from '@silverhand/essentials'; -import { ParameterizedContext } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { Optional } from '@silverhand/essentials'; +import { normalizeValueToStringArray } from '@silverhand/essentials'; +import type { ParameterizedContext } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; /** * Resolve language and its q value from string. diff --git a/packages/core/src/include.d/koa-body.d.ts b/packages/core/src/include.d/koa-body.d.ts index 3f6a186b4..3747a6ec7 100644 --- a/packages/core/src/include.d/koa-body.d.ts +++ b/packages/core/src/include.d/koa-body.d.ts @@ -1,6 +1,6 @@ declare module 'koa-body' { - import { MiddlewareType } from 'koa'; - import { IKoaBodyOptions } from 'node_modules/koa-body'; + import type { MiddlewareType } from 'koa'; + import type { IKoaBodyOptions } from 'node_modules/koa-body'; declare function koaBody< StateT = Record, diff --git a/packages/core/src/include.d/koa-router.d.ts b/packages/core/src/include.d/koa-router.d.ts index 8dd572718..0b87dc207 100644 --- a/packages/core/src/include.d/koa-router.d.ts +++ b/packages/core/src/include.d/koa-router.d.ts @@ -23,7 +23,7 @@ declare module 'koa-router' { =============================================== */ - import * as Koa from 'koa'; + import type * as Koa from 'koa'; declare namespace Router { export interface IRouterOptions { diff --git a/packages/core/src/include.d/koa.d.ts b/packages/core/src/include.d/koa.d.ts index 75ce02c14..8a5bcad10 100644 --- a/packages/core/src/include.d/koa.d.ts +++ b/packages/core/src/include.d/koa.d.ts @@ -1,4 +1,4 @@ -import { DefaultState, DefaultContext, ParameterizedContext, BaseRequest } from 'koa'; +import type { DefaultState, DefaultContext, ParameterizedContext, BaseRequest } from 'koa'; declare module 'koa' { // Have to do this patch since `compose.Middleware` returns `any`. diff --git a/packages/core/src/include.d/oidc-provider.d.ts b/packages/core/src/include.d/oidc-provider.d.ts index f905f348f..7f920b0f0 100644 --- a/packages/core/src/include.d/oidc-provider.d.ts +++ b/packages/core/src/include.d/oidc-provider.d.ts @@ -1,4 +1,4 @@ -import { CustomClientMetadata } from '@logto/schemas'; +import type { CustomClientMetadata } from '@logto/schemas'; declare module 'oidc-provider' { export interface AllClientMetadata extends CustomClientMetadata {} diff --git a/packages/core/src/include.d/slonik-interceptor-preset.d.ts b/packages/core/src/include.d/slonik-interceptor-preset.d.ts index 5e24372aa..778cb40c0 100644 --- a/packages/core/src/include.d/slonik-interceptor-preset.d.ts +++ b/packages/core/src/include.d/slonik-interceptor-preset.d.ts @@ -1,5 +1,5 @@ declare module 'slonik-interceptor-preset' { - import { Interceptor } from 'slonik'; + import type { Interceptor } from 'slonik'; export const createInterceptors: (config?: { benchmarkQueries: boolean; diff --git a/packages/core/src/lib/__mocks__/logto-config.ts b/packages/core/src/lib/__mocks__/logto-config.ts index 9b5a47459..e180d0440 100644 --- a/packages/core/src/lib/__mocks__/logto-config.ts +++ b/packages/core/src/lib/__mocks__/logto-config.ts @@ -1,6 +1,7 @@ import { generateKeyPairSync } from 'crypto'; -import { LogtoOidcConfigKey, LogtoOidcConfigType } from '@logto/schemas'; +import type { LogtoOidcConfigType } from '@logto/schemas'; +import { LogtoOidcConfigKey } from '@logto/schemas'; const { privateKey } = generateKeyPairSync('rsa', { modulusLength: 4096, diff --git a/packages/core/src/lib/logto-config.ts b/packages/core/src/lib/logto-config.ts index 56e516024..d43646c74 100644 --- a/packages/core/src/lib/logto-config.ts +++ b/packages/core/src/lib/logto-config.ts @@ -1,7 +1,8 @@ import { getRowsByKeys } from '@logto/cli/lib/queries/logto-config'; -import { logtoOidcConfigGuard, LogtoOidcConfigKey, LogtoOidcConfigType } from '@logto/schemas'; +import type { LogtoOidcConfigType } from '@logto/schemas'; +import { logtoOidcConfigGuard, LogtoOidcConfigKey } from '@logto/schemas'; import chalk from 'chalk'; -import { DatabasePool, DatabaseTransactionConnection } from 'slonik'; +import type { DatabasePool, DatabaseTransactionConnection } from 'slonik'; import { z, ZodError } from 'zod'; export const getOidcConfigs = async ( diff --git a/packages/core/src/lib/passcode.test.ts b/packages/core/src/lib/passcode.test.ts index b3dd1b3f2..254ecd19c 100644 --- a/packages/core/src/lib/passcode.test.ts +++ b/packages/core/src/lib/passcode.test.ts @@ -1,5 +1,6 @@ import { ConnectorType } from '@logto/connector-kit'; -import { Passcode, PasscodeType } from '@logto/schemas'; +import type { Passcode } from '@logto/schemas'; +import { PasscodeType } from '@logto/schemas'; import { any } from 'zod'; import { mockConnector, mockMetadata } from '@/__mocks__'; diff --git a/packages/core/src/lib/passcode.ts b/packages/core/src/lib/passcode.ts index f2a429d0d..1cfe0c1cd 100644 --- a/packages/core/src/lib/passcode.ts +++ b/packages/core/src/lib/passcode.ts @@ -1,15 +1,11 @@ -import { - messageTypesGuard, - ConnectorError, - ConnectorErrorCodes, - EmailConnector, - SmsConnector, -} from '@logto/connector-kit'; -import { Passcode, PasscodeType } from '@logto/schemas'; +import type { EmailConnector, SmsConnector } from '@logto/connector-kit'; +import { messageTypesGuard, ConnectorError, ConnectorErrorCodes } from '@logto/connector-kit'; +import type { Passcode, PasscodeType } from '@logto/schemas'; import { customAlphabet, nanoid } from 'nanoid'; import { getLogtoConnectors } from '@/connectors'; -import { ConnectorType, LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; +import { ConnectorType } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import { consumePasscode, diff --git a/packages/core/src/lib/phrase.test.ts b/packages/core/src/lib/phrase.test.ts index ee1e92a24..4a0553988 100644 --- a/packages/core/src/lib/phrase.test.ts +++ b/packages/core/src/lib/phrase.test.ts @@ -1,5 +1,5 @@ import resource from '@logto/phrases-ui'; -import { CustomPhrase } from '@logto/schemas'; +import type { CustomPhrase } from '@logto/schemas'; import deepmerge from 'deepmerge'; import { diff --git a/packages/core/src/lib/phrase.ts b/packages/core/src/lib/phrase.ts index 04175a040..ab674e2ab 100644 --- a/packages/core/src/lib/phrase.ts +++ b/packages/core/src/lib/phrase.ts @@ -1,5 +1,6 @@ -import resource, { isBuiltInLanguageTag, LocalePhrase } from '@logto/phrases-ui'; -import { CustomPhrase } from '@logto/schemas'; +import type { LocalePhrase } from '@logto/phrases-ui'; +import resource, { isBuiltInLanguageTag } from '@logto/phrases-ui'; +import type { CustomPhrase } from '@logto/schemas'; import cleanDeep from 'clean-deep'; import deepmerge from 'deepmerge'; diff --git a/packages/core/src/lib/session.ts b/packages/core/src/lib/session.ts index ada10f4af..e55d13001 100644 --- a/packages/core/src/lib/session.ts +++ b/packages/core/src/lib/session.ts @@ -1,5 +1,5 @@ -import { Context } from 'koa'; -import { InteractionResults, Provider } from 'oidc-provider'; +import type { Context } from 'koa'; +import type { InteractionResults, Provider } from 'oidc-provider'; import { findUserById, updateUserById } from '@/queries/user'; diff --git a/packages/core/src/lib/sign-in-experience.test.ts b/packages/core/src/lib/sign-in-experience.test.ts index 4b2e398e6..f8f6a5caf 100644 --- a/packages/core/src/lib/sign-in-experience.test.ts +++ b/packages/core/src/lib/sign-in-experience.test.ts @@ -1,4 +1,4 @@ -import { LanguageTag } from '@logto/language-kit'; +import type { LanguageTag } from '@logto/language-kit'; import { builtInLanguages } from '@logto/phrases-ui'; import { BrandingStyle, SignInMethodState, ConnectorType } from '@logto/schemas'; diff --git a/packages/core/src/lib/sign-in-experience.ts b/packages/core/src/lib/sign-in-experience.ts index 321c15122..575c323d0 100644 --- a/packages/core/src/lib/sign-in-experience.ts +++ b/packages/core/src/lib/sign-in-experience.ts @@ -1,15 +1,10 @@ import { builtInLanguages } from '@logto/phrases-ui'; -import { - Branding, - BrandingStyle, - LanguageInfo, - SignInMethods, - SignInMethodState, - TermsOfUse, -} from '@logto/schemas'; -import { Optional } from '@silverhand/essentials'; +import type { Branding, LanguageInfo, SignInMethods, TermsOfUse } from '@logto/schemas'; +import { BrandingStyle, SignInMethodState } from '@logto/schemas'; +import type { Optional } from '@silverhand/essentials'; -import { ConnectorType, LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; +import { ConnectorType } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import { findAllCustomLanguageTags } from '@/queries/custom-phrase'; import assertThat from '@/utils/assert-that'; diff --git a/packages/core/src/lib/social.ts b/packages/core/src/lib/social.ts index ed96812f6..cbbca6a9f 100644 --- a/packages/core/src/lib/social.ts +++ b/packages/core/src/lib/social.ts @@ -1,10 +1,12 @@ -import { ConnectorType, User } from '@logto/schemas'; -import { Nullable } from '@silverhand/essentials'; -import { InteractionResults } from 'oidc-provider'; +import type { User } from '@logto/schemas'; +import { ConnectorType } from '@logto/schemas'; +import type { Nullable } from '@silverhand/essentials'; +import type { InteractionResults } from 'oidc-provider'; import { z } from 'zod'; import { getLogtoConnectorById } from '@/connectors'; -import { SocialUserInfo, socialUserInfoGuard } from '@/connectors/types'; +import type { SocialUserInfo } from '@/connectors/types'; +import { socialUserInfoGuard } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import { findUserByEmail, diff --git a/packages/core/src/lib/user.ts b/packages/core/src/lib/user.ts index 20004f744..41250c2cb 100644 --- a/packages/core/src/lib/user.ts +++ b/packages/core/src/lib/user.ts @@ -1,4 +1,5 @@ -import { User, CreateUser, Users, UsersPasswordEncryptionMethod } from '@logto/schemas'; +import type { User, CreateUser } from '@logto/schemas'; +import { Users, UsersPasswordEncryptionMethod } from '@logto/schemas'; import { buildIdGenerator } from '@logto/shared'; import { argon2Verify } from 'hash-wasm'; import pRetry from 'p-retry'; diff --git a/packages/core/src/middleware/koa-auth.test.ts b/packages/core/src/middleware/koa-auth.test.ts index 3e3ec6e48..b473f46df 100644 --- a/packages/core/src/middleware/koa-auth.test.ts +++ b/packages/core/src/middleware/koa-auth.test.ts @@ -1,13 +1,14 @@ import { UserRole } from '@logto/schemas'; import { jwtVerify } from 'jose'; -import { Context } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { Context } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import envSet from '@/env-set'; import RequestError from '@/errors/RequestError'; import { createContextWithRouteParameters } from '@/utils/test-utils'; -import koaAuth, { WithAuthContext } from './koa-auth'; +import type { WithAuthContext } from './koa-auth'; +import koaAuth from './koa-auth'; jest.mock('jose', () => ({ jwtVerify: jest.fn(() => ({ payload: { sub: 'fooUser', role_names: ['admin'] } })), diff --git a/packages/core/src/middleware/koa-auth.ts b/packages/core/src/middleware/koa-auth.ts index 48342fadf..eda71e3bb 100644 --- a/packages/core/src/middleware/koa-auth.ts +++ b/packages/core/src/middleware/koa-auth.ts @@ -1,11 +1,11 @@ -import { IncomingHttpHeaders } from 'http'; +import type { IncomingHttpHeaders } from 'http'; import { UserRole } from '@logto/schemas'; import { managementResource } from '@logto/schemas/lib/seeds'; import { conditional } from '@silverhand/essentials'; import { jwtVerify } from 'jose'; -import { MiddlewareType, Request } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { MiddlewareType, Request } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import envSet from '@/env-set'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-check-demo-app.ts b/packages/core/src/middleware/koa-check-demo-app.ts index 2b93573a5..d407d6c15 100644 --- a/packages/core/src/middleware/koa-check-demo-app.ts +++ b/packages/core/src/middleware/koa-check-demo-app.ts @@ -1,5 +1,5 @@ import { demoAppApplicationId } from '@logto/schemas/lib/seeds'; -import { MiddlewareType } from 'koa'; +import type { MiddlewareType } from 'koa'; import { findApplicationById } from '@/queries/application'; diff --git a/packages/core/src/middleware/koa-connector-error-handler.ts b/packages/core/src/middleware/koa-connector-error-handler.ts index 355524634..2bcaa715d 100644 --- a/packages/core/src/middleware/koa-connector-error-handler.ts +++ b/packages/core/src/middleware/koa-connector-error-handler.ts @@ -1,6 +1,6 @@ import { ConnectorError, ConnectorErrorCodes } from '@logto/connector-kit'; import { conditional } from '@silverhand/essentials'; -import { Middleware } from 'koa'; +import type { Middleware } from 'koa'; import { z } from 'zod'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-error-handler.ts b/packages/core/src/middleware/koa-error-handler.ts index 7623674ac..19f9f78b8 100644 --- a/packages/core/src/middleware/koa-error-handler.ts +++ b/packages/core/src/middleware/koa-error-handler.ts @@ -1,5 +1,6 @@ -import { RequestErrorBody } from '@logto/schemas'; -import { HttpError, Middleware } from 'koa'; +import type { RequestErrorBody } from '@logto/schemas'; +import type { Middleware } from 'koa'; +import { HttpError } from 'koa'; import envSet from '@/env-set'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-guard.ts b/packages/core/src/middleware/koa-guard.ts index 2b319480a..af8efe14a 100644 --- a/packages/core/src/middleware/koa-guard.ts +++ b/packages/core/src/middleware/koa-guard.ts @@ -1,8 +1,9 @@ -import { has, Optional } from '@silverhand/essentials'; -import { MiddlewareType } from 'koa'; +import type { Optional } from '@silverhand/essentials'; +import { has } from '@silverhand/essentials'; +import type { MiddlewareType } from 'koa'; import koaBody from 'koa-body'; -import { IMiddleware, IRouterParamContext } from 'koa-router'; -import { ZodType } from 'zod'; +import type { IMiddleware, IRouterParamContext } from 'koa-router'; +import type { ZodType } from 'zod'; import envSet from '@/env-set'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-i18next.ts b/packages/core/src/middleware/koa-i18next.ts index 025c2f035..304f83b8b 100644 --- a/packages/core/src/middleware/koa-i18next.ts +++ b/packages/core/src/middleware/koa-i18next.ts @@ -1,6 +1,6 @@ import i18next from 'i18next'; -import { MiddlewareType } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { MiddlewareType } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import detectLanguage from '@/i18n/detect-language'; diff --git a/packages/core/src/middleware/koa-log-session.test.ts b/packages/core/src/middleware/koa-log-session.test.ts index 8ebb2fc5d..c652222b8 100644 --- a/packages/core/src/middleware/koa-log-session.test.ts +++ b/packages/core/src/middleware/koa-log-session.test.ts @@ -1,6 +1,6 @@ import { Provider } from 'oidc-provider'; -import { WithLogContext } from '@/middleware/koa-log'; +import type { WithLogContext } from '@/middleware/koa-log'; import koaLogSession from '@/middleware/koa-log-session'; import { createContextWithRouteParameters } from '@/utils/test-utils'; diff --git a/packages/core/src/middleware/koa-log-session.ts b/packages/core/src/middleware/koa-log-session.ts index 0bc931c91..c65ac48cd 100644 --- a/packages/core/src/middleware/koa-log-session.ts +++ b/packages/core/src/middleware/koa-log-session.ts @@ -1,7 +1,7 @@ -import { MiddlewareType } from 'koa'; -import { Provider } from 'oidc-provider'; +import type { MiddlewareType } from 'koa'; +import type { Provider } from 'oidc-provider'; -import { WithLogContext } from '@/middleware/koa-log'; +import type { WithLogContext } from '@/middleware/koa-log'; export default function koaLogSession( provider: Provider diff --git a/packages/core/src/middleware/koa-log.test.ts b/packages/core/src/middleware/koa-log.test.ts index 181593f44..d596d4d87 100644 --- a/packages/core/src/middleware/koa-log.test.ts +++ b/packages/core/src/middleware/koa-log.test.ts @@ -1,11 +1,13 @@ -import { LogPayload, LogResult } from '@logto/schemas'; +import type { LogPayload } from '@logto/schemas'; +import { LogResult } from '@logto/schemas'; import i18next from 'i18next'; import RequestError from '@/errors/RequestError'; import { insertLog } from '@/queries/log'; import { createContextWithRouteParameters } from '@/utils/test-utils'; -import koaLog, { WithLogContext } from './koa-log'; +import type { WithLogContext } from './koa-log'; +import koaLog from './koa-log'; const nanoIdMock = 'mockId'; diff --git a/packages/core/src/middleware/koa-log.ts b/packages/core/src/middleware/koa-log.ts index 59d8e0232..e5c88ef9d 100644 --- a/packages/core/src/middleware/koa-log.ts +++ b/packages/core/src/middleware/koa-log.ts @@ -1,7 +1,8 @@ -import { BaseLogPayload, LogPayload, LogPayloads, LogResult, LogType } from '@logto/schemas'; +import type { BaseLogPayload, LogPayload, LogPayloads, LogType } from '@logto/schemas'; +import { LogResult } from '@logto/schemas'; import deepmerge from 'deepmerge'; -import { MiddlewareType } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { MiddlewareType } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import pick from 'lodash.pick'; import { nanoid } from 'nanoid'; diff --git a/packages/core/src/middleware/koa-oidc-error-handler.ts b/packages/core/src/middleware/koa-oidc-error-handler.ts index f3a4b5766..9d3859d2a 100644 --- a/packages/core/src/middleware/koa-oidc-error-handler.ts +++ b/packages/core/src/middleware/koa-oidc-error-handler.ts @@ -1,6 +1,6 @@ -import { LogtoErrorCode } from '@logto/phrases'; +import type { LogtoErrorCode } from '@logto/phrases'; import decamelize from 'decamelize'; -import { Middleware } from 'koa'; +import type { Middleware } from 'koa'; import { errors } from 'oidc-provider'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-pagination.test.ts b/packages/core/src/middleware/koa-pagination.test.ts index 3bf55ae87..d4f931f5f 100644 --- a/packages/core/src/middleware/koa-pagination.test.ts +++ b/packages/core/src/middleware/koa-pagination.test.ts @@ -1,7 +1,8 @@ import { createMockContext } from '@shopify/jest-koa-mocks'; -import { Context } from 'koa'; +import type { Context } from 'koa'; -import koaPagination, { WithPaginationContext } from './koa-pagination'; +import type { WithPaginationContext } from './koa-pagination'; +import koaPagination from './koa-pagination'; const next = jest.fn(); const setHeader = jest.fn(); diff --git a/packages/core/src/middleware/koa-pagination.ts b/packages/core/src/middleware/koa-pagination.ts index 552f5277c..0a2878072 100644 --- a/packages/core/src/middleware/koa-pagination.ts +++ b/packages/core/src/middleware/koa-pagination.ts @@ -1,5 +1,5 @@ -import { MiddlewareType } from 'koa'; -import { IMiddleware } from 'koa-router'; +import type { MiddlewareType } from 'koa'; +import type { IMiddleware } from 'koa-router'; import { number } from 'zod'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-root-proxy.ts b/packages/core/src/middleware/koa-root-proxy.ts index 508fe8f77..2034722b2 100644 --- a/packages/core/src/middleware/koa-root-proxy.ts +++ b/packages/core/src/middleware/koa-root-proxy.ts @@ -1,5 +1,5 @@ -import { MiddlewareType } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { MiddlewareType } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import envSet from '@/env-set'; import { appendPath } from '@/utils/url'; diff --git a/packages/core/src/middleware/koa-serve-static.ts b/packages/core/src/middleware/koa-serve-static.ts index 973add6d1..62b4ddf67 100644 --- a/packages/core/src/middleware/koa-serve-static.ts +++ b/packages/core/src/middleware/koa-serve-static.ts @@ -3,7 +3,7 @@ import path from 'path'; import buildDebug from 'debug'; -import { MiddlewareType } from 'koa'; +import type { MiddlewareType } from 'koa'; import send from 'koa-send'; import assertThat from '@/utils/assert-that'; diff --git a/packages/core/src/middleware/koa-slonik-error-handler.ts b/packages/core/src/middleware/koa-slonik-error-handler.ts index 2b516aac1..961f6901c 100644 --- a/packages/core/src/middleware/koa-slonik-error-handler.ts +++ b/packages/core/src/middleware/koa-slonik-error-handler.ts @@ -19,8 +19,8 @@ * (reference)[https://github.com/gajus/slonik#error-handling] */ -import { SchemaLike } from '@logto/schemas'; -import { Middleware } from 'koa'; +import type { SchemaLike } from '@logto/schemas'; +import type { Middleware } from 'koa'; import { SlonikError, NotFoundError } from 'slonik'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/middleware/koa-spa-proxy.ts b/packages/core/src/middleware/koa-spa-proxy.ts index 7fda0f514..4eb3e4f97 100644 --- a/packages/core/src/middleware/koa-spa-proxy.ts +++ b/packages/core/src/middleware/koa-spa-proxy.ts @@ -1,9 +1,9 @@ import fs from 'fs/promises'; import path from 'path'; -import { MiddlewareType } from 'koa'; +import type { MiddlewareType } from 'koa'; import proxy from 'koa-proxies'; -import { IRouterParamContext } from 'koa-router'; +import type { IRouterParamContext } from 'koa-router'; import envSet, { MountedApps } from '@/env-set'; import serveStatic from '@/middleware/koa-serve-static'; diff --git a/packages/core/src/middleware/koa-spa-session-guard.ts b/packages/core/src/middleware/koa-spa-session-guard.ts index 885a0c7e2..dbe66c796 100644 --- a/packages/core/src/middleware/koa-spa-session-guard.ts +++ b/packages/core/src/middleware/koa-spa-session-guard.ts @@ -1,6 +1,6 @@ -import { MiddlewareType } from 'koa'; -import { IRouterParamContext } from 'koa-router'; -import { Provider } from 'oidc-provider'; +import type { MiddlewareType } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; +import type { Provider } from 'oidc-provider'; import envSet from '@/env-set'; import { appendPath } from '@/utils/url'; diff --git a/packages/core/src/middleware/koa-welcome-proxy.ts b/packages/core/src/middleware/koa-welcome-proxy.ts index 98b425524..751535e5e 100644 --- a/packages/core/src/middleware/koa-welcome-proxy.ts +++ b/packages/core/src/middleware/koa-welcome-proxy.ts @@ -1,5 +1,5 @@ -import { MiddlewareType } from 'koa'; -import { IRouterParamContext } from 'koa-router'; +import type { MiddlewareType } from 'koa'; +import type { IRouterParamContext } from 'koa-router'; import envSet from '@/env-set'; import { hasActiveUsers } from '@/queries/user'; diff --git a/packages/core/src/oidc/adapter.test.ts b/packages/core/src/oidc/adapter.test.ts index abbacf073..7cb9c54c4 100644 --- a/packages/core/src/oidc/adapter.test.ts +++ b/packages/core/src/oidc/adapter.test.ts @@ -1,4 +1,4 @@ -import { Application } from '@logto/schemas'; +import type { Application } from '@logto/schemas'; import snakecaseKeys from 'snakecase-keys'; import { mockApplication } from '@/__mocks__'; diff --git a/packages/core/src/oidc/adapter.ts b/packages/core/src/oidc/adapter.ts index b1467e7d7..5c8426268 100644 --- a/packages/core/src/oidc/adapter.ts +++ b/packages/core/src/oidc/adapter.ts @@ -1,7 +1,8 @@ -import { ApplicationType, CreateApplication, OidcClientMetadata } from '@logto/schemas'; +import type { CreateApplication, OidcClientMetadata } from '@logto/schemas'; +import { ApplicationType } from '@logto/schemas'; import { adminConsoleApplicationId, demoAppApplicationId } from '@logto/schemas/lib/seeds'; import dayjs from 'dayjs'; -import { AdapterFactory, AllClientMetadata } from 'oidc-provider'; +import type { AdapterFactory, AllClientMetadata } from 'oidc-provider'; import snakecaseKeys from 'snakecase-keys'; import envSet, { MountedApps } from '@/env-set'; diff --git a/packages/core/src/oidc/init.ts b/packages/core/src/oidc/init.ts index bffe97902..57d418cdc 100644 --- a/packages/core/src/oidc/init.ts +++ b/packages/core/src/oidc/init.ts @@ -4,7 +4,7 @@ import { readFileSync } from 'fs'; import { userClaims } from '@logto/core-kit'; import { CustomClientMetadataKey } from '@logto/schemas'; -import Koa from 'koa'; +import type Koa from 'koa'; import mount from 'koa-mount'; import { Provider, errors } from 'oidc-provider'; import snakecaseKeys from 'snakecase-keys'; diff --git a/packages/core/src/oidc/scope.ts b/packages/core/src/oidc/scope.ts index fcccfc3a4..bb30565cb 100644 --- a/packages/core/src/oidc/scope.ts +++ b/packages/core/src/oidc/scope.ts @@ -1,7 +1,8 @@ -import { idTokenClaims, UserClaim, userinfoClaims, UserScope } from '@logto/core-kit'; -import { User } from '@logto/schemas'; -import { Nullable } from '@silverhand/essentials'; -import { ClaimsParameterMember } from 'oidc-provider'; +import type { UserClaim } from '@logto/core-kit'; +import { idTokenClaims, userinfoClaims, UserScope } from '@logto/core-kit'; +import type { User } from '@logto/schemas'; +import type { Nullable } from '@silverhand/essentials'; +import type { ClaimsParameterMember } from 'oidc-provider'; export const claimToUserKey: Readonly> = Object.freeze({ name: 'name', diff --git a/packages/core/src/oidc/utils.ts b/packages/core/src/oidc/utils.ts index c15a48fb3..5325099bf 100644 --- a/packages/core/src/oidc/utils.ts +++ b/packages/core/src/oidc/utils.ts @@ -1,12 +1,8 @@ -import { - ApplicationType, - CustomClientMetadata, - customClientMetadataGuard, - GrantType, - OidcClientMetadata, -} from '@logto/schemas'; +import type { CustomClientMetadata, OidcClientMetadata } from '@logto/schemas'; +import { ApplicationType, customClientMetadataGuard, GrantType } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; -import { AllClientMetadata, ClientAuthMethod, errors } from 'oidc-provider'; +import type { AllClientMetadata, ClientAuthMethod } from 'oidc-provider'; +import { errors } from 'oidc-provider'; export const getConstantClientMetadata = ( type: ApplicationType diff --git a/packages/core/src/queries/application.test.ts b/packages/core/src/queries/application.test.ts index e798f919e..e9c7baf78 100644 --- a/packages/core/src/queries/application.test.ts +++ b/packages/core/src/queries/application.test.ts @@ -6,7 +6,8 @@ import { snakeCase } from 'snake-case'; import { mockApplication } from '@/__mocks__'; import envSet from '@/env-set'; import { DeletionError } from '@/errors/SlonikError'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findTotalNumberOfApplications, diff --git a/packages/core/src/queries/application.ts b/packages/core/src/queries/application.ts index df9edae4f..afeb353f6 100644 --- a/packages/core/src/queries/application.ts +++ b/packages/core/src/queries/application.ts @@ -1,5 +1,7 @@ -import { Application, CreateApplication, Applications } from '@logto/schemas'; -import { convertToIdentifiers, OmitAutoSetFields, conditionalSql, manyRows } from '@logto/shared'; +import type { Application, CreateApplication } from '@logto/schemas'; +import { Applications } from '@logto/schemas'; +import type { OmitAutoSetFields } from '@logto/shared'; +import { convertToIdentifiers, conditionalSql, manyRows } from '@logto/shared'; import { sql } from 'slonik'; import { buildFindEntityById } from '@/database/find-entity-by-id'; diff --git a/packages/core/src/queries/connector.test.ts b/packages/core/src/queries/connector.test.ts index 549607847..bee581128 100644 --- a/packages/core/src/queries/connector.test.ts +++ b/packages/core/src/queries/connector.test.ts @@ -4,7 +4,8 @@ import { createMockPool, createMockQueryResult, sql } from 'slonik'; import { mockConnector } from '@/__mocks__'; import envSet from '@/env-set'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findAllConnectors, insertConnector, updateConnector } from './connector'; diff --git a/packages/core/src/queries/connector.ts b/packages/core/src/queries/connector.ts index f2e2bb04a..7cd81895b 100644 --- a/packages/core/src/queries/connector.ts +++ b/packages/core/src/queries/connector.ts @@ -1,4 +1,5 @@ -import { Connector, CreateConnector, Connectors } from '@logto/schemas'; +import type { Connector, CreateConnector } from '@logto/schemas'; +import { Connectors } from '@logto/schemas'; import { convertToIdentifiers, manyRows } from '@logto/shared'; import { sql } from 'slonik'; diff --git a/packages/core/src/queries/custom-phrase.ts b/packages/core/src/queries/custom-phrase.ts index 956db17a8..947e78758 100644 --- a/packages/core/src/queries/custom-phrase.ts +++ b/packages/core/src/queries/custom-phrase.ts @@ -1,4 +1,5 @@ -import { CreateCustomPhrase, CustomPhrase, CustomPhrases } from '@logto/schemas'; +import type { CreateCustomPhrase, CustomPhrase } from '@logto/schemas'; +import { CustomPhrases } from '@logto/schemas'; import { convertToIdentifiers, manyRows } from '@logto/shared'; import { sql } from 'slonik'; diff --git a/packages/core/src/queries/log.ts b/packages/core/src/queries/log.ts index 7d71247fa..9a4a3fc25 100644 --- a/packages/core/src/queries/log.ts +++ b/packages/core/src/queries/log.ts @@ -1,4 +1,5 @@ -import { CreateLog, Log, Logs, LogType } from '@logto/schemas'; +import type { CreateLog, Log, LogType } from '@logto/schemas'; +import { Logs } from '@logto/schemas'; import { conditionalSql, convertToIdentifiers } from '@logto/shared'; import { sql } from 'slonik'; diff --git a/packages/core/src/queries/oidc-model-instance.test.ts b/packages/core/src/queries/oidc-model-instance.test.ts index ed8b3347d..499f9ff85 100644 --- a/packages/core/src/queries/oidc-model-instance.test.ts +++ b/packages/core/src/queries/oidc-model-instance.test.ts @@ -1,9 +1,11 @@ -import { OidcModelInstances, CreateOidcModelInstance } from '@logto/schemas'; +import type { CreateOidcModelInstance } from '@logto/schemas'; +import { OidcModelInstances } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import { createMockPool, createMockQueryResult, sql } from 'slonik'; import envSet from '@/env-set'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { upsertInstance, diff --git a/packages/core/src/queries/oidc-model-instance.ts b/packages/core/src/queries/oidc-model-instance.ts index 91c35e591..fccbe0058 100644 --- a/packages/core/src/queries/oidc-model-instance.ts +++ b/packages/core/src/queries/oidc-model-instance.ts @@ -1,13 +1,15 @@ -import { +import type { OidcModelInstance, CreateOidcModelInstance, OidcModelInstancePayload, - OidcModelInstances, } from '@logto/schemas'; +import { OidcModelInstances } from '@logto/schemas'; import { convertToIdentifiers, convertToTimestamp } from '@logto/shared'; -import { conditional, Nullable } from '@silverhand/essentials'; +import type { Nullable } from '@silverhand/essentials'; +import { conditional } from '@silverhand/essentials'; import dayjs from 'dayjs'; -import { sql, ValueExpression } from 'slonik'; +import type { ValueExpression } from 'slonik'; +import { sql } from 'slonik'; import { buildInsertInto } from '@/database/insert-into'; import envSet from '@/env-set'; diff --git a/packages/core/src/queries/passcode.test.ts b/packages/core/src/queries/passcode.test.ts index 0c7804e83..4b833a5b9 100644 --- a/packages/core/src/queries/passcode.test.ts +++ b/packages/core/src/queries/passcode.test.ts @@ -6,7 +6,8 @@ import { snakeCase } from 'snake-case'; import { mockPasscode } from '@/__mocks__'; import envSet from '@/env-set'; import { DeletionError } from '@/errors/SlonikError'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findUnconsumedPasscodeByJtiAndType, diff --git a/packages/core/src/queries/passcode.ts b/packages/core/src/queries/passcode.ts index 701de315c..eda2b5d4b 100644 --- a/packages/core/src/queries/passcode.ts +++ b/packages/core/src/queries/passcode.ts @@ -1,4 +1,5 @@ -import { PasscodeType, Passcode, Passcodes, CreatePasscode } from '@logto/schemas'; +import type { PasscodeType, Passcode, CreatePasscode } from '@logto/schemas'; +import { Passcodes } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import { sql } from 'slonik'; diff --git a/packages/core/src/queries/resource.test.ts b/packages/core/src/queries/resource.test.ts index 626f46f6d..2db43da2c 100644 --- a/packages/core/src/queries/resource.test.ts +++ b/packages/core/src/queries/resource.test.ts @@ -5,7 +5,8 @@ import { createMockPool, createMockQueryResult, sql } from 'slonik'; import { mockResource } from '@/__mocks__'; import envSet from '@/env-set'; import { DeletionError } from '@/errors/SlonikError'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findTotalNumberOfResources, diff --git a/packages/core/src/queries/resource.ts b/packages/core/src/queries/resource.ts index 9e0ca09a6..e4ec927f2 100644 --- a/packages/core/src/queries/resource.ts +++ b/packages/core/src/queries/resource.ts @@ -1,5 +1,7 @@ -import { Resource, CreateResource, Resources } from '@logto/schemas'; -import { convertToIdentifiers, OmitAutoSetFields, conditionalSql, manyRows } from '@logto/shared'; +import type { Resource, CreateResource } from '@logto/schemas'; +import { Resources } from '@logto/schemas'; +import type { OmitAutoSetFields } from '@logto/shared'; +import { convertToIdentifiers, conditionalSql, manyRows } from '@logto/shared'; import { sql } from 'slonik'; import { buildFindEntityById } from '@/database/find-entity-by-id'; diff --git a/packages/core/src/queries/roles.test.ts b/packages/core/src/queries/roles.test.ts index 670565bae..0351c9025 100644 --- a/packages/core/src/queries/roles.test.ts +++ b/packages/core/src/queries/roles.test.ts @@ -4,7 +4,8 @@ import { createMockPool, createMockQueryResult, sql } from 'slonik'; import { mockRole } from '@/__mocks__'; import envSet from '@/env-set'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findAllRoles, findRolesByRoleNames } from './roles'; diff --git a/packages/core/src/queries/roles.ts b/packages/core/src/queries/roles.ts index af0de4fe9..bb62ca601 100644 --- a/packages/core/src/queries/roles.ts +++ b/packages/core/src/queries/roles.ts @@ -1,4 +1,5 @@ -import { Roles, Role } from '@logto/schemas'; +import type { Role } from '@logto/schemas'; +import { Roles } from '@logto/schemas'; import { convertToIdentifiers } from '@logto/shared'; import { sql } from 'slonik'; diff --git a/packages/core/src/queries/setting.test.ts b/packages/core/src/queries/setting.test.ts index 3f77ba58e..1748aeaa4 100644 --- a/packages/core/src/queries/setting.test.ts +++ b/packages/core/src/queries/setting.test.ts @@ -4,7 +4,8 @@ import { createMockPool, createMockQueryResult, sql } from 'slonik'; import { mockSetting } from '@/__mocks__'; import envSet from '@/env-set'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { defaultSettingId, getSetting, updateSetting } from './setting'; diff --git a/packages/core/src/queries/setting.ts b/packages/core/src/queries/setting.ts index 24c7610f5..a7e263a43 100644 --- a/packages/core/src/queries/setting.ts +++ b/packages/core/src/queries/setting.ts @@ -1,5 +1,6 @@ -import { Setting, CreateSetting, Settings } from '@logto/schemas'; -import { OmitAutoSetFields } from '@logto/shared'; +import type { Setting, CreateSetting } from '@logto/schemas'; +import { Settings } from '@logto/schemas'; +import type { OmitAutoSetFields } from '@logto/shared'; import { buildFindEntityById } from '@/database/find-entity-by-id'; import { buildUpdateWhere } from '@/database/update-where'; diff --git a/packages/core/src/queries/sign-in-experience.test.ts b/packages/core/src/queries/sign-in-experience.test.ts index 5573c704c..d44aaf474 100644 --- a/packages/core/src/queries/sign-in-experience.test.ts +++ b/packages/core/src/queries/sign-in-experience.test.ts @@ -2,7 +2,8 @@ import { createMockPool, createMockQueryResult } from 'slonik'; import { mockSignInExperience } from '@/__mocks__'; import envSet from '@/env-set'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findDefaultSignInExperience, updateDefaultSignInExperience } from './sign-in-experience'; diff --git a/packages/core/src/queries/sign-in-experience.ts b/packages/core/src/queries/sign-in-experience.ts index 6650fd7dd..7029d5a6d 100644 --- a/packages/core/src/queries/sign-in-experience.ts +++ b/packages/core/src/queries/sign-in-experience.ts @@ -1,4 +1,5 @@ -import { SignInExperience, CreateSignInExperience, SignInExperiences } from '@logto/schemas'; +import type { SignInExperience, CreateSignInExperience } from '@logto/schemas'; +import { SignInExperiences } from '@logto/schemas'; import { buildFindEntityById } from '@/database/find-entity-by-id'; import { buildUpdateWhere } from '@/database/update-where'; diff --git a/packages/core/src/queries/user.test.ts b/packages/core/src/queries/user.test.ts index d3473c052..22dbb24fd 100644 --- a/packages/core/src/queries/user.test.ts +++ b/packages/core/src/queries/user.test.ts @@ -5,7 +5,8 @@ import { createMockPool, createMockQueryResult, sql } from 'slonik'; import { mockUser } from '@/__mocks__'; import envSet from '@/env-set'; import { DeletionError } from '@/errors/SlonikError'; -import { expectSqlAssert, QueryType } from '@/utils/test-utils'; +import type { QueryType } from '@/utils/test-utils'; +import { expectSqlAssert } from '@/utils/test-utils'; import { findUserByUsername, diff --git a/packages/core/src/queries/user.ts b/packages/core/src/queries/user.ts index 70c3395b2..67b1bb8d2 100644 --- a/packages/core/src/queries/user.ts +++ b/packages/core/src/queries/user.ts @@ -1,5 +1,7 @@ -import { User, CreateUser, Users, UserRole } from '@logto/schemas'; -import { conditionalSql, convertToIdentifiers, OmitAutoSetFields } from '@logto/shared'; +import type { User, CreateUser } from '@logto/schemas'; +import { Users, UserRole } from '@logto/schemas'; +import type { OmitAutoSetFields } from '@logto/shared'; +import { conditionalSql, convertToIdentifiers } from '@logto/shared'; import { sql } from 'slonik'; import { buildUpdateWhere } from '@/database/update-where'; diff --git a/packages/core/src/routes/admin-user.test.ts b/packages/core/src/routes/admin-user.test.ts index fa9f1d88d..11b48627f 100644 --- a/packages/core/src/routes/admin-user.test.ts +++ b/packages/core/src/routes/admin-user.test.ts @@ -1,4 +1,5 @@ -import { CreateUser, Role, User, userInfoSelectFields } from '@logto/schemas'; +import type { CreateUser, Role, User } from '@logto/schemas'; +import { userInfoSelectFields } from '@logto/schemas'; import pick from 'lodash.pick'; import { mockUser, mockUserList, mockUserListResponse, mockUserResponse } from '@/__mocks__'; diff --git a/packages/core/src/routes/admin-user.ts b/packages/core/src/routes/admin-user.ts index 8961a6286..c62653a69 100644 --- a/packages/core/src/routes/admin-user.ts +++ b/packages/core/src/routes/admin-user.ts @@ -20,7 +20,7 @@ import { } from '@/queries/user'; import assertThat from '@/utils/assert-that'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; export default function adminUserRoutes(router: T) { router.get( diff --git a/packages/core/src/routes/application.test.ts b/packages/core/src/routes/application.test.ts index 55d758be1..73b0cad3c 100644 --- a/packages/core/src/routes/application.test.ts +++ b/packages/core/src/routes/application.test.ts @@ -1,4 +1,5 @@ -import { Application, CreateApplication, ApplicationType } from '@logto/schemas'; +import type { Application, CreateApplication } from '@logto/schemas'; +import { ApplicationType } from '@logto/schemas'; import { mockApplication } from '@/__mocks__'; import { findApplicationById } from '@/queries/application'; diff --git a/packages/core/src/routes/application.ts b/packages/core/src/routes/application.ts index e834e9698..0cac1fcc4 100644 --- a/packages/core/src/routes/application.ts +++ b/packages/core/src/routes/application.ts @@ -14,7 +14,7 @@ import { findTotalNumberOfApplications, } from '@/queries/application'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; const applicationId = buildIdGenerator(21); diff --git a/packages/core/src/routes/authn.ts b/packages/core/src/routes/authn.ts index c76c9ed03..d6a99b439 100644 --- a/packages/core/src/routes/authn.ts +++ b/packages/core/src/routes/authn.ts @@ -5,7 +5,7 @@ import { verifyBearerTokenFromRequest } from '@/middleware/koa-auth'; import koaGuard from '@/middleware/koa-guard'; import assertThat from '@/utils/assert-that'; -import { AnonymousRouter } from './types'; +import type { AnonymousRouter } from './types'; /** * Authn stands for authentication. diff --git a/packages/core/src/routes/connector.test.ts b/packages/core/src/routes/connector.test.ts index 61f4d6af6..019e9b64f 100644 --- a/packages/core/src/routes/connector.test.ts +++ b/packages/core/src/routes/connector.test.ts @@ -1,10 +1,11 @@ -import { EmailConnector, MessageTypes, SmsConnector } from '@logto/connector-kit'; +import type { EmailConnector, SmsConnector } from '@logto/connector-kit'; +import { MessageTypes } from '@logto/connector-kit'; import { ConnectorType } from '@logto/schemas'; import { any } from 'zod'; import { mockMetadata, mockConnector, mockLogtoConnectorList } from '@/__mocks__'; import { defaultConnectorMethods } from '@/connectors/consts'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import assertThat from '@/utils/assert-that'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/connector.ts b/packages/core/src/routes/connector.ts index 1c6b57a04..0663ed4f6 100644 --- a/packages/core/src/routes/connector.ts +++ b/packages/core/src/routes/connector.ts @@ -1,16 +1,17 @@ import { MessageTypes } from '@logto/connector-kit'; import { emailRegEx, phoneRegEx } from '@logto/core-kit'; -import { arbitraryObjectGuard, ConnectorResponse, Connectors, ConnectorType } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { arbitraryObjectGuard, Connectors, ConnectorType } from '@logto/schemas'; import { object, string } from 'zod'; import { getLogtoConnectorById, getLogtoConnectors } from '@/connectors'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import koaGuard from '@/middleware/koa-guard'; import { updateConnector } from '@/queries/connector'; import assertThat from '@/utils/assert-that'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; const transpileLogtoConnector = ({ dbEntry, diff --git a/packages/core/src/routes/connector.update.test.ts b/packages/core/src/routes/connector.update.test.ts index c7ed39fcd..2bd028b16 100644 --- a/packages/core/src/routes/connector.update.test.ts +++ b/packages/core/src/routes/connector.update.test.ts @@ -7,7 +7,7 @@ import { mockLogtoConnectorList, mockLogtoConnector, } from '@/__mocks__'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import { updateConnector } from '@/queries/connector'; import assertThat from '@/utils/assert-that'; diff --git a/packages/core/src/routes/custom-phrase.test.ts b/packages/core/src/routes/custom-phrase.test.ts index 35ecad9ac..e137ea7b1 100644 --- a/packages/core/src/routes/custom-phrase.test.ts +++ b/packages/core/src/routes/custom-phrase.test.ts @@ -1,5 +1,5 @@ import en from '@logto/phrases-ui/lib/locales/en'; -import { CustomPhrase, SignInExperience, Translation } from '@logto/schemas'; +import type { CustomPhrase, SignInExperience, Translation } from '@logto/schemas'; import { mockSignInExperience } from '@/__mocks__'; import { mockZhCnCustomPhrase, trTrTag, zhCnTag } from '@/__mocks__/custom-phrase'; diff --git a/packages/core/src/routes/custom-phrase.ts b/packages/core/src/routes/custom-phrase.ts index a852f5009..c32404d89 100644 --- a/packages/core/src/routes/custom-phrase.ts +++ b/packages/core/src/routes/custom-phrase.ts @@ -1,6 +1,7 @@ import { languageTagGuard } from '@logto/language-kit'; import resource from '@logto/phrases-ui'; -import { CustomPhrases, Translation, translationGuard } from '@logto/schemas'; +import type { Translation } from '@logto/schemas'; +import { CustomPhrases, translationGuard } from '@logto/schemas'; import cleanDeep from 'clean-deep'; import { object } from 'zod'; @@ -16,7 +17,7 @@ import { findDefaultSignInExperience } from '@/queries/sign-in-experience'; import assertThat from '@/utils/assert-that'; import { isValidStructure } from '@/utils/translation'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; const cleanDeepTranslation = (translation: Translation) => // Since `Translation` type actually equals `Partial`, force to cast it back to `Translation`. diff --git a/packages/core/src/routes/dashboard.ts b/packages/core/src/routes/dashboard.ts index 6f5417a4f..c708fb060 100644 --- a/packages/core/src/routes/dashboard.ts +++ b/packages/core/src/routes/dashboard.ts @@ -1,5 +1,6 @@ import { dateRegex } from '@logto/core-kit'; -import dayjs, { Dayjs } from 'dayjs'; +import type { Dayjs } from 'dayjs'; +import dayjs from 'dayjs'; import { object, string } from 'zod'; import koaGuard from '@/middleware/koa-guard'; @@ -9,7 +10,7 @@ import { } from '@/queries/log'; import { countUsers, getDailyNewUserCountsByTimeInterval } from '@/queries/user'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; const getDateString = (day: Dayjs) => day.format('YYYY-MM-DD'); diff --git a/packages/core/src/routes/init.ts b/packages/core/src/routes/init.ts index 0d4cd141d..22240e263 100644 --- a/packages/core/src/routes/init.ts +++ b/packages/core/src/routes/init.ts @@ -2,7 +2,7 @@ import { UserRole } from '@logto/schemas'; import Koa from 'koa'; import mount from 'koa-mount'; import Router from 'koa-router'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import koaAuth from '@/middleware/koa-auth'; import koaLogSession from '@/middleware/koa-log-session'; @@ -23,7 +23,7 @@ import statusRoutes from '@/routes/status'; import swaggerRoutes from '@/routes/swagger'; import wellKnownRoutes from '@/routes/well-known'; -import { AnonymousRouter, AuthedRouter } from './types'; +import type { AnonymousRouter, AuthedRouter } from './types'; const createRouters = (provider: Provider) => { const sessionRouter: AnonymousRouter = new Router(); diff --git a/packages/core/src/routes/log.test.ts b/packages/core/src/routes/log.test.ts index 9f28ce056..25c6e8d3d 100644 --- a/packages/core/src/routes/log.test.ts +++ b/packages/core/src/routes/log.test.ts @@ -1,4 +1,4 @@ -import { LogCondition } from '@/queries/log'; +import type { LogCondition } from '@/queries/log'; import logRoutes from '@/routes/log'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/log.ts b/packages/core/src/routes/log.ts index 3c1fca537..d30fd9297 100644 --- a/packages/core/src/routes/log.ts +++ b/packages/core/src/routes/log.ts @@ -5,7 +5,7 @@ import koaGuard from '@/middleware/koa-guard'; import koaPagination from '@/middleware/koa-pagination'; import { countLogs, findLogById, findLogs } from '@/queries/log'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; export default function logRoutes(router: T) { router.get( diff --git a/packages/core/src/routes/phrase.test.ts b/packages/core/src/routes/phrase.test.ts index 0e39b4e8c..faa884f0b 100644 --- a/packages/core/src/routes/phrase.test.ts +++ b/packages/core/src/routes/phrase.test.ts @@ -1,5 +1,5 @@ import zhCN from '@logto/phrases-ui/lib/locales/zh-cn'; -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { adminConsoleApplicationId, adminConsoleSignInExperience } from '@logto/schemas/lib/seeds'; import { Provider } from 'oidc-provider'; diff --git a/packages/core/src/routes/phrase.ts b/packages/core/src/routes/phrase.ts index 39fb3d5b6..fa9784a3f 100644 --- a/packages/core/src/routes/phrase.ts +++ b/packages/core/src/routes/phrase.ts @@ -1,13 +1,13 @@ import { isBuiltInLanguageTag } from '@logto/phrases-ui'; import { adminConsoleApplicationId, adminConsoleSignInExperience } from '@logto/schemas/lib/seeds'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import detectLanguage from '@/i18n/detect-language'; import { getPhrase } from '@/lib/phrase'; import { findAllCustomLanguageTags } from '@/queries/custom-phrase'; import { findDefaultSignInExperience } from '@/queries/sign-in-experience'; -import { AnonymousRouter } from './types'; +import type { AnonymousRouter } from './types'; const getLanguageInfo = async (applicationId: unknown) => { if (applicationId === adminConsoleApplicationId) { diff --git a/packages/core/src/routes/resource.test.ts b/packages/core/src/routes/resource.test.ts index bc7f40b24..e36546b94 100644 --- a/packages/core/src/routes/resource.test.ts +++ b/packages/core/src/routes/resource.test.ts @@ -1,4 +1,4 @@ -import { Resource, CreateResource } from '@logto/schemas'; +import type { Resource, CreateResource } from '@logto/schemas'; import { mockResource } from '@/__mocks__'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/resource.ts b/packages/core/src/routes/resource.ts index aab628836..aa36bbf4f 100644 --- a/packages/core/src/routes/resource.ts +++ b/packages/core/src/routes/resource.ts @@ -13,7 +13,7 @@ import { deleteResourceById, } from '@/queries/resource'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; const resourceId = buildIdGenerator(21); diff --git a/packages/core/src/routes/role.test.ts b/packages/core/src/routes/role.test.ts index cabeca569..9e9ff88fa 100644 --- a/packages/core/src/routes/role.test.ts +++ b/packages/core/src/routes/role.test.ts @@ -1,4 +1,4 @@ -import { Role } from '@logto/schemas'; +import type { Role } from '@logto/schemas'; import { mockRole } from '@/__mocks__'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/role.ts b/packages/core/src/routes/role.ts index 4342a70a8..f2e5905e8 100644 --- a/packages/core/src/routes/role.ts +++ b/packages/core/src/routes/role.ts @@ -1,6 +1,6 @@ import { findAllRoles } from '@/queries/roles'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; export default function roleRoutes(router: T) { router.get('/roles', async (ctx, next) => { diff --git a/packages/core/src/routes/session/forgot-password.test.ts b/packages/core/src/routes/session/forgot-password.test.ts index 83c2816c1..3182843c7 100644 --- a/packages/core/src/routes/session/forgot-password.test.ts +++ b/packages/core/src/routes/session/forgot-password.test.ts @@ -1,4 +1,5 @@ -import { PasscodeType, User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; +import { PasscodeType } from '@logto/schemas'; import dayjs from 'dayjs'; import { Provider } from 'oidc-provider'; diff --git a/packages/core/src/routes/session/forgot-password.ts b/packages/core/src/routes/session/forgot-password.ts index 7942bacf7..2e979d101 100644 --- a/packages/core/src/routes/session/forgot-password.ts +++ b/packages/core/src/routes/session/forgot-password.ts @@ -1,6 +1,6 @@ import { passwordRegEx } from '@logto/core-kit'; import { argon2Verify } from 'hash-wasm'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import { z } from 'zod'; import RequestError from '@/errors/RequestError'; @@ -9,7 +9,7 @@ import koaGuard from '@/middleware/koa-guard'; import { findUserById, updateUserById } from '@/queries/user'; import assertThat from '@/utils/assert-that'; -import { AnonymousRouter } from '../types'; +import type { AnonymousRouter } from '../types'; import { forgotPasswordSessionResultGuard } from './types'; import { clearVerificationResult, diff --git a/packages/core/src/routes/session/index.test.ts b/packages/core/src/routes/session/index.test.ts index 21509059d..0ab8896e3 100644 --- a/packages/core/src/routes/session/index.test.ts +++ b/packages/core/src/routes/session/index.test.ts @@ -1,4 +1,4 @@ -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; import { Provider } from 'oidc-provider'; diff --git a/packages/core/src/routes/session/index.ts b/packages/core/src/routes/session/index.ts index 54ddbc0b5..0c48b849a 100644 --- a/packages/core/src/routes/session/index.ts +++ b/packages/core/src/routes/session/index.ts @@ -1,10 +1,10 @@ import path from 'path'; -import { LogtoErrorCode } from '@logto/phrases'; +import type { LogtoErrorCode } from '@logto/phrases'; import { UserRole } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; import { conditional } from '@silverhand/essentials'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import { object, string } from 'zod'; import RequestError from '@/errors/RequestError'; @@ -12,7 +12,7 @@ import { assignInteractionResults, saveUserFirstConsentedAppId } from '@/lib/ses import { findUserById } from '@/queries/user'; import assertThat from '@/utils/assert-that'; -import { AnonymousRouter } from '../types'; +import type { AnonymousRouter } from '../types'; import forgotPasswordRoutes from './forgot-password'; import koaGuardSessionAction from './middleware/koa-guard-session-action'; import passwordlessRoutes from './passwordless'; diff --git a/packages/core/src/routes/session/middleware/koa-guard-session-action.ts b/packages/core/src/routes/session/middleware/koa-guard-session-action.ts index c37b4c8d1..6c5048fde 100644 --- a/packages/core/src/routes/session/middleware/koa-guard-session-action.ts +++ b/packages/core/src/routes/session/middleware/koa-guard-session-action.ts @@ -1,7 +1,8 @@ import { SignInMode } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; -import { MiddlewareType } from 'koa'; -import { Provider, errors } from 'oidc-provider'; +import type { MiddlewareType } from 'koa'; +import type { Provider } from 'oidc-provider'; +import { errors } from 'oidc-provider'; import RequestError from '@/errors/RequestError'; import { findDefaultSignInExperience } from '@/queries/sign-in-experience'; diff --git a/packages/core/src/routes/session/middleware/passwordless-action.ts b/packages/core/src/routes/session/middleware/passwordless-action.ts index bf54023d3..e4ba467f3 100644 --- a/packages/core/src/routes/session/middleware/passwordless-action.ts +++ b/packages/core/src/routes/session/middleware/passwordless-action.ts @@ -1,11 +1,11 @@ import { PasscodeType } from '@logto/schemas'; -import { MiddlewareType } from 'koa'; -import { Provider } from 'oidc-provider'; +import type { MiddlewareType } from 'koa'; +import type { Provider } from 'oidc-provider'; import RequestError from '@/errors/RequestError'; import { assignInteractionResults } from '@/lib/session'; import { generateUserId, insertUser } from '@/lib/user'; -import { WithLogContext } from '@/middleware/koa-log'; +import type { WithLogContext } from '@/middleware/koa-log'; import { hasUserWithPhone, hasUserWithEmail, diff --git a/packages/core/src/routes/session/passwordless.test.ts b/packages/core/src/routes/session/passwordless.test.ts index bb42252ca..b0c2688ef 100644 --- a/packages/core/src/routes/session/passwordless.test.ts +++ b/packages/core/src/routes/session/passwordless.test.ts @@ -1,5 +1,6 @@ /* eslint-disable max-lines */ -import { PasscodeType, User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; +import { PasscodeType } from '@logto/schemas'; import dayjs from 'dayjs'; import { Provider } from 'oidc-provider'; diff --git a/packages/core/src/routes/session/passwordless.ts b/packages/core/src/routes/session/passwordless.ts index b6778d60c..c038f560d 100644 --- a/packages/core/src/routes/session/passwordless.ts +++ b/packages/core/src/routes/session/passwordless.ts @@ -1,6 +1,6 @@ import { emailRegEx, phoneRegEx } from '@logto/core-kit'; import { PasscodeType } from '@logto/schemas'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import { object, string } from 'zod'; import RequestError from '@/errors/RequestError'; @@ -15,7 +15,7 @@ import { import { passcodeTypeGuard } from '@/routes/session/types'; import assertThat from '@/utils/assert-that'; -import { AnonymousRouter } from '../types'; +import type { AnonymousRouter } from '../types'; import { smsSignInAction, emailSignInAction, diff --git a/packages/core/src/routes/session/social.test.ts b/packages/core/src/routes/session/social.test.ts index 0724b771f..1751a53c7 100644 --- a/packages/core/src/routes/session/social.test.ts +++ b/packages/core/src/routes/session/social.test.ts @@ -1,5 +1,5 @@ import { ConnectorType } from '@logto/connector-kit'; -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { Provider } from 'oidc-provider'; import { mockLogtoConnectorList, mockUser } from '@/__mocks__'; diff --git a/packages/core/src/routes/session/social.ts b/packages/core/src/routes/session/social.ts index 4d6de7138..a7da77fb6 100644 --- a/packages/core/src/routes/session/social.ts +++ b/packages/core/src/routes/session/social.ts @@ -1,7 +1,7 @@ import { validateRedirectUrl } from '@logto/core-kit'; import { ConnectorType, userInfoSelectFields } from '@logto/schemas'; import pick from 'lodash.pick'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import { object, string, unknown } from 'zod'; import { getLogtoConnectorById } from '@/connectors'; @@ -23,7 +23,7 @@ import { import assertThat from '@/utils/assert-that'; import { maskUserInfo } from '@/utils/format'; -import { AnonymousRouter } from '../types'; +import type { AnonymousRouter } from '../types'; import { getRoutePrefix } from './utils'; export const registerRoute = getRoutePrefix('register', 'social'); diff --git a/packages/core/src/routes/session/username-password.test.ts b/packages/core/src/routes/session/username-password.test.ts index 4684c5eb2..71a8b9f84 100644 --- a/packages/core/src/routes/session/username-password.test.ts +++ b/packages/core/src/routes/session/username-password.test.ts @@ -1,4 +1,5 @@ -import { User, UserRole } from '@logto/schemas'; +import type { User } from '@logto/schemas'; +import { UserRole } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; import { Provider } from 'oidc-provider'; diff --git a/packages/core/src/routes/session/username-password.ts b/packages/core/src/routes/session/username-password.ts index 8fd6db9b3..41e6c7381 100644 --- a/packages/core/src/routes/session/username-password.ts +++ b/packages/core/src/routes/session/username-password.ts @@ -1,7 +1,7 @@ import { passwordRegEx, usernameRegEx } from '@logto/core-kit'; import { UserRole } from '@logto/schemas'; import { adminConsoleApplicationId } from '@logto/schemas/lib/seeds'; -import { Provider } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; import { object, string } from 'zod'; import RequestError from '@/errors/RequestError'; @@ -16,7 +16,7 @@ import koaGuard from '@/middleware/koa-guard'; import { hasUser, hasActiveUsers, updateUserById } from '@/queries/user'; import assertThat from '@/utils/assert-that'; -import { AnonymousRouter } from '../types'; +import type { AnonymousRouter } from '../types'; import { getRoutePrefix } from './utils'; export const registerRoute = getRoutePrefix('register', 'username-password'); diff --git a/packages/core/src/routes/session/utils.ts b/packages/core/src/routes/session/utils.ts index 371e3b91b..8f15038b5 100644 --- a/packages/core/src/routes/session/utils.ts +++ b/packages/core/src/routes/session/utils.ts @@ -1,15 +1,17 @@ -import { logTypeGuard, LogType, PasscodeType } from '@logto/schemas'; -import { Truthy } from '@silverhand/essentials'; +import type { LogType, PasscodeType } from '@logto/schemas'; +import { logTypeGuard } from '@logto/schemas'; +import type { Truthy } from '@silverhand/essentials'; import dayjs from 'dayjs'; -import { Context } from 'koa'; -import { Provider } from 'oidc-provider'; -import { z, ZodType } from 'zod'; +import type { Context } from 'koa'; +import type { Provider } from 'oidc-provider'; +import type { ZodType } from 'zod'; +import { z } from 'zod'; import RequestError from '@/errors/RequestError'; import assertThat from '@/utils/assert-that'; import { verificationTimeout } from './consts'; -import { Method, Operation, VerificationResult, VerificationStorage } from './types'; +import type { Method, Operation, VerificationResult, VerificationStorage } from './types'; export const getRoutePrefix = ( type: 'sign-in' | 'register' | 'forgot-password', diff --git a/packages/core/src/routes/setting.test.ts b/packages/core/src/routes/setting.test.ts index c44e1a507..5ca217534 100644 --- a/packages/core/src/routes/setting.test.ts +++ b/packages/core/src/routes/setting.test.ts @@ -1,4 +1,4 @@ -import { Setting, CreateSetting } from '@logto/schemas'; +import type { Setting, CreateSetting } from '@logto/schemas'; import { mockSetting } from '@/__mocks__'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/setting.ts b/packages/core/src/routes/setting.ts index b6a4aec3f..0b87d92e0 100644 --- a/packages/core/src/routes/setting.ts +++ b/packages/core/src/routes/setting.ts @@ -3,7 +3,7 @@ import { Settings } from '@logto/schemas'; import koaGuard from '@/middleware/koa-guard'; import { getSetting, updateSetting } from '@/queries/setting'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; export default function settingRoutes(router: T) { router.get('/settings', async (ctx, next) => { diff --git a/packages/core/src/routes/sign-in-experience.branding.guard.test.ts b/packages/core/src/routes/sign-in-experience.branding.guard.test.ts index d84378c30..07391ffc2 100644 --- a/packages/core/src/routes/sign-in-experience.branding.guard.test.ts +++ b/packages/core/src/routes/sign-in-experience.branding.guard.test.ts @@ -1,4 +1,5 @@ -import { BrandingStyle, CreateSignInExperience, SignInExperience } from '@logto/schemas'; +import type { CreateSignInExperience, SignInExperience } from '@logto/schemas'; +import { BrandingStyle } from '@logto/schemas'; import { mockBranding, mockSignInExperience } from '@/__mocks__'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/sign-in-experience.color.guard.test.ts b/packages/core/src/routes/sign-in-experience.color.guard.test.ts index 86e036db1..00c9f0d9b 100644 --- a/packages/core/src/routes/sign-in-experience.color.guard.test.ts +++ b/packages/core/src/routes/sign-in-experience.color.guard.test.ts @@ -1,4 +1,4 @@ -import { CreateSignInExperience, SignInExperience } from '@logto/schemas'; +import type { CreateSignInExperience, SignInExperience } from '@logto/schemas'; import { mockColor, mockSignInExperience } from '@/__mocks__'; import { createRequester } from '@/utils/test-utils'; diff --git a/packages/core/src/routes/sign-in-experience.guard.test.ts b/packages/core/src/routes/sign-in-experience.guard.test.ts index e0520a1c6..680343fd0 100644 --- a/packages/core/src/routes/sign-in-experience.guard.test.ts +++ b/packages/core/src/routes/sign-in-experience.guard.test.ts @@ -1,9 +1,5 @@ -import { - CreateSignInExperience, - LanguageInfo, - SignInExperience, - SignInMethodState, -} from '@logto/schemas'; +import type { CreateSignInExperience, LanguageInfo, SignInExperience } from '@logto/schemas'; +import { SignInMethodState } from '@logto/schemas'; import { mockAliyunDmConnector, diff --git a/packages/core/src/routes/sign-in-experience.test.ts b/packages/core/src/routes/sign-in-experience.test.ts index 5546c112f..ae2a7b5b4 100644 --- a/packages/core/src/routes/sign-in-experience.test.ts +++ b/packages/core/src/routes/sign-in-experience.test.ts @@ -1,9 +1,5 @@ -import { - SignInExperience, - CreateSignInExperience, - TermsOfUse, - SignInMethodState, -} from '@logto/schemas'; +import type { SignInExperience, CreateSignInExperience, TermsOfUse } from '@logto/schemas'; +import { SignInMethodState } from '@logto/schemas'; import { mockFacebookConnector, diff --git a/packages/core/src/routes/sign-in-experience.ts b/packages/core/src/routes/sign-in-experience.ts index 382c53c54..a53c902ec 100644 --- a/packages/core/src/routes/sign-in-experience.ts +++ b/packages/core/src/routes/sign-in-experience.ts @@ -14,7 +14,7 @@ import { updateDefaultSignInExperience, } from '@/queries/sign-in-experience'; -import { AuthedRouter } from './types'; +import type { AuthedRouter } from './types'; export default function signInExperiencesRoutes(router: T) { /** diff --git a/packages/core/src/routes/status.ts b/packages/core/src/routes/status.ts index 10fd9de18..1dba71d37 100644 --- a/packages/core/src/routes/status.ts +++ b/packages/core/src/routes/status.ts @@ -1,6 +1,6 @@ import koaGuard from '@/middleware/koa-guard'; -import { AnonymousRouter } from './types'; +import type { AnonymousRouter } from './types'; export default function statusRoutes(router: T) { router.get('/status', koaGuard({ status: 204 }), async (ctx, next) => { diff --git a/packages/core/src/routes/swagger.test.ts b/packages/core/src/routes/swagger.test.ts index c42cdb5e5..03928e532 100644 --- a/packages/core/src/routes/swagger.test.ts +++ b/packages/core/src/routes/swagger.test.ts @@ -6,7 +6,7 @@ import { number, object, string } from 'zod'; import koaGuard from '@/middleware/koa-guard'; import koaPagination from '@/middleware/koa-pagination'; -import { AnonymousRouter } from '@/routes/types'; +import type { AnonymousRouter } from '@/routes/types'; import swaggerRoutes, { defaultResponses, paginationParameters } from './swagger'; diff --git a/packages/core/src/routes/swagger.ts b/packages/core/src/routes/swagger.ts index 95eb82b26..18e6565c9 100644 --- a/packages/core/src/routes/swagger.ts +++ b/packages/core/src/routes/swagger.ts @@ -2,16 +2,18 @@ import { readFile } from 'fs/promises'; import { toTitle } from '@silverhand/essentials'; import { load } from 'js-yaml'; -import Router, { IMiddleware } from 'koa-router'; -import { OpenAPIV3 } from 'openapi-types'; +import type { IMiddleware } from 'koa-router'; +import type Router from 'koa-router'; +import type { OpenAPIV3 } from 'openapi-types'; import { ZodObject, ZodOptional } from 'zod'; -import { isGuardMiddleware, WithGuardConfig } from '@/middleware/koa-guard'; +import type { WithGuardConfig } from '@/middleware/koa-guard'; +import { isGuardMiddleware } from '@/middleware/koa-guard'; import { fallbackDefaultPageSize, isPaginationMiddleware } from '@/middleware/koa-pagination'; import assertThat from '@/utils/assert-that'; import { translationSchemas, zodTypeToSwagger } from '@/utils/zod'; -import { AnonymousRouter } from './types'; +import type { AnonymousRouter } from './types'; type RouteObject = { path: string; diff --git a/packages/core/src/routes/types.ts b/packages/core/src/routes/types.ts index dab1740d4..f1b3330bc 100644 --- a/packages/core/src/routes/types.ts +++ b/packages/core/src/routes/types.ts @@ -1,8 +1,8 @@ -import Router from 'koa-router'; +import type Router from 'koa-router'; -import { WithAuthContext } from '@/middleware/koa-auth'; -import { WithI18nContext } from '@/middleware/koa-i18next'; -import { WithLogContext } from '@/middleware/koa-log'; +import type { WithAuthContext } from '@/middleware/koa-auth'; +import type { WithI18nContext } from '@/middleware/koa-i18next'; +import type { WithLogContext } from '@/middleware/koa-log'; export type AnonymousRouter = Router; diff --git a/packages/core/src/routes/well-known.ts b/packages/core/src/routes/well-known.ts index cdde25391..91a295c1a 100644 --- a/packages/core/src/routes/well-known.ts +++ b/packages/core/src/routes/well-known.ts @@ -1,4 +1,4 @@ -import { ConnectorMetadata } from '@logto/connector-kit'; +import type { ConnectorMetadata } from '@logto/connector-kit'; import { SignInMode } from '@logto/schemas'; import { adminConsoleApplicationId, @@ -7,13 +7,14 @@ import { } from '@logto/schemas/lib/seeds'; import etag from 'etag'; import i18next from 'i18next'; -import { Provider, errors } from 'oidc-provider'; +import type { Provider } from 'oidc-provider'; +import { errors } from 'oidc-provider'; import { getLogtoConnectors } from '@/connectors'; import { findDefaultSignInExperience } from '@/queries/sign-in-experience'; import { hasActiveUsers } from '@/queries/user'; -import { AnonymousRouter } from './types'; +import type { AnonymousRouter } from './types'; export default function wellKnownRoutes(router: T, provider: Provider) { router.get( diff --git a/packages/core/src/utils/assert-that.ts b/packages/core/src/utils/assert-that.ts index 42c851526..a1273aa71 100644 --- a/packages/core/src/utils/assert-that.ts +++ b/packages/core/src/utils/assert-that.ts @@ -1,4 +1,4 @@ -import { LogtoErrorCode } from '@logto/phrases'; +import type { LogtoErrorCode } from '@logto/phrases'; import { assert } from '@silverhand/essentials'; import RequestError from '@/errors/RequestError'; diff --git a/packages/core/src/utils/jwks.ts b/packages/core/src/utils/jwks.ts index 36aba8a96..bffa43a50 100644 --- a/packages/core/src/utils/jwks.ts +++ b/packages/core/src/utils/jwks.ts @@ -5,7 +5,8 @@ import { createHash } from 'crypto'; -import { JWK, KeyLike, exportJWK as joseExportJWK } from 'jose'; +import type { JWK, KeyLike } from 'jose'; +import { exportJWK as joseExportJWK } from 'jose'; const getCalculateKidComponents = (jwk: JWK) => { switch (jwk.kty) { diff --git a/packages/core/src/utils/oidc-provider-event-listener.ts b/packages/core/src/utils/oidc-provider-event-listener.ts index 812380245..862fe9c60 100644 --- a/packages/core/src/utils/oidc-provider-event-listener.ts +++ b/packages/core/src/utils/oidc-provider-event-listener.ts @@ -1,8 +1,8 @@ import { GrantType, TokenType, LogResult } from '@logto/schemas'; import { notFalsy } from '@silverhand/essentials'; -import { errors, KoaContextWithOIDC, Provider } from 'oidc-provider'; +import type { errors, KoaContextWithOIDC, Provider } from 'oidc-provider'; -import { WithLogContext } from '@/middleware/koa-log'; +import type { WithLogContext } from '@/middleware/koa-log'; export const addOidcEventListeners = (provider: Provider) => { /** diff --git a/packages/core/src/utils/pagination.ts b/packages/core/src/utils/pagination.ts index b69f7dadd..9419e3457 100644 --- a/packages/core/src/utils/pagination.ts +++ b/packages/core/src/utils/pagination.ts @@ -1,4 +1,4 @@ -import { Request } from 'koa'; +import type { Request } from 'koa'; import { stringify } from 'query-string'; type LinkRelationType = 'first' | 'prev' | 'next' | 'last'; diff --git a/packages/core/src/utils/schema.ts b/packages/core/src/utils/schema.ts index cda5e0c8b..e609bd5a2 100644 --- a/packages/core/src/utils/schema.ts +++ b/packages/core/src/utils/schema.ts @@ -1,4 +1,4 @@ -import { GeneratedSchema, SchemaLike } from '@logto/schemas'; +import type { GeneratedSchema, SchemaLike } from '@logto/schemas'; export const isKeyOf = ({ fieldKeys }: GeneratedSchema) => diff --git a/packages/core/src/utils/test-utils.ts b/packages/core/src/utils/test-utils.ts index e72fa7e53..6a5be9040 100644 --- a/packages/core/src/utils/test-utils.ts +++ b/packages/core/src/utils/test-utils.ts @@ -1,12 +1,16 @@ -import { createMockContext, Options } from '@shopify/jest-koa-mocks'; -import Koa, { MiddlewareType, Context, Middleware } from 'koa'; -import Router, { IRouterParamContext } from 'koa-router'; -import { Provider } from 'oidc-provider'; -import { createMockPool, createMockQueryResult, QueryResult, QueryResultRow } from 'slonik'; -import { PrimitiveValueExpression } from 'slonik/dist/src/types.d'; +import type { Options } from '@shopify/jest-koa-mocks'; +import { createMockContext } from '@shopify/jest-koa-mocks'; +import type { MiddlewareType, Context, Middleware } from 'koa'; +import Koa from 'koa'; +import type { IRouterParamContext } from 'koa-router'; +import Router from 'koa-router'; +import type { Provider } from 'oidc-provider'; +import type { QueryResult, QueryResultRow } from 'slonik'; +import { createMockPool, createMockQueryResult } from 'slonik'; +import type { PrimitiveValueExpression } from 'slonik/dist/src/types.d'; import request from 'supertest'; -import { AuthedRouter, AnonymousRouter } from '@/routes/types'; +import type { AuthedRouter, AnonymousRouter } from '@/routes/types'; /** * Slonik Query Mock Utils diff --git a/packages/core/src/utils/translation.ts b/packages/core/src/utils/translation.ts index 625123c7e..4801531d7 100644 --- a/packages/core/src/utils/translation.ts +++ b/packages/core/src/utils/translation.ts @@ -1,4 +1,4 @@ -import { Translation } from '@logto/schemas'; +import type { Translation } from '@logto/schemas'; // LOG-4385: Refactor me // eslint-disable-next-line complexity diff --git a/packages/core/src/utils/zod.test.ts b/packages/core/src/utils/zod.test.ts index a70c5917e..bc6cb09df 100644 --- a/packages/core/src/utils/zod.test.ts +++ b/packages/core/src/utils/zod.test.ts @@ -4,7 +4,8 @@ import { string, boolean, number, object, nativeEnum, unknown, literal, union } import RequestError from '@/errors/RequestError'; -import { ZodStringCheck, zodTypeToSwagger } from './zod'; +import type { ZodStringCheck } from './zod'; +import { zodTypeToSwagger } from './zod'; describe('zodTypeToSwagger', () => { it('arbitrary object guard', () => { diff --git a/packages/core/src/utils/zod.ts b/packages/core/src/utils/zod.ts index f75c89190..3d3b36c55 100644 --- a/packages/core/src/utils/zod.ts +++ b/packages/core/src/utils/zod.ts @@ -1,7 +1,9 @@ import { languages, languageTagGuard } from '@logto/language-kit'; import { arbitraryObjectGuard, translationGuard } from '@logto/schemas'; -import { conditional, ValuesOf } from '@silverhand/essentials'; -import { OpenAPIV3 } from 'openapi-types'; +import type { ValuesOf } from '@silverhand/essentials'; +import { conditional } from '@silverhand/essentials'; +import type { OpenAPIV3 } from 'openapi-types'; +import type { ZodStringDef } from 'zod'; import { ZodArray, ZodBoolean, @@ -14,7 +16,6 @@ import { ZodObject, ZodOptional, ZodString, - ZodStringDef, ZodUnion, ZodUnknown, } from 'zod'; diff --git a/packages/demo-app/src/App.tsx b/packages/demo-app/src/App.tsx index 7327d8a98..b60944ac8 100644 --- a/packages/demo-app/src/App.tsx +++ b/packages/demo-app/src/App.tsx @@ -1,4 +1,5 @@ -import { LogtoProvider, useLogto, IdTokenClaims, Prompt } from '@logto/react'; +import type { IdTokenClaims } from '@logto/react'; +import { LogtoProvider, useLogto, Prompt } from '@logto/react'; import { demoAppApplicationId } from '@logto/schemas/lib/seeds'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/demo-app/src/include.d/react-i18next.d.ts b/packages/demo-app/src/include.d/react-i18next.d.ts index 9f69cc137..738817fc7 100644 --- a/packages/demo-app/src/include.d/react-i18next.d.ts +++ b/packages/demo-app/src/include.d/react-i18next.d.ts @@ -1,6 +1,6 @@ // https://react.i18next.com/latest/typescript#create-a-declaration-file -import { LocalPhrase } from '@logto/phrases'; +import type { LocalPhrase } from '@logto/phrases'; // eslint-disable-next-line unused-imports/no-unused-imports import { CustomTypeOptions } from 'react-i18next'; diff --git a/packages/integration-tests/src/api/admin-user.ts b/packages/integration-tests/src/api/admin-user.ts index 903dc17ab..529fd17fc 100644 --- a/packages/integration-tests/src/api/admin-user.ts +++ b/packages/integration-tests/src/api/admin-user.ts @@ -1,4 +1,4 @@ -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { authedAdminApi } from './api'; diff --git a/packages/integration-tests/src/api/application.ts b/packages/integration-tests/src/api/application.ts index bc28178e5..f441e143f 100644 --- a/packages/integration-tests/src/api/application.ts +++ b/packages/integration-tests/src/api/application.ts @@ -1,4 +1,4 @@ -import { +import type { Application, CreateApplication, ApplicationType, diff --git a/packages/integration-tests/src/api/connector.ts b/packages/integration-tests/src/api/connector.ts index fe8cb57aa..939d9505d 100644 --- a/packages/integration-tests/src/api/connector.ts +++ b/packages/integration-tests/src/api/connector.ts @@ -1,4 +1,4 @@ -import { ConnectorResponse } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; import { authedAdminApi } from './api'; diff --git a/packages/integration-tests/src/api/logs.ts b/packages/integration-tests/src/api/logs.ts index 3bd4b27ea..7382c860f 100644 --- a/packages/integration-tests/src/api/logs.ts +++ b/packages/integration-tests/src/api/logs.ts @@ -1,4 +1,4 @@ -import { Log } from '@logto/schemas'; +import type { Log } from '@logto/schemas'; import { authedAdminApi } from './api'; diff --git a/packages/integration-tests/src/api/me.ts b/packages/integration-tests/src/api/me.ts index 1dce695c7..be4ce11f1 100644 --- a/packages/integration-tests/src/api/me.ts +++ b/packages/integration-tests/src/api/me.ts @@ -1,4 +1,4 @@ -import { ArbitraryObject, UserInfo } from '@logto/schemas'; +import type { ArbitraryObject, UserInfo } from '@logto/schemas'; import api from './api'; diff --git a/packages/integration-tests/src/api/resource.ts b/packages/integration-tests/src/api/resource.ts index 7a45f8cae..e60049a89 100644 --- a/packages/integration-tests/src/api/resource.ts +++ b/packages/integration-tests/src/api/resource.ts @@ -1,5 +1,5 @@ import type { Resource, CreateResource } from '@logto/schemas'; -import { OptionsOfTextResponseBody } from 'got'; +import type { OptionsOfTextResponseBody } from 'got'; import { generateResourceIndicator, generateResourceName } from '@/utils'; diff --git a/packages/integration-tests/src/api/sign-in-experience.ts b/packages/integration-tests/src/api/sign-in-experience.ts index b4395e0ec..9fda9d08b 100644 --- a/packages/integration-tests/src/api/sign-in-experience.ts +++ b/packages/integration-tests/src/api/sign-in-experience.ts @@ -1,4 +1,4 @@ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import { authedAdminApi } from './api'; diff --git a/packages/integration-tests/src/api/wellknown.ts b/packages/integration-tests/src/api/wellknown.ts index 638cd9115..eac1cf112 100644 --- a/packages/integration-tests/src/api/wellknown.ts +++ b/packages/integration-tests/src/api/wellknown.ts @@ -1,4 +1,4 @@ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import api from './api'; diff --git a/packages/integration-tests/src/client/index.ts b/packages/integration-tests/src/client/index.ts index 8e4a6e3b8..75dfe7047 100644 --- a/packages/integration-tests/src/client/index.ts +++ b/packages/integration-tests/src/client/index.ts @@ -1,4 +1,5 @@ -import LogtoClient, { LogtoConfig } from '@logto/node'; +import type { LogtoConfig } from '@logto/node'; +import LogtoClient from '@logto/node'; import { demoAppApplicationId } from '@logto/schemas/lib/seeds'; import { assert } from '@silverhand/essentials'; import got from 'got'; diff --git a/packages/integration-tests/src/client/storage.ts b/packages/integration-tests/src/client/storage.ts index 50108d80e..cf4afe059 100644 --- a/packages/integration-tests/src/client/storage.ts +++ b/packages/integration-tests/src/client/storage.ts @@ -1,5 +1,5 @@ -import { Storage, StorageKey } from '@logto/node'; -import { Nullable } from '@silverhand/essentials'; +import type { Storage, StorageKey } from '@logto/node'; +import type { Nullable } from '@silverhand/essentials'; export class MemoryStorage implements Storage { private storage: { [key in StorageKey]: Nullable } = { diff --git a/packages/integration-tests/src/helpers.ts b/packages/integration-tests/src/helpers.ts index 3df398984..eaf95d769 100644 --- a/packages/integration-tests/src/helpers.ts +++ b/packages/integration-tests/src/helpers.ts @@ -1,7 +1,7 @@ import fs from 'fs/promises'; import path from 'path'; -import { User } from '@logto/schemas'; +import type { User } from '@logto/schemas'; import { assert } from '@silverhand/essentials'; import { HTTPError } from 'got'; diff --git a/packages/integration-tests/src/utils.ts b/packages/integration-tests/src/utils.ts index 2f1024853..7203ce9b2 100644 --- a/packages/integration-tests/src/utils.ts +++ b/packages/integration-tests/src/utils.ts @@ -1,4 +1,4 @@ -import { Response } from 'got'; +import type { Response } from 'got'; export const extractCookie = (response: Response) => { const { headers } = response; diff --git a/packages/integration-tests/tests/api/dashboard.test.ts b/packages/integration-tests/tests/api/dashboard.test.ts index 1621ab81a..7b67a683c 100644 --- a/packages/integration-tests/tests/api/dashboard.test.ts +++ b/packages/integration-tests/tests/api/dashboard.test.ts @@ -1,4 +1,5 @@ -import { getTotalUsersCount, getNewUsersData, getActiveUsersData, StatisticsData } from '@/api'; +import type { StatisticsData } from '@/api'; +import { getTotalUsersCount, getNewUsersData, getActiveUsersData } from '@/api'; import { createUserByAdmin, registerNewUser, signIn } from '@/helpers'; import { generateUsername, generatePassword } from '@/utils'; diff --git a/packages/integration-tests/tests/api/swagger-check.test.ts b/packages/integration-tests/tests/api/swagger-check.test.ts index a07cc6940..c816bf614 100644 --- a/packages/integration-tests/tests/api/swagger-check.test.ts +++ b/packages/integration-tests/tests/api/swagger-check.test.ts @@ -1,5 +1,5 @@ import OpenApiSchemaValidator from 'openapi-schema-validator'; -import { OpenAPI } from 'openapi-types'; +import type { OpenAPI } from 'openapi-types'; import { api } from '@/api'; diff --git a/packages/phrases-ui/src/index.ts b/packages/phrases-ui/src/index.ts index eea0892af..947f9f012 100644 --- a/packages/phrases-ui/src/index.ts +++ b/packages/phrases-ui/src/index.ts @@ -1,6 +1,7 @@ import { fallback } from '@logto/core-kit'; -import { languages, LanguageTag } from '@logto/language-kit'; -import { NormalizeKeyPaths } from '@silverhand/essentials'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages } from '@logto/language-kit'; +import type { NormalizeKeyPaths } from '@silverhand/essentials'; import { z } from 'zod'; import en from './locales/en'; @@ -9,7 +10,7 @@ import koKR from './locales/ko-kr'; import ptPT from './locales/pt-pt'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; -import { LocalePhrase } from './types'; +import type { LocalePhrase } from './types'; export type { LocalePhrase } from './types'; diff --git a/packages/phrases-ui/src/locales/fr.ts b/packages/phrases-ui/src/locales/fr.ts index 5e3735ca5..ea6501686 100644 --- a/packages/phrases-ui/src/locales/fr.ts +++ b/packages/phrases-ui/src/locales/fr.ts @@ -1,4 +1,4 @@ -import { LocalePhrase } from '../types'; +import type { LocalePhrase } from '../types'; const translation = { input: { diff --git a/packages/phrases-ui/src/locales/ko-kr.ts b/packages/phrases-ui/src/locales/ko-kr.ts index 2c09f0507..bfc617a0b 100644 --- a/packages/phrases-ui/src/locales/ko-kr.ts +++ b/packages/phrases-ui/src/locales/ko-kr.ts @@ -1,4 +1,4 @@ -import { LocalePhrase } from '../types'; +import type { LocalePhrase } from '../types'; const translation = { input: { diff --git a/packages/phrases-ui/src/locales/pt-pt.ts b/packages/phrases-ui/src/locales/pt-pt.ts index 2a87c596f..da4737952 100644 --- a/packages/phrases-ui/src/locales/pt-pt.ts +++ b/packages/phrases-ui/src/locales/pt-pt.ts @@ -1,4 +1,4 @@ -import { LocalePhrase } from '../types'; +import type { LocalePhrase } from '../types'; const translation = { input: { diff --git a/packages/phrases-ui/src/locales/tr-tr.ts b/packages/phrases-ui/src/locales/tr-tr.ts index 7fee4ac22..3ae6a26f7 100644 --- a/packages/phrases-ui/src/locales/tr-tr.ts +++ b/packages/phrases-ui/src/locales/tr-tr.ts @@ -1,4 +1,4 @@ -import { LocalePhrase } from '../types'; +import type { LocalePhrase } from '../types'; const translation = { input: { diff --git a/packages/phrases-ui/src/locales/zh-cn.ts b/packages/phrases-ui/src/locales/zh-cn.ts index ec242f1e0..707459fae 100644 --- a/packages/phrases-ui/src/locales/zh-cn.ts +++ b/packages/phrases-ui/src/locales/zh-cn.ts @@ -1,4 +1,4 @@ -import { LocalePhrase } from '../types'; +import type { LocalePhrase } from '../types'; const translation = { input: { diff --git a/packages/phrases-ui/src/types.ts b/packages/phrases-ui/src/types.ts index 6c5768035..9d6e5a80b 100644 --- a/packages/phrases-ui/src/types.ts +++ b/packages/phrases-ui/src/types.ts @@ -1,3 +1,3 @@ -import en from './locales/en'; +import type en from './locales/en'; export type LocalePhrase = typeof en; diff --git a/packages/phrases/src/index.ts b/packages/phrases/src/index.ts index d8f3b948e..2ee13dbbc 100644 --- a/packages/phrases/src/index.ts +++ b/packages/phrases/src/index.ts @@ -1,6 +1,7 @@ import { fallback } from '@logto/core-kit'; -import { languages, LanguageTag } from '@logto/language-kit'; -import { NormalizeKeyPaths } from '@silverhand/essentials'; +import type { LanguageTag } from '@logto/language-kit'; +import { languages } from '@logto/language-kit'; +import type { NormalizeKeyPaths } from '@silverhand/essentials'; import { z } from 'zod'; import en from './locales/en'; @@ -9,7 +10,7 @@ import koKR from './locales/ko-kr'; import ptPT from './locales/pt-pt'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; -import { LocalPhrase } from './types'; +import type { LocalPhrase } from './types'; export type { LocalPhrase } from './types'; diff --git a/packages/phrases/src/locales/fr/index.ts b/packages/phrases/src/locales/fr/index.ts index f2dbf4643..7eaf393f6 100644 --- a/packages/phrases/src/locales/fr/index.ts +++ b/packages/phrases/src/locales/fr/index.ts @@ -1,4 +1,4 @@ -import { LocalPhrase } from '../../types'; +import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; diff --git a/packages/phrases/src/locales/ko-kr/index.ts b/packages/phrases/src/locales/ko-kr/index.ts index 0cc717165..d7ba7975c 100644 --- a/packages/phrases/src/locales/ko-kr/index.ts +++ b/packages/phrases/src/locales/ko-kr/index.ts @@ -1,4 +1,4 @@ -import { LocalPhrase } from '../../types'; +import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; diff --git a/packages/phrases/src/locales/pt-pt/index.ts b/packages/phrases/src/locales/pt-pt/index.ts index d05767c78..b6fa212b7 100644 --- a/packages/phrases/src/locales/pt-pt/index.ts +++ b/packages/phrases/src/locales/pt-pt/index.ts @@ -1,4 +1,4 @@ -import { LocalPhrase } from '../../types'; +import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; diff --git a/packages/phrases/src/locales/tr-tr/index.ts b/packages/phrases/src/locales/tr-tr/index.ts index d03b5324f..55bd2f884 100644 --- a/packages/phrases/src/locales/tr-tr/index.ts +++ b/packages/phrases/src/locales/tr-tr/index.ts @@ -1,4 +1,4 @@ -import { LocalPhrase } from '../../types'; +import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; diff --git a/packages/phrases/src/locales/zh-cn/index.ts b/packages/phrases/src/locales/zh-cn/index.ts index b1bf96f33..3bc867641 100644 --- a/packages/phrases/src/locales/zh-cn/index.ts +++ b/packages/phrases/src/locales/zh-cn/index.ts @@ -1,4 +1,4 @@ -import { LocalPhrase } from '../../types'; +import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; diff --git a/packages/phrases/src/types.ts b/packages/phrases/src/types.ts index d8cab9855..78c521c85 100644 --- a/packages/phrases/src/types.ts +++ b/packages/phrases/src/types.ts @@ -1,3 +1,3 @@ -import en from './locales/en'; +import type en from './locales/en'; export type LocalPhrase = typeof en; diff --git a/packages/schemas/src/foundations/schemas.ts b/packages/schemas/src/foundations/schemas.ts index 5f0041177..7d203d7d6 100644 --- a/packages/schemas/src/foundations/schemas.ts +++ b/packages/schemas/src/foundations/schemas.ts @@ -1,4 +1,4 @@ -import { ZodObject, ZodType, ZodOptional } from 'zod'; +import type { ZodObject, ZodType, ZodOptional } from 'zod'; type ParseOptional = undefined extends K ? ZodOptional>> diff --git a/packages/schemas/src/gen/index.ts b/packages/schemas/src/gen/index.ts index 32530fb91..850c244f2 100644 --- a/packages/schemas/src/gen/index.ts +++ b/packages/schemas/src/gen/index.ts @@ -11,7 +11,7 @@ import uniq from 'lodash.uniq'; import pluralize from 'pluralize'; import { generateSchema } from './schema'; -import { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types'; +import type { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types'; import { findFirstParentheses, normalizeWhitespaces, diff --git a/packages/schemas/src/gen/schema.ts b/packages/schemas/src/gen/schema.ts index ca65db427..09ed9256e 100644 --- a/packages/schemas/src/gen/schema.ts +++ b/packages/schemas/src/gen/schema.ts @@ -4,7 +4,7 @@ import { conditionalString } from '@silverhand/essentials'; import camelcase from 'camelcase'; import pluralize from 'pluralize'; -import { TableWithType } from './types'; +import type { TableWithType } from './types'; export const generateSchema = ({ name, fields }: TableWithType) => { const modelName = pluralize(camelcase(name, { pascalCase: true }), 1); diff --git a/packages/schemas/src/gen/utils.ts b/packages/schemas/src/gen/utils.ts index 1e143bc1a..a7fa600be 100644 --- a/packages/schemas/src/gen/utils.ts +++ b/packages/schemas/src/gen/utils.ts @@ -1,6 +1,7 @@ -import { conditional, Optional, assert } from '@silverhand/essentials'; +import type { Optional } from '@silverhand/essentials'; +import { conditional, assert } from '@silverhand/essentials'; -import { Field } from './types'; +import type { Field } from './types'; export const normalizeWhitespaces = (string: string): string => string.replace(/\s+/g, ' ').trim(); diff --git a/packages/schemas/src/seeds/application.ts b/packages/schemas/src/seeds/application.ts index 1caac5576..db3301c2c 100644 --- a/packages/schemas/src/seeds/application.ts +++ b/packages/schemas/src/seeds/application.ts @@ -1,4 +1,5 @@ -import { ApplicationType, CreateApplication } from '../db-entries'; +import type { CreateApplication } from '../db-entries'; +import { ApplicationType } from '../db-entries'; /** * The fixed application ID for Admin Console. diff --git a/packages/schemas/src/seeds/resource.ts b/packages/schemas/src/seeds/resource.ts index 323045d2d..ddaf88735 100644 --- a/packages/schemas/src/seeds/resource.ts +++ b/packages/schemas/src/seeds/resource.ts @@ -1,4 +1,4 @@ -import { CreateResource } from '../db-entries'; +import type { CreateResource } from '../db-entries'; export const managementResource: Readonly = Object.freeze({ id: 'management-api', diff --git a/packages/schemas/src/seeds/roles.ts b/packages/schemas/src/seeds/roles.ts index 322b690fe..eeb18e807 100644 --- a/packages/schemas/src/seeds/roles.ts +++ b/packages/schemas/src/seeds/roles.ts @@ -1,4 +1,4 @@ -import { CreateRole } from '../db-entries'; +import type { CreateRole } from '../db-entries'; import { UserRole } from '../types'; /** diff --git a/packages/schemas/src/seeds/setting.ts b/packages/schemas/src/seeds/setting.ts index 447b4f370..04dbe1069 100644 --- a/packages/schemas/src/seeds/setting.ts +++ b/packages/schemas/src/seeds/setting.ts @@ -1,4 +1,4 @@ -import { CreateSetting } from '../db-entries'; +import type { CreateSetting } from '../db-entries'; import { AppearanceMode } from '../foundations'; export const defaultSettingId = 'default'; diff --git a/packages/schemas/src/seeds/sign-in-experience.ts b/packages/schemas/src/seeds/sign-in-experience.ts index 0f3fcc8a3..d1c3308cd 100644 --- a/packages/schemas/src/seeds/sign-in-experience.ts +++ b/packages/schemas/src/seeds/sign-in-experience.ts @@ -1,6 +1,7 @@ import { generateDarkColor } from '@logto/core-kit'; -import { CreateSignInExperience, SignInMode } from '../db-entries'; +import type { CreateSignInExperience } from '../db-entries'; +import { SignInMode } from '../db-entries'; import { BrandingStyle, SignInMethodState } from '../foundations'; const defaultPrimaryColor = '#6139F6'; diff --git a/packages/schemas/src/types/connector.ts b/packages/schemas/src/types/connector.ts index b3e4db848..83e75cdab 100644 --- a/packages/schemas/src/types/connector.ts +++ b/packages/schemas/src/types/connector.ts @@ -1,6 +1,6 @@ -import { BaseConnector, ConnectorMetadata, ConnectorType } from '@logto/connector-kit'; +import type { BaseConnector, ConnectorMetadata, ConnectorType } from '@logto/connector-kit'; -import { Connector } from '../db-entries'; +import type { Connector } from '../db-entries'; export type { ConnectorMetadata } from '@logto/connector-kit'; export { ConnectorType, ConnectorPlatform } from '@logto/connector-kit'; diff --git a/packages/schemas/src/types/log.ts b/packages/schemas/src/types/log.ts index ec2b69dd5..2d60fee15 100644 --- a/packages/schemas/src/types/log.ts +++ b/packages/schemas/src/types/log.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { Log } from '../db-entries'; +import type { Log } from '../db-entries'; export enum LogResult { Success = 'Success', diff --git a/packages/schemas/src/types/logto-config.ts b/packages/schemas/src/types/logto-config.ts index 5d9e6d8d2..0ca795a3c 100644 --- a/packages/schemas/src/types/logto-config.ts +++ b/packages/schemas/src/types/logto-config.ts @@ -1,4 +1,5 @@ -import { z, ZodType } from 'zod'; +import type { ZodType } from 'zod'; +import { z } from 'zod'; // Alteration state export enum AlterationStateKey { diff --git a/packages/schemas/src/types/oidc-config.ts b/packages/schemas/src/types/oidc-config.ts index ce3a60a5e..496249497 100644 --- a/packages/schemas/src/types/oidc-config.ts +++ b/packages/schemas/src/types/oidc-config.ts @@ -1,4 +1,4 @@ -import { KeysToCamelCase } from '@silverhand/essentials'; +import type { KeysToCamelCase } from '@silverhand/essentials'; export type SnakeCaseOidcConfig = { authorization_endpoint: string; diff --git a/packages/schemas/src/types/user.ts b/packages/schemas/src/types/user.ts index d7791450a..e553a9cd4 100644 --- a/packages/schemas/src/types/user.ts +++ b/packages/schemas/src/types/user.ts @@ -1,4 +1,4 @@ -import { CreateUser } from '../db-entries'; +import type { CreateUser } from '../db-entries'; export const userInfoSelectFields = Object.freeze([ 'id', diff --git a/packages/shared/src/database/types.ts b/packages/shared/src/database/types.ts index beae5eaf1..88a449216 100644 --- a/packages/shared/src/database/types.ts +++ b/packages/shared/src/database/types.ts @@ -1,5 +1,5 @@ -import { SchemaLike } from '@logto/schemas'; -import { IdentifierSqlToken } from 'slonik'; +import type { SchemaLike } from '@logto/schemas'; +import type { IdentifierSqlToken } from 'slonik'; export type Table = { table: string; fields: Record }; export type FieldIdentifiers = { diff --git a/packages/shared/src/database/utils.test.ts b/packages/shared/src/database/utils.test.ts index b966768b6..396fd981b 100644 --- a/packages/shared/src/database/utils.test.ts +++ b/packages/shared/src/database/utils.test.ts @@ -2,7 +2,7 @@ import dayjs from 'dayjs'; import { sql } from 'slonik'; import { SqlToken } from 'slonik/dist/src/tokens.js'; -import { Table } from './types'; +import type { Table } from './types'; import { excludeAutoSetFields, autoSetFields, diff --git a/packages/shared/src/database/utils.ts b/packages/shared/src/database/utils.ts index 3460b5668..d18afdcf1 100644 --- a/packages/shared/src/database/utils.ts +++ b/packages/shared/src/database/utils.ts @@ -1,9 +1,11 @@ -import { SchemaValuePrimitive, SchemaValue } from '@logto/schemas'; -import { Falsy, notFalsy } from '@silverhand/essentials'; +import type { SchemaValuePrimitive, SchemaValue } from '@logto/schemas'; +import type { Falsy } from '@silverhand/essentials'; +import { notFalsy } from '@silverhand/essentials'; import dayjs from 'dayjs'; -import { sql, SqlSqlToken, SqlToken, QueryResult, IdentifierSqlToken } from 'slonik'; +import type { SqlSqlToken, SqlToken, QueryResult, IdentifierSqlToken } from 'slonik'; +import { sql } from 'slonik'; -import { FieldIdentifiers, Table } from './types'; +import type { FieldIdentifiers, Table } from './types'; export const conditionalSql = (value: T, buildSql: (value: Exclude) => SqlSqlToken) => notFalsy(value) ? buildSql(value) : sql``; diff --git a/packages/ui/src/__mocks__/RenderWithPageContext/SettingsProvider.tsx b/packages/ui/src/__mocks__/RenderWithPageContext/SettingsProvider.tsx index f525b543b..7f58d0c43 100644 --- a/packages/ui/src/__mocks__/RenderWithPageContext/SettingsProvider.tsx +++ b/packages/ui/src/__mocks__/RenderWithPageContext/SettingsProvider.tsx @@ -1,7 +1,8 @@ -import { useContext, useEffect, ReactElement } from 'react'; +import type { ReactElement } from 'react'; +import { useContext, useEffect } from 'react'; import { PageContext } from '@/hooks/use-page-context'; -import { SignInExperienceSettings } from '@/types'; +import type { SignInExperienceSettings } from '@/types'; import { mockSignInExperienceSettings } from '../logto'; diff --git a/packages/ui/src/__mocks__/RenderWithPageContext/index.tsx b/packages/ui/src/__mocks__/RenderWithPageContext/index.tsx index 6950e2ec4..fdec9cdba 100644 --- a/packages/ui/src/__mocks__/RenderWithPageContext/index.tsx +++ b/packages/ui/src/__mocks__/RenderWithPageContext/index.tsx @@ -1,5 +1,6 @@ -import { render, Queries, queries, RenderOptions } from '@testing-library/react'; -import { ReactElement } from 'react'; +import type { Queries, queries, RenderOptions } from '@testing-library/react'; +import { render } from '@testing-library/react'; +import type { ReactElement } from 'react'; import ContextProvider from './ContextProvider'; diff --git a/packages/ui/src/__mocks__/logto.tsx b/packages/ui/src/__mocks__/logto.tsx index f057568fd..e0067d726 100644 --- a/packages/ui/src/__mocks__/logto.tsx +++ b/packages/ui/src/__mocks__/logto.tsx @@ -1,13 +1,13 @@ +import type { SignInExperience } from '@logto/schemas'; import { BrandingStyle, ConnectorPlatform, ConnectorType, - SignInExperience, SignInMethodState, SignInMode, } from '@logto/schemas'; -import { SignInExperienceSettings } from '@/types'; +import type { SignInExperienceSettings } from '@/types'; export const appLogo = 'https://avatars.githubusercontent.com/u/88327661?s=200&v=4'; export const appHeadline = 'Build user identity in a modern way'; diff --git a/packages/ui/src/apis/settings.ts b/packages/ui/src/apis/settings.ts index 2ffc4169f..6061b43cd 100644 --- a/packages/ui/src/apis/settings.ts +++ b/packages/ui/src/apis/settings.ts @@ -3,7 +3,7 @@ * The API will be deprecated in the future once SSR is implemented. */ -import { SignInExperience } from '@logto/schemas'; +import type { SignInExperience } from '@logto/schemas'; import ky from 'ky'; export const getSignInExperience = async (): Promise => { diff --git a/packages/ui/src/apis/utils.ts b/packages/ui/src/apis/utils.ts index 91ae6f784..72f866ce7 100644 --- a/packages/ui/src/apis/utils.ts +++ b/packages/ui/src/apis/utils.ts @@ -1,4 +1,4 @@ -import { UserFlow } from '@/types'; +import type { UserFlow } from '@/types'; import { sendForgotPasswordEmailPasscode, diff --git a/packages/ui/src/components/Button/IconButton.tsx b/packages/ui/src/components/Button/IconButton.tsx index 46db13242..c709f9bd6 100644 --- a/packages/ui/src/components/Button/IconButton.tsx +++ b/packages/ui/src/components/Button/IconButton.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; -import { HTMLProps, forwardRef, Ref } from 'react'; +import type { HTMLProps, Ref } from 'react'; +import { forwardRef } from 'react'; import * as styles from './IconButton.module.scss'; diff --git a/packages/ui/src/components/Button/index.tsx b/packages/ui/src/components/Button/index.tsx index 3d7a2d726..61768432e 100644 --- a/packages/ui/src/components/Button/index.tsx +++ b/packages/ui/src/components/Button/index.tsx @@ -1,6 +1,6 @@ -import { I18nKey } from '@logto/phrases-ui'; +import type { I18nKey } from '@logto/phrases-ui'; import classNames from 'classnames'; -import { HTMLProps } from 'react'; +import type { HTMLProps } from 'react'; import { useTranslation } from 'react-i18next'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/components/Checkbox/index.tsx b/packages/ui/src/components/Checkbox/index.tsx index 5dc6e1c55..cab79df99 100644 --- a/packages/ui/src/components/Checkbox/index.tsx +++ b/packages/ui/src/components/Checkbox/index.tsx @@ -1,4 +1,5 @@ -import { forwardRef, InputHTMLAttributes, Ref } from 'react'; +import type { InputHTMLAttributes, Ref } from 'react'; +import { forwardRef } from 'react'; import CheckBox from '@/assets/icons/checkbox-icon.svg'; import RadioButton from '@/assets/icons/radio-button-icon.svg'; diff --git a/packages/ui/src/components/ConfirmModal/AcModal.tsx b/packages/ui/src/components/ConfirmModal/AcModal.tsx index d55609f92..2dc670d56 100644 --- a/packages/ui/src/components/ConfirmModal/AcModal.tsx +++ b/packages/ui/src/components/ConfirmModal/AcModal.tsx @@ -8,7 +8,7 @@ import IconButton from '@/components/Button/IconButton'; import * as modalStyles from '../../scss/modal.module.scss'; import * as styles from './Acmodal.module.scss'; -import { ModalProps } from './type'; +import type { ModalProps } from './type'; const AcModal = ({ className, diff --git a/packages/ui/src/components/ConfirmModal/MobileModal.tsx b/packages/ui/src/components/ConfirmModal/MobileModal.tsx index 093b50537..1acb3733c 100644 --- a/packages/ui/src/components/ConfirmModal/MobileModal.tsx +++ b/packages/ui/src/components/ConfirmModal/MobileModal.tsx @@ -5,7 +5,7 @@ import Button from '@/components/Button'; import * as modalStyles from '../../scss/modal.module.scss'; import * as styles from './MobileModal.module.scss'; -import { ModalProps } from './type'; +import type { ModalProps } from './type'; const MobileModal = ({ className, diff --git a/packages/ui/src/components/ConfirmModal/type.ts b/packages/ui/src/components/ConfirmModal/type.ts index 10489d884..5c76ae5fa 100644 --- a/packages/ui/src/components/ConfirmModal/type.ts +++ b/packages/ui/src/components/ConfirmModal/type.ts @@ -1,5 +1,5 @@ -import { ReactNode, MouseEventHandler } from 'react'; -import { TFuncKey } from 'react-i18next'; +import type { ReactNode, MouseEventHandler } from 'react'; +import type { TFuncKey } from 'react-i18next'; export type ModalProps = { className?: string; diff --git a/packages/ui/src/components/Divider/index.tsx b/packages/ui/src/components/Divider/index.tsx index 7964bb498..044c5cdf6 100644 --- a/packages/ui/src/components/Divider/index.tsx +++ b/packages/ui/src/components/Divider/index.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/components/Drawer/index.tsx b/packages/ui/src/components/Drawer/index.tsx index 2c2e7f5e3..393a067ae 100644 --- a/packages/ui/src/components/Drawer/index.tsx +++ b/packages/ui/src/components/Drawer/index.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import ReactModal from 'react-modal'; import CloseIcon from '@/assets/icons/close-icon.svg'; diff --git a/packages/ui/src/components/Dropdown/index.tsx b/packages/ui/src/components/Dropdown/index.tsx index cbea56233..83ace8a82 100644 --- a/packages/ui/src/components/Dropdown/index.tsx +++ b/packages/ui/src/components/Dropdown/index.tsx @@ -1,5 +1,6 @@ import classNames from 'classnames'; -import ReactModal, { Props as ModalProps } from 'react-modal'; +import type { Props as ModalProps } from 'react-modal'; +import ReactModal from 'react-modal'; import { onKeyDownHandler } from '@/utils/a11y'; diff --git a/packages/ui/src/components/ErrorMessage/index.tsx b/packages/ui/src/components/ErrorMessage/index.tsx index 0c8b5fbc9..9766da8ef 100644 --- a/packages/ui/src/components/ErrorMessage/index.tsx +++ b/packages/ui/src/components/ErrorMessage/index.tsx @@ -1,6 +1,7 @@ import classNames from 'classnames'; -import { ReactNode } from 'react'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { ReactNode } from 'react'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/components/Input/PasswordInput.tsx b/packages/ui/src/components/Input/PasswordInput.tsx index bb58794f6..6f22af369 100644 --- a/packages/ui/src/components/Input/PasswordInput.tsx +++ b/packages/ui/src/components/Input/PasswordInput.tsx @@ -1,9 +1,11 @@ import classNames from 'classnames'; -import { useState, useRef, HTMLProps } from 'react'; +import type { HTMLProps } from 'react'; +import { useState, useRef } from 'react'; import PasswordHideIcon from '@/assets/icons/password-hide-icon.svg'; import PasswordShowIcon from '@/assets/icons/password-show-icon.svg'; -import ErrorMessage, { ErrorType } from '@/components/ErrorMessage'; +import type { ErrorType } from '@/components/ErrorMessage'; +import ErrorMessage from '@/components/ErrorMessage'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/components/Input/PhoneInput.tsx b/packages/ui/src/components/Input/PhoneInput.tsx index 9b281fde7..8ec00f9bd 100644 --- a/packages/ui/src/components/Input/PhoneInput.tsx +++ b/packages/ui/src/components/Input/PhoneInput.tsx @@ -3,8 +3,9 @@ import { useState, useMemo, useRef } from 'react'; import DownArrowIcon from '@/assets/icons/arrow-down.svg'; import ClearIcon from '@/assets/icons/clear-icon.svg'; -import ErrorMessage, { ErrorType } from '@/components/ErrorMessage'; -import { CountryCallingCode, CountryMetaData } from '@/hooks/use-phone-number'; +import type { ErrorType } from '@/components/ErrorMessage'; +import ErrorMessage from '@/components/ErrorMessage'; +import type { CountryCallingCode, CountryMetaData } from '@/hooks/use-phone-number'; import * as styles from './index.module.scss'; import * as phoneInputStyles from './phoneInput.module.scss'; diff --git a/packages/ui/src/components/Input/index.tsx b/packages/ui/src/components/Input/index.tsx index bd5c66084..fe639c22b 100644 --- a/packages/ui/src/components/Input/index.tsx +++ b/packages/ui/src/components/Input/index.tsx @@ -1,8 +1,9 @@ import classNames from 'classnames'; -import { HTMLProps } from 'react'; +import type { HTMLProps } from 'react'; import ClearIcon from '@/assets/icons/clear-icon.svg'; -import ErrorMessage, { ErrorType } from '@/components/ErrorMessage'; +import type { ErrorType } from '@/components/ErrorMessage'; +import ErrorMessage from '@/components/ErrorMessage'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/components/Passcode/index.tsx b/packages/ui/src/components/Passcode/index.tsx index f99234ace..7a17f0386 100644 --- a/packages/ui/src/components/Passcode/index.tsx +++ b/packages/ui/src/components/Passcode/index.tsx @@ -1,12 +1,5 @@ -import { - useMemo, - useRef, - useCallback, - useEffect, - FormEventHandler, - KeyboardEventHandler, - ClipboardEventHandler, -} from 'react'; +import type { FormEventHandler, KeyboardEventHandler, ClipboardEventHandler } from 'react'; +import { useMemo, useRef, useCallback, useEffect } from 'react'; import ErrorMessage from '@/components/ErrorMessage'; diff --git a/packages/ui/src/components/TextLink/index.tsx b/packages/ui/src/components/TextLink/index.tsx index 8e10648f6..eecfaeadc 100644 --- a/packages/ui/src/components/TextLink/index.tsx +++ b/packages/ui/src/components/TextLink/index.tsx @@ -1,6 +1,7 @@ import classNames from 'classnames'; -import { ReactNode, AnchorHTMLAttributes } from 'react'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { ReactNode, AnchorHTMLAttributes } from 'react'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/containers/AppContent/index.tsx b/packages/ui/src/containers/AppContent/index.tsx index 862b0afca..55e35f46a 100644 --- a/packages/ui/src/containers/AppContent/index.tsx +++ b/packages/ui/src/containers/AppContent/index.tsx @@ -1,5 +1,6 @@ import { conditionalString } from '@silverhand/essentials'; -import { ReactNode, useEffect, useCallback, useContext } from 'react'; +import type { ReactNode } from 'react'; +import { useEffect, useCallback, useContext } from 'react'; import Toast from '@/components/Toast'; import ConfirmModalProvider from '@/containers/ConfirmModalProvider'; diff --git a/packages/ui/src/containers/ConfirmModalProvider/index.tsx b/packages/ui/src/containers/ConfirmModalProvider/index.tsx index f3683efe1..32c51807a 100644 --- a/packages/ui/src/containers/ConfirmModalProvider/index.tsx +++ b/packages/ui/src/containers/ConfirmModalProvider/index.tsx @@ -1,7 +1,8 @@ -import { Nullable } from '@silverhand/essentials'; +import type { Nullable } from '@silverhand/essentials'; import { useState, useRef, useMemo, createContext, useCallback } from 'react'; -import { WebModal, MobileModal, ModalProps } from '@/components/ConfirmModal'; +import type { ModalProps } from '@/components/ConfirmModal'; +import { WebModal, MobileModal } from '@/components/ConfirmModal'; import usePlatform from '@/hooks/use-platform'; export type ModalContentRenderProps = { diff --git a/packages/ui/src/containers/CreateAccount/index.tsx b/packages/ui/src/containers/CreateAccount/index.tsx index 63a160a91..b008a9de1 100644 --- a/packages/ui/src/containers/CreateAccount/index.tsx +++ b/packages/ui/src/containers/CreateAccount/index.tsx @@ -6,7 +6,8 @@ import { register } from '@/apis/register'; import Button from '@/components/Button'; import Input from '@/components/Input'; import TermsOfUse from '@/containers/TermsOfUse'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useForm from '@/hooks/use-form'; import useTerms from '@/hooks/use-terms'; import { diff --git a/packages/ui/src/containers/PasscodeValidation/index.tsx b/packages/ui/src/containers/PasscodeValidation/index.tsx index 0a0c8bd58..4af51c20c 100644 --- a/packages/ui/src/containers/PasscodeValidation/index.tsx +++ b/packages/ui/src/containers/PasscodeValidation/index.tsx @@ -7,9 +7,11 @@ import { useTimer } from 'react-timer-hook'; import { getSendPasscodeApi, getVerifyPasscodeApi } from '@/apis/utils'; import Passcode, { defaultLength } from '@/components/Passcode'; import TextLink from '@/components/TextLink'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { PageContext } from '@/hooks/use-page-context'; -import { UserFlow, SearchParameters } from '@/types'; +import type { UserFlow } from '@/types'; +import { SearchParameters } from '@/types'; import { getSearchParameters } from '@/utils'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-email-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-email-error-handler.ts index 8e0bb2067..1e5f3a19f 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-email-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-email-error-handler.ts @@ -2,7 +2,7 @@ import { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; const useForgotPasswordWithEmailErrorHandler = (email: string) => { diff --git a/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-sms-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-sms-error-handler.ts index aa8461d11..cf4b28c79 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-sms-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-forgot-password-with-sms-error-handler.ts @@ -2,7 +2,7 @@ import { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; import { formatPhoneNumberWithCountryCallingCode } from '@/utils/country-code'; diff --git a/packages/ui/src/containers/PasscodeValidation/use-passcode-validation-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-passcode-validation-error-handler.ts index 1454f66c3..e416ea075 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-passcode-validation-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-passcode-validation-error-handler.ts @@ -1,4 +1,4 @@ -import { UserFlow } from '@/types'; +import type { UserFlow } from '@/types'; import useForgotPasswordWithEmailErrorHandler from './use-forgot-password-with-email-error-handler'; import useForgotPasswordWithSmsErrorHandler from './use-forgot-password-with-sms-error-handler'; diff --git a/packages/ui/src/containers/PasscodeValidation/use-register-with-sms-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-register-with-sms-error-handler.ts index 66d72f737..af70f2323 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-register-with-sms-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-register-with-sms-error-handler.ts @@ -3,7 +3,8 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { signInWithSms } from '@/apis/sign-in'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; import { formatPhoneNumberWithCountryCallingCode } from '@/utils/country-code'; diff --git a/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-email-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-email-error-handler.ts index 7fa92996a..058404280 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-email-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-email-error-handler.ts @@ -3,7 +3,8 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { registerWithEmail } from '@/apis/register'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; import { PageContext } from '@/hooks/use-page-context'; import { SearchParameters } from '@/types'; diff --git a/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-sms-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-sms-error-handler.ts index 615a1c221..84c414554 100644 --- a/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-sms-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/use-sign-in-with-sms-error-handler.ts @@ -3,7 +3,8 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { registerWithSms } from '@/apis/register'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; import { PageContext } from '@/hooks/use-page-context'; import { SearchParameters } from '@/types'; diff --git a/packages/ui/src/containers/PasscodeValidation/user-register-with-email-error-handler.ts b/packages/ui/src/containers/PasscodeValidation/user-register-with-email-error-handler.ts index b38e382a3..d10aa1fd3 100644 --- a/packages/ui/src/containers/PasscodeValidation/user-register-with-email-error-handler.ts +++ b/packages/ui/src/containers/PasscodeValidation/user-register-with-email-error-handler.ts @@ -3,7 +3,8 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { signInWithEmail } from '@/apis/sign-in'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; const useRegisterWithEmailErrorHandler = (email: string) => { diff --git a/packages/ui/src/containers/Passwordless/EmailPasswordless.tsx b/packages/ui/src/containers/Passwordless/EmailPasswordless.tsx index 7d34d4d3e..dc25c1124 100644 --- a/packages/ui/src/containers/Passwordless/EmailPasswordless.tsx +++ b/packages/ui/src/containers/Passwordless/EmailPasswordless.tsx @@ -7,10 +7,11 @@ import { getSendPasscodeApi } from '@/apis/utils'; import Button from '@/components/Button'; import Input from '@/components/Input'; import TermsOfUse from '@/containers/TermsOfUse'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useForm from '@/hooks/use-form'; import useTerms from '@/hooks/use-terms'; -import { UserFlow } from '@/types'; +import type { UserFlow } from '@/types'; import { emailValidation } from '@/utils/field-validations'; import PasswordlessSwitch from './PasswordlessSwitch'; diff --git a/packages/ui/src/containers/Passwordless/PhonePasswordless.tsx b/packages/ui/src/containers/Passwordless/PhonePasswordless.tsx index b0f9b9bc4..cf0dd9bfc 100644 --- a/packages/ui/src/containers/Passwordless/PhonePasswordless.tsx +++ b/packages/ui/src/containers/Passwordless/PhonePasswordless.tsx @@ -7,11 +7,12 @@ import { getSendPasscodeApi } from '@/apis/utils'; import Button from '@/components/Button'; import { PhoneInput } from '@/components/Input'; import TermsOfUse from '@/containers/TermsOfUse'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useForm from '@/hooks/use-form'; import usePhoneNumber from '@/hooks/use-phone-number'; import useTerms from '@/hooks/use-terms'; -import { UserFlow } from '@/types'; +import type { UserFlow } from '@/types'; import PasswordlessSwitch from './PasswordlessSwitch'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/containers/ResetPassword/index.tsx b/packages/ui/src/containers/ResetPassword/index.tsx index 31eeb9f32..096ba680b 100644 --- a/packages/ui/src/containers/ResetPassword/index.tsx +++ b/packages/ui/src/containers/ResetPassword/index.tsx @@ -7,7 +7,8 @@ import { resetPassword } from '@/apis/forgot-password'; import Button from '@/components/Button'; import ErrorMessage from '@/components/ErrorMessage'; import Input from '@/components/Input'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import { useConfirmModal } from '@/hooks/use-confirm-modal'; import useForm from '@/hooks/use-form'; import { PageContext } from '@/hooks/use-page-context'; diff --git a/packages/ui/src/containers/SignInMethodsLink/index.tsx b/packages/ui/src/containers/SignInMethodsLink/index.tsx index 12d4ad912..5c0062a73 100644 --- a/packages/ui/src/containers/SignInMethodsLink/index.tsx +++ b/packages/ui/src/containers/SignInMethodsLink/index.tsx @@ -1,11 +1,13 @@ import classNames from 'classnames'; -import { useMemo, ReactNode } from 'react'; -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { ReactNode } from 'react'; +import { useMemo } from 'react'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import reactStringReplace from 'react-string-replace'; import TextLink from '@/components/TextLink'; -import { LocalSignInMethod } from '@/types'; +import type { LocalSignInMethod } from '@/types'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.test.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.test.tsx index 11505627b..3f88d4267 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.test.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.test.tsx @@ -1,4 +1,4 @@ -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import { fireEvent } from '@testing-library/react'; import { MemoryRouter } from 'react-router-dom'; diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx index 7744b327e..68452180d 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx @@ -1,5 +1,5 @@ import { getDefaultLanguage } from '@logto/core-kit'; -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import { useState, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInIconList/index.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInIconList/index.tsx index 2cb09de56..0d2521ab8 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInIconList/index.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInIconList/index.tsx @@ -1,10 +1,11 @@ -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import classNames from 'classnames'; import MoreSocialIcon from '@/assets/icons/more-social-icon.svg'; import IconButton from '@/components/Button/IconButton'; import SocialIconButton from '@/components/Button/SocialIconButton'; import useSocial from '@/hooks/use-social'; +import { getLogoUrl } from '@/utils/logo'; import { isAppleConnector } from '@/utils/social-connectors'; import * as styles from './index.module.scss'; @@ -29,21 +30,13 @@ const SocialSignInIconList = ({ return (
{connectors.map((connector) => { - const { id, target, logo, logoDark } = connector; - - const getLogo = () => { - if (theme === 'dark') { - return (!isAppleConnector(target) && logoDark) || logo; - } - - return (isAppleConnector(target) && logoDark) || logo; - }; + const { id, target, logo: logoUrl, logoDark: darkLogoUrl } = connector; return ( { void invokeSocialSignIn(connector); diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInList/index.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInList/index.tsx index 29d302117..a86cc3d25 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInList/index.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInList/index.tsx @@ -1,4 +1,4 @@ -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import classNames from 'classnames'; import { useState, useMemo } from 'react'; @@ -6,6 +6,7 @@ import ExpandIcon from '@/assets/icons/expand-icon.svg'; import IconButton from '@/components/Button/IconButton'; import SocialLinkButton from '@/components/Button/SocialLinkButton'; import useSocial from '@/hooks/use-social'; +import { getLogoUrl } from '@/utils/logo'; import * as styles from './index.module.scss'; @@ -40,14 +41,14 @@ const SocialSignInList = ({ return (
{displayConnectors.map((connector) => { - const { id, name, logo, logoDark, target } = connector; + const { id, name, logo: logoUrl, logoDark: darkLogoUrl, target } = connector; return ( { void invokeSocialSignIn(connector); diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInPopUp/index.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInPopUp/index.tsx index 8ccf27c58..14146b3d9 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInPopUp/index.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInPopUp/index.tsx @@ -1,4 +1,4 @@ -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import Drawer from '@/components/Drawer'; diff --git a/packages/ui/src/containers/TermsOfUse/TermsOfUseConfirmModalContent/index.tsx b/packages/ui/src/containers/TermsOfUse/TermsOfUseConfirmModalContent/index.tsx index 5ebefc27c..2ad598400 100644 --- a/packages/ui/src/containers/TermsOfUse/TermsOfUseConfirmModalContent/index.tsx +++ b/packages/ui/src/containers/TermsOfUse/TermsOfUseConfirmModalContent/index.tsx @@ -2,7 +2,7 @@ import { useContext } from 'react'; import { useTranslation, Trans } from 'react-i18next'; import TextLink from '@/components/TextLink'; -import { ModalContentRenderProps } from '@/hooks/use-confirm-modal'; +import type { ModalContentRenderProps } from '@/hooks/use-confirm-modal'; import { PageContext } from '@/hooks/use-page-context'; import usePlatform from '@/hooks/use-platform'; import { ConfirmModalMessage } from '@/types'; diff --git a/packages/ui/src/containers/UsernameSignIn/index.tsx b/packages/ui/src/containers/UsernameSignIn/index.tsx index b827978ad..f1c9e0f72 100644 --- a/packages/ui/src/containers/UsernameSignIn/index.tsx +++ b/packages/ui/src/containers/UsernameSignIn/index.tsx @@ -7,7 +7,8 @@ import Button from '@/components/Button'; import ErrorMessage from '@/components/ErrorMessage'; import Input, { PasswordInput } from '@/components/Input'; import TermsOfUse from '@/containers/TermsOfUse'; -import useApi, { ErrorHandlers } from '@/hooks/use-api'; +import type { ErrorHandlers } from '@/hooks/use-api'; +import useApi from '@/hooks/use-api'; import useForm from '@/hooks/use-form'; import useTerms from '@/hooks/use-terms'; import { SearchParameters } from '@/types'; diff --git a/packages/ui/src/hooks/use-api.ts b/packages/ui/src/hooks/use-api.ts index a3781410a..303b2eb0d 100644 --- a/packages/ui/src/hooks/use-api.ts +++ b/packages/ui/src/hooks/use-api.ts @@ -1,5 +1,5 @@ import type { LogtoErrorCode } from '@logto/phrases'; -import { RequestErrorBody } from '@logto/schemas'; +import type { RequestErrorBody } from '@logto/schemas'; import { HTTPError } from 'ky'; import { useState, useCallback, useContext, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/packages/ui/src/hooks/use-bind-social.ts b/packages/ui/src/hooks/use-bind-social.ts index f18f603cc..1c0ef8c70 100644 --- a/packages/ui/src/hooks/use-bind-social.ts +++ b/packages/ui/src/hooks/use-bind-social.ts @@ -6,7 +6,7 @@ import { is } from 'superstruct'; import { registerWithSocial, bindSocialRelatedUser } from '@/apis/social'; import useApi from '@/hooks/use-api'; import { PageContext } from '@/hooks/use-page-context'; -import { LocalSignInMethod } from '@/types'; +import type { LocalSignInMethod } from '@/types'; import { bindSocialStateGuard } from '@/types/guard'; const useBindSocial = () => { diff --git a/packages/ui/src/hooks/use-form.ts b/packages/ui/src/hooks/use-form.ts index 3a0743ff1..79ab8756c 100644 --- a/packages/ui/src/hooks/use-form.ts +++ b/packages/ui/src/hooks/use-form.ts @@ -1,7 +1,9 @@ -import { useState, useCallback, useEffect, useRef, FormEvent } from 'react'; +import type { FormEvent } from 'react'; +import { useState, useCallback, useEffect, useRef } from 'react'; -import { ErrorType } from '@/components/ErrorMessage'; -import { entries, fromEntries, Entries } from '@/utils'; +import type { ErrorType } from '@/components/ErrorMessage'; +import type { Entries } from '@/utils'; +import { entries, fromEntries } from '@/utils'; const useForm = >(initialState: T) => { type ErrorState = { diff --git a/packages/ui/src/hooks/use-page-context.ts b/packages/ui/src/hooks/use-page-context.ts index 3656a0c1d..29648b124 100644 --- a/packages/ui/src/hooks/use-page-context.ts +++ b/packages/ui/src/hooks/use-page-context.ts @@ -1,7 +1,7 @@ import { useState, useMemo, createContext } from 'react'; import { isMobile } from 'react-device-detect'; -import { SignInExperienceSettings, Platform, Theme } from '@/types'; +import type { SignInExperienceSettings, Platform, Theme } from '@/types'; export type Context = { theme: Theme; diff --git a/packages/ui/src/hooks/use-phone-number.ts b/packages/ui/src/hooks/use-phone-number.ts index 275c04414..b8de5ee6b 100644 --- a/packages/ui/src/hooks/use-phone-number.ts +++ b/packages/ui/src/hooks/use-phone-number.ts @@ -3,12 +3,8 @@ * Reference [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) */ -import { - parsePhoneNumberWithError, - CountryCallingCode, - ParseError, - CountryCode, -} from 'libphonenumber-js/mobile'; +import type { CountryCallingCode, CountryCode } from 'libphonenumber-js/mobile'; +import { parsePhoneNumberWithError, ParseError } from 'libphonenumber-js/mobile'; import { useState } from 'react'; import { diff --git a/packages/ui/src/hooks/use-preview.ts b/packages/ui/src/hooks/use-preview.ts index 0229e978f..b18b0c010 100644 --- a/packages/ui/src/hooks/use-preview.ts +++ b/packages/ui/src/hooks/use-preview.ts @@ -3,10 +3,10 @@ import { conditionalString } from '@silverhand/essentials'; import { useEffect, useState } from 'react'; import * as styles from '@/App.module.scss'; -import { Context } from '@/hooks/use-page-context'; +import type { Context } from '@/hooks/use-page-context'; import initI18n from '@/i18n/init'; import { changeLanguage } from '@/i18n/utils'; -import { SignInExperienceSettings, PreviewConfig } from '@/types'; +import type { SignInExperienceSettings, PreviewConfig } from '@/types'; import { parseQueryParameters } from '@/utils'; import { getPrimarySignInMethod, getSecondarySignInMethods } from '@/utils/sign-in-experience'; import { filterPreviewSocialConnectors } from '@/utils/social-connectors'; diff --git a/packages/ui/src/hooks/use-social-sign-in-listener.ts b/packages/ui/src/hooks/use-social-sign-in-listener.ts index 1336903e7..17aa2732f 100644 --- a/packages/ui/src/hooks/use-social-sign-in-listener.ts +++ b/packages/ui/src/hooks/use-social-sign-in-listener.ts @@ -6,7 +6,8 @@ import { signInWithSocial } from '@/apis/social'; import { parseQueryParameters } from '@/utils'; import { stateValidation } from '@/utils/social-connectors'; -import useApi, { ErrorHandlers } from './use-api'; +import type { ErrorHandlers } from './use-api'; +import useApi from './use-api'; import { PageContext } from './use-page-context'; const useSocialSignInListener = () => { diff --git a/packages/ui/src/hooks/use-social.ts b/packages/ui/src/hooks/use-social.ts index da23c402d..7086e74a2 100644 --- a/packages/ui/src/hooks/use-social.ts +++ b/packages/ui/src/hooks/use-social.ts @@ -1,4 +1,4 @@ -import { ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; import { useCallback, useContext } from 'react'; import { invokeSocialSignIn } from '@/apis/social'; diff --git a/packages/ui/src/hooks/use-theme.ts b/packages/ui/src/hooks/use-theme.ts index 289428390..e85eb79b8 100644 --- a/packages/ui/src/hooks/use-theme.ts +++ b/packages/ui/src/hooks/use-theme.ts @@ -1,6 +1,6 @@ import { useEffect, useContext } from 'react'; -import { Theme } from '@/types'; +import type { Theme } from '@/types'; import { PageContext } from './use-page-context'; diff --git a/packages/ui/src/i18n/init.ts b/packages/ui/src/i18n/init.ts index 7e10ef9c1..f5f6f27e6 100644 --- a/packages/ui/src/i18n/init.ts +++ b/packages/ui/src/i18n/init.ts @@ -1,5 +1,6 @@ -import { LanguageInfo } from '@logto/schemas'; -import i18next, { InitOptions } from 'i18next'; +import type { LanguageInfo } from '@logto/schemas'; +import type { InitOptions } from 'i18next'; +import i18next from 'i18next'; import { initReactI18next } from 'react-i18next'; import { getI18nResource, detectLanguage } from '@/i18n/utils'; diff --git a/packages/ui/src/i18n/utils.ts b/packages/ui/src/i18n/utils.ts index b46e44889..a0a758859 100644 --- a/packages/ui/src/i18n/utils.ts +++ b/packages/ui/src/i18n/utils.ts @@ -1,6 +1,8 @@ -import resource, { LocalePhrase } from '@logto/phrases-ui'; -import { LanguageInfo } from '@logto/schemas'; -import i18next, { Resource } from 'i18next'; +import type { LocalePhrase } from '@logto/phrases-ui'; +import resource from '@logto/phrases-ui'; +import type { LanguageInfo } from '@logto/schemas'; +import type { Resource } from 'i18next'; +import i18next from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; import { getPhrases } from '@/apis/settings'; diff --git a/packages/ui/src/include.d/react-app.d.ts b/packages/ui/src/include.d/react-app.d.ts index 777943041..c2ef4a4de 100644 --- a/packages/ui/src/include.d/react-app.d.ts +++ b/packages/ui/src/include.d/react-app.d.ts @@ -36,7 +36,7 @@ declare module '*.webp' { } declare module '*.svg' { - import * as React from 'react'; + import type * as React from 'react'; export const ReactComponent: React.FunctionComponent< React.SVGProps & { title?: string } diff --git a/packages/ui/src/include.d/react-i18next.d.ts b/packages/ui/src/include.d/react-i18next.d.ts index 4b99b1185..427faa7a7 100644 --- a/packages/ui/src/include.d/react-i18next.d.ts +++ b/packages/ui/src/include.d/react-i18next.d.ts @@ -2,7 +2,7 @@ // eslint-disable-next-line import/no-unassigned-import import 'react-i18next'; -import en from '@logto/phrases-ui/lib/locales/en.js'; +import type en from '@logto/phrases-ui/lib/locales/en.js'; declare module 'react-i18next' { interface CustomTypeOptions { diff --git a/packages/ui/src/pages/Consent/index.tsx b/packages/ui/src/pages/Consent/index.tsx index 9bb7eaab9..eddb35cc6 100644 --- a/packages/ui/src/pages/Consent/index.tsx +++ b/packages/ui/src/pages/Consent/index.tsx @@ -4,12 +4,14 @@ import { consent } from '@/apis/consent'; import { LoadingIcon } from '@/components/LoadingLayer'; import useApi from '@/hooks/use-api'; import { PageContext } from '@/hooks/use-page-context'; +import { getLogoUrl } from '@/utils/logo'; import * as styles from './index.module.scss'; const Consent = () => { const { experienceSettings, theme } = useContext(PageContext); const { error, result, run: asyncConsent } = useApi(consent); + const branding = experienceSettings?.branding; useEffect(() => { void asyncConsent(); @@ -23,13 +25,12 @@ const Consent = () => { return (
- logo + {branding && ( + logo + )} {!error && }
); diff --git a/packages/ui/src/pages/ErrorPage/index.tsx b/packages/ui/src/pages/ErrorPage/index.tsx index efa78051f..213b74340 100644 --- a/packages/ui/src/pages/ErrorPage/index.tsx +++ b/packages/ui/src/pages/ErrorPage/index.tsx @@ -1,4 +1,5 @@ -import { TFuncKey, useTranslation } from 'react-i18next'; +import type { TFuncKey } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import ErrorImage from '@/assets/icons/error.svg'; @@ -17,7 +18,7 @@ const ErrorPage = ({ title = 'description.not_found', message, rawMessage }: Pro const { t } = useTranslation(); const navigate = useNavigate(); - const errorMessage = rawMessage || (message && t(message)); + const errorMessage = rawMessage ?? (message && t(message)); return (
diff --git a/packages/ui/src/pages/Passcode/index.tsx b/packages/ui/src/pages/Passcode/index.tsx index 7a604dfd3..751771a2b 100644 --- a/packages/ui/src/pages/Passcode/index.tsx +++ b/packages/ui/src/pages/Passcode/index.tsx @@ -5,7 +5,7 @@ import { is } from 'superstruct'; import NavBar from '@/components/NavBar'; import PasscodeValidation from '@/containers/PasscodeValidation'; import ErrorPage from '@/pages/ErrorPage'; -import { UserFlow } from '@/types'; +import type { UserFlow } from '@/types'; import { passcodeStateGuard, passcodeMethodGuard, userFlowGuard } from '@/types/guard'; import * as styles from './index.module.scss'; diff --git a/packages/ui/src/pages/SignIn/index.tsx b/packages/ui/src/pages/SignIn/index.tsx index 6e4d7ffb5..ab13942ba 100644 --- a/packages/ui/src/pages/SignIn/index.tsx +++ b/packages/ui/src/pages/SignIn/index.tsx @@ -5,6 +5,7 @@ import { useContext } from 'react'; import BrandingHeader from '@/components/BrandingHeader'; import AppNotification from '@/containers/AppNotification'; import { PageContext } from '@/hooks/use-page-context'; +import { getLogoUrl } from '@/utils/logo'; import * as styles from './index.module.scss'; import { PrimarySection, SecondarySection, CreateAccountLink } from './registry'; @@ -25,7 +26,7 @@ const SignIn = () => { = ((event: KeyboardEvent) => void) | undefined; diff --git a/packages/ui/src/utils/country-code.ts b/packages/ui/src/utils/country-code.ts index f0cf11cd6..9ad096532 100644 --- a/packages/ui/src/utils/country-code.ts +++ b/packages/ui/src/utils/country-code.ts @@ -1,9 +1,7 @@ import i18next from 'i18next'; +import type { CountryCode, CountryCallingCode, E164Number } from 'libphonenumber-js/mobile'; import { getCountries, - CountryCode, - CountryCallingCode, - E164Number, getCountryCallingCode, parsePhoneNumberWithError, } from 'libphonenumber-js/mobile'; diff --git a/packages/ui/src/utils/field-validations.ts b/packages/ui/src/utils/field-validations.ts index 2b542e6e8..714037b73 100644 --- a/packages/ui/src/utils/field-validations.ts +++ b/packages/ui/src/utils/field-validations.ts @@ -1,4 +1,4 @@ -import { ErrorType } from '@/components/ErrorMessage'; +import type { ErrorType } from '@/components/ErrorMessage'; const usernameRegex = /^[A-Z_a-z-][\w-]*$/; const emailRegex = /^\S+@\S+\.\S+$/; diff --git a/packages/ui/src/utils/logo.ts b/packages/ui/src/utils/logo.ts new file mode 100644 index 000000000..5fe96d767 --- /dev/null +++ b/packages/ui/src/utils/logo.ts @@ -0,0 +1,18 @@ +import type { Nullable } from '@silverhand/essentials'; + +import type { Theme } from '@/types'; + +export type GetLogoUrl = { + theme: Theme; + logoUrl: string; + darkLogoUrl?: Nullable; + isApple?: boolean; +}; + +export const getLogoUrl = ({ theme, logoUrl, darkLogoUrl, isApple }: GetLogoUrl) => { + if (theme === (isApple ? 'light' : 'dark')) { + return darkLogoUrl ?? logoUrl; + } + + return logoUrl; +}; diff --git a/packages/ui/src/utils/sign-in-experience.ts b/packages/ui/src/utils/sign-in-experience.ts index a324af03b..c903a054c 100644 --- a/packages/ui/src/utils/sign-in-experience.ts +++ b/packages/ui/src/utils/sign-in-experience.ts @@ -3,10 +3,14 @@ * Remove this once we have a better way to get the sign in experience through SSR */ -import { SignInMethods } from '@logto/schemas'; +import type { SignInMethods } from '@logto/schemas'; import { getSignInExperience } from '@/apis/settings'; -import { SignInMethod, SignInExperienceSettingsResponse, SignInExperienceSettings } from '@/types'; +import type { + SignInMethod, + SignInExperienceSettingsResponse, + SignInExperienceSettings, +} from '@/types'; import { filterSocialConnectors } from '@/utils/social-connectors'; import { entries } from '.'; diff --git a/packages/ui/src/utils/social-connectors.test.ts b/packages/ui/src/utils/social-connectors.test.ts index de75319de..6c54dd5e8 100644 --- a/packages/ui/src/utils/social-connectors.test.ts +++ b/packages/ui/src/utils/social-connectors.test.ts @@ -1,4 +1,5 @@ -import { ConnectorPlatform, ConnectorMetadata } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; +import { ConnectorPlatform } from '@logto/schemas'; import { SearchParameters } from '@/types'; import { getLogtoNativeSdk, isNativeWebview } from '@/utils/native-sdk'; diff --git a/packages/ui/src/utils/social-connectors.ts b/packages/ui/src/utils/social-connectors.ts index 89fd40e6a..ec668ec20 100644 --- a/packages/ui/src/utils/social-connectors.ts +++ b/packages/ui/src/utils/social-connectors.ts @@ -1,4 +1,5 @@ -import { ConnectorMetadata, ConnectorPlatform } from '@logto/schemas'; +import type { ConnectorMetadata } from '@logto/schemas'; +import { ConnectorPlatform } from '@logto/schemas'; import { SearchParameters } from '@/types'; import { generateRandomString } from '@/utils'; From a1fb85ca6798098b6a5de346622a066af37b2e52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Oct 2022 15:11:06 +0800 Subject: [PATCH 11/18] fix(deps): update dependency @logto/core-kit to v1.0.0-beta.19 (#2130) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/console/package.json | 2 +- packages/demo-app/package.json | 2 +- packages/phrases-ui/package.json | 2 +- packages/phrases/package.json | 2 +- packages/schemas/package.json | 2 +- packages/ui/package.json | 2 +- pnpm-lock.yaml | 27 ++++++++++++++------------- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/packages/console/package.json b/packages/console/package.json index e6c8df85b..ee49df453 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -18,7 +18,7 @@ }, "devDependencies": { "@fontsource/roboto-mono": "^4.5.7", - "@logto/core-kit": "1.0.0-beta.18", + "@logto/core-kit": "1.0.0-beta.19", "@logto/language-kit": "1.0.0-beta.19", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 3b042d6f4..0caf9ac1e 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -17,7 +17,7 @@ "stylelint": "stylelint \"src/**/*.scss\"" }, "devDependencies": { - "@logto/core-kit": "1.0.0-beta.18", + "@logto/core-kit": "1.0.0-beta.19", "@logto/language-kit": "1.0.0-beta.19", "@logto/phrases": "workspace:^", "@logto/react": "1.0.0-beta.10", diff --git a/packages/phrases-ui/package.json b/packages/phrases-ui/package.json index e7dce260b..58e66adf6 100644 --- a/packages/phrases-ui/package.json +++ b/packages/phrases-ui/package.json @@ -31,7 +31,7 @@ "url": "https://github.com/logto-io/logto/issues" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.18", + "@logto/core-kit": "1.0.0-beta.19", "@logto/language-kit": "1.0.0-beta.19", "@silverhand/essentials": "^1.3.0", "zod": "^3.18.0" diff --git a/packages/phrases/package.json b/packages/phrases/package.json index e1d9d4f64..0c64f0a50 100644 --- a/packages/phrases/package.json +++ b/packages/phrases/package.json @@ -31,7 +31,7 @@ "url": "https://github.com/logto-io/logto/issues" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.18", + "@logto/core-kit": "1.0.0-beta.19", "@logto/language-kit": "1.0.0-beta.19", "@silverhand/essentials": "^1.3.0", "zod": "^3.18.0" diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 46dc3dc56..79a37b2b9 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -68,7 +68,7 @@ "prettier": "@silverhand/eslint-config/.prettierrc", "dependencies": { "@logto/connector-kit": "1.0.0-beta.19", - "@logto/core-kit": "1.0.0-beta.18", + "@logto/core-kit": "1.0.0-beta.19", "@logto/language-kit": "1.0.0-beta.19", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", diff --git a/packages/ui/package.json b/packages/ui/package.json index 82de7d6bb..d745fc81a 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -16,7 +16,7 @@ "test": "jest" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.18" + "@logto/core-kit": "1.0.0-beta.19" }, "devDependencies": { "@logto/phrases": "workspace:^", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39aa17b0c..ccd5aeff9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,7 +105,7 @@ importers: packages/console: specifiers: '@fontsource/roboto-mono': ^4.5.7 - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ @@ -172,7 +172,7 @@ importers: zod: ^3.18.0 devDependencies: '@fontsource/roboto-mono': 4.5.7 - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui @@ -405,7 +405,7 @@ importers: packages/demo-app: specifiers: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': workspace:^ '@logto/react': 1.0.0-beta.10 @@ -432,7 +432,7 @@ importers: stylelint: ^14.9.1 typescript: ^4.7.4 devDependencies: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': link:../phrases '@logto/react': 1.0.0-beta.10_react@18.2.0 @@ -513,7 +513,7 @@ importers: packages/phrases: specifiers: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 @@ -524,7 +524,7 @@ importers: typescript: ^4.7.4 zod: ^3.18.0 dependencies: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@silverhand/essentials': 1.3.0 zod: 3.18.0 @@ -538,7 +538,7 @@ importers: packages/phrases-ui: specifiers: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 @@ -549,7 +549,7 @@ importers: typescript: ^4.7.4 zod: ^3.18.0 dependencies: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@silverhand/essentials': 1.3.0 zod: 3.18.0 @@ -564,7 +564,7 @@ importers: packages/schemas: specifiers: '@logto/connector-kit': 1.0.0-beta.19 - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ @@ -589,7 +589,7 @@ importers: zod: ^3.18.0 dependencies: '@logto/connector-kit': 1.0.0-beta.19 - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui @@ -653,7 +653,7 @@ importers: packages/ui: specifiers: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ '@logto/schemas': workspace:^ @@ -705,7 +705,7 @@ importers: typescript: ^4.7.4 use-debounced-loader: ^0.1.1 dependencies: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 devDependencies: '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui @@ -2315,7 +2315,7 @@ packages: resolution: {integrity: sha512-V3QxKE2gjs5FpLBihHA4YLC0RFK8gW56qZkBKk0uWt2gxcs5eGJvBxV1rgskn6W/3Z8ohnK5FJRv6fIOsUWSKw==} engines: {node: ^16.0.0} dependencies: - '@logto/core-kit': 1.0.0-beta.18 + '@logto/core-kit': 1.0.0-beta.19 '@logto/language-kit': 1.0.0-beta.19 '@silverhand/essentials': 1.3.0 zod: 3.18.0 @@ -2339,6 +2339,7 @@ packages: color: 4.2.3 nanoid: 3.3.4 zod: 3.18.0 + dev: false /@logto/core-kit/1.0.0-beta.19: resolution: {integrity: sha512-cqwfz+Ic/t7mV23QUEXWeRaLTqN71NSv02adaul8VWZQg4IePOlWLLaiTyY6ods88f3ZOarIBlJ5fYexw3J8qg==} From cd01f4166f4c78c102245ffa8a261808e70d1419 Mon Sep 17 00:00:00 2001 From: simeng-li Date: Fri, 21 Oct 2022 16:11:16 +0800 Subject: [PATCH 12/18] fix(ui): fix prefiew render bug page should render after language updates --- packages/ui/src/hooks/use-preview.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/hooks/use-preview.ts b/packages/ui/src/hooks/use-preview.ts index b18b0c010..6cb656f67 100644 --- a/packages/ui/src/hooks/use-preview.ts +++ b/packages/ui/src/hooks/use-preview.ts @@ -80,9 +80,9 @@ const usePreview = (context: Context): [boolean, PreviewConfig?] => { setPlatform(platform); - setExperienceSettings(experienceSettings); - await changeLanguage(language); + + setExperienceSettings(experienceSettings); })(); }, [isPreview, previewConfig, setExperienceSettings, setPlatform, setTheme]); From ccb640da7a2dba19c886e20a55506e9fa76ce31c Mon Sep 17 00:00:00 2001 From: Alex Garibay Date: Sun, 23 Oct 2022 19:04:11 -0500 Subject: [PATCH 13/18] feat(console): show userinfo endpoint information --- .../ApplicationDetails/components/AdvancedSettings.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx b/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx index ae3d3a873..93fb75e8b 100644 --- a/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx +++ b/packages/console/src/pages/ApplicationDetails/components/AdvancedSettings.tsx @@ -54,6 +54,13 @@ const AdvancedSettings = ({ applicationType, oidcConfig, defaultData, isDeleted variant="border" /> + + + {applicationType === ApplicationType.MachineToMachine && ( Date: Mon, 24 Oct 2022 12:03:00 +0800 Subject: [PATCH 14/18] ci: update changeset (#2236) --- .changeset/README.md | 28 ++++++++++++++++++++++++++++ .changeset/config.json | 34 +++++++++++++++++++++------------- .github/CODEOWNERS | 1 + .github/workflows/release.yml | 6 +++++- 4 files changed, 55 insertions(+), 14 deletions(-) diff --git a/.changeset/README.md b/.changeset/README.md index e5b6d8d6a..5e11527c4 100644 --- a/.changeset/README.md +++ b/.changeset/README.md @@ -6,3 +6,31 @@ find the full documentation for it [in our repository](https://github.com/change We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) + +## Logto publish flow + +For now, Changesets only supports tagging packages separately, instead of tagging a "release group". There is an [open issue](https://github.com/changesets/changesets/issues/683) that is still hanging in the air. + +So, we are using our own "grouping" release strategy in this monorepo: + +### Core + +The release group that includes the Logto core products, which consists of the following packages: + +- @logto/console +- @logto/core (main) +- @logto/integration-tests +- @logto/ui + +Their version will be in sync, and forms our main release. + +### CLI + +The release group that includes Logto CLI and its aliases: + +- @logto/cli (main) +- @logto/create + +### Others + +For simplicity, we will tag other **public** packages separately and publish them to NPM. But in most cases, no GitHub release will present for these packages. diff --git a/.changeset/config.json b/.changeset/config.json index 88ccf281b..a408d2fa2 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -2,22 +2,30 @@ "$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json", "changelog": "@changesets/cli/changelog", "commit": false, - "fixed": [], - "linked": [[ - "@logto/console", - "@logto/core", - "@logto/demo-app", - "@logto/integration-tests", - "@logto/phrases", - "@logto/phrases-ui", - "@logto/schemas", - "@logto/ui" - ], [ + "//": "CAUTION: When updating the fields below, you should also update README accordingly.", + "fixed": [[ "@logto/cli", "@logto/create" + ], [ + "@logto/console", + "@logto/core", + "@logto/integration-tests", + "@logto/ui" ]], + "//": "Ignore other release group members, only keep the major one.", + "ignore": [ + "@logto/create", + "@logto/console", + "@logto/integration-tests", + "@logto/ui" + ], + "linked": [[ + "@logto/phrases", + "@logto/phrases-ui", + "@logto/schemas" + ]], + "//": "END OF CAUTION", "access": "restricted", "baseBranch": "master", - "updateInternalDependencies": "patch", - "ignore": [] + "updateInternalDependencies": "patch" } diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 348e4aacf..7fceb6eef 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1,2 @@ /packages/schemas/tables @simeng-li @wangsijie +/.changeset @gao-sun diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 017800b29..7d1036caf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,9 +104,13 @@ jobs: - name: Create release pull request uses: changesets/action@v1 with: - publish: changeset tag && git push --tags + # Disable temporarily since https://github.com/changesets/changesets/issues/833. + # Wait for our customized publish flow. + # publish: pnpm changeset tag commit: 'release: version packages' title: 'release: version packages' + # Create by our rules defined in `/.changeset/README.md`. + createGithubReleases: false setupGitUser: false env: GITHUB_TOKEN: ${{ secrets.BOT_PAT }} From bab7a607db35cd0de2f79a82fc4f7a475b110cfe Mon Sep 17 00:00:00 2001 From: Xiao Yijun Date: Mon, 24 Oct 2022 12:26:11 +0800 Subject: [PATCH 15/18] refactor: update language kit (#2232) --- packages/cli/package.json | 2 +- packages/console/package.json | 4 +- .../Connectors/components/Guide/index.tsx | 5 +- .../UserDetails/components/UserConnectors.tsx | 2 +- packages/core/package.json | 6 +- packages/core/src/__mocks__/connector.ts | 4 +- packages/demo-app/package.json | 2 +- packages/phrases-ui/package.json | 4 +- packages/phrases-ui/src/index.ts | 6 +- .../src/locales/{ko-kr.ts => ko.ts} | 4 +- packages/phrases/package.json | 4 +- packages/phrases/src/index.ts | 6 +- .../src/locales/{ko-kr => ko}/errors.ts | 0 .../src/locales/{ko-kr => ko}/index.ts | 4 +- .../admin-console/api-resource-details.ts | 0 .../admin-console/api-resources.ts | 0 .../admin-console/application-details.ts | 0 .../translation/admin-console/applications.ts | 0 .../admin-console/connector-details.ts | 0 .../translation/admin-console/connectors.ts | 0 .../translation/admin-console/contact.ts | 0 .../translation/admin-console/dashboard.ts | 0 .../translation/admin-console/errors.ts | 0 .../translation/admin-console/general.ts | 0 .../translation/admin-console/get-started.ts | 0 .../translation/admin-console/index.ts | 0 .../translation/admin-console/log-details.ts | 0 .../translation/admin-console/logs.ts | 0 .../admin-console/session-expired.ts | 0 .../translation/admin-console/settings.ts | 0 .../translation/admin-console/sign-in-exp.ts | 0 .../translation/admin-console/tab-sections.ts | 0 .../translation/admin-console/tabs.ts | 0 .../translation/admin-console/user-details.ts | 0 .../translation/admin-console/users.ts | 0 .../translation/admin-console/welcome.ts | 0 .../{ko-kr => ko}/translation/demo-app.ts | 0 .../{ko-kr => ko}/translation/index.ts | 0 packages/schemas/package.json | 6 +- packages/ui/package.json | 1 + packages/ui/src/__mocks__/logto.tsx | 24 ++-- .../SocialSignInDropdown/index.tsx | 5 +- pnpm-lock.yaml | 109 +++++++++--------- 43 files changed, 102 insertions(+), 96 deletions(-) rename packages/phrases-ui/src/locales/{ko-kr.ts => ko.ts} (98%) rename packages/phrases/src/locales/{ko-kr => ko}/errors.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/index.ts (70%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/api-resource-details.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/api-resources.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/application-details.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/applications.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/connector-details.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/connectors.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/contact.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/dashboard.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/errors.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/general.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/get-started.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/index.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/log-details.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/logs.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/session-expired.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/settings.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/sign-in-exp.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/tab-sections.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/tabs.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/user-details.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/users.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/admin-console/welcome.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/demo-app.ts (100%) rename packages/phrases/src/locales/{ko-kr => ko}/translation/index.ts (100%) diff --git a/packages/cli/package.json b/packages/cli/package.json index 475bc6234..e96ac48b6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -60,7 +60,7 @@ "slonik-sql-tag-raw": "^1.1.4", "tar": "^6.1.11", "yargs": "^17.6.0", - "zod": "^3.18.0" + "zod": "^3.19.1" }, "devDependencies": { "@silverhand/eslint-config": "1.3.0", diff --git a/packages/console/package.json b/packages/console/package.json index ee49df453..a05b32ff9 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@fontsource/roboto-mono": "^4.5.7", "@logto/core-kit": "1.0.0-beta.19", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", "@logto/react": "1.0.0-beta.10", @@ -82,7 +82,7 @@ "stylelint": "^14.9.1", "swr": "^1.3.0", "typescript": "^4.7.4", - "zod": "^3.18.0" + "zod": "^3.19.1" }, "alias": { "@/*": "./src/$1", diff --git a/packages/console/src/pages/Connectors/components/Guide/index.tsx b/packages/console/src/pages/Connectors/components/Guide/index.tsx index 3ee3b58a2..07bc04aba 100644 --- a/packages/console/src/pages/Connectors/components/Guide/index.tsx +++ b/packages/console/src/pages/Connectors/components/Guide/index.tsx @@ -1,4 +1,4 @@ -import { getDefaultLanguage } from '@logto/core-kit'; +import { isLanguageTag } from '@logto/language-kit'; import type { ConnectorResponse } from '@logto/schemas'; import { ConnectorType } from '@logto/schemas'; import { conditional } from '@silverhand/essentials'; @@ -32,7 +32,8 @@ const Guide = ({ connector, onClose }: Props) => { const { updateSettings } = useSettings(); const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' }); const { id: connectorId, type: connectorType, name, configTemplate, readme } = connector; - const connectorName = name[getDefaultLanguage(i18next.language)]; + const { language } = i18next; + const connectorName = conditional(isLanguageTag(language) && name[language]) ?? name.en; const isSocialConnector = connectorType !== ConnectorType.Sms && connectorType !== ConnectorType.Email; const methods = useForm({ reValidateMode: 'onBlur' }); diff --git a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx index 54d34b2d4..82b0b05b2 100644 --- a/packages/console/src/pages/UserDetails/components/UserConnectors.tsx +++ b/packages/console/src/pages/UserDetails/components/UserConnectors.tsx @@ -59,7 +59,7 @@ const UserConnectors = ({ userId, connectors, onDelete }: Props) => { 'zh-CN': '未知连接器', en: 'Unknown Connector', 'tr-TR': 'Bilinmeyen connector.', - 'ko-KR': '알수없는 연동', + ko: '알수없는 연동', }, target: key, userId: connectors[key]?.userId, diff --git a/packages/core/package.json b/packages/core/package.json index 1e51e50db..40a987b77 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@logto/cli": "workspace:^", - "@logto/connector-kit": "^1.0.0-beta.18", + "@logto/connector-kit": "1.0.0-beta.20", "@logto/core-kit": "^1.0.0-beta.18", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", "@logto/schemas": "workspace:^", @@ -64,7 +64,7 @@ "slonik-sql-tag-raw": "^1.1.4", "snake-case": "^3.0.4", "snakecase-keys": "^5.1.0", - "zod": "^3.18.0" + "zod": "^3.19.1" }, "devDependencies": { "@shopify/jest-koa-mocks": "^5.0.0", diff --git a/packages/core/src/__mocks__/connector.ts b/packages/core/src/__mocks__/connector.ts index 4d3e4bbab..69e6c99c2 100644 --- a/packages/core/src/__mocks__/connector.ts +++ b/packages/core/src/__mocks__/connector.ts @@ -14,7 +14,7 @@ export const mockMetadata: ConnectorMetadata = { 'pt-PT': 'Conector', 'zh-CN': '连接器', 'tr-TR': 'Connector', - 'ko-KR': 'Connector', + ko: 'Connector', }, logo: './logo.png', logoDark: './logo-dark.png', @@ -23,7 +23,7 @@ export const mockMetadata: ConnectorMetadata = { 'pt-PT': 'Conector', 'zh-CN': '连接器', 'tr-TR': 'Connector', - 'ko-KR': 'Connector', + ko: 'Connector', }, readme: 'README.md', configTemplate: 'config-template.json', diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 0caf9ac1e..3fc980948 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -18,7 +18,7 @@ }, "devDependencies": { "@logto/core-kit": "1.0.0-beta.19", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/react": "1.0.0-beta.10", "@logto/schemas": "workspace:^", diff --git a/packages/phrases-ui/package.json b/packages/phrases-ui/package.json index 58e66adf6..127c3f19c 100644 --- a/packages/phrases-ui/package.json +++ b/packages/phrases-ui/package.json @@ -32,9 +32,9 @@ }, "dependencies": { "@logto/core-kit": "1.0.0-beta.19", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@silverhand/essentials": "^1.3.0", - "zod": "^3.18.0" + "zod": "^3.19.1" }, "devDependencies": { "@silverhand/eslint-config": "1.3.0", diff --git a/packages/phrases-ui/src/index.ts b/packages/phrases-ui/src/index.ts index 947f9f012..792000a91 100644 --- a/packages/phrases-ui/src/index.ts +++ b/packages/phrases-ui/src/index.ts @@ -6,7 +6,7 @@ import { z } from 'zod'; import en from './locales/en'; import fr from './locales/fr'; -import koKR from './locales/ko-kr'; +import ko from './locales/ko'; import ptPT from './locales/pt-pt'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; @@ -16,7 +16,7 @@ export type { LocalePhrase } from './types'; export type I18nKey = NormalizeKeyPaths; -export const builtInLanguages = ['en', 'fr', 'pt-PT', 'zh-CN', 'ko-KR', 'tr-TR'] as const; +export const builtInLanguages = ['en', 'fr', 'pt-PT', 'zh-CN', 'ko', 'tr-TR'] as const; export const builtInLanguageOptions = builtInLanguages.map((languageTag) => ({ value: languageTag, @@ -34,7 +34,7 @@ const resource: Resource = { fr, 'pt-PT': ptPT, 'zh-CN': zhCN, - 'ko-KR': koKR, + ko, 'tr-TR': trTR, }; diff --git a/packages/phrases-ui/src/locales/ko-kr.ts b/packages/phrases-ui/src/locales/ko.ts similarity index 98% rename from packages/phrases-ui/src/locales/ko-kr.ts rename to packages/phrases-ui/src/locales/ko.ts index bfc617a0b..d2c54ba00 100644 --- a/packages/phrases-ui/src/locales/ko-kr.ts +++ b/packages/phrases-ui/src/locales/ko.ts @@ -80,8 +80,8 @@ const translation = { }, }; -const koKR: LocalePhrase = Object.freeze({ +const ko: LocalePhrase = Object.freeze({ translation, }); -export default koKR; +export default ko; diff --git a/packages/phrases/package.json b/packages/phrases/package.json index 0c64f0a50..917470953 100644 --- a/packages/phrases/package.json +++ b/packages/phrases/package.json @@ -32,9 +32,9 @@ }, "dependencies": { "@logto/core-kit": "1.0.0-beta.19", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@silverhand/essentials": "^1.3.0", - "zod": "^3.18.0" + "zod": "^3.19.1" }, "devDependencies": { "@silverhand/eslint-config": "1.3.0", diff --git a/packages/phrases/src/index.ts b/packages/phrases/src/index.ts index 2ee13dbbc..33f9efeaf 100644 --- a/packages/phrases/src/index.ts +++ b/packages/phrases/src/index.ts @@ -6,7 +6,7 @@ import { z } from 'zod'; import en from './locales/en'; import fr from './locales/fr'; -import koKR from './locales/ko-kr'; +import ko from './locales/ko'; import ptPT from './locales/pt-pt'; import trTR from './locales/tr-tr'; import zhCN from './locales/zh-cn'; @@ -16,7 +16,7 @@ export type { LocalPhrase } from './types'; export type I18nKey = NormalizeKeyPaths; -export const builtInLanguages = ['en', 'fr', 'pt-PT', 'zh-CN', 'ko-KR', 'tr-TR'] as const; +export const builtInLanguages = ['en', 'fr', 'pt-PT', 'zh-CN', 'ko', 'tr-TR'] as const; export const builtInLanguageOptions = builtInLanguages.map((languageTag) => ({ value: languageTag, @@ -46,7 +46,7 @@ const resource: Resource = { fr, 'pt-PT': ptPT, 'zh-CN': zhCN, - 'ko-KR': koKR, + ko, 'tr-TR': trTR, }; diff --git a/packages/phrases/src/locales/ko-kr/errors.ts b/packages/phrases/src/locales/ko/errors.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/errors.ts rename to packages/phrases/src/locales/ko/errors.ts diff --git a/packages/phrases/src/locales/ko-kr/index.ts b/packages/phrases/src/locales/ko/index.ts similarity index 70% rename from packages/phrases/src/locales/ko-kr/index.ts rename to packages/phrases/src/locales/ko/index.ts index d7ba7975c..a8e49ed0b 100644 --- a/packages/phrases/src/locales/ko-kr/index.ts +++ b/packages/phrases/src/locales/ko/index.ts @@ -2,9 +2,9 @@ import type { LocalPhrase } from '../../types'; import errors from './errors'; import translation from './translation'; -const koKR: LocalPhrase = Object.freeze({ +const ko: LocalPhrase = Object.freeze({ translation, errors, }); -export default koKR; +export default ko; diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/api-resource-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/api-resource-details.ts rename to packages/phrases/src/locales/ko/translation/admin-console/api-resource-details.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts b/packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/api-resources.ts rename to packages/phrases/src/locales/ko/translation/admin-console/api-resources.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/application-details.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/application-details.ts rename to packages/phrases/src/locales/ko/translation/admin-console/application-details.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts b/packages/phrases/src/locales/ko/translation/admin-console/applications.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/applications.ts rename to packages/phrases/src/locales/ko/translation/admin-console/applications.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/connector-details.ts rename to packages/phrases/src/locales/ko/translation/admin-console/connector-details.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts b/packages/phrases/src/locales/ko/translation/admin-console/connectors.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/connectors.ts rename to packages/phrases/src/locales/ko/translation/admin-console/connectors.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts b/packages/phrases/src/locales/ko/translation/admin-console/contact.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/contact.ts rename to packages/phrases/src/locales/ko/translation/admin-console/contact.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts b/packages/phrases/src/locales/ko/translation/admin-console/dashboard.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/dashboard.ts rename to packages/phrases/src/locales/ko/translation/admin-console/dashboard.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts b/packages/phrases/src/locales/ko/translation/admin-console/errors.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/errors.ts rename to packages/phrases/src/locales/ko/translation/admin-console/errors.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts b/packages/phrases/src/locales/ko/translation/admin-console/general.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/general.ts rename to packages/phrases/src/locales/ko/translation/admin-console/general.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts b/packages/phrases/src/locales/ko/translation/admin-console/get-started.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/get-started.ts rename to packages/phrases/src/locales/ko/translation/admin-console/get-started.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts b/packages/phrases/src/locales/ko/translation/admin-console/index.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/index.ts rename to packages/phrases/src/locales/ko/translation/admin-console/index.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/log-details.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/log-details.ts rename to packages/phrases/src/locales/ko/translation/admin-console/log-details.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts b/packages/phrases/src/locales/ko/translation/admin-console/logs.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/logs.ts rename to packages/phrases/src/locales/ko/translation/admin-console/logs.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts b/packages/phrases/src/locales/ko/translation/admin-console/session-expired.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/session-expired.ts rename to packages/phrases/src/locales/ko/translation/admin-console/session-expired.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts b/packages/phrases/src/locales/ko/translation/admin-console/settings.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/settings.ts rename to packages/phrases/src/locales/ko/translation/admin-console/settings.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts b/packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/sign-in-exp.ts rename to packages/phrases/src/locales/ko/translation/admin-console/sign-in-exp.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts b/packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/tab-sections.ts rename to packages/phrases/src/locales/ko/translation/admin-console/tab-sections.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts b/packages/phrases/src/locales/ko/translation/admin-console/tabs.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/tabs.ts rename to packages/phrases/src/locales/ko/translation/admin-console/tabs.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts b/packages/phrases/src/locales/ko/translation/admin-console/user-details.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/user-details.ts rename to packages/phrases/src/locales/ko/translation/admin-console/user-details.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts b/packages/phrases/src/locales/ko/translation/admin-console/users.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/users.ts rename to packages/phrases/src/locales/ko/translation/admin-console/users.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts b/packages/phrases/src/locales/ko/translation/admin-console/welcome.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/admin-console/welcome.ts rename to packages/phrases/src/locales/ko/translation/admin-console/welcome.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/demo-app.ts b/packages/phrases/src/locales/ko/translation/demo-app.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/demo-app.ts rename to packages/phrases/src/locales/ko/translation/demo-app.ts diff --git a/packages/phrases/src/locales/ko-kr/translation/index.ts b/packages/phrases/src/locales/ko/translation/index.ts similarity index 100% rename from packages/phrases/src/locales/ko-kr/translation/index.ts rename to packages/phrases/src/locales/ko/translation/index.ts diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 79a37b2b9..5ad641047 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -67,11 +67,11 @@ }, "prettier": "@silverhand/eslint-config/.prettierrc", "dependencies": { - "@logto/connector-kit": "1.0.0-beta.19", + "@logto/connector-kit": "1.0.0-beta.20", "@logto/core-kit": "1.0.0-beta.19", - "@logto/language-kit": "1.0.0-beta.19", + "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", - "zod": "^3.18.0" + "zod": "^3.19.1" } } diff --git a/packages/ui/package.json b/packages/ui/package.json index d745fc81a..491e39623 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -19,6 +19,7 @@ "@logto/core-kit": "1.0.0-beta.19" }, "devDependencies": { + "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", "@logto/schemas": "workspace:^", diff --git a/packages/ui/src/__mocks__/logto.tsx b/packages/ui/src/__mocks__/logto.tsx index e0067d726..94069bf8e 100644 --- a/packages/ui/src/__mocks__/logto.tsx +++ b/packages/ui/src/__mocks__/logto.tsx @@ -24,14 +24,14 @@ export const socialConnectors = [ 'pt-PT': 'Entrar com GitHub', 'zh-CN': '使用 GitHub 登录', 'tr-TR': 'Github ile giriş yap', - 'ko-KR': 'Github 로그인', + ko: 'Github 로그인', }, description: { en: 'Sign in with GitHub', 'pt-PT': 'Entrar com GitHub', 'zh-CN': '使用 GitHub 登录', 'tr-TR': 'Github ile giriş yap', - 'ko-KR': 'Github 로그인', + ko: 'Github 로그인', }, readme: '', configTemplate: '', @@ -48,14 +48,14 @@ export const socialConnectors = [ 'pt-PT': 'Entrar com Alipay', 'zh-CN': '使用 Alipay 登录', 'tr-TR': 'Alipay ile giriş yap', - 'ko-KR': 'Alipay 로그인', + ko: 'Alipay 로그인', }, description: { en: 'Sign in with Alipay', 'pt-PT': 'Entrar com Alipay', 'zh-CN': '使用 Alipay 登录', 'tr-TR': 'Alipay ile giriş yap', - 'ko-KR': 'Alipay 로그인', + ko: 'Alipay 로그인', }, readme: '', configTemplate: '', @@ -72,14 +72,14 @@ export const socialConnectors = [ 'pt-PT': 'Entrar com WeChat', 'zh-CN': '使用 WeChat 登录', 'tr-TR': 'WeChat ile giriş yap', - 'ko-KR': 'WeChat 로그인', + ko: 'WeChat 로그인', }, description: { en: 'Sign in with WeChat', 'pt-PT': 'Entrar com WeChat', 'zh-CN': '使用 WeChat 登录', 'tr-TR': 'WeChat ile giriş yap', - 'ko-KR': 'WeChat 로그인', + ko: 'WeChat 로그인', }, readme: '', configTemplate: '', @@ -96,14 +96,14 @@ export const socialConnectors = [ 'pt-PT': 'Entrar com Google', 'zh-CN': '使用 Google 登录', 'tr-TR': 'Google ile giriş yap', - 'ko-KR': 'Google 로그인', + ko: 'Google 로그인', }, description: { en: 'Sign in with Google', 'pt-PT': 'Entrar com Google', 'zh-CN': '使用 Google 登录', 'tr-TR': 'Google ile giriş yap', - 'ko-KR': 'Google 로그인', + ko: 'Google 로그인', }, readme: '', configTemplate: '', @@ -120,14 +120,14 @@ export const socialConnectors = [ 'pt-PT': 'Entrar com Facebook', 'zh-CN': '使用 Meta 登录', 'tr-TR': 'Meta ile giriş yap', - 'ko-KR': 'Meta 로그인', + ko: 'Meta 로그인', }, description: { en: 'Sign in with Meta', 'pt-PT': 'Entrar com Facebook', 'zh-CN': '使用 Meta 登录', 'tr-TR': 'Meta ile giriş yap', - 'ko-KR': 'Meta 로그인', + ko: 'Meta 로그인', }, readme: '', configTemplate: '', @@ -146,14 +146,14 @@ export const mockSocialConnectorData = { 'pt-PT': 'Entrar com Xxx', 'zh-CN': '使用 Xxx 登录', 'tr-TR': 'Xxx ile giriş yap', - 'ko-KR': 'Xxx 로그인', + ko: 'Xxx 로그인', }, description: { en: 'Sign in with Xxx', 'pt-PT': 'Entrar com Xxx', 'zh-CN': '使用 Xxx 登录', 'tr-TR': 'Xxx ile giriş yap', - 'ko-KR': 'Xxx 로그인', + ko: 'Xxx 로그인', }, readme: '', configTemplate: '', diff --git a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx index 68452180d..ab7bbac0e 100644 --- a/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx +++ b/packages/ui/src/containers/SocialSignIn/SocialSignInDropdown/index.tsx @@ -1,5 +1,6 @@ -import { getDefaultLanguage } from '@logto/core-kit'; +import { isLanguageTag } from '@logto/language-kit'; import type { ConnectorMetadata } from '@logto/schemas'; +import { conditional } from '@silverhand/essentials'; import { useState, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -47,7 +48,7 @@ const SocialSignInDropdown = ({ isOpen, onClose, connectors, anchorRef }: Props) > {connectors.map((connector) => { const { id, name, logo, logoDark } = connector; - const localName = name[getDefaultLanguage(language)]; + const localName = conditional(isLanguageTag(language) && name[language]) ?? name.en; return ( =10'} - /zod/3.18.0: - resolution: {integrity: sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==} + /zod/3.19.1: + resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} /zwitch/1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} From edd1f3811d865f99938f8945cbd8b7021f8b8e0a Mon Sep 17 00:00:00 2001 From: Gao Sun Date: Mon, 24 Oct 2022 12:44:29 +0800 Subject: [PATCH 16/18] chore: update renovate.json (#2244) --- renovate.json | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/renovate.json b/renovate.json index 53d126790..91996ccb9 100644 --- a/renovate.json +++ b/renovate.json @@ -1,17 +1,4 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "packageRules": [{ - "matchSourceUrlPrefixes": ["https://github.com/logto-io/js"], - "groupName": "Logto JS SDK monorepo packages" - }, { - "matchSourceUrlPrefixes": ["https://github.com/logto-io/toolkit"], - "groupName": "Logto standard toolkit monorepo packages" - }, { - "matchSourceUrlPrefixes": ["https://github.com/silverhand-io/configs"], - "groupName": "Silverhand configs monorepo packages" - }], - "extends": [ - "config:base", - ":preserveSemverRanges" - ] + "extends": ["github>logto-io/.github:renovate-config"] } From 380d2e5af4ea96b39c8c5ae17efd9f9390531feb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 12:51:24 +0800 Subject: [PATCH 17/18] fix(deps): update dependency @logto/core-kit to v1.0.0-beta.20 (#2234) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/console/package.json | 2 +- packages/demo-app/package.json | 2 +- packages/phrases-ui/package.json | 2 +- packages/phrases/package.json | 2 +- packages/schemas/package.json | 2 +- packages/ui/package.json | 2 +- pnpm-lock.yaml | 33 ++++++++++++++++---------------- 7 files changed, 22 insertions(+), 23 deletions(-) diff --git a/packages/console/package.json b/packages/console/package.json index a05b32ff9..82ab2c3c9 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -18,7 +18,7 @@ }, "devDependencies": { "@fontsource/roboto-mono": "^4.5.7", - "@logto/core-kit": "1.0.0-beta.19", + "@logto/core-kit": "1.0.0-beta.20", "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", diff --git a/packages/demo-app/package.json b/packages/demo-app/package.json index 3fc980948..8968ed885 100644 --- a/packages/demo-app/package.json +++ b/packages/demo-app/package.json @@ -17,7 +17,7 @@ "stylelint": "stylelint \"src/**/*.scss\"" }, "devDependencies": { - "@logto/core-kit": "1.0.0-beta.19", + "@logto/core-kit": "1.0.0-beta.20", "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/react": "1.0.0-beta.10", diff --git a/packages/phrases-ui/package.json b/packages/phrases-ui/package.json index 127c3f19c..df0a50a77 100644 --- a/packages/phrases-ui/package.json +++ b/packages/phrases-ui/package.json @@ -31,7 +31,7 @@ "url": "https://github.com/logto-io/logto/issues" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.19", + "@logto/core-kit": "1.0.0-beta.20", "@logto/language-kit": "1.0.0-beta.20", "@silverhand/essentials": "^1.3.0", "zod": "^3.19.1" diff --git a/packages/phrases/package.json b/packages/phrases/package.json index 917470953..f79eef4b7 100644 --- a/packages/phrases/package.json +++ b/packages/phrases/package.json @@ -31,7 +31,7 @@ "url": "https://github.com/logto-io/logto/issues" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.19", + "@logto/core-kit": "1.0.0-beta.20", "@logto/language-kit": "1.0.0-beta.20", "@silverhand/essentials": "^1.3.0", "zod": "^3.19.1" diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 5ad641047..c561267c8 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -68,7 +68,7 @@ "prettier": "@silverhand/eslint-config/.prettierrc", "dependencies": { "@logto/connector-kit": "1.0.0-beta.20", - "@logto/core-kit": "1.0.0-beta.19", + "@logto/core-kit": "1.0.0-beta.20", "@logto/language-kit": "1.0.0-beta.20", "@logto/phrases": "workspace:^", "@logto/phrases-ui": "workspace:^", diff --git a/packages/ui/package.json b/packages/ui/package.json index 491e39623..685d3cd6c 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -16,7 +16,7 @@ "test": "jest" }, "dependencies": { - "@logto/core-kit": "1.0.0-beta.19" + "@logto/core-kit": "1.0.0-beta.20" }, "devDependencies": { "@logto/language-kit": "1.0.0-beta.20", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2c1c3089..a69e77ce3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,7 +105,7 @@ importers: packages/console: specifiers: '@fontsource/roboto-mono': ^4.5.7 - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ @@ -172,7 +172,7 @@ importers: zod: ^3.19.1 devDependencies: '@fontsource/roboto-mono': 4.5.7 - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui @@ -405,7 +405,7 @@ importers: packages/demo-app: specifiers: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': workspace:^ '@logto/react': 1.0.0-beta.10 @@ -432,7 +432,7 @@ importers: stylelint: ^14.9.1 typescript: ^4.7.4 devDependencies: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': link:../phrases '@logto/react': 1.0.0-beta.10_react@18.2.0 @@ -513,7 +513,7 @@ importers: packages/phrases: specifiers: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 @@ -524,7 +524,7 @@ importers: typescript: ^4.7.4 zod: ^3.19.1 dependencies: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@silverhand/essentials': 1.3.0 zod: 3.19.1 @@ -538,7 +538,7 @@ importers: packages/phrases-ui: specifiers: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@silverhand/eslint-config': 1.3.0 '@silverhand/essentials': ^1.3.0 @@ -549,7 +549,7 @@ importers: typescript: ^4.7.4 zod: ^3.19.1 dependencies: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@silverhand/essentials': 1.3.0 zod: 3.19.1 @@ -564,7 +564,7 @@ importers: packages/schemas: specifiers: '@logto/connector-kit': 1.0.0-beta.20 - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ @@ -589,7 +589,7 @@ importers: zod: ^3.19.1 dependencies: '@logto/connector-kit': 1.0.0-beta.20 - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': link:../phrases '@logto/phrases-ui': link:../phrases-ui @@ -653,7 +653,7 @@ importers: packages/ui: specifiers: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': workspace:^ '@logto/phrases-ui': workspace:^ @@ -706,7 +706,7 @@ importers: typescript: ^4.7.4 use-debounced-loader: ^0.1.1 dependencies: - '@logto/core-kit': 1.0.0-beta.19 + '@logto/core-kit': 1.0.0-beta.20 devDependencies: '@logto/language-kit': 1.0.0-beta.20 '@logto/phrases': link:../phrases @@ -2341,6 +2341,7 @@ packages: color: 4.2.3 nanoid: 3.3.4 zod: 3.19.1 + dev: true /@logto/core-kit/1.0.0-beta.20: resolution: {integrity: sha512-seYvL/aGYRfO4d0FYfKIW/Cu9PnFMRpRM5/oRXwXbcbv+LY1a3TcAX0itrVXeBygIrxiAmWd9DL7CGIWzb48Qg==} @@ -2350,7 +2351,6 @@ packages: color: 4.2.3 nanoid: 3.3.4 zod: 3.19.1 - dev: false /@logto/js/1.0.0-beta.10: resolution: {integrity: sha512-mMzverjbeKtGjSb0NmEUHzDBRrXhCPOydCE37yhzL/qORiehyblPqntw3lLrf5oCNUKaxv7PzT5q/Lfbxb3Q8g==} @@ -7361,7 +7361,6 @@ packages: /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true /graceful-fs/4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} @@ -8779,7 +8778,7 @@ packages: '@jest/types': 27.5.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 micromatch: 4.0.5 pretty-format: 27.5.1 slash: 3.0.0 @@ -9009,7 +9008,7 @@ packages: '@types/node': 17.0.23 chalk: 4.1.2 ci-info: 3.3.2 - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 picomatch: 2.3.1 dev: true @@ -9270,7 +9269,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.9 + graceful-fs: 4.2.10 /jsonparse/1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} From 9271f4e3dc7079c683bf640a8d1e6a386007dd16 Mon Sep 17 00:00:00 2001 From: Xiao Yijun Date: Mon, 24 Oct 2022 14:48:11 +0800 Subject: [PATCH 18/18] chore: fix type import lint error --- .../tabs/SignUpAndSignInTab/ConnectorSetupWarning.tsx | 5 +++-- .../SignInExperience/tabs/SignUpAndSignInTab/SignUpForm.tsx | 2 +- packages/core/src/lib/sign-in-experience/index.ts | 3 ++- packages/core/src/lib/sign-in-experience/sign-in.ts | 5 +++-- packages/core/src/lib/sign-in-experience/sign-up.ts | 5 +++-- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/ConnectorSetupWarning.tsx b/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/ConnectorSetupWarning.tsx index 4b5ed6d8c..2c5b1e742 100644 --- a/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/ConnectorSetupWarning.tsx +++ b/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/ConnectorSetupWarning.tsx @@ -1,11 +1,12 @@ -import { ConnectorResponse, ConnectorType, SignUpIdentifier } from '@logto/schemas'; +import type { ConnectorResponse } from '@logto/schemas'; +import { ConnectorType, SignUpIdentifier } from '@logto/schemas'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { snakeCase } from 'snake-case'; import useSWR from 'swr'; import Alert from '@/components/Alert'; -import { RequestError } from '@/hooks/use-api'; +import type { RequestError } from '@/hooks/use-api'; type Props = { signUpIdentifier: SignUpIdentifier; diff --git a/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/SignUpForm.tsx b/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/SignUpForm.tsx index af146fcf6..f75b15a44 100644 --- a/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/SignUpForm.tsx +++ b/packages/console/src/pages/SignInExperience/tabs/SignUpAndSignInTab/SignUpForm.tsx @@ -8,7 +8,7 @@ import Checkbox from '@/components/Checkbox'; import FormField from '@/components/FormField'; import Select from '@/components/Select'; -import { SignInExperienceForm } from '../../types'; +import type { SignInExperienceForm } from '../../types'; import ConnectorSetupWarning from './ConnectorSetupWarning'; import * as styles from './index.module.scss'; diff --git a/packages/core/src/lib/sign-in-experience/index.ts b/packages/core/src/lib/sign-in-experience/index.ts index d0fcb751e..29d77f906 100644 --- a/packages/core/src/lib/sign-in-experience/index.ts +++ b/packages/core/src/lib/sign-in-experience/index.ts @@ -1,5 +1,6 @@ import { builtInLanguages } from '@logto/phrases-ui'; -import { Branding, BrandingStyle, LanguageInfo, TermsOfUse } from '@logto/schemas'; +import type { Branding, LanguageInfo, TermsOfUse } from '@logto/schemas'; +import { BrandingStyle } from '@logto/schemas'; import RequestError from '@/errors/RequestError'; import { findAllCustomLanguageTags } from '@/queries/custom-phrase'; diff --git a/packages/core/src/lib/sign-in-experience/sign-in.ts b/packages/core/src/lib/sign-in-experience/sign-in.ts index 9c5637306..ee0ba7327 100644 --- a/packages/core/src/lib/sign-in-experience/sign-in.ts +++ b/packages/core/src/lib/sign-in-experience/sign-in.ts @@ -1,6 +1,7 @@ -import { ConnectorType, SignIn, SignInIdentifier, SignUp, SignUpIdentifier } from '@logto/schemas'; +import type { SignIn, SignUp } from '@logto/schemas'; +import { ConnectorType, SignInIdentifier, SignUpIdentifier } from '@logto/schemas'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import assertThat from '@/utils/assert-that'; diff --git a/packages/core/src/lib/sign-in-experience/sign-up.ts b/packages/core/src/lib/sign-in-experience/sign-up.ts index 9ede827c7..f7b04554e 100644 --- a/packages/core/src/lib/sign-in-experience/sign-up.ts +++ b/packages/core/src/lib/sign-in-experience/sign-up.ts @@ -1,6 +1,7 @@ -import { ConnectorType, SignUp, SignUpIdentifier } from '@logto/schemas'; +import type { SignUp } from '@logto/schemas'; +import { ConnectorType, SignUpIdentifier } from '@logto/schemas'; -import { LogtoConnector } from '@/connectors/types'; +import type { LogtoConnector } from '@/connectors/types'; import RequestError from '@/errors/RequestError'; import assertThat from '@/utils/assert-that';