mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat: Add no-install option (#9604)
* chore: no install option + fix type * chore: apply suggestions Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> --------- Co-authored-by: Jaw0r3k <jaw0r3k.git@gmail.com> Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
This commit is contained in:
@@ -40,8 +40,9 @@ program
|
|||||||
})
|
})
|
||||||
.option('--typescript', 'Whether to use the TypeScript template.')
|
.option('--typescript', 'Whether to use the TypeScript template.')
|
||||||
.option('--javascript', 'Whether to use the JavaScript template.')
|
.option('--javascript', 'Whether to use the JavaScript template.')
|
||||||
|
.option('--no-install', 'Whether to not automatically install the packages.')
|
||||||
.addOption(
|
.addOption(
|
||||||
new Option('--packageManager <packageManager>', 'The package manager to use.')
|
new Option('--package-manager <packageManager>', 'The package manager to use.')
|
||||||
.choices(PACKAGE_MANAGERS)
|
.choices(PACKAGE_MANAGERS)
|
||||||
.default(resolvePackageManager()),
|
.default(resolvePackageManager()),
|
||||||
)
|
)
|
||||||
@@ -49,7 +50,7 @@ program
|
|||||||
.parse();
|
.parse();
|
||||||
|
|
||||||
// eslint-disable-next-line prefer-const
|
// eslint-disable-next-line prefer-const
|
||||||
let { typescript, javascript, packageManager } = program.opts();
|
let { typescript, javascript, packageManager, install: installPackages } = program.opts();
|
||||||
|
|
||||||
if (!projectDirectory) {
|
if (!projectDirectory) {
|
||||||
projectDirectory = (
|
projectDirectory = (
|
||||||
@@ -100,4 +101,4 @@ if (!deno && typescript === undefined && javascript === undefined) {
|
|||||||
typescript = useTypescript;
|
typescript = useTypescript;
|
||||||
}
|
}
|
||||||
|
|
||||||
await createDiscordBot({ typescript, directory: projectDirectory, packageManager });
|
await createDiscordBot({ typescript, directory: projectDirectory, packageManager, installPackages });
|
||||||
|
|||||||
25
packages/create-discord-bot/src/create-discord-bot.ts
Executable file → Normal file
25
packages/create-discord-bot/src/create-discord-bot.ts
Executable file → Normal file
@@ -11,11 +11,12 @@ import { GUIDE_URL } from './util/constants.js';
|
|||||||
|
|
||||||
interface Options {
|
interface Options {
|
||||||
directory: string;
|
directory: string;
|
||||||
|
installPackages: boolean;
|
||||||
packageManager: PackageManager;
|
packageManager: PackageManager;
|
||||||
typescript?: boolean;
|
typescript?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function createDiscordBot({ directory, typescript, packageManager }: Options) {
|
export async function createDiscordBot({ directory, installPackages, typescript, packageManager }: Options) {
|
||||||
const root = path.resolve(directory);
|
const root = path.resolve(directory);
|
||||||
const directoryName = path.basename(root);
|
const directoryName = path.basename(root);
|
||||||
|
|
||||||
@@ -88,16 +89,18 @@ export async function createDiscordBot({ directory, typescript, packageManager }
|
|||||||
});
|
});
|
||||||
await writeFile('./package.json', newPackageJSON);
|
await writeFile('./package.json', newPackageJSON);
|
||||||
|
|
||||||
try {
|
if (installPackages) {
|
||||||
install(packageManager);
|
try {
|
||||||
} catch (error) {
|
install(packageManager);
|
||||||
console.log();
|
} catch (error) {
|
||||||
const err = error as ExecException;
|
console.log();
|
||||||
if (err.signal === 'SIGINT') {
|
const err = error as ExecException;
|
||||||
console.log(red('Installation aborted.'));
|
if (err.signal === 'SIGINT') {
|
||||||
} else {
|
console.log(red('Installation aborted.'));
|
||||||
console.error(red('Installation failed.'));
|
} else {
|
||||||
process.exit(1);
|
console.error(red('Installation failed.'));
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user