@dolphjs/cli 1.4.1 โ†’ 2.0.1

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.
Files changed (108) hide show
  1. package/README.md +60 -35
  2. package/dist/daemon/watcher.d.ts +4 -0
  3. package/dist/daemon/watcher.js +82 -53
  4. package/dist/daemon/watcherConfig.d.ts +1 -0
  5. package/dist/daemon/watcherConfig.js +13 -9
  6. package/dist/generators/generate_controller.d.ts +2 -0
  7. package/dist/generators/generate_controller.js +38 -30
  8. package/dist/generators/generate_model.d.ts +2 -0
  9. package/dist/generators/generate_model.js +35 -27
  10. package/dist/generators/generate_mysql.d.ts +2 -0
  11. package/dist/generators/generate_mysql.js +33 -25
  12. package/dist/generators/generate_routes.d.ts +2 -0
  13. package/dist/generators/generate_routes.js +33 -25
  14. package/dist/generators/generate_service.d.ts +2 -0
  15. package/dist/generators/generate_service.js +36 -28
  16. package/dist/generators/resolvers/resolve_controller_content.d.ts +1 -0
  17. package/dist/generators/resolvers/resolve_controller_content.js +29 -3
  18. package/dist/generators/resolvers/resolve_model_content.d.ts +2 -0
  19. package/dist/generators/resolvers/resolve_model_content.js +32 -5
  20. package/dist/generators/resolvers/resolve_routes_content.d.ts +1 -0
  21. package/dist/generators/resolvers/resolve_routes_content.js +29 -3
  22. package/dist/generators/resolvers/resolve_service_content.d.ts +1 -0
  23. package/dist/generators/resolvers/resolve_service_content.js +29 -3
  24. package/dist/generators/spring/generate_spring_component.d.ts +2 -0
  25. package/dist/generators/spring/generate_spring_component.js +30 -22
  26. package/dist/generators/spring/generate_spring_controller.d.ts +2 -0
  27. package/dist/generators/spring/generate_spring_controller.js +30 -22
  28. package/dist/generators/spring/generate_spring_model.d.ts +2 -0
  29. package/dist/generators/spring/generate_spring_model.js +30 -22
  30. package/dist/generators/spring/generate_spring_mysql.d.ts +2 -0
  31. package/dist/generators/spring/generate_spring_mysql.js +30 -22
  32. package/dist/generators/spring/generate_spring_service.d.ts +2 -0
  33. package/dist/generators/spring/generate_spring_service.js +30 -22
  34. package/dist/generators/spring/generate_spring_socket_service.d.ts +2 -0
  35. package/dist/generators/spring/generate_spring_socket_service.js +29 -21
  36. package/dist/generators/templates/controller_template.d.ts +5 -0
  37. package/dist/generators/templates/controller_template.js +7 -1
  38. package/dist/generators/templates/model_template.d.ts +5 -0
  39. package/dist/generators/templates/model_template.js +7 -1
  40. package/dist/generators/templates/mysql_config_template.d.ts +5 -0
  41. package/dist/generators/templates/mysql_config_template.js +7 -1
  42. package/dist/generators/templates/routes_template.d.ts +5 -0
  43. package/dist/generators/templates/routes_template.js +7 -1
  44. package/dist/generators/templates/service_template.d.ts +5 -0
  45. package/dist/generators/templates/service_template.js +7 -1
  46. package/dist/generators/templates/socket_service_template.d.ts +1 -0
  47. package/dist/generators/templates/socket_service_template.js +5 -1
  48. package/dist/generators/templates/spring_component_template.d.ts +1 -0
  49. package/dist/generators/templates/spring_component_template.js +5 -1
  50. package/dist/generators/templates/spring_controller_template.d.ts +1 -0
  51. package/dist/generators/templates/spring_controller_template.js +5 -1
  52. package/dist/generators/templates/spring_model_template.d.ts +1 -0
  53. package/dist/generators/templates/spring_model_template.js +5 -1
  54. package/dist/generators/templates/spring_service_template.d.ts +1 -0
  55. package/dist/generators/templates/spring_service_template.js +5 -1
  56. package/dist/get_file_stats.d.ts +1 -0
  57. package/dist/get_file_stats.js +10 -0
  58. package/dist/helpers/messages.d.ts +8 -0
  59. package/dist/helpers/messages.js +14 -8
  60. package/dist/index.d.ts +2 -0
  61. package/dist/index.js +110 -29
  62. package/dist/install.d.ts +1 -0
  63. package/dist/install.js +149 -0
  64. package/dist/registers/register_component.d.ts +1 -0
  65. package/dist/registers/register_component.js +27 -21
  66. package/dist/registers/register_controllers_in_components.d.ts +1 -0
  67. package/dist/registers/register_controllers_in_components.js +22 -17
  68. package/dist/registers/register_routes.d.ts +1 -0
  69. package/dist/registers/register_routes.js +27 -32
  70. package/dist/registers/server_file_express.d.ts +1 -0
  71. package/dist/registers/server_file_express.js +20 -17
  72. package/dist/registers/server_file_spring.d.ts +1 -0
  73. package/dist/registers/server_file_spring.js +18 -13
  74. package/dist/types/config.d.ts +14 -0
  75. package/dist/types/config.js +2 -1
  76. package/dist/utils/get_root_dir_path.d.ts +1 -0
  77. package/dist/utils/get_root_dir_path.js +10 -3
  78. package/dist/utils/get_user_config_path.d.ts +1 -0
  79. package/dist/utils/get_user_config_path.js +14 -7
  80. package/dist/utils/init_helper_function.d.ts +1 -0
  81. package/dist/utils/init_helper_function.js +50 -44
  82. package/dist/utils/package_config.d.ts +1 -0
  83. package/dist/utils/package_config.js +2 -0
  84. package/dist/utils/package_description.d.ts +1 -0
  85. package/dist/utils/package_description.js +12 -5
  86. package/dist/utils/package_generator.d.ts +1 -0
  87. package/dist/utils/package_generator.js +69 -41
  88. package/dist/utils/package_init.d.ts +1 -0
  89. package/dist/utils/package_init.js +9 -5
  90. package/dist/utils/read_package_json.d.ts +4 -0
  91. package/dist/utils/read_package_json.js +17 -0
  92. package/dist/utils/read_user_config.d.ts +1 -0
  93. package/dist/utils/read_user_config.js +29 -22
  94. package/dist/utils/read_user_config_path.d.ts +1 -0
  95. package/dist/utils/read_user_config_path.js +16 -9
  96. package/dist/utils/write_dolph_config.d.ts +1 -0
  97. package/dist/utils/write_dolph_config.js +32 -5
  98. package/dist/utils/write_gitignore.d.ts +1 -0
  99. package/dist/utils/write_gitignore.js +32 -5
  100. package/dist/utils/write_package_json.d.ts +1 -0
  101. package/dist/utils/write_package_json.js +32 -5
  102. package/dist/utils/write_swrcc.d.ts +1 -0
  103. package/dist/utils/write_swrcc.js +32 -5
  104. package/dist/utils/write_tsconfig.d.ts +1 -0
  105. package/dist/utils/write_tsconfig.js +32 -5
  106. package/dist/utils/write_user_config.d.ts +1 -0
  107. package/dist/utils/write_user_config.js +17 -10
  108. package/package.json +22 -12
