@decohere/flux 0.0.1-dev.88 → 0.0.1-dev.9

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.
Files changed (39) hide show
  1. package/commonjs/src/flux.command.js +1 -3
  2. package/commonjs/src/flux.module.js +2 -6
  3. package/commonjs/src/hot-reload-server.js +194 -268
  4. package/commonjs/src/index.js +1 -35
  5. package/commonjs/src/serve.action.js +4 -77
  6. package/commonjs/src/serve.command.js +2 -32
  7. package/es6/src/flux.command.js +1 -3
  8. package/es6/src/flux.module.js +2 -6
  9. package/es6/src/hot-reload-server.js +151 -249
  10. package/es6/src/index.js +2 -6
  11. package/es6/src/serve.action.js +4 -73
  12. package/es6/src/serve.command.js +2 -32
  13. package/package.json +6 -7
  14. package/types/src/flux.module.d.ts +0 -2
  15. package/types/src/hot-reload-server.d.ts +22 -45
  16. package/types/src/index.d.ts +1 -8
  17. package/types/src/serve.action.d.ts +1 -11
  18. package/types/src/serve.command.d.ts +0 -5
  19. package/commonjs/src/deferred-script-runner.js +0 -58
  20. package/commonjs/src/flux.js +0 -58
  21. package/commonjs/src/rewrite-serve-specifier.js +0 -46
  22. package/commonjs/src/run.action.js +0 -49
  23. package/commonjs/src/run.command.js +0 -67
  24. package/commonjs/src/slice-serve.js +0 -132
  25. package/commonjs/src/source-module-loader.js +0 -216
  26. package/es6/src/deferred-script-runner.js +0 -48
  27. package/es6/src/flux.js +0 -43
  28. package/es6/src/rewrite-serve-specifier.js +0 -40
  29. package/es6/src/run.action.js +0 -40
  30. package/es6/src/run.command.js +0 -57
  31. package/es6/src/slice-serve.js +0 -107
  32. package/es6/src/source-module-loader.js +0 -160
  33. package/types/src/deferred-script-runner.d.ts +0 -18
  34. package/types/src/flux.d.ts +0 -43
  35. package/types/src/rewrite-serve-specifier.d.ts +0 -13
  36. package/types/src/run.action.d.ts +0 -15
  37. package/types/src/run.command.d.ts +0 -11
  38. package/types/src/slice-serve.d.ts +0 -52
  39. package/types/src/source-module-loader.d.ts +0 -49
@@ -9,48 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get DEFAULT_REBOOT_DEBOUNCE_MS () {
13
- return _hotreloadserver.DEFAULT_REBOOT_DEBOUNCE_MS;
14
- },
15
- get DeferredScriptRunner () {
16
- return _deferredscriptrunner.DeferredScriptRunner;
17
- },
18
12
  get FluxModule () {
19
13
  return _fluxmodule.FluxModule;
20
14
  },
21
15
  get HotReloadServer () {
22
16
  return _hotreloadserver.HotReloadServer;
23
- },
24
- get SourceModuleLoader () {
25
- return _sourcemoduleloader.SourceModuleLoader;
26
- },
27
- get classifySliceProject () {
28
- return _sliceserve.classifySliceProject;
29
- },
30
- get classifySliceProjects () {
31
- return _sliceserve.classifySliceProjects;
32
- },
33
- get flux () {
34
- return _flux.flux;
35
- },
36
- get normalizeSlicePrefix () {
37
- return _sliceserve.normalizeSlicePrefix;
38
- },
39
- get projectsInSlice () {
40
- return _sliceserve.projectsInSlice;
41
- },
42
- get projectsInSlices () {
43
- return _sliceserve.projectsInSlices;
44
- },
45
- get resolveDeferScript () {
46
- return _sliceserve.resolveDeferScript;
47
17
  }
48
18
  });
49
- const _deferredscriptrunner = require("./deferred-script-runner.js");
50
- const _flux = require("./flux.js");
51
19
  const _fluxmodule = require("./flux.module.js");
52
20
  const _hotreloadserver = require("./hot-reload-server.js");
