Moving Webpack confs from hacking to readme

This commit is contained in:
Milan Steiner 2022-03-14 15:21:10 +01:00
parent b385e53e16
commit 656e023748
2 changed files with 64 additions and 63 deletions

View File

@ -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:

View File

@ -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),