package/README.md CHANGED
@@ -1,64 +1,89 @@
1
- # dolphjs cli
1
+ # DolphJS CLI
2
2
 
3
- The dolphjs-cli is a tool used for efficient initialization and management of a dolphjs project.
3
+ The `dolph` CLI is a powerful tool designed for the efficient initialization and management of DolphJS projects. Powered by Rust under the hood for blazing fast performance!
4
4
 
5
- ## Commands
6
-
7
- **new**: the alias for this command is `n`. This command is used to initialize / start a new project. It takes the name of the project as an option
5
+ ## Installation
8
6
 
9
7
  ```bash
10
- dolph-cli new <project-name>
8
+ npm install -g @dolphjs/cli
9
+ # or using pnpm
10
+ pnpm add -g @dolphjs/cli
11
11
  ```
12
12
 
13
- or use `' . '` in place of `<project-name>` to initialize the project in current directory.
13
+ ## Commands
14
14
 
15
- After this, you'll be prompted with few questions which would be used to configure your dolphjs project. Navigate to the project folder and run
15
+ ### `new`
16
+
17
+ This command is used to initialize and start a new project. It takes the name of the project as an option.
16
18
 
17
19
  ```bash
18
- yarn
20
+ dolph new <project-name>
19
21
  ```
20
22
 
21
- to install all packages .
23
+ Or use `.` in place of `<project-name>` to initialize the project in your current directory:
24
+ ```bash
25
+ dolph new .
26
+ ```
27
+
28
+ After running this, you'll be prompted with interactive questions to configure your new DolphJS project (Language, Architecture, Database, etc.).
22
29
 
23
- **generate**: the alias for this command is `g` and is used to generate files and folders with setup code for :
30
+ ### `generate` (or `g`)
24
31
 
25
- - controllers
26
- - services
27
- - models
28
- - routes
32
+ This command is used to quickly scaffold boilerplate files and folders with setup code. This ensures you are writing code the standard DolphJS way.
33
+
34
+ ```bash
35
+ dolph generate [OPTIONS]
36
+ ```
29
37
 