53
- const _sliceserve = require("./slice-serve.js");
54
- const _sourcemoduleloader = require("./source-module-loader.js");
55
21
 
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERlZmVycmVkU2NyaXB0UnVubmVyIH0gZnJvbSBcIi4vZGVmZXJyZWQtc2NyaXB0LXJ1bm5lci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBGbHV4UnVuT3B0aW9ucywgRmx1eFNlcnZlT3B0aW9ucyB9IGZyb20gXCIuL2ZsdXguanNcIjtcbmV4cG9ydCB7IGZsdXggfSBmcm9tIFwiLi9mbHV4LmpzXCI7XG5leHBvcnQgeyBGbHV4TW9kdWxlIH0gZnJvbSBcIi4vZmx1eC5tb2R1bGUuanNcIjtcbmV4cG9ydCB0eXBlIHsgSG90UmVsb2FkU2VydmVyT3B0aW9ucyB9IGZyb20gXCIuL2hvdC1yZWxvYWQtc2VydmVyLmpzXCI7XG5leHBvcnQgeyBERUZBVUxUX1JFQk9PVF9ERUJPVU5DRV9NUywgSG90UmVsb2FkU2VydmVyIH0gZnJvbSBcIi4vaG90LXJlbG9hZC1zZXJ2ZXIuanNcIjtcbmV4cG9ydCB0eXBlIHsgUnVuT3B0aW9ucyB9IGZyb20gXCIuL3J1bi5hY3Rpb24uanNcIjtcbmV4cG9ydCB0eXBlIHsgU2VydmVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5leHBvcnQge1xuXHR0eXBlIENsYXNzaWZpZWRTbGljZSxcblx0Y2xhc3NpZnlTbGljZVByb2plY3QsXG5cdGNsYXNzaWZ5U2xpY2VQcm9qZWN0cyxcblx0bm9ybWFsaXplU2xpY2VQcmVmaXgsXG5cdHByb2plY3RzSW5TbGljZSxcblx0cHJvamVjdHNJblNsaWNlcyxcblx0cmVzb2x2ZURlZmVyU2NyaXB0LFxuXHR0eXBlIFNsaWNlS2luZCxcblx0dHlwZSBTbGljZVByb2plY3RWaWV3LFxufSBmcm9tIFwiLi9zbGljZS1zZXJ2ZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBTb3VyY2VNb2R1bGVMb2FkZXJPcHRpb25zIH0gZnJvbSBcIi4vc291cmNlLW1vZHVsZS1sb2FkZXIuanNcIjtcbmV4cG9ydCB7IFNvdXJjZU1vZHVsZUxvYWRlciB9IGZyb20gXCIuL3NvdXJjZS1tb2R1bGUtbG9hZGVyLmpzXCI7XG4iXSwibmFtZXMiOlsiREVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMiLCJEZWZlcnJlZFNjcmlwdFJ1bm5lciIsIkZsdXhNb2R1bGUiLCJIb3RSZWxvYWRTZXJ2ZXIiLCJTb3VyY2VNb2R1bGVMb2FkZXIiLCJjbGFzc2lmeVNsaWNlUHJvamVjdCIsImNsYXNzaWZ5U2xpY2VQcm9qZWN0cyIsImZsdXgiLCJub3JtYWxpemVTbGljZVByZWZpeCIsInByb2plY3RzSW5TbGljZSIsInByb2plY3RzSW5TbGljZXMiLCJyZXNvbHZlRGVmZXJTY3JpcHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBS1NBO2VBQUFBLDJDQUEwQjs7UUFMMUJDO2VBQUFBLDBDQUFvQjs7UUFHcEJDO2VBQUFBLHNCQUFVOztRQUVrQkM7ZUFBQUEsZ0NBQWU7O1FBZTNDQztlQUFBQSxzQ0FBa0I7O1FBVjFCQztlQUFBQSxnQ0FBb0I7O1FBQ3BCQztlQUFBQSxpQ0FBcUI7O1FBVGJDO2VBQUFBLFVBQUk7O1FBVVpDO2VBQUFBLGdDQUFvQjs7UUFDcEJDO2VBQUFBLDJCQUFlOztRQUNmQztlQUFBQSw0QkFBZ0I7O1FBQ2hCQztlQUFBQSw4QkFBa0I7OztzQ0Fma0I7c0JBRWhCOzRCQUNNO2lDQUVpQzs0QkFhckQ7b0NBRTRCIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZsdXhNb2R1bGUgfSBmcm9tIFwiLi9mbHV4Lm1vZHVsZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBIb3RSZWxvYWRTZXJ2ZXJPcHRpb25zIH0gZnJvbSBcIi4vaG90LXJlbG9hZC1zZXJ2ZXIuanNcIjtcbmV4cG9ydCB7IEhvdFJlbG9hZFNlcnZlciB9IGZyb20gXCIuL2hvdC1yZWxvYWQtc2VydmVyLmpzXCI7XG5leHBvcnQgdHlwZSB7IFNlcnZlT3B0aW9ucyB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuIl0sIm5hbWVzIjpbIkZsdXhNb2R1bGUiLCJIb3RSZWxvYWRTZXJ2ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBQVNBO2VBQUFBLHNCQUFVOztRQUVWQztlQUFBQSxnQ0FBZTs7OzRCQUZHO2lDQUVLIn0=
@@ -8,19 +8,10 @@ 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
12
  const _mesh = require("@decohere/mesh");
14
13
  const _cli = require("@decohere/nexus/cli");
