@avleon/cli 0.0.41 → 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 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 modelExists = (0, fs_1.existsSync)(path_1.default.join(process.cwd(), `./src/cinfigs/${modelName.toLowerCase()}.ts`));
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/configs"));
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/configs"), {
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 ${modelName}Middleware implements IConfig<T>{
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/middlewares/" + modelName.toLowerCase() + ".ts"), formatModel);
226
- console.log("Middleware created succssessfully!");
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 "@avleon/core";
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 "Hello World!";
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": "index.js",
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.40",
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avleon/cli",
3
- "version": "0.0.41",
3
+ "version": "0.0.42",
4
4
  "bin": {
5
5
  "avleon": "./dist/cli.js"
6
6
  },