Skip to content

Commit 53fa38d

Browse files
committed
feat: package and build process upgrades
1 parent ea9562e commit 53fa38d

File tree

4 files changed

+4035
-4243
lines changed

4 files changed

+4035
-4243
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@
5050
"editor.formatOnSaveTimeout": 5000,
5151
"editor.codeActionsOnSaveTimeout": 5000,
5252
"editor.codeActionsOnSave": {
53-
"source.fixAll.eslint": true
53+
"source.fixAll.eslint": "explicit"
5454
}
5555
}

package.json

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
"version": "1.0.5",
1010
"main": "./build/index.js",
1111
"types": "./build/index.d.ts",
12+
"type": "module",
13+
"exports": {
14+
"import": "./build/index.esm.js",
15+
"require": "./build/index.cjs.js",
16+
"default": "./build/index.esm.js"
17+
},
1218
"description": "A simple isomorphic logger",
1319
"keywords": [
1420
"node",
@@ -25,9 +31,11 @@
2531
"url": "https://github.com/kengoldfarb/log.git"
2632
},
2733
"scripts": {
28-
"build": "npm run clean && npm run build:umd && npm run build:node",
34+
"build": "npm run clean && npm run build:rollup",
35+
"#build": "npm run clean && npm run build:umd && npm run build:node",
2936
"build:node": "tsc",
3037
"build:browser": "tsc --project tsconfig.browser.json",
38+
"build:rollup": "rollup -c rollup.config.js",
3139
"build:umd": "rollup -c rollup.config.js && mkdir -p build/umd && cd build && sed s/index.js.map/log.js.map/ index.js > umd/log.js && mv index.js.map umd/log.js.map",
3240
"watch": "chokidar 'src/**/*.(js|jsx|ts|tsx)' -c 'npm run build'",
3341
"clean": "rm -rf build/",
@@ -40,28 +48,29 @@
4048
},
4149
"dependencies": {},
4250
"devDependencies": {
43-
"@kengoldfarb/semantic-release-config": "^1.0.3",
44-
"@rollup/plugin-commonjs": "^14.0.0",
45-
"@rollup/plugin-json": "^4.0.1",
46-
"@rollup/plugin-node-resolve": "^8.4.0",
47-
"@rollup/plugin-typescript": "^5.0.2",
48-
"@types/chai": "^4.2.3",
49-
"@types/faker": "^4.1.11",
50-
"@types/mocha": "^8.0.0",
51+
"@kengoldfarb/semantic-release-config": "^1.1.3",
52+
"@rollup/plugin-commonjs": "^25.0.7",
53+
"@rollup/plugin-json": "^6.1.0",
54+
"@rollup/plugin-node-resolve": "^15.2.3",
55+
"@rollup/plugin-typescript": "^11.1.6",
56+
"@types/chai": "^4.3.11",
57+
"@types/faker": "^6.6.9",
58+
"@types/mocha": "^10.0.6",
5159
"arkit": "^1.6.4",
52-
"chai": "^4.2.0",
53-
"chokidar-cli": "^2.1.0",
54-
"concurrently": "^5.1.0",
55-
"eslint": "^7.4.0",
56-
"eslint-config-kengoldfarb": "1.1.4-pre-6a26393.0",
57-
"faker": "^4.1.0",
58-
"mocha": "^8.0.1",
59-
"prettier": "^2.0.5",
60-
"rollup": "^2.21.0",
60+
"chai": "^5.1.0",
61+
"chokidar-cli": "^3.0.0",
62+
"concurrently": "^8.2.2",
63+
"eslint": "^8.56.0",
64+
"eslint-config-kengoldfarb": "1.5.0",
65+
"eslint-plugin-prettier": "^5.1.3",
66+
"faker": "^6.6.6",
67+
"mocha": "^10.3.0",
68+
"prettier": "^3.2.5",
69+
"rollup": "^4.11.0",
6170
"rollup-plugin-node-builtins": "^2.1.2",
6271
"rollup-plugin-node-globals": "^1.4.0",
6372
"rollup-plugin-replace": "^2.2.0",
64-
"ts-node": "^8.8.1",
65-
"typescript": "^3.9"
73+
"ts-node": "^10.9.2",
74+
"typescript": "^5.3.3"
6675
}
67-
}
76+
}