15
- 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);
@@ -33,90 +24,26 @@ function _ts_metadata(k, v) {
33
24
  class ServeAction {
34
25
  server;
35
26
  workspace;
36
- deferredScripts;
37
- logger = _scribe.scribe.logger(ServeAction.name);
38
- constructor(server, workspace, deferredScripts){
27
+ constructor(server, workspace){
39
28
  this.server = server;
40
29
  this.workspace = workspace;
41
- this.deferredScripts = deferredScripts;
42
30
  }
43
31
  async run(options) {
44
- const slices = (options.slices ?? []).filter((s)=>s !== "");
45
- if (slices.length > 0 && options.project != null) {
46
- throw new Error("Use either directory slices or --project, not both");
47
- }
48
- if (slices.length > 0) {
49
- return this.runSlices(options, slices);
50
- }
51
32
  await this.server.start({
52
33
  workspace: this.workspace,
53
34
  buildConfig: options.configuration,
54
- project: options.project,
55
- rebootDebounceMs: options.rebootDebounceMs
35
+ project: options.project
56
36
  });
57
37
  return _cli.ActionResponse.Blocking(ServeAction.name);
58
38
  }
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;
110
- }
111
39
  }
112
40
  ServeAction = _ts_decorate([
113
41
  (0, _decorators.injectable)(),
114
42
  _ts_metadata("design:type", Function),
115
43
  _ts_metadata("design:paramtypes", [
116
44
  typeof _hotreloadserver.HotReloadServer === "undefined" ? Object : _hotreloadserver.HotReloadServer,
117
- typeof _mesh.Workspace === "undefined" ? Object : _mesh.Workspace,
118
- typeof _deferredscriptrunner.DeferredScriptRunner === "undefined" ? Object : _deferredscriptrunner.DeferredScriptRunner
45
+ typeof _mesh.Workspace === "undefined" ? Object : _mesh.Workspace
119
46
  ])
120
47
  ], ServeAction);
121
48
 
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyB0eXBlIFByb2plY3QsIFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgdHlwZSBBY3Rpb24sIEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IHR5cGUgTG9nZ2VyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgRGVmZXJyZWRTY3JpcHRSdW5uZXIgfSBmcm9tIFwiLi9kZWZlcnJlZC1zY3JpcHQtcnVubmVyLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuaW1wb3J0IHtcblx0Y2xhc3NpZnlTbGljZVByb2plY3RzLFxuXHRyZXNvbHZlRGVmZXJTY3JpcHQsXG5cdHR5cGUgU2xpY2VQcm9qZWN0Vmlldyxcbn0gZnJvbSBcIi4vc2xpY2Utc2VydmUuanNcIjtcblxuZXhwb3J0IHR5cGUgU2VydmVPcHRpb25zID0ge1xuXHRjb25maWd1cmF0aW9uOiBzdHJpbmc7XG5cdHByb2plY3Q/OiBzdHJpbmc7XG5cdC8qKiBPbmUgb3IgbW9yZSBtb2R1bGUgZGlyZWN0b3J5IHRva2VucyAoYGZ1bmRpbmdgLCBgc2hlbGxgLCBgcHJvamVjdHMvZnVuZGluZ2ApLiAqL1xuXHRzbGljZXM/OiBzdHJpbmdbXTtcblx0cmVib290RGVib3VuY2VNcz86IG51bWJlcjtcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxTZXJ2ZU9wdGlvbnM+IHtcblx0cHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlciA9IHNjcmliZS5sb2dnZXIoU2VydmVBY3Rpb24ubmFtZSk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBIb3RSZWxvYWRTZXJ2ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRlZmVycmVkU2NyaXB0czogRGVmZXJyZWRTY3JpcHRSdW5uZXIsXG5cdCkge31cblxuXHRwdWJsaWMgYXN5bmMgcnVuKG9wdGlvbnM6IFNlcnZlT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRjb25zdCBzbGljZXMgPSAob3B0aW9ucy5zbGljZXMgPz8gW10pLmZpbHRlcigocykgPT4gcyAhPT0gXCJcIik7XG5cdFx0aWYgKHNsaWNlcy5sZW5ndGggPiAwICYmIG9wdGlvbnMucHJvamVjdCAhPSBudWxsKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVc2UgZWl0aGVyIGRpcmVjdG9yeSBzbGljZXMgb3IgLS1wcm9qZWN0LCBub3QgYm90aFwiKTtcblx0XHR9XG5cblx0XHRpZiAoc2xpY2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldHVybiB0aGlzLnJ1blNsaWNlcyhvcHRpb25zLCBzbGljZXMpO1xuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdHdvcmtzcGFjZTogdGhpcy53b3Jrc3BhY2UsXG5cdFx0XHRidWlsZENvbmZpZzogb3B0aW9ucy5jb25maWd1cmF0aW9uLFxuXHRcdFx0cHJvamVjdDogb3B0aW9ucy5wcm9qZWN0LFxuXHRcdFx0cmVib290RGVib3VuY2VNczogb3B0aW9ucy5yZWJvb3REZWJvdW5jZU1zLFxuXHRcdH0pO1xuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuU2xpY2VzKG9wdGlvbnM6IFNlcnZlT3B0aW9ucywgc2xpY2VzOiBzdHJpbmdbXSk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRjb25zdCB2aWV3cyA9IGF3YWl0IHRoaXMudG9TbGljZVZpZXdzKG9wdGlvbnMuY29uZmlndXJhdGlvbik7XG5cdFx0Y29uc3QgY2xhc3NpZmllZCA9IGNsYXNzaWZ5U2xpY2VQcm9qZWN0cyh2aWV3cywgc2xpY2VzKTtcblx0XHRjb25zdCBsYWJlbCA9IHNsaWNlcy5qb2luKFwiIFwiKTtcblxuXHRcdGZvciAoY29uc3Qgc2tpcHBlZCBvZiBjbGFzc2lmaWVkLnNraXApIHtcblx0XHRcdHRoaXMubG9nZ2VyLmluZm8oXG5cdFx0XHRcdGBza2lwcGVkICR7c2tpcHBlZC5wcm9qZWN0RGlyZWN0b3J5fSDigJQgbGlicmFyeSAobm8gRmx1eCBlbnRyeSAvIHNjcmlwdHMpYCxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0aWYgKGNsYXNzaWZpZWQuZmx1eC5sZW5ndGggPT09IDAgJiYgY2xhc3NpZmllZC5kZWZlci5sZW5ndGggPT09IDApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YE5vIHJ1bm5hYmxlIHByb2plY3RzIGluIHNsaWNlKHMpIFwiJHtsYWJlbH1cIiAobmVlZCBGbHV4IG1haW4udHMgYXBwcyBhbmQvb3IgcGFja2FnZSBzY3JpcHRzLmRldi9zZXJ2ZSlgLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCB3b3Jrc3BhY2VSb290ID0gcGF0aC5yZXNvbHZlKHRoaXMud29ya3NwYWNlLnJvb3REaXIgPz8gcHJvY2Vzcy5jd2QoKSk7XG5cblx0XHRmb3IgKGNvbnN0IGRlZmVycmVkIG9mIGNsYXNzaWZpZWQuZGVmZXIpIHtcblx0XHRcdGNvbnN0IHNjcmlwdCA9IHJlc29sdmVEZWZlclNjcmlwdChkZWZlcnJlZC5zY3JpcHRzKTtcblx0XHRcdGlmIChzY3JpcHQgPT0gbnVsbCkgY29udGludWU7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gdGhpcy5maW5kUHJvamVjdChvcHRpb25zLmNvbmZpZ3VyYXRpb24sIGRlZmVycmVkLm5hbWUpO1xuXHRcdFx0dGhpcy5kZWZlcnJlZFNjcmlwdHMuc3RhcnQoe1xuXHRcdFx0XHRsYWJlbDogZGVmZXJyZWQucHJvamVjdERpcmVjdG9yeSxcblx0XHRcdFx0Y3dkOiBwcm9qZWN0LnByb2plY3RSb290LFxuXHRcdFx0XHRzY3JpcHQsXG5cdFx0XHRcdHdvcmtzcGFjZVJvb3QsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRpZiAoY2xhc3NpZmllZC5mbHV4Lmxlbmd0aCA+IDApIHtcblx0XHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdFx0d29ya3NwYWNlOiB0aGlzLndvcmtzcGFjZSxcblx0XHRcdFx0YnVpbGRDb25maWc6IG9wdGlvbnMuY29uZmlndXJhdGlvbixcblx0XHRcdFx0cHJvamVjdHM6IGNsYXNzaWZpZWQuZmx1eC5tYXAoKHApID0+IHAubmFtZSksXG5cdFx0XHRcdHJlYm9vdERlYm91bmNlTXM6IG9wdGlvbnMucmVib290RGVib3VuY2VNcyxcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdG9TbGljZVZpZXdzKGNvbmZpZ3VyYXRpb246IHN0cmluZyk6IFByb21pc2U8U2xpY2VQcm9qZWN0Vmlld1tdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSB0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKTtcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvamVjdHMubWFwKChwcm9qZWN0KSA9PiB0aGlzLnRvU2xpY2VWaWV3KHByb2plY3QpKSk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHRvU2xpY2VWaWV3KHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFNsaWNlUHJvamVjdFZpZXc+IHtcblx0XHRjb25zdCBwa2cgPSBhd2FpdCBwcm9qZWN0LmdldFBhY2thZ2VKc29uKCk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG5hbWU6IHByb2plY3QubmFtZSxcblx0XHRcdHByb2plY3REaXJlY3Rvcnk6IHByb2plY3QucHJvamVjdERpcmVjdG9yeS5yZXBsYWNlQWxsKFwiXFxcXFwiLCBcIi9cIiksXG5cdFx0XHRtYWluOiBwa2cubWFpbiA/PyBcInNyYy9pbmRleC50c1wiLFxuXHRcdFx0c2NyaXB0czogcGtnLnNjcmlwdHMgPz8ge30sXG5cdFx0fTtcblx0fVxuXG5cdHByaXZhdGUgZmluZFByb2plY3QoY29uZmlndXJhdGlvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBmb3VuZCA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGNvbmZpZ3VyYXRpb24pLmZpbmQoKHApID0+IHAubmFtZSA9PT0gbmFtZSk7XG5cdFx0aWYgKGZvdW5kID09IG51bGwpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgUHJvamVjdCBcIiR7bmFtZX1cIiBub3QgZm91bmQgaW4gd29ya3NwYWNlYCk7XG5cdFx0fVxuXHRcdHJldHVybiBmb3VuZDtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlNlcnZlQWN0aW9uIiwibG9nZ2VyIiwic2NyaWJlIiwibmFtZSIsInNlcnZlciIsIndvcmtzcGFjZSIsImRlZmVycmVkU2NyaXB0cyIsInJ1biIsIm9wdGlvbnMiLCJzbGljZXMiLCJmaWx0ZXIiLCJzIiwibGVuZ3RoIiwicHJvamVjdCIsIkVycm9yIiwicnVuU2xpY2VzIiwic3RhcnQiLCJidWlsZENvbmZpZyIsImNvbmZpZ3VyYXRpb24iLCJyZWJvb3REZWJvdW5jZU1zIiwiQWN0aW9uUmVzcG9uc2UiLCJCbG9ja2luZyIsInZpZXdzIiwidG9TbGljZVZpZXdzIiwiY2xhc3NpZmllZCIsImNsYXNzaWZ5U2xpY2VQcm9qZWN0cyIsImxhYmVsIiwiam9pbiIsInNraXBwZWQiLCJza2lwIiwiaW5mbyIsInByb2plY3REaXJlY3RvcnkiLCJmbHV4IiwiZGVmZXIiLCJ3b3Jrc3BhY2VSb290IiwicGF0aCIsInJlc29sdmUiLCJyb290RGlyIiwicHJvY2VzcyIsImN3ZCIsImRlZmVycmVkIiwic2NyaXB0IiwicmVzb2x2ZURlZmVyU2NyaXB0Iiwic2NyaXB0cyIsImZpbmRQcm9qZWN0IiwicHJvamVjdFJvb3QiLCJwcm9qZWN0cyIsIm1hcCIsInAiLCJnZXRQcm9qZWN0cyIsIlByb21pc2UiLCJhbGwiLCJ0b1NsaWNlVmlldyIsInBrZyIsImdldFBhY2thZ2VKc29uIiwicmVwbGFjZUFsbCIsIm1haW4iLCJmb3VuZCIsImZpbmQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBeUJhQTs7O2VBQUFBOzs7aUVBekJJOzRCQUNVO3NCQUVhO3FCQUNJO3dCQUNSO3NDQUVDO2lDQUVMOzRCQUt6Qjs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsTUFBTUE7Ozs7SUFDS0MsU0FBaUJDLGNBQU0sQ0FBQ0QsTUFBTSxDQUFDRCxZQUFZRyxJQUFJLEVBQUU7SUFFbEUsWUFDQyxBQUFpQkMsTUFBdUIsRUFDeEMsQUFBaUJDLFNBQW9CLEVBQ3JDLEFBQWlCQyxlQUFxQyxDQUNyRDthQUhnQkYsU0FBQUE7YUFDQUMsWUFBQUE7YUFDQUMsa0JBQUFBO0lBQ2Y7SUFFSCxNQUFhQyxJQUFJQyxPQUFxQixFQUEyQjtRQUNoRSxNQUFNQyxTQUFTLEFBQUNELENBQUFBLFFBQVFDLE1BQU0sSUFBSSxFQUFFLEFBQUQsRUFBR0MsTUFBTSxDQUFDLENBQUNDLElBQU1BLE1BQU07UUFDMUQsSUFBSUYs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
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IHR5cGUgQWN0aW9uLCBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuXG5leHBvcnQgdHlwZSBTZXJ2ZU9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0cHJvamVjdD86IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxTZXJ2ZU9wdGlvbnM+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBIb3RSZWxvYWRTZXJ2ZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0KSB7fVxuXG5cdHB1YmxpYyBhc3luYyBydW4ob3B0aW9uczogU2VydmVPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4ge1xuXHRcdGF3YWl0IHRoaXMuc2VydmVyLnN0YXJ0KHtcblx0XHRcdHdvcmtzcGFjZTogdGhpcy53b3Jrc3BhY2UsXG5cdFx0XHRidWlsZENvbmZpZzogb3B0aW9ucy5jb25maWd1cmF0aW9uLFxuXHRcdFx0cHJvamVjdDogb3B0aW9ucy5wcm9qZWN0LFxuXHRcdH0pO1xuXHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5CbG9ja2luZyhTZXJ2ZUFjdGlvbi5uYW1lKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlNlcnZlQWN0aW9uIiwic2VydmVyIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsInN0YXJ0IiwiYnVpbGRDb25maWciLCJjb25maWd1cmF0aW9uIiwicHJvamVjdCIsIkFjdGlvblJlc3BvbnNlIiwiQmxvY2tpbmciLCJuYW1lIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7NEJBYmM7c0JBRUQ7cUJBQ2tCO2lDQUVaOzs7Ozs7Ozs7O0FBUXpCLE1BQU1BOzs7SUFDWixZQUNDLEFBQWlCQyxNQUF1QixFQUN4QyxBQUFpQkMsU0FBb0IsQ0FDcEM7YUFGZ0JELFNBQUFBO2FBQ0FDLFlBQUFBO0lBQ2Y7SUFFSCxNQUFhQyxJQUFJQyxPQUFxQixFQUEyQjtRQUNoRSxNQUFNLElBQUksQ0FBQ0gsTUFBTSxDQUFDSSxLQUFLLENBQUM7WUFDdkJILFdBQVcsSUFBSSxDQUFDQSxTQUFTO1lBQ3pCSSxhQUFhRixRQUFRRyxhQUFhO1lBQ2xDQyxTQUFTSixRQUFRSSxPQUFPO1FBQ3pCO1FBQ0EsT0FBT0MsbUJBQWMsQ0FBQ0MsUUFBUSxDQUFDVixZQUFZVyxJQUFJO0lBQ2hEO0FBQ0QifQ==
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "ServeCommand", {
9
9
  }
10
10
  });
