@tsed/cli-core 4.4.0 → 4.4.2
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/lib/cjs/services/CliDockerComposeYaml.js +22 -2
- package/lib/cjs/services/CliDockerComposeYaml.js.map +1 -1
- package/lib/cjs/services/CliFs.js +3 -0
- package/lib/cjs/services/CliFs.js.map +1 -1
- package/lib/cjs/services/CliYaml.js +3 -15
- package/lib/cjs/services/CliYaml.js.map +1 -1
- package/lib/esm/services/CliDockerComposeYaml.js +22 -2
- package/lib/esm/services/CliDockerComposeYaml.js.map +1 -1
- package/lib/esm/services/CliFs.js +3 -0
- package/lib/esm/services/CliFs.js.map +1 -1
- package/lib/esm/services/CliYaml.js +3 -15
- package/lib/esm/services/CliYaml.js.map +1 -1
- package/lib/types/services/CliDockerComposeYaml.d.ts +4 -0
- package/lib/types/services/CliFs.d.ts +1 -0
- package/lib/types/services/CliYaml.d.ts +0 -2
- package/package.json +1 -1
- package/readme.md +1 -1
|
@@ -6,13 +6,25 @@ const di_1 = require("@tsed/di");
|
|
|
6
6
|
const change_case_1 = require("change-case");
|
|
7
7
|
const CliYaml_1 = require("./CliYaml");
|
|
8
8
|
const core_1 = require("@tsed/core");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
const CliFs_1 = require("./CliFs");
|
|
11
|
+
const ProjectPackageJson_1 = require("./ProjectPackageJson");
|
|
9
12
|
let CliDockerComposeYaml = class CliDockerComposeYaml {
|
|
10
13
|
cliYaml;
|
|
14
|
+
fs;
|
|
15
|
+
projectPackageJson;
|
|
11
16
|
async read() {
|
|
12
|
-
|
|
17
|
+
const path = "docker-compose.yml";
|
|
18
|
+
const file = !this.fs.exists(path) ? this.fs.findUpFile(this.projectPackageJson.dir, path) : path;
|
|
19
|
+
if (file) {
|
|
20
|
+
return this.cliYaml.read("docker-compose.yml");
|
|
21
|
+
}
|
|
22
|
+
return {};
|
|
13
23
|
}
|
|
14
24
|
async write(obj) {
|
|
15
|
-
|
|
25
|
+
const path = "docker-compose.yml";
|
|
26
|
+
const file = this.fs.findUpFile(this.projectPackageJson.dir, path) || (0, path_1.join)(this.projectPackageJson.dir, path);
|
|
27
|
+
return this.cliYaml.write(file, obj);
|
|
16
28
|
}
|
|
17
29
|
async addDatabaseService(name, database) {
|
|
18
30
|
const dockerCompose = await this.read();
|
|
@@ -78,6 +90,14 @@ tslib_1.__decorate([
|
|
|
78
90
|
(0, di_1.Inject)(),
|
|
79
91
|
tslib_1.__metadata("design:type", CliYaml_1.CliYaml)
|
|
80
92
|
], CliDockerComposeYaml.prototype, "cliYaml", void 0);
|
|
93
|
+
tslib_1.__decorate([
|
|
94
|
+
(0, di_1.Inject)(),
|
|
95
|
+
tslib_1.__metadata("design:type", CliFs_1.CliFs)
|
|
96
|
+
], CliDockerComposeYaml.prototype, "fs", void 0);
|
|
97
|
+
tslib_1.__decorate([
|
|
98
|
+
(0, di_1.Inject)(),
|
|
99
|
+
tslib_1.__metadata("design:type", ProjectPackageJson_1.ProjectPackageJson)
|
|
100
|
+
], CliDockerComposeYaml.prototype, "projectPackageJson", void 0);
|
|
81
101
|
CliDockerComposeYaml = tslib_1.__decorate([
|
|
82
102
|
(0, di_1.Injectable)()
|
|
83
103
|
], CliDockerComposeYaml);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliDockerComposeYaml.js","sourceRoot":"","sources":["../../../src/services/CliDockerComposeYaml.ts"],"names":[],"mappings":";;;;AAAA,iCAA4C;AAC5C,6CAAsC;AACtC,uCAAkC;AAClC,qCAAoC;
|
|
1
|
+
{"version":3,"file":"CliDockerComposeYaml.js","sourceRoot":"","sources":["../../../src/services/CliDockerComposeYaml.ts"],"names":[],"mappings":"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","sourcesContent":["import {Inject, Injectable} from \"@tsed/di\";\nimport {snakeCase} from \"change-case\";\nimport {CliYaml} from \"./CliYaml\";\nimport {setValue} from \"@tsed/core\";\nimport {join} from \"path\";\nimport {CliFs} from \"./CliFs\";\nimport {ProjectPackageJson} from \"./ProjectPackageJson\";\n\n@Injectable()\nexport class CliDockerComposeYaml {\n @Inject()\n protected cliYaml: CliYaml;\n\n @Inject()\n protected fs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n async read() {\n const path = \"docker-compose.yml\";\n const file = !this.fs.exists(path) ? this.fs.findUpFile(this.projectPackageJson.dir, path) : path;\n\n if (file) {\n return this.cliYaml.read(\"docker-compose.yml\");\n }\n\n return {};\n }\n\n async write(obj: any) {\n const path = \"docker-compose.yml\";\n const file = this.fs.findUpFile(this.projectPackageJson.dir, path) || join(this.projectPackageJson.dir, path);\n\n return this.cliYaml.write(file, obj);\n }\n\n async addDatabaseService(name: string, database: string) {\n const dockerCompose: any = await this.read();\n if (dockerCompose) {\n let value: any;\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n value = {\n image: database === \"mysql\" ? \"mysql:8.0.28-oracle\" : \"mariadb:10.7.3\",\n ports: [\"3306:3306\"],\n environment: {\n MYSQL_ROOT_PASSWORD: \"admin\",\n MYSQL_USER: \"test\",\n MYSQL_PASSWORD: \"test\",\n MYSQL_DATABASE: \"test\"\n }\n };\n break;\n case \"postgres\":\n value = {\n image: \"postgres:9.6.1\",\n ports: [\"5432:5432\"],\n volumes: [\"./pgdata:/var/lib/postgresql/data\"],\n environment: {\n POSTGRES_USER: \"test\",\n POSTGRES_PASSWORD: \"test\",\n POSTGRES_DB: \"test\"\n }\n };\n break;\n case \"cockroachdb\":\n value = {\n image: \"cockroachdb/cockroach:v2.1.4\",\n command: \"start --insecure\",\n ports: [\"26257:26257\"]\n };\n break;\n case \"mssql\":\n value = {\n image: \"mcr.microsoft.com/mssql/server:2017-latest\",\n command: \"start --insecure\",\n ports: [\"1433:1433\"],\n environment: {\n SA_PASSWORD: \"Admin12345\",\n ACCEPT_EULA: \"Y\"\n }\n };\n break;\n case \"mongodb\":\n value = {\n image: \"mongo:5.0.8\",\n ports: [\"27017:27017\"]\n };\n break;\n }\n\n setValue(dockerCompose, `services.${snakeCase(name)}`, value);\n await this.write(dockerCompose);\n }\n }\n}\n"]}
|
|
@@ -17,6 +17,9 @@ let CliFs = class CliFs {
|
|
|
17
17
|
async readFile(file, encoding) {
|
|
18
18
|
return this.raw.readFile(file, encoding);
|
|
19
19
|
}
|
|
20
|
+
async writeJson(file, data, options) {
|
|
21
|
+
await this.raw.writeFile(file, JSON.stringify(data, null, 2), options || { encoding: "utf8" });
|
|
22
|
+
}
|
|
20
23
|
writeFileSync(path, data, options) {
|
|
21
24
|
return this.raw.writeFileSync(path, data, options);
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliFs.js","sourceRoot":"","sources":["../../../src/services/CliFs.ts"],"names":[],"mappings":";;;;AAAA,iCAAoC;AAEpC,gEAA0B;AAE1B,+BAA0B;AAC1B,yDAAmD;AAG5C,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,GAAG,GAAG,kBAAE,CAAC;IAET,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAc;QACpB,OAAO,IAAA,8BAAa,EAAC,IAAA,WAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA8B,EAAE,QAAc;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAQ,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,IAAuB,EAAE,IAAS,EAAE,OAA0B;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAc,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAgC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAgC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,IAAY;QACnC,OAAO,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAe,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI;YACF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC1C,OAAO,gEAAa,GAAG,GAAC,CAAC;aAC1B;SACF;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAA,WAAI,EAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,EAAE;YACR,iEAAc,IAAI,IAAE;SACrB;QAED,iEAAc,GAAG,IAAE;IACrB,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"CliFs.js","sourceRoot":"","sources":["../../../src/services/CliFs.ts"],"names":[],"mappings":";;;;AAAA,iCAAoC;AAEpC,gEAA0B;AAE1B,+BAA0B;AAC1B,yDAAmD;AAG5C,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,GAAG,GAAG,kBAAE,CAAC;IAET,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAc;QACpB,OAAO,IAAA,8BAAa,EAAC,IAAA,WAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA8B,EAAE,QAAc;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAQ,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QAC5F,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,IAAK,EAAC,QAAQ,EAAE,MAAM,EAAS,CAAC,CAAC;IACxG,CAAC;IAED,aAAa,CAAC,IAAuB,EAAE,IAAS,EAAE,OAA0B;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAc,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAgC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAgC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,IAAY;QACnC,OAAO,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAe,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI;YACF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC1C,OAAO,gEAAa,GAAG,GAAC,CAAC;aAC1B;SACF;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAA,WAAI,EAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,EAAE;YACR,iEAAc,IAAI,IAAE;SACrB;QAED,iEAAc,GAAG,IAAE;IACrB,CAAC;CACF,CAAA;AAxDY,KAAK;IADjB,IAAA,eAAU,GAAE;GACA,KAAK,CAwDjB;AAxDY,sBAAK","sourcesContent":["import {Injectable} from \"@tsed/di\";\nimport {PathLike, WriteFileOptions} from \"fs\";\nimport Fs from \"fs-extra\";\nimport {EnsureOptions} from \"fs-extra\";\nimport {join} from \"path\";\nimport {normalizePath} from \"@tsed/normalize-path\";\n\n@Injectable()\nexport class CliFs {\n raw = Fs;\n\n exists(path: string) {\n return this.raw.existsSync(path);\n }\n\n join(...args: string[]) {\n return normalizePath(join(...args));\n }\n\n async readFile(file: string | Buffer | number, encoding?: any): Promise<string> {\n return this.raw.readFile(file, encoding) as any;\n }\n\n async writeJson(file: string | Buffer | number, data: any, options?: WriteFileOptions | string): Promise<any> {\n await this.raw.writeFile(file, JSON.stringify(data, null, 2), options || ({encoding: \"utf8\"} as any));\n }\n\n writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions) {\n return this.raw.writeFileSync(path, data, options);\n }\n\n writeFile(file: string | Buffer | number, data: any, options?: WriteFileOptions | string) {\n return this.raw.writeFile(file, data, options as any);\n }\n\n ensureDir(path: string, options?: EnsureOptions | number) {\n return this.raw.ensureDir(path, options);\n }\n\n ensureDirSync(path: string, options?: EnsureOptions | number): void {\n return this.raw.ensureDirSync(path, options);\n }\n\n findUpFile(root: string, file: string) {\n return [join(root, file), join(root, \"..\", file), join(root, \"..\", \"..\", file), join(root, \"..\", \"..\", \"..\", file)].find((path) =>\n this.exists(path)\n );\n }\n\n async importModule(mod: string, root: string = process.cwd()) {\n try {\n if (process.env.NODE_ENV === \"development\") {\n return await import(mod);\n }\n } catch (er) {}\n\n const path = this.findUpFile(root, join(\"node_modules\", mod));\n\n if (path) {\n return import(path);\n }\n\n return import(mod);\n }\n}\n"]}
|
|
@@ -4,30 +4,18 @@ exports.CliYaml = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@tsed/di");
|
|
6
6
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
7
|
-
const path_1 = require("path");
|
|
8
7
|
const CliFs_1 = require("./CliFs");
|
|
9
|
-
const ProjectPackageJson_1 = require("./ProjectPackageJson");
|
|
10
8
|
let CliYaml = class CliYaml {
|
|
11
|
-
projectPackageJson;
|
|
12
9
|
fs;
|
|
13
10
|
async read(path) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const content = await this.fs.readFile(file, { encoding: "utf8" });
|
|
17
|
-
return js_yaml_1.default.load(content);
|
|
18
|
-
}
|
|
19
|
-
return {};
|
|
11
|
+
const content = await this.fs.readFile(path, { encoding: "utf8" });
|
|
12
|
+
return js_yaml_1.default.load(content);
|
|
20
13
|
}
|
|
21
14
|
async write(path, obj) {
|
|
22
15
|
const content = js_yaml_1.default.dump(obj);
|
|
23
|
-
|
|
24
|
-
return this.fs.writeFile(file, content, { encoding: "utf8" });
|
|
16
|
+
return this.fs.writeFile(path, content, { encoding: "utf8" });
|
|
25
17
|
}
|
|
26
18
|
};
|
|
27
|
-
tslib_1.__decorate([
|
|
28
|
-
(0, di_1.Inject)(),
|
|
29
|
-
tslib_1.__metadata("design:type", ProjectPackageJson_1.ProjectPackageJson)
|
|
30
|
-
], CliYaml.prototype, "projectPackageJson", void 0);
|
|
31
19
|
tslib_1.__decorate([
|
|
32
20
|
(0, di_1.Inject)(),
|
|
33
21
|
tslib_1.__metadata("design:type", CliFs_1.CliFs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliYaml.js","sourceRoot":"","sources":["../../../src/services/CliYaml.ts"],"names":[],"mappings":";;;;AAAA,iCAA4C;AAC5C,8DAA6B;AAC7B
|
|
1
|
+
{"version":3,"file":"CliYaml.js","sourceRoot":"","sources":["../../../src/services/CliYaml.ts"],"names":[],"mappings":";;;;AAAA,iCAA4C;AAC5C,8DAA6B;AAC7B,mCAA8B;AAGvB,IAAM,OAAO,GAAb,MAAM,OAAO;IAER,EAAE,CAAQ;IAEpB,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;QAEjE,OAAO,iBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,GAAQ;QAChC,MAAM,OAAO,GAAG,iBAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAdC;IAAC,IAAA,WAAM,GAAE;sCACK,aAAK;mCAAC;AAFT,OAAO;IADnB,IAAA,eAAU,GAAE;GACA,OAAO,CAenB;AAfY,0BAAO","sourcesContent":["import {Inject, Injectable} from \"@tsed/di\";\nimport JsYaml from \"js-yaml\";\nimport {CliFs} from \"./CliFs\";\n\n@Injectable()\nexport class CliYaml {\n @Inject()\n protected fs: CliFs;\n\n async read(path: string) {\n const content = await this.fs.readFile(path, {encoding: \"utf8\"});\n\n return JsYaml.load(content);\n }\n\n async write(path: string, obj: any) {\n const content = JsYaml.dump(obj);\n\n return this.fs.writeFile(path, content, {encoding: \"utf8\"});\n }\n}\n"]}
|
|
@@ -3,13 +3,25 @@ import { Inject, Injectable } from "@tsed/di";
|
|
|
3
3
|
import { snakeCase } from "change-case";
|
|
4
4
|
import { CliYaml } from "./CliYaml.js";
|
|
5
5
|
import { setValue } from "@tsed/core";
|
|
6
|
+
import { join } from "path";
|
|
7
|
+
import { CliFs } from "./CliFs.js";
|
|
8
|
+
import { ProjectPackageJson } from "./ProjectPackageJson.js";
|
|
6
9
|
let CliDockerComposeYaml = class CliDockerComposeYaml {
|
|
7
10
|
cliYaml;
|
|
11
|
+
fs;
|
|
12
|
+
projectPackageJson;
|
|
8
13
|
async read() {
|
|
9
|
-
|
|
14
|
+
const path = "docker-compose.yml";
|
|
15
|
+
const file = !this.fs.exists(path) ? this.fs.findUpFile(this.projectPackageJson.dir, path) : path;
|
|
16
|
+
if (file) {
|
|
17
|
+
return this.cliYaml.read("docker-compose.yml");
|
|
18
|
+
}
|
|
19
|
+
return {};
|
|
10
20
|
}
|
|
11
21
|
async write(obj) {
|
|
12
|
-
|
|
22
|
+
const path = "docker-compose.yml";
|
|
23
|
+
const file = this.fs.findUpFile(this.projectPackageJson.dir, path) || join(this.projectPackageJson.dir, path);
|
|
24
|
+
return this.cliYaml.write(file, obj);
|
|
13
25
|
}
|
|
14
26
|
async addDatabaseService(name, database) {
|
|
15
27
|
const dockerCompose = await this.read();
|
|
@@ -75,6 +87,14 @@ __decorate([
|
|
|
75
87
|
Inject(),
|
|
76
88
|
__metadata("design:type", CliYaml)
|
|
77
89
|
], CliDockerComposeYaml.prototype, "cliYaml", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
Inject(),
|
|
92
|
+
__metadata("design:type", CliFs)
|
|
93
|
+
], CliDockerComposeYaml.prototype, "fs", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
Inject(),
|
|
96
|
+
__metadata("design:type", ProjectPackageJson)
|
|
97
|
+
], CliDockerComposeYaml.prototype, "projectPackageJson", void 0);
|
|
78
98
|
CliDockerComposeYaml = __decorate([
|
|
79
99
|
Injectable()
|
|
80
100
|
], CliDockerComposeYaml);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliDockerComposeYaml.js","sourceRoot":"","sources":["../../../src/services/CliDockerComposeYaml.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"CliDockerComposeYaml.js","sourceRoot":"","sources":["../../../src/services/CliDockerComposeYaml.ts"],"names":[],"mappings":"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","sourcesContent":["import {Inject, Injectable} from \"@tsed/di\";\nimport {snakeCase} from \"change-case\";\nimport {CliYaml} from \"./CliYaml\";\nimport {setValue} from \"@tsed/core\";\nimport {join} from \"path\";\nimport {CliFs} from \"./CliFs\";\nimport {ProjectPackageJson} from \"./ProjectPackageJson\";\n\n@Injectable()\nexport class CliDockerComposeYaml {\n @Inject()\n protected cliYaml: CliYaml;\n\n @Inject()\n protected fs: CliFs;\n\n @Inject()\n protected projectPackageJson: ProjectPackageJson;\n\n async read() {\n const path = \"docker-compose.yml\";\n const file = !this.fs.exists(path) ? this.fs.findUpFile(this.projectPackageJson.dir, path) : path;\n\n if (file) {\n return this.cliYaml.read(\"docker-compose.yml\");\n }\n\n return {};\n }\n\n async write(obj: any) {\n const path = \"docker-compose.yml\";\n const file = this.fs.findUpFile(this.projectPackageJson.dir, path) || join(this.projectPackageJson.dir, path);\n\n return this.cliYaml.write(file, obj);\n }\n\n async addDatabaseService(name: string, database: string) {\n const dockerCompose: any = await this.read();\n if (dockerCompose) {\n let value: any;\n switch (database) {\n case \"mysql\":\n case \"mariadb\":\n value = {\n image: database === \"mysql\" ? \"mysql:8.0.28-oracle\" : \"mariadb:10.7.3\",\n ports: [\"3306:3306\"],\n environment: {\n MYSQL_ROOT_PASSWORD: \"admin\",\n MYSQL_USER: \"test\",\n MYSQL_PASSWORD: \"test\",\n MYSQL_DATABASE: \"test\"\n }\n };\n break;\n case \"postgres\":\n value = {\n image: \"postgres:9.6.1\",\n ports: [\"5432:5432\"],\n volumes: [\"./pgdata:/var/lib/postgresql/data\"],\n environment: {\n POSTGRES_USER: \"test\",\n POSTGRES_PASSWORD: \"test\",\n POSTGRES_DB: \"test\"\n }\n };\n break;\n case \"cockroachdb\":\n value = {\n image: \"cockroachdb/cockroach:v2.1.4\",\n command: \"start --insecure\",\n ports: [\"26257:26257\"]\n };\n break;\n case \"mssql\":\n value = {\n image: \"mcr.microsoft.com/mssql/server:2017-latest\",\n command: \"start --insecure\",\n ports: [\"1433:1433\"],\n environment: {\n SA_PASSWORD: \"Admin12345\",\n ACCEPT_EULA: \"Y\"\n }\n };\n break;\n case \"mongodb\":\n value = {\n image: \"mongo:5.0.8\",\n ports: [\"27017:27017\"]\n };\n break;\n }\n\n setValue(dockerCompose, `services.${snakeCase(name)}`, value);\n await this.write(dockerCompose);\n }\n }\n}\n"]}
|
|
@@ -14,6 +14,9 @@ let CliFs = class CliFs {
|
|
|
14
14
|
async readFile(file, encoding) {
|
|
15
15
|
return this.raw.readFile(file, encoding);
|
|
16
16
|
}
|
|
17
|
+
async writeJson(file, data, options) {
|
|
18
|
+
await this.raw.writeFile(file, JSON.stringify(data, null, 2), options || { encoding: "utf8" });
|
|
19
|
+
}
|
|
17
20
|
writeFileSync(path, data, options) {
|
|
18
21
|
return this.raw.writeFileSync(path, data, options);
|
|
19
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliFs.js","sourceRoot":"","sources":["../../../src/services/CliFs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAG5C,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,GAAG,GAAG,EAAE,CAAC;IAET,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAc;QACpB,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA8B,EAAE,QAAc;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAQ,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,IAAuB,EAAE,IAAS,EAAE,OAA0B;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAc,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAgC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAgC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,IAAY;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAe,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI;YACF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC1C,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,EAAE;YACR,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"CliFs.js","sourceRoot":"","sources":["../../../src/services/CliFs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAG5C,IAAM,KAAK,GAAX,MAAM,KAAK;IAChB,GAAG,GAAG,EAAE,CAAC;IAET,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAc;QACpB,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA8B,EAAE,QAAc;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAQ,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QAC5F,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,IAAK,EAAC,QAAQ,EAAE,MAAM,EAAS,CAAC,CAAC;IACxG,CAAC;IAED,aAAa,CAAC,IAAuB,EAAE,IAAS,EAAE,OAA0B;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,IAA8B,EAAE,IAAS,EAAE,OAAmC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAc,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAgC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAgC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,IAAY;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,OAAe,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI;YACF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;gBAC1C,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,EAAE;YACR,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAxDY,KAAK;IADjB,UAAU,EAAE;GACA,KAAK,CAwDjB;SAxDY,KAAK","sourcesContent":["import {Injectable} from \"@tsed/di\";\nimport {PathLike, WriteFileOptions} from \"fs\";\nimport Fs from \"fs-extra\";\nimport {EnsureOptions} from \"fs-extra\";\nimport {join} from \"path\";\nimport {normalizePath} from \"@tsed/normalize-path\";\n\n@Injectable()\nexport class CliFs {\n raw = Fs;\n\n exists(path: string) {\n return this.raw.existsSync(path);\n }\n\n join(...args: string[]) {\n return normalizePath(join(...args));\n }\n\n async readFile(file: string | Buffer | number, encoding?: any): Promise<string> {\n return this.raw.readFile(file, encoding) as any;\n }\n\n async writeJson(file: string | Buffer | number, data: any, options?: WriteFileOptions | string): Promise<any> {\n await this.raw.writeFile(file, JSON.stringify(data, null, 2), options || ({encoding: \"utf8\"} as any));\n }\n\n writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions) {\n return this.raw.writeFileSync(path, data, options);\n }\n\n writeFile(file: string | Buffer | number, data: any, options?: WriteFileOptions | string) {\n return this.raw.writeFile(file, data, options as any);\n }\n\n ensureDir(path: string, options?: EnsureOptions | number) {\n return this.raw.ensureDir(path, options);\n }\n\n ensureDirSync(path: string, options?: EnsureOptions | number): void {\n return this.raw.ensureDirSync(path, options);\n }\n\n findUpFile(root: string, file: string) {\n return [join(root, file), join(root, \"..\", file), join(root, \"..\", \"..\", file), join(root, \"..\", \"..\", \"..\", file)].find((path) =>\n this.exists(path)\n );\n }\n\n async importModule(mod: string, root: string = process.cwd()) {\n try {\n if (process.env.NODE_ENV === \"development\") {\n return await import(mod);\n }\n } catch (er) {}\n\n const path = this.findUpFile(root, join(\"node_modules\", mod));\n\n if (path) {\n return import(path);\n }\n\n return import(mod);\n }\n}\n"]}
|
|
@@ -1,30 +1,18 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Inject, Injectable } from "@tsed/di";
|
|
3
3
|
import JsYaml from "js-yaml";
|
|
4
|
-
import { join } from "path";
|
|
5
4
|
import { CliFs } from "./CliFs.js";
|
|
6
|
-
import { ProjectPackageJson } from "./ProjectPackageJson.js";
|
|
7
5
|
let CliYaml = class CliYaml {
|
|
8
|
-
projectPackageJson;
|
|
9
6
|
fs;
|
|
10
7
|
async read(path) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
const content = await this.fs.readFile(file, { encoding: "utf8" });
|
|
14
|
-
return JsYaml.load(content);
|
|
15
|
-
}
|
|
16
|
-
return {};
|
|
8
|
+
const content = await this.fs.readFile(path, { encoding: "utf8" });
|
|
9
|
+
return JsYaml.load(content);
|
|
17
10
|
}
|
|
18
11
|
async write(path, obj) {
|
|
19
12
|
const content = JsYaml.dump(obj);
|
|
20
|
-
|
|
21
|
-
return this.fs.writeFile(file, content, { encoding: "utf8" });
|
|
13
|
+
return this.fs.writeFile(path, content, { encoding: "utf8" });
|
|
22
14
|
}
|
|
23
15
|
};
|
|
24
|
-
__decorate([
|
|
25
|
-
Inject(),
|
|
26
|
-
__metadata("design:type", ProjectPackageJson)
|
|
27
|
-
], CliYaml.prototype, "projectPackageJson", void 0);
|
|
28
16
|
__decorate([
|
|
29
17
|
Inject(),
|
|
30
18
|
__metadata("design:type", CliFs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliYaml.js","sourceRoot":"","sources":["../../../src/services/CliYaml.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"CliYaml.js","sourceRoot":"","sources":["../../../src/services/CliYaml.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAGvB,IAAM,OAAO,GAAb,MAAM,OAAO;IAER,EAAE,CAAQ;IAEpB,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;QAEjE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,GAAQ;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAdC;IAAC,MAAM,EAAE;8BACK,KAAK;mCAAC;AAFT,OAAO;IADnB,UAAU,EAAE;GACA,OAAO,CAenB;SAfY,OAAO","sourcesContent":["import {Inject, Injectable} from \"@tsed/di\";\nimport JsYaml from \"js-yaml\";\nimport {CliFs} from \"./CliFs\";\n\n@Injectable()\nexport class CliYaml {\n @Inject()\n protected fs: CliFs;\n\n async read(path: string) {\n const content = await this.fs.readFile(path, {encoding: \"utf8\"});\n\n return JsYaml.load(content);\n }\n\n async write(path: string, obj: any) {\n const content = JsYaml.dump(obj);\n\n return this.fs.writeFile(path, content, {encoding: \"utf8\"});\n }\n}\n"]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { CliYaml } from "./CliYaml";
|
|
2
|
+
import { CliFs } from "./CliFs";
|
|
3
|
+
import { ProjectPackageJson } from "./ProjectPackageJson";
|
|
2
4
|
export declare class CliDockerComposeYaml {
|
|
3
5
|
protected cliYaml: CliYaml;
|
|
6
|
+
protected fs: CliFs;
|
|
7
|
+
protected projectPackageJson: ProjectPackageJson;
|
|
4
8
|
read(): Promise<unknown>;
|
|
5
9
|
write(obj: any): Promise<void>;
|
|
6
10
|
addDatabaseService(name: string, database: string): Promise<void>;
|
|
@@ -8,6 +8,7 @@ export declare class CliFs {
|
|
|
8
8
|
exists(path: string): boolean;
|
|
9
9
|
join(...args: string[]): string;
|
|
10
10
|
readFile(file: string | Buffer | number, encoding?: any): Promise<string>;
|
|
11
|
+
writeJson(file: string | Buffer | number, data: any, options?: WriteFileOptions | string): Promise<any>;
|
|
11
12
|
writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions): void;
|
|
12
13
|
writeFile(file: string | Buffer | number, data: any, options?: WriteFileOptions | string): void;
|
|
13
14
|
ensureDir(path: string, options?: EnsureOptions | number): Promise<void>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { CliFs } from "./CliFs";
|
|
2
|
-
import { ProjectPackageJson } from "./ProjectPackageJson";
|
|
3
2
|
export declare class CliYaml {
|
|
4
|
-
protected projectPackageJson: ProjectPackageJson;
|
|
5
3
|
protected fs: CliFs;
|
|
6
4
|
read(path: string): Promise<unknown>;
|
|
7
5
|
write(path: string, obj: any): Promise<void>;
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -348,7 +348,7 @@ website. [[Become a sponsor](https://opencollective.com/tsed#sponsor)]
|
|
|
348
348
|
|
|
349
349
|
The MIT License (MIT)
|
|
350
350
|
|
|
351
|
-
Copyright (c) 2016 -
|
|
351
|
+
Copyright (c) 2016 - 2023 Romain Lenzotti
|
|
352
352
|
|
|
353
353
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
354
354
|
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|