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