@ms-cloudpack/cli 0.44.1 → 0.45.0
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/lib/commands/start/appServer/getHtmlResponse.d.ts +2 -2
- package/lib/commands/start/appServer/getHtmlResponse.d.ts.map +1 -1
- package/lib/commands/start/appServer/getHtmlResponse.js +42 -24
- package/lib/commands/start/appServer/getHtmlResponse.js.map +1 -1
- package/lib/types/CreateHtmlResult.d.ts +8 -1
- package/lib/types/CreateHtmlResult.d.ts.map +1 -1
- package/lib/types/CreateHtmlResult.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CreateHtmlResult } from '../../../types/CreateHtmlResult.js';
|
|
1
|
+
import type { CreateHtmlResult, CustomHtmlResult } from '../../../types/CreateHtmlResult.js';
|
|
2
2
|
import type { CreateHtmlOptions } from '../../../types/CreateHtmlOptions.js';
|
|
3
3
|
/**
|
|
4
4
|
* Get the HTML response for the given route. If the route has a custom render script, use that.
|
|
5
5
|
*/
|
|
6
|
-
export declare function getHtmlResponse(options: CreateHtmlOptions): Promise<Exclude<CreateHtmlResult, string>>;
|
|
6
|
+
export declare function getHtmlResponse(options: CreateHtmlOptions): Promise<Exclude<CreateHtmlResult, string | CustomHtmlResult>>;
|
|
7
7
|
//# sourceMappingURL=getHtmlResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHtmlResponse.d.ts","sourceRoot":"","sources":["../../../../src/commands/start/appServer/getHtmlResponse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"getHtmlResponse.d.ts","sourceRoot":"","sources":["../../../../src/commands/start/appServer/getHtmlResponse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAU7E;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAyF/D"}
|
|
@@ -3,6 +3,10 @@ import { pathToFileURL } from 'url';
|
|
|
3
3
|
import { getDefaultHtmlResponse } from './getDefaultHtmlResponse.js';
|
|
4
4
|
import { JSDOM } from 'jsdom';
|
|
5
5
|
import fsPromises from 'fs/promises';
|
|
6
|
+
function isCustomHtmlResult(result) {
|
|
7
|
+
const customResult = result;
|
|
8
|
+
return (customResult.type === 'static-html' || customResult.type === 'js') && !!customResult.content;
|
|
9
|
+
}
|
|
6
10
|
/**
|
|
7
11
|
* Get the HTML response for the given route. If the route has a custom render script, use that.
|
|
8
12
|
*/
|
|
@@ -39,33 +43,47 @@ export async function getHtmlResponse(options) {
|
|
|
39
43
|
console.error(`The render script at "${renderScriptPath}" does not export a default function.`);
|
|
40
44
|
}
|
|
41
45
|
}
|
|
46
|
+
let html = '';
|
|
47
|
+
let resultType = 'html';
|
|
48
|
+
let statusCode = 200;
|
|
42
49
|
const htmlResult = await createHtml(options);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
if (typeof htmlResult === 'string') {
|
|
51
|
+
html = htmlResult;
|
|
52
|
+
}
|
|
53
|
+
else if (isCustomHtmlResult(htmlResult)) {
|
|
54
|
+
html = htmlResult.content;
|
|
55
|
+
resultType = htmlResult.type;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
html = htmlResult.html;
|
|
59
|
+
statusCode = htmlResult.statusCode;
|
|
60
|
+
}
|
|
61
|
+
if (resultType === 'html') {
|
|
62
|
+
try {
|
|
63
|
+
const htmlDocument = new JSDOM(html);
|
|
64
|
+
const { document } = htmlDocument.window;
|
|
65
|
+
// inject the import map.
|
|
66
|
+
if (entryScript || overlayScript) {
|
|
67
|
+
const script = document.createElement('script');
|
|
68
|
+
script.type = 'importmap';
|
|
69
|
+
script.innerHTML = JSON.stringify(session.getImportMap(), null, 2);
|
|
70
|
+
document.head.prepend(script);
|
|
71
|
+
}
|
|
72
|
+
for (const inlineScript of inlineScripts) {
|
|
73
|
+
const script = document.createElement('script');
|
|
74
|
+
script.type = 'module';
|
|
75
|
+
script.innerHTML = inlineScript;
|
|
76
|
+
document.head.appendChild(script);
|
|
77
|
+
}
|
|
78
|
+
// inject the overlay script.
|
|
79
|
+
addScript(document.head, overlayScript);
|
|
80
|
+
// inject the entry script.
|
|
81
|
+
addScript(document.head, entryScript);
|
|
82
|
+
html = htmlDocument.serialize();
|
|
54
83
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
script.type = 'module';
|
|
58
|
-
script.innerHTML = inlineScript;
|
|
59
|
-
document.head.appendChild(script);
|
|
84
|
+
catch (e) {
|
|
85
|
+
console.error(`Error parsing html response for rendering route "${route.match}"`, e);
|
|
60
86
|
}
|
|
61
|
-
// inject the overlay script.
|
|
62
|
-
addScript(document.head, overlayScript);
|
|
63
|
-
// inject the entry script.
|
|
64
|
-
addScript(document.head, entryScript);
|
|
65
|
-
html = htmlDocument.serialize();
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
console.error(`Error parsing html response for rendering route "${route.match}"`, e);
|
|
69
87
|
}
|
|
70
88
|
return {
|
|
71
89
|
html,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHtmlResponse.js","sourceRoot":"","sources":["../../../../src/commands/start/appServer/getHtmlResponse.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAKpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"getHtmlResponse.js","sourceRoot":"","sources":["../../../../src/commands/start/appServer/getHtmlResponse.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport { pathToFileURL } from 'url';\nimport type { CreateHtmlScript } from '../../../types/CreateHtmlScript.js';\nimport type { CreateHtmlFunction } from '../../../types/CreateHtmlFunction.js';\nimport type { CreateHtmlResult, CustomHtmlResult } from '../../../types/CreateHtmlResult.js';\nimport type { CreateHtmlOptions } from '../../../types/CreateHtmlOptions.js';\nimport { getDefaultHtmlResponse } from './getDefaultHtmlResponse.js';\nimport { JSDOM } from 'jsdom';\nimport fsPromises from 'fs/promises';\n\nfunction isCustomHtmlResult(result: CreateHtmlResult): result is CustomHtmlResult {\n const customResult = result as CustomHtmlResult;\n return (customResult.type === 'static-html' || customResult.type === 'js') && !!customResult.content;\n}\n\n/**\n * Get the HTML response for the given route. If the route has a custom render script, use that.\n */\nexport async function getHtmlResponse(\n options: CreateHtmlOptions,\n): Promise<Exclude<CreateHtmlResult, string | CustomHtmlResult>> {\n const { route, session, overlayScript, entryScript, inlineScripts } = options;\n let createHtml: CreateHtmlFunction = getDefaultHtmlResponse;\n\n if (route.renderScript) {\n const renderScriptPath = path.resolve(session.appPath, route.renderScript);\n let cacheBreakerQueryParam = `?t=${Date.now()}`;\n\n try {\n const { mtime } = await fsPromises.stat(path.resolve(session.appPath, route.renderScript));\n\n cacheBreakerQueryParam = `?t=${mtime.getTime()}`;\n } catch {\n /* no-op */\n }\n\n if (isHtml(renderScriptPath)) {\n createHtml = readStaticHtml;\n } else {\n // Get the html factory function from a script default export.\n const renderScriptUrl = pathToFileURL(renderScriptPath).toString();\n\n // Note: because there isn't a way to purge the require cache, we need to add a cache breaker query param to the\n // script path to ensure we get the latest version of the script. This could be improved by using the git hash of\n // the file if it exists, or a hash of the content, or even the timestamp of the file.\n try {\n createHtml = ((await import(renderScriptUrl + cacheBreakerQueryParam)) as CreateHtmlScript).default;\n } catch (e) {\n console.error(`Error importing render script at \"${renderScriptUrl}\":`, e);\n }\n }\n\n if (!createHtml) {\n console.error(`The render script at \"${renderScriptPath}\" does not export a default function.`);\n }\n }\n\n let html = '';\n let resultType = 'html';\n let statusCode = 200;\n\n const htmlResult = await createHtml(options);\n\n if (typeof htmlResult === 'string') {\n html = htmlResult;\n } else if (isCustomHtmlResult(htmlResult)) {\n html = htmlResult.content;\n resultType = htmlResult.type;\n } else {\n html = htmlResult.html;\n statusCode = htmlResult.statusCode;\n }\n\n if (resultType === 'html') {\n try {\n const htmlDocument = new JSDOM(html);\n const { document } = htmlDocument.window;\n\n // inject the import map.\n if (entryScript || overlayScript) {\n const script = document.createElement('script');\n script.type = 'importmap';\n script.innerHTML = JSON.stringify(session.getImportMap(), null, 2);\n document.head.prepend(script);\n }\n\n for (const inlineScript of inlineScripts) {\n const script = document.createElement('script');\n script.type = 'module';\n script.innerHTML = inlineScript;\n document.head.appendChild(script);\n }\n\n // inject the overlay script.\n addScript(document.head, overlayScript);\n\n // inject the entry script.\n addScript(document.head, entryScript);\n\n html = htmlDocument.serialize();\n } catch (e) {\n console.error(`Error parsing html response for rendering route \"${route.match}\"`, e);\n }\n }\n\n return {\n html,\n statusCode,\n };\n}\n\n/**\n * Helper function to add a script to the document.\n */\nfunction addScript(parentElement: HTMLElement, url: string | undefined) {\n if (url) {\n const script = parentElement.ownerDocument.createElement('script');\n\n script.type = 'module';\n script.src = url;\n parentElement.appendChild(script);\n }\n}\n\nfunction isHtml(scriptPath: string): boolean {\n // path has an .htm or .html extension; case insensitive.\n return scriptPath.toLowerCase().match(/\\.htm(l)?$/) !== null;\n}\n\nasync function readStaticHtml(options: CreateHtmlOptions): Promise<string> {\n const { route } = options;\n let html = '';\n\n if (route.renderScript) {\n const htmlPath = path.resolve(options.session.appPath, route.renderScript);\n\n try {\n html = (await fsPromises.readFile(htmlPath, 'utf8')) || '';\n } catch (e) {\n console.error(`Error reading HTML file at \"${htmlPath}\".`, e);\n }\n }\n\n return html;\n}\n"]}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a custom HtmlResult object returned from running the renderScript for a Route
|
|
3
|
+
*/
|
|
4
|
+
export type CustomHtmlResult = {
|
|
5
|
+
type: 'static-html' | 'js' | 'json';
|
|
6
|
+
content: string;
|
|
7
|
+
};
|
|
1
8
|
/**
|
|
2
9
|
* The expected result of the createHtml custom server render function.
|
|
3
10
|
*/
|
|
4
11
|
export type CreateHtmlResult = string | {
|
|
5
12
|
html: string;
|
|
6
13
|
statusCode: number;
|
|
7
|
-
};
|
|
14
|
+
} | CustomHtmlResult;
|
|
8
15
|
//# sourceMappingURL=CreateHtmlResult.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateHtmlResult.d.ts","sourceRoot":"","sources":["../../src/types/CreateHtmlResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"CreateHtmlResult.d.ts","sourceRoot":"","sources":["../../src/types/CreateHtmlResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GACD,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateHtmlResult.js","sourceRoot":"","sources":["../../src/types/CreateHtmlResult.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The expected result of the createHtml custom server render function.\n */\nexport type CreateHtmlResult =\n | string\n | {\n html: string;\n statusCode: number;\n };\n"]}
|
|
1
|
+
{"version":3,"file":"CreateHtmlResult.js","sourceRoot":"","sources":["../../src/types/CreateHtmlResult.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Represents a custom HtmlResult object returned from running the renderScript for a Route\n */\nexport type CustomHtmlResult = {\n type: 'static-html' | 'js' | 'json';\n content: string;\n};\n\n/**\n * The expected result of the createHtml custom server render function.\n */\nexport type CreateHtmlResult =\n | string\n | {\n html: string;\n statusCode: number;\n }\n | CustomHtmlResult;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"description": "The Cloudpack command line interface - a tool for managing fast inner and outer looping in web apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@lage-run/target-graph": "^0.8.6",
|
|
14
|
-
"@ms-cloudpack/api-server": "^0.14.
|
|
15
|
-
"@ms-cloudpack/bundler": "^0.14.
|
|
16
|
-
"@ms-cloudpack/config": "^0.
|
|
14
|
+
"@ms-cloudpack/api-server": "^0.14.2",
|
|
15
|
+
"@ms-cloudpack/bundler": "^0.14.10",
|
|
16
|
+
"@ms-cloudpack/config": "^0.12.0",
|
|
17
17
|
"@ms-cloudpack/create-express-app": "^1.3.9",
|
|
18
18
|
"@ms-cloudpack/data-bus": "^0.4.0",
|
|
19
19
|
"@ms-cloudpack/file-watcher": "^0.0.3",
|
|
20
20
|
"@ms-cloudpack/json-utilities": "^0.0.7",
|
|
21
|
-
"@ms-cloudpack/overlay": "^0.14.
|
|
21
|
+
"@ms-cloudpack/overlay": "^0.14.11",
|
|
22
22
|
"@ms-cloudpack/package-utilities": "^5.1.2",
|
|
23
23
|
"@ms-cloudpack/path-string-parsing": "^1.0.3",
|
|
24
24
|
"@ms-cloudpack/path-utilities": "^2.3.2",
|