on master help sign in
devex: fix worker build with node polyfill
e7d0e61tomholford
package-lock.json+106
@@ -104,6 +104,7 @@
104 "husky": "^2.4.0",
104 "husky": "^2.4.0",
105 "npm-run-all": "^4.1.3",
105 "npm-run-all": "^4.1.3",
106 "prettier": "^1.18.2",
106 "prettier": "^1.18.2",
107+ "rollup-plugin-node-polyfills": "^0.2.1",
107 "serve": "^11.0.1",
108 "serve": "^11.0.1",
108 "source-map-explorer": "^2.0.0",
109 "source-map-explorer": "^2.0.0",
109 "stream-browserify": "^3.0.0",
110 "stream-browserify": "^3.0.0",
@@ -10600,6 +10601,57 @@
10600 "version": "5.2.0",
10601 "version": "5.2.0",
10601 "license": "MIT"
10602 "license": "MIT"
10602 },
10603 },
10604+ "node_modules/rollup-plugin-inject": {
10605+ "version": "3.0.2",
10606+ "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz",
10607+ "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==",
10608+ "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.",
10609+ "dev": true,
10610+ "dependencies": {
10611+ "estree-walker": "^0.6.1",
10612+ "magic-string": "^0.25.3",
10613+ "rollup-pluginutils": "^2.8.1"
10614+ }
10615+ },
10616+ "node_modules/rollup-plugin-inject/node_modules/estree-walker": {
10617+ "version": "0.6.1",
10618+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
10619+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
10620+ "dev": true
10621+ },
10622+ "node_modules/rollup-plugin-inject/node_modules/magic-string": {
10623+ "version": "0.25.9",
10624+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
10625+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
10626+ "dev": true,
10627+ "dependencies": {
10628+ "sourcemap-codec": "^1.4.8"
10629+ }
10630+ },
10631+ "node_modules/rollup-plugin-node-polyfills": {
10632+ "version": "0.2.1",
10633+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz",
10634+ "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==",
10635+ "dev": true,
10636+ "dependencies": {
10637+ "rollup-plugin-inject": "^3.0.0"
10638+ }
10639+ },
10640+ "node_modules/rollup-pluginutils": {
10641+ "version": "2.8.2",
10642+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
10643+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
10644+ "dev": true,
10645+ "dependencies": {
10646+ "estree-walker": "^0.6.1"
10647+ }
10648+ },
10649+ "node_modules/rollup-pluginutils/node_modules/estree-walker": {
10650+ "version": "0.6.1",
10651+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
10652+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
10653+ "dev": true
10654+ },
10603 "node_modules/run-async": {
10655 "node_modules/run-async": {
10604 "version": "2.4.1",
10656 "version": "2.4.1",
10605 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
10657 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -20803,6 +20855,60 @@
20803 }
20855 }
20804 }
20856 }
20805 },
20857 },
20858+ "rollup-plugin-inject": {
20859+ "version": "3.0.2",
20860+ "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz",
20861+ "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==",
20862+ "dev": true,
20863+ "requires": {
20864+ "estree-walker": "^0.6.1",
20865+ "magic-string": "^0.25.3",
20866+ "rollup-pluginutils": "^2.8.1"
20867+ },
20868+ "dependencies": {
20869+ "estree-walker": {
20870+ "version": "0.6.1",
20871+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
20872+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
20873+ "dev": true
20874+ },
20875+ "magic-string": {
20876+ "version": "0.25.9",
20877+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
20878+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
20879+ "dev": true,
20880+ "requires": {
20881+ "sourcemap-codec": "^1.4.8"
20882+ }
20883+ }
20884+ }
20885+ },
20886+ "rollup-plugin-node-polyfills": {
20887+ "version": "0.2.1",
20888+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz",
20889+ "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==",
20890+ "dev": true,
20891+ "requires": {
20892+ "rollup-plugin-inject": "^3.0.0"
20893+ }
20894+ },
20895+ "rollup-pluginutils": {
20896+ "version": "2.8.2",
20897+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
20898+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
20899+ "dev": true,
20900+ "requires": {
20901+ "estree-walker": "^0.6.1"
20902+ },
20903+ "dependencies": {
20904+ "estree-walker": {
20905+ "version": "0.6.1",
20906+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
20907+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
20908+ "dev": true
20909+ }
20910+ }
20911+ },
20806 "run-async": {
20912 "run-async": {
20807 "version": "2.4.1",
20913 "version": "2.4.1",
20808 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
20914 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
package.json+2
@@ -110,6 +110,7 @@
110 "husky": "^2.4.0",
110 "husky": "^2.4.0",
111 "npm-run-all": "^4.1.3",
111 "npm-run-all": "^4.1.3",
112 "prettier": "^1.18.2",
112 "prettier": "^1.18.2",
113+ "rollup-plugin-node-polyfills": "^0.2.1",
113 "serve": "^11.0.1",
114 "serve": "^11.0.1",
114 "source-map-explorer": "^2.0.0",
115 "source-map-explorer": "^2.0.0",
115 "stream-browserify": "^3.0.0",
116 "stream-browserify": "^3.0.0",
@@ -119,6 +120,7 @@
119 "vitest": "^0.24.1"
120 "vitest": "^0.24.1"
120 },
121 },
121 "scripts": {
122 "scripts": {
123+ "preview:mainnet": "VITE_MAINNET=true vite preview --port 3000",
122 "start": "vite",
124 "start": "vite",
123 "build": "VITE_MAINNET=true vite build",
125 "build": "VITE_MAINNET=true vite build",
124 "build:ropsten": "VITE_ROPSTEN=true vite build",
126 "build:ropsten": "VITE_ROPSTEN=true vite build",
vite.config.ts+8−9
@@ -1,5 +1,6 @@
1import { defineConfig } from 'vite'
1import { defineConfig } from 'vite'
2import GlobalPolyFill from "@esbuild-plugins/node-globals-polyfill";
2import GlobalPolyFill from "@esbuild-plugins/node-globals-polyfill";
3+import nodePolyfills from 'rollup-plugin-node-polyfills';
3import inject from '@rollup/plugin-inject'
4import inject from '@rollup/plugin-inject'
4import react from '@vitejs/plugin-react'
5import react from '@vitejs/plugin-react'
5import svgr from 'vite-plugin-svgr';
6import svgr from 'vite-plugin-svgr';
@@ -36,17 +37,15 @@ export default defineConfig(({ mode }) => {
36 worker: {
37 worker: {
37 plugins: [
38 plugins: [
38 comlink(),
39 comlink(),
39− inject({ Buffer: ['buffer', 'Buffer'] }),
40 ],
40 ],
41 },
41 },
42− build: Object.assign({
42+ build: Object.assign(
43+ {
43− outDir: 'build',
44+ outDir: 'build',
44− commonJsOptions: {
45+ rollupOptions: {
45− esmExternals: ['urbit-key-generation'],
46+ plugins: [nodePolyfills()],
46− include: ['urbit-key-generation'],
47+ },
47− requireReturnsDefault: 'auto',
48− }
49− },
48+ },
50 mode === 'development' ? { global: {} } : {}
49 mode === 'development' ? { global: {} } : {}
51 ),
50 ),
52 optimizeDeps: {
51 optimizeDeps: {