@avleon/cli 0.0.40 → 0.0.42
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/cli.js +8 -6
- package/dist/create.js +31 -6
- package/dist/paths.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -49,6 +49,7 @@ const commands_1 = require("./commands");
|
|
|
49
49
|
const child_process_1 = require("child_process");
|
|
50
50
|
const create_1 = require("./create");
|
|
51
51
|
const service_1 = require("./service");
|
|
52
|
+
const lodash_1 = require("lodash");
|
|
52
53
|
function iqraCli() { }
|
|
53
54
|
const listedCommands = commands_1.commandList
|
|
54
55
|
.flatMap((x) => x.Command)
|
|
@@ -190,14 +191,15 @@ async function createConfig(name, options = { force: false }) {
|
|
|
190
191
|
throw new Error("Config name not found . use --name or node artisan make:config JwtConfig");
|
|
191
192
|
}
|
|
192
193
|
const modelName = name.at(0).toUpperCase() + name.slice(1);
|
|
193
|
-
const
|
|
194
|
+
const modelClassName = (0, lodash_1.capitalize)(modelName).endsWith('Config') ? (0, lodash_1.capitalize)(modelName) : (0, lodash_1.capitalize)(modelName) + "Config";
|
|
195
|
+
const modelExists = (0, fs_1.existsSync)(path_1.default.join(process.cwd(), `./src/config/${modelName.toLowerCase()}.ts`));
|
|
194
196
|
if (modelExists && !options.force) {
|
|
195
197
|
console.log("Config already exists!", "Use -f or --force to overwrite.\r");
|
|
196
198
|
return;
|
|
197
199
|
}
|
|
198
|
-
const modelFolderExists = (0, fs_1.existsSync)(path_1.default.join(process.cwd(), "./src/
|
|
200
|
+
const modelFolderExists = (0, fs_1.existsSync)(path_1.default.join(process.cwd(), "./src/config"));
|
|
199
201
|
if (!modelFolderExists) {
|
|
200
|
-
await promises_1.default.mkdir(path_1.default.join(process.cwd(), "./src/
|
|
202
|
+
await promises_1.default.mkdir(path_1.default.join(process.cwd(), "./src/config"), {
|
|
201
203
|
recursive: true,
|
|
202
204
|
});
|
|
203
205
|
}
|
|
@@ -206,7 +208,7 @@ async function createConfig(name, options = { force: false }) {
|
|
|
206
208
|
import { Config, IConfig } from '@avleon/core';
|
|
207
209
|
|
|
208
210
|
@AppConfig
|
|
209
|
-
export class ${
|
|
211
|
+
export class ${modelClassName} implements IConfig<T>{
|
|
210
212
|
|
|
211
213
|
config(env: Environment){
|
|
212
214
|
// config must return config
|
|
@@ -222,8 +224,8 @@ export class ${modelName}Middleware implements IConfig<T>{
|
|
|
222
224
|
singleAttributePerLine: true,
|
|
223
225
|
parser: "typescript",
|
|
224
226
|
});
|
|
225
|
-
await promises_1.default.writeFile(path_1.default.join(process.cwd(), "./src/
|
|
226
|
-
console.log("
|
|
227
|
+
await promises_1.default.writeFile(path_1.default.join(process.cwd(), "./src/config/" + modelName.toLowerCase() + ".ts"), formatModel);
|
|
228
|
+
console.log("Config created succssessfully!");
|
|
227
229
|
}
|
|
228
230
|
async function run() {
|
|
229
231
|
try {
|
package/dist/create.js
CHANGED
|
@@ -106,16 +106,40 @@ async function createApplication(fname, flags = {}) {
|
|
|
106
106
|
await fs_extra_1.default.ensureDir(appPaths.root + "/public");
|
|
107
107
|
// copy
|
|
108
108
|
// home controller
|
|
109
|
+
const homeService = `
|
|
110
|
+
import { AppService } from '@avleon/core';
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
@AppService
|
|
114
|
+
export class HomeService{
|
|
115
|
+
|
|
116
|
+
sayHello(){
|
|
117
|
+
return "Hello World!";
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
`;
|
|
121
|
+
const formatHomeService = await prettier.format(homeService, {
|
|
122
|
+
singleQuote: true,
|
|
123
|
+
singleAttributePerLine: true,
|
|
124
|
+
parser: "typescript",
|
|
125
|
+
});
|
|
126
|
+
await fs_extra_1.default.writeFile(path_1.default.join(appPaths.services, "home.service.ts"), formatHomeService);
|
|
127
|
+
// home controller
|
|
109
128
|
const homeContrlelr = `
|
|
110
|
-
import { ApiController, Get } from
|
|
129
|
+
import { ApiController, Get } from '@avleon/core';
|
|
130
|
+
import { HomeService } from '../services/home.service';
|
|
111
131
|
|
|
112
132
|
|
|
113
133
|
@ApiController
|
|
114
134
|
export class HomeController{
|
|
115
135
|
|
|
136
|
+
constructor(
|
|
137
|
+
private readonly homeService: HomeService
|
|
138
|
+
){}
|
|
139
|
+
|
|
116
140
|
@Get()
|
|
117
141
|
sayHello(){
|
|
118
|
-
return
|
|
142
|
+
return this.homeService.sayHello();
|
|
119
143
|
}
|
|
120
144
|
}
|
|
121
145
|
`;
|
|
@@ -175,7 +199,6 @@ export default app;
|
|
|
175
199
|
// create serve.ts
|
|
176
200
|
const serveFunc = `
|
|
177
201
|
import app from "./app";
|
|
178
|
-
import { capitalize } from "lodash";
|
|
179
202
|
|
|
180
203
|
async function start(){
|
|
181
204
|
app.run(); // default run on :4000
|
|
@@ -192,10 +215,10 @@ start();
|
|
|
192
215
|
// create package.json
|
|
193
216
|
const packageJson = `
|
|
194
217
|
{
|
|
195
|
-
"name": "${fname}",
|
|
218
|
+
"name": "${(0, lodash_1.snakeCase)(fname)}",
|
|
196
219
|
"version": "0.0.1",
|
|
197
220
|
"description": "Basic avleon application",
|
|
198
|
-
"main": "
|
|
221
|
+
"main": "dist/serve.js",
|
|
199
222
|
"scripts": {
|
|
200
223
|
"start:dev": "nodemon ./src/serve.ts",
|
|
201
224
|
"start:debug": "nodemon --watch ./src --ext ts --exec node --inspect=0.0.0.0:9229 -r ts-node/register ./src/serve.ts",
|
|
@@ -212,13 +235,15 @@ start();
|
|
|
212
235
|
"license": "ISC",
|
|
213
236
|
"dependencies": {
|
|
214
237
|
"@avleon/core": "^0.0.36",
|
|
215
|
-
"@avleon/cli": "^0.0.
|
|
238
|
+
"@avleon/cli": "^0.0.42",
|
|
216
239
|
"class-transformer": "^0.5.1",
|
|
217
240
|
"class-validator": "^0.14.1",
|
|
241
|
+
"rimraf": "^6.0.1",
|
|
218
242
|
"reflect-metadata": "^0.2.2"
|
|
219
243
|
},
|
|
220
244
|
"devDependencies": {
|
|
221
245
|
"@types/jest": "^29.5.14",
|
|
246
|
+
"@types/node": "^24.0.3",
|
|
222
247
|
"jest": "^29.7.0",
|
|
223
248
|
"ts-jest": "^29.2.6",
|
|
224
249
|
"nodemon": "^3.1.7",
|
package/dist/paths.js
CHANGED
|
@@ -26,7 +26,7 @@ const appPaths = (rootPath) => {
|
|
|
26
26
|
models: node_path_1.default.join(root, "src/models"),
|
|
27
27
|
services: node_path_1.default.join(root, "src/services"),
|
|
28
28
|
dtos: node_path_1.default.join(root, "src/dtos"),
|
|
29
|
-
configs: node_path_1.default.join(root, "src/
|
|
29
|
+
configs: node_path_1.default.join(root, "src/config")
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
exports.appPaths = appPaths;
|