30
- It is recommended to make use of the `generate` command when one wants to create these files because it generates code the dolphjs way. In a scenario when you want to create files for all of the above, let's say you want to write code for user logic and functionalities, use the `-a` flag, as in:
38
+ **Options:**
39
+ - `-a, --all <NAME>`: Generates all dolphjs files for the named parameter
40
+ - `-c, --controller <NAME>`: Generates a dolphjs controller file
41
+ - `-d, --dto <NAME>`: Generates a dolphjs dto file
42
+ - `-e, --entity <NAME>`: Generates a dolphjs entity file
43
+ - `-i, --input <NAME>`: Generates a dolphjs input file
44
+ - `-k, --socket <NAME>`: Generates a dolphjs socket service and component
45
+ - `-m, --model <NAME>`: Generates a dolphjs models file
46
+ - `-r, --route <NAME>`: Generates a dolphjs routes file
47
+ - `-s, --service <NAME>`: Generates a dolphjs service file
48
+ - `-v, --resolver <NAME>`: Generates a dolphjs resolver file
49
+ - `-y, --component <NAME>`: Generates a dolphjs spring component file
50
+
51
+ **Example Usage:**
52
+
53
+ To generate a full set of files (controller, service, model, routes, etc.) for a `user` feature:
54
+ ```bash
55
+ dolph generate -a user
56
+ ```
31
57
 
58
+ To generate just a specific file, such as a controller:
32
59
  ```bash
33
- dolph-cli g -a user
60
+ dolph generate -c user
34
61
  ```
35
62
 
36
- the command above creates a service, controller, model and routes file for `user` and set's you up for writing business logic. Alternatively, you might want to create one of the files (controllers, models, services, routes) so you make use of their independent flags:
63
+ ### `build`
37
64
 
38
- - controller:
65
+ Builds the dolphjs typescript project into a javascript project for production.
39
66
 
40
- ```bash
41
- dolph-cli g -c <name>
42
- ```
67
+ ```bash
68
+ dolph build
69
+ ```
43
70
 
44
- - service:
71
+ ### `start`
45
72
 
46
- ```bash
47
- dolph-cli g -s <name>
48
- ```
73
+ Starts the dolphjs server in production mode.
49
74
 
50
- - model:
75
+ ```bash
76
+ dolph start
77
+ ```
51
78
 
52
- ```bash
53
- dolph-cli g -m <name>
54
- ```
79
+ ### `watch`
55
80
 
56
- - route:
81
+ Starts the dolphjs server in development mode (with hot-reloading).
57
82
 
58
- ```bash
59
- dolph-cli g -r <name>
60
- ```
83
+ ```bash
84
+ dolph watch
85
+ ```
61
86
 
62
87
  ## Credit
63
88
 