rollup.config.js

Lines changed: 92 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable import/no-extraneous-dependencies */
12
import commonjs from '@rollup/plugin-commonjs'
23
import resolve from '@rollup/plugin-node-resolve'
34
// import json from '@rollup/plugin-json'
@@ -6,34 +7,95 @@ import builtins from 'rollup-plugin-node-builtins'
67
import globals from 'rollup-plugin-node-globals'
78
import replace from 'rollup-plugin-replace'
89

9-
export default {
10-
// input: 'build/index.js',
11-
input: 'index.ts',
12-
output: {
13-
dir: 'build',
14-
format: 'umd',
15-
name: 'Log',
16-
sourcemap: true,
10+
export default [
11+
{
12+
// input: 'build/index.js',
13+
input: 'index.ts',
14+
output: {
15+
file: 'build/index.umd.js',
16+
format: 'umd',
17+
name: 'Log',
18+
sourcemap: true
19+
},
20+
external: ['fs', 'http', 'https', 'child_process'],
21+
plugins: [
22+
replace({
23+
include: ['node_modules/uuid/**'],
24+
delimiters: ['', ''],
25+
values: {
26+
'crypto.randomBytes': "require('randombytes')"
27+
}
28+
}),
29+
typescript({
30+
tsconfig: './tsconfig.browser.json'
31+
}),
32+
resolve({
33+
browser: true
34+
// preferBuiltins: false
35+
}),
36+
commonjs({ extensions: ['.js', '.ts'] }),
37+
globals(),
38+
builtins()
39+
]
1740
},
18-
external: ['fs', 'http', 'https', 'child_process'],
19-
plugins: [
20-
replace({
21-
include: ['node_modules/uuid/**'],
22-
delimiters: ['', ''],
23-
values: {
24-
'crypto.randomBytes': "require('randombytes')",
25-
},
26-
}),
27-
typescript({
28-
tsconfig: './tsconfig.browser.json',
29-
}),
30-
resolve({
31-
browser: true,
32-
// preferBuiltins: false
33-
}),
34-
commonjs({ extensions: ['.js', '.ts'] }),
35-
globals(),
36-
builtins(),
37-
// json()
38-
],
39-
}
41+
{
42+
// input: 'build/index.js',
43+
input: 'index.ts',
44+
output: {
45+
file: 'build/index.cjs.js',
46+
format: 'cjs',
47+
name: 'Log',
48+
sourcemap: true
49+
},
50+
external: ['fs', 'http', 'https', 'child_process'],
51+
plugins: [
52+
replace({
53+
include: ['node_modules/uuid/**'],
54+
delimiters: ['', ''],
55+
values: {
56+
'crypto.randomBytes': "require('randombytes')"
57+
}
58+
}),
59+
typescript({
60+
tsconfig: './tsconfig.json'
61+
}),
62+
resolve({
63+
browser: false
64+
// preferBuiltins: false
65+
}),
66+
commonjs({ extensions: ['.js', '.ts'] }),
67+
globals(),
68+
builtins()
69+
]
70+
},
71+
{
72+
// input: 'build/index.js',
73+
input: 'index.ts',
74+
output: {
75+
file: 'build/index.esm.js',
76+
format: 'esm',
77+
name: 'Log',
78+
sourcemap: true
79+
},
80+
external: ['fs', 'http', 'https', 'child_process'],
81+
plugins: [
82+
replace({
83+
include: ['node_modules/uuid/**'],
84+
delimiters: ['', ''],
85+
values: {
86+
'crypto.randomBytes': "require('randombytes')"
87+
}
88+
}),
89+
typescript({
90+
tsconfig: './tsconfig.json'
91+
}),
92+
resolve({
93+
browser: false
94+
// preferBuiltins: false
95+
}),
96+
commonjs({ extensions: ['.js', '.ts'] }),
97+
globals(),
98+
builtins()
99+
]
100+
}
101+
]

0 commit comments

Comments
 (0)