Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: update deps, resolutions #607

Merged
merged 3 commits into from
Jul 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,9 @@ All the commits in this repo follow the [Conventional Commits spec](https://www.
- @polkadot/util-crypto [release notes](https://github.com/polkadot-js/common/releases)
- @substrate/calc [npm release page](https://www.npmjs.com/package/@substrate/calc)

1. After updating the dependencies, the next step is making sure the release will work against all relevant runtimes for Polkadot, Kusama, and Westend. This can be handled by running `yarn test:init-e2e-tests`. You must have `python3`, and the dependencies inside of `./scripts/requirements.txt` installed to run the script (Read the [README](./scripts/README.md) for more instructions). Before moving forward ensure all tests pass, and if it warns of any missing types feel free to make an issue [here](https://github.com/paritytech/substrate-api-sidecar/issues).
1. Next make sure to update the resolutions inside of the `package.json` to match polkadot-js [here](https://github.com/polkadot-js/apps/blob/master/package.json). This is a manual process, and the packages we want to update are only the ones with `@polkadot` appended to it.

1. After updating the dependencies and resolutions, the next step is making sure the release will work against all relevant runtimes for Polkadot, Kusama, and Westend. This can be handled by running `yarn test:init-e2e-tests`. You must have `python3`, and the dependencies inside of `./scripts/requirements.txt` installed to run the script (Read the [README](./scripts/README.md) for more instructions). Before moving forward ensure all tests pass, and if it warns of any missing types feel free to make an issue [here](https://github.com/paritytech/substrate-api-sidecar/issues).

Note that the e2e tests will connect to running nodes in order to test sidecar against real data, and they may fail owing to those connections taking too long to establish. If you run into any failures, try running tests just for the chain that failed with something like `yarn test:init-e2e-tests:polkadot`.

Expand Down
13 changes: 12 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@
},
"dependencies": {
"@polkadot/api": "^5.0.1",
"@polkadot/apps-config": "0.94.2-49",
"@polkadot/apps-config": "0.94.2-72",
"@polkadot/util-crypto": "^7.0.1",
"@polkadot/x-rxjs": "^6.11.1",
"@substrate/calc": "^0.2.1",
"confmgr": "^1.0.6",
"express": "^4.17.1",
Expand All @@ -70,6 +71,16 @@
"tsc-watch": "^4.4.0"
},
"resolutions": {
"@polkadot/api": "^5.0.1",
"@polkadot/api-contract": "^5.0.1",
"@polkadot/hw-ledger": "^7.0.1",
"@polkadot/keyring": "^7.0.1",
"@polkadot/networks": "^7.0.1",
"@polkadot/phishing": "^0.6.222",
"@polkadot/types": "^5.0.1",
"@polkadot/util": "^7.0.1",
"@polkadot/util-crypto": "^7.0.1",
"@polkadot/wasm-crypto": "^4.1.2",
Comment on lines +74 to +83
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so if I recall, these will force the packaegs to be the versions listed.

What happens if two incompatible versions of a package are used throughout? I'd worry that this will lead to the thing expecting a different-enough version hitting errors and such?

Copy link
Member Author

@TarikGul TarikGul Jul 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So with our resolutions, we are grabbing them directly from the resolutions from @polkadot. That way they will never be mismatched.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we update the release readme to add this step to make sure that they remain in sync?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I haven't thought through the other ramifications of doing this yet; it makes me feel a bit uneasy offhand, but I'm sure it's been given some thought!)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's kinda a double edged sword too, because without this we potentially let multiple versions live inside of the node_modules which could also cause issue's. I shared the same concern as you, but after some digging I realized its probably best to mimic and shadow what @polkadot is doing which will atleast minimize the package conflictions that can potentially happen.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we update the release readme to add this step to make sure that they remain in sync?

Yes thank you for the reminder this should be updated in the README.md

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok cool! Does the readme want tweaking as part of this PR too or are you happy doing that in a next step?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea just added the little bit on updating the resolutions, so you should be good :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woop, thanks! Looks good!

"node-forge": ">=0.10.0",
"node-fetch": ">=2.6.1",
"prismjs": ">=1.23.0"
Expand Down
2 changes: 1 addition & 1 deletion src/test-helpers/registries/kusamaRegistry.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import substrateMetadataRpc from '@polkadot/metadata/v11/static';
import { Metadata } from '@polkadot/types';
import { TypeRegistry } from '@polkadot/types';
import substrateMetadataRpc from '@polkadot/types/metadata/v11/static';
import { getSpecTypes } from '@polkadot/types-known';

/**
Expand Down
Loading