Skip to content

Commit

Permalink
chore(scripts): cleanup create-package script (#8862)
Browse files Browse the repository at this point in the history
Co-authored-by: Noel <buechler.noel@outlook.com>
  • Loading branch information
suneettipirneni and iCrawl committed Nov 25, 2022
1 parent 7332b7b commit 7ae0c52
Show file tree
Hide file tree
Showing 3 changed files with 541 additions and 595 deletions.
25 changes: 12 additions & 13 deletions packages/scripts/src/createPackage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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__')]);

// 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'));
const templateDir = join('..', 'scripts', 'src', 'template');

await writeFile('.lintstagedrc.js', await readFile('../scripts/src/template/template.lintstagedrc.js', 'utf8'));
// Create files
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,
Expand All @@ -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);

Expand All @@ -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' });
Expand All @@ -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);
}
16 changes: 8 additions & 8 deletions packages/scripts/src/template/template.package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit 7ae0c52

Please sign in to comment.