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 CHANGED
@@ -10,6 +10,7 @@
10
10
  <div id="badges" align="center">
11
11
 
12
12
  [![Build](https://github.com/emilkrebs/generator-discord/actions/workflows/build.yml/badge.svg)](https://github.com/emilkrebs/generator-discord/actions/workflows/build.yml)
13
+ [![Tests](https://github.com/emilkrebs/generator-discord/actions/workflows/test.yml/badge.svg)](https://github.com/emilkrebs/generator-discord/actions/workflows/test.yml)
13
14
  [![downloads](https://img.shields.io/npm/dw/generator-discord?color=orange)](https://www.npmjs.com/package/generator-discord)
14
15
  [![version](https://img.shields.io/npm/v/generator-discord)](https://www.npmjs.com/package/generator-discord)
15
16
 
package/app/index.js CHANGED
@@ -49,6 +49,10 @@ class DiscordGenerator extends yeoman_generator_1.default {
49
49
  {
50
50
  name: 'New Discord Bot (JavaScript)',
51
51
  value: 'javascript'
52
+ },
53
+ {
54
+ name: 'New Discord Bot (Python)',
55
+ value: 'python'
52
56
  }
53
57
  ]
54
58
  },
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.0",
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",
@@ -8,6 +8,6 @@
8
8
  "start": "node ./src/index.js"
9
9
  },
10
10
  "dependencies": {
11
- "discord.js": "^13.8.0"
11
+ "discord.js": "^13.13.1"
12
12
  }
13
13
  }
@@ -10,7 +10,7 @@
10
10
  "build": "tsc"
11
11
  },
12
12
  "dependencies": {
13
- "discord.js": "^13.8.0",
14
- "typescript": "^4.7.2"
13
+ "discord.js": "^13.13.1",
14
+ "typescript": "^4.9.5"
15
15
  }
16
16
  }
@@ -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/`);