Skip to content

Commit ec161d8

Browse files
committed
feat(identity-integration): export page and app router flows
1 parent e4b343c commit ec161d8

27 files changed

+1087
-150
lines changed

.pnp.cjs

+1-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.yarnrc.yml

+6
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,9 @@ enableGlobalCache: true
55
globalFolder: ../.yarn/berry
66

77
yarnPath: .yarn/releases/yarn.cjs
8+
9+
preferReuse: true
10+
11+
defaultSemverRangePrefix: ''
12+
13+
pnpEnableEsmLoader: true

packages/identity-integration/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Identity Integration
22

3+
## BREAKING CHANGE 1.0.0
4+
5+
- Flow экспортируются:
6+
- `@atls/next-identity-integration/app-router` - для `app` роутера
7+
- `@atls/next-identity-integration/page-router` - для `pages` роутера
8+
39
## BREAKING CHANGE 0.2.0
410

511
- Переход на `App Router` для `Next.JS@14`

packages/identity-integration/package.json

+23-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
"license": "BSD-3-Clause",
55
"type": "module",
66
"exports": {
7-
".": "./src/index.ts"
7+
".": "./src/index.ts",
8+
"./package.json": "./package.json",
9+
"./app-router": "./src/app-router.ts",
10+
"./page-router": "./src/page-router.ts"
811
},
912
"main": "src/index.ts",
1013
"files": [
@@ -25,7 +28,7 @@
2528
"@types/react": "18.2.40",
2629
"@types/react-dom": "18.2.10",
2730
"@types/tldjs": "2.3.4",
28-
"axios": "1.5.1",
31+
"axios": "1.7.7",
2932
"next": "14.2.9",
3033
"react": "18.3.1",
3134
"react-dom": "18.3.1"
@@ -36,6 +39,24 @@
3639
},
3740
"publishConfig": {
3841
"access": "public",
42+
"exports": {
43+
"./package.json": "./package.json",
44+
".": {
45+
"import": "./dist/index.js",
46+
"types": "./dist/index.d.ts",
47+
"default": "./dist/index.js"
48+
},
49+
"./app-router": {
50+
"import": "./dist/app-router.js",
51+
"types": "./dist/app-router.d.ts",
52+
"default": "./dist/app-router.js"
53+
},
54+
"./page-router": {
55+
"import": "./dist/page-router.js",
56+
"types": "./dist/page-router.d.ts",
57+
"default": "./dist/page-router.js"
58+
}
59+
},
3960
"main": "dist/index.js",
4061
"typings": "dist/index.d.ts"
4162
},
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './flows-app-router/index.js'

packages/identity-integration/src/flows/error.flow.tsx packages/identity-integration/src/flows-app-router/error.flow.tsx

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
import { FlowError } from '@ory/kratos-client'
2-
import { AxiosError } from 'axios'
3-
import { PropsWithChildren } from 'react'
4-
import { FC } from 'react'
5-
import { useRouter } from 'next/navigation.js'
6-
import { useSearchParams } from 'next/navigation.js'
7-
import { useState } from 'react'
8-
import { useEffect } from 'react'
9-
import React from 'react'
10-
11-
import { ErrorProvider } from '../providers/index.js'
12-
import { useKratosClient } from '../providers/index.js'
1+
import type { FlowError } from '@ory/kratos-client'
2+
import type { AxiosError } from 'axios'
3+
import type { PropsWithChildren } from 'react'
4+
import type { FC } from 'react'
5+
6+
import { useRouter } from 'next/navigation.js'
7+
import { useSearchParams } from 'next/navigation.js'
8+
import { useState } from 'react'
9+
import { useEffect } from 'react'
10+
import React from 'react'
11+
12+
import { ErrorProvider } from '../providers/index.js'
13+
import { useKratosClient } from '../providers/index.js'
1314

