@decohere/forge 0.0.1-dev.19 → 0.0.1-dev.20261105.46
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/LICENSE +15 -0
- package/README.md +152 -0
- package/commonjs/src/actions/build.action.js +4 -6
- package/commonjs/src/actions/clean.action.js +4 -6
- package/commonjs/src/actions/commit.action.js +4 -6
- package/commonjs/src/actions/copy.action.js +62 -12
- package/commonjs/src/actions/dependency-report.action.js +8 -6
- package/commonjs/src/actions/dependency-sync.action.js +9 -5
- package/commonjs/src/actions/docker.action.js +209 -0
- package/commonjs/src/actions/index.js +4 -2
- package/commonjs/src/actions/link.action.js +3 -5
- package/commonjs/src/actions/package.action.js +234 -0
- package/commonjs/src/actions/paths.action.js +120 -0
- package/commonjs/src/actions/publish.action.js +4 -6
- package/commonjs/src/actions/sync-lock-file.action.js +2 -4
- package/commonjs/src/actions/tag.action.js +6 -9
- package/commonjs/src/actions/typecheck.action.js +67 -0
- package/commonjs/src/actions/unlink.action.js +1 -3
- package/commonjs/src/actions/version.action.js +74 -21
- package/commonjs/src/actions/watch.action.js +3 -5
- package/commonjs/src/commands/build.command.js +4 -3
- package/commonjs/src/commands/dependency.command.js +1 -3
- package/commonjs/src/commands/docker.command.js +26 -0
- package/commonjs/src/commands/forge.command.js +1 -3
- package/commonjs/src/commands/index.js +4 -2
- package/commonjs/src/commands/link.command.js +4 -3
- package/commonjs/src/commands/package.command.js +36 -0
- package/commonjs/src/commands/paths.command.js +24 -0
- package/commonjs/src/commands/publish.command.js +1 -3
- package/commonjs/src/commands/tag.command.js +1 -3
- package/commonjs/src/commands/typecheck.command.js +24 -0
- package/commonjs/src/commands/version.command.js +3 -3
- package/commonjs/src/const.js +0 -2
- package/commonjs/src/create-workspace.js +38 -0
- package/commonjs/src/errors.js +2 -4
- package/commonjs/src/extensions/project.extensions.js +11 -13
- package/commonjs/src/factories/swc-config.factory.js +29 -9
- package/commonjs/src/forge.module.js +17 -20
- package/commonjs/src/index.js +8 -2
- package/commonjs/src/packaging/dependency-pinner.service.js +118 -0
- package/commonjs/src/packaging/deployable.js +44 -0
- package/commonjs/src/packaging/import-graph.service.js +137 -0
- package/commonjs/src/packaging/release-exports.js +90 -0
- package/commonjs/src/packaging/ui-assets.js +75 -0
- package/commonjs/src/semver/index.js +18 -0
- package/commonjs/src/semver/semver.js +96 -0
- package/commonjs/src/services/dependency-resolver.service.js +70 -26
- package/commonjs/src/services/file-writer.service.js +2 -11
- package/commonjs/src/services/incremental-watch.js +24 -0
- package/commonjs/src/services/output-cache.js +39 -0
- package/commonjs/src/services/swc-transpiler.js +85 -99
- package/commonjs/src/services/transpile-cache.js +44 -0
- package/commonjs/src/services/ts-compiler-options.js +50 -0
- package/commonjs/src/services/ts-program-host.js +4 -6
- package/commonjs/src/services/type-emission-program.js +25 -10
- package/commonjs/src/services/type-emitter.js +60 -20
- package/commonjs/src/transpile/index.js +30 -0
- package/commonjs/src/types/build-target.type.js +0 -2
- package/commonjs/src/types/configuration.type.js +0 -2
- package/commonjs/src/types/dependency.types.js +0 -2
- package/commonjs/src/types/swc-config.type.js +0 -2
- package/commonjs/src/types/transform-response.model.js +3 -18
- package/commonjs/src/types/transformer.type.js +0 -2
- package/commonjs/src/types/workspace-config.type.js +0 -2
- package/commonjs/src/vitest/forge-build.plugin.js +28 -44
- package/commonjs/src/vitest/index.js +0 -2
- package/commonjs/src/workspace.config.js +27 -6
- package/es6/src/actions/build.action.js +3 -7
- package/es6/src/actions/clean.action.js +3 -6
- package/es6/src/actions/commit.action.js +3 -6
- package/es6/src/actions/copy.action.js +61 -12
- package/es6/src/actions/dependency-report.action.js +7 -7
- package/es6/src/actions/dependency-sync.action.js +8 -6
- package/es6/src/actions/docker.action.js +194 -0
- package/es6/src/actions/index.js +4 -2
- package/es6/src/actions/link.action.js +2 -5
- package/es6/src/actions/package.action.js +219 -0
- package/es6/src/actions/paths.action.js +97 -0
- package/es6/src/actions/publish.action.js +3 -6
- package/es6/src/actions/sync-lock-file.action.js +2 -4
- package/es6/src/actions/tag.action.js +5 -9
- package/es6/src/actions/typecheck.action.js +52 -0
- package/es6/src/actions/unlink.action.js +1 -3
- package/es6/src/actions/version.action.js +69 -17
- package/es6/src/actions/watch.action.js +2 -5
- package/es6/src/commands/build.command.js +4 -3
- package/es6/src/commands/dependency.command.js +1 -3
- package/es6/src/commands/docker.command.js +16 -0
- package/es6/src/commands/forge.command.js +1 -3
- package/es6/src/commands/index.js +4 -2
- package/es6/src/commands/link.command.js +4 -3
- package/es6/src/commands/package.command.js +26 -0
- package/es6/src/commands/paths.command.js +14 -0
- package/es6/src/commands/publish.command.js +1 -3
- package/es6/src/commands/tag.command.js +1 -3
- package/es6/src/commands/typecheck.command.js +14 -0
- package/es6/src/commands/version.command.js +3 -3
- package/es6/src/const.js +0 -2
- package/es6/src/create-workspace.js +26 -0
- package/es6/src/errors.js +1 -3
- package/es6/src/extensions/project.extensions.js +5 -7
- package/es6/src/factories/swc-config.factory.js +29 -9
- package/es6/src/forge.module.js +17 -20
- package/es6/src/index.js +2 -2
- package/es6/src/packaging/dependency-pinner.service.js +103 -0
- package/es6/src/packaging/deployable.js +21 -0
- package/es6/src/packaging/import-graph.service.js +122 -0
- package/es6/src/packaging/release-exports.js +80 -0
- package/es6/src/packaging/ui-assets.js +49 -0
- package/es6/src/semver/index.js +1 -0
- package/es6/src/semver/semver.js +75 -0
- package/es6/src/services/dependency-resolver.service.js +70 -26
- package/es6/src/services/file-writer.service.js +2 -11
- package/es6/src/services/incremental-watch.js +18 -0
- package/es6/src/services/output-cache.js +29 -0
- package/es6/src/services/swc-transpiler.js +85 -99
- package/es6/src/services/transpile-cache.js +29 -0
- package/es6/src/services/ts-compiler-options.js +39 -0
- package/es6/src/services/ts-program-host.js +4 -6
- package/es6/src/services/type-emission-program.js +25 -10
- package/es6/src/services/type-emitter.js +57 -20
- package/es6/src/transpile/index.js +6 -0
- package/es6/src/types/build-target.type.js +0 -2
- package/es6/src/types/configuration.type.js +0 -2
- package/es6/src/types/dependency.types.js +0 -2
- package/es6/src/types/swc-config.type.js +0 -2
- package/es6/src/types/transform-response.model.js +0 -7
- package/es6/src/types/transformer.type.js +0 -2
- package/es6/src/types/workspace-config.type.js +0 -2
- package/es6/src/vitest/forge-build.plugin.js +27 -43
- package/es6/src/vitest/index.js +0 -2
- package/es6/src/workspace.config.js +26 -5
- package/package.json +20 -6
- package/types/src/actions/build.action.d.ts +4 -4
- package/types/src/actions/clean.action.d.ts +3 -3
- package/types/src/actions/commit.action.d.ts +3 -3
- package/types/src/actions/copy.action.d.ts +18 -3
- package/types/src/actions/dependency-report.action.d.ts +3 -3
- package/types/src/actions/dependency-sync.action.d.ts +3 -3
- package/types/src/actions/docker.action.d.ts +38 -0
- package/types/src/actions/index.d.ts +4 -0
- package/types/src/actions/link.action.d.ts +3 -3
- package/types/src/actions/package.action.d.ts +38 -0
- package/types/src/actions/paths.action.d.ts +28 -0
- package/types/src/actions/publish.action.d.ts +4 -4
- package/types/src/actions/sync-lock-file.action.d.ts +2 -2
- package/types/src/actions/tag.action.d.ts +3 -3
- package/types/src/actions/typecheck.action.d.ts +14 -0
- package/types/src/actions/unlink.action.d.ts +2 -2
- package/types/src/actions/version.action.d.ts +14 -4
- package/types/src/actions/watch.action.d.ts +3 -3
- package/types/src/commands/build.command.d.ts +3 -2
- package/types/src/commands/dependency.command.d.ts +2 -2
- package/types/src/commands/docker.command.d.ts +6 -0
- package/types/src/commands/forge.command.d.ts +2 -2
- package/types/src/commands/index.d.ts +4 -0
- package/types/src/commands/link.command.d.ts +3 -2
- package/types/src/commands/package.command.d.ts +11 -0
- package/types/src/commands/paths.command.d.ts +6 -0
- package/types/src/commands/publish.command.d.ts +1 -1
- package/types/src/commands/tag.command.d.ts +1 -1
- package/types/src/commands/typecheck.command.d.ts +6 -0
- package/types/src/commands/version.command.d.ts +1 -1
- package/types/src/create-workspace.d.ts +7 -0
- package/types/src/errors.d.ts +1 -1
- package/types/src/extensions/project.extensions.d.ts +2 -2
- package/types/src/factories/swc-config.factory.d.ts +3 -2
- package/types/src/forge.module.d.ts +12 -4
- package/types/src/index.d.ts +2 -0
- package/types/src/packaging/dependency-pinner.service.d.ts +20 -0
- package/types/src/packaging/deployable.d.ts +17 -0
- package/types/src/packaging/import-graph.service.d.ts +33 -0
- package/types/src/packaging/release-exports.d.ts +18 -0
- package/types/src/packaging/ui-assets.d.ts +21 -0
- package/types/src/semver/index.d.ts +1 -0
- package/types/src/semver/semver.d.ts +20 -0
- package/types/src/services/dependency-resolver.service.d.ts +8 -1
- package/types/src/services/file-writer.service.d.ts +1 -2
- package/types/src/services/incremental-watch.d.ts +13 -0
- package/types/src/services/output-cache.d.ts +10 -0
- package/types/src/services/swc-transpiler.d.ts +28 -15
- package/types/src/services/transpile-cache.d.ts +17 -0
- package/types/src/services/ts-compiler-options.d.ts +8 -0
- package/types/src/services/ts-program-host.d.ts +2 -2
- package/types/src/services/type-emission-program.d.ts +10 -3
- package/types/src/services/type-emitter.d.ts +21 -8
- package/types/src/transpile/index.d.ts +6 -0
- package/types/src/types/configuration.type.d.ts +6 -1
- package/types/src/types/dependency.types.d.ts +8 -9
- package/types/src/types/swc-config.type.d.ts +7 -1
- package/types/src/types/transform-response.model.d.ts +2 -7
- package/types/src/types/transformer.type.d.ts +3 -12
- package/types/src/types/workspace-config.type.d.ts +3 -3
- package/types/src/vitest/forge-build.plugin.d.ts +0 -2
- package/commonjs/src/mixins/caches-outputs.mixin.js +0 -44
- package/commonjs/src/mixins/incremental-transform.mixin.js +0 -36
- package/es6/src/mixins/caches-outputs.mixin.js +0 -34
- package/es6/src/mixins/incremental-transform.mixin.js +0 -26
- package/types/src/mixins/caches-outputs.mixin.d.ts +0 -7
- package/types/src/mixins/incremental-transform.mixin.d.ts +0 -13
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "PackageCommand", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return PackageCommand;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
|
+
const _packageaction = require("../actions/package.action.js");
|
|
13
|
+
class PackageCommand extends _cli.DecohereCommand {
|
|
14
|
+
get actions() {
|
|
15
|
+
return [
|
|
16
|
+
_packageaction.PackageDeployable
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
constructor(name){
|
|
20
|
+
super(name);
|
|
21
|
+
this.description("Package a deployable (a project with a Dockerfile) with the workspace libraries it imports");
|
|
22
|
+
this.argument("[project]", "Package name of the deployable; omit to package every project with a Dockerfile");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Commander passes the positional before the options; the CLI host reads only options,
|
|
26
|
+
* so the project name is stashed on them.
|
|
27
|
+
*/ action(fn) {
|
|
28
|
+
return super.action((...args)=>{
|
|
29
|
+
const cmd = args.at(-1);
|
|
30
|
+
const opts = args.at(-2);
|
|
31
|
+
const project = typeof args[0] === "string" ? args[0] : undefined;
|
|
32
|
+
cmd.setOptionValue("project", project);
|
|
33
|
+
return fn(opts, cmd);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "PathsCommand", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return PathsCommand;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
|
+
const _pathsaction = require("../actions/paths.action.js");
|
|
13
|
+
class PathsCommand extends _cli.DecohereCommand {
|
|
14
|
+
get actions() {
|
|
15
|
+
return [
|
|
16
|
+
_pathsaction.Paths
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
constructor(name){
|
|
20
|
+
super(name);
|
|
21
|
+
this.description("Write tsconfig.paths.json: tsconfig paths for the workspace packages and their exported subpaths");
|
|
22
|
+
this.option("--check", "Fail if tsconfig.paths.json is missing or out of date", false);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "PublishCommand", {
|
|
|
8
8
|
return PublishCommand;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _cli = require("@decohere/
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
12
|
const _publishaction = require("../actions/publish.action.js");
|
|
13
13
|
class PublishCommand extends _cli.DecohereCommand {
|
|
14
14
|
get actions() {
|
|
@@ -28,5 +28,3 @@ class PublishCommand extends _cli.DecohereCommand {
|
|
|
28
28
|
this.option("--prompt-otp", "Prompt interactively for npm OTP only (use when already logged in)", false);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy9wdWJsaXNoLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBEcnlSdW5PcHRpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgUHVibGlzaCB9IGZyb20gXCIuLi9hY3Rpb25zL3B1Ymxpc2guYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBQdWJsaXNoQ29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1B1Ymxpc2hdO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJQdWJsaXNoIHdvcmtzcGFjZSBwYWNrYWdlc1wiKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgQ29uZmlndXJhdGlvbk9wdGlvbihcInJlbGVhc2VcIikpO1xuXHRcdHRoaXMuYWRkT3B0aW9uKG5ldyBEcnlSdW5PcHRpb24oXCJSdW4gbnBtIHB1Ymxpc2ggdXNpbmcgZHJ5LXJ1biBmbGFnXCIpKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tY2hhbm5lbCA8Y2hhbm5lbD5cIiwgXCJUaGUgcmVsZWFzZSBjaGFubmVsXCIsIFwiYmV0YVwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tdG9rZW4gPHRva2VuPlwiLCBcIm5wbSBhY2Nlc3MgdG9rZW4gKHVzZWQgb25seSBmb3IgdGhpcyBjb21tYW5kKVwiKTtcblx0XHR0aGlzLm9wdGlvbihcIi0tb3RwIDxvdHA+XCIsIFwibnBtIG9uZS10aW1lIHBhc3N3b3JkIGZvciAyRkEtcHJvdGVjdGVkIHB1Ymxpc2hcIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLXByb21wdC1hdXRoXCIsIFwiUHJvbXB0IGludGVyYWN0aXZlbHkgZm9yIG5wbSB0b2tlbiBhbmQgT1RQXCIsIGZhbHNlKTtcblx0XHR0aGlzLm9wdGlvbihcblx0XHRcdFwiLS1wcm9tcHQtb3RwXCIsXG5cdFx0XHRcIlByb21wdCBpbnRlcmFjdGl2ZWx5IGZvciBucG0gT1RQIG9ubHkgKHVzZSB3aGVuIGFscmVhZHkgbG9nZ2VkIGluKVwiLFxuXHRcdFx0ZmFsc2UsXG5cdFx0KTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIlB1Ymxpc2hDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIlB1Ymxpc2giLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJhZGRPcHRpb24iLCJDb25maWd1cmF0aW9uT3B0aW9uIiwiRHJ5UnVuT3B0aW9uIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdhQTs7O2VBQUFBOzs7cUJBSHNEOytCQUMzQztBQUVqQixNQUFNQSx1QkFBdUJDLG9CQUFlO0lBQ2xELElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0Msc0JBQU87U0FBQztJQUNqQjtJQUVBLFlBQW1CQyxJQUFZLENBQUU7UUFDaEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0MsV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsU0FBUyxDQUFDLElBQUlDLHdCQUFtQixDQUFDO1FBQ3ZDLElBQUksQ0FBQ0QsU0FBUyxDQUFDLElBQUlFLGlCQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDQyxNQUFNLENBQUMsdUJBQXVCLHVCQUF1QjtRQUMxRCxJQUFJLENBQUNBLE1BQU0sQ0FBQyxtQkFBbUI7UUFDL0IsSUFBSSxDQUFDQSxNQUFNLENBQUMsZUFBZTtRQUMzQixJQUFJLENBQUNBLE1BQU0sQ0FBQyxpQkFBaUIsOENBQThDO1FBQzNFLElBQUksQ0FBQ0EsTUFBTSxDQUNWLGdCQUNBLHNFQUNBO0lBRUY7QUFDRCJ9
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "TagCommand", {
|
|
|
8
8
|
return TagCommand;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _cli = require("@decohere/
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
12
|
const _tagaction = require("../actions/tag.action.js");
|
|
13
13
|
class TagCommand extends _cli.DecohereCommand {
|
|
14
14
|
get actions() {
|
|
@@ -24,5 +24,3 @@ class TagCommand extends _cli.DecohereCommand {
|
|
|
24
24
|
this.addOption(new _cli.DryRunOption("Print the tag without creating it"));
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy90YWcuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNvaGVyZUNvbW1hbmQsIERyeVJ1bk9wdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUYWcgfSBmcm9tIFwiLi4vYWN0aW9ucy90YWcuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBUYWdDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbVGFnXTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQ3JlYXRlIGFuZCBvcHRpb25hbGx5IHB1c2ggYSBnaXQgdGFnIGZvciB0aGUgd29ya3NwYWNlIHZlcnNpb25cIik7XG5cdFx0dGhpcy5vcHRpb24oXCItLXByZWZpeCA8cHJlZml4PlwiLCBcIlRhZyBwcmVmaXhcIiwgXCJ2XCIpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1wdXNoXCIsIFwiUHVzaCB0aGUgdGFnIGFuZCBjdXJyZW50IGJyYW5jaCB0byBvcmlnaW4gYWZ0ZXIgdGFnZ2luZ1wiLCBmYWxzZSk7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IERyeVJ1bk9wdGlvbihcIlByaW50IHRoZSB0YWcgd2l0aG91dCBjcmVhdGluZyBpdFwiKSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUYWdDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiYWN0aW9ucyIsIlRhZyIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbiIsImFkZE9wdGlvbiIsIkRyeVJ1bk9wdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHYUE7OztlQUFBQTs7O3FCQUhpQzsyQkFDMUI7QUFFYixNQUFNQSxtQkFBbUJDLG9CQUFlO0lBQzlDLElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0MsY0FBRztTQUFDO0lBQ2I7SUFFQSxZQUFtQkMsSUFBWSxDQUFFO1FBQ2hDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLE1BQU0sQ0FBQyxxQkFBcUIsY0FBYztRQUMvQyxJQUFJLENBQUNBLE1BQU0sQ0FBQyxVQUFVLDJEQUEyRDtRQUNqRixJQUFJLENBQUNDLFNBQVMsQ0FBQyxJQUFJQyxpQkFBWSxDQUFDO0lBQ2pDO0FBQ0QifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TypeCheckCommand", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TypeCheckCommand;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
|
+
const _typecheckaction = require("../actions/typecheck.action.js");
|
|
13
|
+
class TypeCheckCommand extends _cli.DecohereCommand {
|
|
14
|
+
get actions() {
|
|
15
|
+
return [
|
|
16
|
+
_typecheckaction.TypeCheck
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
constructor(name){
|
|
20
|
+
super(name);
|
|
21
|
+
this.description("Type-check workspace projects without emitting files");
|
|
22
|
+
this.addOption(new _cli.ConfigurationOption("debug"));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "VersionCommand", {
|
|
|
8
8
|
return VersionCommand;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _cli = require("@decohere/
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
12
12
|
const _synclockfileaction = require("../actions/sync-lock-file.action.js");
|
|
13
13
|
const _versionaction = require("../actions/version.action.js");
|
|
14
14
|
class VersionCommand extends _cli.DecohereCommand {
|
|
@@ -26,11 +26,11 @@ class VersionCommand extends _cli.DecohereCommand {
|
|
|
26
26
|
this.option("--release-type <releaseType>", "The semver release type: major, minor, patch, prerelease", _versionaction.DefaultReleaseType);
|
|
27
27
|
this.option("--channel <channel>", "The release channel (preid for prereleases, dist-tag for publish)", _versionaction.DefaultChannel);
|
|
28
28
|
this.option("--version <version>", "Explicit base version to increment (overrides git tag discovery)");
|
|
29
|
+
this.option("--build-number <number>", "Set <base>-<channel>.<commit's UTC date>.<number>, with no git tags involved");
|
|
30
|
+
this.option("--from-build", "Copy the version from the built packages; fails if they don't all match", false);
|
|
29
31
|
this.option("--no-sync", "Skip lockfile sync after versioning", true);
|
|
30
32
|
this.option("--commit", "Commit versioned package.json files after bumping", false);
|
|
31
33
|
this.option("--message <message>", "Commit message (used with --commit)");
|
|
32
34
|
this.option("--from-changesets", "Read pending .changeset entries to determine the highest bump type (major > minor > patch)", false);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb21tYW5kcy92ZXJzaW9uLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbk9wdGlvbiwgRGVjb2hlcmVDb21tYW5kLCBEcnlSdW5PcHRpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgU3luY0xvY2tGaWxlIH0gZnJvbSBcIi4uL2FjdGlvbnMvc3luYy1sb2NrLWZpbGUuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2hhbm5lbCwgRGVmYXVsdFJlbGVhc2VUeXBlLCBWZXJzaW9uIH0gZnJvbSBcIi4uL2FjdGlvbnMvdmVyc2lvbi5hY3Rpb24uanNcIjtcblxudHlwZSBWZXJzaW9uQWN0aW9ucyA9IHsgdmVyc2lvbjogVmVyc2lvbjsgc3luY0xvY2tGaWxlOiBTeW5jTG9ja0ZpbGUgfTtcblxuZXhwb3J0IGNsYXNzIFZlcnNpb25Db21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kPFZlcnNpb25BY3Rpb25zPiB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW1ZlcnNpb24sIFN5bmNMb2NrRmlsZV07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcIkJ1bXAgd29ya3NwYWNlIHBhY2thZ2UgdmVyc2lvbnNcIik7XG5cdFx0dGhpcy5hZGRPcHRpb24obmV3IENvbmZpZ3VyYXRpb25PcHRpb24oXCJyZWxlYXNlXCIpKTtcblx0XHR0aGlzLmFkZE9wdGlvbihuZXcgRHJ5UnVuT3B0aW9uKFwiUnVuIG5wbSBwdWJsaXNoIHVzaW5nIGRyeS1ydW4gZmxhZ1wiKSk7XG5cdFx0dGhpcy5vcHRpb24oXG5cdFx0XHRcIi0tcmVsZWFzZS10eXBlIDxyZWxlYXNlVHlwZT5cIixcblx0XHRcdFwiVGhlIHNlbXZlciByZWxlYXNlIHR5cGU6IG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZXJlbGVhc2VcIixcblx0XHRcdERlZmF1bHRSZWxlYXNlVHlwZSxcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLWNoYW5uZWwgPGNoYW5uZWw+XCIsXG5cdFx0XHRcIlRoZSByZWxlYXNlIGNoYW5uZWwgKHByZWlkIGZvciBwcmVyZWxlYXNlcywgZGlzdC10YWcgZm9yIHB1Ymxpc2gpXCIsXG5cdFx0XHREZWZhdWx0Q2hhbm5lbCxcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLXZlcnNpb24gPHZlcnNpb24+XCIsXG5cdFx0XHRcIkV4cGxpY2l0IGJhc2UgdmVyc2lvbiB0byBpbmNyZW1lbnQgKG92ZXJyaWRlcyBnaXQgdGFnIGRpc2NvdmVyeSlcIixcblx0XHQpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1uby1zeW5jXCIsIFwiU2tpcCBsb2NrZmlsZSBzeW5jIGFmdGVyIHZlcnNpb25pbmdcIiwgdHJ1ZSk7XG5cdFx0dGhpcy5vcHRpb24oXCItLWNvbW1pdFwiLCBcIkNvbW1pdCB2ZXJzaW9uZWQgcGFja2FnZS5qc29uIGZpbGVzIGFmdGVyIGJ1bXBpbmdcIiwgZmFsc2UpO1xuXHRcdHRoaXMub3B0aW9uKFwiLS1tZXNzYWdlIDxtZXNzYWdlPlwiLCBcIkNvbW1pdCBtZXNzYWdlICh1c2VkIHdpdGggLS1jb21taXQpXCIpO1xuXHRcdHRoaXMub3B0aW9uKFxuXHRcdFx0XCItLWZyb20tY2hhbmdlc2V0c1wiLFxuXHRcdFx0XCJSZWFkIHBlbmRpbmcgLmNoYW5nZXNldCBlbnRyaWVzIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBidW1wIHR5cGUgKG1ham9yID4gbWlub3IgPiBwYXRjaClcIixcblx0XHRcdGZhbHNlLFxuXHRcdCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJWZXJzaW9uQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImFjdGlvbnMiLCJWZXJzaW9uIiwiU3luY0xvY2tGaWxlIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiYWRkT3B0aW9uIiwiQ29uZmlndXJhdGlvbk9wdGlvbiIsIkRyeVJ1bk9wdGlvbiIsIm9wdGlvbiIsIkRlZmF1bHRSZWxlYXNlVHlwZSIsIkRlZmF1bHRDaGFubmVsIl0sIm1hcHBpbmdzIjoiOzs7OytCQU1hQTs7O2VBQUFBOzs7cUJBTnNEO29DQUN0QzsrQkFDK0I7QUFJckQsTUFBTUEsdUJBQXVCQyxvQkFBZTtJQUNsRCxJQUFvQkMsVUFBVTtRQUM3QixPQUFPO1lBQUNDLHNCQUFPO1lBQUVDLGdDQUFZO1NBQUM7SUFDL0I7SUFFQSxZQUFtQkMsSUFBWSxDQUFFO1FBQ2hDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLFNBQVMsQ0FBQyxJQUFJQyx3QkFBbUIsQ0FBQztRQUN2QyxJQUFJLENBQUNELFNBQVMsQ0FBQyxJQUFJRSxpQkFBWSxDQUFDO1FBQ2hDLElBQUksQ0FBQ0MsTUFBTSxDQUNWLGdDQUNBLDREQUNBQyxpQ0FBa0I7UUFFbkIsSUFBSSxDQUFDRCxNQUFNLENBQ1YsdUJBQ0EscUVBQ0FFLDZCQUFjO1FBRWYsSUFBSSxDQUFDRixNQUFNLENBQ1YsdUJBQ0E7UUFFRCxJQUFJLENBQUNBLE1BQU0sQ0FBQyxhQUFhLHVDQUF1QztRQUNoRSxJQUFJLENBQUNBLE1BQU0sQ0FBQyxZQUFZLHFEQUFxRDtRQUM3RSxJQUFJLENBQUNBLE1BQU0sQ0FBQyx1QkFBdUI7UUFDbkMsSUFBSSxDQUFDQSxNQUFNLENBQ1YscUJBQ0EsOEZBQ0E7SUFFRjtBQUNEIn0=
|
package/commonjs/src/const.js
CHANGED
|
@@ -77,5 +77,3 @@ const BUILT_IN_MODULES = [
|
|
|
77
77
|
"worker_threads",
|
|
78
78
|
"zlib"
|
|
79
79
|
];
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9jb25zdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1dDX0NPTkZJRyA9IFwiLnN3Y3JjXCI7XG5leHBvcnQgY29uc3QgTk9ERV9NT0RVTEVTID0gXCJub2RlX21vZHVsZXNcIjtcbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9NT0RVTEVTID0gW1xuXHRcImFzc2VydFwiLFxuXHRcImFzc2VydC9zdHJpY3RcIixcblx0XCJhc3luY19ob29rc1wiLFxuXHRcImJ1ZmZlclwiLFxuXHRcImNoaWxkX3Byb2Nlc3NcIixcblx0XCJjbHVzdGVyXCIsXG5cdFwiY29uc29sZVwiLFxuXHRcImNvbnN0YW50c1wiLFxuXHRcImNyeXB0b1wiLFxuXHRcImRncmFtXCIsXG5cdFwiZGlhZ25vc3RpY3NfY2hhbm5lbFwiLFxuXHRcImRuc1wiLFxuXHRcImRucy9wcm9taXNlc1wiLFxuXHRcImRvbWFpblwiLFxuXHRcImV2ZW50c1wiLFxuXHRcImZzXCIsXG5cdFwiZnMvcHJvbWlzZXNcIixcblx0XCJodHRwXCIsXG5cdFwiaHR0cDJcIixcblx0XCJodHRwc1wiLFxuXHRcImluc3BlY3RvclwiLFxuXHRcImluc3BlY3Rvci9wcm9taXNlc1wiLFxuXHRcIm1vZHVsZVwiLFxuXHRcIm5ldFwiLFxuXHRcIm9zXCIsXG5cdFwicGF0aFwiLFxuXHRcInBhdGgvcG9zaXhcIixcblx0XCJwYXRoL3dpbjMyXCIsXG5cdFwicGVyZl9ob29rc1wiLFxuXHRcInByb2Nlc3NcIixcblx0XCJwdW55Y29kZVwiLFxuXHRcInF1ZXJ5c3RyaW5nXCIsXG5cdFwicmVhZGxpbmVcIixcblx0XCJyZWFkbGluZS9wcm9taXNlc1wiLFxuXHRcInJlcGxcIixcblx0XCJzdHJlYW1cIixcblx0XCJzdHJlYW0vY29uc3VtZXJzXCIsXG5cdFwic3RyZWFtL3Byb21pc2VzXCIsXG5cdFwic3RyZWFtL3dlYlwiLFxuXHRcInN0cmluZ19kZWNvZGVyXCIsXG5cdFwic3lzXCIsXG5cdFwidGltZXJzXCIsXG5cdFwidGltZXJzL3Byb21pc2VzXCIsXG5cdFwidGxzXCIsXG5cdFwidHJhY2VfZXZlbnRzXCIsXG5cdFwidHR5XCIsXG5cdFwidXJsXCIsXG5cdFwidXRpbFwiLFxuXHRcInV0aWwvdHlwZXNcIixcblx0XCJ2OFwiLFxuXHRcInZtXCIsXG5cdFwid2FzaVwiLFxuXHRcIndvcmtlcl90aHJlYWRzXCIsXG5cdFwiemxpYlwiLFxuXTtcbiJdLCJuYW1lcyI6WyJCVUlMVF9JTl9NT0RVTEVTIiwiTk9ERV9NT0RVTEVTIiwiU1dDX0NPTkZJRyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFFYUE7ZUFBQUE7O1FBREFDO2VBQUFBOztRQURBQztlQUFBQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNRCxlQUFlO0FBQ3JCLE1BQU1ELG1CQUFtQjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDQSJ9
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createWorkspace", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createWorkspace;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _workspaceconfig = require("./workspace.config.js");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
async function createWorkspace(options = {}) {
|
|
20
|
+
const rootDir = options.rootDir ?? _workspaceconfig.WorkspaceDefaults.rootDir ?? "./";
|
|
21
|
+
const configFile = options.configFile ?? (rootDir === _workspaceconfig.WorkspaceDefaults.rootDir ? undefined : _nodepath.default.join(rootDir, _workspace.WORKSPACE_CONFIG));
|
|
22
|
+
// `projects` is dropped too: forge's defaults set it to undefined, which would override the
|
|
23
|
+
// user's per-project settings (docker, ui) in the merge.
|
|
24
|
+
const { configurations: _, projects: __, ...forgeDefaults } = _workspaceconfig.WorkspaceDefaults;
|
|
25
|
+
const userConfig = await _workspace.UserConfigFactory.getUserConfig(configFile);
|
|
26
|
+
// Only apply forge default configurations when user config doesn't provide any.
|
|
27
|
+
// This ensures user-defined configurations take priority while still providing
|
|
28
|
+
// sensible defaults (debug + release) when no config file is present.
|
|
29
|
+
const configurations = userConfig.configurations?.length ? undefined : _workspaceconfig.DefaultConfigurations;
|
|
30
|
+
return _workspace.WorkspaceFactory.create({
|
|
31
|
+
...forgeDefaults,
|
|
32
|
+
...configurations ? {
|
|
33
|
+
configurations
|
|
34
|
+
} : {},
|
|
35
|
+
configFile,
|
|
36
|
+
rootDir
|
|
37
|
+
});
|
|
38
|
+
}
|
package/commonjs/src/errors.js
CHANGED
|
@@ -13,13 +13,13 @@ _export(exports, {
|
|
|
13
13
|
return ForgeError;
|
|
14
14
|
},
|
|
15
15
|
get WorkspaceConfigurationError () {
|
|
16
|
-
return
|
|
16
|
+
return _workspace.WorkspaceConfigurationError;
|
|
17
17
|
},
|
|
18
18
|
get formatUnknownError () {
|
|
19
19
|
return formatUnknownError;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
|
-
const
|
|
22
|
+
const _workspace = require("@decohere/workspace");
|
|
23
23
|
class ForgeError extends Error {
|
|
24
24
|
}
|
|
25
25
|
function formatUnknownError(reason) {
|
|
@@ -35,5 +35,3 @@ function formatUnknownError(reason) {
|
|
|
35
35
|
return "Unknown error";
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9lcnJvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgV29ya3NwYWNlQ29uZmlndXJhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5leHBvcnQgY2xhc3MgRm9yZ2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVbmtub3duRXJyb3IocmVhc29uOiB1bmtub3duKTogc3RyaW5nIHtcblx0aWYgKHJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0cmV0dXJuIHJlYXNvbi5tZXNzYWdlO1xuXHR9XG5cblx0aWYgKHR5cGVvZiByZWFzb24gPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4gcmVhc29uO1xuXHR9XG5cblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVhc29uKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIFwiVW5rbm93biBlcnJvclwiO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRm9yZ2VFcnJvciIsIldvcmtzcGFjZUNvbmZpZ3VyYXRpb25FcnJvciIsImZvcm1hdFVua25vd25FcnJvciIsIkVycm9yIiwicmVhc29uIiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBQ2FBO2VBQUFBOztRQURKQztlQUFBQSxpQ0FBMkI7O1FBR3BCQztlQUFBQTs7O3NCQUg0QjtBQUNyQyxNQUFNRixtQkFBbUJHO0FBQU87QUFFaEMsU0FBU0QsbUJBQW1CRSxNQUFlO0lBQ2pELElBQUlBLGtCQUFrQkQsT0FBTztRQUM1QixPQUFPQyxPQUFPQyxPQUFPO0lBQ3RCO0lBRUEsSUFBSSxPQUFPRCxXQUFXLFVBQVU7UUFDL0IsT0FBT0E7SUFDUjtJQUVBLElBQUk7UUFDSCxPQUFPRSxLQUFLQyxTQUFTLENBQUNIO0lBQ3ZCLEVBQUUsT0FBTTtRQUNQLE9BQU87SUFDUjtBQUNEIn0=
|
|
@@ -10,10 +10,10 @@ Object.defineProperty(exports, "ProjectExtensions", {
|
|
|
10
10
|
});
|
|
11
11
|
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
12
12
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
13
|
-
const
|
|
14
|
-
const _caching = require("@decohere/
|
|
15
|
-
const _extensibility = require("@decohere/
|
|
16
|
-
const _io = require("@decohere/
|
|
13
|
+
const _workspace = require("@decohere/workspace");
|
|
14
|
+
const _caching = require("@decohere/core/caching");
|
|
15
|
+
const _extensibility = require("@decohere/core/extensibility");
|
|
16
|
+
const _io = require("@decohere/core/io");
|
|
17
17
|
const _const = require("../const.js");
|
|
18
18
|
const _swcconfigtype = require("../types/swc-config.type.js");
|
|
19
19
|
function _interop_require_default(obj) {
|
|
@@ -52,7 +52,7 @@ class ProjectExtensions {
|
|
|
52
52
|
}
|
|
53
53
|
static swcConfigPaths(project) {
|
|
54
54
|
return [
|
|
55
|
-
_nodepath.default.join(project.
|
|
55
|
+
_nodepath.default.join(project.projectRoot, _const.SWC_CONFIG),
|
|
56
56
|
_nodepath.default.join(project.rootDir, _const.SWC_CONFIG)
|
|
57
57
|
];
|
|
58
58
|
}
|
|
@@ -65,30 +65,28 @@ class ProjectExtensions {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
_ts_decorate([
|
|
68
|
-
(0, _extensibility.extension)(
|
|
68
|
+
(0, _extensibility.extension)(_workspace.Project),
|
|
69
69
|
_ts_metadata("design:type", Function),
|
|
70
70
|
_ts_metadata("design:paramtypes", [
|
|
71
|
-
typeof
|
|
71
|
+
typeof _workspace.Project === "undefined" ? Object : _workspace.Project
|
|
72
72
|
]),
|
|
73
73
|
_ts_metadata("design:returntype", typeof ForgeConfiguration === "undefined" ? Object : ForgeConfiguration)
|
|
74
74
|
], ProjectExtensions, "getForgeConfiguration", null);
|
|
75
75
|
_ts_decorate([
|
|
76
|
-
(0, _extensibility.extension)(
|
|
76
|
+
(0, _extensibility.extension)(_workspace.Project),
|
|
77
77
|
(0, _caching.memoize)(),
|
|
78
78
|
_ts_metadata("design:type", Function),
|
|
79
79
|
_ts_metadata("design:paramtypes", [
|
|
80
|
-
typeof
|
|
80
|
+
typeof _workspace.Project === "undefined" ? Object : _workspace.Project
|
|
81
81
|
]),
|
|
82
82
|
_ts_metadata("design:returntype", Promise)
|
|
83
83
|
], ProjectExtensions, "getSwcConfig", null);
|
|
84
84
|
_ts_decorate([
|
|
85
|
-
(0, _extensibility.extension)(
|
|
85
|
+
(0, _extensibility.extension)(_workspace.Project),
|
|
86
86
|
(0, _caching.memoize)(),
|
|
87
87
|
_ts_metadata("design:type", Function),
|
|
88
88
|
_ts_metadata("design:paramtypes", [
|
|
89
|
-
typeof
|
|
89
|
+
typeof _workspace.Project === "undefined" ? Object : _workspace.Project
|
|
90
90
|
]),
|
|
91
91
|
_ts_metadata("design:returntype", typeof _swcconfigtype.SwcConfig === "undefined" ? Object : _swcconfigtype.SwcConfig)
|
|
92
92
|
], ProjectExtensions, "getSwcConfigSync", null);
|
|
93
|
-
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9leHRlbnNpb25zL3Byb2plY3QuZXh0ZW5zaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NhY2hpbmdcIjtcbmltcG9ydCB7IGV4dGVuc2lvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZXh0ZW5zaWJpbGl0eVwiO1xuaW1wb3J0IHsgaW8gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBTV0NfQ09ORklHIH0gZnJvbSBcIi4uL2NvbnN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGUuanNcIjtcbmltcG9ydCB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjb2hlcmUvbWVzaFwiIHtcblx0aW50ZXJmYWNlIFByb2plY3Qge1xuXHRcdGdldEZvcmdlQ29uZmlndXJhdGlvbigpOiBGb3JnZUNvbmZpZ3VyYXRpb247XG5cdFx0Z2V0U3djQ29uZmlnKCk6IFByb21pc2U8U3djQ29uZmlnPjtcblx0XHRnZXRTd2NDb25maWdTeW5jKCk6IFN3Y0NvbmZpZztcblx0fVxufVxuXG5leHBvcnQgY2xhc3MgUHJvamVjdEV4dGVuc2lvbnMge1xuXHRAZXh0ZW5zaW9uKFByb2plY3QpXG5cdHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKHByb2plY3Q6IFByb2plY3QpOiBGb3JnZUNvbmZpZ3VyYXRpb24ge1xuXHRcdHJldHVybiBwcm9qZWN0LmNvbmZpZ3VyYXRpb24gYXMgRm9yZ2VDb25maWd1cmF0aW9uO1xuXHR9XG5cblx0QGV4dGVuc2lvbihQcm9qZWN0KVxuXHRAbWVtb2l6ZSgpXG5cdHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0U3djQ29uZmlnKHByb2plY3Q6IFByb2plY3QpOiBQcm9taXNlPFN3Y0NvbmZpZz4ge1xuXHRcdGZvciAoY29uc3QgY29uZmlnUGF0aCBvZiBQcm9qZWN0RXh0ZW5zaW9ucy5zd2NDb25maWdQYXRocyhwcm9qZWN0KSkge1xuXHRcdFx0aWYgKGF3YWl0IGlvLmZpbGVFeGlzdHMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoYXdhaXQgaW8ucmVhZEpzb25GaWxlKGNvbmZpZ1BhdGgpKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoKTtcblx0fVxuXG5cdEBleHRlbnNpb24oUHJvamVjdClcblx0QG1lbW9pemUoKVxuXHRwdWJsaWMgc3RhdGljIGdldFN3Y0NvbmZpZ1N5bmMocHJvamVjdDogUHJvamVjdCk6IFN3Y0NvbmZpZyB7XG5cdFx0Zm9yIChjb25zdCBjb25maWdQYXRoIG9mIFByb2plY3RFeHRlbnNpb25zLnN3Y0NvbmZpZ1BhdGhzKHByb2plY3QpKSB7XG5cdFx0XHRpZiAoUHJvamVjdEV4dGVuc2lvbnMuZmlsZUV4aXN0c1N5bmMoY29uZmlnUGF0aCkpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBTd2NDb25maWcoSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY29uZmlnUGF0aCwgXCJ1dGY4XCIpKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBuZXcgU3djQ29uZmlnKCk7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBzd2NDb25maWdQYXRocyhwcm9qZWN0OiBQcm9qZWN0KTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHRwYXRoLmpvaW4ocHJvamVjdC5wcm9qZWN0RGlyZWN0b3J5LCBTV0NfQ09ORklHKSxcblx0XHRcdHBhdGguam9pbihwcm9qZWN0LnJvb3REaXIsIFNXQ19DT05GSUcpLFxuXHRcdF07XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBmaWxlRXhpc3RzU3luYyhmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0dHJ5IHtcblx0XHRcdHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOlsiUHJvamVjdEV4dGVuc2lvbnMiLCJnZXRGb3JnZUNvbmZpZ3VyYXRpb24iLCJwcm9qZWN0IiwiY29uZmlndXJhdGlvbiIsImdldFN3Y0NvbmZpZyIsImNvbmZpZ1BhdGgiLCJzd2NDb25maWdQYXRocyIsImlvIiwiZmlsZUV4aXN0cyIsIlN3Y0NvbmZpZyIsInJlYWRKc29uRmlsZSIsImdldFN3Y0NvbmZpZ1N5bmMiLCJmaWxlRXhpc3RzU3luYyIsIkpTT04iLCJwYXJzZSIsImZzIiwicmVhZEZpbGVTeW5jIiwicGF0aCIsImpvaW4iLCJwcm9qZWN0RGlyZWN0b3J5IiwiU1dDX0NPTkZJRyIsInJvb3REaXIiLCJmaWxlUGF0aCIsInN0YXRTeW5jIiwiaXNGaWxlIl0sIm1hcHBpbmdzIjoiOzs7OytCQWtCYUE7OztlQUFBQTs7OytEQWxCRTtpRUFDRTtzQkFDTzt5QkFDQTsrQkFDRTtvQkFDUDt1QkFDUTsrQkFFRDs7Ozs7Ozs7Ozs7Ozs7O0FBVW5CLE1BQU1BO0lBQ1osT0FDY0Msc0JBQXNCQyxPQUFnQixFQUFzQjtRQUN6RSxPQUFPQSxRQUFRQyxhQUFhO0lBQzdCO0lBRUEsYUFFb0JDLGFBQWFGLE9BQWdCLEVBQXNCO1FBQ3RFLEtBQUssTUFBTUcsY0FBY0wsa0JBQWtCTSxjQUFjLENBQUNKLFNBQVU7WUFDbkUsSUFBSSxNQUFNSyxNQUFFLENBQUNDLFVBQVUsQ0FBQ0gsYUFBYTtnQkFDcEMsT0FBTyxJQUFJSSx3QkFBUyxDQUFDLE1BQU1GLE1BQUUsQ0FBQ0csWUFBWSxDQUFDTDtZQUM1QztRQUNEO1FBQ0EsT0FBTyxJQUFJSSx3QkFBUztJQUNyQjtJQUVBLE9BRWNFLGlCQUFpQlQsT0FBZ0IsRUFBYTtRQUMzRCxLQUFLLE1BQU1HLGNBQWNMLGtCQUFrQk0sY0FBYyxDQUFDSixTQUFVO1lBQ25FLElBQUlGLGtCQUFrQlksY0FBYyxDQUFDUCxhQUFhO2dCQUNqRCxPQUFPLElBQUlJLHdCQUFTLENBQUNJLEtBQUtDLEtBQUssQ0FBQ0MsZUFBRSxDQUFDQyxZQUFZLENBQUNYLFlBQVk7WUFDN0Q7UUFDRDtRQUNBLE9BQU8sSUFBSUksd0JBQVM7SUFDckI7SUFFQSxPQUFlSCxlQUFlSixPQUFnQixFQUFZO1FBQ3pELE9BQU87WUFDTmUsaUJBQUksQ0FBQ0MsSUFBSSxDQUFDaEIsUUFBUWlCLGdCQUFnQixFQUFFQyxpQkFBVTtZQUM5Q0gsaUJBQUksQ0FBQ0MsSUFBSSxDQUFDaEIsUUFBUW1CLE9BQU8sRUFBRUQsaUJBQVU7U0FDckM7SUFDRjtJQUVBLE9BQWVSLGVBQWVVLFFBQWdCLEVBQVc7UUFDeEQsSUFBSTtZQUNILE9BQU9QLGVBQUUsQ0FBQ1EsUUFBUSxDQUFDRCxVQUFVRSxNQUFNO1FBQ3BDLEVBQUUsT0FBTTtZQUNQLE9BQU87UUFDUjtJQUNEO0FBQ0QifQ==
|
|
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "SwcConfigFactory", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _diagnostics = require("@decohere/devkit/diagnostics");
|
|
14
|
+
const _objects = require("@decohere/core/objects");
|
|
14
15
|
const _errors = require("../errors.js");
|
|
15
16
|
function _interop_require_default(obj) {
|
|
16
17
|
return obj && obj.__esModule ? obj : {
|
|
@@ -47,10 +48,15 @@ class SwcConfigFactory {
|
|
|
47
48
|
* Creates a base config for a project+target combination, without a filename.
|
|
48
49
|
* Call once per (project, target) and then use createFileConfig() per file.
|
|
49
50
|
*/ createBaseConfig(buildTarget, configOptions) {
|
|
50
|
-
const { userConfig, tsConfig, aliasPaths } = configOptions;
|
|
51
|
+
const { userConfig, tsConfig, aliasPaths, sourceMaps, workspace, projects } = configOptions;
|
|
51
52
|
const { compilerOptions } = tsConfig ?? {};
|
|
52
|
-
const
|
|
53
|
-
|
|
53
|
+
const aliases = aliasPaths ? workspace != null ? workspace.getPackageAliases(projects?.[0]?.configuration.name ?? "debug") : projects != null && projects.length > 0 ? _workspace.packageAliases.build(projects, {
|
|
54
|
+
baseUrl: SwcConfigFactory.getBaseUrl(tsConfig) ?? _nodepath.default.resolve(projects[0].rootDir),
|
|
55
|
+
tsconfigPaths: compilerOptions?.paths
|
|
56
|
+
}) : undefined : undefined;
|
|
57
|
+
const tsconfigOnlyPaths = aliasPaths && aliases == null ? compilerOptions?.paths : undefined;
|
|
58
|
+
const paths = SwcConfigFactory.nonemptyPaths(aliases?.paths ?? tsconfigOnlyPaths);
|
|
59
|
+
const baseUrl = aliases?.baseUrl ?? SwcConfigFactory.getBaseUrl(tsConfig) ?? (workspace != null ? _nodepath.default.resolve(workspace.rootDir) : undefined) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
|
|
54
60
|
const options = {
|
|
55
61
|
jsc: {
|
|
56
62
|
baseUrl,
|
|
@@ -58,20 +64,36 @@ class SwcConfigFactory {
|
|
|
58
64
|
},
|
|
59
65
|
module: {
|
|
60
66
|
type: buildTarget
|
|
61
|
-
}
|
|
67
|
+
},
|
|
68
|
+
...sourceMaps === false ? {
|
|
69
|
+
sourceMaps: false
|
|
70
|
+
} : {}
|
|
62
71
|
};
|
|
63
72
|
return _objects.merge.withOptions({
|
|
64
73
|
mergeArrays: false
|
|
65
74
|
}, defaultOptions, options, userConfig ?? {});
|
|
66
75
|
}
|
|
67
|
-
/** Stamps a per-file filename onto a pre-built base config. */ createFileConfig(file, baseConfig) {
|
|
76
|
+
/** Stamps a per-file filename onto a pre-built base config; `.tsx` also turns on JSX. */ createFileConfig(file, baseConfig) {
|
|
77
|
+
const tsx = file.fullPath.endsWith(".tsx");
|
|
78
|
+
const jsc = tsx && baseConfig.jsc?.parser?.syntax === "typescript" ? {
|
|
79
|
+
...baseConfig.jsc,
|
|
80
|
+
parser: {
|
|
81
|
+
...baseConfig.jsc.parser,
|
|
82
|
+
tsx: true
|
|
83
|
+
}
|
|
84
|
+
} : baseConfig.jsc;
|
|
68
85
|
const config = {
|
|
69
86
|
...baseConfig,
|
|
87
|
+
jsc,
|
|
70
88
|
filename: file.fullPath
|
|
71
89
|
};
|
|
72
90
|
this.validate(config);
|
|
73
91
|
return config;
|
|
74
92
|
}
|
|
93
|
+
static nonemptyPaths(paths) {
|
|
94
|
+
if (paths == null || Object.keys(paths).length === 0) return undefined;
|
|
95
|
+
return paths;
|
|
96
|
+
}
|
|
75
97
|
/**
|
|
76
98
|
* Validates SWC options against known causes of Rust/NAPI process crashes.
|
|
77
99
|
* Throws a ForgeError with a descriptive message instead of letting the
|
|
@@ -94,5 +116,3 @@ class SwcConfigFactory {
|
|
|
94
116
|
SwcConfigFactory = _ts_decorate([
|
|
95
117
|
_diagnostics.Trace
|
|
96
118
|
], SwcConfigFactory);
|
|
97
|
-
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJwYXRoIiwicmVzb2x2ZSIsIm9wdGlvbnMiLCJ0eXBlIiwibWVyZ2UiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSIsIkZvcmdlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNkJhQTs7O2VBQUFBOzs7aUVBN0JJOzZCQUVLO3lCQUVBO3dCQUVLOzs7Ozs7Ozs7Ozs7QUFJM0IsTUFBTUMsaUJBQWlCO0lBQ3RCQyxLQUFLO1FBQ0pDLFFBQVE7WUFDUEMsUUFBUTtZQUNSQyxZQUFZO1FBQ2I7UUFDQUMsUUFBUTtRQUNSQyxXQUFXO1lBQ1ZDLG1CQUFtQjtRQUNwQjtRQUNBQyxjQUFjO1lBQUVDLHNCQUFzQjtRQUFLO0lBQzVDO0lBQ0FDLFFBQVE7UUFDUEMsY0FBYztJQUNmO0lBQ0FDLFlBQVk7QUFDYjtBQUdPLE1BQU1iO0lBQ1o7OztFQUdDLEdBQ0QsQUFBT2MsaUJBQ05DLFdBQTRCLEVBQzVCQyxhQUErQixFQUNyQjtRQUNWLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHSDtRQUM3QyxNQUFNLEVBQUVJLGVBQWUsRUFBRSxHQUFHRixZQUFZLENBQUM7UUFDekMsTUFBTUcsUUFBUUYsYUFBYUMsaUJBQWlCQyxRQUFRQztRQUNwRCxNQUFNQyxVQUNMdkIsaUJBQWlCd0IsVUFBVSxDQUFDTixhQUFjRyxDQUFBQSxTQUFTLE9BQU9JLGlCQUFJLENBQUNDLE9BQU8sQ0FBQyxPQUFPSixTQUFRO1FBRXZGLE1BQU1LLFVBQW1CO1lBQ3hCekIsS0FBSztnQkFDSnFCO2dCQUNBRjtZQUNEO1lBQ0FWLFFBQVE7Z0JBQ1BpQixNQUFNYjtZQUNQO1FBQ0Q7UUFFQSxPQUFPYyxjQUFLLENBQUNDLFdBQVcsQ0FDdkI7WUFBRUMsYUFBYTtRQUFNLEdBQ3JCOUIsZ0JBQ0EwQixTQUNBVixjQUFjLENBQUM7SUFFakI7SUFFQSw2REFBNkQsR0FDN0QsQUFBT2UsaUJBQWlCQyxJQUFZLEVBQUVDLFVBQW1CLEVBQVc7UUFDbkUsTUFBTUMsU0FBUztZQUFFLEdBQUdELFVBQVU7WUFBRUUsVUFBVUgsS0FBS0ksUUFBUTtRQUFDO1FBQ3hELElBQUksQ0FBQ0MsUUFBUSxDQUFDSDtRQUNkLE9BQU9BO0lBQ1I7SUFFQTs7Ozs7OztFQU9DLEdBQ0QsQUFBT0csU0FBU1gsT0FBZ0IsRUFBUTtRQUN2QyxNQUFNSixVQUFVSSxRQUFRekIsR0FBRyxFQUFFcUI7UUFDN0IsSUFBSUEsV0FBVyxRQUFRLENBQUNFLGlCQUFJLENBQUNjLFVBQVUsQ0FBQ2hCLFVBQVU7WUFDakQsTUFBTSxJQUFJaUIsa0JBQVUsQ0FDbkIsQ0FBQyxpRkFBaUYsRUFBRWpCLFFBQVEsb0NBQW9DLENBQUM7UUFFbkk7SUFDRDtJQUVBLGlGQUFpRixHQUNqRixPQUFlQyxXQUFXTixRQUE4QixFQUFzQjtRQUM3RSxNQUFNSyxVQUFVTCxVQUFVRSxpQkFBaUJHO1FBQzNDLElBQUlBLFdBQVcsTUFBTSxPQUFPRDtRQUM1QixPQUFPRyxpQkFBSSxDQUFDQyxPQUFPLENBQUNIO0lBQ3JCO0FBQ0QifQ==
|
|
@@ -8,16 +8,17 @@ Object.defineProperty(exports, "ForgeModule", {
|
|
|
8
8
|
return ForgeModule;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const _cli = require("@decohere/nexus/cli");
|
|
11
|
+
const _cli = require("@decohere/devkit/cli");
|
|
13
12
|
const _index = /*#__PURE__*/ _interop_require_wildcard(require("./actions/index.js"));
|
|
14
13
|
const _index1 = /*#__PURE__*/ _interop_require_wildcard(require("./commands/index.js"));
|
|
14
|
+
const _createworkspace = require("./create-workspace.js");
|
|
15
|
+
const _dependencypinnerservice = require("./packaging/dependency-pinner.service.js");
|
|
16
|
+
const _importgraphservice = require("./packaging/import-graph.service.js");
|
|
15
17
|
const _dependencyresolverservice = require("./services/dependency-resolver.service.js");
|
|
16
18
|
const _filewriterservice = require("./services/file-writer.service.js");
|
|
17
19
|
const _swctranspiler = require("./services/swc-transpiler.js");
|
|
18
20
|
const _typeemitter = require("./services/type-emitter.js");
|
|
19
21
|
const _transformertype = require("./types/transformer.type.js");
|
|
20
|
-
const _workspaceconfig = require("./workspace.config.js");
|
|
21
22
|
function _getRequireWildcardCache(nodeInterop) {
|
|
22
23
|
if (typeof WeakMap !== "function") return null;
|
|
23
24
|
var cacheBabelInterop = new WeakMap();
|
|
@@ -65,6 +66,8 @@ class ForgeModule extends _cli.ModuleManifest {
|
|
|
65
66
|
actions = {
|
|
66
67
|
clean: _index.Clean,
|
|
67
68
|
copy: _index.Copy,
|
|
69
|
+
docker: _index.Docker,
|
|
70
|
+
package: _index.PackageDeployable,
|
|
68
71
|
build: _index.Build,
|
|
69
72
|
watch: _index.Watch,
|
|
70
73
|
publish: _index.Publish,
|
|
@@ -73,6 +76,8 @@ class ForgeModule extends _cli.ModuleManifest {
|
|
|
73
76
|
reportDependencies: _index.ReportDependencies,
|
|
74
77
|
version: _index.Version,
|
|
75
78
|
tag: _index.Tag,
|
|
79
|
+
paths: _index.Paths,
|
|
80
|
+
typecheck: _index.TypeCheck,
|
|
76
81
|
commitFiles: _index.CommitFiles,
|
|
77
82
|
link: _index.Link,
|
|
78
83
|
unlink: _index.Unlink
|
|
@@ -81,33 +86,25 @@ class ForgeModule extends _cli.ModuleManifest {
|
|
|
81
86
|
build: _index1.BuildCommand,
|
|
82
87
|
publish: _index1.PublishCommand,
|
|
83
88
|
dependencies: _index1.DependencyCommand,
|
|
89
|
+
docker: _index1.DockerCommand,
|
|
90
|
+
package: _index1.PackageCommand,
|
|
84
91
|
version: _index1.VersionCommand,
|
|
85
92
|
tag: _index1.TagCommand,
|
|
93
|
+
paths: _index1.PathsCommand,
|
|
94
|
+
typecheck: _index1.TypeCheckCommand,
|
|
86
95
|
link: _index1.LinkCommand,
|
|
87
96
|
unlink: _index1.UnlinkCommand
|
|
88
97
|
};
|
|
89
98
|
registerServices(builder) {
|
|
99
|
+
builder.registerSingleton(_typeemitter.TypeEmitter);
|
|
90
100
|
builder.registerSingleton(_transformertype.TransformerKey, _swctranspiler.SwcTranspiler);
|
|
91
101
|
builder.registerSingleton(_transformertype.TransformerKey, _typeemitter.TypeEmitter);
|
|
92
102
|
builder.registerSingleton(_dependencyresolverservice.DependencyResolver);
|
|
103
|
+
builder.registerSingleton(_importgraphservice.ImportGraph);
|
|
104
|
+
builder.registerSingleton(_dependencypinnerservice.DependencyPinner);
|
|
93
105
|
builder.registerSingleton(_filewriterservice.FileWriterService);
|
|
94
106
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const userConfig = await _mesh.UserConfigFactory.getUserConfig(options.configFile);
|
|
98
|
-
// Only apply forge default configurations when user config doesn't provide any.
|
|
99
|
-
// This ensures user-defined configurations take priority while still providing
|
|
100
|
-
// sensible defaults (debug + release) when no config file is present.
|
|
101
|
-
const configurations = userConfig.configurations?.length ? undefined : _workspaceconfig.DefaultConfigurations;
|
|
102
|
-
return _mesh.WorkspaceFactory.create({
|
|
103
|
-
...forgeDefaults,
|
|
104
|
-
...configurations ? {
|
|
105
|
-
configurations
|
|
106
|
-
} : {},
|
|
107
|
-
configFile: options.configFile,
|
|
108
|
-
rootDir: options.rootDir ?? _workspaceconfig.WorkspaceDefaults.rootDir
|
|
109
|
-
});
|
|
107
|
+
createWorkspace(options) {
|
|
108
|
+
return (0, _createworkspace.createWorkspace)(options);
|
|
110
109
|
}
|
|
111
110
|
}
|
|
112
|
-
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mb3JnZS5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckNvbmZpZ0ZhY3RvcnksIFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHR5cGUgeyBDb250YWluZXJCdWlsZGVyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jb21wb3NpdGlvblwiO1xuaW1wb3J0ICogYXMgQWN0aW9ucyBmcm9tIFwiLi9hY3Rpb25zL2luZGV4LmpzXCI7XG5pbXBvcnQgKiBhcyBDb21tYW5kcyBmcm9tIFwiLi9jb21tYW5kcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4vc2VydmljZXMvZGVwZW5kZW5jeS1yZXNvbHZlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2ZpbGUtd3JpdGVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgVHlwZUVtaXR0ZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy90eXBlLWVtaXR0ZXIuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybWVyS2V5IH0gZnJvbSBcIi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbmZpZ3VyYXRpb25zLCBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcmdlTW9kdWxlIGV4dGVuZHMgTW9kdWxlTWFuaWZlc3Qge1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBcImZvcmdlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ29tbWFuZHMuRm9yZ2VDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHtcblx0XHRjbGVhbjogQWN0aW9ucy5DbGVhbixcblx0XHRjb3B5OiBBY3Rpb25zLkNvcHksXG5cdFx0YnVpbGQ6IEFjdGlvbnMuQnVpbGQsXG5cdFx0d2F0Y2g6IEFjdGlvbnMuV2F0Y2gsXG5cdFx0cHVibGlzaDogQWN0aW9ucy5QdWJsaXNoLFxuXHRcdHN5bmNEZXBlbmRlbmNpZXM6IEFjdGlvbnMuU3luY0RlcGVuZGVuY2llcyxcblx0XHRzeW5jTG9ja0ZpbGU6IEFjdGlvbnMuU3luY0xvY2tGaWxlLFxuXHRcdHJlcG9ydERlcGVuZGVuY2llczogQWN0aW9ucy5SZXBvcnREZXBlbmRlbmNpZXMsXG5cdFx0dmVyc2lvbjogQWN0aW9ucy5WZXJzaW9uLFxuXHRcdHRhZzogQWN0aW9ucy5UYWcsXG5cdFx0Y29tbWl0RmlsZXM6IEFjdGlvbnMuQ29tbWl0RmlsZXMsXG5cdFx0bGluazogQWN0aW9ucy5MaW5rLFxuXHRcdHVubGluazogQWN0aW9ucy5VbmxpbmssXG5cdH07XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kcyA9IHtcblx0XHRidWlsZDogQ29tbWFuZHMuQnVpbGRDb21tYW5kLFxuXHRcdHB1Ymxpc2g6IENvbW1hbmRzLlB1Ymxpc2hDb21tYW5kLFxuXHRcdGRlcGVuZGVuY2llczogQ29tbWFuZHMuRGVwZW5kZW5jeUNvbW1hbmQsXG5cdFx0dmVyc2lvbjogQ29tbWFuZHMuVmVyc2lvbkNvbW1hbmQsXG5cdFx0dGFnOiBDb21tYW5kcy5UYWdDb21tYW5kLFxuXHRcdGxpbms6IENvbW1hbmRzLkxpbmtDb21tYW5kLFxuXHRcdHVubGluazogQ29tbWFuZHMuVW5saW5rQ29tbWFuZCxcblx0fTtcblxuXHRwdWJsaWMgcmVnaXN0ZXJTZXJ2aWNlcyhidWlsZGVyOiBDb250YWluZXJCdWlsZGVyKSB7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgU3djVHJhbnNwaWxlcik7XG5cdFx0YnVpbGRlci5yZWdpc3RlclNpbmdsZXRvbihUcmFuc2Zvcm1lcktleSwgVHlwZUVtaXR0ZXIpO1xuXHRcdGJ1aWxkZXIucmVnaXN0ZXJTaW5nbGV0b24oRGVwZW5kZW5jeVJlc29sdmVyKTtcblx0XHRidWlsZGVyLnJlZ2lzdGVyU2luZ2xldG9uKEZpbGVXcml0ZXJTZXJ2aWNlKTtcblx0fVxuXG5cdHB1YmxpYyBvdmVycmlkZSBhc3luYyBjcmVhdGVXb3Jrc3BhY2Uob3B0aW9uczogV29ya3NwYWNlRmFjdG9yeU9wdGlvbnMpIHtcblx0XHRjb25zdCB7IGNvbmZpZ3VyYXRpb25zOiBfLCAuLi5mb3JnZURlZmF1bHRzIH0gPSBXb3Jrc3BhY2VEZWZhdWx0cztcblx0XHRjb25zdCB1c2VyQ29uZmlnID0gYXdhaXQgVXNlckNvbmZpZ0ZhY3RvcnkuZ2V0VXNlckNvbmZpZyhvcHRpb25zLmNvbmZpZ0ZpbGUpO1xuXHRcdC8vIE9ubHkgYXBwbHkgZm9yZ2UgZGVmYXVsdCBjb25maWd1cmF0aW9ucyB3aGVuIHVzZXIgY29uZmlnIGRvZXNuJ3QgcHJvdmlkZSBhbnkuXG5cdFx0Ly8gVGhpcyBlbnN1cmVzIHVzZXItZGVmaW5lZCBjb25maWd1cmF0aW9ucyB0YWtlIHByaW9yaXR5IHdoaWxlIHN0aWxsIHByb3ZpZGluZ1xuXHRcdC8vIHNlbnNpYmxlIGRlZmF1bHRzIChkZWJ1ZyArIHJlbGVhc2UpIHdoZW4gbm8gY29uZmlnIGZpbGUgaXMgcHJlc2VudC5cblx0XHRjb25zdCBjb25maWd1cmF0aW9ucyA9IHVzZXJDb25maWcuY29uZmlndXJhdGlvbnM/Lmxlbmd0aFxuXHRcdFx0PyB1bmRlZmluZWRcblx0XHRcdDogRGVmYXVsdENvbmZpZ3VyYXRpb25zO1xuXHRcdHJldHVybiBXb3Jrc3BhY2VGYWN0b3J5LmNyZWF0ZSh7XG5cdFx0XHQuLi5mb3JnZURlZmF1bHRzLFxuXHRcdFx0Li4uKGNvbmZpZ3VyYXRpb25zID8geyBjb25maWd1cmF0aW9ucyB9IDoge30pLFxuXHRcdFx0Y29uZmlnRmlsZTogb3B0aW9ucy5jb25maWdGaWxlLFxuXHRcdFx0cm9vdERpcjogb3B0aW9ucy5yb290RGlyID8/IFdvcmtzcGFjZURlZmF1bHRzLnJvb3REaXIsXG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJGb3JnZU1vZHVsZSIsIk1vZHVsZU1hbmlmZXN0IiwiaWQiLCJjb21tYW5kIiwiQ29tbWFuZHMiLCJGb3JnZUNvbW1hbmQiLCJhY3Rpb25zIiwiY2xlYW4iLCJBY3Rpb25zIiwiQ2xlYW4iLCJjb3B5IiwiQ29weSIsImJ1aWxkIiwiQnVpbGQiLCJ3YXRjaCIsIldhdGNoIiwicHVibGlzaCIsIlB1Ymxpc2giLCJzeW5jRGVwZW5kZW5jaWVzIiwiU3luY0RlcGVuZGVuY2llcyIsInN5bmNMb2NrRmlsZSIsIlN5bmNMb2NrRmlsZSIsInJlcG9ydERlcGVuZGVuY2llcyIsIlJlcG9ydERlcGVuZGVuY2llcyIsInZlcnNpb24iLCJWZXJzaW9uIiwidGFnIiwiVGFnIiwiY29tbWl0RmlsZXMiLCJDb21taXRGaWxlcyIsImxpbmsiLCJMaW5rIiwidW5saW5rIiwiVW5saW5rIiwiY29tbWFuZHMiLCJCdWlsZENvbW1hbmQiLCJQdWJsaXNoQ29tbWFuZCIsImRlcGVuZGVuY2llcyIsIkRlcGVuZGVuY3lDb21tYW5kIiwiVmVyc2lvbkNvbW1hbmQiLCJUYWdDb21tYW5kIiwiTGlua0NvbW1hbmQiLCJVbmxpbmtDb21tYW5kIiwicmVnaXN0ZXJTZXJ2aWNlcyIsImJ1aWxkZXIiLCJyZWdpc3RlclNpbmdsZXRvbiIsIlRyYW5zZm9ybWVyS2V5IiwiU3djVHJhbnNwaWxlciIsIlR5cGVFbWl0dGVyIiwiRGVwZW5kZW5jeVJlc29sdmVyIiwiRmlsZVdyaXRlclNlcnZpY2UiLCJjcmVhdGVXb3Jrc3BhY2UiLCJvcHRpb25zIiwiY29uZmlndXJhdGlvbnMiLCJfIiwiZm9yZ2VEZWZhdWx0cyIsIldvcmtzcGFjZURlZmF1bHRzIiwidXNlckNvbmZpZyIsIlVzZXJDb25maWdGYWN0b3J5IiwiZ2V0VXNlckNvbmZpZyIsImNvbmZpZ0ZpbGUiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJEZWZhdWx0Q29uZmlndXJhdGlvbnMiLCJXb3Jrc3BhY2VGYWN0b3J5IiwiY3JlYXRlIiwicm9vdERpciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFhYUE7OztlQUFBQTs7O3NCQWJ1QztxQkFFckI7K0RBRU47Z0VBQ0M7MkNBQ1M7bUNBQ0Q7K0JBQ0o7NkJBQ0Y7aUNBQ0c7aUNBQzBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEQsTUFBTUEsb0JBQW9CQyxtQkFBYztJQUM5QkMsS0FBSyxRQUFRO0lBQ2JDLFVBQVVDLFFBQVNDLFlBQVksQ0FBQztJQUNoQ0MsVUFBVTtRQUN6QkMsT0FBT0MsT0FBUUMsS0FBSztRQUNwQkMsTUFBTUYsT0FBUUcsSUFBSTtRQUNsQkMsT0FBT0osT0FBUUssS0FBSztRQUNwQkMsT0FBT04sT0FBUU8sS0FBSztRQUNwQkMsU0FBU1IsT0FBUVMsT0FBTztRQUN4QkMsa0JBQWtCVixPQUFRVyxnQkFBZ0I7UUFDMUNDLGNBQWNaLE9BQVFhLFlBQVk7UUFDbENDLG9CQUFvQmQsT0FBUWUsa0JBQWtCO1FBQzlDQyxTQUFTaEIsT0FBUWlCLE9BQU87UUFDeEJDLEtBQUtsQixPQUFRbUIsR0FBRztRQUNoQkMsYUFBYXBCLE9BQVFxQixXQUFXO1FBQ2hDQyxNQUFNdEIsT0FBUXVCLElBQUk7UUFDbEJDLFFBQVF4QixPQUFReUIsTUFBTTtJQUN2QixFQUFFO0lBQ2NDLFdBQVc7UUFDMUJ0QixPQUFPUixRQUFTK0IsWUFBWTtRQUM1Qm5CLFNBQVNaLFFBQVNnQyxjQUFjO1FBQ2hDQyxjQUFjakMsUUFBU2tDLGlCQUFpQjtRQUN4Q2QsU0FBU3BCLFFBQVNtQyxjQUFjO1FBQ2hDYixLQUFLdEIsUUFBU29DLFVBQVU7UUFDeEJWLE1BQU0xQixRQUFTcUMsV0FBVztRQUMxQlQsUUFBUTVCLFFBQVNzQyxhQUFhO0lBQy9CLEVBQUU7SUFFS0MsaUJBQWlCQyxPQUF5QixFQUFFO1FBQ2xEQSxRQUFRQyxpQkFBaUIsQ0FBQ0MsK0JBQWMsRUFBRUMsNEJBQWE7UUFDdkRILFFBQVFDLGlCQUFpQixDQUFDQywrQkFBYyxFQUFFRSx3QkFBVztRQUNyREosUUFBUUMsaUJBQWlCLENBQUNJLDZDQUFrQjtRQUM1Q0wsUUFBUUMsaUJBQWlCLENBQUNLLG9DQUFpQjtJQUM1QztJQUVBLE1BQXNCQyxnQkFBZ0JDLE9BQWdDLEVBQUU7UUFDdkUsTUFBTSxFQUFFQyxnQkFBZ0JDLENBQUMsRUFBRSxHQUFHQyxlQUFlLEdBQUdDLGtDQUFpQjtRQUNqRSxNQUFNQyxhQUFhLE1BQU1DLHVCQUFpQixDQUFDQyxhQUFhLENBQUNQLFFBQVFRLFVBQVU7UUFDM0UsZ0ZBQWdGO1FBQ2hGLCtFQUErRTtRQUMvRSxzRUFBc0U7UUFDdEUsTUFBTVAsaUJBQWlCSSxXQUFXSixjQUFjLEVBQUVRLFNBQy9DQyxZQUNBQyxzQ0FBcUI7UUFDeEIsT0FBT0Msc0JBQWdCLENBQUNDLE1BQU0sQ0FBQztZQUM5QixHQUFHVixhQUFhO1lBQ2hCLEdBQUlGLGlCQUFpQjtnQkFBRUE7WUFBZSxJQUFJLENBQUMsQ0FBQztZQUM1Q08sWUFBWVIsUUFBUVEsVUFBVTtZQUM5Qk0sU0FBU2QsUUFBUWMsT0FBTyxJQUFJVixrQ0FBaUIsQ0FBQ1UsT0FBTztRQUN0RDtJQUNEO0FBQ0QifQ==
|
package/commonjs/src/index.js
CHANGED
|
@@ -35,12 +35,18 @@ _export(exports, {
|
|
|
35
35
|
},
|
|
36
36
|
get WorkspaceDefaults () {
|
|
37
37
|
return _workspaceconfig.WorkspaceDefaults;
|
|
38
|
+
},
|
|
39
|
+
get createWorkspace () {
|
|
40
|
+
return _createworkspace.createWorkspace;
|
|
41
|
+
},
|
|
42
|
+
get transpileCache () {
|
|
43
|
+
return _transpilecache.transpileCache;
|
|
38
44
|
}
|
|
39
45
|
});
|
|
46
|
+
const _createworkspace = require("./create-workspace.js");
|
|
40
47
|
const _errors = require("./errors.js");
|
|
41
48
|
const _forgemodule = require("./forge.module.js");
|
|
42
49
|
const _swctranspiler = require("./services/swc-transpiler.js");
|
|
50
|
+
const _transpilecache = require("./services/transpile-cache.js");
|
|
43
51
|
const _buildtargettype = require("./types/build-target.type.js");
|
|
44
52
|
const _workspaceconfig = require("./workspace.config.js");
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JnZUVycm9yIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5leHBvcnQgeyBGb3JnZU1vZHVsZSB9IGZyb20gXCIuL2ZvcmdlLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBUcmFuc3BpbGVPcHRpb25zIH0gZnJvbSBcIi4vc2VydmljZXMvc3djLXRyYW5zcGlsZXIuanNcIjtcbmV4cG9ydCB7IFN3Y1RyYW5zcGlsZXIgfSBmcm9tIFwiLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuZXhwb3J0IHR5cGUgeyBCdWlsZFRhcmdldCwgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmV4cG9ydCB7IEJ1aWxkVGFyZ2V0cyB9IGZyb20gXCIuL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEZvcmdlQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL3R5cGVzL2NvbmZpZ3VyYXRpb24udHlwZS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBXb3Jrc3BhY2VPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXMvd29ya3NwYWNlLWNvbmZpZy50eXBlLmpzXCI7XG5leHBvcnQge1xuXHREZWJ1ZyBhcyBEZWJ1Z0NvbmZpZ3VyYXRpb24sXG5cdERlZmF1bHRDb25maWd1cmF0aW9ucyxcblx0TGluayBhcyBMaW5rQ29uZmlndXJhdGlvbixcblx0UmVsZWFzZSBhcyBSZWxlYXNlQ29uZmlndXJhdGlvbixcblx0V29ya3NwYWNlRGVmYXVsdHMsXG59IGZyb20gXCIuL3dvcmtzcGFjZS5jb25maWcuanNcIjtcbiJdLCJuYW1lcyI6WyJCdWlsZFRhcmdldHMiLCJEZWJ1Z0NvbmZpZ3VyYXRpb24iLCJEZWJ1ZyIsIkRlZmF1bHRDb25maWd1cmF0aW9ucyIsIkZvcmdlRXJyb3IiLCJGb3JnZU1vZHVsZSIsIkxpbmtDb25maWd1cmF0aW9uIiwiTGluayIsIlJlbGVhc2VDb25maWd1cmF0aW9uIiwiUmVsZWFzZSIsIlN3Y1RyYW5zcGlsZXIiLCJXb3Jrc3BhY2VEZWZhdWx0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLU0E7ZUFBQUEsNkJBQVk7O1FBSVhDO2VBQVRDLHNCQUFLOztRQUNMQztlQUFBQSxzQ0FBcUI7O1FBVmJDO2VBQUFBLGtCQUFVOztRQUNWQztlQUFBQSx3QkFBVzs7UUFVWEM7ZUFBUkMscUJBQUk7O1FBQ09DO2VBQVhDLHdCQUFPOztRQVRDQztlQUFBQSw0QkFBYTs7UUFVckJDO2VBQUFBLGtDQUFpQjs7O3dCQWJTOzZCQUNDOytCQUVFO2lDQUVEO2lDQVN0QiJ9
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "DependencyPinner", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return DependencyPinner;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
|
+
const _decorators = require("@decohere/crucible/decorators");
|
|
13
|
+
const _io = require("@decohere/core/io");
|
|
14
|
+
const _errors = require("../errors.js");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
21
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
22
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
23
|
+
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;
|
|
24
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
|
+
}
|
|
26
|
+
class DependencyPinner {
|
|
27
|
+
async pin(imported, shipped, projects, workspaceRoot) {
|
|
28
|
+
const scopes = [
|
|
29
|
+
...shipped.map((project)=>({
|
|
30
|
+
name: project.name,
|
|
31
|
+
dir: project.projectRoot,
|
|
32
|
+
pkg: project.pkg
|
|
33
|
+
})),
|
|
34
|
+
{
|
|
35
|
+
name: "the workspace root",
|
|
36
|
+
dir: workspaceRoot.dir,
|
|
37
|
+
pkg: workspaceRoot.pkg
|
|
38
|
+
}
|
|
39
|
+
];
|
|
40
|
+
const declaredBy = new Map();
|
|
41
|
+
for (const scope of scopes){
|
|
42
|
+
for (const name of Object.keys(scope.pkg.dependencies ?? {})){
|
|
43
|
+
if (projects.has(name)) {
|
|
44
|
+
continue; // a workspace library, copied from its build, never installed
|
|
45
|
+
}
|
|
46
|
+
declaredBy.set(name, [
|
|
47
|
+
...declaredBy.get(name) ?? [],
|
|
48
|
+
scope
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
this.assertImportsAreShipped(imported, declaredBy, scopes);
|
|
53
|
+
const pinned = {};
|
|
54
|
+
for (const name of [
|
|
55
|
+
...declaredBy.keys()
|
|
56
|
+
].sort()){
|
|
57
|
+
pinned[name] = await this.installedVersion(name, declaredBy.get(name) ?? [], workspaceRoot.dir);
|
|
58
|
+
}
|
|
59
|
+
return pinned;
|
|
60
|
+
}
|
|
61
|
+
assertImportsAreShipped(imported, declaredBy, scopes) {
|
|
62
|
+
for (const name of [
|
|
63
|
+
...imported.keys()
|
|
64
|
+
].sort()){
|
|
65
|
+
if (declaredBy.has(name)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const importers = [
|
|
69
|
+
...imported.get(name) ?? []
|
|
70
|
+
].sort().join(", ");
|
|
71
|
+
const devOnly = scopes.find((scope)=>scope.pkg.devDependencies?.[name] != null);
|
|
72
|
+
if (devOnly != null) {
|
|
73
|
+
throw new _errors.ForgeError(`${name} is imported at run time by ${importers}, but it is only a devDependency ` + `(of ${devOnly.name}). Move it to "dependencies".`);
|
|
74
|
+
}
|
|
75
|
+
throw new _errors.ForgeError(`${name} is imported at run time by ${importers}, but is not in "dependencies" of the ` + "deployable, any library it uses, or the workspace root package.json. Add it there.");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async installedVersion(name, declarers, workspaceRootDir) {
|
|
79
|
+
const versions = new Map();
|
|
80
|
+
for (const scope of declarers){
|
|
81
|
+
const version = await findInstalledVersion(name, scope.dir) ?? await findInstalledVersion(name, workspaceRootDir);
|
|
82
|
+
if (version == null) {
|
|
83
|
+
throw new _errors.ForgeError(`${name} is declared by ${scope.name} but is not installed. ` + "Run the package manager install first.");
|
|
84
|
+
}
|
|
85
|
+
versions.set(scope.name, version);
|
|
86
|
+
}
|
|
87
|
+
const distinct = new Set(versions.values());
|
|
88
|
+
if (distinct.size > 1) {
|
|
89
|
+
const detail = [
|
|
90
|
+
...versions
|
|
91
|
+
].map(([owner, version])=>`${owner}: ${version}`).join(", ");
|
|
92
|
+
throw new _errors.ForgeError(`${name} is installed at different versions for the packages that declare it (${detail}). ` + "One packaged app can only ship one version; align them.");
|
|
93
|
+
}
|
|
94
|
+
const [version] = distinct;
|
|
95
|
+
if (version == null) {
|
|
96
|
+
throw new _errors.ForgeError(`${name} is not installed. Run the package manager install first.`);
|
|
97
|
+
}
|
|
98
|
+
return version;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
DependencyPinner = _ts_decorate([
|
|
102
|
+
(0, _decorators.injectable)()
|
|
103
|
+
], DependencyPinner);
|
|
104
|
+
/** Looks for `node_modules/<name>` in `fromDir` and each folder above it, as Node does. */ async function findInstalledVersion(name, fromDir) {
|
|
105
|
+
let dir = _nodepath.default.resolve(fromDir);
|
|
106
|
+
for(;;){
|
|
107
|
+
const manifest = _nodepath.default.join(dir, "node_modules", name, "package.json");
|
|
108
|
+
if (await _io.io.fileExists(manifest)) {
|
|
109
|
+
const { version } = await _io.io.readJsonFile(manifest);
|
|
110
|
+
return version;
|
|
111
|
+
}
|
|
112
|
+
const parent = _nodepath.default.dirname(dir);
|
|
113
|
+
if (parent === dir) {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
dir = parent;
|
|
117
|
+
}
|
|
118
|
+
}
|