create-reciple 7.8.4 → 7.10.0-dev.0
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/bin/bin.js +17 -15
- package/bin/bin.js.map +1 -1
- package/bin/create.d.ts +2 -3
- package/bin/create.js +18 -63
- package/bin/create.js.map +1 -1
- package/bin/utils/constants.d.ts +32 -0
- package/bin/utils/constants.js +38 -0
- package/bin/utils/constants.js.map +1 -0
- package/bin/utils/functions.d.ts +4 -0
- package/bin/utils/functions.js +33 -0
- package/bin/utils/functions.js.map +1 -0
- package/bin/utils/types.d.ts +2 -0
- package/bin/utils/types.js +2 -0
- package/bin/utils/types.js.map +1 -0
- package/package.json +3 -3
package/bin/bin.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { cancel, confirm, group, intro, isCancel, outro, select, text } from '@clack/prompts';
|
|
3
|
+
import { dirname, join, resolve } from 'path';
|
|
4
|
+
import { create } from './create.js';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { exit } from 'process';
|
|
2
7
|
import kleur from 'kleur';
|
|
3
|
-
import path from 'path';
|
|
4
8
|
import fs from 'fs';
|
|
5
|
-
import {
|
|
6
|
-
import { fileURLToPath } from 'url';
|
|
7
|
-
import { create } from './create.js';
|
|
8
|
-
import { cancel, confirm, group, intro, isCancel, outro, select, text } from '@clack/prompts';
|
|
9
|
+
import { resolvePackageManager } from './utils/functions.js';
|
|
9
10
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
-
const __dirname =
|
|
11
|
-
const root =
|
|
11
|
+
const __dirname = dirname(__filename);
|
|
12
|
+
const root = join(__dirname, '../');
|
|
12
13
|
const isExplicitDir = !!process.argv[2];
|
|
13
|
-
let cwd =
|
|
14
|
+
let cwd = resolve(process.argv[2] || '.');
|
|
14
15
|
intro(`${kleur.bold().cyan(`Welcome to Reciple!`)}`);
|
|
15
16
|
if (cwd === process.cwd() && !isExplicitDir) {
|
|
16
17
|
const newCwd = await text({
|
|
@@ -44,7 +45,7 @@ const setup = await group({
|
|
|
44
45
|
template: () => select({
|
|
45
46
|
message: 'Which language would you like to use?',
|
|
46
47
|
// @ts-expect-error Idk why
|
|
47
|
-
options: JSON.parse(fs.readFileSync(
|
|
48
|
+
options: JSON.parse(fs.readFileSync(join(root, 'templates.json'), 'utf-8')).map(m => ({
|
|
48
49
|
label: m.name,
|
|
49
50
|
value: m.dir,
|
|
50
51
|
hint: m.description
|
|
@@ -57,33 +58,34 @@ const setup = await group({
|
|
|
57
58
|
packageManager: () => select({
|
|
58
59
|
message: 'Select your preferred package manager',
|
|
59
60
|
options: [
|
|
61
|
+
{
|
|
62
|
+
label: 'auto',
|
|
63
|
+
hint: `Use detected package manager: ${resolvePackageManager() || 'none'}`,
|
|
64
|
+
value: resolvePackageManager() || 'none'
|
|
65
|
+
},
|
|
60
66
|
{
|
|
61
67
|
label: 'npm',
|
|
62
68
|
hint: 'Uses npm as package manager',
|
|
63
|
-
// @ts-expect-error cries
|
|
64
69
|
value: 'npm'
|
|
65
70
|
},
|
|
66
71
|
{
|
|
67
72
|
label: 'yarn',
|
|
68
73
|
hint: 'Uses yarn as package manager',
|
|
69
|
-
// @ts-expect-error cries
|
|
70
74
|
value: 'yarn'
|
|
71
75
|
},
|
|
72
76
|
{
|
|
73
77
|
label: 'pnpm',
|
|
74
78
|
hint: 'Uses pnpm as package manager',
|
|
75
|
-
// @ts-expect-error cries
|
|
76
79
|
value: 'pnpm'
|
|
77
80
|
},
|
|
78
81
|
{
|
|
79
82
|
label: 'None',
|
|
80
83
|
hint: 'Setup package manager later',
|
|
81
|
-
|
|
82
|
-
value: null
|
|
84
|
+
value: 'none'
|
|
83
85
|
}
|
|
84
86
|
]
|
|
85
87
|
}),
|
|
86
88
|
}, { onCancel: () => { cancel('Operation cancelled'); exit(1); } });
|
|
87
89
|
outro('Setup done!');
|
|
88
|
-
create(cwd,
|
|
90
|
+
create(cwd, join(root, setup.template), setup.esm, setup.packageManager !== 'none' ? setup.packageManager : undefined);
|
|
89
91
|
//# sourceMappingURL=bin.js.map
|
package/bin/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/bin/create.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function runScript(command: string, cwd: string, options?: string[]): Promise<unknown>;
|
|
1
|
+
import { PackageManager } from './utils/types.js';
|
|
2
|
+
export declare function create(cwd: string, templateDir: string, esm: boolean, pm?: PackageManager): Promise<void>;
|
package/bin/create.js
CHANGED
|
@@ -1,33 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { copyFile, runScript } from './utils/functions.js';
|
|
2
|
+
import { packageManagerPlaceholders, packages, root } from './utils/constants.js';
|
|
3
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
4
|
+
import { join, relative } from 'path';
|
|
3
5
|
import kleur from 'kleur';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { fileURLToPath } from 'url';
|
|
6
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
-
const __dirname = path.dirname(__filename);
|
|
8
|
-
const root = path.join(__dirname, '../');
|
|
9
|
-
const { devDependencies } = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf-8'));
|
|
10
|
-
const packages = {
|
|
11
|
-
'TYPESCRIPT': '^5.0.2',
|
|
12
|
-
'RIMRAF': '^4.4.1',
|
|
13
|
-
'RECIPLE': devDependencies.reciple,
|
|
14
|
-
'DISCORDJS': devDependencies['discord.js'],
|
|
15
|
-
'NODEMON': devDependencies['nodemon']
|
|
16
|
-
};
|
|
17
|
-
const packageManagerPlaceholders = {
|
|
18
|
-
'npm': {
|
|
19
|
-
'SCRIPT_RUN': 'npm run',
|
|
20
|
-
'BIN_EXEC': 'npx'
|
|
21
|
-
},
|
|
22
|
-
'pnpm': {
|
|
23
|
-
'SCRIPT_RUN': 'pnpm run',
|
|
24
|
-
'BIN_EXEC': 'pnpm exec'
|
|
25
|
-
},
|
|
26
|
-
'yarn': {
|
|
27
|
-
'SCRIPT_RUN': 'yarn run',
|
|
28
|
-
'BIN_EXEC': 'yarn exec'
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
6
|
export async function create(cwd, templateDir, esm, pm) {
|
|
32
7
|
if (esm)
|
|
33
8
|
templateDir = templateDir + `-esm`;
|
|
@@ -35,54 +10,34 @@ export async function create(cwd, templateDir, esm, pm) {
|
|
|
35
10
|
return;
|
|
36
11
|
mkdirSync(cwd, { recursive: true });
|
|
37
12
|
copyFile(templateDir, cwd, f => f.replace('dot.', '.'));
|
|
38
|
-
if (existsSync(
|
|
39
|
-
copyFile(
|
|
13
|
+
if (existsSync(join(root, 'assets'))) {
|
|
14
|
+
copyFile(join(root, 'assets'), cwd, f => f.replace('dot.', '.'));
|
|
40
15
|
}
|
|
41
|
-
let
|
|
42
|
-
const placeholders =
|
|
16
|
+
let rawPackageJSON = readFileSync(join(cwd, 'package.json'), 'utf-8');
|
|
17
|
+
const placeholders = packageManagerPlaceholders[pm ?? 'npm'];
|
|
43
18
|
for (const pkg of Object.keys(packages)) {
|
|
44
|
-
|
|
19
|
+
rawPackageJSON = rawPackageJSON.replaceAll(pkg, packages[pkg]);
|
|
45
20
|
}
|
|
46
21
|
for (const placeholder of Object.keys(placeholders)) {
|
|
47
|
-
|
|
22
|
+
rawPackageJSON = rawPackageJSON.replaceAll(placeholder, placeholders[placeholder]);
|
|
48
23
|
}
|
|
49
|
-
writeFileSync(
|
|
24
|
+
writeFileSync(join(cwd, 'package.json'), rawPackageJSON);
|
|
50
25
|
if (pm) {
|
|
51
|
-
await runScript(
|
|
26
|
+
await runScript(placeholders.INSTALL_ALL, cwd);
|
|
52
27
|
if (templateDir.includes(`typescript`))
|
|
53
|
-
await runScript(
|
|
54
|
-
await runScript(
|
|
28
|
+
await runScript(`${placeholders.SCRIPT_RUN} build`, cwd);
|
|
29
|
+
await runScript(`${placeholders.BIN_EXEC} reciple -y --setup`, cwd);
|
|
55
30
|
}
|
|
56
31
|
console.log(`${kleur.bold(kleur.green('✔') + ' Your project is ready!')}`);
|
|
57
32
|
console.log(`\nStart developing:`);
|
|
58
|
-
if (
|
|
59
|
-
console.log(` • ${kleur.cyan().bold('cd ' +
|
|
33
|
+
if (relative(process.cwd(), cwd) !== '') {
|
|
34
|
+
console.log(` • ${kleur.cyan().bold('cd ' + relative(process.cwd(), cwd))}`);
|
|
60
35
|
}
|
|
61
36
|
if (!pm) {
|
|
62
|
-
console.log(` • ${kleur.cyan().bold(
|
|
63
|
-
console.log(` • ${kleur.cyan().bold(
|
|
37
|
+
console.log(` • ${kleur.cyan().bold(placeholders.INSTALL_ALL)} (or ${packageManagerPlaceholders.pnpm.INSTALL_ALL}, etc)`);
|
|
38
|
+
console.log(` • ${kleur.cyan().bold(`${placeholders.BIN_EXEC} reciple --setup`)}`);
|
|
64
39
|
}
|
|
65
40
|
console.log(` • ${kleur.cyan().bold(`${placeholders.SCRIPT_RUN} dev`)}`);
|
|
66
41
|
console.log(`\nTo close the bot process, press ${kleur.cyan().bold(`Ctrl + C`)}`);
|
|
67
42
|
}
|
|
68
|
-
export function copyFile(from, to, rename) {
|
|
69
|
-
const isDirectory = lstatSync(from).isDirectory();
|
|
70
|
-
if (isDirectory) {
|
|
71
|
-
const contents = readdirSync(from);
|
|
72
|
-
for (const content of contents) {
|
|
73
|
-
copyFile(path.join(from, content), path.join(to, rename ? rename(content) : content));
|
|
74
|
-
}
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
mkdirSync(path.dirname(to), { recursive: true });
|
|
78
|
-
copyFileSync(from, to);
|
|
79
|
-
}
|
|
80
|
-
export function runScript(command, cwd, options) {
|
|
81
|
-
const child = spawn(command, options ?? [], { cwd, shell: true, env: { ...process.env, FORCE_COLOR: '1' }, stdio: ['inherit', 'inherit', 'inherit'] });
|
|
82
|
-
child.stdout?.pipe(process.stdout);
|
|
83
|
-
child.stderr?.pipe(process.stderr);
|
|
84
|
-
if (child.stdin)
|
|
85
|
-
process.stdin.pipe(child.stdin);
|
|
86
|
-
return new Promise((res) => child.on('close', () => res(void 0)));
|
|
87
|
-
}
|
|
88
43
|
//# sourceMappingURL=create.js.map
|
package/bin/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const root: string;
|
|
2
|
+
export declare const packageJSON: any;
|
|
3
|
+
export declare const packages: {
|
|
4
|
+
TYPESCRIPT: string;
|
|
5
|
+
RIMRAF: string;
|
|
6
|
+
RECIPLE: any;
|
|
7
|
+
DISCORDJS: any;
|
|
8
|
+
NODEMON: any;
|
|
9
|
+
};
|
|
10
|
+
export declare const packageManagerPlaceholders: {
|
|
11
|
+
npm: {
|
|
12
|
+
SCRIPT_RUN: string;
|
|
13
|
+
BIN_EXEC: string;
|
|
14
|
+
INSTALL_ALL: string;
|
|
15
|
+
INSTALL_PKG: string;
|
|
16
|
+
UNINSTALL_PKG: string;
|
|
17
|
+
};
|
|
18
|
+
pnpm: {
|
|
19
|
+
SCRIPT_RUN: string;
|
|
20
|
+
BIN_EXEC: string;
|
|
21
|
+
INSTALL_ALL: string;
|
|
22
|
+
INSTALL_PKG: string;
|
|
23
|
+
UNINSTALL_PKG: string;
|
|
24
|
+
};
|
|
25
|
+
yarn: {
|
|
26
|
+
SCRIPT_RUN: string;
|
|
27
|
+
BIN_EXEC: string;
|
|
28
|
+
INSTALL_ALL: string;
|
|
29
|
+
INSTALL_PKG: string;
|
|
30
|
+
UNINSTALL_PKG: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import { dirname, join } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = dirname(__filename);
|
|
6
|
+
export const root = join(__dirname, '../../');
|
|
7
|
+
export const packageJSON = JSON.parse(readFileSync(join(root, 'package.json'), 'utf-8'));
|
|
8
|
+
export const packages = {
|
|
9
|
+
'TYPESCRIPT': '^5.0.2',
|
|
10
|
+
'RIMRAF': '^4.4.1',
|
|
11
|
+
'RECIPLE': packageJSON.devDependencies.reciple,
|
|
12
|
+
'DISCORDJS': packageJSON.devDependencies['discord.js'],
|
|
13
|
+
'NODEMON': packageJSON.devDependencies['nodemon']
|
|
14
|
+
};
|
|
15
|
+
export const packageManagerPlaceholders = {
|
|
16
|
+
'npm': {
|
|
17
|
+
'SCRIPT_RUN': 'npm run',
|
|
18
|
+
'BIN_EXEC': 'npx',
|
|
19
|
+
'INSTALL_ALL': 'npm install',
|
|
20
|
+
'INSTALL_PKG': 'npm install',
|
|
21
|
+
'UNINSTALL_PKG': 'npm uninstall'
|
|
22
|
+
},
|
|
23
|
+
'pnpm': {
|
|
24
|
+
'SCRIPT_RUN': 'pnpm run',
|
|
25
|
+
'BIN_EXEC': 'pnpm exec',
|
|
26
|
+
'INSTALL_ALL': 'pnpm install',
|
|
27
|
+
'INSTALL_PKG': 'pnpm add',
|
|
28
|
+
'UNINSTALL_PKG': 'pnpm remove'
|
|
29
|
+
},
|
|
30
|
+
'yarn': {
|
|
31
|
+
'SCRIPT_RUN': 'yarn run',
|
|
32
|
+
'BIN_EXEC': 'yarn exec',
|
|
33
|
+
'INSTALL_ALL': 'yarn',
|
|
34
|
+
'INSTALL_PKG': 'yarn add',
|
|
35
|
+
'UNINSTALL_PKG': 'yarn remove'
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO;IAC9C,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC;IACtD,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACtC,KAAK,EAAE;QACH,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,eAAe,EAAE,eAAe;KACnC;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,aAAa;KACjC;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,UAAU;QACzB,eAAe,EAAE,aAAa;KACjC;CACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PackageManager } from './types.js';
|
|
2
|
+
export declare function runScript(command: string, cwd: string, options?: string[]): Promise<void>;
|
|
3
|
+
export declare function resolvePackageManager(): PackageManager | undefined;
|
|
4
|
+
export declare function copyFile(from: string, to: string, rename?: (f: string) => string): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { execSync } from 'child_process';
|
|
2
|
+
import { copyFileSync, lstatSync, mkdirSync, readdirSync } from 'fs';
|
|
3
|
+
import { dirname, join } from 'path';
|
|
4
|
+
export async function runScript(command, cwd, options) {
|
|
5
|
+
execSync(`${command}${options?.length ? (' ' + options.join(' ')) : ''}`, { cwd, env: { ...process.env, FORCE_COLOR: '1' }, stdio: ['inherit', 'inherit', 'inherit'] });
|
|
6
|
+
}
|
|
7
|
+
export function resolvePackageManager() {
|
|
8
|
+
const npmConfigUserAgent = process.env.npm_config_user_agent;
|
|
9
|
+
if (!npmConfigUserAgent)
|
|
10
|
+
return;
|
|
11
|
+
if (npmConfigUserAgent.startsWith('npm')) {
|
|
12
|
+
return 'npm';
|
|
13
|
+
}
|
|
14
|
+
if (npmConfigUserAgent.startsWith('yarn')) {
|
|
15
|
+
return 'yarn';
|
|
16
|
+
}
|
|
17
|
+
if (npmConfigUserAgent.startsWith('pnpm')) {
|
|
18
|
+
return 'pnpm';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function copyFile(from, to, rename) {
|
|
22
|
+
const isDirectory = lstatSync(from).isDirectory();
|
|
23
|
+
if (isDirectory) {
|
|
24
|
+
const contents = readdirSync(from);
|
|
25
|
+
for (const content of contents) {
|
|
26
|
+
copyFile(join(from, content), join(to, rename ? rename(content) : content));
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
mkdirSync(dirname(to), { recursive: true });
|
|
31
|
+
copyFileSync(from, to);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/utils/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,GAAW,EAAE,OAAkB;IAC5E,QAAQ,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5K,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAE7D,IAAI,CAAC,kBAAkB;QAAE,OAAO;IAEhC,IAAI,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACzC,OAAO,KAAK,CAAC;KACb;IAED,IAAI,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1C,OAAO,MAAM,CAAC;KACd;IAED,IAAI,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1C,OAAO,MAAM,CAAC;KACd;AACF,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,EAAU,EAAE,MAA8B;IAC7E,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,WAAW,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/E;QAED,OAAO;KACV;IAED,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
|
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": "7.
|
|
5
|
+
"version": "7.10.0-dev.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./bin/bin.d.ts",
|
|
8
8
|
"bin": "./bin/bin.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"discord.js": "^14.11.0",
|
|
32
32
|
"nodemon": "^2.0.22",
|
|
33
|
-
"reciple": "^7.
|
|
33
|
+
"reciple": "^7.8.0-dev.0"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "3e6e67522d3746969be52d3eda54b93f36f271cd"
|
|
36
36
|
}
|