-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathprepare-package.mjs
More file actions
53 lines (48 loc) · 1.15 KB
/
prepare-package.mjs
File metadata and controls
53 lines (48 loc) · 1.15 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { readFileSync, writeFileSync } from 'fs';
import { resolve, dirname } from 'path';
import { fileURLToPath } from 'url';
import { env } from 'node:process';
const isAlpha = env.ALPHA;
const __dirname = dirname(fileURLToPath(import.meta.url));
const distLibPath = resolve(__dirname, './dist');
const packagePath = resolve(__dirname, './package.json');
const packageString = readFileSync(packagePath);
const {
name,
version,
author,
homepage,
keywords,
license,
repository,
sideEffects,
dependencies,
peerDependencies,
bugs
} = JSON.parse(packageString);
const nextVersion = isAlpha ? `${version}-alpha.${Date.now()}` : version;
const nextDependencies = Object.keys(dependencies).reduce((acc, prop) => {
if (prop === name) {
return acc;
}
return {
...acc,
[prop]: dependencies[prop]
}
}, {});
const libPackage = JSON.stringify({
name,
version: nextVersion,
author,
license,
keywords,
repository,
homepage,
dependencies: nextDependencies,
peerDependencies,
sideEffects,
bugs,
main: 'index.js',
types: 'index.d.ts'
}, null, ' ');
writeFileSync(resolve(distLibPath, './package.json'), libPackage);