@goldstack/template-ssr 0.3.52 → 0.3.54
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/dist/src/localHelper.d.ts +2 -0
- package/dist/src/localHelper.d.ts.map +1 -0
- package/dist/src/localHelper.js +93 -0
- package/dist/src/localHelper.js.map +1 -0
- package/dist/src/templateSSR.d.ts +1 -0
- package/dist/src/templateSSR.d.ts.map +1 -1
- package/dist/src/templateSSR.js +3 -1
- package/dist/src/templateSSR.js.map +1 -1
- package/package.json +19 -19
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localHelper.d.ts","sourceRoot":"","sources":["../../src/localHelper.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,IAAI,MAAM,CAwFzC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLocalHelperJs = getLocalHelperJs;
|
|
4
|
+
function getLocalHelperJs() {
|
|
5
|
+
return `
|
|
6
|
+
let versionTimestamp = null;
|
|
7
|
+
let initialLoad = true;
|
|
8
|
+
|
|
9
|
+
const messageContainer = document.createElement('div');
|
|
10
|
+
messageContainer.style.cssText = 'position:fixed;bottom:20px;right:20px;z-index:10000;transition:opacity 0.5s;opacity:0;pointer-events:none;display:none;';
|
|
11
|
+
document.body.appendChild(messageContainer);
|
|
12
|
+
|
|
13
|
+
function showMessage(icon, message, duration = null) {
|
|
14
|
+
messageContainer.innerHTML = \`
|
|
15
|
+
<div style="display:flex;align-items:center;gap:10px;padding:10px 20px;border-radius:8px;background-color:white;box-shadow:0px 4px 10px rgba(0,0,0,0.2);font-family:Arial,sans-serif;font-size:14px;color:#333;">
|
|
16
|
+
<span style="width:20px;height:20px;">\${icon}</span>
|
|
17
|
+
<span>\${message}</span>
|
|
18
|
+
</div>
|
|
19
|
+
\`;
|
|
20
|
+
messageContainer.style.display = 'block';
|
|
21
|
+
messageContainer.style.opacity = '1';
|
|
22
|
+
if (duration) {
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
messageContainer.style.opacity = '0';
|
|
25
|
+
setTimeout(() => messageContainer.style.display = 'none', 500);
|
|
26
|
+
}, duration);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function fetchWithTimeout(url, options = {}, timeout = 200) {
|
|
31
|
+
return Promise.race([
|
|
32
|
+
fetch(url, options),
|
|
33
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Request timed out')), timeout))
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
async function checkVersionTimestamp() {
|
|
37
|
+
try {
|
|
38
|
+
const response = await fetchWithTimeout('_goldstack/local/versionTimestamp', { cache: 'no-store' });
|
|
39
|
+
if (!response.ok) throw new Error('Failed to fetch');
|
|
40
|
+
const newTimestamp = await response.text();
|
|
41
|
+
if (versionTimestamp === null) {
|
|
42
|
+
showMessage('✅', 'Connected to server', 3000);
|
|
43
|
+
} else if (newTimestamp !== versionTimestamp) {
|
|
44
|
+
location.reload();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
versionTimestamp = newTimestamp;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
showMessage('❌', 'Connection to server lost. Waiting for restart ...');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function startReloadChecker() {
|
|
54
|
+
setInterval(checkVersionTimestamp, 1000);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
function checkInitialConnection() {
|
|
59
|
+
if (initialLoad) {
|
|
60
|
+
let connectionAttempts = 0;
|
|
61
|
+
const maxAttempts = 3;
|
|
62
|
+
const attemptInterval = 1000;
|
|
63
|
+
|
|
64
|
+
const attemptConnection = async () => {
|
|
65
|
+
await checkVersionTimestamp();
|
|
66
|
+
if (versionTimestamp !== null) {
|
|
67
|
+
initialLoad = false;
|
|
68
|
+
startReloadChecker();
|
|
69
|
+
} else if (connectionAttempts < maxAttempts) {
|
|
70
|
+
connectionAttempts++;
|
|
71
|
+
setTimeout(attemptConnection, attemptInterval);
|
|
72
|
+
} else {
|
|
73
|
+
showMessage('🔄', 'Connecting to server');
|
|
74
|
+
const interval = setInterval(async () => {
|
|
75
|
+
await checkVersionTimestamp();
|
|
76
|
+
if (versionTimestamp !== null) {
|
|
77
|
+
clearInterval(interval);
|
|
78
|
+
initialLoad = false;
|
|
79
|
+
startReloadChecker();
|
|
80
|
+
}
|
|
81
|
+
}, 10000);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
attemptConnection();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
checkInitialConnection();
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=localHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localHelper.js","sourceRoot":"","sources":["../../src/localHelper.ts"],"names":[],"mappings":";;AAAA,4CAwFC;AAxFD,SAAgB,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFR,CAAC;AACF,CAAC"}
|
|
@@ -9,6 +9,7 @@ import type { Deployment } from '@goldstack/infra';
|
|
|
9
9
|
import type { Package } from '@goldstack/utils-package';
|
|
10
10
|
export type SSRHandler = Handler<APIGatewayProxyEventV2, APIGatewayProxyResultV2>;
|
|
11
11
|
export type { RenderDocumentProps, PartialRenderPageProps, BuildConfiguration, ClientBuildOptionsArgs, ServerBuildOptionsArgs, } from '@goldstack/template-ssr-server';
|
|
12
|
+
export { getLocalHelperJs } from './localHelper';
|
|
12
13
|
export declare const getDeployment: (goldstackJson: Package) => Deployment;
|
|
13
14
|
export declare const renderPage: <PropType extends ReactPropertiesType>(props: RenderPageProps<PropType>) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
14
15
|
export declare const createLambdaAPIDeploymentConfiguration: (configuration: SSRDeploymentConfiguration) => LambdaApiDeploymentConfiguration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateSSR.d.ts","sourceRoot":"","sources":["../../src/templateSSR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iCAAiC,EACjC,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;AAEF,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,aAAa,kBAAmB,OAAO,KAAG,UAkBtD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,QAAQ,SAAS,mBAAmB,SAC5D,eAAe,CAAC,QAAQ,CAAC,KAC/B,OAAO,CAAC,iCAAiC,CAG3C,CAAC;AAMF,eAAO,MAAM,sCAAsC,kBAClC,0BAA0B,KACxC,gCAOF,CAAC;AAEF,eAAO,MAAM,OAAO,MAAO,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAG,IAiBzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"templateSSR.d.ts","sourceRoot":"","sources":["../../src/templateSSR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AAEnC,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iCAAiC,EACjC,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;AAEF,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,aAAa,kBAAmB,OAAO,KAAG,UAkBtD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,QAAQ,SAAS,mBAAmB,SAC5D,eAAe,CAAC,QAAQ,CAAC,KAC/B,OAAO,CAAC,iCAAiC,CAG3C,CAAC;AAMF,eAAO,MAAM,sCAAsC,kBAClC,0BAA0B,KACxC,gCAOF,CAAC;AAEF,eAAO,MAAM,OAAO,MAAO,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAG,IAiBzD,CAAC"}
|
package/dist/src/templateSSR.js
CHANGED
|
@@ -17,10 +17,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.hydrate = exports.createLambdaAPIDeploymentConfiguration = exports.renderPage = exports.getDeployment = void 0;
|
|
20
|
+
exports.hydrate = exports.createLambdaAPIDeploymentConfiguration = exports.renderPage = exports.getDeployment = exports.getLocalHelperJs = void 0;
|
|
21
21
|
const react_1 = __importDefault(require("react"));
|
|
22
22
|
__exportStar(require("./types/SSRPackage"), exports);
|
|
23
23
|
const client_1 = __importDefault(require("react-dom/client"));
|
|
24
|
+
var localHelper_1 = require("./localHelper");
|
|
25
|
+
Object.defineProperty(exports, "getLocalHelperJs", { enumerable: true, get: function () { return localHelper_1.getLocalHelperJs; } });
|
|
24
26
|
const getDeployment = (goldstackJson) => {
|
|
25
27
|
const envVar = process.env.GOLDSTACK_DEPLOYMENT;
|
|
26
28
|
const deployment = goldstackJson.deployments.find((d) => d.name === envVar);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateSSR.js","sourceRoot":"","sources":["../../src/templateSSR.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qDAAmC;AASnC,8DAAwC;
|
|
1
|
+
{"version":3,"file":"templateSSR.js","sourceRoot":"","sources":["../../src/templateSSR.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qDAAmC;AASnC,8DAAwC;AA0BxC,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AAElB,MAAM,aAAa,GAAG,CAAC,aAAsB,EAAc,EAAE;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEhD,MAAM,UAAU,GAA2B,aAAa,CAAC,WAAW,CAAC,IAAI,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CACzB,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO;YACL,aAAa,EAAE,EAAE;YACjB,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,8EAA8E,MAAM,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB;AAEK,MAAM,UAAU,GAAG,KAAK,EAC7B,KAAgC,EACY,EAAE;IAC9C,8DAA8D;IAC9D,OAAO,OAAO,CAAC,gCAAgC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAEF,SAAS,QAAQ;IACf,OAAO,CAAC,CAAC,OAAO,MAAM,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAEM,MAAM,sCAAsC,GAAG,CACpD,aAAyC,EACP,EAAE;IACpC,OAAO;QACL,SAAS,EAAE,aAAa,CAAC,MAAM;QAC/B,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;KACjD,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,sCAAsC,0CASjD;AAEK,MAAM,OAAO,GAAG,CAAC,CAA+B,EAAQ,EAAE;IAC/D,IAAI,QAAQ,EAAE;QAAE,OAAO;IAEvB,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,EAAE,CAAC;QACT,gBAAQ,CAAC,WAAW,CAClB,IAAI,EACJ,eAAK,CAAC,aAAa,CAAC,CAAC,EAAG,MAAc,CAAC,iBAAiB,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,+HAA+H,CAChI,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/template-ssr",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.54",
|
|
4
4
|
"description": "Building blocks for implementing server-side rendered pages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -39,32 +39,32 @@
|
|
|
39
39
|
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@goldstack/infra": "0.4.
|
|
43
|
-
"@goldstack/infra-aws": "0.4.
|
|
44
|
-
"@goldstack/template-ssr-server": "0.3.
|
|
45
|
-
"@goldstack/utils-aws-lambda": "0.3.
|
|
46
|
-
"@goldstack/utils-esbuild": "0.5.
|
|
47
|
-
"@goldstack/utils-package": "0.4.
|
|
48
|
-
"@goldstack/utils-package-config-embedded": "0.5.
|
|
49
|
-
"@goldstack/utils-template": "0.4.
|
|
50
|
-
"@goldstack/utils-terraform": "0.4.
|
|
51
|
-
"@types/aws-lambda": "^8.10.
|
|
42
|
+
"@goldstack/infra": "0.4.21",
|
|
43
|
+
"@goldstack/infra-aws": "0.4.30",
|
|
44
|
+
"@goldstack/template-ssr-server": "0.3.54",
|
|
45
|
+
"@goldstack/utils-aws-lambda": "0.3.38",
|
|
46
|
+
"@goldstack/utils-esbuild": "0.5.12",
|
|
47
|
+
"@goldstack/utils-package": "0.4.21",
|
|
48
|
+
"@goldstack/utils-package-config-embedded": "0.5.22",
|
|
49
|
+
"@goldstack/utils-template": "0.4.21",
|
|
50
|
+
"@goldstack/utils-terraform": "0.4.40",
|
|
51
|
+
"@types/aws-lambda": "^8.10.146",
|
|
52
52
|
"react": "18.2.0",
|
|
53
53
|
"react-dom": "18.2.0",
|
|
54
54
|
"source-map-support": "^0.5.21"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@goldstack/utils-docs-cli": "0.3.11",
|
|
58
|
-
"@goldstack/utils-git": "0.2.
|
|
59
|
-
"@goldstack/utils-package-config-generate": "0.3.
|
|
60
|
-
"@swc/core": "^1.
|
|
58
|
+
"@goldstack/utils-git": "0.2.12",
|
|
59
|
+
"@goldstack/utils-package-config-generate": "0.3.13",
|
|
60
|
+
"@swc/core": "^1.10.1",
|
|
61
61
|
"@swc/jest": "^0.2.37",
|
|
62
62
|
"@types/jest": "^29.5.14",
|
|
63
|
-
"@types/node": "^22.10.
|
|
64
|
-
"@types/react": "
|
|
65
|
-
"@types/react-dom": "^
|
|
66
|
-
"@types/yargs": "^17.0.
|
|
67
|
-
"jest": "^29.
|
|
63
|
+
"@types/node": "^22.10.2",
|
|
64
|
+
"@types/react": "18",
|
|
65
|
+
"@types/react-dom": "^19.0.2",
|
|
66
|
+
"@types/yargs": "^17.0.33",
|
|
67
|
+
"jest": "^29.7.0",
|
|
68
68
|
"rimraf": "^3.0.2",
|
|
69
69
|
"ts-node": "^10.9.2",
|
|
70
70
|
"typescript": "^5.7.2"
|