-
Notifications
You must be signed in to change notification settings - Fork 11
/
create-package-files
42 lines (37 loc) · 1.23 KB
/
create-package-files
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
#!/bin/bash
# Create CommonJS package.json
cat >dist/cjs/package.json <<JSON
{
"type": "commonjs",
"browser": {
"./process/index.js": "./process/browser.js",
"./cuid/fingerprint/index.js": "./cuid/fingerprint/browser.js"
}
}
JSON
# Write typings to support Node16 module resolution
cat >dist/cjs/index.d.ts <<TYPESCRIPT
export * from '../types/index.js';
TYPESCRIPT
# Create ESM package.json
cat >dist/esm/package.json <<JSON
{
"type": "module",
"browser": {
"./process/index.js": "./process/browser.js",
"./cuid/fingerprint/index.js": "./cuid/fingerprint/browser.js"
}
}
JSON
# Write typings to support Node16 module resolution
cat >dist/esm/index.d.ts <<TYPESCRIPT
export * from '../types/index.js';
TYPESCRIPT
# Prepend ts-ignore for imported Observable in types
mv dist/types/optional-observable.d.ts dist/types/optional-observable.d.ts.tmp
cat >dist/types/optional-observable.d.ts <<TYPESCRIPT
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: rxjs dependency is optional and only needed when using methods that require them
TYPESCRIPT
cat dist/types/optional-observable.d.ts.tmp >> dist/types/optional-observable.d.ts
rm dist/types/optional-observable.d.ts.tmp