@dolphjs/cli 1.1.10 โ 1.1.12
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/dist/generators/generate_controller.js +15 -24
- package/dist/generators/generate_model.js +15 -27
- package/dist/generators/generate_mysql.js +15 -30
- package/dist/generators/generate_routes.js +15 -23
- package/dist/generators/generate_service.js +16 -28
- package/dist/generators/spring/generate_spring_component.js +14 -9
- package/dist/generators/spring/generate_spring_controller.js +14 -9
- package/dist/generators/spring/generate_spring_model.js +14 -9
- package/dist/generators/spring/generate_spring_service.js +14 -9
- package/dist/generators/templates/spring_service_template.js +1 -1
- package/dist/registers/register_component.js +1 -3
- package/dist/utils/package_generator.js +0 -9
- package/package.json +1 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFile } from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { promisify } from "util";
|
|
4
5
|
import { readConfig } from "../utils/read_user_config_path.js";
|
|
5
6
|
import { resolveControllerContent } from "./resolvers/resolve_controller_content.js";
|
|
6
7
|
import { generateController as generateSpringController } from "./spring/generate_spring_controller.js";
|
|
8
|
+
const writeFileAsync = promisify(writeFile);
|
|
7
9
|
const createControllerDirectory = () => {
|
|
8
10
|
const projectRoot = path.join(process.cwd());
|
|
9
11
|
const userControllerFilePath = path.join(projectRoot, "/src/controllers");
|
|
@@ -11,36 +13,30 @@ const createControllerDirectory = () => {
|
|
|
11
13
|
mkdirSync(userControllerFilePath);
|
|
12
14
|
}
|
|
13
15
|
};
|
|
14
|
-
// removed other possible dirs to enforce dolphjs style guide
|
|
15
16
|
const findControllerDirectory = () => {
|
|
16
17
|
const rootDir = process.cwd();
|
|
17
|
-
const possibleDirs = [
|
|
18
|
-
"/src/controllers",
|
|
19
|
-
// "/src/Controllers",
|
|
20
|
-
// "/src/controller",
|
|
21
|
-
// "/src/Controller",
|
|
22
|
-
// "/Controller",
|
|
23
|
-
// "/Controllers",
|
|
24
|
-
// "/controllers",
|
|
25
|
-
// "/controller",
|
|
26
|
-
];
|
|
18
|
+
const possibleDirs = ["/src/controllers"];
|
|
27
19
|
const controllerDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
|
|
28
20
|
return controllerDir ? path.join(rootDir, controllerDir) : null;
|
|
29
21
|
};
|
|
30
22
|
export const generateControllerFile = async (name, controllerDir, readConfig) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
try {
|
|
24
|
+
await writeFileAsync(controllerDir, resolveControllerContent(readConfig, name));
|
|
25
|
+
console.log(`${chalk.bold(chalk.green(`${name}.controller.${readConfig().language} generated successfully! ๐`))}`);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.log(chalk.bold(chalk.red(error.toString())));
|
|
29
|
+
}
|
|
36
30
|
};
|
|
37
31
|
export const generateController = async (name) => {
|
|
38
32
|
if (readConfig().routing === "spring") {
|
|
39
33
|
generateSpringController(name);
|
|
40
34
|
}
|
|
41
35
|
else {
|
|
42
|
-
if (!name)
|
|
43
|
-
chalk.bold(chalk.red("Controller extension or name is required! ๐คจ"));
|
|
36
|
+
if (!name) {
|
|
37
|
+
console.log(chalk.bold(chalk.red("Controller extension or name is required! ๐คจ")));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
44
40
|
let controllerDir = findControllerDirectory();
|
|
45
41
|
if (!controllerDir) {
|
|
46
42
|
createControllerDirectory();
|
|
@@ -49,18 +45,13 @@ export const generateController = async (name) => {
|
|
|
49
45
|
const controllerDirName = path.join(controllerDir, name);
|
|
50
46
|
const controllerFilePath = path.join(controllerDirName + `/${name}.controller.${readConfig().language}`);
|
|
51
47
|
try {
|
|
52
|
-
// Create the generate controller path
|
|
53
48
|
if (readConfig().generateFolder === "true" || true) {
|
|
54
49
|
mkdirSync(controllerDirName);
|
|
55
50
|
}
|
|
56
|
-
|
|
57
|
-
generateControllerFile(name, path.join(controllerFilePath), readConfig
|
|
58
|
-
// controllerDirName,
|
|
59
|
-
);
|
|
51
|
+
generateControllerFile(name, path.join(controllerFilePath), readConfig);
|
|
60
52
|
}
|
|
61
53
|
catch (e) {
|
|
62
54
|
console.log(chalk.bold(chalk.red(e)));
|
|
63
55
|
}
|
|
64
|
-
console.log(`${chalk.bold(chalk.green(`${name}.controller.${readConfig().language} generated successfully! ๐`))}`);
|
|
65
56
|
}
|
|
66
57
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFile } from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { promisify } from "util";
|
|
4
5
|
import { readConfig } from "../utils/read_user_config_path.js";
|
|
5
6
|
import { resolveModelContent } from "./resolvers/resolve_model_content.js";
|
|
6
7
|
import { generateModel as generateSpringModel } from "./spring/generate_spring_model.js";
|
|
8
|
+
const writeFileAsync = promisify(writeFile);
|
|
7
9
|
const createModelDirectory = () => {
|
|
8
10
|
const projectRoot = path.join(process.cwd());
|
|
9
11
|
const userModelFilePath = path.join(projectRoot, "/src/models");
|
|
@@ -11,57 +13,43 @@ const createModelDirectory = () => {
|
|
|
11
13
|
mkdirSync(userModelFilePath);
|
|
12
14
|
}
|
|
13
15
|
};
|
|
14
|
-
// removed other possible dirs to enforce dolphjs style guide
|
|
15
16
|
const findModelDirectory = () => {
|
|
16
17
|
const rootDir = process.cwd();
|
|
17
|
-
const possibleDirs = [
|
|
18
|
-
"/src/models",
|
|
19
|
-
// "/src/Models",
|
|
20
|
-
// "/src/model",
|
|
21
|
-
// "/src/Model",
|
|
22
|
-
// "/Models",
|
|
23
|
-
// "/Model",
|
|
24
|
-
// "/models",
|
|
25
|
-
// "/model",
|
|
26
|
-
];
|
|
18
|
+
const possibleDirs = ["/src/models"];
|
|
27
19
|
const modelDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
|
|
28
20
|
return modelDir ? path.join(rootDir, modelDir) : null;
|
|
29
21
|
};
|
|
30
22
|
export const generateModelFile = async (name, modelDir, readConfig) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
try {
|
|
24
|
+
await writeFileAsync(modelDir, resolveModelContent(readConfig, name));
|
|
25
|
+
console.log(`${chalk.bold(chalk.green(`${name}.model.${readConfig().language} generated successfully! ๐`))}`);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.log(chalk.bold(chalk.red(error.toString())));
|
|
29
|
+
}
|
|
36
30
|
};
|
|
37
31
|
export const generateModel = async (name) => {
|
|
38
32
|
if (readConfig().routing === "spring") {
|
|
39
33
|
generateSpringModel(name, readConfig().database === "mongo" ? true : false, readConfig().database === "mysql" ? true : false);
|
|
40
34
|
}
|
|
41
35
|
else {
|
|
42
|
-
if (!name)
|
|
43
|
-
chalk.bold(chalk.red("Model extension or name is required! ๐คจ"));
|
|
36
|
+
if (!name) {
|
|
37
|
+
console.log(chalk.bold(chalk.red("Model extension or name is required! ๐คจ")));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
44
40
|
let modelDir = findModelDirectory();
|
|
45
41
|
if (!modelDir) {
|
|
46
|
-
//TODO: create one if it doesn't exist
|
|
47
|
-
// console.log(chalk.bold(chalk.red("Model directory doesn't exist ๐คจ")));
|
|
48
|
-
// return;
|
|
49
42
|
createModelDirectory();
|
|
50
43
|
modelDir = findModelDirectory();
|
|
51
44
|
}
|
|
52
45
|
const modelDirName = path.join(modelDir, name);
|
|
53
46
|
const modelFilePath = path.join(modelDirName + `/${name}.model.${readConfig().language}`);
|
|
54
47
|
try {
|
|
55
|
-
// Create the generate controller path
|
|
56
48
|
mkdirSync(modelDirName);
|
|
57
|
-
|
|
58
|
-
generateModelFile(name, path.join(modelFilePath), readConfig
|
|
59
|
-
// modelDirName,
|
|
60
|
-
);
|
|
49
|
+
generateModelFile(name, path.join(modelFilePath), readConfig);
|
|
61
50
|
}
|
|
62
51
|
catch (e) {
|
|
63
52
|
console.log(chalk.bold(chalk.red(e)));
|
|
64
53
|
}
|
|
65
54
|
}
|
|
66
|
-
console.log(`${chalk.bold(chalk.green(`${name}.model.${readConfig().language} generated successfully! ๐`))}`);
|
|
67
55
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFile } from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { promisify } from "util";
|
|
4
5
|
import { readConfig } from "../utils/read_user_config_path.js";
|
|
5
6
|
import { resolveMySqlContent } from "./resolvers/resolve_model_content.js";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createConfigDirectory = () => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userConfigFilePath = path.join(projectRoot, "/src/configs");
|
|
@@ -10,54 +12,37 @@ const createConfigDirectory = () => {
|
|
|
10
12
|
mkdirSync(userConfigFilePath);
|
|
11
13
|
}
|
|
12
14
|
};
|
|
13
|
-
// removed other possible dirs to enforce dolphjs style guide
|
|
14
15
|
const findConfigDirectory = () => {
|
|
15
16
|
const rootDir = process.cwd();
|
|
16
|
-
const possibleDirs = [
|
|
17
|
-
// "/src/Configs",
|
|
18
|
-
// "/src/Config",
|
|
19
|
-
"/src/configs",
|
|
20
|
-
// "/src/config",
|
|
21
|
-
// "/Configs",
|
|
22
|
-
// "/configs",
|
|
23
|
-
// "/config",
|
|
24
|
-
// "/Config",
|
|
25
|
-
];
|
|
17
|
+
const possibleDirs = ["/src/configs"];
|
|
26
18
|
const configDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
|
|
27
19
|
return configDir ? path.join(rootDir, configDir) : null;
|
|
28
20
|
};
|
|
29
21
|
export const generateConfigFile = async (name, configDir, readConfig) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(configDir, resolveMySqlContent(readConfig));
|
|
24
|
+
console.log(`${chalk.bold(chalk.green(`db.config.${readConfig().language} generated successfully! ๐`))}`);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.log(chalk.bold(chalk.red(error.toString())));
|
|
28
|
+
}
|
|
35
29
|
};
|
|
36
30
|
export const generateConfig = async (name) => {
|
|
37
|
-
if (!name)
|
|
38
|
-
chalk.bold(chalk.red("Config extension or name is required! ๐คจ"));
|
|
31
|
+
if (!name) {
|
|
32
|
+
console.log(chalk.bold(chalk.red("Config extension or name is required! ๐คจ")));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
39
35
|
let configDir = findConfigDirectory();
|
|
40
36
|
if (!configDir) {
|
|
41
|
-
//TODO: create one if it doesn't exist
|
|
42
|
-
// console.log(chalk.bold(chalk.red("Config directory doesn't exist ๐คจ")));
|
|
43
|
-
// return;
|
|
44
37
|
createConfigDirectory();
|
|
45
38
|
configDir = findConfigDirectory();
|
|
46
39
|
}
|
|
47
40
|
const configDirName = configDir;
|
|
48
41
|
const configFilePath = path.join(configDirName + `/db.configs.${readConfig().language}`);
|
|
49
42
|
try {
|
|
50
|
-
|
|
51
|
-
// if (readConfig().generateFolder === "true" || true) {
|
|
52
|
-
// mkdirSync(configDirName);
|
|
53
|
-
// }
|
|
54
|
-
//TODO: if no index.ts file, create one too
|
|
55
|
-
generateConfigFile(name, path.join(configFilePath), readConfig
|
|
56
|
-
// configDirName,
|
|
57
|
-
);
|
|
43
|
+
generateConfigFile(name, path.join(configFilePath), readConfig);
|
|
58
44
|
}
|
|
59
45
|
catch (e) {
|
|
60
46
|
console.log(chalk.bold(chalk.red(e)));
|
|
61
47
|
}
|
|
62
|
-
console.log(`${chalk.bold(chalk.green(`db.config.${readConfig().language} generated successfully! ๐`))}`);
|
|
63
48
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFile } from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { promisify } from "util";
|
|
4
5
|
import { readConfig } from "../utils/read_user_config_path.js";
|
|
5
6
|
import { resolveRoutesContent } from "./resolvers/resolve_routes_content.js";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createRoutesDirectory = () => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userRoutesFilePath = path.join(projectRoot, "/src/routes");
|
|
@@ -10,50 +12,40 @@ const createRoutesDirectory = () => {
|
|
|
10
12
|
mkdirSync(userRoutesFilePath);
|
|
11
13
|
}
|
|
12
14
|
};
|
|
13
|
-
// removed other possible dirs to enforce dolphjs style guide
|
|
14
15
|
const findRoutesDirectory = () => {
|
|
15
16
|
const rootDir = process.cwd();
|
|
16
|
-
const possibleDirs = [
|
|
17
|
-
"/src/routes",
|
|
18
|
-
// "/src/Routes",
|
|
19
|
-
// "/Routes",
|
|
20
|
-
// "/routes"
|
|
21
|
-
];
|
|
17
|
+
const possibleDirs = ["/src/routes"];
|
|
22
18
|
const routesDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
|
|
23
19
|
return routesDir ? path.join(rootDir, routesDir) : null;
|
|
24
20
|
};
|
|
25
21
|
export const generateRoutesFile = async (name, routesDir, readConfig) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(routesDir, resolveRoutesContent(readConfig, name));
|
|
24
|
+
console.log(`${chalk.bold(chalk.green(`${name}.routes.${readConfig().language} generated successfully! ๐`))}`);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.log(chalk.bold(chalk.red(error.toString())));
|
|
28
|
+
}
|
|
31
29
|
};
|
|
32
30
|
export const generateRouter = async (name) => {
|
|
33
|
-
if (!name)
|
|
34
|
-
chalk.bold(chalk.red("Routes extension or name is required! ๐คจ"));
|
|
31
|
+
if (!name) {
|
|
32
|
+
console.log(chalk.bold(chalk.red("Routes extension or name is required! ๐คจ")));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
35
|
let routesDir = findRoutesDirectory();
|
|
36
36
|
if (!routesDir) {
|
|
37
|
-
//TODO: create one if it doesn't exist
|
|
38
|
-
// console.log(chalk.bold(chalk.red("routes directory doesn't exist ๐คจ")));
|
|
39
|
-
// return;
|
|
40
37
|
createRoutesDirectory();
|
|
41
38
|
routesDir = findRoutesDirectory();
|
|
42
39
|
}
|
|
43
40
|
const routesDirName = path.join(routesDir, name);
|
|
44
41
|
const routesFilePath = path.join(routesDirName + `/${name}.routes.${readConfig().language}`);
|
|
45
42
|
try {
|
|
46
|
-
// Create the generate controller path
|
|
47
43
|
if (readConfig().generateFolder === "true" || true) {
|
|
48
44
|
mkdirSync(routesDirName);
|
|
49
45
|
}
|
|
50
|
-
|
|
51
|
-
generateRoutesFile(name, path.join(routesFilePath), readConfig
|
|
52
|
-
// routesDirName,
|
|
53
|
-
);
|
|
46
|
+
generateRoutesFile(name, path.join(routesFilePath), readConfig);
|
|
54
47
|
}
|
|
55
48
|
catch (e) {
|
|
56
49
|
console.log(chalk.bold(chalk.red(e)));
|
|
57
50
|
}
|
|
58
|
-
console.log(`${chalk.bold(chalk.green(`${name}.routes.${readConfig().language} generated successfully! ๐`))}`);
|
|
59
51
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFile } from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { promisify } from "util";
|
|
4
5
|
import { readConfig } from "../utils/read_user_config_path.js";
|
|
5
6
|
import { resolveServiceContent } from "./resolvers/resolve_service_content.js";
|
|
6
7
|
import { generateService as generateSpringService } from "./spring/generate_spring_service.js";
|
|
8
|
+
const writeFileAsync = promisify(writeFile);
|
|
7
9
|
const createServiceDirectory = () => {
|
|
8
10
|
const projectRoot = path.join(process.cwd());
|
|
9
11
|
const userServiceFilePath = path.join(projectRoot, "/src/services");
|
|
@@ -11,59 +13,45 @@ const createServiceDirectory = () => {
|
|
|
11
13
|
mkdirSync(userServiceFilePath);
|
|
12
14
|
}
|
|
13
15
|
};
|
|
14
|
-
// removed other possible dirs to enforce dolphjs style guide
|
|
15
16
|
const findServiceDirectory = () => {
|
|
16
17
|
const rootDir = process.cwd();
|
|
17
|
-
const possibleDirs = [
|
|
18
|
-
"/src/services",
|
|
19
|
-
// "/src/Services",
|
|
20
|
-
// "/src/service",
|
|
21
|
-
// "/src/Services",
|
|
22
|
-
// "/Service",
|
|
23
|
-
// "/Services",
|
|
24
|
-
// "/services",
|
|
25
|
-
// "/service",
|
|
26
|
-
];
|
|
18
|
+
const possibleDirs = ["/src/services"];
|
|
27
19
|
const serviceDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
|
|
28
20
|
return serviceDir ? path.join(rootDir, serviceDir) : null;
|
|
29
21
|
};
|
|
30
22
|
export const generateServiceFile = async (name, serviceDir, readConfig) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
try {
|
|
24
|
+
await writeFileAsync(serviceDir, resolveServiceContent(readConfig, name));
|
|
25
|
+
console.log(`${chalk.bold(chalk.green(`${name}.service.${readConfig().language} generated successfully! ๐`))}`);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.log(chalk.bold(chalk.red(error.toString())));
|
|
29
|
+
}
|
|
36
30
|
};
|
|
37
31
|
export const generateService = async (name) => {
|
|
38
32
|
if (readConfig().routing === "spring") {
|
|
39
33
|
generateSpringService(name, readConfig().database === "mongo" ? true : false, readConfig().database === "mysql" ? true : false);
|
|
40
34
|
}
|
|
41
|
-
{
|
|
42
|
-
if (!name)
|
|
43
|
-
chalk.bold(chalk.red("Service extension or name is required! ๐คจ"));
|
|
35
|
+
else {
|
|
36
|
+
if (!name) {
|
|
37
|
+
console.log(chalk.bold(chalk.red("Service extension or name is required! ๐คจ")));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
44
40
|
let serviceDir = findServiceDirectory();
|
|
45
41
|
if (!serviceDir) {
|
|
46
|
-
//TODO: create one if it doesn't exist
|
|
47
|
-
// console.log(chalk.bold(chalk.red("Service directory doesn't exist ๐คจ")));
|
|
48
|
-
// return;
|
|
49
42
|
createServiceDirectory();
|
|
50
43
|
serviceDir = findServiceDirectory();
|
|
51
44
|
}
|
|
52
45
|
const serviceDirName = path.join(serviceDir, name);
|
|
53
46
|
const serviceFilePath = path.join(serviceDirName + `/${name}.service.${readConfig().language}`);
|
|
54
47
|
try {
|
|
55
|
-
// Create the generate controller path
|
|
56
48
|
if (readConfig().generateFolder === "true" || true) {
|
|
57
49
|
mkdirSync(serviceDirName);
|
|
58
50
|
}
|
|
59
|
-
|
|
60
|
-
generateServiceFile(name, path.join(serviceFilePath), readConfig
|
|
61
|
-
// serviceDirName,
|
|
62
|
-
);
|
|
51
|
+
generateServiceFile(name, path.join(serviceFilePath), readConfig);
|
|
63
52
|
}
|
|
64
53
|
catch (e) {
|
|
65
54
|
console.log(chalk.bold(chalk.red(e)));
|
|
66
55
|
}
|
|
67
56
|
}
|
|
68
|
-
console.log(`${chalk.bold(chalk.green(`${name}.service.${readConfig().language} generated successfully! ๐`))}`);
|
|
69
57
|
};
|
|
@@ -3,6 +3,8 @@ import path from "path";
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { generateSpringComponent } from "../../generators/templates/spring_component_template.js";
|
|
5
5
|
import { dolphMsg } from "../../helpers/messages.js";
|
|
6
|
+
import { promisify } from "util";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createComponentDirectory = (componentName) => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userComponentPath = path.join(projectRoot, `/src/${componentName}`);
|
|
@@ -17,15 +19,18 @@ const findComponentDirectory = (componentName) => {
|
|
|
17
19
|
return componentDir ? path.join(rootDir, componentDir) : null;
|
|
18
20
|
};
|
|
19
21
|
export const generateSpringComponentFile = async (componentName, componentDir) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(componentDir, generateSpringComponent(componentName));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
dolphMsg.errorRed(error.toString());
|
|
27
|
+
}
|
|
25
28
|
};
|
|
26
29
|
export const generateComponent = async (name) => {
|
|
27
|
-
if (!name)
|
|
28
|
-
dolphMsg.errorRed("
|
|
30
|
+
if (!name) {
|
|
31
|
+
dolphMsg.errorRed("Component extension or name is required! ๐คจ");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
let componentDir = findComponentDirectory(name);
|
|
30
35
|
if (!componentDir) {
|
|
31
36
|
createComponentDirectory(name);
|
|
@@ -33,10 +38,10 @@ export const generateComponent = async (name) => {
|
|
|
33
38
|
}
|
|
34
39
|
const componentFilePath = path.join(componentDir + `/${name}.component.ts`);
|
|
35
40
|
try {
|
|
36
|
-
generateSpringComponentFile(name, path.join(componentFilePath));
|
|
41
|
+
await generateSpringComponentFile(name, path.join(componentFilePath));
|
|
42
|
+
dolphMsg.info(`${chalk.blue(`${name}.component.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
37
43
|
}
|
|
38
44
|
catch (e) {
|
|
39
45
|
dolphMsg.errorRed(e);
|
|
40
46
|
}
|
|
41
|
-
dolphMsg.info(`${chalk.blue(`${name}.component.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
42
47
|
};
|
|
@@ -3,6 +3,8 @@ import path from "path";
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { generateSpringController } from "../../generators/templates/spring_controller_template.js";
|
|
5
5
|
import { dolphMsg } from "../../helpers/messages.js";
|
|
6
|
+
import { promisify } from "util";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createControllerDirectory = (componentName) => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userCompontrollerPath = path.join(projectRoot, `/src/${componentName}`);
|
|
@@ -17,15 +19,18 @@ const findControllerDirectory = (componentName) => {
|
|
|
17
19
|
return controllerDir ? path.join(rootDir, controllerDir) : null;
|
|
18
20
|
};
|
|
19
21
|
export const generateSpringControllerFile = async (componentName, controllerDir) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(controllerDir, generateSpringController(componentName));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
dolphMsg.errorRed(error.toString());
|
|
27
|
+
}
|
|
25
28
|
};
|
|
26
29
|
export const generateController = async (name) => {
|
|
27
|
-
if (!name)
|
|
28
|
-
dolphMsg.errorRed("
|
|
30
|
+
if (!name) {
|
|
31
|
+
dolphMsg.errorRed("Controller extension or name is required! ๐คจ");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
let controllerDir = findControllerDirectory(name);
|
|
30
35
|
if (!controllerDir) {
|
|
31
36
|
createControllerDirectory(name);
|
|
@@ -33,10 +38,10 @@ export const generateController = async (name) => {
|
|
|
33
38
|
}
|
|
34
39
|
const controllerFilePath = path.join(controllerDir + `/${name}.controller.ts`);
|
|
35
40
|
try {
|
|
36
|
-
generateSpringControllerFile(name, path.join(controllerFilePath));
|
|
41
|
+
await generateSpringControllerFile(name, path.join(controllerFilePath));
|
|
42
|
+
dolphMsg.info(`${chalk.blue(`${name}.controller.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
37
43
|
}
|
|
38
44
|
catch (e) {
|
|
39
45
|
dolphMsg.errorRed(e);
|
|
40
46
|
}
|
|
41
|
-
dolphMsg.info(`${chalk.blue(`${name}.controller.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
42
47
|
};
|
|
@@ -3,6 +3,8 @@ import path from "path";
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { generateSpringModel } from "../../generators/templates/spring_model_template.js";
|
|
5
5
|
import { dolphMsg } from "../../helpers/messages.js";
|
|
6
|
+
import { promisify } from "util";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createModelDirectory = (componentName) => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userModelPath = path.join(projectRoot, `/src/${componentName}`);
|
|
@@ -17,15 +19,18 @@ const findModelDirectory = (componentName) => {
|
|
|
17
19
|
return modelDir ? path.join(rootDir, modelDir) : null;
|
|
18
20
|
};
|
|
19
21
|
export const generateSpringModelFile = async (componentName, modelDir, isMongo, isMySql) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(modelDir, generateSpringModel(componentName, isMongo, isMySql));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
dolphMsg.errorRed(error.toString());
|
|
27
|
+
}
|
|
25
28
|
};
|
|
26
29
|
export const generateModel = async (name, isMongo, isMySql) => {
|
|
27
|
-
if (!name)
|
|
28
|
-
dolphMsg.errorRed("
|
|
30
|
+
if (!name) {
|
|
31
|
+
dolphMsg.errorRed("Model extension or name is required! ๐คจ");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
let modelDir = findModelDirectory(name);
|
|
30
35
|
if (!modelDir) {
|
|
31
36
|
createModelDirectory(name);
|
|
@@ -33,10 +38,10 @@ export const generateModel = async (name, isMongo, isMySql) => {
|
|
|
33
38
|
}
|
|
34
39
|
const modelFilePath = path.join(modelDir + `/${name}.model.ts`);
|
|
35
40
|
try {
|
|
36
|
-
generateSpringModelFile(name, path.join(modelFilePath), isMongo, isMySql);
|
|
41
|
+
await generateSpringModelFile(name, path.join(modelFilePath), isMongo, isMySql);
|
|
42
|
+
dolphMsg.info(`${chalk.blue(`${name}.model.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
37
43
|
}
|
|
38
44
|
catch (e) {
|
|
39
45
|
dolphMsg.errorRed(e);
|
|
40
46
|
}
|
|
41
|
-
dolphMsg.info(`${chalk.blue(`${name}.model.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
42
47
|
};
|
|
@@ -3,6 +3,8 @@ import path from "path";
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import { generateSpringService } from "../../generators/templates/spring_service_template.js";
|
|
5
5
|
import { dolphMsg } from "../../helpers/messages.js";
|
|
6
|
+
import { promisify } from "util";
|
|
7
|
+
const writeFileAsync = promisify(writeFile);
|
|
6
8
|
const createServiceDirectory = (componentName) => {
|
|
7
9
|
const projectRoot = path.join(process.cwd());
|
|
8
10
|
const userServicePath = path.join(projectRoot, `/src/${componentName}`);
|
|
@@ -17,15 +19,18 @@ const findServiceDirectory = (componentName) => {
|
|
|
17
19
|
return serviceDir ? path.join(rootDir, serviceDir) : null;
|
|
18
20
|
};
|
|
19
21
|
export const generateSpringServiceFile = async (componentName, serviceDir, isMongo, isMySql) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
try {
|
|
23
|
+
await writeFileAsync(serviceDir, generateSpringService(componentName, isMongo, isMySql));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
dolphMsg.errorRed(error.toString());
|
|
27
|
+
}
|
|
25
28
|
};
|
|
26
29
|
export const generateService = async (name, isMongo, isMySql) => {
|
|
27
|
-
if (!name)
|
|
28
|
-
dolphMsg.errorRed("
|
|
30
|
+
if (!name) {
|
|
31
|
+
dolphMsg.errorRed("Service extension or name is required! ๐คจ");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
29
34
|
let serviceDir = findServiceDirectory(name);
|
|
30
35
|
if (!serviceDir) {
|
|
31
36
|
createServiceDirectory(name);
|
|
@@ -33,10 +38,10 @@ export const generateService = async (name, isMongo, isMySql) => {
|
|
|
33
38
|
}
|
|
34
39
|
const serviceFilePath = path.join(serviceDir + `/${name}.service.ts`);
|
|
35
40
|
try {
|
|
36
|
-
generateSpringServiceFile(name, path.join(serviceFilePath), isMongo, isMySql);
|
|
41
|
+
await generateSpringServiceFile(name, path.join(serviceFilePath), isMongo, isMySql);
|
|
42
|
+
dolphMsg.info(`${chalk.blue(`${name}.service.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
37
43
|
}
|
|
38
44
|
catch (e) {
|
|
39
45
|
dolphMsg.errorRed(e);
|
|
40
46
|
}
|
|
41
|
-
dolphMsg.info(`${chalk.blue(`${name}.service.ts`)} generated successfully for ${chalk.blue(`${name}`)} component.`);
|
|
42
47
|
};
|
|
@@ -39,7 +39,7 @@ import { ${capitalizeFirstLetter(componentName)}Model, I${capitalizeFirstLetter(
|
|
|
39
39
|
|
|
40
40
|
@InjectMongo("${componentName}Model", ${capitalizeFirstLetter(componentName)}Model)
|
|
41
41
|
export class ${className} extends DolphServiceHandler<Dolph> {
|
|
42
|
-
${componentName}Model!: Model
|
|
42
|
+
${componentName}Model!: Model<I${capitalizeFirstLetter(componentName)}>;
|
|
43
43
|
|
|
44
44
|
constructor() {
|
|
45
45
|
super("${className.toLowerCase()}");
|
|
@@ -46,9 +46,7 @@ dolph.start();
|
|
|
46
46
|
// add new controller class to the existing array
|
|
47
47
|
const routesArrayMatch = fileContent.match(/const dolph = new DolphFactory\(([^)]+)\);/);
|
|
48
48
|
if (routesArrayMatch) {
|
|
49
|
-
const existingCode = routesArrayMatch
|
|
50
|
-
? routesArrayMatch[1].trim()
|
|
51
|
-
: "";
|
|
49
|
+
const existingCode = routesArrayMatch[1].trim();
|
|
52
50
|
let fileContents;
|
|
53
51
|
fileContents = fileContent.replace(existingCode, `${existingCode.length > 0 ? existingCode + ", " : ""}${newComponentInstance}`);
|
|
54
52
|
const updatedContents = `${importStatement}\n${fileContents}`;
|
|
@@ -70,14 +70,5 @@ export const packageGenerator = () => {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
});
|
|
73
|
-
// const controllerName = controller ? `${controller}` : undefined;
|
|
74
|
-
// const serviceName = service ? `${service}` : undefined;
|
|
75
|
-
// const modelName = model ? `${model}` : undefined;
|
|
76
|
-
// const routesName = routes ? `${routes}` : undefined;
|
|
77
|
-
// const interfacesName = interfaces ? `${interfaces}` : undefined;
|
|
78
|
-
// const helperName = helper ? `${helper}` : undefined;
|
|
79
|
-
// if (controllerName) {
|
|
80
|
-
// controllerGen.generateController(controllerName);
|
|
81
|
-
// }
|
|
82
73
|
});
|
|
83
74
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dolphjs/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.12",
|
|
4
4
|
"description": "The dolphjs-cli is a tool for efficient intialization and management of a dolphjs project",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"repository": "https://github.com/dolphjs/dolph-cli.git",
|