@descope/nextjs-sdk 0.0.0-next-3ba7f03f-20240207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +254 -0
- package/dist/client/dts/src/client/index.d.ts +1 -0
- package/dist/client/dts/src/index.d.ts +1 -0
- package/dist/client/dts/src/server/authMiddleware.d.ts +8 -0
- package/dist/client/dts/src/server/constants.d.ts +5 -0
- package/dist/client/dts/src/server/index.d.ts +3 -0
- package/dist/client/dts/src/server/sdk.d.ts +8 -0
- package/dist/client/dts/src/server/session.d.ts +4 -0
- package/dist/client/dts/src/shared/AuthProvider.d.ts +4 -0
- package/dist/client/dts/src/shared/DescopeFlows.d.ts +156 -0
- package/dist/client/dts/src/shared/index.d.ts +2 -0
- package/dist/client/dts/src/types.d.ts +1 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/dts/src/client/index.d.ts +1 -0
- package/dist/dts/src/index.d.ts +1 -0
- package/dist/dts/src/server/authMiddleware.d.ts +8 -0
- package/dist/dts/src/server/constants.d.ts +5 -0
- package/dist/dts/src/server/index.d.ts +3 -0
- package/dist/dts/src/server/sdk.d.ts +8 -0
- package/dist/dts/src/server/session.d.ts +4 -0
- package/dist/dts/src/shared/AuthProvider.d.ts +4 -0
- package/dist/dts/src/shared/DescopeFlows.d.ts +156 -0
- package/dist/dts/src/shared/index.d.ts +2 -0
- package/dist/dts/src/types.d.ts +1 -0
- package/dist/index.d.ts +162 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/server/authMiddleware.js +69 -0
- package/dist/server/authMiddleware.js.map +1 -0
- package/dist/server/constants.js +9 -0
- package/dist/server/constants.js.map +1 -0
- package/dist/server/dts/src/client/index.d.ts +1 -0
- package/dist/server/dts/src/index.d.ts +1 -0
- package/dist/server/dts/src/server/authMiddleware.d.ts +8 -0
- package/dist/server/dts/src/server/constants.d.ts +5 -0
- package/dist/server/dts/src/server/index.d.ts +3 -0
- package/dist/server/dts/src/server/sdk.d.ts +8 -0
- package/dist/server/dts/src/server/session.d.ts +4 -0
- package/dist/server/dts/src/shared/AuthProvider.d.ts +4 -0
- package/dist/server/dts/src/shared/DescopeFlows.d.ts +156 -0
- package/dist/server/dts/src/shared/index.d.ts +2 -0
- package/dist/server/dts/src/types.d.ts +1 -0
- package/dist/server/index.d.ts +21 -0
- package/dist/server/index.js +4 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/sdk.js +26 -0
- package/dist/server/sdk.js.map +1 -0
- package/dist/server/session.js +24 -0
- package/dist/server/session.js.map +1 -0
- package/dist/shared/AuthProvider.js +10 -0
- package/dist/shared/AuthProvider.js.map +1 -0
- package/dist/shared/DescopeFlows.js +42 -0
- package/dist/shared/DescopeFlows.js.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import descopeSdk from '@descope/node-sdk';
|
|
2
|
+
import { baseHeaders } from './constants.js';
|
|
3
|
+
|
|
4
|
+
let globalSdk;
|
|
5
|
+
const createSdk = (config) => descopeSdk({
|
|
6
|
+
...config,
|
|
7
|
+
projectId: config.projectId || process.env.DESCOPE_PROJECT_ID,
|
|
8
|
+
managementKey: config.managementKey || process.env.DESCOPE_MANAGEMENT_KEY,
|
|
9
|
+
baseUrl: config.baseUrl || process.env.DESCOPE_BASE_URL,
|
|
10
|
+
baseHeaders: {
|
|
11
|
+
...config?.baseHeaders,
|
|
12
|
+
...baseHeaders
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const getGlobalSdk = (config) => {
|
|
16
|
+
if (!globalSdk) {
|
|
17
|
+
if (!config?.projectId && !process.env.DESCOPE_PROJECT_ID) {
|
|
18
|
+
throw new Error('Descope project ID is required to create the SDK');
|
|
19
|
+
}
|
|
20
|
+
globalSdk = createSdk(config);
|
|
21
|
+
}
|
|
22
|
+
return globalSdk;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { createSdk, getGlobalSdk };
|
|
26
|
+
//# sourceMappingURL=sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sources":["../../src/server/sdk.ts"],"sourcesContent":["import descopeSdk from '@descope/node-sdk';\nimport { baseHeaders } from './constants';\n\ntype Sdk = ReturnType<typeof descopeSdk>;\ntype CreateSdkParams = Omit<Parameters<typeof descopeSdk>[0], 'projectId'> & {\n\tprojectId?: string | undefined;\n};\n\nlet globalSdk: Sdk;\n\nexport const createSdk = (config?: CreateSdkParams): Sdk =>\n\tdescopeSdk({\n\t\t...config,\n\t\tprojectId: config.projectId || process.env.DESCOPE_PROJECT_ID,\n\t\tmanagementKey: config.managementKey || process.env.DESCOPE_MANAGEMENT_KEY,\n\t\tbaseUrl: config.baseUrl || process.env.DESCOPE_BASE_URL,\n\t\tbaseHeaders: {\n\t\t\t...config?.baseHeaders,\n\t\t\t...baseHeaders\n\t\t}\n\t});\n\nexport const getGlobalSdk = (\n\tconfig?: Pick<CreateSdkParams, 'projectId'>\n): Sdk => {\n\tif (!globalSdk) {\n\t\tif (!config?.projectId && !process.env.DESCOPE_PROJECT_ID) {\n\t\t\tthrow new Error('Descope project ID is required to create the SDK');\n\t\t}\n\t\tglobalSdk = createSdk(config);\n\t}\n\n\treturn globalSdk;\n};\n"],"names":[],"mappings":";;;AAQA,IAAI,SAAc,CAAC;AAEN,MAAA,SAAS,GAAG,CAAC,MAAwB,KACjD,UAAU,CAAC;AACV,IAAA,GAAG,MAAM;IACT,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB;IAC7D,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB;IACzE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AACvD,IAAA,WAAW,EAAE;QACZ,GAAG,MAAM,EAAE,WAAW;AACtB,QAAA,GAAG,WAAW;AACd,KAAA;AACD,CAAA,EAAE;AAES,MAAA,YAAY,GAAG,CAC3B,MAA2C,KACnC;IACR,IAAI,CAAC,SAAS,EAAE;QACf,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;AAC1D,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACpE,SAAA;AACD,QAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAC9B,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AAClB;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { headers } from 'next/headers';
|
|
2
|
+
import { DESCOPE_SESSION_HEADER } from './constants.js';
|
|
3
|
+
|
|
4
|
+
const extractSession = (descopeSession) => {
|
|
5
|
+
if (!descopeSession) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
const authInfo = JSON.parse(Buffer.from(descopeSession, 'base64').toString());
|
|
10
|
+
return authInfo;
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
// returns the session token if it exists in the headers
|
|
17
|
+
// This function require middleware
|
|
18
|
+
const session = () => extractSession(headers()?.get(DESCOPE_SESSION_HEADER));
|
|
19
|
+
// returns the session token if it exists in the request headers
|
|
20
|
+
// This function require middleware
|
|
21
|
+
const getSession = (req) => extractSession(req.headers[DESCOPE_SESSION_HEADER.toLowerCase()]);
|
|
22
|
+
|
|
23
|
+
export { getSession, session };
|
|
24
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sources":["../../src/server/session.ts"],"sourcesContent":["import { AuthenticationInfo } from '@descope/node-sdk';\nimport { NextApiRequest } from 'next';\nimport { headers } from 'next/headers';\nimport { DESCOPE_SESSION_HEADER } from './constants';\n\nconst extractSession = (\n\tdescopeSession?: string\n): AuthenticationInfo | undefined => {\n\tif (!descopeSession) {\n\t\treturn undefined;\n\t}\n\ttry {\n\t\tconst authInfo = JSON.parse(\n\t\t\tBuffer.from(descopeSession, 'base64').toString()\n\t\t) as AuthenticationInfo;\n\t\treturn authInfo;\n\t} catch (err) {\n\t\treturn undefined;\n\t}\n};\n// returns the session token if it exists in the headers\n// This function require middleware\nexport const session = (): AuthenticationInfo | undefined =>\n\textractSession(headers()?.get(DESCOPE_SESSION_HEADER));\n\n// returns the session token if it exists in the request headers\n// This function require middleware\nexport const getSession = (\n\treq: NextApiRequest\n): AuthenticationInfo | undefined =>\n\textractSession(req.headers[DESCOPE_SESSION_HEADER.toLowerCase()] as string);\n"],"names":[],"mappings":";;;AAKA,MAAM,cAAc,GAAG,CACtB,cAAuB,KACY;IACnC,IAAI,CAAC,cAAc,EAAE;AACpB,QAAA,OAAO,SAAS,CAAC;AACjB,KAAA;IACD,IAAI;AACH,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAC1B,CAAC;AACxB,QAAA,OAAO,QAAQ,CAAC;AAChB,KAAA;AAAC,IAAA,OAAO,GAAG,EAAE;AACb,QAAA,OAAO,SAAS,CAAC;AACjB,KAAA;AACF,CAAC,CAAC;AACF;AACA;AACa,MAAA,OAAO,GAAG,MACtB,cAAc,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAAE;AAExD;AACA;MACa,UAAU,GAAG,CACzB,GAAmB,KAEnB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAW;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { AuthProvider as AuthProvider$1 } from '@descope/react-sdk';
|
|
4
|
+
|
|
5
|
+
const AuthProvider = (props) => (
|
|
6
|
+
// by default we use sessionTokenViaCookie, so middleware will work out of the box
|
|
7
|
+
React.createElement(AuthProvider$1, { sessionTokenViaCookie: true, ...props }));
|
|
8
|
+
|
|
9
|
+
export { AuthProvider as default };
|
|
10
|
+
//# sourceMappingURL=AuthProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sources":["../../src/shared/AuthProvider.tsx"],"sourcesContent":["'use client';\n\nimport React, { ComponentProps } from 'react';\n\nimport { AuthProvider as AuthProviderComp } from '@descope/react-sdk';\n\nconst AuthProvider = (props: ComponentProps<typeof AuthProviderComp>) => (\n\t// by default we use sessionTokenViaCookie, so middleware will work out of the box\n\t<AuthProviderComp sessionTokenViaCookie {...props} />\n);\n\nexport default AuthProvider;\n"],"names":[],"mappings":";;;;AAMA;AACC;AACA;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import dynamic from 'next/dynamic';
|
|
4
|
+
import { useRouter } from 'next/navigation';
|
|
5
|
+
|
|
6
|
+
// Generalized function to dynamically import components from @descope/react-sdk
|
|
7
|
+
// Dynamic is needed because the Descope components has a side effect us
|
|
8
|
+
// and NextJS will load the page on the server even if it is a client side only page
|
|
9
|
+
const dynamicDescopeComponent = (componentName) => dynamic(async () => {
|
|
10
|
+
const DescopeComponents = await import('@descope/react-sdk');
|
|
11
|
+
const Component = DescopeComponents[componentName];
|
|
12
|
+
return ({ redirectAfterSuccess = '', redirectAfterError = '', ...props }) => {
|
|
13
|
+
const router = useRouter();
|
|
14
|
+
const modifiedProps = { ...props };
|
|
15
|
+
if (redirectAfterSuccess) {
|
|
16
|
+
modifiedProps.onSuccess = (...args) => {
|
|
17
|
+
if (props.onSuccess) {
|
|
18
|
+
props.onSuccess(...args);
|
|
19
|
+
}
|
|
20
|
+
router.push(redirectAfterSuccess);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (redirectAfterError) {
|
|
24
|
+
modifiedProps.onError = (...args) => {
|
|
25
|
+
if (props.onError) {
|
|
26
|
+
props.onError(...args);
|
|
27
|
+
}
|
|
28
|
+
router.push(redirectAfterError);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return React.createElement(Component, { ...modifiedProps });
|
|
32
|
+
};
|
|
33
|
+
}, {
|
|
34
|
+
ssr: false
|
|
35
|
+
});
|
|
36
|
+
const Descope = dynamicDescopeComponent('Descope');
|
|
37
|
+
const SignInFlow = dynamicDescopeComponent('SignInFlow');
|
|
38
|
+
const SignUpFlow = dynamicDescopeComponent('SignUpFlow');
|
|
39
|
+
const SignUpOrInFlow = dynamicDescopeComponent('SignUpOrInFlow');
|
|
40
|
+
|
|
41
|
+
export { Descope, SignInFlow, SignUpFlow, SignUpOrInFlow };
|
|
42
|
+
//# sourceMappingURL=DescopeFlows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DescopeFlows.js","sources":["../../src/shared/DescopeFlows.tsx"],"sourcesContent":["'use client';\n\nimport React, { ComponentType, ComponentProps } from 'react';\nimport dynamic from 'next/dynamic';\nimport { useRouter } from 'next/navigation';\nimport {\n\tDescope as DescopeWC,\n\tSignInFlow as SignInFlowWC,\n\tSignUpFlow as SignUpFlowWC,\n\tSignUpOrInFlow as SignUpOrInFlowWC\n} from '@descope/react-sdk';\n\ntype DescopeWCProps = ComponentProps<typeof DescopeWC>;\ntype SignInFlowProps = ComponentProps<typeof SignInFlowWC>;\ntype SignUpFlowProps = ComponentProps<typeof SignUpFlowWC>;\ntype SignUpOrInFlowProps = ComponentProps<typeof SignUpOrInFlowWC>;\n\ntype AdditionalProps = {\n\tredirectAfterSuccess?: string;\n\tredirectAfterError?: string;\n};\n\ntype DynamicComponentProps = {\n\tonSuccess?: (...args: any[]) => void;\n\tonError?: (...args: any[]) => void;\n};\n\n// Generalized function to dynamically import components from @descope/react-sdk\n// Dynamic is needed because the Descope components has a side effect us\n// and NextJS will load the page on the server even if it is a client side only page\nconst dynamicDescopeComponent = <\n\tT extends ComponentType<DynamicComponentProps>\n>(\n\tcomponentName: string\n) =>\n\tdynamic<ComponentProps<T> & AdditionalProps>(\n\t\tasync () => {\n\t\t\tconst DescopeComponents = await import('@descope/react-sdk');\n\t\t\tconst Component = DescopeComponents[componentName];\n\t\t\treturn ({\n\t\t\t\tredirectAfterSuccess = '',\n\t\t\t\tredirectAfterError = '',\n\t\t\t\t...props\n\t\t\t}: ComponentProps<T> & AdditionalProps) => {\n\t\t\t\tconst router = useRouter();\n\t\t\t\tconst modifiedProps = { ...props };\n\n\t\t\t\tif (redirectAfterSuccess) {\n\t\t\t\t\tmodifiedProps.onSuccess = (...args) => {\n\t\t\t\t\t\tif (props.onSuccess) {\n\t\t\t\t\t\t\tprops.onSuccess(...args);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trouter.push(redirectAfterSuccess);\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (redirectAfterError) {\n\t\t\t\t\tmodifiedProps.onError = (...args) => {\n\t\t\t\t\t\tif (props.onError) {\n\t\t\t\t\t\t\tprops.onError(...args);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trouter.push(redirectAfterError);\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn <Component {...modifiedProps} />;\n\t\t\t};\n\t\t},\n\t\t{\n\t\t\tssr: false\n\t\t}\n\t);\n\nexport const Descope =\n\tdynamicDescopeComponent<React.ComponentType<DescopeWCProps>>('Descope');\nexport const SignInFlow =\n\tdynamicDescopeComponent<React.ComponentType<SignInFlowProps>>('SignInFlow');\nexport const SignUpFlow =\n\tdynamicDescopeComponent<React.ComponentType<SignUpFlowProps>>('SignUpFlow');\nexport const SignUpOrInFlow =\n\tdynamicDescopeComponent<React.ComponentType<SignUpOrInFlowProps>>(\n\t\t'SignUpOrInFlow'\n\t);\n"],"names":[],"mappings":";;;;;AA2BA;AACA;AACA;AACA;AAOG;AACA;AACA;AAKC;AACA;AAEA;AACC;;AAEE;AACA;AACD;AACD;AACA;AAED;AACC;;AAEE;AACA;AACD;AACD;AACA;AACD;AACD;AACD;AAEC;AACA;;;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@descope/nextjs-sdk",
|
|
3
|
+
"version": "0.0.0-next-3ba7f03f-20240207",
|
|
4
|
+
"description": "Descope NextJS SDK",
|
|
5
|
+
"author": "Descope Team <info@descope.com>",
|
|
6
|
+
"homepage": "https://github.com/descope/nextjs-sdk",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/descope/nextjs-sdk/issues",
|
|
9
|
+
"email": "help@descope.com"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/descope/nextjs-sdk.git"
|
|
14
|
+
},
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"import": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"default": "./dist/index.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"./client": {
|
|
25
|
+
"import": {
|
|
26
|
+
"types": "./dist/client/index.d.ts",
|
|
27
|
+
"default": "./dist/client/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./server": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./dist/server/index.d.ts",
|
|
33
|
+
"default": "./dist/server/index.js"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"typesVersions": {
|
|
38
|
+
"*": {
|
|
39
|
+
"*": [
|
|
40
|
+
"dist/index.d.ts"
|
|
41
|
+
],
|
|
42
|
+
"client": [
|
|
43
|
+
"dist/client/index.d.ts"
|
|
44
|
+
],
|
|
45
|
+
"server": [
|
|
46
|
+
"dist/server/index.d.ts"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"main": "dist/index.js",
|
|
51
|
+
"module": "dist/index.mjs",
|
|
52
|
+
"types": "dist/index.d.ts",
|
|
53
|
+
"files": [
|
|
54
|
+
"dist/**/*"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "rollup -c",
|
|
58
|
+
"format": "prettier . -w --ignore-path .gitignore",
|
|
59
|
+
"format-check": "prettier . --check --ignore-path .gitignore",
|
|
60
|
+
"leaks": "bash ./scripts/gitleaks/gitleaks.sh",
|
|
61
|
+
"lint": "eslint '+(src)/**/*.+(ts|tsx)' --fix",
|
|
62
|
+
"prepare": "husky install",
|
|
63
|
+
"prepublishOnly": "npm run build",
|
|
64
|
+
"start": "npm run build && (cd examples/app-router && npm run dev)",
|
|
65
|
+
"test": "jest"
|
|
66
|
+
},
|
|
67
|
+
"lint-staged": {
|
|
68
|
+
"+(src|test|examples)/**/*.{js,ts,jsx,tsx}": [
|
|
69
|
+
"npm run lint"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"dependencies": {
|
|
73
|
+
"@descope/node-sdk": "1.6.2",
|
|
74
|
+
"@descope/react-sdk": "0.0.0-next-c9382464-20240206"
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@babel/core": "7.22.10",
|
|
78
|
+
"@babel/preset-env": "7.22.10",
|
|
79
|
+
"@babel/preset-react": "7.22.5",
|
|
80
|
+
"@babel/preset-typescript": "7.22.5",
|
|
81
|
+
"@open-wc/rollup-plugin-html": "^1.2.5",
|
|
82
|
+
"@rollup/plugin-commonjs": "^25.0.5",
|
|
83
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
84
|
+
"@rollup/plugin-replace": "^5.0.0",
|
|
85
|
+
"@rollup/plugin-typescript": "^8.3.0",
|
|
86
|
+
"@swc/core": "^1.3.92",
|
|
87
|
+
"@testing-library/jest-dom": "^6.4.2",
|
|
88
|
+
"@testing-library/react": "^14.2.1",
|
|
89
|
+
"@types/react": "17.0.60",
|
|
90
|
+
"@types/react-dom": "18.2.7",
|
|
91
|
+
"@types/react-router-dom": "^5.3.3",
|
|
92
|
+
"babel": "^6.23.0",
|
|
93
|
+
"babel-jest": "^27.5.1",
|
|
94
|
+
"eslint": "8.47.0",
|
|
95
|
+
"eslint-config-airbnb": "19.0.4",
|
|
96
|
+
"eslint-config-airbnb-typescript": "17.1.0",
|
|
97
|
+
"eslint-config-prettier": "8.10.0",
|
|
98
|
+
"eslint-config-standard": "17.1.0",
|
|
99
|
+
"eslint-import-resolver-typescript": "2.7.1",
|
|
100
|
+
"eslint-plugin-import": "2.28.1",
|
|
101
|
+
"eslint-plugin-jest": "27.2.3",
|
|
102
|
+
"eslint-plugin-jest-dom": "4.0.3",
|
|
103
|
+
"eslint-plugin-jest-formatting": "3.1.0",
|
|
104
|
+
"eslint-plugin-jsx-a11y": "6.7.1",
|
|
105
|
+
"eslint-plugin-n": "15.7.0",
|
|
106
|
+
"eslint-plugin-no-only-tests": "3.1.0",
|
|
107
|
+
"eslint-plugin-prefer-arrow": "1.2.3",
|
|
108
|
+
"eslint-plugin-prettier": "4.2.1",
|
|
109
|
+
"eslint-plugin-promise": "6.1.1",
|
|
110
|
+
"eslint-plugin-react": "7.33.2",
|
|
111
|
+
"eslint-plugin-react-hooks": "4.6.0",
|
|
112
|
+
"eslint-plugin-testing-library": "5.11.1",
|
|
113
|
+
"git-format-staged": "^3.0.0",
|
|
114
|
+
"husky": "^8.0.0",
|
|
115
|
+
"jest": "^29.7.0",
|
|
116
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
117
|
+
"jest-fetch-mock": "^3.0.3",
|
|
118
|
+
"lint-staged": "^13.0.3",
|
|
119
|
+
"msw": "^2.1.7",
|
|
120
|
+
"next": "^13.4.19",
|
|
121
|
+
"rollup": "^2.62.0",
|
|
122
|
+
"rollup-plugin-auto-external": "^2.0.0",
|
|
123
|
+
"rollup-plugin-browsersync": "^1.3.3",
|
|
124
|
+
"rollup-plugin-define": "^1.0.1",
|
|
125
|
+
"rollup-plugin-delete": "^2.0.0",
|
|
126
|
+
"rollup-plugin-dotenv": "^0.5.0",
|
|
127
|
+
"rollup-plugin-dts": "^4.2.2",
|
|
128
|
+
"rollup-plugin-livereload": "^2.0.5",
|
|
129
|
+
"rollup-plugin-preserve-directives": "^0.2.0",
|
|
130
|
+
"rollup-plugin-serve": "^2.0.0",
|
|
131
|
+
"rollup-plugin-swc3": "^0.10.2",
|
|
132
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
133
|
+
"rollup-swc-preserve-directives": "^0.5.0",
|
|
134
|
+
"ts-node": "^10.9.2",
|
|
135
|
+
"typescript": "^4.5.3"
|
|
136
|
+
},
|
|
137
|
+
"peerDependencies": {
|
|
138
|
+
"@types/react": ">=18",
|
|
139
|
+
"next": ">=13",
|
|
140
|
+
"react": ">=18"
|
|
141
|
+
},
|
|
142
|
+
"optionalDependencies": {
|
|
143
|
+
"@descope/web-js-sdk": ">=1"
|
|
144
|
+
}
|
|
145
|
+
}
|