chore(scripts): cleanup create-package script (#8862)

Co-authored-by: Noel <buechler.noel@outlook.com>
This commit is contained in:
Suneet Tipirneni
2022-11-25 09:36:04 -05:00
committed by GitHub
parent 7332b7bae3
commit 7ae0c529f2
3 changed files with 540 additions and 594 deletions

View File

@@ -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);
}

View File

@@ -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"

1093
yarn.lock

File diff suppressed because it is too large Load Diff