Skip to content
This repository was archived by the owner on Aug 30, 2022. It is now read-only.

Commit 590e801

Browse files
authored
[fix] handle the additional usage of Buffer in browser builds (#442)
* handle the additional usage of Buffer in browser builds * v2.3.6-0
1 parent 312aaa7 commit 590e801

File tree

3 files changed

+360
-21
lines changed

3 files changed

+360
-21
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@thirdweb-dev/sdk",
3-
"version": "2.3.5",
3+
"version": "2.3.6-0",
44
"description": "The main thirdweb SDK.",
55
"repository": {
66
"type": "git",
@@ -72,6 +72,7 @@
7272
"hardhat": "2.9.3",
7373
"merkletreejs": "^0.2.24",
7474
"mocha": "^10.0.0",
75+
"node-stdlib-browser": "^1.2.0",
7576
"prettier": "^2.4.1",
7677
"ts-mocha": "^10.0.0",
7778
"ts-node": "^10.7.0",

tsup.config.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { defineConfig } from "tsup";
22

33
import { NodeModulesPolyfillPlugin } from "@esbuild-plugins/node-modules-polyfill";
4+
import plugin from "node-stdlib-browser/helpers/esbuild/plugin";
5+
import stdLibBrowser from "node-stdlib-browser";
46

57
export default defineConfig([
68
// build for node
@@ -42,7 +44,11 @@ export default defineConfig([
4244
format: ["cjs", "esm"],
4345
// contains node-only functions, aka has to be bundled in for browser
4446
noExternal: ["cbor"],
45-
esbuildPlugins: [NodeModulesPolyfillPlugin()],
47+
inject: [`node_modules/node-stdlib-browser/helpers/esbuild/shim.js`],
48+
define: {
49+
Buffer: "Buffer",
50+
},
51+
esbuildPlugins: [NodeModulesPolyfillPlugin(), plugin(stdLibBrowser)],
4652
outDir: "dist/browser",
4753
},
4854
// build for script-tag usage <script src="..."></script>
@@ -64,7 +70,11 @@ export default defineConfig([
6470
},
6571
// inject ThirdwebSDK into window
6672
footer: { js: "window.ThirdwebSDK = window._thirdweb.ThirdwebSDK;" },
67-
esbuildPlugins: [NodeModulesPolyfillPlugin()],
73+
inject: [`node_modules/node-stdlib-browser/helpers/esbuild/shim.js`],
74+
define: {
75+
Buffer: "Buffer",
76+
},
77+
esbuildPlugins: [NodeModulesPolyfillPlugin(), plugin(stdLibBrowser)],
6878
outDir: "dist/browser",
6979
},
7080
]);

0 commit comments

Comments
 (0)