Skip to content

Commit 331d20d

Browse files
authored
Stop bundling dependencies, UMD file (#1057)
Allow users' package managers to satisfy our dependencies, instead of bundling them all in our compiled output. (this is like dynamic linking as opposed to static linking for JS)
1 parent 66ab9d1 commit 331d20d

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

package-lock.json

Lines changed: 14 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
"files": [
88
"dist"
99
],
10-
"main": "./dist/RosLib.umd.cjs",
1110
"module": "./dist/RosLib.js",
1211
"exports": {
1312
".": {
14-
"import": "./dist/RosLib.js",
15-
"require": "./dist/RosLib.umd.cjs"
13+
"import": "./dist/RosLib.js"
1614
}
1715
},
1816
"type": "module",
@@ -36,6 +34,7 @@
3634
"vite": "^7.0.0",
3735
"vite-plugin-checker": "^0.11.0",
3836
"vite-plugin-dts": "^4.0.2",
37+
"vite-plugin-externalize-deps": "^0.10.0",
3938
"vitest": "^4.0.3",
4039
"vitest-fail-on-console": "^0.10.1"
4140
},

vite.config.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { resolve } from "path";
22
import { defineConfig } from "vitest/config";
33
import dts from "vite-plugin-dts";
44
import checker from "vite-plugin-checker";
5+
import { externalizeDeps } from "vite-plugin-externalize-deps";
56

67
export default defineConfig({
78
plugins: [
@@ -20,6 +21,7 @@ export default defineConfig({
2021
useFlatConfig: true,
2122
},
2223
}),
24+
externalizeDeps(),
2325
],
2426
build: {
2527
lib: {
@@ -28,16 +30,7 @@ export default defineConfig({
2830
name: "ROSLIB",
2931
// the proper extensions will be added
3032
fileName: "RosLib",
31-
},
32-
rollupOptions: {
33-
/*
34-
* make sure to externalize deps that shouldn't be bundled
35-
* into your library
36-
*/
37-
external: ["eventemitter3", "ws", "src/util/decompressPng.js"],
38-
output: {
39-
globals: { eventemitter3: "EventEmitter3" },
40-
},
33+
formats: ["es"],
4134
},
4235
// Keep synchronized with minimum engine specified in CI & package.json
4336
target: "node18",

0 commit comments

Comments
 (0)