@ms-cloudpack/cli 0.26.5 → 0.27.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/bundle/bundle.js +19 -18
- package/lib/commands/bundle/bundle.js.map +1 -1
- package/lib/commands/init/evaluateImportsForOverrides.d.ts +1 -3
- package/lib/commands/init/evaluateImportsForOverrides.js +4 -4
- package/lib/commands/init/evaluateImportsForOverrides.js.map +1 -1
- package/lib/commands/init/findImports.js +3 -3
- package/lib/commands/init/findImports.js.map +1 -1
- package/lib/commands/init/findImports.test.d.ts +1 -0
- package/lib/commands/init/findImports.test.js +35 -0
- package/lib/commands/init/findImports.test.js.map +1 -0
- package/lib/commands/init/getImportsFromBundle.d.ts +1 -3
- package/lib/commands/init/getImportsFromBundle.js +32 -23
- package/lib/commands/init/getImportsFromBundle.js.map +1 -1
- package/lib/commands/init/index.js +20 -1
- package/lib/commands/init/index.js.map +1 -1
- package/lib/commands/init/init.d.ts +3 -1
- package/lib/commands/init/init.js +18 -14
- package/lib/commands/init/init.js.map +1 -1
- package/lib/commands/init/init.test.js +7 -2
- package/lib/commands/init/init.test.js.map +1 -1
- package/lib/commands/init/patchAllInternalPackageExports.d.ts +0 -2
- package/lib/commands/init/patchAllInternalPackageExports.js +4 -4
- package/lib/commands/init/patchAllInternalPackageExports.js.map +1 -1
- package/lib/commands/init/patchPackageExports.d.ts +0 -2
- package/lib/commands/init/patchPackageExports.js.map +1 -1
- package/lib/commands/start/addOverride.js +2 -6
- package/lib/commands/start/addOverride.js.map +1 -1
- package/lib/commands/start/addOverride.test.js +5 -1
- package/lib/commands/start/addOverride.test.js.map +1 -1
- package/lib/commands/start/appServer/startAppServer.js +6 -1
- package/lib/commands/start/appServer/startAppServer.js.map +1 -1
- package/lib/commands/start/createBundleTask.d.ts +4 -0
- package/lib/commands/start/createBundleTask.js +7 -48
- package/lib/commands/start/createBundleTask.js.map +1 -1
- package/lib/commands/start/createSession.js +9 -6
- package/lib/commands/start/createSession.js.map +1 -1
- package/lib/commands/start/createSession.test.js +5 -1
- package/lib/commands/start/createSession.test.js.map +1 -1
- package/lib/commands/start/start.js +70 -58
- package/lib/commands/start/start.js.map +1 -1
- package/lib/commands/start/startBundleServer.js +10 -17
- package/lib/commands/start/startBundleServer.js.map +1 -1
- package/lib/commands/start/startWatcher.js +5 -12
- package/lib/commands/start/startWatcher.js.map +1 -1
- package/lib/getVersion.js +1 -1
- package/lib/index.js +19 -1
- package/lib/index.js.map +1 -1
- package/lib/reporter.d.ts +4 -0
- package/lib/reporter.js +7 -0
- package/lib/reporter.js.map +1 -0
- package/lib/tasks/bundleTask.d.ts +5 -0
- package/lib/tasks/bundleTask.js +80 -0
- package/lib/tasks/bundleTask.js.map +1 -0
- package/lib/tasks/formatBundleErrors.d.ts +8 -0
- package/lib/tasks/formatBundleErrors.js +19 -0
- package/lib/tasks/formatBundleErrors.js.map +1 -0
- package/lib/tasks/resolveDependenciesTask.d.ts +10 -0
- package/lib/tasks/resolveDependenciesTask.js +57 -0
- package/lib/tasks/resolveDependenciesTask.js.map +1 -0
- package/lib/types.d.ts +4 -1
- package/package.json +4 -3
- package/lib/commands/init/createLog.d.ts +0 -11
- package/lib/commands/init/createLog.js +0 -25
- package/lib/commands/init/createLog.js.map +0 -1
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, beforeAll } from '@jest/globals';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { readJson } from '@ms-cloudpack/json-utilities';
|
|
4
4
|
import { createResolveMap, PackageDefinitions } from '@ms-cloudpack/package-utilities';
|
|
5
5
|
import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
|
|
6
6
|
import { addOverride } from './addOverride.js';
|
|
7
7
|
import fs from 'fs';
|
|
8
|
+
import { reporter, noLoggingConfig } from '../../reporter.js';
|
|
8
9
|
const { rm } = fs.promises;
|
|
9
10
|
describe('addOverride', () => {
|
|
10
11
|
let testPath;
|
|
12
|
+
beforeAll(() => {
|
|
13
|
+
reporter.setOptions(noLoggingConfig);
|
|
14
|
+
});
|
|
11
15
|
beforeEach(() => {
|
|
12
16
|
PackageDefinitions.getInstance().clear();
|
|
13
17
|
PackageDefinitions.getInstance().clearTransforms();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOverride.test.js","sourceRoot":"","sources":["../../../src/commands/start/addOverride.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"addOverride.test.js","sourceRoot":"","sources":["../../../src/commands/start/addOverride.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createExpressApp, parseHttpsConfig } from '@ms-cloudpack/create-express-app';
|
|
2
2
|
import { createRoutes } from './createRoutes.js';
|
|
3
3
|
import { exitIfPortUnavailable } from './exitIfPortUnavailable.js';
|
|
4
|
+
import { reporter } from '../../../reporter.js';
|
|
5
|
+
import { cyan } from '@ms-cloudpack/task-reporter';
|
|
4
6
|
/**
|
|
5
7
|
* The app server hosts the appropriate routes for the web app, primarily returning html content
|
|
6
8
|
* which loads resources from the bundle server.
|
|
@@ -18,8 +20,9 @@ export async function startAppServer({ session, bundleServer, apiServer, definit
|
|
|
18
20
|
// Directory to serve as plain static assets. Defaults to "public".
|
|
19
21
|
// Can be overridden by setting the 'publicDir' option in the cloudpack config.
|
|
20
22
|
// const publicDir = path.resolve(devServer.publicPath ?? 'public');
|
|
23
|
+
const task = reporter.addTask('Starting app server');
|
|
21
24
|
try {
|
|
22
|
-
const { close, protocol, domain, port } = await createExpressApp({
|
|
25
|
+
const { close, protocol, domain, port, baseUrl } = await createExpressApp({
|
|
23
26
|
portRange: ports,
|
|
24
27
|
requireSpecifiedPort,
|
|
25
28
|
hostname: devServer?.domain,
|
|
@@ -35,6 +38,7 @@ export async function startAppServer({ session, bundleServer, apiServer, definit
|
|
|
35
38
|
config,
|
|
36
39
|
}),
|
|
37
40
|
});
|
|
41
|
+
task.complete({ message: `Available @ ${cyan(baseUrl)}`, forceShow: true });
|
|
38
42
|
return {
|
|
39
43
|
close,
|
|
40
44
|
port,
|
|
@@ -42,6 +46,7 @@ export async function startAppServer({ session, bundleServer, apiServer, definit
|
|
|
42
46
|
};
|
|
43
47
|
}
|
|
44
48
|
catch (err) {
|
|
49
|
+
task.complete({ status: 'fail', message: 'Failed to start app server', forceShow: true });
|
|
45
50
|
exitIfPortUnavailable(err, session.projectName, ports);
|
|
46
51
|
throw err;
|
|
47
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startAppServer.js","sourceRoot":"","sources":["../../../../src/commands/start/appServer/startAppServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"startAppServer.js","sourceRoot":"","sources":["../../../../src/commands/start/appServer/startAppServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,OAAO,EACP,YAAY,EACZ,SAAS,EACT,UAAU,EACV,MAAM,GAAG,EAAqB,GAO/B;IACC,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,MAAM,IAAK,EAAsB,CAAC;IAC7D,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;IAEjC,mEAAmE;IACnE,MAAM,oBAAoB,GAAG,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE1D,mEAAmE;IACnE,+EAA+E;IAC/E,oEAAoE;IAEpE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAErD,IAAI;QACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC;YACxE,SAAS,EAAE,KAAK;YAChB,oBAAoB;YACpB,QAAQ,EAAE,SAAS,EAAE,MAAM;YAC3B,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC;YACnC,cAAc;YACd,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAC9B,YAAY,CAAC;gBACX,GAAG;gBACH,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,YAAY;gBACZ,SAAS;gBACT,MAAM;aACP,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5E,OAAO;YACL,KAAK;YACL,IAAI;YACJ,GAAG,EAAE,GAAG,QAAQ,MAAM,MAAM,IAAI,IAAI,EAAE;SACvC,CAAC;KACH;IAAC,OAAO,GAAY,EAAE;QACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEvD,MAAM,GAAG,CAAC;KACX;AACH,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { BundleRequest, BundleTaskOptions, Task } from '../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a bundle task tracked in the task runner of the api server. This allows active tasks to be tracked
|
|
4
|
+
* remotely (e.g. in the browser) and allows the user to cancel tasks.
|
|
5
|
+
*/
|
|
2
6
|
export declare function createBundleTask(bundleRequest: BundleRequest, options?: BundleTaskOptions): Task<BundleRequest>;
|
|
@@ -1,34 +1,20 @@
|
|
|
1
|
-
import { bundlePackage } from '@ms-cloudpack/bundler';
|
|
2
|
-
import { readJson, writeJson } from '@ms-cloudpack/json-utilities';
|
|
3
1
|
import path from 'path';
|
|
4
2
|
import fs from 'fs';
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import { bundleTask } from '../../tasks/bundleTask.js';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a bundle task tracked in the task runner of the api server. This allows active tasks to be tracked
|
|
6
|
+
* remotely (e.g. in the browser) and allows the user to cancel tasks.
|
|
7
|
+
*/
|
|
9
8
|
export function createBundleTask(bundleRequest, options) {
|
|
10
9
|
const { id, packageName, version, outputPath, packagePath, isExternal } = bundleRequest;
|
|
11
|
-
const { force } = options || {};
|
|
12
10
|
return {
|
|
13
11
|
name: `Bundle ${packageName}@${version}`,
|
|
14
12
|
id,
|
|
15
13
|
dir: `${path.join(packagePath, 'src')}`,
|
|
16
14
|
watch: !isExternal,
|
|
17
15
|
async execute() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (force && bundleRequest.result?.dispose) {
|
|
21
|
-
bundleRequest.result.dispose();
|
|
22
|
-
bundleRequest.result = undefined;
|
|
23
|
-
}
|
|
24
|
-
if (bundleRequest.result?.rebuild) {
|
|
25
|
-
bundleResult.result = await bundleRequest.result.rebuild();
|
|
26
|
-
log(`Rebuilt: "${packageName}@${version}"`);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
bundleResult = await createBundle(bundleRequest, force);
|
|
30
|
-
}
|
|
31
|
-
return bundleResult;
|
|
16
|
+
await bundleTask({ bundleRequest, options });
|
|
17
|
+
return bundleRequest;
|
|
32
18
|
},
|
|
33
19
|
clear: () => {
|
|
34
20
|
bundleRequest.result?.dispose?.();
|
|
@@ -52,31 +38,4 @@ export function createBundleTask(bundleRequest, options) {
|
|
|
52
38
|
}),
|
|
53
39
|
};
|
|
54
40
|
}
|
|
55
|
-
async function createBundle(bundleRequest, force) {
|
|
56
|
-
const { packagePath, outputPath, isExternal } = bundleRequest;
|
|
57
|
-
// Rehydrate the result if not incremental.
|
|
58
|
-
if (isExternal && !force) {
|
|
59
|
-
bundleRequest.result = await readJson(path.join(outputPath, 'result.json'));
|
|
60
|
-
}
|
|
61
|
-
const isCacheUsable = bundleRequest.result?.errors?.length === 0;
|
|
62
|
-
// Only use cached result if it's successful.
|
|
63
|
-
if (!isCacheUsable) {
|
|
64
|
-
await prepareOutputPath(outputPath);
|
|
65
|
-
bundleRequest.result = await bundlePackage({
|
|
66
|
-
inputPath: packagePath,
|
|
67
|
-
outputPath,
|
|
68
|
-
incremental: !isExternal,
|
|
69
|
-
});
|
|
70
|
-
// Write the result to disk.
|
|
71
|
-
if (isExternal) {
|
|
72
|
-
bundleRequest.result.rawInput = bundleRequest.result.rawOutput = undefined;
|
|
73
|
-
await writeJson(path.join(outputPath, 'result.json'), bundleRequest.result);
|
|
74
|
-
}
|
|
75
|
-
log(`Bundled: "${bundleRequest.packageName}@${bundleRequest.version}"`);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
log(`Bundle cached, returning: "${bundleRequest.packageName}@${bundleRequest.version}"`);
|
|
79
|
-
}
|
|
80
|
-
return bundleRequest;
|
|
81
|
-
}
|
|
82
41
|
//# sourceMappingURL=createBundleTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBundleTask.js","sourceRoot":"","sources":["../../../src/commands/start/createBundleTask.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"createBundleTask.js","sourceRoot":"","sources":["../../../src/commands/start/createBundleTask.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAA4B,EAAE,OAA2B;IACxF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAExF,OAAO;QACL,IAAI,EAAE,UAAU,WAAW,IAAI,OAAO,EAAE;QACxC,EAAE;QACF,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;QACvC,KAAK,EAAE,CAAC,UAAU;QAClB,KAAK,CAAC,OAAO;YACX,MAAM,UAAU,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7C,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;YAClC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;YACjC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAW,aAAa,CAAC,MAAM,EAAE,MAAsB;QACvE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,EAAE;YACF,IAAI,EAAE,UAAU,WAAW,IAAI,OAAO,EAAE;YACxC,SAAS,EAAE,WAAW,IAAI,EAAE;YAC5B,UAAU;SACX,CAAC;QACF,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAChC,CAAC;YACC,EAAE;YACF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;YAClC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;SAChB,CAAA;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { v4 as uuid } from 'uuid';
|
|
2
|
-
import {
|
|
2
|
+
import { resolve } from '@ms-cloudpack/package-utilities';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import fsExtra from 'fs-extra';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import { fileURLToPath } from 'url';
|
|
7
7
|
import { getLocalCachePath } from '../../common/getCachePath.js';
|
|
8
|
+
import { resolveDependenciesTask } from '../../tasks/resolveDependenciesTask.js';
|
|
8
9
|
const dashboardPackageName = '@ms-cloudpack/overlay';
|
|
9
10
|
const dashboardPackagePath = (await resolve(dashboardPackageName, path.dirname(fileURLToPath(import.meta.url)))) || '';
|
|
10
11
|
export async function createSession(options) {
|
|
11
12
|
const { appPath } = options;
|
|
12
13
|
const projectName = path.basename(appPath);
|
|
13
14
|
const id = uuid();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const resolveMap = await resolveDependenciesTask({
|
|
16
|
+
appPath,
|
|
17
|
+
additionalPaths: [dashboardPackagePath],
|
|
18
|
+
});
|
|
19
|
+
if (!resolveMap) {
|
|
20
|
+
throw new Error('Could not resolve dependencies.');
|
|
21
|
+
}
|
|
19
22
|
let importMap = undefined;
|
|
20
23
|
let sessionVersion = 0;
|
|
21
24
|
await fsExtra.ensureDir(getLocalCachePath(appPath));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../../src/commands/start/createSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createSession.js","sourceRoot":"","sources":["../../../src/commands/start/createSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
|
|
1
|
+
import { describe, it, expect, beforeAll, beforeEach, afterEach } from '@jest/globals';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import { createSession } from './createSession.js';
|
|
4
4
|
import { createTestFileStructure } from '@ms-cloudpack/test-utilities';
|
|
5
5
|
import { createImportMap } from '@ms-cloudpack/package-utilities';
|
|
6
|
+
import { reporter, noLoggingConfig } from '../../reporter.js';
|
|
6
7
|
const { rm } = fs.promises;
|
|
7
8
|
let tempFolderPath;
|
|
8
9
|
describe('createSession', () => {
|
|
10
|
+
beforeAll(() => {
|
|
11
|
+
reporter.setOptions(noLoggingConfig);
|
|
12
|
+
});
|
|
9
13
|
beforeEach(async () => {
|
|
10
14
|
tempFolderPath = await createTestFileStructure({
|
|
11
15
|
'package.json': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSession.test.js","sourceRoot":"","sources":["../../../src/commands/start/createSession.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"createSession.test.js","sourceRoot":"","sources":["../../../src/commands/start/createSession.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,71 +7,83 @@ import { createSession } from './createSession.js';
|
|
|
7
7
|
import { openBrowser } from './openBrowser.js';
|
|
8
8
|
import { startApiServer } from './startApiServer.js';
|
|
9
9
|
import { startBundleServer } from './startBundleServer.js';
|
|
10
|
+
import { reporter } from '../../reporter.js';
|
|
10
11
|
/**
|
|
11
12
|
* Defines the "start" verb entry point.
|
|
12
13
|
*/
|
|
13
14
|
export async function start(options) {
|
|
14
15
|
const appPath = process.cwd();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// Initialize session definition.
|
|
29
|
-
const session = await createSession({ appPath });
|
|
30
|
-
if (options.logResolveMap) {
|
|
31
|
-
// Write the resolve map to disk.
|
|
32
|
-
await writeJson(path.join(appPath, 'resolve-map.json'), session.resolveMap);
|
|
33
|
-
}
|
|
34
|
-
// Start api server for tracking status and handling remote requests.
|
|
35
|
-
const apiServer = await startApiServer({ session });
|
|
36
|
-
// Then start bundle and app servers for hosting the app.
|
|
37
|
-
const bundleServer = await startBundleServer({ session, apiServer });
|
|
38
|
-
const appServer = await startAppServer({
|
|
39
|
-
session,
|
|
40
|
-
definition,
|
|
41
|
-
bundleServer,
|
|
42
|
-
apiServer,
|
|
43
|
-
config: { devServer },
|
|
44
|
-
});
|
|
45
|
-
const cleanup = async () => {
|
|
46
|
-
for (const server of [bundleServer, appServer, apiServer]) {
|
|
47
|
-
console.log(`Closing server: ${server.url}`);
|
|
48
|
-
try {
|
|
49
|
-
await server.close();
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
console.warn('Error closing server:', err);
|
|
53
|
-
}
|
|
16
|
+
try {
|
|
17
|
+
// Parse config if it exists.
|
|
18
|
+
const cloudpackConfig = (await readJson(path.join(appPath, 'cloudpack.config.json'))) || {};
|
|
19
|
+
const devServer = cloudpackConfig?.devServer || {};
|
|
20
|
+
// Initialize package overrides.
|
|
21
|
+
PackageDefinitions.getInstance().registerTransform(createPackageOverrideTransform(cloudpackConfig));
|
|
22
|
+
// Make sure the package has a valid definition.
|
|
23
|
+
const definition = await PackageDefinitions.getInstance().get(appPath);
|
|
24
|
+
if (!definition) {
|
|
25
|
+
throw new Error(`There was no package.json located at "${appPath}".`);
|
|
26
|
+
}
|
|
27
|
+
if (!definition.name || !definition.version) {
|
|
28
|
+
throw new Error(`The package.json at "${appPath}" did not have a name and/or version.`);
|
|
54
29
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (sigintCount > 1) {
|
|
61
|
-
console.log('Forcing exit');
|
|
62
|
-
process.exit(1);
|
|
30
|
+
// Initialize session definition.
|
|
31
|
+
const session = await createSession({ appPath });
|
|
32
|
+
if (options.logResolveMap) {
|
|
33
|
+
// Write the resolve map to disk.
|
|
34
|
+
await writeJson(path.join(appPath, 'resolve-map.json'), session.resolveMap);
|
|
63
35
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
36
|
+
// Start api server for tracking status and handling remote requests.
|
|
37
|
+
const apiServer = await startApiServer({ session });
|
|
38
|
+
// Then start bundle and app servers for hosting the app.
|
|
39
|
+
const bundleServer = await startBundleServer({ session, apiServer });
|
|
40
|
+
const appServer = await startAppServer({
|
|
41
|
+
session,
|
|
42
|
+
definition,
|
|
43
|
+
bundleServer,
|
|
44
|
+
apiServer,
|
|
45
|
+
config: { devServer },
|
|
67
46
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
47
|
+
const cleanup = async () => {
|
|
48
|
+
for (const [name, server] of [
|
|
49
|
+
['appServer', appServer],
|
|
50
|
+
['apiServer', apiServer],
|
|
51
|
+
['bundleServer', bundleServer],
|
|
52
|
+
]) {
|
|
53
|
+
console.info(`Closing ${name}: ${server.url}`);
|
|
54
|
+
try {
|
|
55
|
+
await server.close();
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
console.warn('Error closing server:', err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Complete the reporting and list pending tasks as aborted.
|
|
62
|
+
reporter.complete();
|
|
63
|
+
};
|
|
64
|
+
// Setup cleanup and close things on completion.
|
|
65
|
+
let sigintCount = 0;
|
|
66
|
+
process.on('SIGINT', () => {
|
|
67
|
+
sigintCount++;
|
|
68
|
+
if (sigintCount > 1) {
|
|
69
|
+
console.debug('Forcing exit');
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
cleanup().finally(() => {
|
|
73
|
+
process.exit(0);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
// Open the browser.
|
|
77
|
+
const url = appServer.url;
|
|
78
|
+
openBrowser(url).catch((err) => {
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
80
|
+
console.warn('Error opening browser:', err?.stack || err);
|
|
81
|
+
console.warn('Please open the browser manually to:', url);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
reporter.complete();
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,6 @@ import { parseRequestInfo } from './parseRequestInfo.js';
|
|
|
6
6
|
import { createBundleTask } from './createBundleTask.js';
|
|
7
7
|
import { getBundleDetails } from '../../common/getBundleDetails.js';
|
|
8
8
|
import { isExternalPackage } from '@ms-cloudpack/package-utilities';
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
|
-
const log = (...messages) => {
|
|
11
|
-
// console.log(`BundleServer:`, ...messages);
|
|
12
|
-
};
|
|
13
|
-
const error = (...messages) => {
|
|
14
|
-
console.error(`BundleServer:`, ...messages);
|
|
15
|
-
};
|
|
16
9
|
/**
|
|
17
10
|
* The bundle server handles package requests and returns bundled resources.
|
|
18
11
|
* Resources are bundled on demand and cached locally to avoid re-bundling
|
|
@@ -25,14 +18,14 @@ export async function startBundleServer({ session, apiServer, }) {
|
|
|
25
18
|
// Set up the express app routes.
|
|
26
19
|
app.get('*', (req, res) => {
|
|
27
20
|
handleRequest(req, res, session, apiServer).catch((err) => {
|
|
28
|
-
error(err?.stack || err);
|
|
21
|
+
console.error(err?.stack || err);
|
|
29
22
|
res.status(500).send(`Error bundling: ${err}`);
|
|
30
23
|
});
|
|
31
24
|
});
|
|
32
25
|
},
|
|
33
26
|
});
|
|
34
27
|
const url = `http://localhost:${port}`;
|
|
35
|
-
|
|
28
|
+
console.debug(`started (${url})`);
|
|
36
29
|
return {
|
|
37
30
|
close,
|
|
38
31
|
port,
|
|
@@ -46,10 +39,10 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
46
39
|
const packageEntry = resolveMap[packageName];
|
|
47
40
|
const packagePath = version && packageEntry?.version === version ? packageEntry?.path : packageEntry?.scopedVersions?.[version]?.path;
|
|
48
41
|
const force = req.query.force !== undefined;
|
|
49
|
-
|
|
42
|
+
console.debug(`Request: "${packageName}@${version}${filePath}"`);
|
|
50
43
|
// If the package is missing, invalid arguments.
|
|
51
44
|
if (!requestPath || !packageName) {
|
|
52
|
-
|
|
45
|
+
console.debug(`Response (400): "${packageName}@${version}${filePath}"`);
|
|
53
46
|
res.status(400).send(`Requests must be in the format "/{packageName}@{version}/{type}/path/file.ext".`);
|
|
54
47
|
return;
|
|
55
48
|
}
|
|
@@ -57,7 +50,7 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
57
50
|
if (!version) {
|
|
58
51
|
const resolvedPackage = resolveMap[packageName];
|
|
59
52
|
if (!resolvedPackage) {
|
|
60
|
-
|
|
53
|
+
console.debug(`Response (404): Unrecognized package "${packageName}"`);
|
|
61
54
|
res.status(404).send(`Unrecognized package "${packageName}".`);
|
|
62
55
|
return;
|
|
63
56
|
}
|
|
@@ -66,7 +59,7 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
66
59
|
}
|
|
67
60
|
// If it's an unrecognized package, 404.
|
|
68
61
|
if (!packagePath) {
|
|
69
|
-
|
|
62
|
+
console.debug(`Response (404): "${packageName}@${version}${filePath}"`);
|
|
70
63
|
res
|
|
71
64
|
.status(404)
|
|
72
65
|
.send(`The requested package "${packageName}@${version}${filePath}" was not found in the resolve map.`);
|
|
@@ -76,11 +69,11 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
76
69
|
if (!bundled) {
|
|
77
70
|
const fullPath = path.join(packagePath, filePath);
|
|
78
71
|
if (fullPath.length < packagePath.length) {
|
|
79
|
-
|
|
72
|
+
console.debug(`Response (400): "${packageName}@${version}${filePath}"`);
|
|
80
73
|
res.status(400).send(`Invalid file path.`);
|
|
81
74
|
return;
|
|
82
75
|
}
|
|
83
|
-
|
|
76
|
+
console.debug(`Unbundled response returning: "${packageName}@${version}${filePath}"`);
|
|
84
77
|
// If the package is external, set cache headers.
|
|
85
78
|
if (isExternalPackage(packagePath)) {
|
|
86
79
|
res.setHeader('Cache-Control', 'public, max-age=31536000');
|
|
@@ -99,7 +92,7 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
99
92
|
outputPath,
|
|
100
93
|
isExternal,
|
|
101
94
|
};
|
|
102
|
-
|
|
95
|
+
console.debug(`Trying to bundle "${packageName}@${version}"`);
|
|
103
96
|
const bundleTask = createBundleTask(taskResult, { force });
|
|
104
97
|
await apiServer.addTask(bundleTask, { rerun });
|
|
105
98
|
// At this point we should have a Task completed.
|
|
@@ -107,7 +100,7 @@ async function handleRequest(req, res, session, apiServer) {
|
|
|
107
100
|
res.status(500).type('json').send(taskResult);
|
|
108
101
|
}
|
|
109
102
|
else {
|
|
110
|
-
|
|
103
|
+
console.debug(`Bundle returning: "${packageName}@${version}${filePath}"`);
|
|
111
104
|
// Try to return the result.
|
|
112
105
|
if (isExternal) {
|
|
113
106
|
res.setHeader('Cache-Control', 'public, max-age=31536000');
|
|
@@ -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;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE
|
|
1
|
+
{"version":3,"file":"startBundleServer.js","sourceRoot":"","sources":["../../../src/commands/start/startBundleServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import chokidar from 'chokidar';
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3
|
-
const log = (...messages) => {
|
|
4
|
-
// console.log(`Watcher:`, ...messages);
|
|
5
|
-
};
|
|
6
|
-
const error = (...messages) => {
|
|
7
|
-
console.error(`Watcher:`, ...messages);
|
|
8
|
-
};
|
|
9
2
|
export function startWatcher(addTask) {
|
|
10
3
|
const watched = new Set();
|
|
11
4
|
return {
|
|
@@ -16,10 +9,10 @@ export function startWatcher(addTask) {
|
|
|
16
9
|
return;
|
|
17
10
|
}
|
|
18
11
|
watched.add(id);
|
|
19
|
-
|
|
12
|
+
console.debug(`Initializing file watcher for ${name}`);
|
|
20
13
|
// TODO: This is a bit of a hack. We should be able to use the watch API, but it doesn't seem to work.
|
|
21
14
|
const watcher = chokidar.watch(dir).on('change', (event) => {
|
|
22
|
-
|
|
15
|
+
console.debug(`Detected change "${event}", rebuilding "${name}"`);
|
|
23
16
|
(async () => {
|
|
24
17
|
// Start tracking work.
|
|
25
18
|
let rebuilt = false;
|
|
@@ -28,15 +21,15 @@ export function startWatcher(addTask) {
|
|
|
28
21
|
rebuilt = true;
|
|
29
22
|
}
|
|
30
23
|
catch (err) {
|
|
31
|
-
error(`Error rebuilding "${name}":`, err?.stack || err);
|
|
24
|
+
console.error(`Error rebuilding "${name}":`, err?.stack || err);
|
|
32
25
|
}
|
|
33
26
|
const errors = task.getErrors?.();
|
|
34
27
|
if (rebuilt && !errors?.length) {
|
|
35
|
-
|
|
28
|
+
console.debug(`Notifying rebuild: ${name}`);
|
|
36
29
|
options?.onSuccess?.();
|
|
37
30
|
}
|
|
38
31
|
else if (errors) {
|
|
39
|
-
|
|
32
|
+
console.debug(`${name} ${errors.length} errors`);
|
|
40
33
|
}
|
|
41
34
|
})().catch(() => {
|
|
42
35
|
// no-op
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startWatcher.js","sourceRoot":"","sources":["../../../src/commands/start/startWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,
|
|
1
|
+
{"version":3,"file":"startWatcher.js","sourceRoot":"","sources":["../../../src/commands/start/startWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,MAAM,OAAO,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEvC,OAAO;QACL,KAAK,EAAE,CAAU,IAAmB,EAAE,OAA4D,EAAE,EAAE;YACpG,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC/B,4CAA4C;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,OAAO;aACR;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;YAEvD,sGAAsG;YACtG,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBACjE,OAAO,CAAC,KAAK,CAAC,oBAAoB,KAAK,kBAAkB,IAAI,GAAG,CAAC,CAAC;gBAElE,CAAC,KAAK,IAAI,EAAE;oBACV,uBAAuB;oBACvB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI;wBACF,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACrC,OAAO,GAAG,IAAI,CAAC;qBAChB;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,IAAI,EAAG,GAAa,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;qBAC5E;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAClC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;wBAC9B,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;wBAC5C,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;qBACxB;yBAAM,IAAI,MAAM,EAAE;wBACjB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;qBAClD;gBACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,QAAQ;gBACV,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;gBACxB,IAAI;oBACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;iBACvB;gBAAC,MAAM;oBACN,SAAS;iBACV;gBAED,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBAEnB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/lib/getVersion.js
CHANGED
|
@@ -5,7 +5,7 @@ import { isExternalPackage } from '@ms-cloudpack/package-utilities';
|
|
|
5
5
|
import { readJsonSync } from '@ms-cloudpack/json-utilities';
|
|
6
6
|
export function getVersion() {
|
|
7
7
|
const packagePath = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
|
|
8
|
-
let version = '
|
|
8
|
+
let version = '0.0.0-local';
|
|
9
9
|
if (packagePath && isExternalPackage(packagePath)) {
|
|
10
10
|
const packageJSONpath = path.join(packagePath, 'package.json');
|
|
11
11
|
version = readJsonSync(packageJSONpath).version || version;
|