@decohere/flux 0.0.1-dev.7 → 0.0.1-dev.70
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/commonjs/src/flux.command.js +27 -0
- package/commonjs/src/flux.module.js +32 -0
- package/commonjs/src/hot-reload-server.js +316 -121
- package/commonjs/src/index.js +9 -35
- package/commonjs/src/rewrite-serve-specifier.js +46 -0
- package/commonjs/src/serve.action.js +23 -11
- package/commonjs/src/serve.command.js +8 -4
- package/es6/src/flux.command.js +17 -0
- package/es6/src/flux.module.js +22 -0
- package/es6/src/hot-reload-server.js +303 -119
- package/es6/src/index.js +3 -7
- package/es6/src/rewrite-serve-specifier.js +40 -0
- package/es6/src/serve.action.js +25 -11
- package/es6/src/serve.command.js +9 -5
- package/package.json +7 -12
- package/types/src/{ember.command.d.ts → flux.command.d.ts} +1 -1
- package/types/src/flux.module.d.ts +14 -0
- package/types/src/hot-reload-server.d.ts +61 -22
- package/types/src/index.d.ts +3 -8
- package/types/src/rewrite-serve-specifier.d.ts +13 -0
- package/types/src/serve.action.d.ts +8 -2
- package/types/src/serve.command.d.ts +2 -2
- package/commonjs/src/ember.command.js +0 -27
- package/commonjs/src/ember.module.js +0 -37
- package/commonjs/src/hot-module-hooks.js +0 -47
- package/commonjs/src/serve.js +0 -36
- package/commonjs/src/workspace-serve.action.js +0 -59
- package/es6/src/ember.command.js +0 -17
- package/es6/src/ember.module.js +0 -19
- package/es6/src/hot-module-hooks.js +0 -26
- package/es6/src/serve.js +0 -32
- package/es6/src/workspace-serve.action.js +0 -45
- package/types/src/ember.module.d.ts +0 -22
- package/types/src/hot-module-hooks.d.ts +0 -5
- package/types/src/serve.d.ts +0 -1
- package/types/src/workspace-serve.action.d.ts +0 -11
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
2
|
+
import { packageAliases } from "@decohere/mesh";
|
|
3
|
+
/**
|
|
4
|
+
* Map a resolve-hook specifier to a versioned watched `.ts` file URL.
|
|
5
|
+
* Covers relative `.js` / `.ts` / extensionless imports and bare workspace
|
|
6
|
+
* package names (dynamic `import()` never goes through SWC path rewrite).
|
|
7
|
+
*/ export function rewriteServeSpecifier(options) {
|
|
8
|
+
const { specifier, parentUrl, isWatchedTs, resolveBare, versionFileUrl } = options;
|
|
9
|
+
const relativeTs = resolveRelativeWatchedTs(specifier, parentUrl, isWatchedTs);
|
|
10
|
+
if (relativeTs != null) {
|
|
11
|
+
return versionFileUrl(pathToFileURL(relativeTs).toString());
|
|
12
|
+
}
|
|
13
|
+
const bareTarget = resolveBare(specifier);
|
|
14
|
+
if (bareTarget != null && isWatchedTs(bareTarget)) {
|
|
15
|
+
return versionFileUrl(pathToFileURL(bareTarget).toString());
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
function resolveRelativeWatchedTs(specifier, parentUrl, isWatchedTs) {
|
|
20
|
+
if (packageAliases.isBareSpecifier(specifier)) return null;
|
|
21
|
+
if (!(specifier.startsWith(".") || specifier.startsWith("/"))) return null;
|
|
22
|
+
const parentClean = parentUrl.split("?")[0];
|
|
23
|
+
if (parentClean == null || parentClean === "") return null;
|
|
24
|
+
let resolved;
|
|
25
|
+
try {
|
|
26
|
+
resolved = new URL(specifier, parentClean);
|
|
27
|
+
} catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (resolved.protocol !== "file:") return null;
|
|
31
|
+
let filePath = fileURLToPath(resolved);
|
|
32
|
+
if (filePath.endsWith(".js")) {
|
|
33
|
+
filePath = `${filePath.slice(0, -3)}.ts`;
|
|
34
|
+
} else if (!filePath.endsWith(".ts")) {
|
|
35
|
+
filePath = `${filePath}.ts`;
|
|
36
|
+
}
|
|
37
|
+
return isWatchedTs(filePath) ? filePath : null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3Jld3JpdGUtc2VydmUtc3BlY2lmaWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbGVVUkxUb1BhdGgsIHBhdGhUb0ZpbGVVUkwgfSBmcm9tIFwibm9kZTp1cmxcIjtcbmltcG9ydCB7IHBhY2thZ2VBbGlhc2VzIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbmV4cG9ydCB0eXBlIFJld3JpdGVTZXJ2ZVNwZWNpZmllck9wdGlvbnMgPSB7XG5cdHNwZWNpZmllcjogc3RyaW5nO1xuXHRwYXJlbnRVcmw6IHN0cmluZztcblx0aXNXYXRjaGVkVHM6IChhYnNvbHV0ZVBhdGg6IHN0cmluZykgPT4gYm9vbGVhbjtcblx0cmVzb2x2ZUJhcmU6IChzcGVjaWZpZXI6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcblx0dmVyc2lvbkZpbGVVcmw6IChmaWxlVXJsOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbi8qKlxuICogTWFwIGEgcmVzb2x2ZS1ob29rIHNwZWNpZmllciB0byBhIHZlcnNpb25lZCB3YXRjaGVkIGAudHNgIGZpbGUgVVJMLlxuICogQ292ZXJzIHJlbGF0aXZlIGAuanNgIC8gYC50c2AgLyBleHRlbnNpb25sZXNzIGltcG9ydHMgYW5kIGJhcmUgd29ya3NwYWNlXG4gKiBwYWNrYWdlIG5hbWVzIChkeW5hbWljIGBpbXBvcnQoKWAgbmV2ZXIgZ29lcyB0aHJvdWdoIFNXQyBwYXRoIHJld3JpdGUpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmV3cml0ZVNlcnZlU3BlY2lmaWVyKG9wdGlvbnM6IFJld3JpdGVTZXJ2ZVNwZWNpZmllck9wdGlvbnMpOiBzdHJpbmcgfCBudWxsIHtcblx0Y29uc3QgeyBzcGVjaWZpZXIsIHBhcmVudFVybCwgaXNXYXRjaGVkVHMsIHJlc29sdmVCYXJlLCB2ZXJzaW9uRmlsZVVybCB9ID0gb3B0aW9ucztcblxuXHRjb25zdCByZWxhdGl2ZVRzID0gcmVzb2x2ZVJlbGF0aXZlV2F0Y2hlZFRzKHNwZWNpZmllciwgcGFyZW50VXJsLCBpc1dhdGNoZWRUcyk7XG5cdGlmIChyZWxhdGl2ZVRzICE9IG51bGwpIHtcblx0XHRyZXR1cm4gdmVyc2lvbkZpbGVVcmwocGF0aFRvRmlsZVVSTChyZWxhdGl2ZVRzKS50b1N0cmluZygpKTtcblx0fVxuXG5cdGNvbnN0IGJhcmVUYXJnZXQgPSByZXNvbHZlQmFyZShzcGVjaWZpZXIpO1xuXHRpZiAoYmFyZVRhcmdldCAhPSBudWxsICYmIGlzV2F0Y2hlZFRzKGJhcmVUYXJnZXQpKSB7XG5cdFx0cmV0dXJuIHZlcnNpb25GaWxlVXJsKHBhdGhUb0ZpbGVVUkwoYmFyZVRhcmdldCkudG9TdHJpbmcoKSk7XG5cdH1cblxuXHRyZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVJlbGF0aXZlV2F0Y2hlZFRzKFxuXHRzcGVjaWZpZXI6IHN0cmluZyxcblx0cGFyZW50VXJsOiBzdHJpbmcsXG5cdGlzV2F0Y2hlZFRzOiAoYWJzb2x1dGVQYXRoOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4pOiBzdHJpbmcgfCBudWxsIHtcblx0aWYgKHBhY2thZ2VBbGlhc2VzLmlzQmFyZVNwZWNpZmllcihzcGVjaWZpZXIpKSByZXR1cm4gbnVsbDtcblx0aWYgKCEoc3BlY2lmaWVyLnN0YXJ0c1dpdGgoXCIuXCIpIHx8IHNwZWNpZmllci5zdGFydHNXaXRoKFwiL1wiKSkpIHJldHVybiBudWxsO1xuXG5cdGNvbnN0IHBhcmVudENsZWFuID0gcGFyZW50VXJsLnNwbGl0KFwiP1wiKVswXTtcblx0aWYgKHBhcmVudENsZWFuID09IG51bGwgfHwgcGFyZW50Q2xlYW4gPT09IFwiXCIpIHJldHVybiBudWxsO1xuXG5cdGxldCByZXNvbHZlZDogVVJMO1xuXHR0cnkge1xuXHRcdHJlc29sdmVkID0gbmV3IFVSTChzcGVjaWZpZXIsIHBhcmVudENsZWFuKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblx0aWYgKHJlc29sdmVkLnByb3RvY29sICE9PSBcImZpbGU6XCIpIHJldHVybiBudWxsO1xuXG5cdGxldCBmaWxlUGF0aCA9IGZpbGVVUkxUb1BhdGgocmVzb2x2ZWQpO1xuXHRpZiAoZmlsZVBhdGguZW5kc1dpdGgoXCIuanNcIikpIHtcblx0XHRmaWxlUGF0aCA9IGAke2ZpbGVQYXRoLnNsaWNlKDAsIC0zKX0udHNgO1xuXHR9IGVsc2UgaWYgKCFmaWxlUGF0aC5lbmRzV2l0aChcIi50c1wiKSkge1xuXHRcdGZpbGVQYXRoID0gYCR7ZmlsZVBhdGh9LnRzYDtcblx0fVxuXG5cdHJldHVybiBpc1dhdGNoZWRUcyhmaWxlUGF0aCkgPyBmaWxlUGF0aCA6IG51bGw7XG59XG4iXSwibmFtZXMiOlsiZmlsZVVSTFRvUGF0aCIsInBhdGhUb0ZpbGVVUkwiLCJwYWNrYWdlQWxpYXNlcyIsInJld3JpdGVTZXJ2ZVNwZWNpZmllciIsIm9wdGlvbnMiLCJzcGVjaWZpZXIiLCJwYXJlbnRVcmwiLCJpc1dhdGNoZWRUcyIsInJlc29sdmVCYXJlIiwidmVyc2lvbkZpbGVVcmwiLCJyZWxhdGl2ZVRzIiwicmVzb2x2ZVJlbGF0aXZlV2F0Y2hlZFRzIiwidG9TdHJpbmciLCJiYXJlVGFyZ2V0IiwiaXNCYXJlU3BlY2lmaWVyIiwic3RhcnRzV2l0aCIsInBhcmVudENsZWFuIiwic3BsaXQiLCJyZXNvbHZlZCIsIlVSTCIsInByb3RvY29sIiwiZmlsZVBhdGgiLCJlbmRzV2l0aCIsInNsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLGFBQWEsUUFBUSxXQUFXO0FBQ3hELFNBQVNDLGNBQWMsUUFBUSxpQkFBaUI7QUFVaEQ7Ozs7Q0FJQyxHQUNELE9BQU8sU0FBU0Msc0JBQXNCQyxPQUFxQztJQUMxRSxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFFLEdBQUdMO0lBRTNFLE1BQU1NLGFBQWFDLHlCQUF5Qk4sV0FBV0MsV0FBV0M7SUFDbEUsSUFBSUcsY0FBYyxNQUFNO1FBQ3ZCLE9BQU9ELGVBQWVSLGNBQWNTLFlBQVlFLFFBQVE7SUFDekQ7SUFFQSxNQUFNQyxhQUFhTCxZQUFZSDtJQUMvQixJQUFJUSxjQUFjLFFBQVFOLFlBQVlNLGFBQWE7UUFDbEQsT0FBT0osZUFBZVIsY0FBY1ksWUFBWUQsUUFBUTtJQUN6RDtJQUVBLE9BQU87QUFDUjtBQUVBLFNBQVNELHlCQUNSTixTQUFpQixFQUNqQkMsU0FBaUIsRUFDakJDLFdBQThDO0lBRTlDLElBQUlMLGVBQWVZLGVBQWUsQ0FBQ1QsWUFBWSxPQUFPO0lBQ3RELElBQUksQ0FBRUEsQ0FBQUEsVUFBVVUsVUFBVSxDQUFDLFFBQVFWLFVBQVVVLFVBQVUsQ0FBQyxJQUFHLEdBQUksT0FBTztJQUV0RSxNQUFNQyxjQUFjVixVQUFVVyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDM0MsSUFBSUQsZUFBZSxRQUFRQSxnQkFBZ0IsSUFBSSxPQUFPO0lBRXRELElBQUlFO0lBQ0osSUFBSTtRQUNIQSxXQUFXLElBQUlDLElBQUlkLFdBQVdXO0lBQy9CLEVBQUUsT0FBTTtRQUNQLE9BQU87SUFDUjtJQUNBLElBQUlFLFNBQVNFLFFBQVEsS0FBSyxTQUFTLE9BQU87SUFFMUMsSUFBSUMsV0FBV3JCLGNBQWNrQjtJQUM3QixJQUFJRyxTQUFTQyxRQUFRLENBQUMsUUFBUTtRQUM3QkQsV0FBVyxHQUFHQSxTQUFTRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxDQUFDRixTQUFTQyxRQUFRLENBQUMsUUFBUTtRQUNyQ0QsV0FBVyxHQUFHQSxTQUFTLEdBQUcsQ0FBQztJQUM1QjtJQUVBLE9BQU9kLFlBQVljLFlBQVlBLFdBQVc7QUFDM0MifQ==
|
package/es6/src/serve.action.js
CHANGED
|
@@ -4,25 +4,39 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
4
4
|
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
}
|
|
7
|
+
function _ts_metadata(k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
}
|
|
7
10
|
import { injectable } from "@decohere/crucible/decorators";
|
|
11
|
+
// biome-ignore lint/style/useImportType: <DI>
|
|
12
|
+
import { Workspace } from "@decohere/mesh";
|
|
8
13
|
import { ActionResponse } from "@decohere/nexus/cli";
|
|
9
|
-
|
|
14
|
+
// biome-ignore lint/style/useImportType: <DI>
|
|
10
15
|
import { HotReloadServer } from "./hot-reload-server.js";
|
|
11
16
|
export class ServeAction {
|
|
17
|
+
server;
|
|
18
|
+
workspace;
|
|
19
|
+
constructor(server, workspace){
|
|
20
|
+
this.server = server;
|
|
21
|
+
this.workspace = workspace;
|
|
22
|
+
}
|
|
12
23
|
async run(options) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
process.exit(0);
|
|
24
|
+
await this.server.start({
|
|
25
|
+
workspace: this.workspace,
|
|
26
|
+
buildConfig: options.configuration,
|
|
27
|
+
project: options.project,
|
|
28
|
+
rebootDebounceMs: options.rebootDebounceMs
|
|
19
29
|
});
|
|
20
|
-
|
|
21
|
-
return ActionResponse.Success(ServeAction.name);
|
|
30
|
+
return ActionResponse.Blocking(ServeAction.name);
|
|
22
31
|
}
|
|
23
32
|
}
|
|
24
33
|
ServeAction = _ts_decorate([
|
|
25
|
-
injectable()
|
|
34
|
+
injectable(),
|
|
35
|
+
_ts_metadata("design:type", Function),
|
|
36
|
+
_ts_metadata("design:paramtypes", [
|
|
37
|
+
typeof HotReloadServer === "undefined" ? Object : HotReloadServer,
|
|
38
|
+
typeof Workspace === "undefined" ? Object : Workspace
|
|
39
|
+
])
|
|
26
40
|
], ServeAction);
|
|
27
41
|
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IHR5cGUgQWN0aW9uLCBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuXG5leHBvcnQgdHlwZSBTZXJ2ZU9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0cHJvamVjdD86IHN0cmluZztcblx0cmVib290RGVib3VuY2VNcz86IG51bWJlcjtcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxTZXJ2ZU9wdGlvbnM+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBIb3RSZWxvYWRTZXJ2ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0KSB7fVxuXG5cdHB1YmxpYyBhc3luYyBydW4ob3B0aW9uczogU2VydmVPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4ge1xuXHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdHdvcmtzcGFjZTogdGhpcy53b3Jrc3BhY2UsXG5cdFx0XHRidWlsZENvbmZpZzogb3B0aW9ucy5jb25maWd1cmF0aW9uLFxuXHRcdFx0cHJvamVjdDogb3B0aW9ucy5wcm9qZWN0LFxuXHRcdFx0cmVib290RGVib3VuY2VNczogb3B0aW9ucy5yZWJvb3REZWJvdW5jZU1zLFxuXHRcdH0pO1xuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbImluamVjdGFibGUiLCJXb3Jrc3BhY2UiLCJBY3Rpb25SZXNwb25zZSIsIkhvdFJlbG9hZFNlcnZlciIsIlNlcnZlQWN0aW9uIiwic2VydmVyIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsInN0YXJ0IiwiYnVpbGRDb25maWciLCJjb25maWd1cmF0aW9uIiwicHJvamVjdCIsInJlYm9vdERlYm91bmNlTXMiLCJCbG9ja2luZyIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLFNBQVNBLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDM0QsOENBQThDO0FBQzlDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFDM0MsU0FBc0JDLGNBQWMsUUFBUSxzQkFBc0I7QUFDbEUsOENBQThDO0FBQzlDLFNBQVNDLGVBQWUsUUFBUSx5QkFBeUI7QUFTekQsT0FBTyxNQUFNQzs7O0lBQ1osWUFDQyxBQUFpQkMsTUFBdUIsRUFDeEMsQUFBaUJDLFNBQW9CLENBQ3BDO2FBRmdCRCxTQUFBQTthQUNBQyxZQUFBQTtJQUNmO0lBRUgsTUFBYUMsSUFBSUMsT0FBcUIsRUFBMkI7UUFDaEUsTUFBTSxJQUFJLENBQUNILE1BQU0sQ0FBQ0ksS0FBSyxDQUFDO1lBQ3ZCSCxXQUFXLElBQUksQ0FBQ0EsU0FBUztZQUN6QkksYUFBYUYsUUFBUUcsYUFBYTtZQUNsQ0MsU0FBU0osUUFBUUksT0FBTztZQUN4QkMsa0JBQWtCTCxRQUFRSyxnQkFBZ0I7UUFDM0M7UUFDQSxPQUFPWCxlQUFlWSxRQUFRLENBQUNWLFlBQVlXLElBQUk7SUFDaEQ7QUFDRCJ9
|
package/es6/src/serve.command.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { DecohereCommand } from "@decohere/nexus/cli";
|
|
2
|
-
import {
|
|
1
|
+
import { ConfigurationOption, DecohereCommand, ProjectOption } from "@decohere/nexus/cli";
|
|
2
|
+
import { DEFAULT_REBOOT_DEBOUNCE_MS, resolveRebootDebounceMs } from "./hot-reload-server.js";
|
|
3
|
+
import { ServeAction } from "./serve.action.js";
|
|
3
4
|
export class ServeCommand extends DecohereCommand {
|
|
4
5
|
get actions() {
|
|
5
6
|
return [
|
|
6
|
-
|
|
7
|
+
ServeAction
|
|
7
8
|
];
|
|
8
9
|
}
|
|
9
10
|
constructor(name){
|
|
10
11
|
super(name);
|
|
11
|
-
this.description("Serve
|
|
12
|
+
this.description("Serve a project in a workspace configuration");
|
|
13
|
+
this.addOption(new ConfigurationOption("debug"));
|
|
14
|
+
this.addOption(new ProjectOption());
|
|
15
|
+
this.option("--reboot-debounce-ms <ms>", "Quiet window in milliseconds after the last affecting save before a reboot", (value)=>resolveRebootDebounceMs(Number(value)), DEFAULT_REBOOT_DEBOUNCE_MS);
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
18
|
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBQcm9qZWN0T3B0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IERFRkFVTFRfUkVCT09UX0RFQk9VTkNFX01TLCByZXNvbHZlUmVib290RGVib3VuY2VNcyB9IGZyb20gXCIuL2hvdC1yZWxvYWQtc2VydmVyLmpzXCI7XG5pbXBvcnQgeyBTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VydmVDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbU2VydmVBY3Rpb25dO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJTZXJ2ZSBhIHByb2plY3QgaW4gYSB3b3Jrc3BhY2UgY29uZmlndXJhdGlvblwiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcImRlYnVnXCIpKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgUHJvamVjdE9wdGlvbigpKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1yZWJvb3QtZGVib3VuY2UtbXMgPG1zPlwiLFxuXHRcdFx0XCJRdWlldCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IGFmZmVjdGluZyBzYXZlIGJlZm9yZSBhIHJlYm9vdFwiLFxuXHRcdFx0KHZhbHVlOiBzdHJpbmcpID0+IHJlc29sdmVSZWJvb3REZWJvdW5jZU1zKE51bWJlcih2YWx1ZSkpLFxuXHRcdFx0REVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMsXG5cdFx0KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvbmZpZ3VyYXRpb25PcHRpb24iLCJEZWNvaGVyZUNvbW1hbmQiLCJQcm9qZWN0T3B0aW9uIiwiREVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMiLCJyZXNvbHZlUmVib290RGVib3VuY2VNcyIsIlNlcnZlQWN0aW9uIiwiU2VydmVDb21tYW5kIiwiYWN0aW9ucyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImFkZE9wdGlvbiIsIm9wdGlvbiIsInZhbHVlIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxtQkFBbUIsRUFBRUMsZUFBZSxFQUFFQyxhQUFhLFFBQVEsc0JBQXNCO0FBQzFGLFNBQVNDLDBCQUEwQixFQUFFQyx1QkFBdUIsUUFBUSx5QkFBeUI7QUFDN0YsU0FBU0MsV0FBVyxRQUFRLG9CQUFvQjtBQUVoRCxPQUFPLE1BQU1DLHFCQUFxQkw7SUFDakMsSUFBb0JNLFVBQVU7UUFDN0IsT0FBTztZQUFDRjtTQUFZO0lBQ3JCO0lBRUEsWUFBbUJHLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSVYsb0JBQW9CO1FBQ3ZDLElBQUksQ0FBQ1UsU0FBUyxDQUFDLElBQUlSO1FBQ25CLElBQUksQ0FBQ1MsTUFBTSxDQUNWLDZCQUNBLDhFQUNBLENBQUNDLFFBQWtCUix3QkFBd0JTLE9BQU9ELFNBQ2xEVDtJQUVGO0FBQ0QifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decohere/flux",
|
|
3
|
-
"version": "0.0.1-dev.
|
|
3
|
+
"version": "0.0.1-dev.70",
|
|
4
4
|
"description": "Hot module reload server for Node.js ESM applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -19,23 +19,18 @@
|
|
|
19
19
|
"types": "./types/src/index.d.ts",
|
|
20
20
|
"import": "./es6/src/index.js",
|
|
21
21
|
"require": "./commonjs/src/index.js"
|
|
22
|
-
},
|
|
23
|
-
"./serve": {
|
|
24
|
-
"types": "./types/src/serve.d.ts",
|
|
25
|
-
"import": "./es6/src/serve.js"
|
|
26
22
|
}
|
|
27
23
|
},
|
|
28
|
-
"bin": {
|
|
29
|
-
"ember": "./es6/src/serve.js"
|
|
30
|
-
},
|
|
31
24
|
"scripts": {
|
|
32
25
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
33
26
|
},
|
|
34
27
|
"dependencies": {
|
|
35
|
-
"@decohere/crucible": "0.0.1-dev.
|
|
36
|
-
"@decohere/
|
|
37
|
-
"@decohere/
|
|
38
|
-
"@decohere/
|
|
28
|
+
"@decohere/crucible": "0.0.1-dev.70",
|
|
29
|
+
"@decohere/forge": "0.0.1-dev.70",
|
|
30
|
+
"@decohere/mesh": "0.0.1-dev.70",
|
|
31
|
+
"@decohere/nexus": "0.0.1-dev.70",
|
|
32
|
+
"@decohere/scribe": "0.0.1-dev.70",
|
|
33
|
+
"rxjs": "^7.8.2"
|
|
39
34
|
},
|
|
40
35
|
"devDependencies": {}
|
|
41
36
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Actions } from "@decohere/nexus/cli";
|
|
2
2
|
import { type CommandHandler, type CommandResponse, type CommandType, DecohereCommand } from "@decohere/nexus/cli";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class FluxCommand extends DecohereCommand {
|
|
4
4
|
constructor(commands: Record<string, CommandType>, handler: CommandHandler);
|
|
5
5
|
run(_actions: Actions, _options: never): Promise<CommandResponse>;
|
|
6
6
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WorkspaceFactoryOptions } from "@decohere/nexus/cli";
|
|
2
|
+
import { ModuleManifest } from "@decohere/nexus/cli";
|
|
3
|
+
import type { ContainerBuilder } from "@decohere/nexus/composition";
|
|
4
|
+
import { FluxCommand } from "./flux.command.js";
|
|
5
|
+
import { ServeAction } from "./serve.action.js";
|
|
6
|
+
export declare class FluxModule extends ModuleManifest {
|
|
7
|
+
readonly id = "flux";
|
|
8
|
+
readonly command: typeof FluxCommand;
|
|
9
|
+
readonly actions: {
|
|
10
|
+
serve: typeof ServeAction;
|
|
11
|
+
};
|
|
12
|
+
registerServices(builder: ContainerBuilder): void;
|
|
13
|
+
createWorkspace(options: WorkspaceFactoryOptions): Promise<import("@decohere/mesh").Workspace>;
|
|
14
|
+
}
|
|
@@ -1,38 +1,77 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Workspace } from "@decohere/mesh";
|
|
3
|
+
/** Default quiet window before a file-change reboot. */
|
|
4
|
+
export declare const DEFAULT_REBOOT_DEBOUNCE_MS = 250;
|
|
5
|
+
export declare function resolveRebootDebounceMs(value: number | undefined): number;
|
|
3
6
|
export interface HotReloadServerEvents {
|
|
7
|
+
start: [];
|
|
4
8
|
reboot: [];
|
|
5
9
|
}
|
|
10
|
+
export interface HotReloadServerOptions {
|
|
11
|
+
/** Build configuration name. */
|
|
12
|
+
buildConfig: string;
|
|
13
|
+
/** Name of the project to serve. Defaults to the first project in the workspace. */
|
|
14
|
+
project?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Pre-built Workspace instance to use instead of running WorkspaceFactory.
|
|
17
|
+
* Useful in tests to bypass filesystem-based workspace discovery.
|
|
18
|
+
*/
|
|
19
|
+
workspace?: Workspace;
|
|
20
|
+
/**
|
|
21
|
+
* Quiet window in milliseconds after the last affecting save before a reboot.
|
|
22
|
+
* Defaults to {@link DEFAULT_REBOOT_DEBOUNCE_MS}. Raise this for agent save trains.
|
|
23
|
+
*/
|
|
24
|
+
rebootDebounceMs?: number;
|
|
25
|
+
}
|
|
6
26
|
export declare class HotReloadServer extends EventEmitter<HotReloadServerEvents> {
|
|
7
27
|
private readonly logger;
|
|
8
28
|
private disposed;
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
29
|
+
private hooksRegistered;
|
|
30
|
+
private entryModulePath;
|
|
31
|
+
private entryModule?;
|
|
32
|
+
private workspace?;
|
|
33
|
+
private buildConfig;
|
|
34
|
+
private watchSubscription?;
|
|
35
|
+
/** Map from absolute .ts source file path to project info */
|
|
36
|
+
private fileInfoMap;
|
|
12
37
|
private moduleCache;
|
|
13
38
|
private dependencies;
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
|
|
39
|
+
private transpileCache;
|
|
40
|
+
private transpiler;
|
|
41
|
+
private aliasPaths;
|
|
42
|
+
private aliasBaseUrl;
|
|
43
|
+
private rebootTail;
|
|
44
|
+
private rebootDebounceGen;
|
|
45
|
+
private rebootInFlight;
|
|
46
|
+
private rebootFollowUp;
|
|
47
|
+
private rebootQueued;
|
|
48
|
+
private scheduleReboot;
|
|
49
|
+
start(options: HotReloadServerOptions): Promise<void>;
|
|
17
50
|
dispose(): Promise<void>;
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
-
private
|
|
22
|
-
private
|
|
51
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
52
|
+
private bootEntry;
|
|
53
|
+
private bindScheduleReboot;
|
|
54
|
+
private requestReboot;
|
|
55
|
+
private runReboot;
|
|
56
|
+
private disposeEntry;
|
|
57
|
+
private resolveWorkspace;
|
|
58
|
+
private resolveProject;
|
|
59
|
+
private buildFileInfoMap;
|
|
60
|
+
private registerHooks;
|
|
61
|
+
private buildAliasPaths;
|
|
62
|
+
/**
|
|
63
|
+
* Post-next dependency tracker: records which source files import which
|
|
64
|
+
* other source files so that reloadIfAffected can traverse the graph.
|
|
65
|
+
*/
|
|
66
|
+
private onPostResolve;
|
|
67
|
+
private loadTs;
|
|
68
|
+
private onFileChange;
|
|
69
|
+
private reloadIfAffected;
|
|
23
70
|
private getDependencyGraph;
|
|
24
71
|
private trackDependency;
|
|
25
72
|
private getCachedOrNew;
|
|
26
73
|
private versionModule;
|
|
27
|
-
private
|
|
28
|
-
private onFileAdded;
|
|
29
|
-
private onSourceFileChanged;
|
|
30
|
-
private onFileDeleted;
|
|
31
|
-
private reloadIfAffected;
|
|
32
|
-
private isSelf;
|
|
33
|
-
private invlidateModule;
|
|
74
|
+
private invalidateModule;
|
|
34
75
|
private invalidateAllSourceFiles;
|
|
35
|
-
private
|
|
36
|
-
private disposeEntry;
|
|
37
|
-
private bootEntry;
|
|
76
|
+
private isSelf;
|
|
38
77
|
}
|
package/types/src/index.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type {
|
|
3
|
-
export {
|
|
4
|
-
export * from "./hot-reload-server.js";
|
|
1
|
+
export { FluxModule } from "./flux.module.js";
|
|
2
|
+
export type { HotReloadServerOptions } from "./hot-reload-server.js";
|
|
3
|
+
export { DEFAULT_REBOOT_DEBOUNCE_MS, HotReloadServer } from "./hot-reload-server.js";
|
|
5
4
|
export type { ServeOptions } from "./serve.action.js";
|
|
6
|
-
export { ServeAction } from "./serve.action.js";
|
|
7
|
-
export { ServeCommand } from "./serve.command.js";
|
|
8
|
-
export type { WorkspaceServeOptions } from "./workspace-serve.action.js";
|
|
9
|
-
export { WorkspaceServeAction } from "./workspace-serve.action.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type RewriteServeSpecifierOptions = {
|
|
2
|
+
specifier: string;
|
|
3
|
+
parentUrl: string;
|
|
4
|
+
isWatchedTs: (absolutePath: string) => boolean;
|
|
5
|
+
resolveBare: (specifier: string) => string | null;
|
|
6
|
+
versionFileUrl: (fileUrl: string) => string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Map a resolve-hook specifier to a versioned watched `.ts` file URL.
|
|
10
|
+
* Covers relative `.js` / `.ts` / extensionless imports and bare workspace
|
|
11
|
+
* package names (dynamic `import()` never goes through SWC path rewrite).
|
|
12
|
+
*/
|
|
13
|
+
export declare function rewriteServeSpecifier(options: RewriteServeSpecifierOptions): string | null;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { Workspace } from "@decohere/mesh";
|
|
1
2
|
import { type Action, ActionResponse } from "@decohere/nexus/cli";
|
|
3
|
+
import { HotReloadServer } from "./hot-reload-server.js";
|
|
2
4
|
export type ServeOptions = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
configuration: string;
|
|
6
|
+
project?: string;
|
|
7
|
+
rebootDebounceMs?: number;
|
|
5
8
|
};
|
|
6
9
|
export declare class ServeAction implements Action<ServeOptions> {
|
|
10
|
+
private readonly server;
|
|
11
|
+
private readonly workspace;
|
|
12
|
+
constructor(server: HotReloadServer, workspace: Workspace);
|
|
7
13
|
run(options: ServeOptions): Promise<ActionResponse>;
|
|
8
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DecohereCommand } from "@decohere/nexus/cli";
|
|
2
|
-
import {
|
|
2
|
+
import { ServeAction } from "./serve.action.js";
|
|
3
3
|
export declare class ServeCommand extends DecohereCommand {
|
|
4
|
-
get actions(): (typeof
|
|
4
|
+
get actions(): (typeof ServeAction)[];
|
|
5
5
|
constructor(name: string);
|
|
6
6
|
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "EmberCommand", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return EmberCommand;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _cli = require("@decohere/nexus/cli");
|
|
12
|
-
const _servecommand = require("./serve.command.js");
|
|
13
|
-
class EmberCommand extends _cli.DecohereCommand {
|
|
14
|
-
constructor(commands, handler){
|
|
15
|
-
super(EmberCommand);
|
|
16
|
-
this.exitOverride();
|
|
17
|
-
this.registerSubcommand({
|
|
18
|
-
serve: _servecommand.ServeCommand,
|
|
19
|
-
...commands
|
|
20
|
-
}, handler);
|
|
21
|
-
}
|
|
22
|
-
run(_actions, _options) {
|
|
23
|
-
return this.help();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2VtYmVyLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb25zIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ29tbWFuZEhhbmRsZXIsXG5cdHR5cGUgQ29tbWFuZFJlc3BvbnNlLFxuXHR0eXBlIENvbW1hbmRUeXBlLFxuXHREZWNvaGVyZUNvbW1hbmQsXG59IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBTZXJ2ZUNvbW1hbmQgfSBmcm9tIFwiLi9zZXJ2ZS5jb21tYW5kLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBFbWJlckNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihFbWJlckNvbW1hbmQpO1xuXHRcdHRoaXMuZXhpdE92ZXJyaWRlKCk7XG5cdFx0dGhpcy5yZWdpc3RlclN1YmNvbW1hbmQoeyBzZXJ2ZTogU2VydmVDb21tYW5kLCAuLi5jb21tYW5kcyB9LCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRW1iZXJDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiY29tbWFuZHMiLCJoYW5kbGVyIiwiZXhpdE92ZXJyaWRlIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwic2VydmUiLCJTZXJ2ZUNvbW1hbmQiLCJydW4iLCJfYWN0aW9ucyIsIl9vcHRpb25zIiwiaGVscCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTYUE7OztlQUFBQTs7O3FCQUhOOzhCQUNzQjtBQUV0QixNQUFNQSxxQkFBcUJDLG9CQUFlO0lBQ2hELFlBQW1CQyxRQUFxQyxFQUFFQyxPQUF1QixDQUFFO1FBQ2xGLEtBQUssQ0FBQ0g7UUFDTixJQUFJLENBQUNJLFlBQVk7UUFDakIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQztZQUFFQyxPQUFPQywwQkFBWTtZQUFFLEdBQUdMLFFBQVE7UUFBQyxHQUFHQztJQUMvRDtJQUVPSyxJQUFJQyxRQUFpQixFQUFFQyxRQUFlLEVBQTRCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDQyxJQUFJO0lBQ2pCO0FBQ0QifQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get EmberActions () {
|
|
13
|
-
return EmberActions;
|
|
14
|
-
},
|
|
15
|
-
get EmberModule () {
|
|
16
|
-
return EmberModule;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _mesh = require("@decohere/mesh");
|
|
20
|
-
const _cli = require("@decohere/nexus/cli");
|
|
21
|
-
const _embercommand = require("./ember.command.js");
|
|
22
|
-
const _workspaceserveaction = require("./workspace-serve.action.js");
|
|
23
|
-
const EmberActions = {};
|
|
24
|
-
class EmberModule extends _cli.ModuleManifest {
|
|
25
|
-
id = "ember";
|
|
26
|
-
command = _embercommand.EmberCommand;
|
|
27
|
-
actions = {
|
|
28
|
-
serve: _workspaceserveaction.WorkspaceServeAction
|
|
29
|
-
};
|
|
30
|
-
createWorkspace(options) {
|
|
31
|
-
return _mesh.WorkspaceFactory.create({
|
|
32
|
-
configFile: options.configFile
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2VtYmVyLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgV29ya3NwYWNlRmFjdG9yeSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHR5cGUgeyBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBNb2R1bGVNYW5pZmVzdCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRhaW5lckJ1aWxkZXIgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBFbWJlckNvbW1hbmQgfSBmcm9tIFwiLi9lbWJlci5jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3dvcmtzcGFjZS1zZXJ2ZS5hY3Rpb24uanNcIjtcblxuZXhwb3J0IHR5cGUgRW1iZXJNb2R1bGVDb250ZXh0ID0ge1xuXHRidWlsZGVyOiBDb250YWluZXJCdWlsZGVyO1xuXHR3b3Jrc3BhY2U6IFdvcmtzcGFjZTtcbn07XG5cbmV4cG9ydCB0eXBlIEVtYmVyTW9kdWxlUmVzdWx0ID0ge1xuXHRhY3Rpb25zOiB0eXBlb2YgRW1iZXJBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IEVtYmVyQWN0aW9ucyA9IHt9O1xuXG5leHBvcnQgY2xhc3MgRW1iZXJNb2R1bGUgZXh0ZW5kcyBNb2R1bGVNYW5pZmVzdCB7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IFwiZW1iZXJcIjtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBFbWJlckNvbW1hbmQ7XG5cdHB1YmxpYyByZWFkb25seSBhY3Rpb25zID0ge1xuXHRcdHNlcnZlOiBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbixcblx0fTtcblxuXHRwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlV29ya3NwYWNlKG9wdGlvbnM6IFdvcmtzcGFjZUZhY3RvcnlPcHRpb25zKSB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHsgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlIH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRW1iZXJBY3Rpb25zIiwiRW1iZXJNb2R1bGUiLCJNb2R1bGVNYW5pZmVzdCIsImlkIiwiY29tbWFuZCIsIkVtYmVyQ29tbWFuZCIsImFjdGlvbnMiLCJzZXJ2ZSIsIldvcmtzcGFjZVNlcnZlQWN0aW9uIiwiY3JlYXRlV29ya3NwYWNlIiwib3B0aW9ucyIsIldvcmtzcGFjZUZhY3RvcnkiLCJjcmVhdGUiLCJjb25maWdGaWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQWlCYUE7ZUFBQUE7O1FBRUFDO2VBQUFBOzs7c0JBbEJvQjtxQkFFRjs4QkFFRjtzQ0FDUTtBQVc5QixNQUFNRCxlQUFlLENBQUM7QUFFdEIsTUFBTUMsb0JBQW9CQyxtQkFBYztJQUM5QkMsS0FBSyxRQUFRO0lBQ2JDLFVBQVVDLDBCQUFZLENBQUM7SUFDdkJDLFVBQVU7UUFDekJDLE9BQU9DLDBDQUFvQjtJQUM1QixFQUFFO0lBRWNDLGdCQUFnQkMsT0FBZ0MsRUFBRTtRQUNqRSxPQUFPQyxzQkFBZ0IsQ0FBQ0MsTUFBTSxDQUFDO1lBQUVDLFlBQVlILFFBQVFHLFVBQVU7UUFBQztJQUNqRTtBQUNEIn0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get addResolverHook () {
|
|
13
|
-
return addResolverHook;
|
|
14
|
-
},
|
|
15
|
-
get initModuleHooks () {
|
|
16
|
-
return initModuleHooks;
|
|
17
|
-
},
|
|
18
|
-
get removeResolverHook () {
|
|
19
|
-
return removeResolverHook;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _nodemodule = require("node:module");
|
|
23
|
-
const resolvers = new Set();
|
|
24
|
-
let initialized = false;
|
|
25
|
-
function initModuleHooks() {
|
|
26
|
-
if (initialized) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
initialized = true;
|
|
30
|
-
(0, _nodemodule.registerHooks)({
|
|
31
|
-
resolve: (specifier, context, next)=>{
|
|
32
|
-
const result = next(specifier, context);
|
|
33
|
-
for (const handler of resolvers){
|
|
34
|
-
handler(result, context.parentURL ?? "");
|
|
35
|
-
}
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
function addResolverHook(fn) {
|
|
41
|
-
resolvers.add(fn);
|
|
42
|
-
}
|
|
43
|
-
function removeResolverHook(fn) {
|
|
44
|
-
resolvers.delete(fn);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2hvdC1tb2R1bGUtaG9va3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZXNvbHZlRm5PdXRwdXQsIFJlc29sdmVIb29rQ29udGV4dCB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgcmVnaXN0ZXJIb29rcyB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlSGFuZGxlciA9IChyZXN1bHQ6IFJlc29sdmVGbk91dHB1dCwgcGFyZW50VXJsOiBzdHJpbmcpID0+IHZvaWQ7XG5cbmNvbnN0IHJlc29sdmVycyA9IG5ldyBTZXQ8UmVzb2x2ZUhhbmRsZXI+KCk7XG5sZXQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRNb2R1bGVIb29rcygpOiB2b2lkIHtcblx0aWYgKGluaXRpYWxpemVkKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGluaXRpYWxpemVkID0gdHJ1ZTtcblxuXHRyZWdpc3Rlckhvb2tzKHtcblx0XHRyZXNvbHZlOiAoXG5cdFx0XHRzcGVjaWZpZXI6IHN0cmluZyxcblx0XHRcdGNvbnRleHQ6IFJlc29sdmVIb29rQ29udGV4dCxcblx0XHRcdG5leHQ6IChzcGVjaWZpZXI6IHN0cmluZywgY29udGV4dD86IFBhcnRpYWw8UmVzb2x2ZUhvb2tDb250ZXh0PikgPT4gUmVzb2x2ZUZuT3V0cHV0LFxuXHRcdCkgPT4ge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gbmV4dChzcGVjaWZpZXIsIGNvbnRleHQpIGFzIFJlc29sdmVGbk91dHB1dDtcblx0XHRcdGZvciAoY29uc3QgaGFuZGxlciBvZiByZXNvbHZlcnMpIHtcblx0XHRcdFx0aGFuZGxlcihyZXN1bHQsIGNvbnRleHQucGFyZW50VVJMID8/IFwiXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHR9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlc29sdmVySG9vayhmbjogUmVzb2x2ZUhhbmRsZXIpOiB2b2lkIHtcblx0cmVzb2x2ZXJzLmFkZChmbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZXNvbHZlckhvb2soZm46IFJlc29sdmVIYW5kbGVyKTogdm9pZCB7XG5cdHJlc29sdmVycy5kZWxldGUoZm4pO1xufVxuIl0sIm5hbWVzIjpbImFkZFJlc29sdmVySG9vayIsImluaXRNb2R1bGVIb29rcyIsInJlbW92ZVJlc29sdmVySG9vayIsInJlc29sdmVycyIsIlNldCIsImluaXRpYWxpemVkIiwicmVnaXN0ZXJIb29rcyIsInJlc29sdmUiLCJzcGVjaWZpZXIiLCJjb250ZXh0IiwibmV4dCIsInJlc3VsdCIsImhhbmRsZXIiLCJwYXJlbnRVUkwiLCJmbiIsImFkZCIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUE2QmdCQTtlQUFBQTs7UUFyQkFDO2VBQUFBOztRQXlCQUM7ZUFBQUE7Ozs0QkFoQ2M7QUFJOUIsTUFBTUMsWUFBWSxJQUFJQztBQUN0QixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZixJQUFJSSxhQUFhO1FBQ2hCO0lBQ0Q7SUFDQUEsY0FBYztJQUVkQyxJQUFBQSx5QkFBYSxFQUFDO1FBQ2JDLFNBQVMsQ0FDUkMsV0FDQUMsU0FDQUM7WUFFQSxNQUFNQyxTQUFTRCxLQUFLRixXQUFXQztZQUMvQixLQUFLLE1BQU1HLFdBQVdULFVBQVc7Z0JBQ2hDUyxRQUFRRCxRQUFRRixRQUFRSSxTQUFTLElBQUk7WUFDdEM7WUFDQSxPQUFPRjtRQUNSO0lBQ0Q7QUFDRDtBQUVPLFNBQVNYLGdCQUFnQmMsRUFBa0I7SUFDakRYLFVBQVVZLEdBQUcsQ0FBQ0Q7QUFDZjtBQUVPLFNBQVNaLG1CQUFtQlksRUFBa0I7SUFDcERYLFVBQVVhLE1BQU0sQ0FBQ0Y7QUFDbEIifQ==
|
package/commonjs/src/serve.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
const _nodeutil = require("node:util");
|
|
6
|
-
const _scribe = require("@decohere/scribe");
|
|
7
|
-
const _hotreloadserver = require("./hot-reload-server.js");
|
|
8
|
-
const { values } = (0, _nodeutil.parseArgs)({
|
|
9
|
-
args: process.argv.slice(2),
|
|
10
|
-
options: {
|
|
11
|
-
entry: {
|
|
12
|
-
type: "string",
|
|
13
|
-
short: "e"
|
|
14
|
-
},
|
|
15
|
-
watchDir: {
|
|
16
|
-
type: "string",
|
|
17
|
-
multiple: true,
|
|
18
|
-
short: "w"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
allowPositionals: false
|
|
22
|
-
});
|
|
23
|
-
const entry = values.entry;
|
|
24
|
-
const watchDirs = values.watchDir ?? [];
|
|
25
|
-
if (!entry) {
|
|
26
|
-
console.error("Usage: forge-hmr --entry <path> --watchDir <dir> [--watchDir <dir>...]");
|
|
27
|
-
process.exit(1);
|
|
28
|
-
}
|
|
29
|
-
if (watchDirs.length === 0) {
|
|
30
|
-
console.error("Usage: forge-hmr --entry <path> --watchDir <dir> [--watchDir <dir>...]");
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
const hmr = new _hotreloadserver.HotReloadServer(_scribe.scribe.logger("HotReloadServer"));
|
|
34
|
-
await hmr.start(entry, ...watchDirs);
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQXJncyB9IGZyb20gXCJub2RlOnV0aWxcIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuXG5jb25zdCB7IHZhbHVlcyB9ID0gcGFyc2VBcmdzKHtcblx0YXJnczogcHJvY2Vzcy5hcmd2LnNsaWNlKDIpLFxuXHRvcHRpb25zOiB7XG5cdFx0ZW50cnk6IHsgdHlwZTogXCJzdHJpbmdcIiwgc2hvcnQ6IFwiZVwiIH0sXG5cdFx0d2F0Y2hEaXI6IHsgdHlwZTogXCJzdHJpbmdcIiwgbXVsdGlwbGU6IHRydWUsIHNob3J0OiBcIndcIiB9LFxuXHR9LFxuXHRhbGxvd1Bvc2l0aW9uYWxzOiBmYWxzZSxcbn0pO1xuXG5jb25zdCBlbnRyeSA9IHZhbHVlcy5lbnRyeTtcbmNvbnN0IHdhdGNoRGlycyA9IHZhbHVlcy53YXRjaERpciA/PyBbXTtcblxuaWYgKCFlbnRyeSkge1xuXHRjb25zb2xlLmVycm9yKFwiVXNhZ2U6IGZvcmdlLWhtciAtLWVudHJ5IDxwYXRoPiAtLXdhdGNoRGlyIDxkaXI+IFstLXdhdGNoRGlyIDxkaXI+Li4uXVwiKTtcblx0cHJvY2Vzcy5leGl0KDEpO1xufVxuXG5pZiAod2F0Y2hEaXJzLmxlbmd0aCA9PT0gMCkge1xuXHRjb25zb2xlLmVycm9yKFwiVXNhZ2U6IGZvcmdlLWhtciAtLWVudHJ5IDxwYXRoPiAtLXdhdGNoRGlyIDxkaXI+IFstLXdhdGNoRGlyIDxkaXI+Li4uXVwiKTtcblx0cHJvY2Vzcy5leGl0KDEpO1xufVxuXG5jb25zdCBobXIgPSBuZXcgSG90UmVsb2FkU2VydmVyKHNjcmliZS5sb2dnZXIoXCJIb3RSZWxvYWRTZXJ2ZXJcIikpO1xuYXdhaXQgaG1yLnN0YXJ0KGVudHJ5LCAuLi53YXRjaERpcnMpO1xuIl0sIm5hbWVzIjpbInZhbHVlcyIsInBhcnNlQXJncyIsImFyZ3MiLCJwcm9jZXNzIiwiYXJndiIsInNsaWNlIiwib3B0aW9ucyIsImVudHJ5IiwidHlwZSIsInNob3J0Iiwid2F0Y2hEaXIiLCJtdWx0aXBsZSIsImFsbG93UG9zaXRpb25hbHMiLCJ3YXRjaERpcnMiLCJjb25zb2xlIiwiZXJyb3IiLCJleGl0IiwibGVuZ3RoIiwiaG1yIiwiSG90UmVsb2FkU2VydmVyIiwic2NyaWJlIiwibG9nZ2VyIiwic3RhcnQiXSwibWFwcGluZ3MiOiI7Ozs7MEJBQTBCO3dCQUNIO2lDQUNTO0FBRWhDLE1BQU0sRUFBRUEsTUFBTSxFQUFFLEdBQUdDLElBQUFBLG1CQUFTLEVBQUM7SUFDNUJDLE1BQU1DLFFBQVFDLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBQ3pCQyxTQUFTO1FBQ1JDLE9BQU87WUFBRUMsTUFBTTtZQUFVQyxPQUFPO1FBQUk7UUFDcENDLFVBQVU7WUFBRUYsTUFBTTtZQUFVRyxVQUFVO1lBQU1GLE9BQU87UUFBSTtJQUN4RDtJQUNBRyxrQkFBa0I7QUFDbkI7QUFFQSxNQUFNTCxRQUFRUCxPQUFPTyxLQUFLO0FBQzFCLE1BQU1NLFlBQVliLE9BQU9VLFFBQVEsSUFBSSxFQUFFO0FBRXZDLElBQUksQ0FBQ0gsT0FBTztJQUNYTyxRQUFRQyxLQUFLLENBQUM7SUFDZFosUUFBUWEsSUFBSSxDQUFDO0FBQ2Q7QUFFQSxJQUFJSCxVQUFVSSxNQUFNLEtBQUssR0FBRztJQUMzQkgsUUFBUUMsS0FBSyxDQUFDO0lBQ2RaLFFBQVFhLElBQUksQ0FBQztBQUNkO0FBRUEsTUFBTUUsTUFBTSxJQUFJQyxnQ0FBZSxDQUFDQyxjQUFNLENBQUNDLE1BQU0sQ0FBQztBQUM5QyxNQUFNSCxJQUFJSSxLQUFLLENBQUNmLFVBQVVNIn0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "WorkspaceServeAction", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return WorkspaceServeAction;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
|
-
const _decorators = require("@decohere/crucible/decorators");
|
|
13
|
-
const _mesh = require("@decohere/mesh");
|
|
14
|
-
const _cli = require("@decohere/nexus/cli");
|
|
15
|
-
const _serveaction = require("./serve.action.js");
|
|
16
|
-
function _interop_require_default(obj) {
|
|
17
|
-
return obj && obj.__esModule ? obj : {
|
|
18
|
-
default: obj
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
22
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
23
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
24
|
-
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
25
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
26
|
-
}
|
|
27
|
-
function _ts_metadata(k, v) {
|
|
28
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
29
|
-
}
|
|
30
|
-
class WorkspaceServeAction {
|
|
31
|
-
workspace;
|
|
32
|
-
constructor(workspace){
|
|
33
|
-
this.workspace = workspace;
|
|
34
|
-
}
|
|
35
|
-
async run(options) {
|
|
36
|
-
const { configuration } = options;
|
|
37
|
-
const projects = this.workspace.getProjects(configuration);
|
|
38
|
-
const project = projects.at(0);
|
|
39
|
-
if (project == null) {
|
|
40
|
-
return _cli.ActionResponse.Error(WorkspaceServeAction.name, `No projects found for configuration: ${configuration}`);
|
|
41
|
-
}
|
|
42
|
-
const outDir = project.getOutDir();
|
|
43
|
-
const entry = _nodepath.default.join(outDir, "src", "index.js");
|
|
44
|
-
const serveAction = new _serveaction.ServeAction();
|
|
45
|
-
return serveAction.run({
|
|
46
|
-
entry,
|
|
47
|
-
watchDir: outDir
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
WorkspaceServeAction = _ts_decorate([
|
|
52
|
-
(0, _decorators.injectable)(),
|
|
53
|
-
_ts_metadata("design:type", Function),
|
|
54
|
-
_ts_metadata("design:paramtypes", [
|
|
55
|
-
typeof _mesh.Workspace === "undefined" ? Object : _mesh.Workspace
|
|
56
|
-
])
|
|
57
|
-
], WorkspaceServeAction);
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3dvcmtzcGFjZS1zZXJ2ZS5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgdHlwZSBXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnM+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIGFzeW5jIHJ1bihvcHRpb25zOiBXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uIH0gPSBvcHRpb25zO1xuXHRcdGNvbnN0IHByb2plY3RzID0gdGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMoY29uZmlndXJhdGlvbik7XG5cdFx0Y29uc3QgcHJvamVjdCA9IHByb2plY3RzLmF0KDApO1xuXG5cdFx0aWYgKHByb2plY3QgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLkVycm9yKFxuXHRcdFx0XHRXb3Jrc3BhY2VTZXJ2ZUFjdGlvbi5uYW1lLFxuXHRcdFx0XHRgTm8gcHJvamVjdHMgZm91bmQgZm9yIGNvbmZpZ3VyYXRpb246ICR7Y29uZmlndXJhdGlvbn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCBvdXREaXIgPSBwcm9qZWN0LmdldE91dERpcigpO1xuXHRcdGNvbnN0IGVudHJ5ID0gcGF0aC5qb2luKG91dERpciwgXCJzcmNcIiwgXCJpbmRleC5qc1wiKTtcblx0XHRjb25zdCBzZXJ2ZUFjdGlvbiA9IG5ldyBTZXJ2ZUFjdGlvbigpO1xuXHRcdHJldHVybiBzZXJ2ZUFjdGlvbi5ydW4oeyBlbnRyeSwgd2F0Y2hEaXI6IG91dERpciB9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIldvcmtzcGFjZVNlcnZlQWN0aW9uIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsImNvbmZpZ3VyYXRpb24iLCJwcm9qZWN0cyIsImdldFByb2plY3RzIiwicHJvamVjdCIsImF0IiwiQWN0aW9uUmVzcG9uc2UiLCJFcnJvciIsIm5hbWUiLCJvdXREaXIiLCJnZXRPdXREaXIiLCJlbnRyeSIsInBhdGgiLCJqb2luIiwic2VydmVBY3Rpb24iLCJTZXJ2ZUFjdGlvbiIsIndhdGNoRGlyIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7aUVBYkk7NEJBQ1U7c0JBRUQ7cUJBRUs7NkJBQ0g7Ozs7Ozs7Ozs7Ozs7OztBQU9yQixNQUFNQTs7SUFDWixZQUFtQixBQUFpQkMsU0FBb0IsQ0FBRTthQUF0QkEsWUFBQUE7SUFBdUI7SUFFM0QsTUFBYUMsSUFBSUMsT0FBOEIsRUFBMkI7UUFDekUsTUFBTSxFQUFFQyxhQUFhLEVBQUUsR0FBR0Q7UUFDMUIsTUFBTUUsV0FBVyxJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssV0FBVyxDQUFDRjtRQUM1QyxNQUFNRyxVQUFVRixTQUFTRyxFQUFFLENBQUM7UUFFNUIsSUFBSUQsV0FBVyxNQUFNO1lBQ3BCLE9BQU9FLG1CQUFjLENBQUNDLEtBQUssQ0FDMUJWLHFCQUFxQlcsSUFBSSxFQUN6QixDQUFDLHFDQUFxQyxFQUFFUCxlQUFlO1FBRXpEO1FBRUEsTUFBTVEsU0FBU0wsUUFBUU0sU0FBUztRQUNoQyxNQUFNQyxRQUFRQyxpQkFBSSxDQUFDQyxJQUFJLENBQUNKLFFBQVEsT0FBTztRQUN2QyxNQUFNSyxjQUFjLElBQUlDLHdCQUFXO1FBQ25DLE9BQU9ELFlBQVlmLEdBQUcsQ0FBQztZQUFFWTtZQUFPSyxVQUFVUDtRQUFPO0lBQ2xEO0FBQ0QifQ==
|
package/es6/src/ember.command.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DecohereCommand } from "@decohere/nexus/cli";
|
|
2
|
-
import { ServeCommand } from "./serve.command.js";
|
|
3
|
-
export class EmberCommand extends DecohereCommand {
|
|
4
|
-
constructor(commands, handler){
|
|
5
|
-
super(EmberCommand);
|
|
6
|
-
this.exitOverride();
|
|
7
|
-
this.registerSubcommand({
|
|
8
|
-
serve: ServeCommand,
|
|
9
|
-
...commands
|
|
10
|
-
}, handler);
|
|
11
|
-
}
|
|
12
|
-
run(_actions, _options) {
|
|
13
|
-
return this.help();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2VtYmVyLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb25zIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7XG5cdHR5cGUgQ29tbWFuZEhhbmRsZXIsXG5cdHR5cGUgQ29tbWFuZFJlc3BvbnNlLFxuXHR0eXBlIENvbW1hbmRUeXBlLFxuXHREZWNvaGVyZUNvbW1hbmQsXG59IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBTZXJ2ZUNvbW1hbmQgfSBmcm9tIFwiLi9zZXJ2ZS5jb21tYW5kLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBFbWJlckNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihFbWJlckNvbW1hbmQpO1xuXHRcdHRoaXMuZXhpdE92ZXJyaWRlKCk7XG5cdFx0dGhpcy5yZWdpc3RlclN1YmNvbW1hbmQoeyBzZXJ2ZTogU2VydmVDb21tYW5kLCAuLi5jb21tYW5kcyB9LCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRGVjb2hlcmVDb21tYW5kIiwiU2VydmVDb21tYW5kIiwiRW1iZXJDb21tYW5kIiwiY29tbWFuZHMiLCJoYW5kbGVyIiwiZXhpdE92ZXJyaWRlIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwic2VydmUiLCJydW4iLCJfYWN0aW9ucyIsIl9vcHRpb25zIiwiaGVscCJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FJQ0EsZUFBZSxRQUNULHNCQUFzQjtBQUM3QixTQUFTQyxZQUFZLFFBQVEscUJBQXFCO0FBRWxELE9BQU8sTUFBTUMscUJBQXFCRjtJQUNqQyxZQUFtQkcsUUFBcUMsRUFBRUMsT0FBdUIsQ0FBRTtRQUNsRixLQUFLLENBQUNGO1FBQ04sSUFBSSxDQUFDRyxZQUFZO1FBQ2pCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUM7WUFBRUMsT0FBT047WUFBYyxHQUFHRSxRQUFRO1FBQUMsR0FBR0M7SUFDL0Q7SUFFT0ksSUFBSUMsUUFBaUIsRUFBRUMsUUFBZSxFQUE0QjtRQUN4RSxPQUFPLElBQUksQ0FBQ0MsSUFBSTtJQUNqQjtBQUNEIn0=
|
package/es6/src/ember.module.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { WorkspaceFactory } from "@decohere/mesh";
|
|
2
|
-
import { ModuleManifest } from "@decohere/nexus/cli";
|
|
3
|
-
import { EmberCommand } from "./ember.command.js";
|
|
4
|
-
import { WorkspaceServeAction } from "./workspace-serve.action.js";
|
|
5
|
-
export const EmberActions = {};
|
|
6
|
-
export class EmberModule extends ModuleManifest {
|
|
7
|
-
id = "ember";
|
|
8
|
-
command = EmberCommand;
|
|
9
|
-
actions = {
|
|
10
|
-
serve: WorkspaceServeAction
|
|
11
|
-
};
|
|
12
|
-
createWorkspace(options) {
|
|
13
|
-
return WorkspaceFactory.create({
|
|
14
|
-
configFile: options.configFile
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2VtYmVyLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgV29ya3NwYWNlRmFjdG9yeSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHR5cGUgeyBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBNb2R1bGVNYW5pZmVzdCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRhaW5lckJ1aWxkZXIgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NvbXBvc2l0aW9uXCI7XG5pbXBvcnQgeyBFbWJlckNvbW1hbmQgfSBmcm9tIFwiLi9lbWJlci5jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3dvcmtzcGFjZS1zZXJ2ZS5hY3Rpb24uanNcIjtcblxuZXhwb3J0IHR5cGUgRW1iZXJNb2R1bGVDb250ZXh0ID0ge1xuXHRidWlsZGVyOiBDb250YWluZXJCdWlsZGVyO1xuXHR3b3Jrc3BhY2U6IFdvcmtzcGFjZTtcbn07XG5cbmV4cG9ydCB0eXBlIEVtYmVyTW9kdWxlUmVzdWx0ID0ge1xuXHRhY3Rpb25zOiB0eXBlb2YgRW1iZXJBY3Rpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IEVtYmVyQWN0aW9ucyA9IHt9O1xuXG5leHBvcnQgY2xhc3MgRW1iZXJNb2R1bGUgZXh0ZW5kcyBNb2R1bGVNYW5pZmVzdCB7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IFwiZW1iZXJcIjtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBFbWJlckNvbW1hbmQ7XG5cdHB1YmxpYyByZWFkb25seSBhY3Rpb25zID0ge1xuXHRcdHNlcnZlOiBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbixcblx0fTtcblxuXHRwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlV29ya3NwYWNlKG9wdGlvbnM6IFdvcmtzcGFjZUZhY3RvcnlPcHRpb25zKSB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHsgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlIH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiV29ya3NwYWNlRmFjdG9yeSIsIk1vZHVsZU1hbmlmZXN0IiwiRW1iZXJDb21tYW5kIiwiV29ya3NwYWNlU2VydmVBY3Rpb24iLCJFbWJlckFjdGlvbnMiLCJFbWJlck1vZHVsZSIsImlkIiwiY29tbWFuZCIsImFjdGlvbnMiLCJzZXJ2ZSIsImNyZWF0ZVdvcmtzcGFjZSIsIm9wdGlvbnMiLCJjcmVhdGUiLCJjb25maWdGaWxlIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSxpQkFBaUI7QUFFbEQsU0FBU0MsY0FBYyxRQUFRLHNCQUFzQjtBQUVyRCxTQUFTQyxZQUFZLFFBQVEscUJBQXFCO0FBQ2xELFNBQVNDLG9CQUFvQixRQUFRLDhCQUE4QjtBQVduRSxPQUFPLE1BQU1DLGVBQWUsQ0FBQyxFQUFFO0FBRS9CLE9BQU8sTUFBTUMsb0JBQW9CSjtJQUNoQkssS0FBSyxRQUFRO0lBQ2JDLFVBQVVMLGFBQWE7SUFDdkJNLFVBQVU7UUFDekJDLE9BQU9OO0lBQ1IsRUFBRTtJQUVjTyxnQkFBZ0JDLE9BQWdDLEVBQUU7UUFDakUsT0FBT1gsaUJBQWlCWSxNQUFNLENBQUM7WUFBRUMsWUFBWUYsUUFBUUUsVUFBVTtRQUFDO0lBQ2pFO0FBQ0QifQ==
|