generator-discord 1.1.0 → 1.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 +1 -0
- package/app/index.js +4 -0
- package/app/index.js.map +1 -1
- package/package.json +4 -2
- package/templates/javascript/package.json +1 -1
- package/templates/typescript/package.json +2 -2
- package/test/generator.test.ts +79 -0
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
<div id="badges" align="center">
|
|
11
11
|
|
|
12
12
|
[](https://github.com/emilkrebs/generator-discord/actions/workflows/build.yml)
|
|
13
|
+
[](https://github.com/emilkrebs/generator-discord/actions/workflows/test.yml)
|
|
13
14
|
[](https://www.npmjs.com/package/generator-discord)
|
|
14
15
|
[](https://www.npmjs.com/package/generator-discord)
|
|
15
16
|
|
package/app/index.js
CHANGED
package/app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
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.1.
|
|
4
|
+
"version": "1.1.2",
|
|
5
5
|
"main": "./app/index.js",
|
|
6
6
|
"description": "Yeoman generator for Discord.js",
|
|
7
7
|
"keywords": [
|
|
@@ -14,12 +14,14 @@
|
|
|
14
14
|
"build": "tsc",
|
|
15
15
|
"watch": "tsc -w",
|
|
16
16
|
"test": "vitest run",
|
|
17
|
+
"publish": "npm run build && npm publish",
|
|
17
18
|
"debug": "npm i -g generator-discord && npx --node-arg=--inspect yo discord"
|
|
18
19
|
},
|
|
19
20
|
"files": [
|
|
20
21
|
"app",
|
|
21
22
|
"templates",
|
|
22
|
-
"src"
|
|
23
|
+
"src",
|
|
24
|
+
"test"
|
|
23
25
|
],
|
|
24
26
|
"types": "app/index.d.ts",
|
|
25
27
|
"author": "Emil Krebs",
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// write a unit test for the yeoman generator
|
|
2
|
+
|
|
3
|
+
import { describe, test } from 'vitest';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { createHelpers } from 'yeoman-test';
|
|
6
|
+
import {EOL} from 'os'
|
|
7
|
+
|
|
8
|
+
const typescriptAnswers = {
|
|
9
|
+
botName: 'typescript-bot',
|
|
10
|
+
botType: 'typescript',
|
|
11
|
+
botToken: 'xxx',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const pythonAnswers = {
|
|
15
|
+
botName: 'python-bot',
|
|
16
|
+
botType: 'python',
|
|
17
|
+
botToken: 'xxxx',
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
describe('Check if the generator works', () => {
|
|
21
|
+
test('Should generate typescript files', async () => {
|
|
22
|
+
const context = createHelpers({}).run(path.join(__dirname, '../app'));
|
|
23
|
+
context.targetDirectory = path.join(__dirname, '../test-temp'); // generate in test-temp
|
|
24
|
+
context.cleanTestDirectory(true); // clean-up test-temp
|
|
25
|
+
await context.onGenerator(generator => generator.destinationRoot(context.targetDirectory, false))
|
|
26
|
+
.withAnswers(typescriptAnswers)
|
|
27
|
+
.then((result) => {
|
|
28
|
+
result.assertFile([`${typescriptAnswers.botName}/package.json`]);
|
|
29
|
+
result.assertFile([`${typescriptAnswers.botName}/config.json`]);
|
|
30
|
+
result.assertFile([`${typescriptAnswers.botName}/src/index.ts`]);
|
|
31
|
+
result.assertFileContent(`${typescriptAnswers.botName}/config.json`, CONFIG_JSON_EXPECTED);
|
|
32
|
+
});
|
|
33
|
+
context.cleanup(); // clean-up
|
|
34
|
+
}, 120_000);
|
|
35
|
+
test('Should generate python files', async () => {
|
|
36
|
+
const context = createHelpers({}).run(path.join(__dirname, '../app'));
|
|
37
|
+
context.targetDirectory = path.join(__dirname, '../test-temp'); // generate in test-temp
|
|
38
|
+
context.cleanTestDirectory(true); // clean-up test-temp
|
|
39
|
+
await context.onGenerator(generator => generator.destinationRoot(context.targetDirectory, false))
|
|
40
|
+
.withAnswers(pythonAnswers)
|
|
41
|
+
.then((result) => {
|
|
42
|
+
result.assertFile([`${pythonAnswers.botName}/bot.py`]);
|
|
43
|
+
result.assertFileContent(`${pythonAnswers.botName}/bot.py`, BOT_PY_EXPECTED);
|
|
44
|
+
});
|
|
45
|
+
context.cleanup(); // clean-up
|
|
46
|
+
}, 120_000);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
function normilizeEOL(str: string) {
|
|
51
|
+
return str.replace(/\r?\n/g, EOL);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// norminlize end of line
|
|
55
|
+
const CONFIG_JSON_EXPECTED = normilizeEOL(`{
|
|
56
|
+
"token":"xxx"
|
|
57
|
+
}`);
|
|
58
|
+
|
|
59
|
+
const BOT_PY_EXPECTED = normilizeEOL(`import discord
|
|
60
|
+
from discord.ext import commands
|
|
61
|
+
|
|
62
|
+
# Define bot prefix and create bot instance
|
|
63
|
+
bot_prefix = "!"
|
|
64
|
+
bot = commands.Bot(command_prefix=bot_prefix)
|
|
65
|
+
|
|
66
|
+
# Define bot events
|
|
67
|
+
@bot.event
|
|
68
|
+
async def on_ready():
|
|
69
|
+
print(f"Logged in as {bot.user.name} ({bot.user.id})")
|
|
70
|
+
|
|
71
|
+
# Define bot commands
|
|
72
|
+
@bot.command()
|
|
73
|
+
async def ping(ctx):
|
|
74
|
+
await ctx.send("Pong!")
|
|
75
|
+
|
|
76
|
+
# Run bot with bot token
|
|
77
|
+
bot.run("xxxx")
|
|
78
|
+
|
|
79
|
+
# For more information on how to use discord.py, visit https://discordpy.readthedocs.io/en/latest/`);
|