-
Notifications
You must be signed in to change notification settings - Fork 0
/
prepack.mjs
34 lines (27 loc) · 851 Bytes
/
prepack.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// @ts-check
import fs from 'fs/promises';
import path from 'path';
/**
* @param {string} filename
*/
async function copyFile(filename) {
await fs.copyFile(path.join('./', filename), path.join('./dist/', filename));
console.log(`Copied ${filename} to dist`);
}
async function processPackageJson() {
/** @type {Partial<import('./package.json')>} */
const packageJson = JSON.parse(await fs.readFile('./package.json', { encoding: 'utf8' }));
delete packageJson.devDependencies;
delete packageJson.scripts;
delete packageJson.files;
await fs.writeFile('./dist/package.json', JSON.stringify(packageJson, null, 4));
console.log('Created package.json for dist')
}
const filenamesToCopy = [
'LICENSE',
'README.md',
];
await Promise.all([
processPackageJson(),
...filenamesToCopy.map(copyFile)
]);