@frontegg/nextjs 9.2.10 → 9.2.11-alpha.19798105448
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/CHANGELOG.md +20 -0
- package/index.js +1 -1
- package/middleware/FronteggApiMiddleware.js +1 -1
- package/middleware/FronteggApiMiddleware.js.map +1 -1
- package/package.json +3 -3
- package/pages/helpers.d.ts +12 -1
- package/pages/helpers.js +11 -0
- package/pages/helpers.js.map +1 -1
- package/sdkVersion.js +1 -1
- package/sdkVersion.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [9.2.11](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.10...v9.2.11) (2025-11-30)
|
|
4
|
+
|
|
5
|
+
- FR-22193 - Added admin portal support for searching by username, email, name, etc. in the users table
|
|
6
|
+
|
|
7
|
+
<!-- CURSOR_SUMMARY -->
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
> [!NOTE]
|
|
11
|
+
> Updates @frontegg/js and @frontegg/react-hooks to 7.93.0 and refreshes related lockfile entries.
|
|
12
|
+
>
|
|
13
|
+
> - **Dependencies**:
|
|
14
|
+
> - Bump `@frontegg/js` and `@frontegg/react-hooks` to `7.93.0` in `packages/nextjs/package.json`.
|
|
15
|
+
> - Update related Frontegg entries in `yarn.lock` (`@frontegg/types`, `@frontegg/redux-store`, `@frontegg/rest-api`) to `7.93.0`.
|
|
16
|
+
>
|
|
17
|
+
> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5e41e46c4b54adeb7957e68544a9f317b3a82202. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>
|
|
18
|
+
<!-- /CURSOR_SUMMARY -->
|
|
19
|
+
|
|
20
|
+
### NextJS Wrapper 9.2.11:
|
|
21
|
+
- FR-22443 Enhance getSession function to require response object
|
|
22
|
+
|
|
3
23
|
## [9.2.10](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.9...v9.2.10) (2025-10-19)
|
|
4
24
|
|
|
5
25
|
|
package/index.js
CHANGED
|
@@ -50,7 +50,7 @@ const middlewarePromise = (req, res, options) => new Promise(async resolve => {
|
|
|
50
50
|
}
|
|
51
51
|
const headers = {};
|
|
52
52
|
if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {
|
|
53
|
-
const session = await (0, _pages.getSession)(req);
|
|
53
|
+
const session = await (0, _pages.getSession)(req, res);
|
|
54
54
|
if (session != null && session.accessToken) {
|
|
55
55
|
headers['authorization'] = 'Bearer ' + session.accessToken;
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FronteggApiMiddleware.js","names":["_FronteggProxy","require","_constants","_helpers","_pages","_config","_interopRequireDefault","_cookies","_common","handleCors","req","res","corsOptions","_req$headers$host","allowedOrigins","allowedMethods","allowedHeaders","allowCredentials","isInternalRequest","headers","host","_req$headers$origin","origin","combinedHeaders","Array","from","Set","defaultFronteggHeaders","includes","setHeader","removeHeader","join","middlewarePromise","options","Promise","resolve","_req$url","fronteggUrlPath","rewritePath","url","fronteggPathRewrite","rewriteUrl","fronteggSSOPathRewrite","on","proxyOptions","target","process","env","session","getSession","accessToken","config","isHostedLogin","isFronteggLogoutUrl","sessionCookie","CookieManager","getSessionCookieFromRequest","tokens","getTokensFromCookie","ipResolver","cors","FronteggProxy","web","_extends2","default","FronteggApiMiddleware","exports","withOptions"],"sources":["../../../../packages/nextjs/src/middleware/FronteggApiMiddleware.ts"],"sourcesContent":["import type { NextApiRequest, NextApiResponse } from 'next';\nimport { FronteggProxy } from './FronteggProxy';\nimport { fronteggSSOPathRewrite, fronteggPathRewrite, defaultFronteggHeaders } from './constants';\nimport { isInternalRequest, rewritePath } from './helpers';\nimport { getSession } from '../pages';\nimport { CorsOptions, FronteggApiMiddlewareType, FronteggMiddlewareOptions } from './types';\nimport config from '../config';\nimport { isFronteggLogoutUrl } from './helpers';\nimport CookieManager from '../utils/cookies';\nimport { getTokensFromCookie } from '../common';\n\nconst handleCors = (req: NextApiRequest, res: NextApiResponse, corsOptions?: CorsOptions) => {\n if (!corsOptions) return;\n\n const {\n allowedOrigins = ['*'],\n allowedMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],\n allowedHeaders = ['Content-Type', 'Authorization'],\n allowCredentials = true,\n } = corsOptions;\n\n if (isInternalRequest(req.headers.host ?? '')) {\n const origin = req.headers.origin ?? '';\n const combinedHeaders = Array.from(new Set([...defaultFronteggHeaders, ...allowedHeaders]));\n\n if (allowedOrigins.includes(origin)) {\n res.setHeader('Access-Control-Allow-Origin', origin);\n } else {\n res.removeHeader('Access-Control-Allow-Origin');\n }\n\n res.setHeader('Access-Control-Allow-Methods', allowedMethods.join(','));\n res.setHeader('Access-Control-Allow-Headers', combinedHeaders.join(','));\n res.setHeader('Access-Control-Allow-Credentials', allowCredentials ? 'true' : 'false');\n }\n};\n\nconst middlewarePromise = (req: NextApiRequest, res: NextApiResponse, options?: FronteggMiddlewareOptions) =>\n new Promise<void>(async (resolve) => {\n const fronteggUrlPath = rewritePath(req.url ?? '/', fronteggPathRewrite);\n const rewriteUrl = rewritePath(fronteggUrlPath ?? '/', fronteggSSOPathRewrite);\n req.url = rewriteUrl;\n res.on('close', () => resolve());\n const proxyOptions = {\n target: process.env['FRONTEGG_BASE_URL'],\n };\n if (process.env['FRONTEGG_TEST_URL'] && req.url == '/frontegg/middleware-test') {\n proxyOptions.target = process.env['FRONTEGG_TEST_URL'];\n }\n const headers: Record<string, string> = {};\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {\n const session = await getSession(req);\n if (session?.accessToken) {\n headers['authorization'] = 'Bearer ' + session.accessToken;\n }\n }\n\n if (config.isHostedLogin && isFronteggLogoutUrl(req.url || '') && !headers['authorization']) {\n const sessionCookie = CookieManager.getSessionCookieFromRequest(req);\n const tokens = await getTokensFromCookie(sessionCookie);\n if (tokens?.accessToken) {\n headers['authorization'] = 'Bearer ' + tokens.accessToken;\n }\n }\n\n if (options?.ipResolver) {\n config.ipResolver = options.ipResolver;\n }\n\n handleCors(req, res, options?.cors);\n\n FronteggProxy.web(req, res, {\n ...proxyOptions,\n headers,\n });\n });\n\n/**\n * Next.js HTTP Proxy Middleware\n * @see https://nextjs.org/docs/api-routes/api-middlewares\n * @param {NextApiRequest} req - NextJS api request passed from api routing\n * @param {NextApiResponse} res - NextJS api response passed from api routing\n */\nconst FronteggApiMiddleware: FronteggApiMiddlewareType = (async (\n req: NextApiRequest,\n res: NextApiResponse\n): Promise<void> => {\n return await middlewarePromise(req, res);\n}) as FronteggApiMiddlewareType;\n\nFronteggApiMiddleware.withOptions =\n (options: FronteggMiddlewareOptions) =>\n async (req: NextApiRequest, res: NextApiResponse): Promise<void> => {\n return await middlewarePromise(req, res, options);\n };\n\nexport { FronteggApiMiddleware };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FronteggApiMiddleware.js","names":["_FronteggProxy","require","_constants","_helpers","_pages","_config","_interopRequireDefault","_cookies","_common","handleCors","req","res","corsOptions","_req$headers$host","allowedOrigins","allowedMethods","allowedHeaders","allowCredentials","isInternalRequest","headers","host","_req$headers$origin","origin","combinedHeaders","Array","from","Set","defaultFronteggHeaders","includes","setHeader","removeHeader","join","middlewarePromise","options","Promise","resolve","_req$url","fronteggUrlPath","rewritePath","url","fronteggPathRewrite","rewriteUrl","fronteggSSOPathRewrite","on","proxyOptions","target","process","env","session","getSession","accessToken","config","isHostedLogin","isFronteggLogoutUrl","sessionCookie","CookieManager","getSessionCookieFromRequest","tokens","getTokensFromCookie","ipResolver","cors","FronteggProxy","web","_extends2","default","FronteggApiMiddleware","exports","withOptions"],"sources":["../../../../packages/nextjs/src/middleware/FronteggApiMiddleware.ts"],"sourcesContent":["import type { NextApiRequest, NextApiResponse } from 'next';\nimport { FronteggProxy } from './FronteggProxy';\nimport { fronteggSSOPathRewrite, fronteggPathRewrite, defaultFronteggHeaders } from './constants';\nimport { isInternalRequest, rewritePath } from './helpers';\nimport { getSession } from '../pages';\nimport { CorsOptions, FronteggApiMiddlewareType, FronteggMiddlewareOptions } from './types';\nimport config from '../config';\nimport { isFronteggLogoutUrl } from './helpers';\nimport CookieManager from '../utils/cookies';\nimport { getTokensFromCookie } from '../common';\n\nconst handleCors = (req: NextApiRequest, res: NextApiResponse, corsOptions?: CorsOptions) => {\n if (!corsOptions) return;\n\n const {\n allowedOrigins = ['*'],\n allowedMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],\n allowedHeaders = ['Content-Type', 'Authorization'],\n allowCredentials = true,\n } = corsOptions;\n\n if (isInternalRequest(req.headers.host ?? '')) {\n const origin = req.headers.origin ?? '';\n const combinedHeaders = Array.from(new Set([...defaultFronteggHeaders, ...allowedHeaders]));\n\n if (allowedOrigins.includes(origin)) {\n res.setHeader('Access-Control-Allow-Origin', origin);\n } else {\n res.removeHeader('Access-Control-Allow-Origin');\n }\n\n res.setHeader('Access-Control-Allow-Methods', allowedMethods.join(','));\n res.setHeader('Access-Control-Allow-Headers', combinedHeaders.join(','));\n res.setHeader('Access-Control-Allow-Credentials', allowCredentials ? 'true' : 'false');\n }\n};\n\nconst middlewarePromise = (req: NextApiRequest, res: NextApiResponse, options?: FronteggMiddlewareOptions) =>\n new Promise<void>(async (resolve) => {\n const fronteggUrlPath = rewritePath(req.url ?? '/', fronteggPathRewrite);\n const rewriteUrl = rewritePath(fronteggUrlPath ?? '/', fronteggSSOPathRewrite);\n req.url = rewriteUrl;\n res.on('close', () => resolve());\n const proxyOptions = {\n target: process.env['FRONTEGG_BASE_URL'],\n };\n if (process.env['FRONTEGG_TEST_URL'] && req.url == '/frontegg/middleware-test') {\n proxyOptions.target = process.env['FRONTEGG_TEST_URL'];\n }\n const headers: Record<string, string> = {};\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {\n const session = await getSession(req, res);\n if (session?.accessToken) {\n headers['authorization'] = 'Bearer ' + session.accessToken;\n }\n }\n\n if (config.isHostedLogin && isFronteggLogoutUrl(req.url || '') && !headers['authorization']) {\n const sessionCookie = CookieManager.getSessionCookieFromRequest(req);\n const tokens = await getTokensFromCookie(sessionCookie);\n if (tokens?.accessToken) {\n headers['authorization'] = 'Bearer ' + tokens.accessToken;\n }\n }\n\n if (options?.ipResolver) {\n config.ipResolver = options.ipResolver;\n }\n\n handleCors(req, res, options?.cors);\n\n FronteggProxy.web(req, res, {\n ...proxyOptions,\n headers,\n });\n });\n\n/**\n * Next.js HTTP Proxy Middleware\n * @see https://nextjs.org/docs/api-routes/api-middlewares\n * @param {NextApiRequest} req - NextJS api request passed from api routing\n * @param {NextApiResponse} res - NextJS api response passed from api routing\n */\nconst FronteggApiMiddleware: FronteggApiMiddlewareType = (async (\n req: NextApiRequest,\n res: NextApiResponse\n): Promise<void> => {\n return await middlewarePromise(req, res);\n}) as FronteggApiMiddlewareType;\n\nFronteggApiMiddleware.withOptions =\n (options: FronteggMiddlewareOptions) =>\n async (req: NextApiRequest, res: NextApiResponse): Promise<void> => {\n return await middlewarePromise(req, res, options);\n };\n\nexport { FronteggApiMiddleware };\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/nextjs",
|
|
3
3
|
"libName": "FronteggNextJs",
|
|
4
|
-
"version": "9.2.
|
|
4
|
+
"version": "9.2.11-alpha.19798105448",
|
|
5
5
|
"author": "Frontegg LTD",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"lint-json": "eslint -c .eslintrc.json -o ./lint-report.json --format json --no-color ./src/**/*.{ts,tsx}"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@frontegg/js": "7.
|
|
31
|
-
"@frontegg/react-hooks": "7.
|
|
30
|
+
"@frontegg/js": "7.93.0",
|
|
31
|
+
"@frontegg/react-hooks": "7.93.0",
|
|
32
32
|
"http-proxy": "^1.18.1",
|
|
33
33
|
"iron-session": "^6.3.1",
|
|
34
34
|
"jose": "^4.12.2"
|
package/pages/helpers.d.ts
CHANGED
|
@@ -3,7 +3,18 @@ import type { GetServerSidePropsContext, GetServerSidePropsResult } from 'next';
|
|
|
3
3
|
import type { ParsedUrlQuery } from 'querystring';
|
|
4
4
|
import type { FronteggNextJSSession, RequestType } from '../types';
|
|
5
5
|
import { ServerResponse } from 'http';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Retrieves the Frontegg session from Next.js request and response objects.
|
|
8
|
+
*
|
|
9
|
+
* @param req - The Next.js request object containing incoming HTTP request data
|
|
10
|
+
* @param res - The Next.js response object (or undefined). This parameter is required and must be explicitly passed.
|
|
11
|
+
* It will be non-null in cases where there are sequential redirects or multiple getInitialProps
|
|
12
|
+
* executions within a single page visit — for example, when middlewares or getServerSideProps
|
|
13
|
+
* functions are concatenated.
|
|
14
|
+
*
|
|
15
|
+
* @returns The Frontegg session if available, or undefined if no session exists
|
|
16
|
+
*/
|
|
17
|
+
export declare const getSession: (req: RequestType, res: ServerResponse | undefined) => Promise<FronteggNextJSSession | undefined>;
|
|
7
18
|
export declare function withSSRSession<P extends {
|
|
8
19
|
[key: string]: any;
|
|
9
20
|
} = {
|
package/pages/helpers.js
CHANGED
|
@@ -12,6 +12,17 @@ var _cookies = _interopRequireDefault(require("../utils/cookies"));
|
|
|
12
12
|
var _createSession = _interopRequireDefault(require("../utils/createSession"));
|
|
13
13
|
var _encryption = _interopRequireDefault(require("../utils/encryption"));
|
|
14
14
|
var _helpers = require("../utils/refreshAccessTokenIfNeeded/helpers");
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves the Frontegg session from Next.js request and response objects.
|
|
17
|
+
*
|
|
18
|
+
* @param req - The Next.js request object containing incoming HTTP request data
|
|
19
|
+
* @param res - The Next.js response object (or undefined). This parameter is required and must be explicitly passed.
|
|
20
|
+
* It will be non-null in cases where there are sequential redirects or multiple getInitialProps
|
|
21
|
+
* executions within a single page visit — for example, when middlewares or getServerSideProps
|
|
22
|
+
* functions are concatenated.
|
|
23
|
+
*
|
|
24
|
+
* @returns The Frontegg session if available, or undefined if no session exists
|
|
25
|
+
*/
|
|
15
26
|
const getSession = (req, res) => {
|
|
16
27
|
if (res && (0, _helpers.hasSetSessionCookie)(res.getHeader('set-cookie'))) {
|
|
17
28
|
const cookies = _cookies.default.getSessionCookieFromRedirectedResponse(res);
|
package/pages/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["_routing","require","_config","_interopRequireDefault","_cookies","_createSession","_encryption","_helpers","getSession","req","res","hasSetSessionCookie","getHeader","cookies","CookieManager","getSessionCookieFromRedirectedResponse","createSession","encryption","getSessionCookieFromRequest","exports","withSSRSession","handler","context","session","_config$authRoutes$lo","_context$resolvedUrl","loginUrl","config","authRoutes","defaultFronteggRoutes","startsWith","fullUrl","URL","appUrl","resolvedUrl","urlSearchParams","searchParams","set","url","redirect","permanent","destination","toString","props"],"sources":["../../../../packages/nextjs/src/pages/helpers.ts"],"sourcesContent":["import { defaultFronteggRoutes } from '../utils/routing';\nimport type { GetServerSidePropsContext, GetServerSidePropsResult } from 'next';\nimport type { ParsedUrlQuery } from 'querystring';\nimport type { FronteggNextJSSession, RequestType } from '../types';\nimport config from '../config';\nimport CookieManager from '../utils/cookies';\nimport createSession from '../utils/createSession';\nimport encryption from '../utils/encryption';\nimport { hasSetSessionCookie } from '../utils/refreshAccessTokenIfNeeded/helpers';\nimport { NextResponse } from 'next/server';\nimport { ServerResponse } from 'http';\n\nexport const getSession = (req: RequestType, res
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["_routing","require","_config","_interopRequireDefault","_cookies","_createSession","_encryption","_helpers","getSession","req","res","hasSetSessionCookie","getHeader","cookies","CookieManager","getSessionCookieFromRedirectedResponse","createSession","encryption","getSessionCookieFromRequest","exports","withSSRSession","handler","context","session","_config$authRoutes$lo","_context$resolvedUrl","loginUrl","config","authRoutes","defaultFronteggRoutes","startsWith","fullUrl","URL","appUrl","resolvedUrl","urlSearchParams","searchParams","set","url","redirect","permanent","destination","toString","props"],"sources":["../../../../packages/nextjs/src/pages/helpers.ts"],"sourcesContent":["import { defaultFronteggRoutes } from '../utils/routing';\nimport type { GetServerSidePropsContext, GetServerSidePropsResult } from 'next';\nimport type { ParsedUrlQuery } from 'querystring';\nimport type { FronteggNextJSSession, RequestType } from '../types';\nimport config from '../config';\nimport CookieManager from '../utils/cookies';\nimport createSession from '../utils/createSession';\nimport encryption from '../utils/encryption';\nimport { hasSetSessionCookie } from '../utils/refreshAccessTokenIfNeeded/helpers';\nimport { NextResponse } from 'next/server';\nimport { ServerResponse } from 'http';\n\n/**\n * Retrieves the Frontegg session from Next.js request and response objects.\n *\n * @param req - The Next.js request object containing incoming HTTP request data\n * @param res - The Next.js response object (or undefined). This parameter is required and must be explicitly passed.\n * It will be non-null in cases where there are sequential redirects or multiple getInitialProps\n * executions within a single page visit — for example, when middlewares or getServerSideProps\n * functions are concatenated.\n *\n * @returns The Frontegg session if available, or undefined if no session exists\n */\nexport const getSession = (req: RequestType, res: ServerResponse | undefined) => {\n if (res && hasSetSessionCookie(res.getHeader('set-cookie'))) {\n const cookies = CookieManager.getSessionCookieFromRedirectedResponse(res);\n return createSession(cookies, encryption);\n }\n const cookies = CookieManager.getSessionCookieFromRequest(req);\n return createSession(cookies, encryption);\n};\n\nexport function withSSRSession<\n P extends { [key: string]: any } = { [key: string]: any },\n Q extends ParsedUrlQuery = ParsedUrlQuery\n>(\n handler: (\n context: GetServerSidePropsContext<Q>,\n session: FronteggNextJSSession\n ) => GetServerSidePropsResult<P> | Promise<GetServerSidePropsResult<P>>\n) {\n return async (context: GetServerSidePropsContext<Q>): Promise<GetServerSidePropsResult<P>> => {\n const session = await getSession(context.req, context.res);\n if (session) {\n return handler(context, session);\n } else {\n let loginUrl = config.authRoutes.loginUrl ?? defaultFronteggRoutes.loginUrl;\n\n if (!loginUrl.startsWith('/')) {\n loginUrl = `/${loginUrl}`;\n }\n\n const fullUrl = new URL(config.appUrl + context.resolvedUrl);\n const urlSearchParams = fullUrl.searchParams;\n urlSearchParams.set('redirectUrl', context.resolvedUrl ?? context.req.url);\n\n return {\n redirect: {\n permanent: false,\n destination: `${loginUrl}?${urlSearchParams.toString()}`,\n },\n props: {},\n } as GetServerSidePropsResult<P>;\n }\n };\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAIA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,cAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMO,UAAU,GAAGA,CAACC,GAAgB,EAAEC,GAA+B,KAAK;EAC/E,IAAIA,GAAG,IAAI,IAAAC,4BAAmB,EAACD,GAAG,CAACE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE;IAC3D,MAAMC,OAAO,GAAGC,gBAAa,CAACC,sCAAsC,CAACL,GAAG,CAAC;IACzE,OAAO,IAAAM,sBAAa,EAACH,OAAO,EAAEI,mBAAU,CAAC;EAC3C;EACA,MAAMJ,OAAO,GAAGC,gBAAa,CAACI,2BAA2B,CAACT,GAAG,CAAC;EAC9D,OAAO,IAAAO,sBAAa,EAACH,OAAO,EAAEI,mBAAU,CAAC;AAC3C,CAAC;AAACE,OAAA,CAAAX,UAAA,GAAAA,UAAA;AAEK,SAASY,cAAcA,CAI5BC,OAGuE,EACvE;EACA,OAAO,MAAOC,OAAqC,IAA2C;IAC5F,MAAMC,OAAO,GAAG,MAAMf,UAAU,CAACc,OAAO,CAACb,GAAG,EAAEa,OAAO,CAACZ,GAAG,CAAC;IAC1D,IAAIa,OAAO,EAAE;MACX,OAAOF,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC;IAClC,CAAC,MAAM;MAAA,IAAAC,qBAAA,EAAAC,oBAAA;MACL,IAAIC,QAAQ,IAAAF,qBAAA,GAAGG,eAAM,CAACC,UAAU,CAACF,QAAQ,YAAAF,qBAAA,GAAIK,8BAAqB,CAACH,QAAQ;MAE3E,IAAI,CAACA,QAAQ,CAACI,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7BJ,QAAQ,GAAG,IAAIA,QAAQ,EAAE;MAC3B;MAEA,MAAMK,OAAO,GAAG,IAAIC,GAAG,CAACL,eAAM,CAACM,MAAM,GAAGX,OAAO,CAACY,WAAW,CAAC;MAC5D,MAAMC,eAAe,GAAGJ,OAAO,CAACK,YAAY;MAC5CD,eAAe,CAACE,GAAG,CAAC,aAAa,GAAAZ,oBAAA,GAAEH,OAAO,CAACY,WAAW,YAAAT,oBAAA,GAAIH,OAAO,CAACb,GAAG,CAAC6B,GAAG,CAAC;MAE1E,OAAO;QACLC,QAAQ,EAAE;UACRC,SAAS,EAAE,KAAK;UAChBC,WAAW,EAAE,GAAGf,QAAQ,IAAIS,eAAe,CAACO,QAAQ,CAAC,CAAC;QACxD,CAAC;QACDC,KAAK,EAAE,CAAC;MACV,CAAC;IACH;EACF,CAAC;AACH","ignoreList":[]}
|
package/sdkVersion.js
CHANGED
package/sdkVersion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkVersion.js","names":["version"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.2.
|
|
1
|
+
{"version":3,"file":"sdkVersion.js","names":["version"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.2.11-alpha.19798105448' };\n"],"mappings":";;;;;;iCAAe;EAAEA,OAAO,EAAE;AAA2B,CAAC","ignoreList":[]}
|