64
- dolphjs-cli is inspired by methane-cli [https://github.com/adedoyin-Emmanuel/methane-cli]
89
+ dolphjs-cli was originally inspired by methane-cli.
@@ -0,0 +1,4 @@
1
+ export declare const startApp: (useBun?: boolean) => void;
2
+ export declare const buildApp: () => Promise<void>;
3
+ export declare const startProdApp: (useBun?: boolean) => Promise<void>;
4
+ export declare const watchFile: (useBun?: boolean) => void;
@@ -1,27 +1,54 @@
1
- import { spawn } from "cross-spawn";
2
- import * as chokidar from "chokidar";
3
- import chalk from "chalk";
4
- import { getRootDirectory } from "../utils/get_root_dir_path.js";
5
- import { readConfig } from "../utils/read_user_config_path.js";
6
- import { join } from "path";
7
- import _ from "lodash";
8
- import { exec } from "child_process";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.watchFile = exports.startProdApp = exports.buildApp = exports.startApp = void 0;
30
+ const cross_spawn_1 = require("cross-spawn");
31
+ const chokidar = __importStar(require("chokidar"));
32
+ const chalk_1 = __importDefault(require("chalk"));
33
+ const get_root_dir_path_js_1 = require("../utils/get_root_dir_path.js");
34
+ const read_user_config_path_js_1 = require("../utils/read_user_config_path.js");
35
+ const path_1 = require("path");
36
+ const lodash_1 = __importDefault(require("lodash"));
37
+ const child_process_1 = require("child_process");
9
38
  let fileExtension = "";
10
39
  let indexFilePath = "";
11
40
  let child = null;
12
41
  const killProcess = (processToKill) => {
13
42
  if (processToKill) {
14
- console.log(`${chalk.bold(chalk.yellow("[DOLPH INFO]: "))} ${chalk.yellowBright("Stopping previous Dolph server...")}`);
15
- // Windows: Use taskkill
43
+ console.log(`${chalk_1.default.bold(chalk_1.default.yellow("[DOLPH INFO]: "))} ${chalk_1.default.yellowBright("Stopping previous Dolph server...")}`);
16
44
  if (process.platform === "win32") {
17
- exec(`taskkill /PID ${processToKill.pid} /F /T`, (err) => {
45
+ (0, child_process_1.exec)(`taskkill /PID ${processToKill.pid} /F /T`, (err) => {
18
46
  if (err) {
19
- console.error(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright(`Failed to kill process: ${err}`)}`);
47
+ console.error(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright(`Failed to kill process: ${err}`)}`);
20
48
  }
21
49
  });
22
50
  }
23
51
  else {
24
- // Linux/macOS: Kill process normally
25
52
  processToKill.kill("SIGTERM");
26
53
  setTimeout(() => {
27
54
  processToKill.kill("SIGKILL");
@@ -29,11 +56,10 @@ const killProcess = (processToKill) => {
29
56
  }
30
57
  }
31
58
  };
32
- export const startApp = (useBun = false) => {
33
- console.log(`${chalk.bold(chalk.yellow("[DOLPH INFO]: "))} ${chalk.yellowBright("Starting Dolph server...")}`);
34
- fileExtension = readConfig().language;
35
- indexFilePath = join(getRootDirectory(), "src", `server.${fileExtension}`);
36
- // Kill previous process before starting a new one
59
+ const startApp = (useBun = false) => {
60
+ console.log(`${chalk_1.default.bold(chalk_1.default.yellow("[DOLPH INFO]: "))} ${chalk_1.default.yellowBright("Starting Dolph server...")}`);
61
+ fileExtension = (0, read_user_config_path_js_1.readConfig)().language;
62
+ indexFilePath = (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "src", `server.${fileExtension}`);
37
63
  if (child) {
38
64
  killProcess(child);
39
65
  }
@@ -47,69 +73,70 @@ export const startApp = (useBun = false) => {
47
73
  spawnArgs = [indexFilePath];
48
74
  }
49
75
  if (useBun) {
50
- console.log(`${chalk.bold(chalk.green("[DOLPH INFO:] "))} ${chalk.greenBright("Using Bun to start the server...")}`);
51
- child = spawn("bun", [indexFilePath], { stdio: "inherit" });
76
+ console.log(`${chalk_1.default.bold(chalk_1.default.green("[DOLPH INFO:] "))} ${chalk_1.default.greenBright("Using Bun to start the server...")}`);
77
+ child = (0, cross_spawn_1.spawn)("bun", [indexFilePath], { stdio: "inherit" });
52
78
  }
53
79
  else {
54
- child = spawn(fileExtension === "ts" ? "ts-node" : "node", spawnArgs, {
80
+ child = (0, cross_spawn_1.spawn)(fileExtension === "ts" ? "ts-node" : "node", spawnArgs, {
55
81
  stdio: "inherit",
56
82
  });
57
83
  }
58
84
  child.on("error", (err) => {
59
- console.error(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright(`${err}`)}`);
85
+ console.error(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright(`${err}`)}`);
60
86
  process.exit(1);
61
87
  });
62
88
  child.on("close", (code) => {
63
89
  if (code === 1) {
64
- console.error(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright("Exiting watch mode...")}`);
90
+ console.error(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright("Exiting watch mode...")}`);
65
91
  child = null;
66
92
  process.exit(1);
67
93
  }
68
94
  });
69
95
  };
70
- export const buildApp = () => {
96
+ exports.startApp = startApp;
97
+ const buildApp = () => {
71
98
  return new Promise((resolve, reject) => {
72
- fileExtension = readConfig().language;
99
+ fileExtension = (0, read_user_config_path_js_1.readConfig)().language;
73
100
  if (fileExtension === "ts") {
74
- console.log(`${chalk.bold(chalk.yellow("[DOLPH INFO]: "))} ${chalk.yellowBright("compiling to javascript ...")}`);
75
- indexFilePath = join(getRootDirectory(), "src", "server.ts");
101
+ console.log(`${chalk_1.default.bold(chalk_1.default.yellow("[DOLPH INFO]: "))} ${chalk_1.default.yellowBright("compiling to javascript ...")}`);
102
+ indexFilePath = (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "src", "server.ts");
76
103
  const spawnArgs = ["src", "-d", "app", "--source-maps", "--copy-files"];
77
- const child = spawn("swc", spawnArgs, {
104
+ const child = (0, cross_spawn_1.spawn)("swc", spawnArgs, {
78
105
  stdio: "inherit",
79
106
  });
80
107
  child.on("error", (err) => {
81
- `${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright(`${err}`)}`;
82
- // process.exit(1);
108
+ `${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright(`${err}`)}`;
83
109
  reject(err);
84
110
  });
85
111
  child.on("close", (code) => {
86
112
  if (code === 1) {
87
- console.log(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright("exiting compilation ...")}`);
113
+ console.log(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright("exiting compilation ...")}`);
88
114
  reject(new Error("Compilation failed ..."));
89
115
  }
90
116
  else {
91
- console.log(`${chalk.bold(chalk.green("[DOLPH INFO]: "))} ${chalk.greenBright("compilation successful")}`);
117
+ console.log(`${chalk_1.default.bold(chalk_1.default.green("[DOLPH INFO]: "))} ${chalk_1.default.greenBright("compilation successful")}`);
92
118
  resolve();
93
119
  }
94
120
  });
95
121
  }
96
122
  else {
97
- console.log(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright("cannot compile javascript file, exiting compilation ...")}`);
123
+ console.log(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright("cannot compile javascript file, exiting compilation ...")}`);
98
124
  reject(new Error("Cannot compile JavaScript file"));
99
125
  }
100
126
  });
101
127
  };
102
- export const startProdApp = async (useBun = false) => {
128
+ exports.buildApp = buildApp;
129
+ const startProdApp = async (useBun = false) => {
103
130
  try {
104
- fileExtension = readConfig().language;
131
+ fileExtension = (0, read_user_config_path_js_1.readConfig)().language;
105
132
  if (child) {
106
133
  killProcess(child);
107
134
  }
108
135
  if (fileExtension === "ts") {
109
- console.log(`${chalk.bold(chalk.yellow("[DOLPH INFO]: "))} ${chalk.yellowBright("Compiling to JavaScript...")}`);
110
- indexFilePath = join(getRootDirectory(), "src", `server.ts`);
136
+ console.log(`${chalk_1.default.bold(chalk_1.default.yellow("[DOLPH INFO]: "))} ${chalk_1.default.yellowBright("Compiling to JavaScript...")}`);
137
+ indexFilePath = (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "src", `server.ts`);
111
138
  const spawnArgs = ["src", "-d", "app", "--source-maps", "--copy-files"];
112
- child = spawn("swc", spawnArgs, { stdio: "inherit" });
139
+ child = (0, cross_spawn_1.spawn)("swc", spawnArgs, { stdio: "inherit" });
113
140
  await new Promise((resolve, reject) => {
114
141
  child.on("close", (code) => {
115
142
  if (code === 0) {
@@ -123,19 +150,19 @@ export const startProdApp = async (useBun = false) => {
123
150
  }
124
151
  indexFilePath =
125
152
  fileExtension === "ts"
126
- ? join(getRootDirectory(), "app", "src", "server.js")
127
- : join(getRootDirectory(), "src", "server.js");
128
- console.log(`${chalk.bold(chalk.green("[DOLPH INFO]: "))} ${chalk.greenBright("Starting Dolph server...")}`);
153
+ ? (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "app", "src", "server.js")
154
+ : (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "src", "server.js");
155
+ console.log(`${chalk_1.default.bold(chalk_1.default.green("[DOLPH INFO]: "))} ${chalk_1.default.greenBright("Starting Dolph server...")}`);
129
156
  child = useBun
130
- ? spawn("bun", [indexFilePath], { stdio: "inherit" })
131
- : spawn("node", [indexFilePath], { stdio: "inherit" });
157
+ ? (0, cross_spawn_1.spawn)("bun", [indexFilePath], { stdio: "inherit" })
158
+ : (0, cross_spawn_1.spawn)("node", [indexFilePath], { stdio: "inherit" });
132
159
  child.on("error", (err) => {
133
- console.error(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright(`${err}`)}`);
160
+ console.error(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright(`${err}`)}`);
134
161
  process.exit(1);
135
162
  });
136
163
  child.on("close", (code) => {
137
164
  if (code === 1) {
138
- console.error(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright("Exiting production mode...")}`);
165
+ console.error(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright("Exiting production mode...")}`);
139
166
  process.exit(1);
140
167
  }
141
168
  });
@@ -145,28 +172,29 @@ export const startProdApp = async (useBun = false) => {
145
172
  process.exit(1);
146
173
  }
147
174
  };
175
+ exports.startProdApp = startProdApp;
148
176
  const watcher = chokidar.watch([], {
149
177
  ignored: "/node_modules",
150
178
  persistent: true,
151
179
  ignoreInitial: false,
152
180
  });
153
181
  let isWatcherActive = false;
154
- const debouncedStartApp = _.debounce((useBun) => startApp(useBun), 1000);
155
- export const watchFile = (useBun = false) => {
182
+ const debouncedStartApp = lodash_1.default.debounce((useBun) => (0, exports.startApp)(useBun), 1000);
183
+ const watchFile = (useBun = false) => {
156
184
  if (!isWatcherActive) {
157
- console.log(`${chalk.bold(chalk.green("[DOLPH INFO]: "))} ${chalk.greenBright("Watching files for changes...")}`);
185
+ console.log(`${chalk_1.default.bold(chalk_1.default.green("[DOLPH INFO]: "))} ${chalk_1.default.greenBright("Watching files for changes...")}`);
158
186
  isWatcherActive = true;
159
- fileExtension = readConfig().language;
160
- const srcDirectory = join(getRootDirectory(), "src");
187
+ fileExtension = (0, read_user_config_path_js_1.readConfig)().language;
188
+ const srcDirectory = (0, path_1.join)((0, get_root_dir_path_js_1.getRootDirectory)(), "src");
161
189
  watcher.add(srcDirectory);
162
190
  watcher.on("all", (_event, path) => {
163
- console.log(`${chalk.bold(chalk.green("[DOLPH INFO]: "))} ${chalk.greenBright(`File changed: [${path}]`)}`);
191
+ console.log(`${chalk_1.default.bold(chalk_1.default.green("[DOLPH INFO]: "))} ${chalk_1.default.greenBright(`File changed: [${path}]`)}`);
164
192
  if (path.endsWith(".ts") || path.endsWith(".js")) {
165
193
  debouncedStartApp(useBun);
166
194
  }
167
195
  });
168
196
  process.on("SIGINT", () => {
169
- console.log(`${chalk.bold(chalk.yellow("[DOLPH INFO]: "))} ${chalk.yellowBright("Shutting down watcher...")}`);
197
+ console.log(`${chalk_1.default.bold(chalk_1.default.yellow("[DOLPH INFO]: "))} ${chalk_1.default.yellowBright("Shutting down watcher...")}`);
170
198
  if (child) {
171
199
  killProcess(child);
172
200
  }
@@ -175,6 +203,7 @@ export const watchFile = (useBun = false) => {
175
203
  });
176
204
  }
177
205
  else {
178
- console.log(`${chalk.bold(chalk.red("[DOLPH ERROR]: "))} ${chalk.redBright("Watcher is already active.")}`);
206
+ console.log(`${chalk_1.default.bold(chalk_1.default.red("[DOLPH ERROR]: "))} ${chalk_1.default.redBright("Watcher is already active.")}`);
179
207
  }
180
208
  };
209
+ exports.watchFile = watchFile;
@@ -0,0 +1 @@
1
+ export declare const watcherConfig: () => void;
@@ -1,22 +1,26 @@
1
- import { program } from "commander";
2
- import { buildApp, startProdApp, watchFile } from "./watcher.js";
3
- export const watcherConfig = () => {
4
- program
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watcherConfig = void 0;
4
+ const commander_1 = require("commander");
5
+ const watcher_js_1 = require("./watcher.js");
6
+ const watcherConfig = () => {
7
+ commander_1.program
5
8
  .command("start")
6
9
  .description("starts the dolph application")
7
10
  .option("--bun", "uses bun instead of node to run the command")
8
11
  .action((options) => {
9
- startProdApp(options.bun);
12
+ (0, watcher_js_1.startProdApp)(options.bun);
10
13
  });
11
- program
14
+ commander_1.program
12
15
  .command("watch")
13
16
  .description("starts the dolph application in watch mode")
14
17
  .option("--bun", "uses bun instead of node to run the command")
15
18
  .action((options) => {
16
- watchFile(options.bun);
19
+ (0, watcher_js_1.watchFile)(options.bun);
17
20
  });
18
- program
21
+ commander_1.program
19
22
  .command("build")
20
23
  .description("compile a typescript project to javascript")
21
- .action(() => buildApp());
24
+ .action(() => (0, watcher_js_1.buildApp)());
22
25
  };
26
+ exports.watcherConfig = watcherConfig;
@@ -0,0 +1,2 @@
1
+ export declare const generateControllerFile: (name: string, controllerDir: string, readConfig: any) => Promise<void>;
2
+ export declare const generateController: (name: string) => Promise<void>;
@@ -1,42 +1,49 @@
1
- import { existsSync, mkdirSync, writeFile } from "fs";
2
- import path from "path";
3
- import chalk from "chalk";
4
- import { promisify } from "util";
5
- import { readConfig } from "../utils/read_user_config_path.js";
6
- import { resolveControllerContent } from "./resolvers/resolve_controller_content.js";
7
- import { generateController as generateSpringController } from "./spring/generate_spring_controller.js";
8
- import { addControllerInComponentFIle } from "../registers/register_controllers_in_components.js";
9
- const writeFileAsync = promisify(writeFile);
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateController = exports.generateControllerFile = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = __importDefault(require("path"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const util_1 = require("util");
11
+ const read_user_config_path_js_1 = require("../utils/read_user_config_path.js");
12
+ const resolve_controller_content_js_1 = require("./resolvers/resolve_controller_content.js");
13
+ const generate_spring_controller_js_1 = require("./spring/generate_spring_controller.js");
14
+ const register_controllers_in_components_js_1 = require("../registers/register_controllers_in_components.js");
15
+ const writeFileAsync = (0, util_1.promisify)(fs_1.writeFile);
10
16
  const createControllerDirectory = () => {
11
- const projectRoot = path.join(process.cwd());
12
- const userControllerFilePath = path.join(projectRoot, "/src/controllers");
13
- if (!existsSync(userControllerFilePath)) {
14
- mkdirSync(userControllerFilePath);
17
+ const projectRoot = path_1.default.join(process.cwd());
18
+ const userControllerFilePath = path_1.default.join(projectRoot, "/src/controllers");
19
+ if (!(0, fs_1.existsSync)(userControllerFilePath)) {
20
+ (0, fs_1.mkdirSync)(userControllerFilePath);
15
21
  }
16
22
  };
17
23
  const findControllerDirectory = () => {
18
24
  const rootDir = process.cwd();
19
25
  const possibleDirs = ["/src/controllers"];
20
- const controllerDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
21
- return controllerDir ? path.join(rootDir, controllerDir) : null;
26
+ const controllerDir = possibleDirs.find((dir) => (0, fs_1.existsSync)(path_1.default.join(rootDir, dir)));
27
+ return controllerDir ? path_1.default.join(rootDir, controllerDir) : null;
22
28
  };
23
- export const generateControllerFile = async (name, controllerDir, readConfig) => {
29
+ const generateControllerFile = async (name, controllerDir, readConfig) => {
24
30
  try {
25
- await writeFileAsync(controllerDir, resolveControllerContent(readConfig, name));
26
- console.log(`${chalk.bold(chalk.green(`${name}.controller.${readConfig().language} generated successfully! ๐Ÿ™ƒ`))}`);
31
+ await writeFileAsync(controllerDir, (0, resolve_controller_content_js_1.resolveControllerContent)(readConfig, name));
32
+ console.log(`${chalk_1.default.bold(chalk_1.default.green(`${name}.controller.${readConfig().language} generated successfully! ๐Ÿ™ƒ`))}`);
27
33
  }
28
34
  catch (error) {
29
- console.log(chalk.bold(chalk.red(error.toString())));
35
+ console.log(chalk_1.default.bold(chalk_1.default.red(error.toString())));
30
36
  }
31
37
  };
32
- export const generateController = async (name) => {
33
- if (readConfig().routing === "spring") {
34
- await generateSpringController(name);
35
- addControllerInComponentFIle(name);
38
+ exports.generateControllerFile = generateControllerFile;
39
+ const generateController = async (name) => {
40
+ if ((0, read_user_config_path_js_1.readConfig)().routing === "spring") {
41
+ await (0, generate_spring_controller_js_1.generateController)(name);
42
+ (0, register_controllers_in_components_js_1.addControllerInComponentFIle)(name);
36
43
  }
37
44
  else {
38
45
  if (!name) {
39
- console.log(chalk.bold(chalk.red("Controller extension or name is required! ๐Ÿคจ")));
46
+ console.log(chalk_1.default.bold(chalk_1.default.red("Controller extension or name is required! ๐Ÿคจ")));
40
47
  return;
41
48
  }
42
49
  let controllerDir = findControllerDirectory();
@@ -44,16 +51,17 @@ export const generateController = async (name) => {
44
51
  createControllerDirectory();
45
52
  controllerDir = findControllerDirectory();
46
53
  }
47
- const controllerDirName = path.join(controllerDir, name);
48
- const controllerFilePath = path.join(controllerDirName + `/${name}.controller.${readConfig().language}`);
54
+ const controllerDirName = path_1.default.join(controllerDir, name);
55
+ const controllerFilePath = path_1.default.join(controllerDirName + `/${name}.controller.${(0, read_user_config_path_js_1.readConfig)().language}`);
49
56
  try {
50
- if (readConfig().generateFolder === "true" || true) {
51
- mkdirSync(controllerDirName);
57
+ if ((0, read_user_config_path_js_1.readConfig)().generateFolder === "true" || true) {
58
+ (0, fs_1.mkdirSync)(controllerDirName);
52
59
  }
53
- await generateControllerFile(name, path.join(controllerFilePath), readConfig);
60
+ await (0, exports.generateControllerFile)(name, path_1.default.join(controllerFilePath), read_user_config_path_js_1.readConfig);
54
61
  }
55
62
  catch (e) {
56
- console.log(chalk.bold(chalk.red(e)));
63
+ console.log(chalk_1.default.bold(chalk_1.default.red(e)));
57
64
  }
58
65
  }
59
66
  };
67
+ exports.generateController = generateController;
@@ -0,0 +1,2 @@
1
+ export declare const generateModelFile: (name: string, modelDir: string, readConfig: any) => Promise<void>;
2
+ export declare const generateModel: (name: string) => Promise<void>;
@@ -1,40 +1,47 @@
1
- import { existsSync, mkdirSync, writeFile } from "fs";
2
- import path from "path";
3
- import chalk from "chalk";
4
- import { promisify } from "util";
5
- import { readConfig } from "../utils/read_user_config_path.js";
6
- import { resolveModelContent } from "./resolvers/resolve_model_content.js";
7
- import { generateModel as generateSpringModel } from "./spring/generate_spring_model.js";
8
- const writeFileAsync = promisify(writeFile);
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateModel = exports.generateModelFile = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = __importDefault(require("path"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const util_1 = require("util");
11
+ const read_user_config_path_js_1 = require("../utils/read_user_config_path.js");
12
+ const resolve_model_content_js_1 = require("./resolvers/resolve_model_content.js");
13
+ const generate_spring_model_js_1 = require("./spring/generate_spring_model.js");
14
+ const writeFileAsync = (0, util_1.promisify)(fs_1.writeFile);
9
15
  const createModelDirectory = () => {
10
- const projectRoot = path.join(process.cwd());
11
- const userModelFilePath = path.join(projectRoot, "/src/models");
12
- if (!existsSync(userModelFilePath)) {
13
- mkdirSync(userModelFilePath);
16
+ const projectRoot = path_1.default.join(process.cwd());
17
+ const userModelFilePath = path_1.default.join(projectRoot, "/src/models");
18
+ if (!(0, fs_1.existsSync)(userModelFilePath)) {
19
+ (0, fs_1.mkdirSync)(userModelFilePath);
14
20
  }
15
21
  };
16
22
  const findModelDirectory = () => {
17
23
  const rootDir = process.cwd();
18
24
  const possibleDirs = ["/src/models"];
19
- const modelDir = possibleDirs.find((dir) => existsSync(path.join(rootDir, dir)));
20
- return modelDir ? path.join(rootDir, modelDir) : null;
25
+ const modelDir = possibleDirs.find((dir) => (0, fs_1.existsSync)(path_1.default.join(rootDir, dir)));
26
+ return modelDir ? path_1.default.join(rootDir, modelDir) : null;
21
27
  };
22
- export const generateModelFile = async (name, modelDir, readConfig) => {
28
+ const generateModelFile = async (name, modelDir, readConfig) => {
23
29
  try {
24
- await writeFileAsync(modelDir, resolveModelContent(readConfig, name));
25
- console.log(`${chalk.bold(chalk.green(`${name}.model.${readConfig().language} generated successfully! ๐Ÿ™ƒ`))}`);
30
+ await writeFileAsync(modelDir, (0, resolve_model_content_js_1.resolveModelContent)(readConfig, name));
31
+ console.log(`${chalk_1.default.bold(chalk_1.default.green(`${name}.model.${readConfig().language} generated successfully! ๐Ÿ™ƒ`))}`);
26
32
  }
27
33
  catch (error) {
28
- console.log(chalk.bold(chalk.red(error.toString())));
34
+ console.log(chalk_1.default.bold(chalk_1.default.red(error.toString())));
29
35
  }
30
36
  };
31
- export const generateModel = async (name) => {
32
- if (readConfig().routing === "spring") {
33
- await generateSpringModel(name, readConfig().database === "mongo" ? true : false, readConfig().database === "mysql" ? true : false);
37
+ exports.generateModelFile = generateModelFile;
38
+ const generateModel = async (name) => {
39
+ if ((0, read_user_config_path_js_1.readConfig)().routing === "spring") {
40
+ await (0, generate_spring_model_js_1.generateModel)(name, (0, read_user_config_path_js_1.readConfig)().database === "mongo" ? true : false, (0, read_user_config_path_js_1.readConfig)().database === "mysql" ? true : false);
34
41
  }
35
42
  else {
36
43
  if (!name) {
37
- console.log(chalk.bold(chalk.red("Model extension or name is required! ๐Ÿคจ")));
44
+ console.log(chalk_1.default.bold(chalk_1.default.red("Model extension or name is required! ๐Ÿคจ")));
38
45
  return;
39
46
  }
40
47
  let modelDir = findModelDirectory();
@@ -42,14 +49,15 @@ export const generateModel = async (name) => {
42
49
  createModelDirectory();
43
50
  modelDir = findModelDirectory();
44
51
  }
45
- const modelDirName = path.join(modelDir, name);
46
- const modelFilePath = path.join(modelDirName + `/${name}.model.${readConfig().language}`);
52
+ const modelDirName = path_1.default.join(modelDir, name);
53
+ const modelFilePath = path_1.default.join(modelDirName + `/${name}.model.${(0, read_user_config_path_js_1.readConfig)().language}`);
47
54
  try {
48
- mkdirSync(modelDirName);
49
- await generateModelFile(name, path.join(modelFilePath), readConfig);
55
+ (0, fs_1.mkdirSync)(modelDirName);
56
+ await (0, exports.generateModelFile)(name, path_1.default.join(modelFilePath), read_user_config_path_js_1.readConfig);
50
57
  }
51
58
  catch (e) {
52
- console.log(chalk.bold(chalk.red(e)));
59
+ console.log(chalk_1.default.bold(chalk_1.default.red(e)));
53
60
  }
54
61
  }
55
62
  };
63
+ exports.generateModel = generateModel;
@@ -0,0 +1,2 @@
1
+ export declare const generateConfigFile: (name: string, configDir: string, readConfig: any) => Promise<void>;
2
+ export declare const generateConfig: (name: string) => Promise<void>;