@mints-cloud/cxf-codegen 1.0.4 → 1.0.5
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/README.md +14 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/lib/api-route-helpers.d.ts +2 -0
- package/dist/lib/api-route-helpers.d.ts.map +1 -1
- package/dist/lib/api-route-helpers.js +9 -3
- package/dist/lib/cxf-auth.d.ts +2 -0
- package/dist/lib/cxf-auth.d.ts.map +1 -1
- package/dist/lib/cxf-auth.js +4 -0
- package/dist/pages/plasmic-host.d.ts +16 -1
- package/dist/pages/plasmic-host.d.ts.map +1 -1
- package/dist/pages/plasmic-host.js +46 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -80,15 +80,21 @@ export { default } from '@mints-cloud/cxf-codegen/pages/api/assets';
|
|
|
80
80
|
|
|
81
81
|
```tsx
|
|
82
82
|
import '@mints-cloud/cxf-codegen/register';
|
|
83
|
-
import {
|
|
83
|
+
import {
|
|
84
|
+
PlasmicHost,
|
|
85
|
+
getPlasmicHostServerSideProps,
|
|
86
|
+
} from '@mints-cloud/cxf-codegen/pages/plasmic-host';
|
|
84
87
|
import projectcss from '../components/plasmic/<your-project>/plasmic.module.css';
|
|
85
88
|
|
|
86
89
|
export default function MyPlasmicHost() {
|
|
87
90
|
return <PlasmicHost tokenClass={projectcss.plasmic_tokens} />;
|
|
88
91
|
}
|
|
92
|
+
|
|
93
|
+
export const getServerSideProps = getPlasmicHostServerSideProps;
|
|
89
94
|
```
|
|
90
95
|
|
|
91
96
|
The `tokenClass` prop ensures Plasmic design tokens are applied correctly in the canvas.
|
|
97
|
+
`getPlasmicHostServerSideProps` returns `notFound: true` when host is disabled.
|
|
92
98
|
|
|
93
99
|
### `next.config.mjs`
|
|
94
100
|
|
|
@@ -111,8 +117,15 @@ Optional:
|
|
|
111
117
|
```
|
|
112
118
|
CXF_DEV_API_KEY=your-dev-api-key
|
|
113
119
|
CXF_USER_API_KEY=your-user-api-key
|
|
120
|
+
NEXT_PUBLIC_ENABLE_PLASMIC_HOST=true
|
|
114
121
|
```
|
|
115
122
|
|
|
123
|
+
`NEXT_PUBLIC_ENABLE_PLASMIC_HOST` controls `/plasmic-host` availability:
|
|
124
|
+
|
|
125
|
+
- In `production`, host is disabled by default
|
|
126
|
+
- In non-production, host is enabled by default
|
|
127
|
+
- Set to `true/false` (also supports `1/0`, `yes/no`, `on/off`) to override defaults
|
|
128
|
+
|
|
116
129
|
## Usage
|
|
117
130
|
|
|
118
131
|
### ApiCall Component
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { useIsrPrefetch, useApiFetch, type PreloadedDataResult, type UseApiFetch
|
|
|
8
8
|
export { ASSET_QUERY_PARAMS_COOKIE_NAME, normalizeAssetQueryParams, serializeAssetQueryParamsCookie, extractAssetQueryParamsFromCookie, useSyncAssetQueryParams, type AssetQueryParamValue, type AssetQueryParams, type NormalizedAssetQueryParams, } from "./lib/assets-query-params";
|
|
9
9
|
export { EndpointDataContext, PrefetchCollectorContext, PrefetchCollectorProvider, ServerPageWrapper, createServerProps, normalizeEndpointPath, buildQueryString, buildEndpointKey, type EndpointConfig, type ServerPageProps, type ServerPageWrapperProps, type PrefetchRequest, } from "./lib/server-props";
|
|
10
10
|
export { CxfApp } from "./pages/app";
|
|
11
|
-
export { PlasmicHost } from "./pages/plasmic-host";
|
|
11
|
+
export { PlasmicHost, PLASMIC_HOST_ENABLED_ENV_VAR, isPlasmicHostEnabled, getPlasmicHostServerSideProps, } from "./pages/plasmic-host";
|
|
12
12
|
export { cxfApiHandler } from "./pages/api/cxf";
|
|
13
13
|
export { assetsApiHandler } from "./pages/api/assets";
|
|
14
14
|
export { cxfNextConfig } from "./next.config";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,EACd,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,EACd,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,gBAAgB,IAAI,mBAAmB,EACvC,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,WAAW,EACX,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cxfNextConfig = exports.assetsApiHandler = exports.cxfApiHandler = exports.PlasmicHost = exports.CxfApp = exports.buildEndpointKey = exports.buildQueryString = exports.normalizeEndpointPath = exports.createServerProps = exports.ServerPageWrapper = exports.PrefetchCollectorProvider = exports.PrefetchCollectorContext = exports.EndpointDataContext = exports.useSyncAssetQueryParams = exports.extractAssetQueryParamsFromCookie = exports.serializeAssetQueryParamsCookie = exports.normalizeAssetQueryParams = exports.ASSET_QUERY_PARAMS_COOKIE_NAME = exports.useApiFetch = exports.useIsrPrefetch = exports.sendResponse = exports.handleError = exports.setAuthCookies = exports.normalizePath = exports.buildApiQueryString = exports.clearAuthCookies = exports.setTokensAsCookies = exports.buildCookieString = exports.getCxfApiKey = exports.getCxfBaseUrl = exports.buildCookieHeader = exports.extractTokensFromSetCookie = exports.extractSetCookieHeaders = exports.makeAuthenticatedRequest = exports.buildAuthHeaders = exports.getTokensFromCookies = exports.CXF_HEADER_NAMES = exports.CXF_COOKIE_NAMES = exports.registerCodeComponents = exports.CustomJsonLd = exports.BlogPostingJsonLd = exports.FaqJsonLd = exports.AppMetadataOverridesHead = exports.MetadataOverrides = exports.ApiCall = void 0;
|
|
3
|
+
exports.cxfNextConfig = exports.assetsApiHandler = exports.cxfApiHandler = exports.getPlasmicHostServerSideProps = exports.isPlasmicHostEnabled = exports.PLASMIC_HOST_ENABLED_ENV_VAR = exports.PlasmicHost = exports.CxfApp = exports.buildEndpointKey = exports.buildQueryString = exports.normalizeEndpointPath = exports.createServerProps = exports.ServerPageWrapper = exports.PrefetchCollectorProvider = exports.PrefetchCollectorContext = exports.EndpointDataContext = exports.useSyncAssetQueryParams = exports.extractAssetQueryParamsFromCookie = exports.serializeAssetQueryParamsCookie = exports.normalizeAssetQueryParams = exports.ASSET_QUERY_PARAMS_COOKIE_NAME = exports.useApiFetch = exports.useIsrPrefetch = exports.sendResponse = exports.handleError = exports.setAuthCookies = exports.normalizePath = exports.buildApiQueryString = exports.clearAuthCookies = exports.setTokensAsCookies = exports.buildCookieString = exports.getCxfApiKey = exports.getCxfBaseUrl = exports.buildCookieHeader = exports.extractTokensFromSetCookie = exports.extractSetCookieHeaders = exports.makeAuthenticatedRequest = exports.buildAuthHeaders = exports.getTokensFromCookies = exports.CXF_HEADER_NAMES = exports.CXF_COOKIE_NAMES = exports.registerCodeComponents = exports.CustomJsonLd = exports.BlogPostingJsonLd = exports.FaqJsonLd = exports.AppMetadataOverridesHead = exports.MetadataOverrides = exports.ApiCall = void 0;
|
|
4
4
|
// Main exports
|
|
5
5
|
var ApiCall_1 = require("./components/ApiCall");
|
|
6
6
|
Object.defineProperty(exports, "ApiCall", { enumerable: true, get: function () { return ApiCall_1.ApiCall; } });
|
|
@@ -57,6 +57,9 @@ var app_1 = require("./pages/app");
|
|
|
57
57
|
Object.defineProperty(exports, "CxfApp", { enumerable: true, get: function () { return app_1.CxfApp; } });
|
|
58
58
|
var plasmic_host_1 = require("./pages/plasmic-host");
|
|
59
59
|
Object.defineProperty(exports, "PlasmicHost", { enumerable: true, get: function () { return plasmic_host_1.PlasmicHost; } });
|
|
60
|
+
Object.defineProperty(exports, "PLASMIC_HOST_ENABLED_ENV_VAR", { enumerable: true, get: function () { return plasmic_host_1.PLASMIC_HOST_ENABLED_ENV_VAR; } });
|
|
61
|
+
Object.defineProperty(exports, "isPlasmicHostEnabled", { enumerable: true, get: function () { return plasmic_host_1.isPlasmicHostEnabled; } });
|
|
62
|
+
Object.defineProperty(exports, "getPlasmicHostServerSideProps", { enumerable: true, get: function () { return plasmic_host_1.getPlasmicHostServerSideProps; } });
|
|
60
63
|
var cxf_1 = require("./pages/api/cxf");
|
|
61
64
|
Object.defineProperty(exports, "cxfApiHandler", { enumerable: true, get: function () { return cxf_1.cxfApiHandler; } });
|
|
62
65
|
var assets_1 = require("./pages/api/assets");
|
|
@@ -4,6 +4,8 @@ export declare function normalizePath(pathSegments: string[] | string | undefine
|
|
|
4
4
|
export declare function setAuthCookies(res: NextApiResponse, tokens: {
|
|
5
5
|
accessToken: string | null;
|
|
6
6
|
refreshToken: string | null;
|
|
7
|
+
accessTokenMaxAge?: number | null;
|
|
8
|
+
refreshTokenMaxAge?: number | null;
|
|
7
9
|
}): void;
|
|
8
10
|
export declare function forwardExtraCookies(res: NextApiResponse, setCookieHeaders: string[]): void;
|
|
9
11
|
export declare function handleError(res: NextApiResponse, err: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-route-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/api-route-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAG5D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,CAavE;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAOjF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"api-route-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/api-route-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAG5D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,CAavE;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAOjF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,QAmB9L;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAYnF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,QAMzD;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,iBAwB1E"}
|
|
@@ -31,13 +31,19 @@ function normalizePath(pathSegments) {
|
|
|
31
31
|
.replace(/^\/+/, "");
|
|
32
32
|
}
|
|
33
33
|
function setAuthCookies(res, tokens) {
|
|
34
|
-
const
|
|
34
|
+
const baseOptions = { secure: true, sameSite: "Lax", httpOnly: true, path: "/" };
|
|
35
35
|
const cookies = [];
|
|
36
36
|
if (tokens.accessToken) {
|
|
37
|
-
cookies.push((0, cxf_auth_1.buildCookieString)(cxf_auth_1.CXF_COOKIE_NAMES.ACCESS_TOKEN, tokens.accessToken,
|
|
37
|
+
cookies.push((0, cxf_auth_1.buildCookieString)(cxf_auth_1.CXF_COOKIE_NAMES.ACCESS_TOKEN, tokens.accessToken, {
|
|
38
|
+
...baseOptions,
|
|
39
|
+
...(tokens.accessTokenMaxAge != null && { maxAge: tokens.accessTokenMaxAge }),
|
|
40
|
+
}));
|
|
38
41
|
}
|
|
39
42
|
if (tokens.refreshToken) {
|
|
40
|
-
cookies.push((0, cxf_auth_1.buildCookieString)(cxf_auth_1.CXF_COOKIE_NAMES.REFRESH_TOKEN, tokens.refreshToken,
|
|
43
|
+
cookies.push((0, cxf_auth_1.buildCookieString)(cxf_auth_1.CXF_COOKIE_NAMES.REFRESH_TOKEN, tokens.refreshToken, {
|
|
44
|
+
...baseOptions,
|
|
45
|
+
...(tokens.refreshTokenMaxAge != null && { maxAge: tokens.refreshTokenMaxAge }),
|
|
46
|
+
}));
|
|
41
47
|
}
|
|
42
48
|
if (cookies.length > 0) {
|
|
43
49
|
res.setHeader("Set-Cookie", cookies);
|
package/dist/lib/cxf-auth.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare const CXF_HEADER_NAMES: {
|
|
|
11
11
|
export interface CxfTokens {
|
|
12
12
|
accessToken: string | null;
|
|
13
13
|
refreshToken: string | null;
|
|
14
|
+
accessTokenMaxAge?: number | null;
|
|
15
|
+
refreshTokenMaxAge?: number | null;
|
|
14
16
|
}
|
|
15
17
|
export declare function getTokensFromCookies(cookieHeader?: string | null): CxfTokens;
|
|
16
18
|
export declare function buildAuthHeaders(tokens: CxfTokens, apiKey?: string | null, userToken?: string | null): Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cxf-auth.d.ts","sourceRoot":"","sources":["../../src/lib/cxf-auth.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cxf-auth.d.ts","sourceRoot":"","sources":["../../src/lib/cxf-auth.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAiBD,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAS5E;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAgED;AAMD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAUpE;AAED,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAC5C,SAAS,CAuBX;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAS3D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,QAAQ,GAAG,KAAK,GAAG,MAAiB,GAAG,MAAM,GAAG,IAAI,CAYtF;AAMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACf,GACL,MAAM,CAaR;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuB1D;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
|
package/dist/lib/cxf-auth.js
CHANGED
|
@@ -126,11 +126,15 @@ function extractTokensFromSetCookie(setCookieHeaders) {
|
|
|
126
126
|
continue;
|
|
127
127
|
const name = match[1].trim();
|
|
128
128
|
const value = match[2].trim();
|
|
129
|
+
const maxAgeMatch = header.match(/Max-Age=(\d+)/i);
|
|
130
|
+
const maxAge = maxAgeMatch ? parseInt(maxAgeMatch[1], 10) : null;
|
|
129
131
|
if (name === exports.CXF_COOKIE_NAMES.ACCESS_TOKEN) {
|
|
130
132
|
tokens.accessToken = value;
|
|
133
|
+
tokens.accessTokenMaxAge = maxAge;
|
|
131
134
|
}
|
|
132
135
|
else if (name === exports.CXF_COOKIE_NAMES.REFRESH_TOKEN) {
|
|
133
136
|
tokens.refreshToken = value;
|
|
137
|
+
tokens.refreshTokenMaxAge = maxAge;
|
|
134
138
|
}
|
|
135
139
|
}
|
|
136
140
|
return tokens;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GetServerSideProps } from 'next';
|
|
1
2
|
export interface PlasmicHostProps {
|
|
2
3
|
/**
|
|
3
4
|
* The Plasmic token class to apply to document elements.
|
|
@@ -12,6 +13,20 @@ export interface PlasmicHostProps {
|
|
|
12
13
|
*/
|
|
13
14
|
appRootId?: string;
|
|
14
15
|
}
|
|
15
|
-
export declare
|
|
16
|
+
export declare const PLASMIC_HOST_ENABLED_ENV_VAR = "NEXT_PUBLIC_ENABLE_PLASMIC_HOST";
|
|
17
|
+
/**
|
|
18
|
+
* Determines if the Plasmic host page should be exposed.
|
|
19
|
+
*
|
|
20
|
+
* - Defaults to enabled in non-production
|
|
21
|
+
* - Defaults to disabled in production
|
|
22
|
+
* - Can be explicitly overridden with NEXT_PUBLIC_ENABLE_PLASMIC_HOST
|
|
23
|
+
*/
|
|
24
|
+
export declare function isPlasmicHostEnabled(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Optional helper for Next.js pages router:
|
|
27
|
+
* `export { getPlasmicHostServerSideProps as getServerSideProps } from '@mints-cloud/cxf-codegen/pages/plasmic-host';`
|
|
28
|
+
*/
|
|
29
|
+
export declare const getPlasmicHostServerSideProps: GetServerSideProps;
|
|
30
|
+
export declare function PlasmicHost({ tokenClass, appRootId }: PlasmicHostProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
31
|
export default PlasmicHost;
|
|
17
32
|
//# sourceMappingURL=plasmic-host.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plasmic-host.d.ts","sourceRoot":"","sources":["../../src/pages/plasmic-host.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plasmic-host.d.ts","sourceRoot":"","sources":["../../src/pages/plasmic-host.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAS/C,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,4BAA4B,oCAAoC,CAAC;AAqB9E;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAG3C,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,SAAyB,EAAE,EAAE,gBAAgB,kDA6BtF;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -33,11 +33,57 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getPlasmicHostServerSideProps = exports.PLASMIC_HOST_ENABLED_ENV_VAR = void 0;
|
|
37
|
+
exports.isPlasmicHostEnabled = isPlasmicHostEnabled;
|
|
36
38
|
exports.PlasmicHost = PlasmicHost;
|
|
37
39
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
40
|
const React = __importStar(require("react"));
|
|
39
41
|
const host_1 = require("@plasmicapp/host");
|
|
42
|
+
exports.PLASMIC_HOST_ENABLED_ENV_VAR = 'NEXT_PUBLIC_ENABLE_PLASMIC_HOST';
|
|
43
|
+
function parseOptionalBoolean(value) {
|
|
44
|
+
if (!value)
|
|
45
|
+
return undefined;
|
|
46
|
+
switch (value.trim().toLowerCase()) {
|
|
47
|
+
case '1':
|
|
48
|
+
case 'true':
|
|
49
|
+
case 'yes':
|
|
50
|
+
case 'on':
|
|
51
|
+
return true;
|
|
52
|
+
case '0':
|
|
53
|
+
case 'false':
|
|
54
|
+
case 'no':
|
|
55
|
+
case 'off':
|
|
56
|
+
return false;
|
|
57
|
+
default:
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Determines if the Plasmic host page should be exposed.
|
|
63
|
+
*
|
|
64
|
+
* - Defaults to enabled in non-production
|
|
65
|
+
* - Defaults to disabled in production
|
|
66
|
+
* - Can be explicitly overridden with NEXT_PUBLIC_ENABLE_PLASMIC_HOST
|
|
67
|
+
*/
|
|
68
|
+
function isPlasmicHostEnabled() {
|
|
69
|
+
const envValue = parseOptionalBoolean(process.env[exports.PLASMIC_HOST_ENABLED_ENV_VAR]);
|
|
70
|
+
if (envValue != null)
|
|
71
|
+
return envValue;
|
|
72
|
+
return process.env.NODE_ENV !== 'production';
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Optional helper for Next.js pages router:
|
|
76
|
+
* `export { getPlasmicHostServerSideProps as getServerSideProps } from '@mints-cloud/cxf-codegen/pages/plasmic-host';`
|
|
77
|
+
*/
|
|
78
|
+
const getPlasmicHostServerSideProps = async () => {
|
|
79
|
+
if (!isPlasmicHostEnabled())
|
|
80
|
+
return { notFound: true };
|
|
81
|
+
return { props: {} };
|
|
82
|
+
};
|
|
83
|
+
exports.getPlasmicHostServerSideProps = getPlasmicHostServerSideProps;
|
|
40
84
|
function PlasmicHost({ tokenClass, appRootId = 'plasmic-app' }) {
|
|
85
|
+
if (!isPlasmicHostEnabled())
|
|
86
|
+
return null;
|
|
41
87
|
React.useEffect(() => {
|
|
42
88
|
if (!tokenClass)
|
|
43
89
|
return;
|