@frontegg/nextjs 9.2.5 → 9.2.6-alpha.15543529385

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,9 @@
1
1
  # Change Log
2
2
 
3
+ ## [9.2.6](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.5...v9.2.6) (2025-6-10)
4
+
5
+
6
+
3
7
  ## [9.2.5](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.4...v9.2.5) (2025-5-26)
4
8
 
5
9
 
@@ -48,9 +48,13 @@ const shouldByPassMiddleware = (pathname, headers, options) => {
48
48
  if (isHeaderRequests) return _options.bypassHeaderRequests;
49
49
  if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;
50
50
  if (isFronteggRoutes) return _options.bypassFronteggRoutes;
51
+ const isPrefetchRequest = headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch';
52
+ const secFetchModeHeader = headers.get('sec-fetch-mode');
53
+ const secFetchDestHeader = headers.get('sec-fetch-dest');
54
+ const isBrowserAddressBarPrefetch = isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';
51
55
 
52
56
  // noinspection RedundantIfStatementJS
53
- if (headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch') {
57
+ if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {
54
58
  /** bypass prefetch requests on hovering links that leads to SSG pages **/
55
59
  return true;
56
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shouldBypassMiddleware.js","names":["_routing","require","_excluded","staticFilesRegex","RegExp","imageOptimizationRegex","headerRequestsRegex","fronteggMiddlewareRegex","shouldByPassMiddleware","pathname","headers","options","_options","_extends2","default","bypassStaticFiles","bypassImageOptimization","bypassHeaderRequests","bypassFronteggMiddleware","bypassFronteggRoutes","bypassAuthSamlCallback","isStaticFiles","test","isImageOptimization","isHeaderRequests","isFronteggMiddleware","authRoutes","_objectWithoutPropertiesLoose2","defaultFronteggRoutes","isFronteggRoutes","Object","values","find","path","startsWith","has","get","exports"],"sources":["../../../../packages/nextjs/src/edge/shouldBypassMiddleware.ts"],"sourcesContent":["import type { NextRequest } from 'next/server';\n\nimport { defaultFronteggRoutes } from '../utils/routing';\n\nconst staticFilesRegex = new RegExp('^/(_next/static).*');\nconst imageOptimizationRegex = new RegExp('^/(_next/image).*');\nconst headerRequestsRegex = new RegExp('^/(favicon.ico).*');\nconst fronteggMiddlewareRegex = new RegExp('^/(api/frontegg).*');\n\ninterface ByPassOptions {\n bypassStaticFiles?: boolean; // default: true\n bypassImageOptimization?: boolean; // default: true\n bypassHeaderRequests?: boolean; // default: true\n}\n\n/**\n * Use `shouldByPassMiddleware` in the middleware.ts file\n * to protect all application's routes.\n * You can override whitelist by passing options parameter\n * NOTE: this will slow down your application due to session check on each\n * static files and image request\n *\n * The default whitelist:\n * - _next/static (static files)\n * - _next/image (image optimization files)\n * - favicon.ico (favicon file)\n * - api/frontegg (API frontegg middleware)\n * - account/[login|logout|saml/callback|...] (frontegg authentication routes)\n */\nexport const shouldByPassMiddleware = (\n pathname: string,\n headers: NextRequest['headers'],\n options?: ByPassOptions\n): boolean => {\n const _options = {\n bypassStaticFiles: true,\n bypassImageOptimization: true,\n bypassHeaderRequests: true,\n ...options,\n bypassFronteggMiddleware: true,\n bypassFronteggRoutes: true,\n bypassAuthSamlCallback: true,\n };\n\n const isStaticFiles = staticFilesRegex.test(pathname);\n const isImageOptimization = imageOptimizationRegex.test(pathname);\n const isHeaderRequests = headerRequestsRegex.test(pathname);\n const isFronteggMiddleware = fronteggMiddlewareRegex.test(pathname);\n\n const { authenticatedUrl, ...authRoutes } = defaultFronteggRoutes;\n const isFronteggRoutes = Object.values(authRoutes).find((path) => pathname.startsWith(path)) != null;\n\n if (isStaticFiles) return _options.bypassStaticFiles;\n if (isImageOptimization) return _options.bypassImageOptimization;\n if (isHeaderRequests) return _options.bypassHeaderRequests;\n if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;\n if (isFronteggRoutes) return _options.bypassFronteggRoutes;\n\n // noinspection RedundantIfStatementJS\n if (headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch') {\n /** bypass prefetch requests on hovering links that leads to SSG pages **/\n return true;\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAAyD,MAAAC,SAAA;AAEzD,MAAMC,gBAAgB,GAAG,IAAIC,MAAM,CAAC,oBAAoB,CAAC;AACzD,MAAMC,sBAAsB,GAAG,IAAID,MAAM,CAAC,mBAAmB,CAAC;AAC9D,MAAME,mBAAmB,GAAG,IAAIF,MAAM,CAAC,mBAAmB,CAAC;AAC3D,MAAMG,uBAAuB,GAAG,IAAIH,MAAM,CAAC,oBAAoB,CAAC;AAQhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,sBAAsB,GAAGA,CACpCC,QAAgB,EAChBC,OAA+B,EAC/BC,OAAuB,KACX;EACZ,MAAMC,QAAQ,OAAAC,SAAA,CAAAC,OAAA;IACZC,iBAAiB,EAAE,IAAI;IACvBC,uBAAuB,EAAE,IAAI;IAC7BC,oBAAoB,EAAE;EAAI,GACvBN,OAAO;IACVO,wBAAwB,EAAE,IAAI;IAC9BC,oBAAoB,EAAE,IAAI;IAC1BC,sBAAsB,EAAE;EAAI,EAC7B;EAED,MAAMC,aAAa,GAAGlB,gBAAgB,CAACmB,IAAI,CAACb,QAAQ,CAAC;EACrD,MAAMc,mBAAmB,GAAGlB,sBAAsB,CAACiB,IAAI,CAACb,QAAQ,CAAC;EACjE,MAAMe,gBAAgB,GAAGlB,mBAAmB,CAACgB,IAAI,CAACb,QAAQ,CAAC;EAC3D,MAAMgB,oBAAoB,GAAGlB,uBAAuB,CAACe,IAAI,CAACb,QAAQ,CAAC;EAEnE,MAA6BiB,UAAU,OAAAC,8BAAA,CAAAb,OAAA,EAAKc,8BAAqB,EAAA1B,SAAA;EACjE,MAAM2B,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAAC,CAACM,IAAI,CAAEC,IAAI,IAAKxB,QAAQ,CAACyB,UAAU,CAACD,IAAI,CAAC,CAAC,IAAI,IAAI;EAEpG,IAAIZ,aAAa,EAAE,OAAOT,QAAQ,CAACG,iBAAiB;EACpD,IAAIQ,mBAAmB,EAAE,OAAOX,QAAQ,CAACI,uBAAuB;EAChE,IAAIQ,gBAAgB,EAAE,OAAOZ,QAAQ,CAACK,oBAAoB;EAC1D,IAAIQ,oBAAoB,EAAE,OAAOb,QAAQ,CAACM,wBAAwB;EAClE,IAAIW,gBAAgB,EAAE,OAAOjB,QAAQ,CAACO,oBAAoB;;EAE1D;EACA,IAAIT,OAAO,CAACyB,GAAG,CAAC,sBAAsB,CAAC,IAAIzB,OAAO,CAAC0B,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE;IAChF;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAACC,OAAA,CAAA7B,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"file":"shouldBypassMiddleware.js","names":["_routing","require","_excluded","staticFilesRegex","RegExp","imageOptimizationRegex","headerRequestsRegex","fronteggMiddlewareRegex","shouldByPassMiddleware","pathname","headers","options","_options","_extends2","default","bypassStaticFiles","bypassImageOptimization","bypassHeaderRequests","bypassFronteggMiddleware","bypassFronteggRoutes","bypassAuthSamlCallback","isStaticFiles","test","isImageOptimization","isHeaderRequests","isFronteggMiddleware","authRoutes","_objectWithoutPropertiesLoose2","defaultFronteggRoutes","isFronteggRoutes","Object","values","find","path","startsWith","isPrefetchRequest","has","get","secFetchModeHeader","secFetchDestHeader","isBrowserAddressBarPrefetch","exports"],"sources":["../../../../packages/nextjs/src/edge/shouldBypassMiddleware.ts"],"sourcesContent":["import type { NextRequest } from 'next/server';\n\nimport { defaultFronteggRoutes } from '../utils/routing';\n\nconst staticFilesRegex = new RegExp('^/(_next/static).*');\nconst imageOptimizationRegex = new RegExp('^/(_next/image).*');\nconst headerRequestsRegex = new RegExp('^/(favicon.ico).*');\nconst fronteggMiddlewareRegex = new RegExp('^/(api/frontegg).*');\n\ninterface ByPassOptions {\n bypassStaticFiles?: boolean; // default: true\n bypassImageOptimization?: boolean; // default: true\n bypassHeaderRequests?: boolean; // default: true\n}\n\n/**\n * Use `shouldByPassMiddleware` in the middleware.ts file\n * to protect all application's routes.\n * You can override whitelist by passing options parameter\n * NOTE: this will slow down your application due to session check on each\n * static files and image request\n *\n * The default whitelist:\n * - _next/static (static files)\n * - _next/image (image optimization files)\n * - favicon.ico (favicon file)\n * - api/frontegg (API frontegg middleware)\n * - account/[login|logout|saml/callback|...] (frontegg authentication routes)\n */\nexport const shouldByPassMiddleware = (\n pathname: string,\n headers: NextRequest['headers'],\n options?: ByPassOptions\n): boolean => {\n const _options = {\n bypassStaticFiles: true,\n bypassImageOptimization: true,\n bypassHeaderRequests: true,\n ...options,\n bypassFronteggMiddleware: true,\n bypassFronteggRoutes: true,\n bypassAuthSamlCallback: true,\n };\n\n const isStaticFiles = staticFilesRegex.test(pathname);\n const isImageOptimization = imageOptimizationRegex.test(pathname);\n const isHeaderRequests = headerRequestsRegex.test(pathname);\n const isFronteggMiddleware = fronteggMiddlewareRegex.test(pathname);\n\n const { authenticatedUrl, ...authRoutes } = defaultFronteggRoutes;\n const isFronteggRoutes = Object.values(authRoutes).find((path) => pathname.startsWith(path)) != null;\n\n if (isStaticFiles) return _options.bypassStaticFiles;\n if (isImageOptimization) return _options.bypassImageOptimization;\n if (isHeaderRequests) return _options.bypassHeaderRequests;\n if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;\n if (isFronteggRoutes) return _options.bypassFronteggRoutes;\n\n const isPrefetchRequest = headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch';\n const secFetchModeHeader = headers.get('sec-fetch-mode');\n const secFetchDestHeader = headers.get('sec-fetch-dest');\n\n const isBrowserAddressBarPrefetch =\n isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';\n\n // noinspection RedundantIfStatementJS\n if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {\n /** bypass prefetch requests on hovering links that leads to SSG pages **/\n return true;\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAAyD,MAAAC,SAAA;AAEzD,MAAMC,gBAAgB,GAAG,IAAIC,MAAM,CAAC,oBAAoB,CAAC;AACzD,MAAMC,sBAAsB,GAAG,IAAID,MAAM,CAAC,mBAAmB,CAAC;AAC9D,MAAME,mBAAmB,GAAG,IAAIF,MAAM,CAAC,mBAAmB,CAAC;AAC3D,MAAMG,uBAAuB,GAAG,IAAIH,MAAM,CAAC,oBAAoB,CAAC;AAQhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,sBAAsB,GAAGA,CACpCC,QAAgB,EAChBC,OAA+B,EAC/BC,OAAuB,KACX;EACZ,MAAMC,QAAQ,OAAAC,SAAA,CAAAC,OAAA;IACZC,iBAAiB,EAAE,IAAI;IACvBC,uBAAuB,EAAE,IAAI;IAC7BC,oBAAoB,EAAE;EAAI,GACvBN,OAAO;IACVO,wBAAwB,EAAE,IAAI;IAC9BC,oBAAoB,EAAE,IAAI;IAC1BC,sBAAsB,EAAE;EAAI,EAC7B;EAED,MAAMC,aAAa,GAAGlB,gBAAgB,CAACmB,IAAI,CAACb,QAAQ,CAAC;EACrD,MAAMc,mBAAmB,GAAGlB,sBAAsB,CAACiB,IAAI,CAACb,QAAQ,CAAC;EACjE,MAAMe,gBAAgB,GAAGlB,mBAAmB,CAACgB,IAAI,CAACb,QAAQ,CAAC;EAC3D,MAAMgB,oBAAoB,GAAGlB,uBAAuB,CAACe,IAAI,CAACb,QAAQ,CAAC;EAEnE,MAA6BiB,UAAU,OAAAC,8BAAA,CAAAb,OAAA,EAAKc,8BAAqB,EAAA1B,SAAA;EACjE,MAAM2B,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAAC,CAACM,IAAI,CAAEC,IAAI,IAAKxB,QAAQ,CAACyB,UAAU,CAACD,IAAI,CAAC,CAAC,IAAI,IAAI;EAEpG,IAAIZ,aAAa,EAAE,OAAOT,QAAQ,CAACG,iBAAiB;EACpD,IAAIQ,mBAAmB,EAAE,OAAOX,QAAQ,CAACI,uBAAuB;EAChE,IAAIQ,gBAAgB,EAAE,OAAOZ,QAAQ,CAACK,oBAAoB;EAC1D,IAAIQ,oBAAoB,EAAE,OAAOb,QAAQ,CAACM,wBAAwB;EAClE,IAAIW,gBAAgB,EAAE,OAAOjB,QAAQ,CAACO,oBAAoB;EAE1D,MAAMgB,iBAAiB,GAAGzB,OAAO,CAAC0B,GAAG,CAAC,sBAAsB,CAAC,IAAI1B,OAAO,CAAC2B,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU;EACtG,MAAMC,kBAAkB,GAAG5B,OAAO,CAAC2B,GAAG,CAAC,gBAAgB,CAAC;EACxD,MAAME,kBAAkB,GAAG7B,OAAO,CAAC2B,GAAG,CAAC,gBAAgB,CAAC;EAExD,MAAMG,2BAA2B,GAC/BL,iBAAiB,IAAIG,kBAAkB,KAAK,UAAU,IAAIC,kBAAkB,KAAK,UAAU;;EAE7F;EACA,IAAIJ,iBAAiB,IAAI,CAACK,2BAA2B,EAAE;IACrD;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAACC,OAAA,CAAAjC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v9.2.5
1
+ /** @license Frontegg v9.2.6-alpha.15543529385
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.2.5",
4
+ "version": "9.2.6-alpha.15543529385",
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.71.0",
31
- "@frontegg/react-hooks": "7.71.0",
30
+ "@frontegg/js": "7.75.0",
31
+ "@frontegg/react-hooks": "7.75.0",
32
32
  "http-proxy": "^1.18.1",
33
33
  "iron-session": "^6.3.1",
34
34
  "jose": "^4.12.2"
package/sdkVersion.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _default = exports.default = {
8
- version: '9.2.5'
8
+ version: '9.2.6-alpha.15543529385'
9
9
  };
10
10
  //# sourceMappingURL=sdkVersion.js.map
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.5' };\n"],"mappings":";;;;;;iCAAe;EAAEA,OAAO,EAAE;AAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"sdkVersion.js","names":["version"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.2.6-alpha.15543529385' };\n"],"mappings":";;;;;;iCAAe;EAAEA,OAAO,EAAE;AAA0B,CAAC","ignoreList":[]}