create-reciple 9.9.0 → 9.10.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/dist/bin.js +14 -3
- package/dist/bin.js.map +1 -1
- package/dist/classes/TemplateBuilder.js +24 -16
- package/dist/classes/TemplateBuilder.js.map +1 -1
- package/package.json +8 -8
- package/templates/typescript/package.json +20 -21
- package/templates/typescript/src/commands/PingCommand.ts +53 -46
- package/templates/typescript/src/events/WelcomeEvent.ts +39 -37
- package/templates/typescript-decorators/dot.gitignore +133 -0
- package/templates/typescript-decorators/nodemon.json +17 -0
- package/templates/typescript-decorators/package.json +22 -0
- package/templates/typescript-decorators/src/commands/PingCommand.ts +46 -0
- package/templates/typescript-decorators/src/events/WelcomeEvent.ts +37 -0
- package/templates/typescript-decorators/src/halts/CommandErrorHalt.ts +44 -0
- package/templates/typescript-decorators/src/preconditions/ExamplePrecondition.ts +18 -0
- package/templates/typescript-decorators/template.json +4 -0
- package/templates/typescript-decorators/tsconfig.json +19 -0
package/dist/bin.js
CHANGED
|
@@ -3,7 +3,7 @@ import { packageJson, packageManagers, templatesFolder } from './utils/constants
|
|
|
3
3
|
import { getTemplates } from './utils/helpers.js';
|
|
4
4
|
import { Setup } from './classes/Setup.js';
|
|
5
5
|
import { kleur } from 'fallout-utility';
|
|
6
|
-
import { outro } from '@clack/prompts';
|
|
6
|
+
import { outro, select } from '@clack/prompts';
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
import { TemplateBuilder } from './classes/TemplateBuilder.js';
|
|
9
9
|
const command = new Command()
|
|
@@ -28,11 +28,22 @@ const setup = new Setup({
|
|
|
28
28
|
addons: Array.isArray(options.addons) && options.addons.length ? options.addons : undefined
|
|
29
29
|
});
|
|
30
30
|
await setup.prompt(options.force || false);
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
31
|
+
const availableTemplates = templates.filter(p => p.language === (setup.isTypescript ? 'Typescript' : 'Javascript'));
|
|
32
|
+
if (!availableTemplates.length) {
|
|
33
33
|
setup.cancelPrompts(`Template not found`);
|
|
34
34
|
process.exit(1);
|
|
35
35
|
}
|
|
36
|
+
const templateId = availableTemplates.length === 1
|
|
37
|
+
? availableTemplates[0].id
|
|
38
|
+
: await select({
|
|
39
|
+
message: 'Select a template',
|
|
40
|
+
options: availableTemplates.map(t => ({
|
|
41
|
+
label: t.name,
|
|
42
|
+
value: t.id
|
|
43
|
+
})),
|
|
44
|
+
maxItems: 1
|
|
45
|
+
});
|
|
46
|
+
const template = templates.find(t => t.id === templateId);
|
|
36
47
|
if (setup.packageManager && !packageManagers.some(p => p.value === setup.packageManager)) {
|
|
37
48
|
setup.cancelPrompts(`Invalid package manager`);
|
|
38
49
|
process.exit(1);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,26 +169,34 @@ export class TemplateBuilder {
|
|
|
169
169
|
let packageJson = JSON.parse(packageJsonData);
|
|
170
170
|
let packageJsonIndentSize = detectIndent(packageJsonData).indent || ' ';
|
|
171
171
|
let done = 0;
|
|
172
|
+
let failed = 0;
|
|
172
173
|
for (const addon of addons) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
174
|
+
try {
|
|
175
|
+
await addon.fetch();
|
|
176
|
+
await addon.readTarball();
|
|
177
|
+
const moduleContent = this.setup.isTypescript ? addon.tarballData?.initialModuleContent.ts : addon.tarballData?.initialModuleContent.js;
|
|
178
|
+
if (!moduleContent)
|
|
179
|
+
continue;
|
|
180
|
+
const modulesFolder = path.join(this.dir, this.setup.isTypescript ? 'src' : 'modules', 'addons');
|
|
181
|
+
await mkdir(modulesFolder, { recursive: true });
|
|
182
|
+
const modulePath = path.join(modulesFolder, `${addon.module}.${this.setup.isTypescript ? 'ts' : 'js'}`);
|
|
183
|
+
await writeFile(modulePath, moduleContent);
|
|
184
|
+
packageJson.dependencies = {
|
|
185
|
+
...packageJson.dependencies,
|
|
186
|
+
[addon.module]: addon.version,
|
|
187
|
+
};
|
|
188
|
+
done++;
|
|
189
|
+
this.persistSpinner({ symbol: kleur.bold().green(' +'), text: `Installed addon ${kleur.cyan(addon.module + '@' + (addon.version ?? 'latest'))}` });
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
failed++;
|
|
193
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
194
|
+
this.persistSpinner({ symbol: kleur.bold().red(' ×'), text: `${kleur.gray(addon.module + '@' + (addon.version ?? 'latest'))} ${kleur.red(message)}` });
|
|
195
|
+
}
|
|
188
196
|
this.setSpinnerText(`Installing ${kleur.cyan(addons.length + ' addons')} ${kleur.gray('(' + done + '/' + addons.length + ')')}...`);
|
|
189
197
|
}
|
|
190
198
|
await writeFile(this.packageJsonPath, JSON.stringify(packageJson, null, packageJsonIndentSize), 'utf-8');
|
|
191
|
-
this.persistSpinner({ symbol: kleur.bold().green('✔'), text: `${kleur.green('Addons installed.')}` });
|
|
199
|
+
this.persistSpinner({ symbol: kleur.bold().green('✔'), text: `${kleur.green('Addons installed.')}` + (failed ? kleur.red(` Failed (${failed}/${addons.length})`) : '') });
|
|
192
200
|
}
|
|
193
201
|
/**
|
|
194
202
|
* Sets up the environment by updating the .env file with the Discord bot token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateBuilder.js","sourceRoot":"","sources":["../../src/classes/TemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAoB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,GAAG,EAAE,EAAiC,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAqB,MAAM,YAAY,CAAC;AAC/C,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAsB,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,OAAO,eAAe;IACjB,KAAK,CAAe;IACpB,QAAQ,CAAmB;IAE3B,MAAM,CAAiB;IACvB,OAAO,CAAO;IAErB,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,0BAA0B;QAC1B,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,OAA+B;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACI,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACf,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7E,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;gBAAE,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,QAAQ,0BAA0B,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,CAAC;QAE9K,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC5H,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC7H,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC,CAAC;QACtH,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB;QAC1B,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACjD,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAE9C,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QACzB,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAEtF,IAAI,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEhE,KAAK,MAAM,GAAG,IAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA+B,EAAE,CAAC;YACrE,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAClF,CAAC;QAGD,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAE7E,KAAK,MAAM,WAAW,IAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAsD,EAAE,CAAC;YAC3H,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;IACjH,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,WAAW;QACpB,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,CAAC,IAAI,MAAM,CAAC;YACd,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,YAAY;SACxD,CAAC,CAAC,CAAC,KAAK,CAAC;YACN,KAAK,EAAE;gBACH;oBACI,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,qCAAqC;iBAC9C;aACJ;YACD,aAAa,EAAE;gBACX;oBACI,KAAK,EAAE,qBAAqB;oBAC5B,IAAI,EAAE,gDAAgD;iBACzD;aACJ;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;IAChH,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,WAAW;QACpB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAA8C,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QAChL,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QAE3B,IAAI,CAAC,cAAc,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,GAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvH,IAAI,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAgB,CAAC;QAC7D,IAAI,qBAAqB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC;QAC3E,IAAI,IAAI,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TemplateBuilder.js","sourceRoot":"","sources":["../../src/classes/TemplateBuilder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "create-reciple",
|
|
3
3
|
"description": "A Reciple Discord bot project builder",
|
|
4
4
|
"license": "GPL-3.0",
|
|
5
|
-
"version": "9.
|
|
5
|
+
"version": "9.10.1",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"module": "./dist/index.js",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@clack/prompts": "^0.7.0",
|
|
40
|
-
"@reciple/core": "^9.7.
|
|
41
|
-
"@reciple/decorators": "^9.3.
|
|
42
|
-
"@reciple/utils": "^9.
|
|
40
|
+
"@reciple/core": "^9.7.1",
|
|
41
|
+
"@reciple/decorators": "^9.3.1",
|
|
42
|
+
"@reciple/utils": "^9.6.0",
|
|
43
43
|
"commander": "^12.1.0",
|
|
44
44
|
"compressing": "^1.10.1",
|
|
45
45
|
"detect-indent": "^7.0.1",
|
|
@@ -47,13 +47,13 @@
|
|
|
47
47
|
"fallout-utility": "^2.9.1",
|
|
48
48
|
"ora": "^8.1.0",
|
|
49
49
|
"package-json": "^10.0.1",
|
|
50
|
-
"reciple": "^9.7.
|
|
50
|
+
"reciple": "^9.7.1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@types/node": "^22.5.
|
|
53
|
+
"@types/node": "^22.5.4",
|
|
54
54
|
"nodemon": "^3.1.4",
|
|
55
55
|
"rimraf": "^6.0.1",
|
|
56
|
-
"typescript": "^5.
|
|
56
|
+
"typescript": "^5.6.2"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "56853c831ccb8024faf8642a3103132c7d6f2368"
|
|
59
59
|
}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "reciple-app",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"build": "rimraf ./modules && tsc",
|
|
7
|
-
"start": "reciple start -c reciple.mjs",
|
|
8
|
-
"build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
|
|
9
|
-
"dev": "nodemon --config nodemon.json"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@reciple/core": "RECIPLE_CORE",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "reciple-app",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "rimraf ./modules && tsc",
|
|
7
|
+
"start": "reciple start -c reciple.mjs",
|
|
8
|
+
"build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
|
|
9
|
+
"dev": "nodemon --config nodemon.json"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@reciple/core": "RECIPLE_CORE",
|
|
13
|
+
"discord.js": "DISCORDJS",
|
|
14
|
+
"reciple": "RECIPLE"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "TYPES_NODE",
|
|
18
|
+
"typescript": "TYPESCRIPT",
|
|
19
|
+
"rimraf": "RIMRAF"
|
|
20
|
+
}
|
|
22
21
|
}
|
|
@@ -1,46 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
1
|
+
import { ApplicationCommandType } from 'discord.js';
|
|
2
|
+
import { AnyCommandExecuteData, CommandType, ContextMenuCommandBuilder, MessageCommandBuilder, RecipleModuleData, SlashCommandBuilder, type AnyCommandResolvable } from "reciple";
|
|
3
|
+
|
|
4
|
+
export class PingCommand implements RecipleModuleData {
|
|
5
|
+
public commands: AnyCommandResolvable[] = [
|
|
6
|
+
new ContextMenuCommandBuilder()
|
|
7
|
+
.setName('ping')
|
|
8
|
+
.setType(ApplicationCommandType.Message)
|
|
9
|
+
.setExecute(data => this.handleCommandExecute(data)),
|
|
10
|
+
new MessageCommandBuilder()
|
|
11
|
+
.setName('ping')
|
|
12
|
+
.setDescription('Replies with pong!')
|
|
13
|
+
.setExecute(data => this.handleCommandExecute(data)),
|
|
14
|
+
new SlashCommandBuilder()
|
|
15
|
+
.setName('ping')
|
|
16
|
+
.setDescription('Replies with pong!')
|
|
17
|
+
.setExecute(data => this.handleCommandExecute(data)),
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Executed when module is started (Bot is not logged in).
|
|
22
|
+
*/
|
|
23
|
+
async onStart(): Promise<boolean> {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Executes when the module is loaded (Bot is logged in).
|
|
29
|
+
*/
|
|
30
|
+
async onLoad(): Promise<void> {}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Executes when the module is unloaded (Bot is pre log out).
|
|
34
|
+
*/
|
|
35
|
+
async onUnload(): Promise<void> {}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Sets the commands
|
|
39
|
+
*/
|
|
40
|
+
async handleCommandExecute(data: AnyCommandExecuteData): Promise<void> {
|
|
41
|
+
switch (data.type) {
|
|
42
|
+
case CommandType.ContextMenuCommand:
|
|
43
|
+
case CommandType.SlashCommand:
|
|
44
|
+
await data.interaction.reply('Pong!');
|
|
45
|
+
return;
|
|
46
|
+
case CommandType.MessageCommand:
|
|
47
|
+
await data.message.reply('Pong!');
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default new PingCommand();
|
|
@@ -1,37 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
async onLoad(): Promise<void> {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
import { GuildMember } from "discord.js";
|
|
2
|
+
import { RecipleModuleData, type RecipleModuleLoadData } from 'reciple';
|
|
3
|
+
|
|
4
|
+
export class WelcomeEvent implements RecipleModuleData {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.handleWelcomeEvent = this.handleWelcomeEvent.bind(this);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Executed when module is started (Bot is not logged in).
|
|
11
|
+
*/
|
|
12
|
+
async onStart(): Promise<boolean> {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Executes when the module is loaded (Bot is logged in).
|
|
18
|
+
*/
|
|
19
|
+
async onLoad({ client }: RecipleModuleLoadData): Promise<void> {
|
|
20
|
+
client.on('guildMemberAdd', this.handleWelcomeEvent);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Executes when the module is unloaded (Bot is pre log out).
|
|
25
|
+
*/
|
|
26
|
+
async onUnload({ client }: RecipleModuleLoadData): Promise<void> {
|
|
27
|
+
client.removeListener('guildMemberAdd', this.handleWelcomeEvent);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Called when a user joins the server.
|
|
32
|
+
*/
|
|
33
|
+
async handleWelcomeEvent(member: GuildMember): Promise<void> {
|
|
34
|
+
await member.send(`Welcome to **${member.guild.name}** server!`)
|
|
35
|
+
.catch(() => null);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default new WelcomeEvent();
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Logs
|
|
2
|
+
logs
|
|
3
|
+
*.log
|
|
4
|
+
npm-debug.log*
|
|
5
|
+
yarn-debug.log*
|
|
6
|
+
yarn-error.log*
|
|
7
|
+
lerna-debug.log*
|
|
8
|
+
.pnpm-debug.log*
|
|
9
|
+
|
|
10
|
+
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
11
|
+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
12
|
+
|
|
13
|
+
# Runtime data
|
|
14
|
+
pids
|
|
15
|
+
*.pid
|
|
16
|
+
*.seed
|
|
17
|
+
*.pid.lock
|
|
18
|
+
|
|
19
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
20
|
+
lib-cov
|
|
21
|
+
|
|
22
|
+
# Docs files
|
|
23
|
+
docs.json
|
|
24
|
+
|
|
25
|
+
# Coverage directory used by tools like istanbul
|
|
26
|
+
coverage
|
|
27
|
+
*.lcov
|
|
28
|
+
|
|
29
|
+
# nyc test coverage
|
|
30
|
+
.nyc_output
|
|
31
|
+
|
|
32
|
+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
33
|
+
.grunt
|
|
34
|
+
|
|
35
|
+
# Bower dependency directory (https://bower.io/)
|
|
36
|
+
bower_components
|
|
37
|
+
|
|
38
|
+
# node-waf configuration
|
|
39
|
+
.lock-wscript
|
|
40
|
+
|
|
41
|
+
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
42
|
+
build/Release
|
|
43
|
+
|
|
44
|
+
# Dependency directories
|
|
45
|
+
node_modules/
|
|
46
|
+
jspm_packages/
|
|
47
|
+
|
|
48
|
+
# Snowpack dependency directory (https://snowpack.dev/)
|
|
49
|
+
web_modules/
|
|
50
|
+
|
|
51
|
+
# TypeScript cache
|
|
52
|
+
*.tsbuildinfo
|
|
53
|
+
|
|
54
|
+
# Optional npm cache directory
|
|
55
|
+
.npm
|
|
56
|
+
|
|
57
|
+
# Optional eslint cache
|
|
58
|
+
.eslintcache
|
|
59
|
+
|
|
60
|
+
# Optional stylelint cache
|
|
61
|
+
.stylelintcache
|
|
62
|
+
|
|
63
|
+
# Microbundle cache
|
|
64
|
+
.rpt2_cache/
|
|
65
|
+
.rts2_cache_cjs/
|
|
66
|
+
.rts2_cache_es/
|
|
67
|
+
.rts2_cache_umd/
|
|
68
|
+
|
|
69
|
+
# Optional REPL history
|
|
70
|
+
.node_repl_history
|
|
71
|
+
|
|
72
|
+
# Output of 'npm pack'
|
|
73
|
+
*.tgz
|
|
74
|
+
|
|
75
|
+
# Yarn Integrity file
|
|
76
|
+
.yarn-integrity
|
|
77
|
+
|
|
78
|
+
# dotenv environment variable files
|
|
79
|
+
.env
|
|
80
|
+
.env.development.local
|
|
81
|
+
.env.test.local
|
|
82
|
+
.env.production.local
|
|
83
|
+
.env.local
|
|
84
|
+
|
|
85
|
+
# parcel-bundler cache (https://parceljs.org/)
|
|
86
|
+
.cache
|
|
87
|
+
.parcel-cache
|
|
88
|
+
|
|
89
|
+
# Next.js build output
|
|
90
|
+
.next
|
|
91
|
+
out
|
|
92
|
+
|
|
93
|
+
# Nuxt.js build / generate output
|
|
94
|
+
.nuxt
|
|
95
|
+
dist
|
|
96
|
+
|
|
97
|
+
# Gatsby files
|
|
98
|
+
.cache/
|
|
99
|
+
# Comment in the public line in if your project uses Gatsby and not Next.js
|
|
100
|
+
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
101
|
+
# public
|
|
102
|
+
|
|
103
|
+
# vuepress build output
|
|
104
|
+
.vuepress/dist
|
|
105
|
+
|
|
106
|
+
# vuepress v2.x temp and cache directory
|
|
107
|
+
.temp
|
|
108
|
+
.cache
|
|
109
|
+
|
|
110
|
+
# Serverless directories
|
|
111
|
+
.serverless/
|
|
112
|
+
|
|
113
|
+
# FuseBox cache
|
|
114
|
+
.fusebox/
|
|
115
|
+
|
|
116
|
+
# DynamoDB Local files
|
|
117
|
+
.dynamodb/
|
|
118
|
+
|
|
119
|
+
# TernJS port file
|
|
120
|
+
.tern-port
|
|
121
|
+
|
|
122
|
+
# Stores VSCode versions used for testing VSCode extensions
|
|
123
|
+
.vscode-test
|
|
124
|
+
|
|
125
|
+
# yarn v2
|
|
126
|
+
.yarn/cache
|
|
127
|
+
.yarn/unplugged
|
|
128
|
+
.yarn/build-state.yml
|
|
129
|
+
.yarn/install-state.gz
|
|
130
|
+
.pnp.*
|
|
131
|
+
|
|
132
|
+
# Output files
|
|
133
|
+
modules
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/nodemon.json",
|
|
3
|
+
"restartable": "r",
|
|
4
|
+
"ext": "ts,mts,mjs,json",
|
|
5
|
+
"signal": "SIGHUP",
|
|
6
|
+
"ignore": [
|
|
7
|
+
".git",
|
|
8
|
+
"node_modules/**",
|
|
9
|
+
"modules"
|
|
10
|
+
],
|
|
11
|
+
"watch": [
|
|
12
|
+
"src",
|
|
13
|
+
"reciple.mjs",
|
|
14
|
+
".env"
|
|
15
|
+
],
|
|
16
|
+
"exec": "rimraf ./modules && tsc && reciple start"
|
|
17
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "reciple-app",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "rimraf ./modules && tsc",
|
|
7
|
+
"start": "reciple start -c reciple.mjs",
|
|
8
|
+
"build:start": "SCRIPT_RUN build && reciple start -c reciple.mjs",
|
|
9
|
+
"dev": "nodemon --config nodemon.json"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@reciple/core": "RECIPLE_CORE",
|
|
13
|
+
"@reciple/decorators": "RECIPLE_DECORATORS",
|
|
14
|
+
"discord.js": "DISCORDJS",
|
|
15
|
+
"reciple": "RECIPLE"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@types/node": "TYPES_NODE",
|
|
19
|
+
"typescript": "TYPESCRIPT",
|
|
20
|
+
"rimraf": "RIMRAF"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { setContextMenuCommand, setMessageCommand, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload, setSlashCommand } from '@reciple/decorators';
|
|
2
|
+
import { ApplicationCommandType } from 'discord.js';
|
|
3
|
+
import { AnyCommandExecuteData, CommandType, RecipleModuleData } from "reciple";
|
|
4
|
+
|
|
5
|
+
@setRecipleModule()
|
|
6
|
+
export class PingCommand implements RecipleModuleData {
|
|
7
|
+
/**
|
|
8
|
+
* Executed when module is started (Bot is not logged in).
|
|
9
|
+
*/
|
|
10
|
+
@setRecipleModuleStart()
|
|
11
|
+
async onStart(): Promise<boolean> {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Executes when the module is loaded (Bot is logged in).
|
|
17
|
+
*/
|
|
18
|
+
@setRecipleModuleLoad()
|
|
19
|
+
async onLoad(): Promise<void> {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Executes when the module is unloaded (Bot is pre log out).
|
|
23
|
+
*/
|
|
24
|
+
@setRecipleModuleUnload()
|
|
25
|
+
async onUnload(): Promise<void> {}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Sets the commands
|
|
29
|
+
*/
|
|
30
|
+
@setContextMenuCommand({ name: 'ping', type: ApplicationCommandType.Message })
|
|
31
|
+
@setMessageCommand({ name: 'ping', description: 'Replies with pong!' })
|
|
32
|
+
@setSlashCommand({ name: 'ping', description: 'Replies with pong!' })
|
|
33
|
+
async handleCommandExecute(data: AnyCommandExecuteData): Promise<void> {
|
|
34
|
+
switch (data.type) {
|
|
35
|
+
case CommandType.ContextMenuCommand:
|
|
36
|
+
case CommandType.SlashCommand:
|
|
37
|
+
await data.interaction.reply('Pong!');
|
|
38
|
+
return;
|
|
39
|
+
case CommandType.MessageCommand:
|
|
40
|
+
await data.message.reply('Pong!');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default new PingCommand();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { setClientEvent, setRecipleModule, setRecipleModuleLoad, setRecipleModuleStart, setRecipleModuleUnload } from '@reciple/decorators';
|
|
2
|
+
import { GuildMember } from "discord.js";
|
|
3
|
+
import { RecipleModuleData } from 'reciple';
|
|
4
|
+
|
|
5
|
+
@setRecipleModule()
|
|
6
|
+
export class WelcomeEvent implements RecipleModuleData {
|
|
7
|
+
/**
|
|
8
|
+
* Executed when module is started (Bot is not logged in).
|
|
9
|
+
*/
|
|
10
|
+
@setRecipleModuleStart()
|
|
11
|
+
async onStart(): Promise<boolean> {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Executes when the module is loaded (Bot is logged in).
|
|
17
|
+
*/
|
|
18
|
+
@setRecipleModuleLoad()
|
|
19
|
+
async onLoad(): Promise<void> {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Executes when the module is unloaded (Bot is pre log out).
|
|
23
|
+
*/
|
|
24
|
+
@setRecipleModuleUnload()
|
|
25
|
+
async onUnload(): Promise<void> {}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Called when a user joins the server.
|
|
29
|
+
*/
|
|
30
|
+
@setClientEvent('guildMemberAdd')
|
|
31
|
+
async handleWelcomeEvent(member: GuildMember): Promise<void> {
|
|
32
|
+
await member.send(`Welcome to **${member.guild.name}** server!`)
|
|
33
|
+
.catch(() => null);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default new WelcomeEvent();
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AnyCommandHaltTriggerData, CommandHaltData, CommandHaltReason, CommandType, ContextMenuCommandHaltTriggerData, MessageCommandHaltTriggerData, SlashCommandHaltTriggerData } from 'reciple';
|
|
2
|
+
|
|
3
|
+
export class CommandErrorHalt implements CommandHaltData {
|
|
4
|
+
id = 'my.reciple.js.commanderrorhalt';
|
|
5
|
+
disabled = false;
|
|
6
|
+
|
|
7
|
+
contextMenuCommandHalt(data: ContextMenuCommandHaltTriggerData) {
|
|
8
|
+
return this.halt(data);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
messageCommandHalt(data: MessageCommandHaltTriggerData) {
|
|
12
|
+
return this.halt(data);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
slashCommandHalt(data: SlashCommandHaltTriggerData) {
|
|
16
|
+
return this.halt(data);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async halt(data: AnyCommandHaltTriggerData) {
|
|
20
|
+
if (data.reason !== CommandHaltReason.Error) return;
|
|
21
|
+
|
|
22
|
+
const content = `An error occured while executing this command`;
|
|
23
|
+
|
|
24
|
+
switch (data.commandType) {
|
|
25
|
+
case CommandType.ContextMenuCommand:
|
|
26
|
+
case CommandType.SlashCommand:
|
|
27
|
+
const interaction = data.executeData.interaction;
|
|
28
|
+
|
|
29
|
+
if (interaction.replied || interaction.deferred) {
|
|
30
|
+
await interaction.editReply(content);
|
|
31
|
+
} else {
|
|
32
|
+
await interaction.reply(content);
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
case CommandType.MessageCommand:
|
|
36
|
+
await data.executeData.message.reply(content);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
reciple.logger?.error(data.error);
|
|
41
|
+
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CommandPreconditionData, ContextMenuCommandExecuteData, MessageCommandExecuteData, SlashCommandExecuteData } from 'reciple';
|
|
2
|
+
|
|
3
|
+
export class ExamplePrecondition implements CommandPreconditionData {
|
|
4
|
+
id = 'my.reciple.js.exampleprecondition';
|
|
5
|
+
disabled = false;
|
|
6
|
+
|
|
7
|
+
contextMenuCommandExecute(execute: ContextMenuCommandExecuteData) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
messageCommandExecute(excute: MessageCommandExecuteData) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
slashCommandExecute(execute: SlashCommandExecuteData) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"include": ["./src/**/*"],
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "./src",
|
|
5
|
+
"outDir": "./modules",
|
|
6
|
+
"target": "ESNext",
|
|
7
|
+
"module": "NodeNext",
|
|
8
|
+
"moduleResolution": "NodeNext",
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"strict": true,
|
|
13
|
+
"experimentalDecorators": true,
|
|
14
|
+
"emitDecoratorMetadata": true,
|
|
15
|
+
"paths": {
|
|
16
|
+
"@/*": ["./src/*"]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|