generator-discord 1.3.0 → 1.3.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.
- package/app/index.d.ts.map +1 -1
- package/app/index.js +43 -26
- package/app/index.js.map +1 -1
- package/package.json +5 -7
- package/src/index.ts +53 -27
package/app/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAYzC,KAAK,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/D,UAAU,OAAO;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAYzC,KAAK,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/D,UAAU,OAAO;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACtB;AA0BD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,SAAS;IACtD,OAAO,CAAC,OAAO,CAA0B;gBAE7B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI/D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDhC,IAAI,IAAI,IAAI;IAYZ,OAAO,IAAI,IAAI;IAuBT,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;CAWjE"}
|
package/app/index.js
CHANGED
|
@@ -6,6 +6,24 @@ const BOT_NAME = /<%= bot-name %>/g;
|
|
|
6
6
|
const BOT_TOKEN = /<%= bot-token %>/g;
|
|
7
7
|
// needed for rust
|
|
8
8
|
const BOT_NAME_RUST = /bot_name/g;
|
|
9
|
+
const botNameValidation = {
|
|
10
|
+
typescript: {
|
|
11
|
+
regex: new RegExp('^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$'),
|
|
12
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
13
|
+
},
|
|
14
|
+
javascript: {
|
|
15
|
+
regex: new RegExp('^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$'),
|
|
16
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
17
|
+
},
|
|
18
|
+
python: {
|
|
19
|
+
regex: new RegExp('^[a-zA-Z0-9_]+$'),
|
|
20
|
+
errorMessage: 'Invalid bot name. Please use only letters, numbers, and underscores. Must start with a letter.'
|
|
21
|
+
},
|
|
22
|
+
rust: {
|
|
23
|
+
regex: new RegExp('/^[a-z][a-z0-9_-]*$/'),
|
|
24
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, underscores, and hyphens. Must start with a letter.'
|
|
25
|
+
}
|
|
26
|
+
};
|
|
9
27
|
export default class DiscordGenerator extends Generator {
|
|
10
28
|
answers = {};
|
|
11
29
|
constructor(args, options) {
|
|
@@ -13,38 +31,36 @@ export default class DiscordGenerator extends Generator {
|
|
|
13
31
|
}
|
|
14
32
|
async prompting() {
|
|
15
33
|
this.logo();
|
|
34
|
+
const askBotType = await this.prompt({
|
|
35
|
+
type: 'list',
|
|
36
|
+
name: 'botType',
|
|
37
|
+
message: 'The type of Discord Bot you want to create.',
|
|
38
|
+
choices: [
|
|
39
|
+
{
|
|
40
|
+
name: 'New Discord Bot (TypeScript)',
|
|
41
|
+
value: 'typescript'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'New Discord Bot (JavaScript)',
|
|
45
|
+
value: 'javascript'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'New Discord Bot (Python)',
|
|
49
|
+
value: 'python'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'New Discord Bot (Rust)',
|
|
53
|
+
value: 'rust'
|
|
54
|
+
},
|
|
55
|
+
]
|
|
56
|
+
});
|
|
16
57
|
this.answers = await this.prompt([
|
|
17
58
|
{
|
|
18
59
|
type: 'input',
|
|
19
60
|
name: 'botName',
|
|
20
61
|
message: 'Your Discord Bot name:',
|
|
21
62
|
default: 'my-bot',
|
|
22
|
-
validate: (input) =>
|
|
23
|
-
? true
|
|
24
|
-
: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
type: 'list',
|
|
28
|
-
name: 'botType',
|
|
29
|
-
message: 'The type of Discord Bot you want to create.',
|
|
30
|
-
choices: [
|
|
31
|
-
{
|
|
32
|
-
name: 'New Discord Bot (TypeScript)',
|
|
33
|
-
value: 'typescript'
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'New Discord Bot (JavaScript)',
|
|
37
|
-
value: 'javascript'
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'New Discord Bot (Python)',
|
|
41
|
-
value: 'python'
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'New Discord Bot (Rust)',
|
|
45
|
-
value: 'rust'
|
|
46
|
-
},
|
|
47
|
-
]
|
|
63
|
+
validate: (input) => botNameValidation[askBotType.botType].regex.test(input) ? true : botNameValidation[askBotType.botType].errorMessage
|
|
48
64
|
},
|
|
49
65
|
{
|
|
50
66
|
type: 'input',
|
|
@@ -53,6 +69,7 @@ export default class DiscordGenerator extends Generator {
|
|
|
53
69
|
default: 'your-bot-token'
|
|
54
70
|
}
|
|
55
71
|
]);
|
|
72
|
+
this.answers.botType = askBotType.botType;
|
|
56
73
|
}
|
|
57
74
|
logo() {
|
|
58
75
|
this.log(' \x1b[36m_____ _ _ \x1b[31m_');
|
package/app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,YAAY,GAAG,eAAe,CAAC;AACrC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,kBAAkB;AAClB,MAAM,aAAa,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-discord",
|
|
3
3
|
"displayName": "Generator-Discord",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./app/index.js",
|
|
7
7
|
"description": "Yeoman generator for Discord.js",
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"lint": "eslint src test --ext .ts",
|
|
22
22
|
"lint:fix": "eslint src test --ext .ts --fix",
|
|
23
|
-
"debug": "npx --node-arg=--inspect yo discord",
|
|
24
23
|
"clean": "npx rimraf app && npx rimraf node_modules"
|
|
25
24
|
},
|
|
26
25
|
"files": [
|
|
@@ -41,15 +40,14 @@
|
|
|
41
40
|
},
|
|
42
41
|
"homepage": "https://github.com/emilkrebs/Generator-Discord",
|
|
43
42
|
"dependencies": {
|
|
44
|
-
"yeoman-generator": "^
|
|
43
|
+
"yeoman-generator": "^7.0.0"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
|
-
"@typescript-eslint/eslint-plugin": "^6.
|
|
48
|
-
"@typescript-eslint/parser": "^6.
|
|
49
|
-
"eslint": "^8.
|
|
46
|
+
"@typescript-eslint/eslint-plugin": "^6.9.0",
|
|
47
|
+
"@typescript-eslint/parser": "^6.9.0",
|
|
48
|
+
"eslint": "^8.52.0",
|
|
50
49
|
"typescript": "^5.2.2",
|
|
51
50
|
"vitest": "^0.34.6",
|
|
52
|
-
"yeoman-environment": "^3.19.3",
|
|
53
51
|
"yeoman-test": "^8.1.0"
|
|
54
52
|
}
|
|
55
53
|
}
|
package/src/index.ts
CHANGED
|
@@ -19,6 +19,29 @@ interface Answers {
|
|
|
19
19
|
openWithCode: boolean;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
interface BotNameValidation {
|
|
23
|
+
regex: RegExp;
|
|
24
|
+
errorMessage: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const botNameValidation: Record<BotType, BotNameValidation> = {
|
|
28
|
+
typescript: {
|
|
29
|
+
regex: new RegExp('^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$'),
|
|
30
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
31
|
+
},
|
|
32
|
+
javascript: {
|
|
33
|
+
regex: new RegExp('^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$'),
|
|
34
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
35
|
+
},
|
|
36
|
+
python: {
|
|
37
|
+
regex: new RegExp('^[a-zA-Z0-9_]+$'),
|
|
38
|
+
errorMessage: 'Invalid bot name. Please use only letters, numbers, and underscores. Must start with a letter.'
|
|
39
|
+
},
|
|
40
|
+
rust: {
|
|
41
|
+
regex: new RegExp('/^[a-z][a-z0-9_-]*$/'),
|
|
42
|
+
errorMessage: 'Invalid bot name. Please use only lowercase letters, numbers, underscores, and hyphens. Must start with a letter.'
|
|
43
|
+
}
|
|
44
|
+
};
|
|
22
45
|
|
|
23
46
|
export default class DiscordGenerator extends Generator {
|
|
24
47
|
private answers: Answers = {} as Answers;
|
|
@@ -29,39 +52,40 @@ export default class DiscordGenerator extends Generator {
|
|
|
29
52
|
|
|
30
53
|
async prompting(): Promise<void> {
|
|
31
54
|
this.logo();
|
|
55
|
+
|
|
56
|
+
const askBotType = await this.prompt({
|
|
57
|
+
type: 'list',
|
|
58
|
+
name: 'botType',
|
|
59
|
+
message: 'The type of Discord Bot you want to create.',
|
|
60
|
+
choices: [
|
|
61
|
+
{
|
|
62
|
+
name: 'New Discord Bot (TypeScript)',
|
|
63
|
+
value: 'typescript'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'New Discord Bot (JavaScript)',
|
|
67
|
+
value: 'javascript'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'New Discord Bot (Python)',
|
|
71
|
+
value: 'python'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'New Discord Bot (Rust)',
|
|
75
|
+
value: 'rust'
|
|
76
|
+
},
|
|
77
|
+
]
|
|
78
|
+
}) as { botType: BotType };
|
|
79
|
+
|
|
80
|
+
|
|
32
81
|
this.answers = await this.prompt([
|
|
33
82
|
{
|
|
34
83
|
type: 'input',
|
|
35
84
|
name: 'botName',
|
|
36
85
|
message: 'Your Discord Bot name:',
|
|
37
86
|
default: 'my-bot',
|
|
38
|
-
validate: (input: string): boolean | string =>
|
|
39
|
-
|
|
40
|
-
? true
|
|
41
|
-
: 'Invalid bot name. Please use only lowercase letters, numbers, and hyphens. Must start with a letter.'
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
type: 'list',
|
|
45
|
-
name: 'botType',
|
|
46
|
-
message: 'The type of Discord Bot you want to create.',
|
|
47
|
-
choices: [
|
|
48
|
-
{
|
|
49
|
-
name: 'New Discord Bot (TypeScript)',
|
|
50
|
-
value: 'typescript'
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: 'New Discord Bot (JavaScript)',
|
|
54
|
-
value: 'javascript'
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: 'New Discord Bot (Python)',
|
|
58
|
-
value: 'python'
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: 'New Discord Bot (Rust)',
|
|
62
|
-
value: 'rust'
|
|
63
|
-
},
|
|
64
|
-
]
|
|
87
|
+
validate: (input: string): boolean | string =>
|
|
88
|
+
botNameValidation[askBotType.botType].regex.test(input) ? true : botNameValidation[askBotType.botType].errorMessage
|
|
65
89
|
},
|
|
66
90
|
{
|
|
67
91
|
type: 'input',
|
|
@@ -70,6 +94,8 @@ export default class DiscordGenerator extends Generator {
|
|
|
70
94
|
default: 'your-bot-token'
|
|
71
95
|
}
|
|
72
96
|
]);
|
|
97
|
+
|
|
98
|
+
this.answers.botType = askBotType.botType;
|
|
73
99
|
}
|
|
74
100
|
|
|
75
101
|
logo(): void {
|