mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
chore(scripts): cleanup create-package script (#8862)
Co-authored-by: Noel <buechler.noel@outlook.com>
This commit is contained in:
@@ -12,21 +12,23 @@ interface LabelerData {
|
||||
}
|
||||
|
||||
export async function createPackage(packageName: string, packageDescription?: string) {
|
||||
const packageDir = join('packages', packageName);
|
||||
|
||||
// Make directory for package
|
||||
await mkdir(`packages/${packageName}`);
|
||||
await mkdir(packageDir);
|
||||
|
||||
// Change to subdirectory
|
||||
chdir(`packages/${packageName}`);
|
||||
chdir(packageDir);
|
||||
|
||||
// Create folder structure
|
||||
await Promise.all([mkdir('src'), mkdir('__tests__')]);
|
||||
|
||||
const templateDir = join('..', 'scripts', 'src', 'template');
|
||||
|
||||
// Create files
|
||||
await writeFile('src/index.ts', `console.log('Hello, from @discord.js/${packageName}');`);
|
||||
|
||||
await writeFile('.eslintrc.json', await readFile('../scripts/src/template/template.eslintrc.json', 'utf8'));
|
||||
|
||||
await writeFile('.lintstagedrc.js', await readFile('../scripts/src/template/template.lintstagedrc.js', 'utf8'));
|
||||
await writeFile(join('src', 'index.ts'), `console.log('Hello, from @discordjs/${packageName}');`);
|
||||
await writeFile('.eslintrc.json', await readFile(join(templateDir, 'template.eslintrc.json'), 'utf8'));
|
||||
await writeFile('.lintstagedrc.js', await readFile(join(templateDir, 'template.lintstagedrc.js'), 'utf8'));
|
||||
|
||||
const packageJSON = {
|
||||
...templateJSON,
|
||||
@@ -41,10 +43,7 @@ export async function createPackage(packageName: string, packageDescription?: st
|
||||
await writeFile(`package.json`, JSON.stringify(packageJSON, null, 2));
|
||||
|
||||
// Update cliff.toml
|
||||
const cliffTOML = (await readFile(join('..', 'scripts/src/template/cliff.toml'), 'utf8')).replace(
|
||||
'{name}',
|
||||
packageName,
|
||||
);
|
||||
const cliffTOML = (await readFile(join(templateDir, 'cliff.toml'), 'utf8')).replace('{name}', packageName);
|
||||
|
||||
await writeFile('cliff.toml', cliffTOML);
|
||||
|
||||
@@ -54,7 +53,7 @@ export async function createPackage(packageName: string, packageDescription?: st
|
||||
await writeFile('.cliff-jumperrc.json', JSON.stringify(newCliffJumperJSON, null, 2));
|
||||
|
||||
// Move to github directory
|
||||
chdir('../../.github');
|
||||
chdir(join('..', '..', '.github'));
|
||||
|
||||
const labelsYAML = parseYAML(await readFile('labels.yml', 'utf8')) as LabelerData[];
|
||||
labelsYAML.push({ name: `packages:${packageName}`, color: 'fbca04' });
|
||||
@@ -70,5 +69,5 @@ export async function createPackage(packageName: string, packageDescription?: st
|
||||
chdir('..');
|
||||
|
||||
// Copy default files over
|
||||
await copy('packages/scripts/src/template/default', `packages/${packageName}`);
|
||||
await copy(join('packages', 'scripts', 'src', 'template', 'default'), packageDir);
|
||||
}
|
||||
|
||||
@@ -45,16 +45,16 @@
|
||||
"devDependencies": {
|
||||
"@favware/cliff-jumper": "^1.8.8",
|
||||
"@microsoft/api-extractor": "^7.32.0",
|
||||
"@types/node": "^16.11.64",
|
||||
"@vitest/coverage-c8": "^0.24.1",
|
||||
"@types/node": "^16.18.3",
|
||||
"@vitest/coverage-c8": "^0.25.3",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^8.25.0",
|
||||
"eslint-config-neon": "^0.1.38",
|
||||
"eslint": "^8.28.0",
|
||||
"eslint-config-neon": "^0.1.40",
|
||||
"eslint-formatter-pretty": "^4.1.0",
|
||||
"prettier": "^2.7.1",
|
||||
"tsup": "^6.2.3",
|
||||
"typescript": "^4.8.4",
|
||||
"vitest": "^0.24.1"
|
||||
"prettier": "^2.8.0",
|
||||
"tsup": "^6.5.0",
|
||||
"typescript": "^4.9.3",
|
||||
"vitest": "^0.25.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.9.0"
|
||||
|
||||
Reference in New Issue
Block a user