@patto/cli 0.1.0 → 0.1.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.
@@ -1,10 +1,10 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
- import path from 'node:path';
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import path from "node:path";
3
3
  export function resolveProject(root) {
4
4
  const projectRoot = path.resolve(root ?? process.cwd());
5
5
  const requiredFiles = [
6
- path.join(projectRoot, 'src', 'core', 'structures', 'BaseCommand.ts'),
7
- path.join(projectRoot, 'src', 'core', 'decorators', 'command.decorator.ts'),
6
+ path.join(projectRoot, "src", "core", "structures", "BaseCommand.ts"),
7
+ path.join(projectRoot, "src", "core", "decorators", "command.decorator.ts"),
8
8
  ];
9
9
  const missingFile = requiredFiles.find((file) => !existsSync(file));
10
10
  if (missingFile !== undefined) {
@@ -15,7 +15,7 @@ export function resolveProject(root) {
15
15
  export function projectPath(project, ...segments) {
16
16
  const target = path.resolve(project.root, ...segments);
17
17
  const relative = path.relative(project.root, target);
18
- if (relative.startsWith('..') || path.isAbsolute(relative)) {
18
+ if (relative.startsWith("..") || path.isAbsolute(relative)) {
19
19
  throw new Error(`La ruta ${target} intenta salir de la raíz del proyecto.`);
20
20
  }
21
21
  return target;
@@ -25,15 +25,15 @@ export function writeFileOnce(filePath, content, force) {
25
25
  throw new Error(`El archivo ya existe: ${filePath}. Usa --force para reemplazarlo.`);
26
26
  }
27
27
  mkdirSync(path.dirname(filePath), { recursive: true });
28
- writeFileSync(filePath, content, 'utf8');
28
+ writeFileSync(filePath, content, "utf8");
29
29
  return { path: filePath, created: true };
30
30
  }
31
31
  export function readTextFile(filePath) {
32
- return readFileSync(filePath, 'utf8');
32
+ return readFileSync(filePath, "utf8");
33
33
  }
34
34
  export function writeTextFile(filePath, content) {
35
35
  mkdirSync(path.dirname(filePath), { recursive: true });
36
- writeFileSync(filePath, content, 'utf8');
36
+ writeFileSync(filePath, content, "utf8");
37
37
  }
38
38
  export function fileExists(filePath) {
39
39
  return existsSync(filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,UAAU,cAAc,CAAC,IAAa;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,CAAC;KAC9E,CAAC;IAEF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,uDAAuD,IAAI,CAAC,QAAQ,CAChE,WAAW,EACX,WAAW,CACd,4CAA4C,CAChD,CAAC;IACN,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAuB,EAAE,GAAG,QAAkB;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,yCAAyC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAE,KAAc;IAC3E,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,kCAAkC,CAAC,CAAC;IACzF,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IACzC,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC3D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAW7B,MAAM,UAAU,cAAc,CAAC,IAAa;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC;QACrE,IAAI,CAAC,IAAI,CACL,WAAW,EACX,KAAK,EACL,MAAM,EACN,YAAY,EACZ,sBAAsB,CACzB;KACJ,CAAC;IAEF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,uDAAuD,IAAI,CAAC,QAAQ,CAChE,WAAW,EACX,WAAW,CACd,4CAA4C,CAChD,CAAC;IACN,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CACvB,OAAuB,EACvB,GAAG,QAAkB;IAErB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACX,WAAW,MAAM,yCAAyC,CAC7D,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,QAAgB,EAChB,OAAe,EACf,KAAc;IAEd,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACX,yBAAyB,QAAQ,kCAAkC,CACtE,CAAC;IACN,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IACzC,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC3D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { ParsedName } from './names.js';
2
- export type CommandKind = 'command' | 'subcommand' | 'subcommand-group';
3
- export type PluginScopeName = 'specified' | 'folder' | 'deep-folder';
1
+ import type { ParsedName } from "./names.js";
2
+ export type CommandKind = "command" | "subcommand" | "subcommand-group";
3
+ export type PluginScopeName = "specified" | "folder" | "deep-folder";
4
4
  export interface CommandTemplateOptions {
5
5
  readonly description?: string;
6
6
  readonly category?: string;
@@ -29,6 +29,6 @@ export declare function pluginTemplate(classBase: string): string;
29
29
  export declare function pluginImportStatement(classBase: string, importPath: string): string;
30
30
  export declare function pluginCommandImportStatements(commands: string[] | undefined): string[];
31
31
  export declare function pluginRegistrationTemplate(options: PluginRegistrationOptions): string;
32
- export declare function pluginScopeEnum(scope: PluginScopeName): 'Specified' | 'Folder' | 'DeepFolder';
32
+ export declare function pluginScopeEnum(scope: PluginScopeName): "Specified" | "Folder" | "DeepFolder";
33
33
  export declare function normalizePluginScope(scope: string | undefined, folder?: string): PluginScopeName;
34
34
  export declare function normalizeCategory(category: string | undefined): string;
@@ -1,6 +1,6 @@
1
- import { commandClassNameFromPath, commandImportPath, parseDiscordName, toPascalCase } from './names.js';
1
+ import { commandClassNameFromPath, commandImportPath, parseDiscordName, toPascalCase, } from "./names.js";
2
2
  export function commandDefinitionTemplate(parsed, options) {
3
- return `${decoratorImports('command', options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
3
+ return `${decoratorImports("command", options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
4
4
 
5
5
  @Command({
6
6
  name: '${parsed.name}',
@@ -15,7 +15,7 @@ export function commandImplementationTemplate(parsed) {
15
15
  return `import { ${parsed.classBase}Definition } from '@/definitions/${[
16
16
  ...parsed.dirs,
17
17
  `${parsed.fileBase}.definition`,
18
- ].join('/')}';
18
+ ].join("/")}';
19
19
 
20
20
  export class ${parsed.classBase}Command extends ${parsed.classBase}Definition {
21
21
  async run(): Promise<void> {
@@ -25,7 +25,7 @@ export class ${parsed.classBase}Command extends ${parsed.classBase}Definition {
25
25
  `;
26
26
  }
27
27
  export function commandSingleFileTemplate(parsed, options) {
28
- return `${decoratorImports('command', options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
28
+ return `${decoratorImports("command", options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
29
29
 
30
30
  @Command({
31
31
  name: '${parsed.name}',
@@ -39,9 +39,9 @@ export class ${parsed.classBase}Command extends BaseCommand {
39
39
  `;
40
40
  }
41
41
  export function subcommandTemplate(parsed, options) {
42
- const parent = parseDiscordName(options.parent, 'comando padre');
42
+ const parent = parseDiscordName(options.parent, "comando padre");
43
43
  const className = `${toPascalCase(parent)}${parsed.classBase}Command`;
44
- return `${decoratorImports('subcommand', options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
44
+ return `${decoratorImports("subcommand", options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
45
45
 
46
46
  @Subcommand({
47
47
  parent: '${parent}',
@@ -56,10 +56,10 @@ export class ${className} extends BaseCommand {
56
56
  `;
57
57
  }
58
58
  export function subcommandGroupTemplate(parsed, options) {
59
- const parent = parseDiscordName(options.parent, 'comando padre');
60
- const group = parseDiscordName(options.group, 'grupo de subcomandos');
59
+ const parent = parseDiscordName(options.parent, "comando padre");
60
+ const group = parseDiscordName(options.group, "grupo de subcomandos");
61
61
  const className = `${toPascalCase(parent)}${toPascalCase(group)}${parsed.classBase}Command`;
62
- return `${decoratorImports('subcommand-group', options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
62
+ return `${decoratorImports("subcommand-group", options.category)}import { BaseCommand } from '@/core/structures/BaseCommand';
63
63
 
64
64
  @SubcommandGroup({
65
65
  parent: '${parent}',
@@ -75,16 +75,16 @@ export class ${className} extends BaseCommand {
75
75
  `;
76
76
  }
77
77
  export function standaloneDefinitionTemplate(parsed, kind, options) {
78
- if (kind === 'subcommand') {
79
- const parent = parseDiscordName(requiredOption(options.parent, '--parent'), 'comando padre');
78
+ if (kind === "subcommand") {
79
+ const parent = parseDiscordName(requiredOption(options.parent, "--parent"), "comando padre");
80
80
  return subcommandTemplate(parsed, {
81
81
  ...options,
82
82
  parent,
83
83
  }).replace(`export class ${toPascalCase(parent)}${parsed.classBase}Command extends BaseCommand`, `export abstract class ${toPascalCase(parent)}${parsed.classBase}Definition extends BaseCommand`);
84
84
  }
85
- if (kind === 'subcommand-group') {
86
- const parent = parseDiscordName(requiredOption(options.parent, '--parent'), 'comando padre');
87
- const group = parseDiscordName(requiredOption(options.group, '--group'), 'grupo de subcomandos');
85
+ if (kind === "subcommand-group") {
86
+ const parent = parseDiscordName(requiredOption(options.parent, "--parent"), "comando padre");
87
+ const group = parseDiscordName(requiredOption(options.group, "--group"), "grupo de subcomandos");
88
88
  return subcommandGroupTemplate(parsed, {
89
89
  ...options,
90
90
  parent,
@@ -135,62 +135,68 @@ export function pluginCommandImportStatements(commands) {
135
135
  }
136
136
  export function pluginRegistrationTemplate(options) {
137
137
  const scope = pluginScopeEnum(options.scope);
138
- const commandsLine = options.scope === 'specified'
139
- ? ` commands: [${(options.commands ?? []).map(commandClassNameFromPath).join(', ')}],\n`
140
- : '';
138
+ const commandsLine = options.scope === "specified"
139
+ ? ` commands: [${(options.commands ?? []).map(commandClassNameFromPath).join(", ")}],\n`
140
+ : "";
141
141
  return `PluginRegistry.register({
142
142
  plugin: new ${options.classBase}Plugin(),
143
143
  scope: PluginScope.${scope},
144
- folderPath: '${quote(options.folder ?? '')}',
144
+ folderPath: '${quote(options.folder ?? "")}',
145
145
  ${commandsLine}});`;
146
146
  }
147
147
  export function pluginScopeEnum(scope) {
148
148
  switch (scope) {
149
- case 'specified':
150
- return 'Specified';
151
- case 'folder':
152
- return 'Folder';
153
- case 'deep-folder':
154
- return 'DeepFolder';
149
+ case "specified":
150
+ return "Specified";
151
+ case "folder":
152
+ return "Folder";
153
+ case "deep-folder":
154
+ return "DeepFolder";
155
155
  }
156
156
  }
157
157
  export function normalizePluginScope(scope, folder) {
158
158
  if (scope === undefined) {
159
- return folder ? 'folder' : 'deep-folder';
159
+ return folder ? "folder" : "deep-folder";
160
160
  }
161
- if (scope === 'specified' || scope === 'folder' || scope === 'deep-folder') {
161
+ if (scope === "specified" ||
162
+ scope === "folder" ||
163
+ scope === "deep-folder") {
162
164
  return scope;
163
165
  }
164
- throw new Error('El scope del plugin debe ser specified, folder o deep-folder.');
166
+ throw new Error("El scope del plugin debe ser specified, folder o deep-folder.");
165
167
  }
166
168
  export function normalizeCategory(category) {
167
- const value = category?.trim().toLowerCase() || 'other';
169
+ const value = category?.trim().toLowerCase() || "other";
168
170
  const map = {
169
- economy: 'Economy',
170
- info: 'Info',
171
- moderation: 'Moderation',
172
- other: 'Other',
173
- settings: 'Settings',
174
- utils: 'Utils',
171
+ economy: "Economy",
172
+ info: "Info",
173
+ moderation: "Moderation",
174
+ other: "Other",
175
+ settings: "Settings",
176
+ utils: "Utils",
175
177
  };
176
178
  const normalized = map[value];
177
179
  if (normalized === undefined) {
178
- throw new Error('La categoria debe ser info, utils, moderation, settings, economy u other.');
180
+ throw new Error("La categoria debe ser info, utils, moderation, settings, economy u other.");
179
181
  }
180
182
  return normalized;
181
183
  }
182
184
  function decoratorImports(kind, category) {
183
- const categoryImport = category === undefined ? '' : "import { Category } from '@/utils/CommandCategories';\n";
184
- if (kind === 'subcommand') {
185
+ const categoryImport = category === undefined
186
+ ? ""
187
+ : "import { Category } from '@/utils/CommandCategories';\n";
188
+ if (kind === "subcommand") {
185
189
  return `import { Subcommand } from '@/core/decorators/subcommand.decorator';\n${categoryImport}`;
186
190
  }
187
- if (kind === 'subcommand-group') {
191
+ if (kind === "subcommand-group") {
188
192
  return `import { SubcommandGroup } from '@/core/decorators/subcommand-group.decorator';\n${categoryImport}`;
189
193
  }
190
194
  return `import { Command } from '@/core/decorators/command.decorator';\n${categoryImport}`;
191
195
  }
192
196
  function categoryLine(category) {
193
- return category === undefined ? '' : ` category: Category.${normalizeCategory(category)},\n`;
197
+ return category === undefined
198
+ ? ""
199
+ : ` category: Category.${normalizeCategory(category)},\n`;
194
200
  }
195
201
  function requiredOption(value, option) {
196
202
  if (!value) {
@@ -199,6 +205,6 @@ function requiredOption(value, option) {
199
205
  return value;
200
206
  }
201
207
  function quote(value) {
202
- return value.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
208
+ return value.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
203
209
  }
204
210
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patto/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Official CLI for Patto Bot Template",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -14,6 +14,7 @@
14
14
  "dist"
15
15
  ],
16
16
  "dependencies": {
17
+ "adm-zip": "^0.5.16",
17
18
  "cac": "^6.7.14",
18
19
  "chalk": "^5.3.0",
19
20
  "execa": "^9.0.0",
@@ -27,6 +28,7 @@
27
28
  "@patto/cli-core-win32-x64": "0.1.0"
28
29
  },
29
30
  "devDependencies": {
31
+ "@types/adm-zip": "^0.5.7",
30
32
  "@types/fs-extra": "^11.0.4",
31
33
  "@types/node": "^24.10.0",
32
34
  "@types/prompts": "^2.4.9",