@ms-cloudpack/cli 0.15.2 → 0.16.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/CHANGELOG.json +40 -1
- package/CHANGELOG.md +14 -2
- package/lib/commands/start/start.js +3 -1
- package/lib/commands/start/start.js.map +1 -1
- package/lib/commands/start/startAppServer.d.ts +5 -2
- package/lib/commands/start/startAppServer.js +44 -36
- package/lib/commands/start/startAppServer.js.map +1 -1
- package/lib/commands/start/startBundleServer.js +10 -7
- package/lib/commands/start/startBundleServer.js.map +1 -1
- package/lib/types.d.ts +7 -0
- package/package.json +5 -5
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,46 @@
|
|
|
2
2
|
"name": "@ms-cloudpack/cli",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Tue, 18 Oct 2022 08:15:52 GMT",
|
|
6
|
+
"tag": "@ms-cloudpack/cli_v0.16.0",
|
|
7
|
+
"version": "0.16.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "dake.3601@gmail.com",
|
|
12
|
+
"package": "@ms-cloudpack/cli",
|
|
13
|
+
"commit": "1bec1f80bb50ebe897f03dc74437c3e211bea83e",
|
|
14
|
+
"comment": "Https enabled through config file for App Server."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@ms-cloudpack/cli",
|
|
19
|
+
"comment": "Bump @ms-cloudpack/bundler to v0.6.3",
|
|
20
|
+
"commit": "1bec1f80bb50ebe897f03dc74437c3e211bea83e"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@ms-cloudpack/cli",
|
|
25
|
+
"comment": "Bump @ms-cloudpack/create-express-app to v1.0.0",
|
|
26
|
+
"commit": "1bec1f80bb50ebe897f03dc74437c3e211bea83e"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "beachball",
|
|
30
|
+
"package": "@ms-cloudpack/cli",
|
|
31
|
+
"comment": "Bump @ms-cloudpack/package-utilities to v1.0.1",
|
|
32
|
+
"commit": "1bec1f80bb50ebe897f03dc74437c3e211bea83e"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "beachball",
|
|
36
|
+
"package": "@ms-cloudpack/cli",
|
|
37
|
+
"comment": "Bump @ms-cloudpack/path-utilities to v1.1.0",
|
|
38
|
+
"commit": "1bec1f80bb50ebe897f03dc74437c3e211bea83e"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"date": "Sat, 15 Oct 2022 08:11:31 GMT",
|
|
6
45
|
"tag": "@ms-cloudpack/cli_v0.15.2",
|
|
7
46
|
"version": "0.15.2",
|
|
8
47
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
# Change Log - @ms-cloudpack/cli
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 18 Oct 2022 08:15:52 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.16.0
|
|
8
|
+
|
|
9
|
+
Tue, 18 Oct 2022 08:15:52 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Https enabled through config file for App Server. (dake.3601@gmail.com)
|
|
14
|
+
- Bump @ms-cloudpack/bundler to v0.6.3
|
|
15
|
+
- Bump @ms-cloudpack/create-express-app to v1.0.0
|
|
16
|
+
- Bump @ms-cloudpack/package-utilities to v1.0.1
|
|
17
|
+
- Bump @ms-cloudpack/path-utilities to v1.1.0
|
|
18
|
+
|
|
7
19
|
## 0.15.2
|
|
8
20
|
|
|
9
|
-
Sat, 15 Oct 2022 08:11:
|
|
21
|
+
Sat, 15 Oct 2022 08:11:31 GMT
|
|
10
22
|
|
|
11
23
|
### Patches
|
|
12
24
|
|
|
@@ -14,6 +14,7 @@ export async function start() {
|
|
|
14
14
|
const appPath = process.cwd();
|
|
15
15
|
// Parse config if it exists.
|
|
16
16
|
const cloudpackConfig = (await readJson(path.join(appPath, 'cloudpack.config.json'))) || {};
|
|
17
|
+
const devServer = cloudpackConfig?.devServer || {};
|
|
17
18
|
// Initialize package overrides.
|
|
18
19
|
PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(cloudpackConfig));
|
|
19
20
|
// Initialize session definition.
|
|
@@ -26,6 +27,7 @@ export async function start() {
|
|
|
26
27
|
session,
|
|
27
28
|
bundleServer,
|
|
28
29
|
apiServer,
|
|
30
|
+
options: { devServer },
|
|
29
31
|
});
|
|
30
32
|
let sigintCount = 0;
|
|
31
33
|
const cleanup = async () => {
|
|
@@ -52,7 +54,7 @@ export async function start() {
|
|
|
52
54
|
});
|
|
53
55
|
});
|
|
54
56
|
// Open the browser.
|
|
55
|
-
const url =
|
|
57
|
+
const url = appServer.url;
|
|
56
58
|
openBrowser(url).catch((err) => {
|
|
57
59
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
58
60
|
console.warn('Error opening browser:', err?.stack || err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,6BAA6B;IAC7B,MAAM,eAAe,GAAoB,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiServer, BundleServer, Session } from '../../types.js';
|
|
1
|
+
import type { ApiServer, BundleServer, DevServer, Session } from '../../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* The app server hosts the appropriate routes for the web app, primarily returning html content
|
|
4
4
|
* which loads resources from the bundle server.
|
|
@@ -7,10 +7,13 @@ import type { ApiServer, BundleServer, Session } from '../../types.js';
|
|
|
7
7
|
* can support whichever routes the app needs, while the bundle server can provide package
|
|
8
8
|
* assets in various forms using its own routing.
|
|
9
9
|
*/
|
|
10
|
-
export declare function startAppServer({ session, bundleServer, apiServer, }: {
|
|
10
|
+
export declare function startAppServer({ session, bundleServer, apiServer, options, }: {
|
|
11
11
|
session: Session;
|
|
12
12
|
bundleServer: BundleServer;
|
|
13
13
|
apiServer: ApiServer;
|
|
14
|
+
options?: {
|
|
15
|
+
devServer?: DevServer;
|
|
16
|
+
};
|
|
14
17
|
}): Promise<{
|
|
15
18
|
close: () => Promise<void>;
|
|
16
19
|
port: number;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { slash } from '@ms-cloudpack/path-string-parsing';
|
|
4
4
|
import { createImportMap, PackageDefinitions } from '@ms-cloudpack/package-utilities';
|
|
5
|
-
import { createExpressApp } from '@ms-cloudpack/create-express-app';
|
|
5
|
+
import { createExpressApp, parseHttpsConfig } from '@ms-cloudpack/create-express-app';
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
7
|
const log = (messages) => {
|
|
8
|
-
// console.log(`
|
|
8
|
+
// console.log(`AppServer:`, ...messages);
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
11
|
* The app server hosts the appropriate routes for the web app, primarily returning html content
|
|
@@ -15,54 +15,62 @@ const log = (messages) => {
|
|
|
15
15
|
* can support whichever routes the app needs, while the bundle server can provide package
|
|
16
16
|
* assets in various forms using its own routing.
|
|
17
17
|
*/
|
|
18
|
-
export async function startAppServer({ session, bundleServer, apiServer, }) {
|
|
18
|
+
export async function startAppServer({ session, bundleServer, apiServer, options, }) {
|
|
19
19
|
const importMap = await createImportMap(session.resolveMap, bundleServer.url);
|
|
20
20
|
const definition = await PackageDefinitions.getInstance().get(session.appPath);
|
|
21
21
|
const overlayScript = importMap.imports['@ms-cloudpack/overlay'];
|
|
22
22
|
const dashboardScript = importMap.imports['@ms-cloudpack/overlay'];
|
|
23
|
-
const {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
const { devServer = {} } = options || {};
|
|
24
|
+
const { https = {} } = devServer;
|
|
25
|
+
// Read the port from the config file or default to array of ports.
|
|
26
|
+
const ports = devServer?.port ? devServer?.port : [5000, 5001, 5002, 5003];
|
|
27
|
+
const { server, protocol, domain, port } = await createExpressApp({
|
|
28
|
+
portRange: ports,
|
|
29
|
+
hostname: devServer?.domain,
|
|
30
|
+
sslOptions: parseHttpsConfig(https),
|
|
31
|
+
setupCallback: (app) => {
|
|
32
|
+
// Set up the express app routes.
|
|
33
|
+
app
|
|
34
|
+
.get('/__/dashboard', (req, res) => {
|
|
35
|
+
sendHtmlResponse({
|
|
36
|
+
session,
|
|
37
|
+
title: 'Cloudpack dashboard',
|
|
38
|
+
importMap,
|
|
39
|
+
apiServer,
|
|
40
|
+
bodyScripts: [overlayScript, dashboardScript],
|
|
41
|
+
res,
|
|
42
|
+
});
|
|
43
|
+
})
|
|
44
|
+
.get('*', (req, res) => {
|
|
45
|
+
if (!definition) {
|
|
46
|
+
res.status(500).send(`There was no package.json located at "${session.appPath}".`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const requestPath = slash(req.path.substring(1));
|
|
50
|
+
const requestExt = path.extname(requestPath);
|
|
51
|
+
const entryScript = importMap.imports[definition.name || ''];
|
|
52
|
+
log(`App server: Request: ${requestPath}, ext: ${requestExt}, ${port}`);
|
|
53
|
+
sendHtmlResponse({
|
|
54
|
+
session,
|
|
55
|
+
title: definition.name || '',
|
|
56
|
+
importMap,
|
|
57
|
+
apiServer,
|
|
58
|
+
headScripts: [overlayScript],
|
|
59
|
+
bodyScripts: [entryScript],
|
|
60
|
+
res,
|
|
61
|
+
});
|
|
34
62
|
});
|
|
35
|
-
}
|
|
36
|
-
.get('*', (req, res) => {
|
|
37
|
-
if (!definition) {
|
|
38
|
-
res.status(500).send(`There was no package.json located at "${session.appPath}".`);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const requestPath = slash(req.path.substring(1));
|
|
42
|
-
const requestExt = path.extname(requestPath);
|
|
43
|
-
const entryScript = importMap.imports[definition.name || ''];
|
|
44
|
-
log(`App server: Request: ${requestPath}, ext: ${requestExt}, ${port}`);
|
|
45
|
-
sendHtmlResponse({
|
|
46
|
-
session,
|
|
47
|
-
title: definition.name || '',
|
|
48
|
-
importMap,
|
|
49
|
-
apiServer,
|
|
50
|
-
headScripts: [overlayScript],
|
|
51
|
-
bodyScripts: [entryScript],
|
|
52
|
-
res,
|
|
53
|
-
});
|
|
54
|
-
});
|
|
63
|
+
},
|
|
55
64
|
});
|
|
56
65
|
return {
|
|
57
66
|
close: () => new Promise((resolve, reject) => server.close((err) => (err ? reject(err) : resolve()))),
|
|
58
67
|
port,
|
|
59
|
-
url:
|
|
68
|
+
url: `${protocol}://${domain}:${port}`,
|
|
60
69
|
};
|
|
61
70
|
}
|
|
62
71
|
function sendHtmlResponse({ session, title, importMap, apiServer, headScripts, bodyScripts, res, }) {
|
|
63
72
|
res.header('Content-Type', 'text/html');
|
|
64
73
|
res.header('Cache-Control', 'no-cache');
|
|
65
|
-
res.header('Content-Security-Policy', `connect-src 'self' ws:;`);
|
|
66
74
|
res.header('Access-Control-Allow-Origin', '*');
|
|
67
75
|
res.cookie('cloudpack-session-id', session.id);
|
|
68
76
|
res.cookie('cloudpack-api-url', apiServer.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startAppServer.js","sourceRoot":"","sources":["../../../src/commands/start/startAppServer.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAkB,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAA+B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"startAppServer.js","sourceRoot":"","sources":["../../../src/commands/start/startAppServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,17 @@ const error = (...messages) => {
|
|
|
20
20
|
*/
|
|
21
21
|
export async function startBundleServer({ session, apiServer, }) {
|
|
22
22
|
const watcher = startWatcher(apiServer);
|
|
23
|
-
const { server, port } = await createExpressApp(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
res.
|
|
23
|
+
const { server, port } = await createExpressApp({
|
|
24
|
+
portRange: [5500, 5501, 5502, 5503],
|
|
25
|
+
setupCallback: (app) => {
|
|
26
|
+
// Set up the express app routes.
|
|
27
|
+
app.get('*', (req, res) => {
|
|
28
|
+
handleRequest(req, res, session, apiServer, watcher).catch((err) => {
|
|
29
|
+
error(err?.stack || err);
|
|
30
|
+
res.status(500).send(`Error bundling: ${err}`);
|
|
31
|
+
});
|
|
29
32
|
});
|
|
30
|
-
}
|
|
33
|
+
},
|
|
31
34
|
});
|
|
32
35
|
const url = `http://localhost:${port}`;
|
|
33
36
|
const close = () => new Promise((resolve, reject) => server.close((err) => (err ? reject(err) : resolve())));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startBundleServer.js","sourceRoot":"","sources":["../../../src/commands/start/startBundleServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,OAAO,EACP,SAAS,GAIV;IACC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"startBundleServer.js","sourceRoot":"","sources":["../../../src/commands/start/startBundleServer.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ResolveMap } from '@ms-cloudpack/package-utilities';
|
|
2
2
|
import type { BundlerResult } from '@ms-cloudpack/bundler-types';
|
|
3
3
|
import type { PackageJson } from 'type-fest';
|
|
4
|
+
import type { HttpsConfig } from '@ms-cloudpack/create-express-app';
|
|
4
5
|
export interface Session {
|
|
5
6
|
/**
|
|
6
7
|
* The session id, used for identifying
|
|
@@ -110,9 +111,15 @@ export interface PackageOverride {
|
|
|
110
111
|
isExternal?: boolean;
|
|
111
112
|
overrides: PackageJson;
|
|
112
113
|
}
|
|
114
|
+
export interface DevServer {
|
|
115
|
+
domain?: string;
|
|
116
|
+
port?: number;
|
|
117
|
+
https?: HttpsConfig;
|
|
118
|
+
}
|
|
113
119
|
/**
|
|
114
120
|
* Per-application configuration for Cloudpack.
|
|
115
121
|
*/
|
|
116
122
|
export interface CloudpackConfig {
|
|
117
123
|
packageOverrides?: PackageOverride[];
|
|
124
|
+
devServer?: DevServer;
|
|
118
125
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.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",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"cloudpack": "./bin/cloudpack.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@ms-cloudpack/bundler": "^0.6.
|
|
20
|
-
"@ms-cloudpack/create-express-app": "^0.
|
|
19
|
+
"@ms-cloudpack/bundler": "^0.6.3",
|
|
20
|
+
"@ms-cloudpack/create-express-app": "^1.0.0",
|
|
21
21
|
"@ms-cloudpack/data-bus": "^0.1.0",
|
|
22
22
|
"@ms-cloudpack/json-utilities": "^0.0.4",
|
|
23
23
|
"@ms-cloudpack/overlay": "^0.6.0",
|
|
24
|
-
"@ms-cloudpack/package-utilities": "^1.0.
|
|
25
|
-
"@ms-cloudpack/path-utilities": "^1.
|
|
24
|
+
"@ms-cloudpack/package-utilities": "^1.0.1",
|
|
25
|
+
"@ms-cloudpack/path-utilities": "^1.1.0",
|
|
26
26
|
"@ms-cloudpack/path-string-parsing": "^1.0.0",
|
|
27
27
|
"chokidar": "^3.5.3",
|
|
28
28
|
"commander": "^9.1.0",
|