11
11
  const _cli = require("@decohere/nexus/cli");
12
- const _hotreloadserver = require("./hot-reload-server.js");
13
12
  const _serveaction = require("./serve.action.js");
14
13
  class ServeCommand extends _cli.DecohereCommand {
15
14
  get actions() {
@@ -19,39 +18,10 @@ class ServeCommand extends _cli.DecohereCommand {
19
18
  }
20
19
  constructor(name){
21
20
  super(name);
22
- this.description("Serve a project or directory slices (Flux apps in-process; foreign packages via package scripts)");
23
- this.argument("[slices...]", "Module directories to serve (e.g. funding shell secmaster, or projects/funding)");
21
+ this.description("Serve a project in a workspace configuration");
24
22
  this.addOption(new _cli.ConfigurationOption("debug"));
25
23
  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);
27
24
  }
28
- /**
29
- * Commander passes positional args before options when `[slices...]` is declared.
30
- * The CLI host 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
25
  }
56
26
 
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBQcm9qZWN0T3B0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB0eXBlIHsgT3B0aW9uVmFsdWVzIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgREVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMsIHJlc29sdmVSZWJvb3REZWJvdW5jZU1zIH0gZnJvbSBcIi4vaG90LXJlbG9hZC1zZXJ2ZXIuanNcIjtcbmltcG9ydCB7IFNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZXJ2ZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtTZXJ2ZUFjdGlvbl07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcblx0XHRcdFwiU2VydmUgYSBwcm9qZWN0IG9yIGRpcmVjdG9yeSBzbGljZXMgKEZsdXggYXBwcyBpbi1wcm9jZXNzOyBmb3JlaWduIHBhY2thZ2VzIHZpYSBwYWNrYWdlIHNjcmlwdHMpXCIsXG5cdFx0KTtcblx0XHR0aGlzLmFyZ3VtZW50KFxuXHRcdFx0XCJbc2xpY2VzLi4uXVwiLFxuXHRcdFx0XCJNb2R1bGUgZGlyZWN0b3JpZXMgdG8gc2VydmUgKGUuZy4gZnVuZGluZyBzaGVsbCBzZWNtYXN0ZXIsIG9yIHByb2plY3RzL2Z1bmRpbmcpXCIsXG5cdFx0KTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcImRlYnVnXCIpKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgUHJvamVjdE9wdGlvbigpKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1yZWJvb3QtZGVib3VuY2UtbXMgPG1zPlwiLFxuXHRcdFx0XCJRdWlldCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IGFmZmVjdGluZyBzYXZlIGJlZm9yZSBhIHJlYm9vdFwiLFxuXHRcdFx0KHZhbHVlOiBzdHJpbmcpID0+IHJlc29sdmVSZWJvb3REZWJvdW5jZU1zKE51bWJlcih2YWx1ZSkpLFxuXHRcdFx0REVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMsXG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb21tYW5kZXIgcGFzc2VzIHBvc2l0aW9uYWwgYXJncyBiZWZvcmUgb3B0aW9ucyB3aGVuIGBbc2xpY2VzLi4uXWAgaXMgZGVjbGFyZWQuXG5cdCAqIFRoZSBDTEkgaG9zdCBNb2R1bGVGYWN0b3J5IGV4cGVjdHMgYChvcHRzLCBjbWQpYCDigJQgbm9ybWFsaXplIGhlcmUuXG5cdCAqL1xuXHRwdWJsaWMgb3ZlcnJpZGUgYWN0aW9uKGZuOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KTogdGhpcyB7XG5cdFx0cmV0dXJuIHN1cGVyLmFjdGlvbigoLi4uYXJnczogYW55W10pID0+IHtcblx0XHRcdGNvbnN0IGNtZCA9IGFyZ3MuYXQoLTEpIGFzIERlY29oZXJlQ29tbWFuZDtcblx0XHRcdGNvbnN0IGZpcnN0ID0gYXJnc1swXTtcblx0XHRcdGNvbnN0IGhhc1Bvc2l0aW9uYWxTbGljZXMgPVxuXHRcdFx0XHRBcnJheS5pc0FycmF5KGZpcnN0KSB8fCB0eXBlb2YgZmlyc3QgPT09IFwic3RyaW5nXCIgfHwgZmlyc3QgPT09IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IG9wdHMgPSBoYXNQb3NpdGlvbmFsU2xpY2VzID8gKGFyZ3NbMV0gYXMgT3B0aW9uVmFsdWVzKSA6IChhcmdzWzBdIGFzIE9wdGlvblZhbHVlcyk7XG5cblx0XHRcdGNvbnN0IHNsaWNlcyA9IG5vcm1hbGl6ZVBvc2l0aW9uYWxTbGljZXMoZmlyc3QpO1xuXHRcdFx0aWYgKHNsaWNlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGNtZC5zZXRPcHRpb25WYWx1ZShcInNsaWNlc1wiLCBzbGljZXMpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZuKG9wdHMsIGNtZCk7XG5cdFx0fSk7XG5cdH1cbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVBvc2l0aW9uYWxTbGljZXMoZmlyc3Q6IHVua25vd24pOiBzdHJpbmdbXSB7XG5cdGlmIChBcnJheS5pc0FycmF5KGZpcnN0KSkge1xuXHRcdHJldHVybiBmaXJzdC5maWx0ZXIoKHMpOiBzIGlzIHN0cmluZyA9PiB0eXBlb2YgcyA9PT0gXCJzdHJpbmdcIiAmJiBzICE9PSBcIlwiKTtcblx0fVxuXHRpZiAodHlwZW9mIGZpcnN0ID09PSBcInN0cmluZ1wiICYmIGZpcnN0ICE9PSBcIlwiKSB7XG5cdFx0cmV0dXJuIFtmaXJzdF07XG5cdH1cblx0cmV0dXJuIFtdO1xufVxuIl0sIm5hbWVzIjpbIlNlcnZlQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImFjdGlvbnMiLCJTZXJ2ZUFjdGlvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImFyZ3VtZW50IiwiYWRkT3B0aW9uIiwiQ29uZmlndXJhdGlvbk9wdGlvbiIsIlByb2plY3RPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsInJlc29sdmVSZWJvb3REZWJvdW5jZU1zIiwiTnVtYmVyIiwiREVGQVVMVF9SRUJPT1RfREVCT1VOQ0VfTVMiLCJhY3Rpb24iLCJmbiIsImFyZ3MiLCJjbWQiLCJhdCIsImZpcnN0IiwiaGFzUG9zaXRpb25hbFNsaWNlcyIsIkFycmF5IiwiaXNBcnJheSIsInVuZGVmaW5lZCIsIm9wdHMiLCJzbGljZXMiLCJub3JtYWxpemVQb3NpdGlvbmFsU2xpY2VzIiwibGVuZ3RoIiwic2V0T3B0aW9uVmFsdWUiLCJmaWx0ZXIiLCJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUthQTs7O2VBQUFBOzs7cUJBTHVEO2lDQUVBOzZCQUN4QztBQUVyQixNQUFNQSxxQkFBcUJDLG9CQUFlO0lBQ2hELElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0Msd0JBQVc7U0FBQztJQUNyQjtJQUVBLFlBQW1CQyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUNmO1FBRUQsSUFBSSxDQUFDQyxRQUFRLENBQ1osZUFDQTtRQUVELElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlDLHdCQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQ0QsU0FBUyxDQUFDLElBQUlFLGtCQUFhO1FBQ2hDLElBQUksQ0FBQ0MsTUFBTSxDQUNWLDZCQUNBLDhFQUNBLENBQUNDLFFBQWtCQyxJQUFBQSx3Q0FBdUIsRUFBQ0MsT0FBT0YsU0FDbERHLDJDQUEwQjtJQUU1QjtJQUVBOzs7RUFHQyxHQUNELEFBQWdCQyxPQUFPQyxFQUE0QyxFQUFRO1FBQzFFLE9BQU8sS0FBSyxDQUFDRCxPQUFPLENBQUMsR0FBR0U7WUFDdkIsTUFBTUMsTUFBTUQsS0FBS0UsRUFBRSxDQUFDLENBQUM7WUFDckIsTUFBTUMsUUFBUUgsSUFBSSxDQUFDLEVBQUU7WUFDckIsTUFBTUksc0JBQ0xDLE1BQU1DLE9BQU8sQ0FBQ0gsVUFBVSxPQUFPQSxVQUFVLFlBQVlBLFVBQVVJO1lBQ2hFLE1BQU1DLE9BQU9KLHNCQUF1QkosSUFBSSxDQUFDLEVBQUUsR0FBcUJBLElBQUksQ0FBQyxFQUFFO1lBRXZFLE1BQU1TLFNBQVNDLDBCQUEwQlA7WUFDekMsSUFBSU0sT0FBT0UsTUFBTSxHQUFHLEdBQUc7Z0JBQ3RCVixJQUFJVyxjQUFjLENBQUMsVUFBVUg7WUFDOUI7WUFDQSxPQUFPVixHQUFHUyxNQUFNUDtRQUNqQjtJQUNEO0FBQ0Q7QUFDQSxTQUFTUywwQkFBMEJQLEtBQWM7SUFDaEQsSUFBSUUsTUFBTUMsT0FBTyxDQUFDSCxRQUFRO1FBQ3pCLE9BQU9BLE1BQU1VLE1BQU0sQ0FBQyxDQUFDQyxJQUFtQixPQUFPQSxNQUFNLFlBQVlBLE1BQU07SUFDeEU7SUFDQSxJQUFJLE9BQU9YLFVBQVUsWUFBWUEsVUFBVSxJQUFJO1FBQzlDLE9BQU87WUFBQ0E7U0FBTTtJQUNmO0lBQ0EsT0FBTyxFQUFFO0FBQ1YifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBQcm9qZWN0T3B0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZXJ2ZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtTZXJ2ZUFjdGlvbl07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlNlcnZlIGEgcHJvamVjdCBpbiBhIHdvcmtzcGFjZSBjb25maWd1cmF0aW9uXCIpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBDb25maWd1cmF0aW9uT3B0aW9uKFwiZGVidWdcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBQcm9qZWN0T3B0aW9uKCkpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU2VydmVDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIlNlcnZlQWN0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiYWRkT3B0aW9uIiwiQ29uZmlndXJhdGlvbk9wdGlvbiIsIlByb2plY3RPcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2FBOzs7ZUFBQUE7OztxQkFIdUQ7NkJBQ3hDO0FBRXJCLE1BQU1BLHFCQUFxQkMsb0JBQWU7SUFDaEQsSUFBb0JDLFVBQVU7UUFDN0IsT0FBTztZQUFDQyx3QkFBVztTQUFDO0lBQ3JCO0lBRUEsWUFBbUJDLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSUMsd0JBQW1CLENBQUM7UUFDdkMsSUFBSSxDQUFDRCxTQUFTLENBQUMsSUFBSUUsa0JBQWE7SUFDakM7QUFDRCJ9
@@ -1,5 +1,4 @@
1
1
  import { DecohereCommand } from "@decohere/nexus/cli";
2
- import { RunCommand } from "./run.command.js";
3
2
  import { ServeCommand } from "./serve.command.js";
4
3
  export class FluxCommand extends DecohereCommand {
5
4
  constructor(commands, handler){
@@ -7,7 +6,6 @@ export class FluxCommand extends DecohereCommand {
7
6
  this.exitOverride();
8
7
  this.registerSubcommand({
9
8
  serve: ServeCommand,
10
- run: RunCommand,
11
9
  ...commands
12
10
  }, handler);
13
11
  }
@@ -16,4 +14,4 @@ export class FluxCommand extends DecohereCommand {
16
14
  }
17
15
  }
18
16
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2ZsdXguY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHtcblx0dHlwZSBDb21tYW5kSGFuZGxlcixcblx0dHlwZSBDb21tYW5kUmVzcG9uc2UsXG5cdHR5cGUgQ29tbWFuZFR5cGUsXG5cdERlY29oZXJlQ29tbWFuZCxcbn0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFJ1bkNvbW1hbmQgfSBmcm9tIFwiLi9ydW4uY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgU2VydmVDb21tYW5kIH0gZnJvbSBcIi4vc2VydmUuY29tbWFuZC5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRmx1eENvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihGbHV4Q29tbWFuZCk7XG5cdFx0dGhpcy5leGl0T3ZlcnJpZGUoKTtcblx0XHR0aGlzLnJlZ2lzdGVyU3ViY29tbWFuZCh7IHNlcnZlOiBTZXJ2ZUNvbW1hbmQsIHJ1bjogUnVuQ29tbWFuZCwgLi4uY29tbWFuZHMgfSwgaGFuZGxlcik7XG5cdH1cblxuXHRwdWJsaWMgcnVuKF9hY3Rpb25zOiBBY3Rpb25zLCBfb3B0aW9uczogbmV2ZXIpOiBQcm9taXNlPENvbW1hbmRSZXNwb25zZT4ge1xuXHRcdHJldHVybiB0aGlzLmhlbHAoKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkRlY29oZXJlQ29tbWFuZCIsIlJ1bkNvbW1hbmQiLCJTZXJ2ZUNvbW1hbmQiLCJGbHV4Q29tbWFuZCIsImNvbW1hbmRzIiwiaGFuZGxlciIsImV4aXRPdmVycmlkZSIsInJlZ2lzdGVyU3ViY29tbWFuZCIsInNlcnZlIiwicnVuIiwiX2FjdGlvbnMiLCJfb3B0aW9ucyIsImhlbHAiXSwibWFwcGluZ3MiOiJBQUNBLFNBSUNBLGVBQWUsUUFDVCxzQkFBc0I7QUFDN0IsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUM5QyxTQUFTQyxZQUFZLFFBQVEscUJBQXFCO0FBRWxELE9BQU8sTUFBTUMsb0JBQW9CSDtJQUNoQyxZQUFtQkksUUFBcUMsRUFBRUMsT0FBdUIsQ0FBRTtRQUNsRixLQUFLLENBQUNGO1FBQ04sSUFBSSxDQUFDRyxZQUFZO1FBQ2pCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUM7WUFBRUMsT0FBT047WUFBY08sS0FBS1I7WUFBWSxHQUFHRyxRQUFRO1FBQUMsR0FBR0M7SUFDaEY7SUFFT0ksSUFBSUMsUUFBaUIsRUFBRUMsUUFBZSxFQUE0QjtRQUN4RSxPQUFPLElBQUksQ0FBQ0MsSUFBSTtJQUNqQjtBQUNEIn0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2ZsdXguY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHtcblx0dHlwZSBDb21tYW5kSGFuZGxlcixcblx0dHlwZSBDb21tYW5kUmVzcG9uc2UsXG5cdHR5cGUgQ29tbWFuZFR5cGUsXG5cdERlY29oZXJlQ29tbWFuZCxcbn0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFNlcnZlQ29tbWFuZCB9IGZyb20gXCIuL3NlcnZlLmNvbW1hbmQuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZsdXhDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIGNvbnN0cnVjdG9yKGNvbW1hbmRzOiBSZWNvcmQ8c3RyaW5nLCBDb21tYW5kVHlwZT4sIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyKSB7XG5cdFx0c3VwZXIoRmx1eENvbW1hbmQpO1xuXHRcdHRoaXMuZXhpdE92ZXJyaWRlKCk7XG5cdFx0dGhpcy5yZWdpc3RlclN1YmNvbW1hbmQoeyBzZXJ2ZTogU2VydmVDb21tYW5kLCAuLi5jb21tYW5kcyB9LCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRGVjb2hlcmVDb21tYW5kIiwiU2VydmVDb21tYW5kIiwiRmx1eENvbW1hbmQiLCJjb21tYW5kcyIsImhhbmRsZXIiLCJleGl0T3ZlcnJpZGUiLCJyZWdpc3RlclN1YmNvbW1hbmQiLCJzZXJ2ZSIsInJ1biIsIl9hY3Rpb25zIiwiX29wdGlvbnMiLCJoZWxwIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUlDQSxlQUFlLFFBQ1Qsc0JBQXNCO0FBQzdCLFNBQVNDLFlBQVksUUFBUSxxQkFBcUI7QUFFbEQsT0FBTyxNQUFNQyxvQkFBb0JGO0lBQ2hDLFlBQW1CRyxRQUFxQyxFQUFFQyxPQUF1QixDQUFFO1FBQ2xGLEtBQUssQ0FBQ0Y7UUFDTixJQUFJLENBQUNHLFlBQVk7UUFDakIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQztZQUFFQyxPQUFPTjtZQUFjLEdBQUdFLFFBQVE7UUFBQyxHQUFHQztJQUMvRDtJQUVPSSxJQUFJQyxRQUFpQixFQUFFQyxRQUFlLEVBQTRCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDQyxJQUFJO0lBQ2pCO0FBQ0QifQ==
@@ -1,20 +1,16 @@
1
1
  import { WorkspaceFactory } from "@decohere/mesh";
2
2
  import { ModuleManifest } from "@decohere/nexus/cli";
3
- import { DeferredScriptRunner } from "./deferred-script-runner.js";
4
3
  import { FluxCommand } from "./flux.command.js";
5
4
  import { HotReloadServer } from "./hot-reload-server.js";
6
- import { RunAction } from "./run.action.js";
7
5
  import { ServeAction } from "./serve.action.js";
8
6
  export class FluxModule extends ModuleManifest {
9
7
  id = "flux";
10
8
  command = FluxCommand;
11
9
  actions = {
12
- serve: ServeAction,
13
- run: RunAction
10
+ serve: ServeAction
14
11
  };
15
12
  registerServices(builder) {
16
13
  builder.registerSingleton(HotReloadServer);
17
- builder.registerSingleton(DeferredScriptRunner);
18
14
  }
19
15
  createWorkspace(options) {
20
16
  return WorkspaceFactory.create({
@@ -23,4 +19,4 @@ export class FluxModule extends ModuleManifest {
23
19
  }
24
20
  }
25
21
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2ZsdXgubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0IHsgRGVmZXJyZWRTY3JpcHRSdW5uZXIgfSBmcm9tIFwiLi9kZWZlcnJlZC1zY3JpcHQtcnVubmVyLmpzXCI7XG5pbXBvcnQgeyBGbHV4Q29tbWFuZCB9IGZyb20gXCIuL2ZsdXguY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgSG90UmVsb2FkU2VydmVyIH0gZnJvbSBcIi4vaG90LXJlbG9hZC1zZXJ2ZXIuanNcIjtcbmltcG9ydCB7IFJ1bkFjdGlvbiB9IGZyb20gXCIuL3J1bi5hY3Rpb24uanNcIjtcbmltcG9ydCB7IFNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBGbHV4TW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZsdXhcIjtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBGbHV4Q29tbWFuZDtcblx0cHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSB7XG5cdFx0c2VydmU6IFNlcnZlQWN0aW9uLFxuXHRcdHJ1bjogUnVuQWN0aW9uLFxuXHR9O1xuXG5cdHB1YmxpYyByZWdpc3RlclNlcnZpY2VzKGJ1aWxkZXI6IENvbnRhaW5lckJ1aWxkZXIpIHtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKEhvdFJlbG9hZFNlcnZlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihEZWZlcnJlZFNjcmlwdFJ1bm5lcik7XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlV29ya3NwYWNlKG9wdGlvbnM6IFdvcmtzcGFjZUZhY3RvcnlPcHRpb25zKSB7XG5cdFx0cmV0dXJuIFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHsgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlIH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiV29ya3NwYWNlRmFjdG9yeSIsIk1vZHVsZU1hbmlmZXN0IiwiRGVmZXJyZWRTY3JpcHRSdW5uZXIiLCJGbHV4Q29tbWFuZCIsIkhvdFJlbG9hZFNlcnZlciIsIlJ1bkFjdGlvbiIsIlNlcnZlQWN0aW9uIiwiRmx1eE1vZHVsZSIsImlkIiwiY29tbWFuZCIsImFjdGlvbnMiLCJzZXJ2ZSIsInJ1biIsInJlZ2lzdGVyU2VydmljZXMiLCJidWlsZGVyIiwicmVnaXN0ZXJTaW5nbGV0b24iLCJjcmVhdGVXb3Jrc3BhY2UiLCJvcHRpb25zIiwiY3JlYXRlIiwiY29uZmlnRmlsZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZ0JBQWdCLFFBQVEsaUJBQWlCO0FBRWxELFNBQVNDLGNBQWMsUUFBUSxzQkFBc0I7QUFFckQsU0FBU0Msb0JBQW9CLFFBQVEsOEJBQThCO0FBQ25FLFNBQVNDLFdBQVcsUUFBUSxvQkFBb0I7QUFDaEQsU0FBU0MsZUFBZSxRQUFRLHlCQUF5QjtBQUN6RCxTQUFTQyxTQUFTLFFBQVEsa0JBQWtCO0FBQzVDLFNBQVNDLFdBQVcsUUFBUSxvQkFBb0I7QUFFaEQsT0FBTyxNQUFNQyxtQkFBbUJOO0lBQ2ZPLEtBQUssT0FBTztJQUNaQyxVQUFVTixZQUFZO0lBQ3RCTyxVQUFVO1FBQ3pCQyxPQUFPTDtRQUNQTSxLQUFLUDtJQUNOLEVBQUU7SUFFS1EsaUJBQWlCQyxPQUF5QixFQUFFO1FBQ2xEQSxRQUFRQyxpQkFBaUIsQ0FBQ1g7UUFDMUJVLFFBQVFDLGlCQUFpQixDQUFDYjtJQUMzQjtJQUVnQmMsZ0JBQWdCQyxPQUFnQyxFQUFFO1FBQ2pFLE9BQU9qQixpQkFBaUJrQixNQUFNLENBQUM7WUFBRUMsWUFBWUYsUUFBUUUsVUFBVTtRQUFDO0lBQ2pFO0FBQ0QifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL2ZsdXgubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0IHsgRmx1eENvbW1hbmQgfSBmcm9tIFwiLi9mbHV4LmNvbW1hbmQuanNcIjtcbmltcG9ydCB7IEhvdFJlbG9hZFNlcnZlciB9IGZyb20gXCIuL2hvdC1yZWxvYWQtc2VydmVyLmpzXCI7XG5pbXBvcnQgeyBTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRmx1eE1vZHVsZSBleHRlbmRzIE1vZHVsZU1hbmlmZXN0IHtcblx0cHVibGljIHJlYWRvbmx5IGlkID0gXCJmbHV4XCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gRmx1eENvbW1hbmQ7XG5cdHB1YmxpYyByZWFkb25seSBhY3Rpb25zID0ge1xuXHRcdHNlcnZlOiBTZXJ2ZUFjdGlvbixcblx0fTtcblxuXHRwdWJsaWMgcmVnaXN0ZXJTZXJ2aWNlcyhidWlsZGVyOiBDb250YWluZXJCdWlsZGVyKSB7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihIb3RSZWxvYWRTZXJ2ZXIpO1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGNyZWF0ZVdvcmtzcGFjZShvcHRpb25zOiBXb3Jrc3BhY2VGYWN0b3J5T3B0aW9ucykge1xuXHRcdHJldHVybiBXb3Jrc3BhY2VGYWN0b3J5LmNyZWF0ZSh7IGNvbmZpZ0ZpbGU6IG9wdGlvbnMuY29uZmlnRmlsZSB9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIldvcmtzcGFjZUZhY3RvcnkiLCJNb2R1bGVNYW5pZmVzdCIsIkZsdXhDb21tYW5kIiwiSG90UmVsb2FkU2VydmVyIiwiU2VydmVBY3Rpb24iLCJGbHV4TW9kdWxlIiwiaWQiLCJjb21tYW5kIiwiYWN0aW9ucyIsInNlcnZlIiwicmVnaXN0ZXJTZXJ2aWNlcyIsImJ1aWxkZXIiLCJyZWdpc3RlclNpbmdsZXRvbiIsImNyZWF0ZVdvcmtzcGFjZSIsIm9wdGlvbnMiLCJjcmVhdGUiLCJjb25maWdGaWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxnQkFBZ0IsUUFBUSxpQkFBaUI7QUFFbEQsU0FBU0MsY0FBYyxRQUFRLHNCQUFzQjtBQUVyRCxTQUFTQyxXQUFXLFFBQVEsb0JBQW9CO0FBQ2hELFNBQVNDLGVBQWUsUUFBUSx5QkFBeUI7QUFDekQsU0FBU0MsV0FBVyxRQUFRLG9CQUFvQjtBQUVoRCxPQUFPLE1BQU1DLG1CQUFtQko7SUFDZkssS0FBSyxPQUFPO0lBQ1pDLFVBQVVMLFlBQVk7SUFDdEJNLFVBQVU7UUFDekJDLE9BQU9MO0lBQ1IsRUFBRTtJQUVLTSxpQkFBaUJDLE9BQXlCLEVBQUU7UUFDbERBLFFBQVFDLGlCQUFpQixDQUFDVDtJQUMzQjtJQUVnQlUsZ0JBQWdCQyxPQUFnQyxFQUFFO1FBQ2pFLE9BQU9kLGlCQUFpQmUsTUFBTSxDQUFDO1lBQUVDLFlBQVlGLFFBQVFFLFVBQVU7UUFBQztJQUNqRTtBQUNEIn0=