@decohere/flux 0.0.1-dev.6 → 0.0.1-dev.61

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.
@@ -1,15 +1,17 @@
1
- import { DecohereCommand } from "@decohere/nexus/cli";
2
- import { WorkspaceServeAction } from "./workspace-serve.action.js";
1
+ import { ConfigurationOption, DecohereCommand, ProjectOption } from "@decohere/nexus/cli";
2
+ import { ServeAction } from "./serve.action.js";
3
3
  export class ServeCommand extends DecohereCommand {
4
4
  get actions() {
5
5
  return [
6
- WorkspaceServeAction
6
+ ServeAction
7
7
  ];
8
8
  }
9
9
  constructor(name){
10
10
  super(name);
11
- this.description("Serve the first project in a workspace configuration");
11
+ this.description("Serve a project in a workspace configuration");
12
+ this.addOption(new ConfigurationOption("debug"));
13
+ this.addOption(new ProjectOption());
12
14
  }
13
15
  }
14
16
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2hlcmVDb21tYW5kIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFdvcmtzcGFjZVNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vd29ya3NwYWNlLXNlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VydmVDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbV29ya3NwYWNlU2VydmVBY3Rpb25dO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJTZXJ2ZSB0aGUgZmlyc3QgcHJvamVjdCBpbiBhIHdvcmtzcGFjZSBjb25maWd1cmF0aW9uXCIpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRGVjb2hlcmVDb21tYW5kIiwiV29ya3NwYWNlU2VydmVBY3Rpb24iLCJTZXJ2ZUNvbW1hbmQiLCJhY3Rpb25zIiwibmFtZSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxlQUFlLFFBQVEsc0JBQXNCO0FBQ3RELFNBQVNDLG9CQUFvQixRQUFRLDhCQUE4QjtBQUVuRSxPQUFPLE1BQU1DLHFCQUFxQkY7SUFDakMsSUFBb0JHLFVBQVU7UUFDN0IsT0FBTztZQUFDRjtTQUFxQjtJQUM5QjtJQUVBLFlBQW1CRyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO0lBQ2xCO0FBQ0QifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBQcm9qZWN0T3B0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IFNlcnZlQWN0aW9uIH0gZnJvbSBcIi4vc2VydmUuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZXJ2ZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtTZXJ2ZUFjdGlvbl07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIlNlcnZlIGEgcHJvamVjdCBpbiBhIHdvcmtzcGFjZSBjb25maWd1cmF0aW9uXCIpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBDb25maWd1cmF0aW9uT3B0aW9uKFwiZGVidWdcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBQcm9qZWN0T3B0aW9uKCkpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQ29uZmlndXJhdGlvbk9wdGlvbiIsIkRlY29oZXJlQ29tbWFuZCIsIlByb2plY3RPcHRpb24iLCJTZXJ2ZUFjdGlvbiIsIlNlcnZlQ29tbWFuZCIsImFjdGlvbnMiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJhZGRPcHRpb24iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG1CQUFtQixFQUFFQyxlQUFlLEVBQUVDLGFBQWEsUUFBUSxzQkFBc0I7QUFDMUYsU0FBU0MsV0FBVyxRQUFRLG9CQUFvQjtBQUVoRCxPQUFPLE1BQU1DLHFCQUFxQkg7SUFDakMsSUFBb0JJLFVBQVU7UUFDN0IsT0FBTztZQUFDRjtTQUFZO0lBQ3JCO0lBRUEsWUFBbUJHLElBQVksQ0FBRTtRQUNoQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxTQUFTLENBQUMsSUFBSVIsb0JBQW9CO1FBQ3ZDLElBQUksQ0FBQ1EsU0FBUyxDQUFDLElBQUlOO0lBQ3BCO0FBQ0QifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decohere/flux",
3
- "version": "0.0.1-dev.6",
3
+ "version": "0.0.1-dev.61",
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.6",
36
- "@decohere/mesh": "0.0.1-dev.6",
37
- "@decohere/nexus": "0.0.1-dev.6",
38
- "@decohere/scribe": "0.0.1-dev.6"
28
+ "@decohere/crucible": "0.0.1-dev.61",
29
+ "@decohere/forge": "0.0.1-dev.61",
30
+ "@decohere/mesh": "0.0.1-dev.61",
31
+ "@decohere/nexus": "0.0.1-dev.61",
32
+ "@decohere/scribe": "0.0.1-dev.61",
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 EmberCommand extends DecohereCommand {
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,65 @@
1
1
  import { EventEmitter } from "node:events";
2
- import type { Logger } from "@decohere/scribe";
2
+ import type { Workspace } from "@decohere/mesh";
3
3
  export interface HotReloadServerEvents {
4
+ start: [];
4
5
  reboot: [];
5
6
  }
7
+ export interface HotReloadServerOptions {
8
+ /** Build configuration name. */
9
+ buildConfig: string;
10
+ /** Name of the project to serve. Defaults to the first project in the workspace. */
11
+ project?: string;
12
+ /**
13
+ * Pre-built Workspace instance to use instead of running WorkspaceFactory.
14
+ * Useful in tests to bypass filesystem-based workspace discovery.
15
+ */
16
+ workspace?: Workspace;
17
+ }
6
18
  export declare class HotReloadServer extends EventEmitter<HotReloadServerEvents> {
7
19
  private readonly logger;
8
20
  private disposed;
9
- private entryModule;
10
- private entry;
11
- private sourceFiles;
21
+ private hooksRegistered;
22
+ private entryModulePath;
23
+ private entryModule?;
24
+ private workspace?;
25
+ private buildConfig;
26
+ private watchSubscription?;
27
+ /** Map from absolute .ts source file path to project info */
28
+ private fileInfoMap;
12
29
  private moduleCache;
13
30
  private dependencies;
14
- private watchers;
15
- constructor(logger: Logger);
16
- start(entry: string, ...watchDirs: string[]): Promise<void>;
31
+ private transpileCache;
32
+ private transpiler;
33
+ start(options: HotReloadServerOptions): Promise<void>;
17
34
  dispose(): Promise<void>;
18
- private removeSourceFiles;
19
- private getSourceFiles;
20
- private configureModuleHooks;
21
- private onResolve;
22
- private isSourceModule;
35
+ [Symbol.asyncDispose](): Promise<void>;
36
+ private bootEntry;
37
+ private reboot;
38
+ private disposeEntry;
39
+ private scheduleReboot;
40
+ private resolveWorkspace;
41
+ private resolveProject;
42
+ private buildFileInfoMap;
43
+ private registerHooks;
44
+ /**
45
+ * Pre-next specifier rewriter: if specifier is a .js import that maps to a
46
+ * known .ts source file, returns the versioned .ts file URL so next() never
47
+ * tries to load a non-existent .js file from disk.
48
+ */
49
+ private rewriteJsToTs;
50
+ /**
51
+ * Post-next dependency tracker: records which source files import which
52
+ * other source files so that reloadIfAffected can traverse the graph.
53
+ */
54
+ private onPostResolve;
55
+ private loadTs;
56
+ private onFileChange;
57
+ private reloadIfAffected;
23
58
  private getDependencyGraph;
24
59
  private trackDependency;
25
60
  private getCachedOrNew;
26
61
  private versionModule;
27
- private watch;
28
- private onFileAdded;
29
- private onSourceFileChanged;
30
- private onFileDeleted;
31
- private reloadIfAffected;
32
- private isSelf;
33
- private invlidateModule;
62
+ private invalidateModule;
34
63
  private invalidateAllSourceFiles;
35
- private disposeAndBoot;
36
- private disposeEntry;
37
- private bootEntry;
64
+ private isSelf;
38
65
  }
@@ -1,9 +1,4 @@
1
- export { EmberCommand } from "./ember.command.js";
2
- export type { EmberModuleContext, EmberModuleResult } from "./ember.module.js";
3
- export { EmberActions, EmberModule } from "./ember.module.js";
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 { 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";
@@ -1,8 +1,13 @@
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
- entry: string;
4
- watchDir: string;
5
+ configuration: string;
6
+ project?: string;
5
7
  };
6
8
  export declare class ServeAction implements Action<ServeOptions> {
9
+ private readonly server;
10
+ private readonly workspace;
11
+ constructor(server: HotReloadServer, workspace: Workspace);
7
12
  run(options: ServeOptions): Promise<ActionResponse>;
8
13
  }
@@ -1,6 +1,6 @@
1
1
  import { DecohereCommand } from "@decohere/nexus/cli";
2
- import { WorkspaceServeAction } from "./workspace-serve.action.js";
2
+ import { ServeAction } from "./serve.action.js";
3
3
  export declare class ServeCommand extends DecohereCommand {
4
- get actions(): (typeof WorkspaceServeAction)[];
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==
@@ -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==
@@ -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=
@@ -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==
@@ -1,26 +0,0 @@
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=
package/es6/src/serve.js DELETED
@@ -1,32 +0,0 @@
1
- import { parseArgs } from "node:util";
2
- import { scribe } from "@decohere/scribe";
3
- import { HotReloadServer } from "./hot-reload-server.js";
4
- const { values } = parseArgs({
5
- args: process.argv.slice(2),
6
- options: {
7
- entry: {
8
- type: "string",
9
- short: "e"
10
- },
11
- watchDir: {
12
- type: "string",
13
- multiple: true,
14
- short: "w"
15
- }
16
- },
17
- allowPositionals: false
18
- });
19
- const entry = values.entry;
20
- const watchDirs = values.watchDir ?? [];
21
- if (!entry) {
22
- console.error("Usage: forge-hmr --entry <path> --watchDir <dir> [--watchDir <dir>...]");
23
- process.exit(1);
24
- }
25
- if (watchDirs.length === 0) {
26
- console.error("Usage: forge-hmr --entry <path> --watchDir <dir> [--watchDir <dir>...]");
27
- process.exit(1);
28
- }
29
- const hmr = new HotReloadServer(scribe.logger("HotReloadServer"));
30
- await hmr.start(entry, ...watchDirs);
31
-
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlQXJncyB9IGZyb20gXCJub2RlOnV0aWxcIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgeyBIb3RSZWxvYWRTZXJ2ZXIgfSBmcm9tIFwiLi9ob3QtcmVsb2FkLXNlcnZlci5qc1wiO1xuXG5jb25zdCB7IHZhbHVlcyB9ID0gcGFyc2VBcmdzKHtcblx0YXJnczogcHJvY2Vzcy5hcmd2LnNsaWNlKDIpLFxuXHRvcHRpb25zOiB7XG5cdFx0ZW50cnk6IHsgdHlwZTogXCJzdHJpbmdcIiwgc2hvcnQ6IFwiZVwiIH0sXG5cdFx0d2F0Y2hEaXI6IHsgdHlwZTogXCJzdHJpbmdcIiwgbXVsdGlwbGU6IHRydWUsIHNob3J0OiBcIndcIiB9LFxuXHR9LFxuXHRhbGxvd1Bvc2l0aW9uYWxzOiBmYWxzZSxcbn0pO1xuXG5jb25zdCBlbnRyeSA9IHZhbHVlcy5lbnRyeTtcbmNvbnN0IHdhdGNoRGlycyA9IHZhbHVlcy53YXRjaERpciA/PyBbXTtcblxuaWYgKCFlbnRyeSkge1xuXHRjb25zb2xlLmVycm9yKFwiVXNhZ2U6IGZvcmdlLWhtciAtLWVudHJ5IDxwYXRoPiAtLXdhdGNoRGlyIDxkaXI+IFstLXdhdGNoRGlyIDxkaXI+Li4uXVwiKTtcblx0cHJvY2Vzcy5leGl0KDEpO1xufVxuXG5pZiAod2F0Y2hEaXJzLmxlbmd0aCA9PT0gMCkge1xuXHRjb25zb2xlLmVycm9yKFwiVXNhZ2U6IGZvcmdlLWhtciAtLWVudHJ5IDxwYXRoPiAtLXdhdGNoRGlyIDxkaXI+IFstLXdhdGNoRGlyIDxkaXI+Li4uXVwiKTtcblx0cHJvY2Vzcy5leGl0KDEpO1xufVxuXG5jb25zdCBobXIgPSBuZXcgSG90UmVsb2FkU2VydmVyKHNjcmliZS5sb2dnZXIoXCJIb3RSZWxvYWRTZXJ2ZXJcIikpO1xuYXdhaXQgaG1yLnN0YXJ0KGVudHJ5LCAuLi53YXRjaERpcnMpO1xuIl0sIm5hbWVzIjpbInBhcnNlQXJncyIsInNjcmliZSIsIkhvdFJlbG9hZFNlcnZlciIsInZhbHVlcyIsImFyZ3MiLCJwcm9jZXNzIiwiYXJndiIsInNsaWNlIiwib3B0aW9ucyIsImVudHJ5IiwidHlwZSIsInNob3J0Iiwid2F0Y2hEaXIiLCJtdWx0aXBsZSIsImFsbG93UG9zaXRpb25hbHMiLCJ3YXRjaERpcnMiLCJjb25zb2xlIiwiZXJyb3IiLCJleGl0IiwibGVuZ3RoIiwiaG1yIiwibG9nZ2VyIiwic3RhcnQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBUSxZQUFZO0FBQ3RDLFNBQVNDLE1BQU0sUUFBUSxtQkFBbUI7QUFDMUMsU0FBU0MsZUFBZSxRQUFRLHlCQUF5QjtBQUV6RCxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHSCxVQUFVO0lBQzVCSSxNQUFNQyxRQUFRQyxJQUFJLENBQUNDLEtBQUssQ0FBQztJQUN6QkMsU0FBUztRQUNSQyxPQUFPO1lBQUVDLE1BQU07WUFBVUMsT0FBTztRQUFJO1FBQ3BDQyxVQUFVO1lBQUVGLE1BQU07WUFBVUcsVUFBVTtZQUFNRixPQUFPO1FBQUk7SUFDeEQ7SUFDQUcsa0JBQWtCO0FBQ25CO0FBRUEsTUFBTUwsUUFBUU4sT0FBT00sS0FBSztBQUMxQixNQUFNTSxZQUFZWixPQUFPUyxRQUFRLElBQUksRUFBRTtBQUV2QyxJQUFJLENBQUNILE9BQU87SUFDWE8sUUFBUUMsS0FBSyxDQUFDO0lBQ2RaLFFBQVFhLElBQUksQ0FBQztBQUNkO0FBRUEsSUFBSUgsVUFBVUksTUFBTSxLQUFLLEdBQUc7SUFDM0JILFFBQVFDLEtBQUssQ0FBQztJQUNkWixRQUFRYSxJQUFJLENBQUM7QUFDZDtBQUVBLE1BQU1FLE1BQU0sSUFBSWxCLGdCQUFnQkQsT0FBT29CLE1BQU0sQ0FBQztBQUM5QyxNQUFNRCxJQUFJRSxLQUFLLENBQUNiLFVBQVVNIn0=
@@ -1,45 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- function _ts_metadata(k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- }
10
- import path from "node:path";
11
- import { injectable } from "@decohere/crucible/decorators";
12
- // biome-ignore lint/style/useImportType: <DI>
13
- import { Workspace } from "@decohere/mesh";
14
- import { ActionResponse } from "@decohere/nexus/cli";
15
- import { ServeAction } from "./serve.action.js";
16
- export class WorkspaceServeAction {
17
- workspace;
18
- constructor(workspace){
19
- this.workspace = workspace;
20
- }
21
- async run(options) {
22
- const { configuration } = options;
23
- const projects = this.workspace.getProjects(configuration);
24
- const project = projects.at(0);
25
- if (project == null) {
26
- return ActionResponse.Error(WorkspaceServeAction.name, `No projects found for configuration: ${configuration}`);
27
- }
28
- const outDir = project.getOutDir();
29
- const entry = path.join(outDir, "src", "index.js");
30
- const serveAction = new ServeAction();
31
- return serveAction.run({
32
- entry,
33
- watchDir: outDir
34
- });
35
- }
36
- }
37
- WorkspaceServeAction = _ts_decorate([
38
- injectable(),
39
- _ts_metadata("design:type", Function),
40
- _ts_metadata("design:paramtypes", [
41
- typeof Workspace === "undefined" ? Object : Workspace
42
- ])
43
- ], WorkspaceServeAction);
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZsdXgvc3JjL3dvcmtzcGFjZS1zZXJ2ZS5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBTZXJ2ZUFjdGlvbiB9IGZyb20gXCIuL3NlcnZlLmFjdGlvbi5qc1wiO1xuXG5leHBvcnQgdHlwZSBXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTZXJ2ZUFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbjxXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnM+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIGFzeW5jIHJ1bihvcHRpb25zOiBXb3Jrc3BhY2VTZXJ2ZU9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uIH0gPSBvcHRpb25zO1xuXHRcdGNvbnN0IHByb2plY3RzID0gdGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMoY29uZmlndXJhdGlvbik7XG5cdFx0Y29uc3QgcHJvamVjdCA9IHByb2plY3RzLmF0KDApO1xuXG5cdFx0aWYgKHByb2plY3QgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLkVycm9yKFxuXHRcdFx0XHRXb3Jrc3BhY2VTZXJ2ZUFjdGlvbi5uYW1lLFxuXHRcdFx0XHRgTm8gcHJvamVjdHMgZm91bmQgZm9yIGNvbmZpZ3VyYXRpb246ICR7Y29uZmlndXJhdGlvbn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRjb25zdCBvdXREaXIgPSBwcm9qZWN0LmdldE91dERpcigpO1xuXHRcdGNvbnN0IGVudHJ5ID0gcGF0aC5qb2luKG91dERpciwgXCJzcmNcIiwgXCJpbmRleC5qc1wiKTtcblx0XHRjb25zdCBzZXJ2ZUFjdGlvbiA9IG5ldyBTZXJ2ZUFjdGlvbigpO1xuXHRcdHJldHVybiBzZXJ2ZUFjdGlvbi5ydW4oeyBlbnRyeSwgd2F0Y2hEaXI6IG91dERpciB9KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbInBhdGgiLCJpbmplY3RhYmxlIiwiV29ya3NwYWNlIiwiQWN0aW9uUmVzcG9uc2UiLCJTZXJ2ZUFjdGlvbiIsIldvcmtzcGFjZVNlcnZlQWN0aW9uIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsImNvbmZpZ3VyYXRpb24iLCJwcm9qZWN0cyIsImdldFByb2plY3RzIiwicHJvamVjdCIsImF0IiwiRXJyb3IiLCJuYW1lIiwib3V0RGlyIiwiZ2V0T3V0RGlyIiwiZW50cnkiLCJqb2luIiwic2VydmVBY3Rpb24iLCJ3YXRjaERpciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBQzdCLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDM0QsOENBQThDO0FBQzlDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFFM0MsU0FBU0MsY0FBYyxRQUFRLHNCQUFzQjtBQUNyRCxTQUFTQyxXQUFXLFFBQVEsb0JBQW9CO0FBT2hELE9BQU8sTUFBTUM7O0lBQ1osWUFBbUIsQUFBaUJDLFNBQW9CLENBQUU7YUFBdEJBLFlBQUFBO0lBQXVCO0lBRTNELE1BQWFDLElBQUlDLE9BQThCLEVBQTJCO1FBQ3pFLE1BQU0sRUFBRUMsYUFBYSxFQUFFLEdBQUdEO1FBQzFCLE1BQU1FLFdBQVcsSUFBSSxDQUFDSixTQUFTLENBQUNLLFdBQVcsQ0FBQ0Y7UUFDNUMsTUFBTUcsVUFBVUYsU0FBU0csRUFBRSxDQUFDO1FBRTVCLElBQUlELFdBQVcsTUFBTTtZQUNwQixPQUFPVCxlQUFlVyxLQUFLLENBQzFCVCxxQkFBcUJVLElBQUksRUFDekIsQ0FBQyxxQ0FBcUMsRUFBRU4sZUFBZTtRQUV6RDtRQUVBLE1BQU1PLFNBQVNKLFFBQVFLLFNBQVM7UUFDaEMsTUFBTUMsUUFBUWxCLEtBQUttQixJQUFJLENBQUNILFFBQVEsT0FBTztRQUN2QyxNQUFNSSxjQUFjLElBQUloQjtRQUN4QixPQUFPZ0IsWUFBWWIsR0FBRyxDQUFDO1lBQUVXO1lBQU9HLFVBQVVMO1FBQU87SUFDbEQ7QUFDRCJ9
@@ -1,22 +0,0 @@
1
- import type { Workspace } from "@decohere/mesh";
2
- import type { WorkspaceFactoryOptions } from "@decohere/nexus/cli";
3
- import { ModuleManifest } from "@decohere/nexus/cli";
4
- import type { ContainerBuilder } from "@decohere/nexus/composition";
5
- import { EmberCommand } from "./ember.command.js";
6
- import { WorkspaceServeAction } from "./workspace-serve.action.js";
7
- export type EmberModuleContext = {
8
- builder: ContainerBuilder;
9
- workspace: Workspace;
10
- };
11
- export type EmberModuleResult = {
12
- actions: typeof EmberActions;
13
- };
14
- export declare const EmberActions: {};
15
- export declare class EmberModule extends ModuleManifest {
16
- readonly id = "ember";
17
- readonly command: typeof EmberCommand;
18
- readonly actions: {
19
- serve: typeof WorkspaceServeAction;
20
- };
21
- createWorkspace(options: WorkspaceFactoryOptions): any;
22
- }
@@ -1,5 +0,0 @@
1
- import type { ResolveFnOutput } from "node:module";
2
- export type ResolveHandler = (result: ResolveFnOutput, parentUrl: string) => void;
3
- export declare function initModuleHooks(): void;
4
- export declare function addResolverHook(fn: ResolveHandler): void;
5
- export declare function removeResolverHook(fn: ResolveHandler): void;