@ts-ioc-container/bundler 2.0.0 → 3.0.0
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/AGENTS.md +36 -23
- package/README.md +64 -84
- package/cjm/app.js +39 -0
- package/cjm/bin.js +2 -2
- package/cjm/cli/Application.js +58 -0
- package/cjm/cli/IErrorHandler.js +5 -0
- package/cjm/cli/decorators.js +9 -0
- package/cjm/cli/index.js +17 -0
- package/cjm/cli/options.js +25 -0
- package/cjm/cli/usage.js +19 -0
- package/cjm/domain/CliIo.js +7 -0
- package/cjm/domain/GlobalConfig.js +7 -0
- package/cjm/exceptions/DomainException.js +48 -0
- package/cjm/exceptions/ExceptionHandler.js +38 -0
- package/cjm/features/build/BuildConfig.js +146 -0
- package/cjm/features/build/BuildController.js +91 -0
- package/cjm/features/build/BuildModule.js +16 -0
- package/cjm/{ImportPaths.js → features/build/domain/ImportPaths.js} +0 -27
- package/cjm/features/build/domain/configFiles.js +35 -0
- package/cjm/{emit.js → features/build/domain/emit.js} +9 -11
- package/cjm/{scan.js → features/build/domain/scan.js} +0 -18
- package/cjm/features/build/domain/tokenCollisions.js +29 -0
- package/cjm/{tsconfig.js → features/build/domain/tsconfig.js} +17 -11
- package/cjm/features/build/services/BundleBuilder.js +93 -0
- package/cjm/features/build/services/TicConfigService.js +68 -0
- package/cjm/features/help/HelpController.js +39 -0
- package/cjm/features/help/HelpModule.js +12 -0
- package/cjm/features/help/VersionController.js +45 -0
- package/cjm/index.js +83 -26
- package/cjm/modules/CommonModule.js +28 -0
- package/cjm/schema/ticConfigSchema.js +20 -0
- package/cjm/services/ConsoleLogger.js +36 -0
- package/cjm/services/HandlebarsRenderService.js +33 -0
- package/cjm/services/NodeFileSystemService.js +32 -0
- package/cjm/services/OutputService.js +33 -0
- package/package.json +9 -7
- package/tic.schema.json +79 -113
- package/tpl/index.cjs +19 -41
- package/typings/app.d.ts +23 -0
- package/typings/cli/Application.d.ts +16 -0
- package/typings/cli/Application.d.ts.map +1 -0
- package/typings/cli/IErrorHandler.d.ts +7 -0
- package/typings/cli/IErrorHandler.d.ts.map +1 -0
- package/typings/cli/decorators.d.ts +10 -0
- package/typings/cli/decorators.d.ts.map +1 -0
- package/typings/cli/index.d.ts +6 -0
- package/typings/cli/index.d.ts.map +1 -0
- package/typings/cli/options.d.ts +23 -0
- package/typings/cli/options.d.ts.map +1 -0
- package/typings/cli/usage.d.ts +2 -0
- package/typings/cli/usage.d.ts.map +1 -0
- package/typings/domain/CliIo.d.ts +10 -0
- package/typings/domain/CliIo.d.ts.map +1 -0
- package/typings/domain/GlobalConfig.d.ts +10 -0
- package/typings/domain/GlobalConfig.d.ts.map +1 -0
- package/typings/exceptions/DomainException.d.ts +33 -0
- package/typings/exceptions/DomainException.d.ts.map +1 -0
- package/typings/exceptions/ExceptionHandler.d.ts +12 -0
- package/typings/exceptions/ExceptionHandler.d.ts.map +1 -0
- package/typings/features/build/BuildConfig.d.ts +159 -0
- package/typings/features/build/BuildConfig.d.ts.map +1 -0
- package/typings/features/build/BuildController.d.ts +31 -0
- package/typings/features/build/BuildController.d.ts.map +1 -0
- package/typings/features/build/BuildModule.d.ts +5 -0
- package/typings/features/build/BuildModule.d.ts.map +1 -0
- package/typings/{ImportPaths.d.ts → features/build/domain/ImportPaths.d.ts} +2 -9
- package/typings/features/build/domain/ImportPaths.d.ts.map +1 -0
- package/typings/features/build/domain/configFiles.d.ts +13 -0
- package/typings/features/build/domain/configFiles.d.ts.map +1 -0
- package/typings/features/build/domain/emit.d.ts +36 -0
- package/typings/features/build/domain/emit.d.ts.map +1 -0
- package/typings/features/build/domain/glob.d.ts.map +1 -0
- package/typings/{scan.d.ts → features/build/domain/scan.d.ts} +1 -3
- package/typings/features/build/domain/scan.d.ts.map +1 -0
- package/typings/features/build/domain/tokenCollisions.d.ts +14 -0
- package/typings/features/build/domain/tokenCollisions.d.ts.map +1 -0
- package/typings/features/build/domain/tsconfig.d.ts +21 -0
- package/typings/features/build/domain/tsconfig.d.ts.map +1 -0
- package/typings/features/build/services/BundleBuilder.d.ts +65 -0
- package/typings/features/build/services/BundleBuilder.d.ts.map +1 -0
- package/typings/features/build/services/TicConfigService.d.ts +37 -0
- package/typings/features/build/services/TicConfigService.d.ts.map +1 -0
- package/typings/features/help/HelpController.d.ts +8 -0
- package/typings/features/help/HelpController.d.ts.map +1 -0
- package/typings/features/help/HelpModule.d.ts +5 -0
- package/typings/features/help/HelpModule.d.ts.map +1 -0
- package/typings/features/help/VersionController.d.ts +8 -0
- package/typings/features/help/VersionController.d.ts.map +1 -0
- package/typings/index.d.ts +25 -9
- package/typings/modules/CommonModule.d.ts +9 -0
- package/typings/modules/CommonModule.d.ts.map +1 -0
- package/typings/schema/ticConfigSchema.d.ts +7 -0
- package/typings/schema/ticConfigSchema.d.ts.map +1 -0
- package/typings/services/ConsoleLogger.d.ts +20 -0
- package/typings/services/ConsoleLogger.d.ts.map +1 -0
- package/typings/services/HandlebarsRenderService.d.ts +23 -0
- package/typings/services/HandlebarsRenderService.d.ts.map +1 -0
- package/typings/services/NodeFileSystemService.d.ts +21 -0
- package/typings/services/NodeFileSystemService.d.ts.map +1 -0
- package/typings/services/OutputService.d.ts +13 -0
- package/typings/services/OutputService.d.ts.map +1 -0
- package/cjm/build.js +0 -106
- package/cjm/cli.js +0 -109
- package/cjm/config.js +0 -199
- package/cjm/errors.js +0 -15
- package/cjm/render.js +0 -15
- package/typings/build.d.ts +0 -42
- package/typings/cli.d.ts +0 -8
- package/typings/config.d.ts +0 -162
- package/typings/emit.d.ts +0 -23
- package/typings/errors.d.ts +0 -13
- package/typings/render.d.ts +0 -8
- package/typings/tsconfig.d.ts +0 -25
- /package/cjm/{glob.js → features/build/domain/glob.js} +0 -0
- /package/typings/{glob.d.ts → features/build/domain/glob.d.ts} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HelpController = void 0;
|
|
16
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
17
|
+
const cli_1 = require("../../cli");
|
|
18
|
+
const OutputService_1 = require("../../services/OutputService");
|
|
19
|
+
let HelpController = class HelpController {
|
|
20
|
+
output;
|
|
21
|
+
constructor(output) {
|
|
22
|
+
this.output = output;
|
|
23
|
+
}
|
|
24
|
+
printUsage() {
|
|
25
|
+
this.output.write(cli_1.USAGE);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.HelpController = HelpController;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, cli_1.onDefault)(ts_ioc_container_1.invoke),
|
|
31
|
+
__metadata("design:type", Function),
|
|
32
|
+
__metadata("design:paramtypes", []),
|
|
33
|
+
__metadata("design:returntype", void 0)
|
|
34
|
+
], HelpController.prototype, "printUsage", null);
|
|
35
|
+
exports.HelpController = HelpController = __decorate([
|
|
36
|
+
(0, ts_ioc_container_1.register)('help'),
|
|
37
|
+
__param(0, (0, ts_ioc_container_1.inject)((0, ts_ioc_container_1.by)(OutputService_1.IOutputServiceKey))),
|
|
38
|
+
__metadata("design:paramtypes", [Object])
|
|
39
|
+
], HelpController);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HelpModule = void 0;
|
|
4
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
5
|
+
const HelpController_1 = require("./HelpController");
|
|
6
|
+
const VersionController_1 = require("./VersionController");
|
|
7
|
+
class HelpModule {
|
|
8
|
+
applyTo(container) {
|
|
9
|
+
container.addRegistration(ts_ioc_container_1.Registration.fromClass(HelpController_1.HelpController)).addRegistration(ts_ioc_container_1.Registration.fromClass(VersionController_1.VersionController));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.HelpModule = HelpModule;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.VersionController = void 0;
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
21
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
22
|
+
const cli_1 = require("../../cli");
|
|
23
|
+
const OutputService_1 = require("../../services/OutputService");
|
|
24
|
+
const PACKAGE_JSON = node_path_1.default.resolve(__dirname, '../../../package.json');
|
|
25
|
+
let VersionController = class VersionController {
|
|
26
|
+
output;
|
|
27
|
+
constructor(output) {
|
|
28
|
+
this.output = output;
|
|
29
|
+
}
|
|
30
|
+
printVersion() {
|
|
31
|
+
this.output.write(JSON.parse((0, node_fs_1.readFileSync)(PACKAGE_JSON, 'utf8')).version);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.VersionController = VersionController;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, cli_1.onDefault)(ts_ioc_container_1.invoke),
|
|
37
|
+
__metadata("design:type", Function),
|
|
38
|
+
__metadata("design:paramtypes", []),
|
|
39
|
+
__metadata("design:returntype", void 0)
|
|
40
|
+
], VersionController.prototype, "printVersion", null);
|
|
41
|
+
exports.VersionController = VersionController = __decorate([
|
|
42
|
+
(0, ts_ioc_container_1.register)('version'),
|
|
43
|
+
__param(0, (0, ts_ioc_container_1.inject)((0, ts_ioc_container_1.by)(OutputService_1.IOutputServiceKey))),
|
|
44
|
+
__metadata("design:paramtypes", [Object])
|
|
45
|
+
], VersionController);
|
package/cjm/index.js
CHANGED
|
@@ -1,36 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.ILoggerKey = exports.StdOutputService = exports.IOutputServiceKey = exports.CommonModule = exports.HelpModule = exports.globToRegExp = exports.tokenCollisions = exports.GENERATED_HEADER = exports.BUNDLE_PROTOCOL = exports.bundleView = exports.emitBundle = exports.isSourceFile = exports.findClasses = exports.loadTsconfig = exports.ImportPaths = exports.ticConfigJsonSchema = exports.findPackageRoot = exports.findConfigFiles = exports.toClassName = exports.DEFAULT_DECORATORS = exports.DEFAULT_BUNDLE_NAME = exports.DEFAULT_EXCLUDE = exports.DEFAULT_EXTENDS = exports.CONFIG_FILE_SUFFIXES = exports.BUNDLE_CONFIG_SCHEMA = exports.resolveConfig = exports.TSCONFIG_FILE = exports.ITicConfigServiceKey = exports.TicConfigService = exports.IBundleBuilderKey = exports.BundleBuilder = exports.BUILD_OPTIONS = exports.BuildController = exports.BuildModule = exports.USAGE = exports.IErrorHandlerKey = exports.validate = exports.parseOptions = exports.commandArgs = exports.DEFAULT_ACTION = exports.onDefault = exports.action = exports.Application = exports.globalConfig = exports.GlobalConfigKey = exports.CliIoKey = exports.createContainer = exports.loadConfig = exports.run = exports.build = void 0;
|
|
4
|
+
exports.ExceptionHandler = exports.StaleBundlesError = exports.UsageError = exports.UnknownActionError = exports.UnknownCommandError = exports.MissingCommandError = exports.TicConfigError = exports.TicError = exports.renderProtocol = exports.HandlebarsRenderService = exports.IRenderServiceKey = exports.NodeFileSystemService = exports.IFileSystemServiceKey = exports.ConsoleLogger = void 0;
|
|
5
|
+
var app_1 = require("./app");
|
|
6
|
+
Object.defineProperty(exports, "build", { enumerable: true, get: function () { return app_1.build; } });
|
|
7
|
+
Object.defineProperty(exports, "run", { enumerable: true, get: function () { return app_1.run; } });
|
|
8
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return app_1.loadConfig; } });
|
|
9
|
+
Object.defineProperty(exports, "createContainer", { enumerable: true, get: function () { return app_1.createContainer; } });
|
|
10
|
+
var CliIo_1 = require("./domain/CliIo");
|
|
11
|
+
Object.defineProperty(exports, "CliIoKey", { enumerable: true, get: function () { return CliIo_1.CliIoKey; } });
|
|
12
|
+
var GlobalConfig_1 = require("./domain/GlobalConfig");
|
|
13
|
+
Object.defineProperty(exports, "GlobalConfigKey", { enumerable: true, get: function () { return GlobalConfig_1.GlobalConfigKey; } });
|
|
14
|
+
Object.defineProperty(exports, "globalConfig", { enumerable: true, get: function () { return GlobalConfig_1.globalConfig; } });
|
|
7
15
|
var cli_1 = require("./cli");
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(exports, "
|
|
11
|
-
Object.defineProperty(exports, "
|
|
12
|
-
Object.defineProperty(exports, "
|
|
13
|
-
Object.defineProperty(exports, "
|
|
14
|
-
Object.defineProperty(exports, "
|
|
15
|
-
Object.defineProperty(exports, "
|
|
16
|
-
Object.defineProperty(exports, "
|
|
17
|
-
|
|
18
|
-
Object.defineProperty(exports, "
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return cli_1.Application; } });
|
|
17
|
+
Object.defineProperty(exports, "action", { enumerable: true, get: function () { return cli_1.action; } });
|
|
18
|
+
Object.defineProperty(exports, "onDefault", { enumerable: true, get: function () { return cli_1.onDefault; } });
|
|
19
|
+
Object.defineProperty(exports, "DEFAULT_ACTION", { enumerable: true, get: function () { return cli_1.DEFAULT_ACTION; } });
|
|
20
|
+
Object.defineProperty(exports, "commandArgs", { enumerable: true, get: function () { return cli_1.commandArgs; } });
|
|
21
|
+
Object.defineProperty(exports, "parseOptions", { enumerable: true, get: function () { return cli_1.parseOptions; } });
|
|
22
|
+
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return cli_1.validate; } });
|
|
23
|
+
Object.defineProperty(exports, "IErrorHandlerKey", { enumerable: true, get: function () { return cli_1.IErrorHandlerKey; } });
|
|
24
|
+
Object.defineProperty(exports, "USAGE", { enumerable: true, get: function () { return cli_1.USAGE; } });
|
|
25
|
+
var BuildModule_1 = require("./features/build/BuildModule");
|
|
26
|
+
Object.defineProperty(exports, "BuildModule", { enumerable: true, get: function () { return BuildModule_1.BuildModule; } });
|
|
27
|
+
var BuildController_1 = require("./features/build/BuildController");
|
|
28
|
+
Object.defineProperty(exports, "BuildController", { enumerable: true, get: function () { return BuildController_1.BuildController; } });
|
|
29
|
+
Object.defineProperty(exports, "BUILD_OPTIONS", { enumerable: true, get: function () { return BuildController_1.BUILD_OPTIONS; } });
|
|
30
|
+
var BundleBuilder_1 = require("./features/build/services/BundleBuilder");
|
|
31
|
+
Object.defineProperty(exports, "BundleBuilder", { enumerable: true, get: function () { return BundleBuilder_1.BundleBuilder; } });
|
|
32
|
+
Object.defineProperty(exports, "IBundleBuilderKey", { enumerable: true, get: function () { return BundleBuilder_1.IBundleBuilderKey; } });
|
|
33
|
+
var TicConfigService_1 = require("./features/build/services/TicConfigService");
|
|
34
|
+
Object.defineProperty(exports, "TicConfigService", { enumerable: true, get: function () { return TicConfigService_1.TicConfigService; } });
|
|
35
|
+
Object.defineProperty(exports, "ITicConfigServiceKey", { enumerable: true, get: function () { return TicConfigService_1.ITicConfigServiceKey; } });
|
|
36
|
+
Object.defineProperty(exports, "TSCONFIG_FILE", { enumerable: true, get: function () { return TicConfigService_1.TSCONFIG_FILE; } });
|
|
37
|
+
var BuildConfig_1 = require("./features/build/BuildConfig");
|
|
38
|
+
Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return BuildConfig_1.resolveConfig; } });
|
|
39
|
+
Object.defineProperty(exports, "BUNDLE_CONFIG_SCHEMA", { enumerable: true, get: function () { return BuildConfig_1.BUNDLE_CONFIG_SCHEMA; } });
|
|
40
|
+
Object.defineProperty(exports, "CONFIG_FILE_SUFFIXES", { enumerable: true, get: function () { return BuildConfig_1.CONFIG_FILE_SUFFIXES; } });
|
|
41
|
+
Object.defineProperty(exports, "DEFAULT_EXTENDS", { enumerable: true, get: function () { return BuildConfig_1.DEFAULT_EXTENDS; } });
|
|
42
|
+
Object.defineProperty(exports, "DEFAULT_EXCLUDE", { enumerable: true, get: function () { return BuildConfig_1.DEFAULT_EXCLUDE; } });
|
|
43
|
+
Object.defineProperty(exports, "DEFAULT_BUNDLE_NAME", { enumerable: true, get: function () { return BuildConfig_1.DEFAULT_BUNDLE_NAME; } });
|
|
44
|
+
Object.defineProperty(exports, "DEFAULT_DECORATORS", { enumerable: true, get: function () { return BuildConfig_1.DEFAULT_DECORATORS; } });
|
|
45
|
+
Object.defineProperty(exports, "toClassName", { enumerable: true, get: function () { return BuildConfig_1.toClassName; } });
|
|
46
|
+
var configFiles_1 = require("./features/build/domain/configFiles");
|
|
47
|
+
Object.defineProperty(exports, "findConfigFiles", { enumerable: true, get: function () { return configFiles_1.findConfigFiles; } });
|
|
48
|
+
Object.defineProperty(exports, "findPackageRoot", { enumerable: true, get: function () { return configFiles_1.findPackageRoot; } });
|
|
49
|
+
var ticConfigSchema_1 = require("./schema/ticConfigSchema");
|
|
50
|
+
Object.defineProperty(exports, "ticConfigJsonSchema", { enumerable: true, get: function () { return ticConfigSchema_1.ticConfigJsonSchema; } });
|
|
51
|
+
var ImportPaths_1 = require("./features/build/domain/ImportPaths");
|
|
21
52
|
Object.defineProperty(exports, "ImportPaths", { enumerable: true, get: function () { return ImportPaths_1.ImportPaths; } });
|
|
22
|
-
var tsconfig_1 = require("./tsconfig");
|
|
53
|
+
var tsconfig_1 = require("./features/build/domain/tsconfig");
|
|
23
54
|
Object.defineProperty(exports, "loadTsconfig", { enumerable: true, get: function () { return tsconfig_1.loadTsconfig; } });
|
|
24
|
-
var scan_1 = require("./scan");
|
|
55
|
+
var scan_1 = require("./features/build/domain/scan");
|
|
25
56
|
Object.defineProperty(exports, "findClasses", { enumerable: true, get: function () { return scan_1.findClasses; } });
|
|
26
57
|
Object.defineProperty(exports, "isSourceFile", { enumerable: true, get: function () { return scan_1.isSourceFile; } });
|
|
27
|
-
|
|
28
|
-
var emit_1 = require("./emit");
|
|
58
|
+
var emit_1 = require("./features/build/domain/emit");
|
|
29
59
|
Object.defineProperty(exports, "emitBundle", { enumerable: true, get: function () { return emit_1.emitBundle; } });
|
|
60
|
+
Object.defineProperty(exports, "bundleView", { enumerable: true, get: function () { return emit_1.bundleView; } });
|
|
61
|
+
Object.defineProperty(exports, "BUNDLE_PROTOCOL", { enumerable: true, get: function () { return emit_1.BUNDLE_PROTOCOL; } });
|
|
30
62
|
Object.defineProperty(exports, "GENERATED_HEADER", { enumerable: true, get: function () { return emit_1.GENERATED_HEADER; } });
|
|
31
|
-
var
|
|
63
|
+
var tokenCollisions_1 = require("./features/build/domain/tokenCollisions");
|
|
64
|
+
Object.defineProperty(exports, "tokenCollisions", { enumerable: true, get: function () { return tokenCollisions_1.tokenCollisions; } });
|
|
65
|
+
var glob_1 = require("./features/build/domain/glob");
|
|
32
66
|
Object.defineProperty(exports, "globToRegExp", { enumerable: true, get: function () { return glob_1.globToRegExp; } });
|
|
33
|
-
var
|
|
34
|
-
Object.defineProperty(exports, "
|
|
35
|
-
|
|
36
|
-
Object.defineProperty(exports, "
|
|
67
|
+
var HelpModule_1 = require("./features/help/HelpModule");
|
|
68
|
+
Object.defineProperty(exports, "HelpModule", { enumerable: true, get: function () { return HelpModule_1.HelpModule; } });
|
|
69
|
+
var CommonModule_1 = require("./modules/CommonModule");
|
|
70
|
+
Object.defineProperty(exports, "CommonModule", { enumerable: true, get: function () { return CommonModule_1.CommonModule; } });
|
|
71
|
+
var OutputService_1 = require("./services/OutputService");
|
|
72
|
+
Object.defineProperty(exports, "IOutputServiceKey", { enumerable: true, get: function () { return OutputService_1.IOutputServiceKey; } });
|
|
73
|
+
Object.defineProperty(exports, "StdOutputService", { enumerable: true, get: function () { return OutputService_1.StdOutputService; } });
|
|
74
|
+
var ConsoleLogger_1 = require("./services/ConsoleLogger");
|
|
75
|
+
Object.defineProperty(exports, "ILoggerKey", { enumerable: true, get: function () { return ConsoleLogger_1.ILoggerKey; } });
|
|
76
|
+
Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return ConsoleLogger_1.ConsoleLogger; } });
|
|
77
|
+
var NodeFileSystemService_1 = require("./services/NodeFileSystemService");
|
|
78
|
+
Object.defineProperty(exports, "IFileSystemServiceKey", { enumerable: true, get: function () { return NodeFileSystemService_1.IFileSystemServiceKey; } });
|
|
79
|
+
Object.defineProperty(exports, "NodeFileSystemService", { enumerable: true, get: function () { return NodeFileSystemService_1.NodeFileSystemService; } });
|
|
80
|
+
var HandlebarsRenderService_1 = require("./services/HandlebarsRenderService");
|
|
81
|
+
Object.defineProperty(exports, "IRenderServiceKey", { enumerable: true, get: function () { return HandlebarsRenderService_1.IRenderServiceKey; } });
|
|
82
|
+
Object.defineProperty(exports, "HandlebarsRenderService", { enumerable: true, get: function () { return HandlebarsRenderService_1.HandlebarsRenderService; } });
|
|
83
|
+
Object.defineProperty(exports, "renderProtocol", { enumerable: true, get: function () { return HandlebarsRenderService_1.renderProtocol; } });
|
|
84
|
+
var DomainException_1 = require("./exceptions/DomainException");
|
|
85
|
+
Object.defineProperty(exports, "TicError", { enumerable: true, get: function () { return DomainException_1.TicError; } });
|
|
86
|
+
Object.defineProperty(exports, "TicConfigError", { enumerable: true, get: function () { return DomainException_1.TicConfigError; } });
|
|
87
|
+
Object.defineProperty(exports, "MissingCommandError", { enumerable: true, get: function () { return DomainException_1.MissingCommandError; } });
|
|
88
|
+
Object.defineProperty(exports, "UnknownCommandError", { enumerable: true, get: function () { return DomainException_1.UnknownCommandError; } });
|
|
89
|
+
Object.defineProperty(exports, "UnknownActionError", { enumerable: true, get: function () { return DomainException_1.UnknownActionError; } });
|
|
90
|
+
Object.defineProperty(exports, "UsageError", { enumerable: true, get: function () { return DomainException_1.UsageError; } });
|
|
91
|
+
Object.defineProperty(exports, "StaleBundlesError", { enumerable: true, get: function () { return DomainException_1.StaleBundlesError; } });
|
|
92
|
+
var ExceptionHandler_1 = require("./exceptions/ExceptionHandler");
|
|
93
|
+
Object.defineProperty(exports, "ExceptionHandler", { enumerable: true, get: function () { return ExceptionHandler_1.ExceptionHandler; } });
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommonModule = void 0;
|
|
4
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
5
|
+
const CliIo_1 = require("../domain/CliIo");
|
|
6
|
+
const GlobalConfig_1 = require("../domain/GlobalConfig");
|
|
7
|
+
const ExceptionHandler_1 = require("../exceptions/ExceptionHandler");
|
|
8
|
+
const ConsoleLogger_1 = require("../services/ConsoleLogger");
|
|
9
|
+
const HandlebarsRenderService_1 = require("../services/HandlebarsRenderService");
|
|
10
|
+
const NodeFileSystemService_1 = require("../services/NodeFileSystemService");
|
|
11
|
+
const OutputService_1 = require("../services/OutputService");
|
|
12
|
+
class CommonModule {
|
|
13
|
+
io;
|
|
14
|
+
constructor(io) {
|
|
15
|
+
this.io = io;
|
|
16
|
+
}
|
|
17
|
+
applyTo(container) {
|
|
18
|
+
container
|
|
19
|
+
.addRegistration(ts_ioc_container_1.Registration.fromValue(this.io).bindTo(CliIo_1.CliIoKey))
|
|
20
|
+
.addRegistration(ts_ioc_container_1.Registration.fromValue({ cwd: this.io.cwd }).bindTo(GlobalConfig_1.GlobalConfigKey))
|
|
21
|
+
.addRegistration(ts_ioc_container_1.Registration.fromClass(OutputService_1.StdOutputService))
|
|
22
|
+
.addRegistration(ts_ioc_container_1.Registration.fromClass(ConsoleLogger_1.ConsoleLogger))
|
|
23
|
+
.addRegistration(ts_ioc_container_1.Registration.fromClass(ExceptionHandler_1.ExceptionHandler))
|
|
24
|
+
.addRegistration(ts_ioc_container_1.Registration.fromClass(NodeFileSystemService_1.NodeFileSystemService))
|
|
25
|
+
.addRegistration(ts_ioc_container_1.Registration.fromClass(HandlebarsRenderService_1.HandlebarsRenderService));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.CommonModule = CommonModule;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ticConfigJsonSchema = ticConfigJsonSchema;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const BuildConfig_1 = require("../features/build/BuildConfig");
|
|
6
|
+
function ticConfigJsonSchema() {
|
|
7
|
+
const schema = zod_1.z.toJSONSchema(BuildConfig_1.BUNDLE_CONFIG_SCHEMA, {
|
|
8
|
+
io: 'input',
|
|
9
|
+
target: 'draft-7',
|
|
10
|
+
unrepresentable: 'any',
|
|
11
|
+
});
|
|
12
|
+
const { $schema, ...rest } = schema;
|
|
13
|
+
return {
|
|
14
|
+
$schema,
|
|
15
|
+
$id: 'https://github.com/IgorBabkin/ts-ioc-container/tree/main/packages/bundler/tic.schema.json',
|
|
16
|
+
title: '*.bundle.json / *.bundle.yaml',
|
|
17
|
+
description: "One bundle generated by `tic build` (@ts-ioc-container/bundler). `tic build` builds every `*.bundle.json` / `*.bundle.yaml` / `*.bundle.yml` at the root of the package it is invoked in, or — with none — one bundle from that package's tsconfig.json with every setting at its default. Relative paths resolve against this file's directory.",
|
|
18
|
+
...rest,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ConsoleLogger = exports.ILoggerKey = void 0;
|
|
16
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
17
|
+
const CliIo_1 = require("../domain/CliIo");
|
|
18
|
+
exports.ILoggerKey = new ts_ioc_container_1.SingleToken('ILogger');
|
|
19
|
+
let ConsoleLogger = class ConsoleLogger {
|
|
20
|
+
io;
|
|
21
|
+
constructor(io) {
|
|
22
|
+
this.io = io;
|
|
23
|
+
}
|
|
24
|
+
warn(message) {
|
|
25
|
+
this.io.stderr(`tic: warning: ${message}`);
|
|
26
|
+
}
|
|
27
|
+
error(message) {
|
|
28
|
+
this.io.stderr(`tic: ${message}`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.ConsoleLogger = ConsoleLogger;
|
|
32
|
+
exports.ConsoleLogger = ConsoleLogger = __decorate([
|
|
33
|
+
(0, ts_ioc_container_1.register)(exports.ILoggerKey),
|
|
34
|
+
__param(0, (0, ts_ioc_container_1.inject)((0, ts_ioc_container_1.by)(CliIo_1.CliIoKey))),
|
|
35
|
+
__metadata("design:paramtypes", [Object])
|
|
36
|
+
], ConsoleLogger);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.HandlebarsRenderService = exports.IRenderServiceKey = void 0;
|
|
13
|
+
exports.renderProtocol = renderProtocol;
|
|
14
|
+
require("../../tpl/index.cjs");
|
|
15
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
16
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
17
|
+
handlebars_1.default.registerHelper('join', (items, separator) => items.join(separator));
|
|
18
|
+
function renderProtocol(name, data) {
|
|
19
|
+
const protocol = handlebars_1.default.templates?.[name];
|
|
20
|
+
if (!protocol)
|
|
21
|
+
throw new Error(`Protocol not found: ${name}`);
|
|
22
|
+
return protocol(data);
|
|
23
|
+
}
|
|
24
|
+
exports.IRenderServiceKey = new ts_ioc_container_1.SingleToken('IRenderService');
|
|
25
|
+
let HandlebarsRenderService = class HandlebarsRenderService {
|
|
26
|
+
render(protocol, data) {
|
|
27
|
+
return renderProtocol(protocol, data);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.HandlebarsRenderService = HandlebarsRenderService;
|
|
31
|
+
exports.HandlebarsRenderService = HandlebarsRenderService = __decorate([
|
|
32
|
+
(0, ts_ioc_container_1.register)(exports.IRenderServiceKey)
|
|
33
|
+
], HandlebarsRenderService);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.NodeFileSystemService = exports.IFileSystemServiceKey = void 0;
|
|
13
|
+
const node_fs_1 = require("node:fs");
|
|
14
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
16
|
+
exports.IFileSystemServiceKey = new ts_ioc_container_1.SingleToken('IFileSystemService');
|
|
17
|
+
let NodeFileSystemService = class NodeFileSystemService {
|
|
18
|
+
fileExists(file) {
|
|
19
|
+
return (0, node_fs_1.existsSync)(file);
|
|
20
|
+
}
|
|
21
|
+
readFile(file) {
|
|
22
|
+
return (0, node_fs_1.readFileSync)(file, 'utf8');
|
|
23
|
+
}
|
|
24
|
+
writeFile(file, content) {
|
|
25
|
+
(0, node_fs_1.mkdirSync)(node_path_1.default.dirname(file), { recursive: true });
|
|
26
|
+
(0, node_fs_1.writeFileSync)(file, content);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.NodeFileSystemService = NodeFileSystemService;
|
|
30
|
+
exports.NodeFileSystemService = NodeFileSystemService = __decorate([
|
|
31
|
+
(0, ts_ioc_container_1.register)(exports.IFileSystemServiceKey)
|
|
32
|
+
], NodeFileSystemService);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.StdOutputService = exports.IOutputServiceKey = void 0;
|
|
16
|
+
const ts_ioc_container_1 = require("ts-ioc-container");
|
|
17
|
+
const CliIo_1 = require("../domain/CliIo");
|
|
18
|
+
exports.IOutputServiceKey = new ts_ioc_container_1.SingleToken('IOutputService');
|
|
19
|
+
let StdOutputService = class StdOutputService {
|
|
20
|
+
io;
|
|
21
|
+
constructor(io) {
|
|
22
|
+
this.io = io;
|
|
23
|
+
}
|
|
24
|
+
write(line) {
|
|
25
|
+
this.io.stdout(line);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.StdOutputService = StdOutputService;
|
|
29
|
+
exports.StdOutputService = StdOutputService = __decorate([
|
|
30
|
+
(0, ts_ioc_container_1.register)(exports.IOutputServiceKey),
|
|
31
|
+
__param(0, (0, ts_ioc_container_1.inject)((0, ts_ioc_container_1.by)(CliIo_1.CliIoKey))),
|
|
32
|
+
__metadata("design:paramtypes", [Object])
|
|
33
|
+
], StdOutputService);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ts-ioc-container/bundler",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Bundles your dependencies into a single container module for ts-ioc-container: the `tic` CLI scans folders (by path or tsconfig alias) and generates one typed bundle that registers every class — `container.useModule(new AppBundle())`.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
"author": "ibabkin <igba14@gmail.com>",
|
|
10
10
|
"homepage": "https://github.com/IgorBabkin/ts-ioc-container/tree/main/packages/bundler#readme",
|
|
11
11
|
"license": "ISC",
|
|
12
|
-
"sideEffects": false,
|
|
13
12
|
"main": "cjm/index.js",
|
|
14
13
|
"types": "typings/index.d.ts",
|
|
15
14
|
"bin": {
|
|
@@ -50,7 +49,10 @@
|
|
|
50
49
|
},
|
|
51
50
|
"dependencies": {
|
|
52
51
|
"handlebars": "^4.7.9",
|
|
53
|
-
"
|
|
52
|
+
"reflect-metadata": "^0.2.2",
|
|
53
|
+
"yaml": "^2.8.3",
|
|
54
|
+
"zod": "^4.6.5",
|
|
55
|
+
"ts-ioc-container": "75.0.0"
|
|
54
56
|
},
|
|
55
57
|
"peerDependencies": {
|
|
56
58
|
"typescript": ">=5"
|
|
@@ -58,11 +60,10 @@
|
|
|
58
60
|
"devDependencies": {
|
|
59
61
|
"@types/node": "^25.5.2",
|
|
60
62
|
"@vitest/coverage-v8": "^4.1.2",
|
|
61
|
-
"
|
|
63
|
+
"moq.ts": "^10.0.8",
|
|
62
64
|
"typescript": "5.8.3",
|
|
63
65
|
"unplugin-swc": "^1.6.0",
|
|
64
|
-
"vitest": "^4.1.11"
|
|
65
|
-
"ts-ioc-container": "74.0.0"
|
|
66
|
+
"vitest": "^4.1.11"
|
|
66
67
|
},
|
|
67
68
|
"engines": {
|
|
68
69
|
"node": ">= 18"
|
|
@@ -78,6 +79,7 @@
|
|
|
78
79
|
"lint": "eslint lib/**/*.ts __tests__/**/*.ts",
|
|
79
80
|
"lint:fix": "pnpm run lint --fix",
|
|
80
81
|
"format": "prettier --write \"lib/**/*.ts\" \"__tests__/**/*.ts\"",
|
|
81
|
-
"format:check": "prettier --check \"lib/**/*.ts\" \"__tests__/**/*.ts\""
|
|
82
|
+
"format:check": "prettier --check \"lib/**/*.ts\" \"__tests__/**/*.ts\"",
|
|
83
|
+
"generate:schema": "pnpm run build:cjm && node scripts/generate-schema.cjs"
|
|
82
84
|
}
|
|
83
85
|
}
|