1415
export interface ErrorErrorProps {
1516
returnToUrl?: string

packages/identity-integration/src/flows/login.flow.tsx packages/identity-integration/src/flows-app-router/login.flow.tsx

+20-19
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
import { UpdateLoginFlowBody } from '@ory/kratos-client'
2-
import { LoginFlow as KratosLoginFlow } from '@ory/kratos-client'
3-
import { AxiosError } from 'axios'
4-
import { PropsWithChildren } from 'react'
5-
import { FC } from 'react'
6-
import { useSearchParams } from 'next/navigation.js'
7-
import { useRouter } from 'next/navigation.js'
8-
import { useState } from 'react'
9-
import { useEffect } from 'react'
10-
import { useMemo } from 'react'
11-
import { useCallback } from 'react'
12-
import React from 'react'
13-
14-
import { FlowProvider } from '../providers/index.js'
15-
import { ValuesProvider } from '../providers/index.js'
16-
import { ValuesStore } from '../providers/index.js'
17-
import { SubmitProvider } from '../providers/index.js'
18-
import { useKratosClient } from '../providers/index.js'
19-
import { handleFlowError } from './handle-errors.util.js'
1+
import type { UpdateLoginFlowBody } from '@ory/kratos-client'
2+
import type { LoginFlow as KratosLoginFlow } from '@ory/kratos-client'
3+
import type { AxiosError } from 'axios'
4+
import type { PropsWithChildren } from 'react'
5+
import type { FC } from 'react'
6+
7+
import { useSearchParams } from 'next/navigation.js'
8+
import { useRouter } from 'next/navigation.js'
9+
import { useState } from 'react'
10+
import { useEffect } from 'react'
11+
import { useMemo } from 'react'
12+
import { useCallback } from 'react'
13+
import React from 'react'
14+
15+
import { FlowProvider } from '../providers/index.js'
16+
import { ValuesProvider } from '../providers/index.js'
17+
import { ValuesStore } from '../providers/index.js'
18+
import { SubmitProvider } from '../providers/index.js'
19+
import { useKratosClient } from '../providers/index.js'
20+
import { handleFlowError } from './handle-errors.util.js'
2021

2122
export interface LoginFlowProps {
2223
onError?: (error: { id: string }) => void

packages/identity-integration/src/flows/logout.flow.tsx packages/identity-integration/src/flows-app-router/logout.flow.tsx

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import { LogoutFlow as KratosLogoutFlow } from '@ory/kratos-client'
2-
import { AxiosError } from 'axios'
3-
import { PropsWithChildren } from 'react'
4-
import { FC } from 'react'
5-
import { useSearchParams } from 'next/navigation.js'
6-
import { useRouter } from 'next/navigation.js'
7-
import { useState } from 'react'
8-
import { useEffect } from 'react'
9-
import React from 'react'
10-
11-
import { useKratosClient } from '../providers/index.js'
1+
import type { LogoutFlow as KratosLogoutFlow } from '@ory/kratos-client'
2+
import type { AxiosError } from 'axios'
3+
import type { PropsWithChildren } from 'react'
4+
import type { FC } from 'react'
5+
6+
import { useSearchParams } from 'next/navigation.js'
7+
import { useRouter } from 'next/navigation.js'
8+
import { useState } from 'react'
9+
import { useEffect } from 'react'
10+
import React from 'react'
11+
12+
import { useKratosClient } from '../providers/index.js'
1213

1314
interface LogoutFlowProps {
1415
returnToUrl?: string

packages/identity-integration/src/flows/recovery.flow.tsx packages/identity-integration/src/flows-app-router/recovery.flow.tsx

+20-19
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
import { UpdateRecoveryFlowBody } from '@ory/kratos-client'
2-
import { RecoveryFlow as KratosRecoveryFlow } from '@ory/kratos-client'
3-
import { AxiosError } from 'axios'
4-
import { PropsWithChildren } from 'react'
5-
import { FC } from 'react'
6-
import { useSearchParams } from 'next/navigation.js'
7-
import { useRouter } from 'next/navigation.js'
8-
import { useState } from 'react'
9-
import { useEffect } from 'react'
10-
import { useMemo } from 'react'
11-
import { useCallback } from 'react'
12-
import React from 'react'
13-
14-
import { FlowProvider } from '../providers/index.js'
15-
import { ValuesProvider } from '../providers/index.js'
16-
import { ValuesStore } from '../providers/index.js'
17-
import { SubmitProvider } from '../providers/index.js'
18-
import { useKratosClient } from '../providers/index.js'
19-
import { handleFlowError } from './handle-errors.util.js'
1+
import type { UpdateRecoveryFlowBody } from '@ory/kratos-client'
2+
import type { RecoveryFlow as KratosRecoveryFlow } from '@ory/kratos-client'
3+
import type { AxiosError } from 'axios'
4+
import type { PropsWithChildren } from 'react'
5+
import type { FC } from 'react'
6+
7+
import { useSearchParams } from 'next/navigation.js'
8+
import { useRouter } from 'next/navigation.js'
9+
import { useState } from 'react'
10+
import { useEffect } from 'react'
11+
import { useMemo } from 'react'
12+
import { useCallback } from 'react'
13+
import React from 'react'
14+
15+
import { FlowProvider } from '../providers/index.js'
16+
import { ValuesProvider } from '../providers/index.js'
17+
import { ValuesStore } from '../providers/index.js'
18+
import { SubmitProvider } from '../providers/index.js'
19+
import { useKratosClient } from '../providers/index.js'
20+
import { handleFlowError } from './handle-errors.util.js'
2021

2122
export interface RecoveryFlowProps {
2223
onError?: (error: { id: string }) => void

packages/identity-integration/src/flows/registration.flow.tsx packages/identity-integration/src/flows-app-router/registration.flow.tsx

+23-22
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
import { Identity } from '@ory/kratos-client'
2-
import { UpdateRegistrationFlowBody } from '@ory/kratos-client'
3-
import { RegistrationFlow as KratosRegistrationFlow } from '@ory/kratos-client'
4-
import { ContinueWith as KratosContinueWith } from '@ory/kratos-client'
5-
import { UiNodeInputAttributes } from '@ory/kratos-client'
6-
import { AxiosError } from 'axios'
7-
import { PropsWithChildren } from 'react'
8-
import { FC } from 'react'
9-
import { useSearchParams } from 'next/navigation.js'
10-
import { useRouter } from 'next/navigation.js'
11-
import { useState } from 'react'
12-
import { useEffect } from 'react'
13-
import { useMemo } from 'react'
14-
import { useCallback } from 'react'
15-
import React from 'react'
16-
17-
import { FlowProvider } from '../providers/index.js'
18-
import { ValuesProvider } from '../providers/index.js'
19-
import { ValuesStore } from '../providers/index.js'
20-
import { SubmitProvider } from '../providers/index.js'
21-
import { useKratosClient } from '../providers/index.js'
22-
import { handleFlowError } from './handle-errors.util.js'
1+
import type { Identity } from '@ory/kratos-client'
2+
import type { UpdateRegistrationFlowBody } from '@ory/kratos-client'
3+
import type { RegistrationFlow as KratosRegistrationFlow } from '@ory/kratos-client'
4+
import type { ContinueWith as KratosContinueWith } from '@ory/kratos-client'
5+
import type { UiNodeInputAttributes } from '@ory/kratos-client'
6+
import type { AxiosError } from 'axios'
7+
import type { PropsWithChildren } from 'react'
8+
import type { FC } from 'react'
9+
10+
import { useSearchParams } from 'next/navigation.js'
11+
import { useRouter } from 'next/navigation.js'
12+
import { useState } from 'react'
13+
import { useEffect } from 'react'
14+
import { useMemo } from 'react'
15+
import { useCallback } from 'react'
16+
import React from 'react'
17+
18+
import { FlowProvider } from '../providers/index.js'
19+
import { ValuesProvider } from '../providers/index.js'
20+
import { ValuesStore } from '../providers/index.js'
21+
import { SubmitProvider } from '../providers/index.js'
22+
import { useKratosClient } from '../providers/index.js'
23+
import { handleFlowError } from './handle-errors.util.js'
2324

2425
export interface RegistrationFlowProps {
2526
onError?: (error: { id: string }) => void

packages/identity-integration/src/flows/settings.flow.tsx packages/identity-integration/src/flows-app-router/settings.flow.tsx

+20-19
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
import { UpdateSettingsFlowBody } from '@ory/kratos-client'
2-
import { SettingsFlow as KratosSettingsFlow } from '@ory/kratos-client'
3-
import { AxiosError } from 'axios'
4-
import { PropsWithChildren } from 'react'
5-
import { FC } from 'react'
6-
import { useSearchParams } from 'next/navigation.js'
7-
import { useRouter } from 'next/navigation.js'
8-
import { useState } from 'react'
9-
import { useEffect } from 'react'
10-
import { useMemo } from 'react'
11-
import { useCallback } from 'react'
12-
import React from 'react'
13-
14-
import { FlowProvider } from '../providers/index.js'
15-
import { ValuesProvider } from '../providers/index.js'
16-
import { ValuesStore } from '../providers/index.js'
17-
import { SubmitProvider } from '../providers/index.js'
18-
import { useKratosClient } from '../providers/index.js'
19-
import { handleFlowError } from './handle-errors.util.js'
1+
import type { UpdateSettingsFlowBody } from '@ory/kratos-client'
2+
import type { SettingsFlow as KratosSettingsFlow } from '@ory/kratos-client'
3+
import type { AxiosError } from 'axios'
4+
import type { PropsWithChildren } from 'react'
5+
import type { FC } from 'react'
6+
7+
import { useSearchParams } from 'next/navigation.js'
8+
import { useRouter } from 'next/navigation.js'
9+
import { useState } from 'react'
10+
import { useEffect } from 'react'
11+
import { useMemo } from 'react'
12+
import { useCallback } from 'react'
13+
import React from 'react'
14+
15+
import { FlowProvider } from '../providers/index.js'
16+
import { ValuesProvider } from '../providers/index.js'
17+
import { ValuesStore } from '../providers/index.js'
18+
import { SubmitProvider } from '../providers/index.js'
19+
import { useKratosClient } from '../providers/index.js'
20+
import { handleFlowError } from './handle-errors.util.js'
2021

2122
export interface SettingsFlowProps {
2223
onError?: (error: { id: string }) => void

packages/identity-integration/src/flows/verification.flow.tsx packages/identity-integration/src/flows-app-router/verification.flow.tsx

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
/* eslint-disable default-case */
22

3-
import { UpdateVerificationFlowBody } from '@ory/kratos-client'
4-
import { VerificationFlow as KratosVerificationFlow } from '@ory/kratos-client'
5-
import { AxiosError } from 'axios'
6-
import { PropsWithChildren } from 'react'
7-
import { FC } from 'react'
8-
import { useSearchParams } from 'next/navigation.js'
9-
import { useRouter } from 'next/navigation.js'
10-
import { useState } from 'react'
11-
import { useEffect } from 'react'
12-
import { useMemo } from 'react'
13-
import { useCallback } from 'react'
14-
import React from 'react'
15-
16-
import { FlowProvider } from '../providers/index.js'
17-
import { ValuesProvider } from '../providers/index.js'
18-
import { ValuesStore } from '../providers/index.js'
19-
import { SubmitProvider } from '../providers/index.js'
20-
import { useKratosClient } from '../providers/index.js'
3+
import type { UpdateVerificationFlowBody } from '@ory/kratos-client'
4+
import type { VerificationFlow as KratosVerificationFlow } from '@ory/kratos-client'
5+
import type { AxiosError } from 'axios'
6+
import type { PropsWithChildren } from 'react'
7+
import type { FC } from 'react'
8+
9+
import { useSearchParams } from 'next/navigation.js'
10+
import { useRouter } from 'next/navigation.js'
11+
import { useState } from 'react'
12+
import { useEffect } from 'react'
13+
import { useMemo } from 'react'
14+
import { useCallback } from 'react'
15+
import React from 'react'
16+
17+
import { FlowProvider } from '../providers/index.js'
18+
import { ValuesProvider } from '../providers/index.js'
19+
import { ValuesStore } from '../providers/index.js'
20+
import { SubmitProvider } from '../providers/index.js'
21+
import { useKratosClient } from '../providers/index.js'
2122

2223
export interface VerificationFlowProps {
2324
onError?: (error: { id: string }) => void

0 commit comments

Comments
 (0)