diff --git a/HACKING.md b/HACKING.md index c75e2b8c..a8f96965 100644 --- a/HACKING.md +++ b/HACKING.md @@ -37,69 +37,6 @@ sha256sum -c checksums.sha256 1. Install dependencies: `yarn install` 2. Install SDKs (to make IDE integration work): `yarn dlx @yarnpkg/sdks` -## Webpack Configs - -With WebPack 5, you have to be explicit about the usage of Node.js types and -modules that were simply replaced with re-implementations for browsers in -Webpack 4. - -Configs for 0.28 and later: - -```js -module.exports = [ - { - ..., - resolve: { - fallback: { - buffer: false, - crypto: false, - events: false, - path: false, - stream: false, - string_decoder: false, - }, - }, - }, -]; -``` - -Configs for CosmJS < 0.28 - -```js -module.exports = [ - { - ..., - resolve: { - fallback: { - buffer: false, - crypto: false, - events: false, - path: false, - stream: require.resolve("stream-browserify"), - string_decoder: false, - }, - }, - }, -]; -``` - -Also, in both cases you need the Buffer plugin: - -```ts -module.exports = [ - { - ..., - plugins: [ - ..., - new webpack.ProvidePlugin({ - Buffer: ["buffer", "Buffer"], - }), - ], - ... - }, -]; -``` - ## Running tests For unit tests that don't connect to any blockchain, just do: diff --git a/README.md b/README.md index 686cb5ed..6c8b9316 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,70 @@ We're happy to adjust this list according to users' needs as long as you don't ask for Internet Explorer support. If your environment does not support Wasm, we can work on a solution with swappable implementations. + +## Webpack Configs + +With WebPack 5, you have to be explicit about the usage of Node.js types and +modules that were simply replaced with re-implementations for browsers in +Webpack 4. + +Configs for 0.28 and later: + +```js +module.exports = [ + { + ..., + resolve: { + fallback: { + buffer: false, + crypto: false, + events: false, + path: false, + stream: false, + string_decoder: false, + }, + }, + }, +]; +``` + +Configs for CosmJS < 0.28 + +```js +module.exports = [ + { + ..., + resolve: { + fallback: { + buffer: false, + crypto: false, + events: false, + path: false, + stream: require.resolve("stream-browserify"), + string_decoder: false, + }, + }, + }, +]; +``` + +Also, in both cases you need the Buffer plugin: + +```ts +module.exports = [ + { + ..., + plugins: [ + ..., + new webpack.ProvidePlugin({ + Buffer: ["buffer", "Buffer"], + }), + ], + ... + }, +]; +``` + ## Roadmap We maintain a [development board](https://github.com/orgs/cosmos/projects/6),