@decohere/flux 0.0.1-dev.78 → 0.0.1-dev.8
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/ember.command.js +27 -0
- package/commonjs/src/ember.module.js +37 -0
- package/commonjs/src/hot-module-hooks.js +47 -0
- package/commonjs/src/hot-reload-server.js +160 -293
- package/commonjs/src/index.js +32 -33
- package/commonjs/src/serve.action.js +10 -94
- package/commonjs/src/serve.command.js +4 -36
- package/commonjs/src/serve.js +36 -0
- package/commonjs/src/workspace-serve.action.js +59 -0
- package/es6/src/ember.command.js +17 -0
- package/es6/src/ember.module.js +19 -0
- package/es6/src/hot-module-hooks.js +26 -0
- package/es6/src/hot-reload-server.js +117 -280
- package/es6/src/index.js +7 -6
- package/es6/src/serve.action.js +10 -92
- package/es6/src/serve.command.js +5 -37
- package/es6/src/serve.js +32 -0
- package/es6/src/workspace-serve.action.js +45 -0
- package/package.json +12 -8
- package/types/src/{flux.command.d.ts → ember.command.d.ts} +1 -1
- package/types/src/ember.module.d.ts +22 -0
- package/types/src/hot-module-hooks.d.ts +5 -0
- package/types/src/hot-reload-server.d.ts +22 -62
- package/types/src/index.d.ts +8 -8
- package/types/src/serve.action.d.ts +2 -17
- package/types/src/serve.command.d.ts +2 -7
- package/types/src/serve.d.ts +1 -0
- package/types/src/workspace-serve.action.d.ts +11 -0
- package/commonjs/src/deferred-script-runner.js +0 -58
- package/commonjs/src/flux.command.js +0 -29
- package/commonjs/src/flux.module.js +0 -38
- package/commonjs/src/rewrite-serve-specifier.js +0 -46
- package/commonjs/src/run.action.js +0 -71
- package/commonjs/src/run.command.js +0 -67
- package/commonjs/src/slice-serve.js +0 -132
- package/commonjs/src/source-module-loader.js +0 -216
- package/es6/src/deferred-script-runner.js +0 -48
- package/es6/src/flux.command.js +0 -19
- package/es6/src/flux.module.js +0 -28
- package/es6/src/rewrite-serve-specifier.js +0 -40
- package/es6/src/run.action.js +0 -58
- package/es6/src/run.command.js +0 -57
- package/es6/src/slice-serve.js +0 -107
- package/es6/src/source-module-loader.js +0 -160
- package/types/src/deferred-script-runner.d.ts +0 -18
- package/types/src/flux.module.d.ts +0 -16
- package/types/src/rewrite-serve-specifier.d.ts +0 -13
- package/types/src/run.action.d.ts +0 -17
- package/types/src/run.command.d.ts +0 -11
- package/types/src/slice-serve.d.ts +0 -52
- package/types/src/source-module-loader.d.ts +0 -49
package/commonjs/src/index.js
CHANGED
|
@@ -9,44 +9,43 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get
|
|
13
|
-
return
|
|
12
|
+
get EmberActions () {
|
|
13
|
+
return _embermodule.EmberActions;
|
|
14
14
|
},
|
|
15
|
-
get
|
|
16
|
-
return
|
|
15
|
+
get EmberCommand () {
|
|
16
|
+
return _embercommand.EmberCommand;
|
|
17
17
|
},
|
|
18
|
-
get
|
|
19
|
-
return
|
|
18
|
+
get EmberModule () {
|
|
19
|
+
return _embermodule.EmberModule;
|
|
20
20
|
},
|
|
21
|
-
get
|
|
22
|
-
return
|
|
21
|
+
get ServeAction () {
|
|
22
|
+
return _serveaction.ServeAction;
|
|
23
23
|
},
|
|
24
|
-
get
|
|
25
|
-
return
|
|
24
|
+
get ServeCommand () {
|
|
25
|
+
return _servecommand.ServeCommand;
|
|
26
26
|
},
|
|
27
|
-
get
|
|
28
|
-
return
|
|
29
|
-
},
|
|
30
|
-
get classifySliceProjects () {
|
|
31
|
-
return _sliceserve.classifySliceProjects;
|
|
32
|
-
},
|
|
33
|
-
get normalizeSlicePrefix () {
|
|
34
|
-
return _sliceserve.normalizeSlicePrefix;
|
|
35
|
-
},
|
|
36
|
-
get projectsInSlice () {
|
|
37
|
-
return _sliceserve.projectsInSlice;
|
|
38
|
-
},
|
|
39
|
-
get projectsInSlices () {
|
|
40
|
-
return _sliceserve.projectsInSlices;
|
|
41
|
-
},
|
|
42
|
-
get resolveDeferScript () {
|
|
43
|
-
return _sliceserve.resolveDeferScript;
|
|
27
|
+
get WorkspaceServeAction () {
|
|
28
|
+
return _workspaceserveaction.WorkspaceServeAction;
|
|
44
29
|
}
|
|
45
30
|
});
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
const
|
|
31
|
+
const _embercommand = require("./ember.command.js");
|
|
32
|
+
const _embermodule = require("./ember.module.js");
|
|
33
|
+
_export_star(require("./hot-reload-server.js"), exports);
|
|
34
|
+
const _serveaction = require("./serve.action.js");
|
|
35
|
+
const _servecommand = require("./serve.command.js");
|
|
36
|
+
const _workspaceserveaction = require("./workspace-serve.action.js");
|
|
37
|
+
function _export_star(from, to) {
|
|
38
|
+
Object.keys(from).forEach(function(k) {
|
|
39
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
40
|
+
Object.defineProperty(to, k, {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function() {
|
|
43
|
+
return from[k];
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return from;
|
|
49
|
+
}
|
|
51
50
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEVtYmVyQ29tbWFuZCB9IGZyb20gXCIuL2VtYmVyLmNvbW1hbmQuanNcIjtcbmV4cG9ydCB0eXBlIHsgRW1iZXJNb2R1bGVDb250ZXh0LCBFbWJlck1vZHVsZVJlc3VsdCB9IGZyb20gXCIuL2VtYmVyLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHsgRW1iZXJBY3Rpb25zLCBFbWJlck1vZHVsZSB9IGZyb20gXCIuL2VtYmVyLm1vZHVsZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG90LXJlbG9hZC1zZXJ2ZXIuanNcIjtcbmV4cG9ydCB0eXBlIHsgU2VydmVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5leHBvcnQgeyBTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuZXhwb3J0IHsgU2VydmVDb21tYW5kIH0gZnJvbSBcIi4vc2VydmUuY29tbWFuZC5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnMgfSBmcm9tIFwiLi93b3Jrc3BhY2Utc2VydmUuYWN0aW9uLmpzXCI7XG5leHBvcnQgeyBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3dvcmtzcGFjZS1zZXJ2ZS5hY3Rpb24uanNcIjtcbiJdLCJuYW1lcyI6WyJFbWJlckFjdGlvbnMiLCJFbWJlckNvbW1hbmQiLCJFbWJlck1vZHVsZSIsIlNlcnZlQWN0aW9uIiwiU2VydmVDb21tYW5kIiwiV29ya3NwYWNlU2VydmVBY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBRVNBO2VBQUFBLHlCQUFZOztRQUZaQztlQUFBQSwwQkFBWTs7UUFFRUM7ZUFBQUEsd0JBQVc7O1FBR3pCQztlQUFBQSx3QkFBVzs7UUFDWEM7ZUFBQUEsMEJBQVk7O1FBRVpDO2VBQUFBLDBDQUFvQjs7OzhCQVJBOzZCQUVhO3FCQUM1Qjs2QkFFYzs4QkFDQztzQ0FFUSJ9
|
|
@@ -8,115 +8,31 @@ Object.defineProperty(exports, "ServeAction", {
|
|
|
8
8
|
return ServeAction;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
11
|
const _decorators = require("@decohere/crucible/decorators");
|
|
13
|
-
const _mesh = require("@decohere/mesh");
|
|
14
12
|
const _cli = require("@decohere/nexus/cli");
|
|
15
13
|
const _scribe = require("@decohere/scribe");
|
|
16
|
-
const _deferredscriptrunner = require("./deferred-script-runner.js");
|
|
17
14
|
const _hotreloadserver = require("./hot-reload-server.js");
|
|
18
|
-
const _sliceserve = require("./slice-serve.js");
|
|
19
|
-
function _interop_require_default(obj) {
|
|
20
|
-
return obj && obj.__esModule ? obj : {
|
|
21
|
-
default: obj
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
15
|
function _ts_decorate(decorators, target, key, desc) {
|
|
25
16
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
26
17
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
27
18
|
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;
|
|
28
19
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
29
20
|
}
|
|
30
|
-
function _ts_metadata(k, v) {
|
|
31
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
32
|
-
}
|
|
33
21
|
class ServeAction {
|
|
34
|
-
server;
|
|
35
|
-
workspace;
|
|
36
|
-
deferredScripts;
|
|
37
|
-
logger = _scribe.scribe.logger(ServeAction.name);
|
|
38
|
-
constructor(server, workspace, deferredScripts){
|
|
39
|
-
this.server = server;
|
|
40
|
-
this.workspace = workspace;
|
|
41
|
-
this.deferredScripts = deferredScripts;
|
|
42
|
-
}
|
|
43
22
|
async run(options) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
await this.server.start({
|
|
52
|
-
workspace: this.workspace,
|
|
53
|
-
buildConfig: options.configuration,
|
|
54
|
-
project: options.project,
|
|
55
|
-
rebootDebounceMs: options.rebootDebounceMs
|
|
23
|
+
const { entry, watchDir } = options;
|
|
24
|
+
const logger = _scribe.scribe.logger("ServeAction");
|
|
25
|
+
const server = new _hotreloadserver.HotReloadServer(logger);
|
|
26
|
+
process.on("SIGINT", async ()=>{
|
|
27
|
+
await server.dispose();
|
|
28
|
+
process.exit(0);
|
|
56
29
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
async runSlices(options, slices) {
|
|
60
|
-
const views = await this.toSliceViews(options.configuration);
|
|
61
|
-
const classified = (0, _sliceserve.classifySliceProjects)(views, slices);
|
|
62
|
-
const label = slices.join(" ");
|
|
63
|
-
for (const skipped of classified.skip){
|
|
64
|
-
this.logger.info(`skipped ${skipped.projectDirectory} — library (no Flux entry / scripts)`);
|
|
65
|
-
}
|
|
66
|
-
if (classified.flux.length === 0 && classified.defer.length === 0) {
|
|
67
|
-
throw new Error(`No runnable projects in slice(s) "${label}" (need Flux main.ts apps and/or package scripts.dev/serve)`);
|
|
68
|
-
}
|
|
69
|
-
const workspaceRoot = _nodepath.default.resolve(this.workspace.rootDir ?? process.cwd());
|
|
70
|
-
for (const deferred of classified.defer){
|
|
71
|
-
const script = (0, _sliceserve.resolveDeferScript)(deferred.scripts);
|
|
72
|
-
if (script == null) continue;
|
|
73
|
-
const project = this.findProject(options.configuration, deferred.name);
|
|
74
|
-
this.deferredScripts.start({
|
|
75
|
-
label: deferred.projectDirectory,
|
|
76
|
-
cwd: project.projectRoot,
|
|
77
|
-
script,
|
|
78
|
-
workspaceRoot
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (classified.flux.length > 0) {
|
|
82
|
-
await this.server.start({
|
|
83
|
-
workspace: this.workspace,
|
|
84
|
-
buildConfig: options.configuration,
|
|
85
|
-
projects: classified.flux.map((p)=>p.name),
|
|
86
|
-
rebootDebounceMs: options.rebootDebounceMs
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return _cli.ActionResponse.Blocking(ServeAction.name);
|
|
90
|
-
}
|
|
91
|
-
async toSliceViews(configuration) {
|
|
92
|
-
const projects = this.workspace.getProjects(configuration);
|
|
93
|
-
return Promise.all(projects.map((project)=>this.toSliceView(project)));
|
|
94
|
-
}
|
|
95
|
-
async toSliceView(project) {
|
|
96
|
-
const pkg = await project.getPackageJson();
|
|
97
|
-
return {
|
|
98
|
-
name: project.name,
|
|
99
|
-
projectDirectory: project.projectDirectory.replaceAll("\\", "/"),
|
|
100
|
-
main: pkg.main ?? "src/index.ts",
|
|
101
|
-
scripts: pkg.scripts ?? {}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
findProject(configuration, name) {
|
|
105
|
-
const found = this.workspace.getProjects(configuration).find((p)=>p.name === name);
|
|
106
|
-
if (found == null) {
|
|
107
|
-
throw new Error(`Project "${name}" not found in workspace`);
|
|
108
|
-
}
|
|
109
|
-
return found;
|
|
30
|
+
await server.start(entry, watchDir);
|
|
31
|
+
return _cli.ActionResponse.Success(ServeAction.name);
|
|
110
32
|
}
|
|
111
33
|
}
|
|
112
34
|
ServeAction = _ts_decorate([
|
|
113
|
-
(0, _decorators.injectable)()
|
|
114
|
-
_ts_metadata("design:type", Function),
|
|
115
|
-
_ts_metadata("design:paramtypes", [
|
|
116
|
-
typeof _hotreloadserver.HotReloadServer === "undefined" ? Object : _hotreloadserver.HotReloadServer,
|
|
117
|
-
typeof _mesh.Workspace === "undefined" ? Object : _mesh.Workspace,
|
|
118
|
-
typeof _deferredscriptrunner.DeferredScriptRunner === "undefined" ? Object : _deferredscriptrunner.DeferredScriptRunner
|
|
119
|
-
])
|
|
35
|
+
(0, _decorators.injectable)()
|
|
120
36
|
], ServeAction);
|
|
121
37
|
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyB0eXBlIFByb2plY3QsIFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgdHlwZSBBY3Rpb24sIEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IHR5cGUgTG9nZ2VyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgRGVmZXJyZWRTY3JpcHRSdW5uZXIgfSBmcm9tIFwiLi9kZWZlcnJlZC1zY3JpcHQtcnVubmVyLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuaW1wb3J0IHtcblx0Y2xhc3NpZnlTbGljZVByb2plY3RzLFxuXHRyZXNvbHZlRGVmZXJTY3JpcHQsXG5cdHR5cGUgU2xpY2VQcm9qZWN0Vmlldyxcbn0gZnJvbSBcIi4vc2xpY2Utc2VydmUuanNcIjtcblxuZXhwb3J0IHR5cGUgU2VydmVPcHRpb25zID0ge1xuXHRjb25maWd1cmF0aW9uOiBzdHJpbmc7XG5cdHByb2plY3Q/OiBzdHJpbmc7XG5cdC8qKiBPbmUgb3IgbW9yZSBtb2R1bGUgZGlyZWN0b3J5IHRva2VucyAoYGZ1bmRpbmdgLCBgc2hlbGxgLCBgcHJvamVjdHMvZnVuZGluZ2ApLiAqL1xuXHRzbGljZXM/OiBzdHJpbmdbXTtcblx0cmVib290RGVib3VuY2VNcz86IG51bWJlcjtcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxTZXJ2ZU9wdGlvbnM+IHtcblx0cHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IHNjcmliZS5sb2dnZXIoU2VydmVBY3Rpb24ubmFtZSk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBIb3RSZWxvYWRTZXJ2ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRlZmVycmVkU2NyaXB0czogRGVmZXJyZWRTY3JpcHRSdW5uZXIsXG5cdCkge31cblxuXHRwdWJsaWMgYXN5bmMgcnVuKG9wdGlvbnM6IFNlcnZlT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRjb25zdCBzbGljZXMgPSAob3B0aW9ucy5zbGljZXMgPz8gW10pLmZpbHRlcigocykgPT4gcyAhPT0gXCJcIik7XG5cdFx0aWYgKHNsaWNlcy5sZW5ndGggPiAwICYmIG9wdGlvbnMucHJvamVjdCAhPSBudWxsKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVc2UgZWl0aGVyIGRpcmVjdG9yeSBzbGljZXMgb3IgLS1wcm9qZWN0LCBub3QgYm90aFwiKTtcblx0XHR9XG5cblx0XHRpZiAoc2xpY2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLnJ1blNsaWNlcyhvcHRpb25zLCBzbGljZXMpO1xuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdHdvcmtzcGFjZTogdGhpcy53b3Jrc3BhY2UsXG5cdFx0XHRidWlsZENvbmZpZzogb3B0aW9ucy5jb25maWd1cmF0aW9uLFxuXHRcdFx0cHJvamVjdDogb3B0aW9ucy5wcm9qZWN0LFxuXHRcdFx0cmVib290RGVib3VuY2VNczogb3B0aW9ucy5yZWJvb3REZWJvdW5jZU1zLFxuXHRcdH0pO1xuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuU2xpY2VzKG9wdGlvbnM6IFNlcnZlT3B0aW9ucywgc2xpY2VzOiBzdHJpbmdbXSk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRjb25zdCB2aWV3cyA9IGF3YWl0IHRoaXMudG9TbGljZVZpZXdzKG9wdGlvbnMuY29uZmlndXJhdGlvbik7XG5cdFx0Y29uc3QgY2xhc3NpZmllZCA9IGNsYXNzaWZ5U2xpY2VQcm9qZWN0cyh2aWV3cywgc2xpY2VzKTtcblx0XHRjb25zdCBsYWJlbCA9IHNsaWNlcy5qb2luKFwiIFwiKTtcblxuXHRcdGZvciAoY29uc3Qgc2tpcHBlZCBvZiBjbGFzc2lmaWVkLnNraXApIHtcblx0XHRcdHRoaXMubG9nZ2VyLmluZm8oXG5cdFx0XHRcdGBza2lwcGVkICR7c2tpcHBlZC5wcm9qZWN0RGlyZWN0b3J5fSDigJQgbGlicmFyeSAobm8gRmx1eCBlbnRyeSAvIHNjcmlwdHMpYCxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0aWYgKGNsYXNzaWZpZWQuZmx1eC5sZW5ndGggPT09IDAgJiYgY2xhc3NpZmllZC5kZWZlci5sZW5ndGggPT09IDApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YE5vIHJ1bm5hYmxlIHByb2plY3RzIGluIHNsaWNlKHMpIFwiJHtsYWJlbH1cIiAobmVlZCBGbHV4IG1haW4udHMgYXBwcyBhbmQvb3IgcGFja2FnZSBzY3JpcHRzLmRldi9zZXJ2ZSlgLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCB3b3Jrc3BhY2VSb290ID0gcGF0aC5yZXNvbHZlKHRoaXMud29ya3NwYWNlLnJvb3REaXIgPz8gcHJvY2Vzcy5jd2QoKSk7XG5cblx0XHRmb3IgKGNvbnN0IGRlZmVycmVkIG9mIGNsYXNzaWZpZWQuZGVmZXIpIHtcblx0XHRcdGNvbnN0IHNjcmlwdCA9IHJlc29sdmVEZWZlclNjcmlwdChkZWZlcnJlZC5zY3JpcHRzKTtcblx0XHRcdGlmIChzY3JpcHQgPT0gbnVsbCkgY29udGludWU7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gdGhpcy5maW5kUHJvamVjdChvcHRpb25zLmNvbmZpZ3VyYXRpb24sIGRlZmVycmVkLm5hbWUpO1xuXHRcdFx0dGhpcy5kZWZlcnJlZFNjcmlwdHMuc3RhcnQoe1xuXHRcdFx0XHRsYWJlbDogZGVmZXJyZWQucHJvamVjdERpcmVjdG9yeSxcblx0XHRcdFx0Y3dkOiBwcm9qZWN0LnByb2plY3RSb290LFxuXHRcdFx0XHRzY3JpcHQsXG5cdFx0XHRcdHdvcmtzcGFjZVJvb3QsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRpZiAoY2xhc3NpZmllZC5mbHV4Lmxlbmd0aCA+IDApIHtcblx0XHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdFx0d29ya3NwYWNlOiB0aGlzLndvcmtzcGFjZSxcblx0XHRcdFx0YnVpbGRDb25maWc6IG9wdGlvbnMuY29uZmlndXJhdGlvbixcblx0XHRcdFx0cHJvamVjdHM6IGNsYXNzaWZpZWQuZmx1eC5tYXAoKHApID0+IHAubmFtZSksXG5cdFx0XHRcdHJlYm9vdERlYm91bmNlTXM6IG9wdGlvbnMucmVib290RGVib3VuY2VNcyxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdG9TbGljZVZpZXdzKGNvbmZpZ3VyYXRpb246IHN0cmluZyk6IFByb21pc2U8U2xpY2VQcm9qZWN0Vmlld1tdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSB0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKTtcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvamVjdHMubWFwKChwcm9qZWN0KSA9PiB0aGlzLnRvU2xpY2VWaWV3KHByb2plY3QpKSk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHRvU2xpY2VWaWV3KHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFNsaWNlUHJvamVjdFZpZXc+IHtcblx0XHRjb25zdCBwa2cgPSBhd2FpdCBwcm9qZWN0LmdldFBhY2thZ2VKc29uKCk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5hbWU6IHByb2plY3QubmFtZSxcblx0XHRcdHByb2plY3REaXJlY3Rvcnk6IHByb2plY3QucHJvamVjdERpcmVjdG9yeS5yZXBsYWNlQWxsKFwiXFxcXFwiLCBcIi9cIiksXG5cdFx0XHRtYWluOiBwa2cubWFpbiA/PyBcInNyYy9pbmRleC50c1wiLFxuXHRcdFx0c2NyaXB0czogcGtnLnNjcmlwdHMgPz8ge30sXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgZmluZFByb2plY3QoY29uZmlndXJhdGlvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBmb3VuZCA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGNvbmZpZ3VyYXRpb24pLmZpbmQoKHApID0+IHAubmFtZSA9PT0gbmFtZSk7XG5cdFx0aWYgKGZvdW5kID09IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgUHJvamVjdCBcIiR7bmFtZX1cIiBub3QgZm91bmQgaW4gd29ya3NwYWNlYCk7XG5cdFx0fVxuXHRcdHJldHVybiBmb3VuZDtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlNlcnZlQWN0aW9uIiwibG9nZ2VyIiwic2NyaWJlIiwibmFtZSIsInNlcnZlciIsIndvcmtzcGFjZSIsImRlZmVycmVkU2NyaXB0cyIsInJ1biIsIm9wdGlvbnMiLCJzbGljZXMiLCJmaWx0ZXIiLCJzIiwibGVuZ3RoIiwicHJvamVjdCIsIkVycm9yIiwicnVuU2xpY2VzIiwic3RhcnQiLCJidWlsZENvbmZpZyIsImNvbmZpZ3VyYXRpb24iLCJyZWJvb3REZWJvdW5jZU1zIiwiQWN0aW9uUmVzcG9uc2UiLCJCbG9ja2luZyIsInZpZXdzIiwidG9TbGljZVZpZXdzIiwiY2xhc3NpZmllZCIsImNsYXNzaWZ5U2xpY2VQcm9qZWN0cyIsImxhYmVsIiwiam9pbiIsInNraXBwZWQiLCJza2lwIiwiaW5mbyIsInByb2plY3REaXJlY3RvcnkiLCJmbHV4IiwiZGVmZXIiLCJ3b3Jrc3BhY2VSb290IiwicGF0aCIsInJlc29sdmUiLCJyb290RGlyIiwicHJvY2VzcyIsImN3ZCIsImRlZmVycmVkIiwic2NyaXB0IiwicmVzb2x2ZURlZmVyU2NyaXB0Iiwic2NyaXB0cyIsImZpbmRQcm9qZWN0IiwicHJvamVjdFJvb3QiLCJwcm9qZWN0cyIsIm1hcCIsInAiLCJnZXRQcm9qZWN0cyIsIlByb21pc2UiLCJhbGwiLCJ0b1NsaWNlVmlldyIsInBrZyIsImdldFBhY2thZ2VKc29uIiwicmVwbGFjZUFsbCIsIm1haW4iLCJmb3VuZCIsImZpbmQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBeUJhQTs7O2VBQUFBOzs7aUVBekJJOzRCQUNVO3NCQUVhO3FCQUNJO3dCQUNSO3NDQUVDO2lDQUVMOzRCQUt6Qjs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsTUFBTUE7Ozs7SUFDS0MsU0FBaUJDLGNBQU0sQ0FBQ0QsTUFBTSxDQUFDRCxZQUFZRyxJQUFJLEVBQUU7SUFFbEUsWUFDQyxBQUFpQkMsTUFBdUIsRUFDeEMsQUFBaUJDLFNBQW9CLEVBQ3JDLEFBQWlCQyxlQUFxQyxDQUNyRDthQUhnQkYsU0FBQUE7YUFDQUMsWUFBQUE7YUFDQUMsa0JBQUFBO0lBQ2Y7SUFFSCxNQUFhQyxJQUFJQyxPQUFxQixFQUEyQjtRQUNoRSxNQUFNQyxTQUFTLEFBQUNELENBQUFBLFFBQVFDLE1BQU0sSUFBSSxFQUFFLEFBQUQsRUFBR0MsTUFBTSxDQUFDLENBQUNDLElBQU1BLE1BQU07UUFDMUQsSUFBSUYs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
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyB0eXBlIEFjdGlvbiwgQWN0aW9uUmVzcG9uc2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IEhvdFJlbG9hZFNlcnZlciB9IGZyb20gXCIuL2hvdC1yZWxvYWQtc2VydmVyLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFNlcnZlT3B0aW9ucyA9IHtcblx0ZW50cnk6IHN0cmluZztcblx0d2F0Y2hEaXI6IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxTZXJ2ZU9wdGlvbnM+IHtcblx0cHVibGljIGFzeW5jIHJ1bihvcHRpb25zOiBTZXJ2ZU9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgeyBlbnRyeSwgd2F0Y2hEaXIgfSA9IG9wdGlvbnM7XG5cdFx0Y29uc3QgbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihcIlNlcnZlQWN0aW9uXCIpO1xuXHRcdGNvbnN0IHNlcnZlciA9IG5ldyBIb3RSZWxvYWRTZXJ2ZXIobG9nZ2VyKTtcblxuXHRcdHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0YXdhaXQgc2VydmVyLmRpc3Bvc2UoKTtcblx0XHRcdHByb2Nlc3MuZXhpdCgwKTtcblx0XHR9KTtcblxuXHRcdGF3YWl0IHNlcnZlci5zdGFydChlbnRyeSwgd2F0Y2hEaXIpO1xuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKFNlcnZlQWN0aW9uLm5hbWUpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU2VydmVBY3Rpb24iLCJydW4iLCJvcHRpb25zIiwiZW50cnkiLCJ3YXRjaERpciIsImxvZ2dlciIsInNjcmliZSIsInNlcnZlciIsIkhvdFJlbG9hZFNlcnZlciIsInByb2Nlc3MiLCJvbiIsImRpc3Bvc2UiLCJleGl0Iiwic3RhcnQiLCJBY3Rpb25SZXNwb25zZSIsIlN1Y2Nlc3MiLCJuYW1lIl0sIm1hcHBpbmdzIjoiOzs7OytCQVdhQTs7O2VBQUFBOzs7NEJBWGM7cUJBQ2lCO3dCQUNyQjtpQ0FDUzs7Ozs7OztBQVF6QixNQUFNQTtJQUNaLE1BQWFDLElBQUlDLE9BQXFCLEVBQTJCO1FBQ2hFLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7UUFDNUIsTUFBTUcsU0FBU0MsY0FBTSxDQUFDRCxNQUFNLENBQUM7UUFDN0IsTUFBTUUsU0FBUyxJQUFJQyxnQ0FBZSxDQUFDSDtRQUVuQ0ksUUFBUUMsRUFBRSxDQUFDLFVBQVU7WUFDcEIsTUFBTUgsT0FBT0ksT0FBTztZQUNwQkYsUUFBUUcsSUFBSSxDQUFDO1FBQ2Q7UUFFQSxNQUFNTCxPQUFPTSxLQUFLLENBQUNWLE9BQU9DO1FBQzFCLE9BQU9VLG1CQUFjLENBQUNDLE9BQU8sQ0FBQ2YsWUFBWWdCLElBQUk7SUFDL0M7QUFDRCJ9
|
|
@@ -9,49 +9,17 @@ Object.defineProperty(exports, "ServeCommand", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _cli = require("@decohere/nexus/cli");
|
|
12
|
-
const
|
|
13
|
-
const _serveaction = require("./serve.action.js");
|
|
12
|
+
const _workspaceserveaction = require("./workspace-serve.action.js");
|
|
14
13
|
class ServeCommand extends _cli.DecohereCommand {
|
|
15
14
|
get actions() {
|
|
16
15
|
return [
|
|
17
|
-
|
|
16
|
+
_workspaceserveaction.WorkspaceServeAction
|
|
18
17
|
];
|
|
19
18
|
}
|
|
20
19
|
constructor(name){
|
|
21
20
|
super(name);
|
|
22
|
-
this.description("Serve
|
|
23
|
-
this.argument("[slices...]", "Module directories to serve (e.g. funding shell secmaster, or projects/funding)");
|
|
24
|
-
this.addOption(new _cli.ConfigurationOption("debug"));
|
|
25
|
-
this.addOption(new _cli.ProjectOption());
|
|
26
|
-
this.option("--reboot-debounce-ms <ms>", "Quiet window in milliseconds after the last affecting save before a reboot", (value)=>(0, _hotreloadserver.resolveRebootDebounceMs)(Number(value)), _hotreloadserver.DEFAULT_REBOOT_DEBOUNCE_MS);
|
|
21
|
+
this.description("Serve the first project in a workspace configuration");
|
|
27
22
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Commander passes positional args before options when `[slices...]` is declared.
|
|
30
|
-
* Terminal's ModuleFactory expects `(opts, cmd)` — normalize here.
|
|
31
|
-
*/ action(fn) {
|
|
32
|
-
return super.action((...args)=>{
|
|
33
|
-
const cmd = args.at(-1);
|
|
34
|
-
const first = args[0];
|
|
35
|
-
const hasPositionalSlices = Array.isArray(first) || typeof first === "string" || first === undefined;
|
|
36
|
-
const opts = hasPositionalSlices ? args[1] : args[0];
|
|
37
|
-
const slices = normalizePositionalSlices(first);
|
|
38
|
-
if (slices.length > 0) {
|
|
39
|
-
cmd.setOptionValue("slices", slices);
|
|
40
|
-
}
|
|
41
|
-
return fn(opts, cmd);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function normalizePositionalSlices(first) {
|
|
46
|
-
if (Array.isArray(first)) {
|
|
47
|
-
return first.filter((s)=>typeof s === "string" && s !== "");
|
|
48
|
-
}
|
|
49
|
-
if (typeof first === "string" && first !== "") {
|
|
50
|
-
return [
|
|
51
|
-
first
|
|
52
|
-
];
|
|
53
|
-
}
|
|
54
|
-
return [];
|
|
55
23
|
}
|
|
56
24
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2hlcmVDb21tYW5kIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFdvcmtzcGFjZVNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vd29ya3NwYWNlLXNlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VydmVDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbV29ya3NwYWNlU2VydmVBY3Rpb25dO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJTZXJ2ZSB0aGUgZmlyc3QgcHJvamVjdCBpbiBhIHdvcmtzcGFjZSBjb25maWd1cmF0aW9uXCIpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU2VydmVDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIldvcmtzcGFjZVNlcnZlQWN0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdhQTs7O2VBQUFBOzs7cUJBSG1CO3NDQUNLO0FBRTlCLE1BQU1BLHFCQUFxQkMsb0JBQWU7SUFDaEQsSUFBb0JDLFVBQVU7UUFDN0IsT0FBTztZQUFDQywwQ0FBb0I7U0FBQztJQUM5QjtJQUVBLFlBQW1CQyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO0lBQ2xCO0FBQ0QifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
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=
|
|
@@ -0,0 +1,59 @@
|
|
|
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==
|
|
@@ -0,0 +1,17 @@
|
|
|
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=
|
|
@@ -0,0 +1,19 @@
|
|
|
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==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { registerHooks } from "node:module";
|
|
2
|
+
const resolvers = new Set();
|
|
3
|
+
let initialized = false;
|
|
4
|
+
export function initModuleHooks() {
|
|
5
|
+
if (initialized) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
initialized = true;
|
|
9
|
+
registerHooks({
|
|
10
|
+
resolve: (specifier, context, next)=>{
|
|
11
|
+
const result = next(specifier, context);
|
|
12
|
+
for (const handler of resolvers){
|
|
13
|
+
handler(result, context.parentURL ?? "");
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function addResolverHook(fn) {
|
|
20
|
+
resolvers.add(fn);
|
|
21
|
+
}
|
|
22
|
+
export function removeResolverHook(fn) {
|
|
23
|
+
resolvers.delete(fn);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2hvdC1tb2R1bGUtaG9va3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZXNvbHZlRm5PdXRwdXQsIFJlc29sdmVIb29rQ29udGV4dCB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgcmVnaXN0ZXJIb29rcyB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlSGFuZGxlciA9IChyZXN1bHQ6IFJlc29sdmVGbk91dHB1dCwgcGFyZW50VXJsOiBzdHJpbmcpID0+IHZvaWQ7XG5cbmNvbnN0IHJlc29sdmVycyA9IG5ldyBTZXQ8UmVzb2x2ZUhhbmRsZXI+KCk7XG5sZXQgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRNb2R1bGVIb29rcygpOiB2b2lkIHtcblx0aWYgKGluaXRpYWxpemVkKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGluaXRpYWxpemVkID0gdHJ1ZTtcblxuXHRyZWdpc3Rlckhvb2tzKHtcblx0XHRyZXNvbHZlOiAoXG5cdFx0XHRzcGVjaWZpZXI6IHN0cmluZyxcblx0XHRcdGNvbnRleHQ6IFJlc29sdmVIb29rQ29udGV4dCxcblx0XHRcdG5leHQ6IChzcGVjaWZpZXI6IHN0cmluZywgY29udGV4dD86IFBhcnRpYWw8UmVzb2x2ZUhvb2tDb250ZXh0PikgPT4gUmVzb2x2ZUZuT3V0cHV0LFxuXHRcdCkgPT4ge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gbmV4dChzcGVjaWZpZXIsIGNvbnRleHQpIGFzIFJlc29sdmVGbk91dHB1dDtcblx0XHRcdGZvciAoY29uc3QgaGFuZGxlciBvZiByZXNvbHZlcnMpIHtcblx0XHRcdFx0aGFuZGxlcihyZXN1bHQsIGNvbnRleHQucGFyZW50VVJMID8/IFwiXCIpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHR9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlc29sdmVySG9vayhmbjogUmVzb2x2ZUhhbmRsZXIpOiB2b2lkIHtcblx0cmVzb2x2ZXJzLmFkZChmbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZXNvbHZlckhvb2soZm46IFJlc29sdmVIYW5kbGVyKTogdm9pZCB7XG5cdHJlc29sdmVycy5kZWxldGUoZm4pO1xufVxuIl0sIm5hbWVzIjpbInJlZ2lzdGVySG9va3MiLCJyZXNvbHZlcnMiLCJTZXQiLCJpbml0aWFsaXplZCIsImluaXRNb2R1bGVIb29rcyIsInJlc29sdmUiLCJzcGVjaWZpZXIiLCJjb250ZXh0IiwibmV4dCIsInJlc3VsdCIsImhhbmRsZXIiLCJwYXJlbnRVUkwiLCJhZGRSZXNvbHZlckhvb2siLCJmbiIsImFkZCIsInJlbW92ZVJlc29sdmVySG9vayIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUFRLGNBQWM7QUFJNUMsTUFBTUMsWUFBWSxJQUFJQztBQUN0QixJQUFJQyxjQUFjO0FBRWxCLE9BQU8sU0FBU0M7SUFDZixJQUFJRCxhQUFhO1FBQ2hCO0lBQ0Q7SUFDQUEsY0FBYztJQUVkSCxjQUFjO1FBQ2JLLFNBQVMsQ0FDUkMsV0FDQUMsU0FDQUM7WUFFQSxNQUFNQyxTQUFTRCxLQUFLRixXQUFXQztZQUMvQixLQUFLLE1BQU1HLFdBQVdULFVBQVc7Z0JBQ2hDUyxRQUFRRCxRQUFRRixRQUFRSSxTQUFTLElBQUk7WUFDdEM7WUFDQSxPQUFPRjtRQUNSO0lBQ0Q7QUFDRDtBQUVBLE9BQU8sU0FBU0csZ0JBQWdCQyxFQUFrQjtJQUNqRFosVUFBVWEsR0FBRyxDQUFDRDtBQUNmO0FBRUEsT0FBTyxTQUFTRSxtQkFBbUJGLEVBQWtCO0lBQ3BEWixVQUFVZSxNQUFNLENBQUNIO0FBQ2xCIn0=
|