2019-05-14 18:25:46 -04:00
|
|
|
Admin Tool
|
|
|
|
==========
|
|
|
|
|
2019-05-24 19:00:54 -04:00
|
|
|
This tool is meant for admin tasks related to ethers.js.
|
2019-05-14 18:25:46 -04:00
|
|
|
|
|
|
|
|
|
|
|
Workflow
|
|
|
|
--------
|
|
|
|
|
2019-05-24 19:00:54 -04:00
|
|
|
After a new series of changes have been made and tested:
|
2019-05-14 18:25:46 -04:00
|
|
|
|
2019-05-24 19:00:54 -04:00
|
|
|
1. Run `npm run update-versions` to update and build all packages
|
|
|
|
2. Make any human-necessary changes to the automatically updated `CHANGELOG.md`
|
|
|
|
3. Run `git add .`
|
|
|
|
4. Run `git commit -S -m "Updated dist files."`
|
|
|
|
5. Run `git push`
|
|
|
|
6. Wait for TravisCI to complete running test cases
|
|
|
|
7. Run `npm run publish-all` to publish changed packages to NPM and tag GitHub
|
2019-05-14 18:25:46 -04:00
|
|
|
|
|
|
|
|
|
|
|
Update Dependency Graph: admin/cmds/update-depgraph
|
|
|
|
---------------------------------------------------
|
|
|
|
|
|
|
|
This is run as part of `npm run bootstrap` before running lerna bootstrap.
|
|
|
|
It recomputes the dependency graph and writes out the ordered
|
|
|
|
**tsconfig.project.json**
|
|
|
|
|
|
|
|
|
|
|
|
Update Versions: admin/cmds/update-versions
|
|
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
Run using the `npm run update-versions`, which also cleans, bootstraps and
|
2019-05-24 19:00:54 -04:00
|
|
|
rebuilds the project before running the script.
|
2019-05-14 18:25:46 -04:00
|
|
|
|
|
|
|
For each package that has changed from the version in NPM (the published
|
|
|
|
tarballs are compared):
|
|
|
|
|
|
|
|
- Update the `version` in the **package.json**
|
2019-05-24 19:00:54 -04:00
|
|
|
- Update the `src.ts/_version.ts` (matches the **package.json**)
|
2019-05-14 18:25:46 -04:00
|
|
|
- Updates the `tarballHash` in the **package.json**
|
2019-05-24 19:00:54 -04:00
|
|
|
- Compiles the TypeScript (which updates the `_version.js` and `_version.d.js`)
|
|
|
|
- Lists all changed files (highlighting src.ts files)
|
|
|
|
|
|
|
|
Then:
|
|
|
|
|
|
|
|
- Generate the distribution files
|
|
|
|
- Update the `CHANGELOG.md`
|
2019-05-14 18:25:46 -04:00
|
|
|
|
|
|
|
|
|
|
|
Publish: admin/cmds/publish
|
2019-05-24 19:00:54 -04:00
|
|
|
---------------------------
|
2019-05-14 18:25:46 -04:00
|
|
|
|
2019-05-24 19:00:54 -04:00
|
|
|
Run using `npm run publish-all`. This requires a password for the secure
|
|
|
|
local config and the OTP for NPM.
|
2019-05-14 18:25:46 -04:00
|
|
|
|
|
|
|
- Publish (in dependency order) changed files to NPM
|
|
|
|
- The `gitHead` is updated in **only** the NPM **package.json**
|
2019-05-24 19:00:54 -04:00
|
|
|
- @TODO: Cut a release on GitHub including the relevant CHANGELOG entry
|
2019-05-14 18:25:46 -04:00
|
|
|
|