@patto/cli 0.1.0 → 0.1.2
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 +119 -89
- package/dist/commands/core.d.ts +1 -1
- package/dist/commands/core.js +21 -19
- package/dist/commands/core.js.map +1 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +178 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/core/resolve.js +21 -21
- package/dist/core/resolve.js.map +1 -1
- package/dist/core/run.d.ts +1 -1
- package/dist/core/run.js +12 -12
- package/dist/core/stdin.d.ts +1 -1
- package/dist/core/stdin.js +10 -7
- package/dist/core/stdin.js.map +1 -1
- package/dist/core/types.d.ts +2 -2
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/output/diagnostics.d.ts +1 -1
- package/dist/output/diagnostics.js +12 -12
- package/dist/output/diagnostics.js.map +1 -1
- package/dist/scaffold/names.js +13 -13
- package/dist/scaffold/names.js.map +1 -1
- package/dist/scaffold/project.js +8 -8
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/templates.d.ts +4 -4
- package/dist/scaffold/templates.js +46 -40
- package/dist/scaffold/templates.js.map +1 -1
- package/package.json +3 -1
package/dist/scaffold/project.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from
|
|
2
|
-
import path from
|
|
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,
|
|
7
|
-
path.join(projectRoot,
|
|
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(
|
|
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,
|
|
28
|
+
writeFileSync(filePath, content, "utf8");
|
|
29
29
|
return { path: filePath, created: true };
|
|
30
30
|
}
|
|
31
31
|
export function readTextFile(filePath) {
|
|
32
|
-
return readFileSync(filePath,
|
|
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,
|
|
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,
|
|
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
|
|
2
|
-
export type CommandKind =
|
|
3
|
-
export type PluginScopeName =
|
|
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):
|
|
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
|
|
1
|
+
import { commandClassNameFromPath, commandImportPath, parseDiscordName, toPascalCase, } from "./names.js";
|
|
2
2
|
export function commandDefinitionTemplate(parsed, options) {
|
|
3
|
-
return `${decoratorImports(
|
|
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(
|
|
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,
|
|
42
|
+
const parent = parseDiscordName(options.parent, "comando padre");
|
|
43
43
|
const className = `${toPascalCase(parent)}${parsed.classBase}Command`;
|
|
44
|
-
return `${decoratorImports(
|
|
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,
|
|
60
|
-
const group = parseDiscordName(options.group,
|
|
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(
|
|
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 ===
|
|
79
|
-
const parent = parseDiscordName(requiredOption(options.parent,
|
|
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 ===
|
|
86
|
-
const parent = parseDiscordName(requiredOption(options.parent,
|
|
87
|
-
const group = parseDiscordName(requiredOption(options.group,
|
|
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 ===
|
|
139
|
-
? ` commands: [${(options.commands ?? []).map(commandClassNameFromPath).join(
|
|
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
|
|
150
|
-
return
|
|
151
|
-
case
|
|
152
|
-
return
|
|
153
|
-
case
|
|
154
|
-
return
|
|
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 ?
|
|
159
|
+
return folder ? "folder" : "deep-folder";
|
|
160
160
|
}
|
|
161
|
-
if (scope ===
|
|
161
|
+
if (scope === "specified" ||
|
|
162
|
+
scope === "folder" ||
|
|
163
|
+
scope === "deep-folder") {
|
|
162
164
|
return scope;
|
|
163
165
|
}
|
|
164
|
-
throw new Error(
|
|
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() ||
|
|
169
|
+
const value = category?.trim().toLowerCase() || "other";
|
|
168
170
|
const map = {
|
|
169
|
-
economy:
|
|
170
|
-
info:
|
|
171
|
-
moderation:
|
|
172
|
-
other:
|
|
173
|
-
settings:
|
|
174
|
-
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(
|
|
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
|
|
184
|
-
|
|
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 ===
|
|
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
|
|
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,
|
|
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":"AACA,OAAO,
|
|
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.
|
|
3
|
+
"version": "0.1.2",
|
|
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",
|