@frontegg/nextjs 9.0.2-alpha.10369009882 → 9.0.2-alpha.10388756432

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 CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## [9.0.2](https://github.com/frontegg/frontegg-nextjs/compare/v8.0.26...v9.0.2) (2024-8-14)
4
+
5
+
6
+ ### NextJS Wrapper 9.0.2:
7
+ - FR-17441 - Fix store holder ref
8
+ - FR-15099 - Migrate to valtio
9
+ - FR-17012 - Support e2e sanity run
10
+ - FR-17008 - fix pipeline release version
11
+
3
12
  ## [9.0.1](https://github.com/frontegg/frontegg-nextjs/compare/v8.0.26...v9.0.1) (2024-8-12)
4
13
 
5
14
 
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v9.0.2-alpha.10369009882
1
+ /** @license Frontegg v9.0.2-alpha.10388756432
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frontegg/nextjs",
3
3
  "libName": "FronteggNextJs",
4
- "version": "9.0.2-alpha.10369009882",
4
+ "version": "9.0.2-alpha.10388756432",
5
5
  "author": "Frontegg LTD",
6
6
  "license": "MIT",
7
7
  "repository": {
package/sdkVersion.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = {
8
- version: '9.0.2-alpha.10369009882'
8
+ version: '9.0.2-alpha.10388756432'
9
9
  };
10
10
  exports.default = _default;
11
11
  //# sourceMappingURL=sdkVersion.js.map
package/sdkVersion.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdkVersion.js","names":["version","exports","default","_default"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.0.2-alpha.10369009882' };\n"],"mappings":";;;;;;eAAe;EAAEA,OAAO,EAAE;AAA0B,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAC,QAAA"}
1
+ {"version":3,"file":"sdkVersion.js","names":["version","exports","default","_default"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.0.2-alpha.10388756432' };\n"],"mappings":";;;;;;eAAe;EAAEA,OAAO,EAAE;AAA0B,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAC,QAAA"}
@@ -81,17 +81,21 @@ const initializeFronteggApp = ({
81
81
  user: userData,
82
82
  tenantsState: tenantsState
83
83
  });
84
- const sharedStore = (0, _reduxStore.createStore)({
85
- context: contextOptions,
86
- storeHolder,
87
- previewMode: options.previewMode,
88
- name: appName != null ? appName : 'default',
89
- urlStrategy: options.urlStrategy,
90
- builderMode: false,
91
- initialState: {
92
- auth: authOptions
93
- }
94
- });
84
+ let sharedStore = storeHolder.store;
85
+ if (!sharedStore) {
86
+ sharedStore = (0, _reduxStore.createStore)({
87
+ context: contextOptions,
88
+ storeHolder,
89
+ previewMode: options.previewMode,
90
+ name: appName != null ? appName : 'default',
91
+ urlStrategy: options.urlStrategy,
92
+ builderMode: false,
93
+ initialState: {
94
+ auth: authOptions
95
+ }
96
+ });
97
+ storeHolder.store = sharedStore;
98
+ }
95
99
  let createdApp;
96
100
  try {
97
101
  createdApp = _js.AppHolder.getInstance(appName != null ? appName : 'default');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_js","require","_reduxStore","_sdkVersion","_interopRequireDefault","_package","_utils","initializeFronteggApp","options","onRedirectTo","appName","storeHolder","_options$authOptions","_options$authOptions2","_options$hostedLoginB","_options$authOptions$","_options$authOptions3","session","user","tenants","activeTenant","accessToken","refreshToken","contextOptions","_extends2","default","requestCredentials","additionalHeadersResolver","_options$contextOptio","additionalHeaders","originalAdditionalHeadersResolver","push","e","Array","isArray","key","value","nextjsPkg","version","sdkVersion","tokenResolver","secureJwtEnabled","undefined","baseUrl","path","isMiddlewarePath","envAppUrl","envBaseUrl","clientId","envClientId","tenantsState","authOptions","userData","isLoading","isAuthenticated","hostedLoginBox","disableSilentRefresh","sharedStore","createStore","context","previewMode","name","urlStrategy","builderMode","initialState","auth","createdApp","AppHolder","getInstance","store","_options$hostedLoginB2","_options$customLoginB","initialize","customLoginBox","basename","_default","exports"],"sources":["../../../../../packages/nextjs/src/utils/initializeFronteggApp/index.ts"],"sourcesContent":["import { AppHolder, FronteggApp, initialize } from '@frontegg/js';\nimport { createStore, AuthState } from '@frontegg/redux-store';\nimport { KeyValuePair } from '@frontegg/rest-api';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport sdkVersion from '../../sdkVersion';\nimport type { FronteggProviderOptions } from '../../types';\nimport nextjsPkg from 'next/package.json';\nimport { isMiddlewarePath } from '../../api/utils';\n\ntype CreateOrGetFronteggAppParams = {\n options: FronteggProviderOptions;\n onRedirectTo: AuthState['onRedirectTo'];\n appName?: string;\n storeHolder: any;\n};\n\nconst initializeFronteggApp = ({\n options,\n onRedirectTo,\n appName,\n storeHolder,\n}: CreateOrGetFronteggAppParams): FronteggApp => {\n const { session, user, tenants, activeTenant } = options;\n const { accessToken, refreshToken } = session ?? {};\n\n const contextOptions: FronteggAppOptions['contextOptions'] = {\n requestCredentials: 'include' as RequestCredentials,\n ...options.contextOptions,\n additionalHeadersResolver: async () => {\n const additionalHeaders: KeyValuePair[] = [];\n const originalAdditionalHeadersResolver = options.contextOptions?.additionalHeadersResolver;\n if (typeof originalAdditionalHeadersResolver === 'function') {\n try {\n additionalHeaders.push(...(await originalAdditionalHeadersResolver()));\n } catch (e) {\n /** ignore failed additionalHeadersResolver */\n }\n } else if (Array.isArray(originalAdditionalHeadersResolver)) {\n additionalHeaders.push(...(originalAdditionalHeadersResolver as KeyValuePair[]));\n }\n additionalHeaders.push({\n key: 'x-frontegg-framework',\n value: `next@${nextjsPkg.version}`,\n });\n additionalHeaders.push({\n key: 'x-frontegg-sdk',\n value: `@frontegg/nextjs@${sdkVersion.version}`,\n });\n return additionalHeaders;\n },\n tokenResolver: options.secureJwtEnabled ? () => '' : undefined,\n baseUrl: (path: string) => {\n if (isMiddlewarePath(path) || options.secureJwtEnabled) {\n return `${options.envAppUrl}/api`;\n } else {\n return options.envBaseUrl;\n }\n },\n clientId: options.envClientId,\n };\n\n const tenantsState = {\n tenants: tenants || [],\n activeTenant,\n ...options.authOptions?.tenantsState,\n };\n const userData = user\n ? {\n ...user,\n accessToken: accessToken ?? '',\n refreshToken: refreshToken ?? undefined,\n ...options.authOptions?.user,\n }\n : null;\n\n const authOptions: FronteggAppOptions['authOptions'] = {\n ...options.authOptions,\n onRedirectTo,\n isLoading: false,\n isAuthenticated: !!options.session,\n hostedLoginBox: options.hostedLoginBox ?? false,\n disableSilentRefresh: options.authOptions?.disableSilentRefresh ?? true,\n user: userData,\n tenantsState: tenantsState as AuthState['tenantsState'],\n };\n\n const sharedStore = createStore({\n context: contextOptions,\n storeHolder,\n previewMode: options.previewMode,\n name: appName ?? 'default',\n urlStrategy: options.urlStrategy,\n builderMode: false,\n initialState: {\n auth: authOptions,\n },\n });\n\n let createdApp;\n try {\n createdApp = AppHolder.getInstance(appName ?? 'default');\n createdApp.store = sharedStore;\n } catch (e) {\n createdApp = initialize(\n {\n ...options,\n store: sharedStore,\n hostedLoginBox: options.hostedLoginBox ?? false,\n customLoginBox: options.customLoginBox ?? false,\n basename: options.basename,\n authOptions,\n contextOptions,\n onRedirectTo,\n },\n appName ?? 'default'\n );\n }\n return createdApp;\n};\nexport default initializeFronteggApp;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_js","require","_reduxStore","_sdkVersion","_interopRequireDefault","_package","_utils","initializeFronteggApp","options","onRedirectTo","appName","storeHolder","_options$authOptions","_options$authOptions2","_options$hostedLoginB","_options$authOptions$","_options$authOptions3","session","user","tenants","activeTenant","accessToken","refreshToken","contextOptions","_extends2","default","requestCredentials","additionalHeadersResolver","_options$contextOptio","additionalHeaders","originalAdditionalHeadersResolver","push","e","Array","isArray","key","value","nextjsPkg","version","sdkVersion","tokenResolver","secureJwtEnabled","undefined","baseUrl","path","isMiddlewarePath","envAppUrl","envBaseUrl","clientId","envClientId","tenantsState","authOptions","userData","isLoading","isAuthenticated","hostedLoginBox","disableSilentRefresh","sharedStore","store","createStore","context","previewMode","name","urlStrategy","builderMode","initialState","auth","createdApp","AppHolder","getInstance","_options$hostedLoginB2","_options$customLoginB","initialize","customLoginBox","basename","_default","exports"],"sources":["../../../../../packages/nextjs/src/utils/initializeFronteggApp/index.ts"],"sourcesContent":["import { AppHolder, FronteggApp, initialize } from '@frontegg/js';\nimport { createStore, AuthState } from '@frontegg/redux-store';\nimport { KeyValuePair } from '@frontegg/rest-api';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport sdkVersion from '../../sdkVersion';\nimport type { FronteggProviderOptions } from '../../types';\nimport nextjsPkg from 'next/package.json';\nimport { isMiddlewarePath } from '../../api/utils';\n\ntype CreateOrGetFronteggAppParams = {\n options: FronteggProviderOptions;\n onRedirectTo: AuthState['onRedirectTo'];\n appName?: string;\n storeHolder: any;\n};\n\nconst initializeFronteggApp = ({\n options,\n onRedirectTo,\n appName,\n storeHolder,\n}: CreateOrGetFronteggAppParams): FronteggApp => {\n const { session, user, tenants, activeTenant } = options;\n const { accessToken, refreshToken } = session ?? {};\n\n const contextOptions: FronteggAppOptions['contextOptions'] = {\n requestCredentials: 'include' as RequestCredentials,\n ...options.contextOptions,\n additionalHeadersResolver: async () => {\n const additionalHeaders: KeyValuePair[] = [];\n const originalAdditionalHeadersResolver = options.contextOptions?.additionalHeadersResolver;\n if (typeof originalAdditionalHeadersResolver === 'function') {\n try {\n additionalHeaders.push(...(await originalAdditionalHeadersResolver()));\n } catch (e) {\n /** ignore failed additionalHeadersResolver */\n }\n } else if (Array.isArray(originalAdditionalHeadersResolver)) {\n additionalHeaders.push(...(originalAdditionalHeadersResolver as KeyValuePair[]));\n }\n additionalHeaders.push({\n key: 'x-frontegg-framework',\n value: `next@${nextjsPkg.version}`,\n });\n additionalHeaders.push({\n key: 'x-frontegg-sdk',\n value: `@frontegg/nextjs@${sdkVersion.version}`,\n });\n return additionalHeaders;\n },\n tokenResolver: options.secureJwtEnabled ? () => '' : undefined,\n baseUrl: (path: string) => {\n if (isMiddlewarePath(path) || options.secureJwtEnabled) {\n return `${options.envAppUrl}/api`;\n } else {\n return options.envBaseUrl;\n }\n },\n clientId: options.envClientId,\n };\n\n const tenantsState = {\n tenants: tenants || [],\n activeTenant,\n ...options.authOptions?.tenantsState,\n };\n const userData = user\n ? {\n ...user,\n accessToken: accessToken ?? '',\n refreshToken: refreshToken ?? undefined,\n ...options.authOptions?.user,\n }\n : null;\n\n const authOptions: FronteggAppOptions['authOptions'] = {\n ...options.authOptions,\n onRedirectTo,\n isLoading: false,\n isAuthenticated: !!options.session,\n hostedLoginBox: options.hostedLoginBox ?? false,\n disableSilentRefresh: options.authOptions?.disableSilentRefresh ?? true,\n user: userData,\n tenantsState: tenantsState as AuthState['tenantsState'],\n };\n\n let sharedStore = storeHolder.store;\n if (!sharedStore) {\n sharedStore = createStore({\n context: contextOptions,\n storeHolder,\n previewMode: options.previewMode,\n name: appName ?? 'default',\n urlStrategy: options.urlStrategy,\n builderMode: false,\n initialState: {\n auth: authOptions,\n },\n });\n storeHolder.store = sharedStore;\n }\n\n let createdApp;\n try {\n createdApp = AppHolder.getInstance(appName ?? 'default');\n createdApp.store = sharedStore;\n } catch (e) {\n createdApp = initialize(\n {\n ...options,\n store: sharedStore,\n hostedLoginBox: options.hostedLoginBox ?? false,\n customLoginBox: options.customLoginBox ?? false,\n basename: options.basename,\n authOptions,\n contextOptions,\n onRedirectTo,\n },\n appName ?? 'default'\n );\n }\n return createdApp;\n};\nexport default initializeFronteggApp;\n"],"mappings":"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"}