@ooneex/command 0.1.2 → 0.2.0

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/README.md CHANGED
@@ -16,7 +16,7 @@ Database seeding framework for populating initial data, fixtures, and test datas
16
16
 
17
17
  ✅ **Active/Inactive Control** - Enable or disable individual seeds via the `isActive()` method
18
18
 
19
- ✅ **Seed Runner** - Execute all active seeds in order with terminal logging via `seedRun()`
19
+ ✅ **Seed Runner** - Execute all active seeds in order with terminal logging via `run()`
20
20
 
21
21
  ✅ **Seed Scaffolding** - Generate new seed files from a template with `seedCreate()`
22
22
 
@@ -95,9 +95,9 @@ export class UserSeed implements ISeed {
95
95
  ### Running Seeds
96
96
 
97
97
  ```typescript
98
- import { seedRun } from '@ooneex/seeds';
98
+ import { run } from '@ooneex/seeds';
99
99
 
100
- await seedRun();
100
+ await run();
101
101
  ```
102
102
 
103
103
  ### Creating a New Seed
@@ -136,7 +136,7 @@ interface ISeed {
136
136
 
137
137
  ### Functions
138
138
 
139
- #### `seedRun(): Promise<void>`
139
+ #### `run(): Promise<void>`
140
140
 
141
141
  Execute all active seeds with dependency resolution and terminal logging.
142
142
 
package/dist/index.d.ts CHANGED
@@ -10,16 +10,17 @@ declare const commandCreate: (config: {
10
10
  commandPath: string;
11
11
  testPath: string;
12
12
  }>;
13
- declare const run: () => Promise<void>;
14
- import { EContainerScope } from "@ooneex/container";
15
13
  type CommandClassType = new (...args: any[]) => ICommand;
16
14
  interface ICommand<Options extends Record<string, unknown> = Record<string, unknown>> {
17
15
  run: (options: Options) => Promise<void> | void;
18
16
  getName: () => string;
19
17
  getDescription: () => string;
20
18
  }
19
+ declare const COMMANDS_CONTAINER: CommandClassType[];
20
+ import { EContainerScope } from "@ooneex/container";
21
21
  declare const decorator: {
22
22
  command: (scope?: EContainerScope) => (command: CommandClassType) => void;
23
23
  };
24
24
  declare const getCommand: (name: string) => ICommand | null;
25
- export { run, getCommand, decorator, commandCreate, ICommand, CommandException, CommandClassType };
25
+ declare const run: () => Promise<void>;
26
+ export { run, getCommand, decorator, commandCreate, ICommand, CommandException, CommandClassType, COMMANDS_CONTAINER };
package/dist/index.js CHANGED
@@ -91,28 +91,32 @@ var commandCreate = async (config) => {
91
91
  testPath: join(testsDir, `${name}Command.spec.ts`)
92
92
  };
93
93
  };
94
- // src/run.ts
95
- import { parseArgs } from "util";
96
- import { Exception as Exception2 } from "@ooneex/exception";
97
- import { TerminalLogger } from "@ooneex/logger";
98
-
99
- // src/getCommand.ts
100
- import { container } from "@ooneex/container";
101
-
102
94
  // src/container.ts
103
95
  var COMMANDS_CONTAINER = [];
104
-
96
+ // src/decorators.ts
97
+ import { container, EContainerScope } from "@ooneex/container";
98
+ var decorator = {
99
+ command: (scope = EContainerScope.Singleton) => {
100
+ return (command) => {
101
+ container.add(command, scope);
102
+ COMMANDS_CONTAINER.push(command);
103
+ };
104
+ }
105
+ };
105
106
  // src/getCommand.ts
107
+ import { container as container2 } from "@ooneex/container";
106
108
  var getCommand = (name) => {
107
109
  let command = null;
108
110
  COMMANDS_CONTAINER.find((CommandClass) => {
109
- command = container.get(CommandClass);
111
+ command = container2.get(CommandClass);
110
112
  return command.getName() === name;
111
113
  });
112
114
  return command;
113
115
  };
114
-
115
116
  // src/run.ts
117
+ import { parseArgs } from "util";
118
+ import { Exception as Exception2 } from "@ooneex/exception";
119
+ import { TerminalLogger } from "@ooneex/logger";
116
120
  var run = async () => {
117
121
  const { values, positionals } = parseArgs({
118
122
  args: Bun.argv,
@@ -190,22 +194,13 @@ var run = async () => {
190
194
  process.exit(1);
191
195
  }
192
196
  };
193
- // src/decorators.ts
194
- import { container as container2, EContainerScope } from "@ooneex/container";
195
- var decorator = {
196
- command: (scope = EContainerScope.Singleton) => {
197
- return (command) => {
198
- container2.add(command, scope);
199
- COMMANDS_CONTAINER.push(command);
200
- };
201
- }
202
- };
203
197
  export {
204
198
  run,
205
199
  getCommand,
206
200
  decorator,
207
201
  commandCreate,
208
- CommandException
202
+ CommandException,
203
+ COMMANDS_CONTAINER
209
204
  };
210
205
 
211
- //# debugId=39BECB90FA52E93864756E2164756E21
206
+ //# debugId=D61AFC4E7AA499A064756E2164756E21
package/dist/index.js.map CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["src/CommandException.ts", "src/commandCreate.ts", "src/run.ts", "src/getCommand.ts", "src/container.ts", "src/decorators.ts"],
3
+ "sources": ["src/CommandException.ts", "src/commandCreate.ts", "src/container.ts", "src/decorators.ts", "src/getCommand.ts", "src/run.ts"],
4
4
  "sourcesContent": [
5
5
  "import { Exception } from \"@ooneex/exception\";\nimport { HttpStatus } from \"@ooneex/http-status\";\n\nexport class CommandException extends Exception {\n constructor(message: string, key: string, data: Record<string, unknown> = {}) {\n super(message, {\n key,\n status: HttpStatus.Code.InternalServerError,\n data,\n });\n\n this.name = \"CommandException\";\n }\n}\n",
6
6
  "import { join } from \"node:path\";\nimport { toKebabCase, toPascalCase } from \"@ooneex/utils\";\nimport { Glob } from \"bun\";\nimport testTemplate from \"./command.test.txt\";\nimport template from \"./command.txt\";\n\nexport const commandCreate = async (config: {\n name: string;\n commandDir?: string;\n testsDir?: string;\n}): Promise<{ commandPath: string; testPath: string }> => {\n const name = toPascalCase(config.name).replace(/Command$/, \"\");\n const commandName = toKebabCase(name).replace(/-/g, \":\");\n const commandDir = config.commandDir || join(\"src\", \"commands\");\n const testsDir = config.testsDir || join(\"tests\", \"commands\");\n\n const content = template\n .replace(/\\{\\{NAME\\}\\}/g, name)\n .replace(/\\{\\{COMMAND_NAME\\}\\}/g, commandName)\n .replace(/\\{\\{COMMAND_DESCRIPTION\\}\\}/g, `Execute ${commandName} command`);\n\n await Bun.write(join(process.cwd(), commandDir, `${name}Command.ts`), content);\n\n const testContent = testTemplate.replace(/\\{\\{NAME\\}\\}/g, name);\n await Bun.write(join(process.cwd(), testsDir, `${name}Command.spec.ts`), testContent);\n\n const imports: string[] = [];\n const glob = new Glob(\"**/*Command.ts\");\n for await (const file of glob.scan(join(process.cwd(), commandDir))) {\n const commandClassName = file.replace(/\\.ts$/, \"\");\n imports.push(`export { ${commandClassName} } from './${commandClassName}';`);\n }\n await Bun.write(join(process.cwd(), commandDir, \"commands.ts\"), `${imports.sort().join(\"\\n\")}\\n`);\n\n return {\n commandPath: join(commandDir, `${name}Command.ts`),\n testPath: join(testsDir, `${name}Command.spec.ts`),\n };\n};\n",
7
- "import { parseArgs } from \"node:util\";\nimport type { IException } from \"@ooneex/exception\";\nimport { Exception } from \"@ooneex/exception\";\nimport { TerminalLogger } from \"@ooneex/logger\";\nimport type { HttpMethodType } from \"@ooneex/types\";\nimport { getCommand } from \"./getCommand\";\n\nexport const run = async (): Promise<void> => {\n const { values, positionals } = parseArgs({\n args: Bun.argv,\n options: {\n name: {\n type: \"string\",\n },\n \"route-name\": {\n type: \"string\",\n },\n \"route-path\": {\n type: \"string\",\n },\n \"route-method\": {\n type: \"string\",\n },\n \"is-socket\": {\n type: \"boolean\",\n },\n dir: {\n type: \"string\",\n },\n channel: {\n type: \"string\",\n },\n \"table-name\": {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n destination: {\n type: \"string\",\n },\n },\n strict: false,\n allowPositionals: true,\n });\n\n const logger = new TerminalLogger();\n\n const commandName = positionals[2];\n\n if (!commandName) {\n logger.error(\"Command name is required\\n\");\n process.exit(1);\n }\n\n const command = getCommand(commandName);\n\n if (!command) {\n logger.info(\"No commands found\\n\");\n process.exit(1);\n }\n\n const parsedValues = {\n name: values.name,\n dir: values.dir,\n channel: values.channel,\n isSocket: values[\"is-socket\"],\n tableName: values[\"table-name\"],\n module: values.module,\n destination: values.destination,\n route: {\n name: values[\"route-name\"],\n path: values[\"route-path\"] as `/${string}` | undefined,\n method: values[\"route-method\"] as HttpMethodType | undefined,\n },\n };\n\n try {\n await command.run(parsedValues);\n } catch (error) {\n const exception: IException =\n error instanceof Exception ? error : new Exception(error instanceof Error ? error : String(error));\n logger.error(exception, undefined, {\n showArrow: false,\n showTimestamp: false,\n showLevel: false,\n });\n process.exit(1);\n }\n};\n",
8
- "import { container } from \"@ooneex/container\";\nimport { COMMANDS_CONTAINER } from \"./container\";\nimport type { ICommand } from \"./types\";\n\nexport const getCommand = (name: string): ICommand | null => {\n let command: ICommand | null = null;\n\n COMMANDS_CONTAINER.find((CommandClass) => {\n command = container.get(CommandClass);\n\n return command.getName() === name;\n });\n\n return command;\n};\n",
9
7
  "import type { CommandClassType } from \"./types\";\n\nexport const COMMANDS_CONTAINER: CommandClassType[] = [];\n",
10
- "import { container, EContainerScope } from \"@ooneex/container\";\nimport { COMMANDS_CONTAINER } from \"./container\";\nimport type { CommandClassType } from \"./types\";\n\nexport const decorator = {\n command: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (command: CommandClassType): void => {\n container.add(command, scope);\n COMMANDS_CONTAINER.push(command);\n };\n },\n};\n"
8
+ "import { container, EContainerScope } from \"@ooneex/container\";\nimport { COMMANDS_CONTAINER } from \"./container\";\nimport type { CommandClassType } from \"./types\";\n\nexport const decorator = {\n command: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (command: CommandClassType): void => {\n container.add(command, scope);\n COMMANDS_CONTAINER.push(command);\n };\n },\n};\n",
9
+ "import { container } from \"@ooneex/container\";\nimport { COMMANDS_CONTAINER } from \"./container\";\nimport type { ICommand } from \"./types\";\n\nexport const getCommand = (name: string): ICommand | null => {\n let command: ICommand | null = null;\n\n COMMANDS_CONTAINER.find((CommandClass) => {\n command = container.get(CommandClass);\n\n return command.getName() === name;\n });\n\n return command;\n};\n",
10
+ "import { parseArgs } from \"node:util\";\nimport type { IException } from \"@ooneex/exception\";\nimport { Exception } from \"@ooneex/exception\";\nimport { TerminalLogger } from \"@ooneex/logger\";\nimport type { HttpMethodType } from \"@ooneex/types\";\nimport { getCommand } from \"./getCommand\";\n\nexport const run = async (): Promise<void> => {\n const { values, positionals } = parseArgs({\n args: Bun.argv,\n options: {\n name: {\n type: \"string\",\n },\n \"route-name\": {\n type: \"string\",\n },\n \"route-path\": {\n type: \"string\",\n },\n \"route-method\": {\n type: \"string\",\n },\n \"is-socket\": {\n type: \"boolean\",\n },\n dir: {\n type: \"string\",\n },\n channel: {\n type: \"string\",\n },\n \"table-name\": {\n type: \"string\",\n },\n module: {\n type: \"string\",\n },\n destination: {\n type: \"string\",\n },\n },\n strict: false,\n allowPositionals: true,\n });\n\n const logger = new TerminalLogger();\n\n const commandName = positionals[2];\n\n if (!commandName) {\n logger.error(\"Command name is required\\n\");\n process.exit(1);\n }\n\n const command = getCommand(commandName);\n\n if (!command) {\n logger.info(\"No commands found\\n\");\n process.exit(1);\n }\n\n const parsedValues = {\n name: values.name,\n dir: values.dir,\n channel: values.channel,\n isSocket: values[\"is-socket\"],\n tableName: values[\"table-name\"],\n module: values.module,\n destination: values.destination,\n route: {\n name: values[\"route-name\"],\n path: values[\"route-path\"] as `/${string}` | undefined,\n method: values[\"route-method\"] as HttpMethodType | undefined,\n },\n };\n\n try {\n await command.run(parsedValues);\n } catch (error) {\n const exception: IException =\n error instanceof Exception ? error : new Exception(error instanceof Error ? error : String(error));\n logger.error(exception, undefined, {\n showArrow: false,\n showTimestamp: false,\n showLevel: false,\n });\n process.exit(1);\n }\n};\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "39BECB90FA52E93864756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "D61AFC4E7AA499A064756E2164756E21",
14
14
  "names": []
15
15
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ooneex/command",
3
3
  "description": "Command framework for building CLI commands with dependency injection, argument parsing, and execution logging",
4
- "version": "0.1.2",
4
+ "version": "0.2.0",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -28,7 +28,7 @@
28
28
  "npm:publish": "bun publish --tolerate-republish --force --production --access public"
29
29
  },
30
30
  "dependencies": {
31
- "@ooneex/container": "1.2.4",
31
+ "@ooneex/container": "1.3.0",
32
32
  "@ooneex/exception": "1.2.2",
33
33
  "@ooneex/http-status": "1.1.5",
34
34
  "@ooneex/logger": "1.2.9",