Updated admin readme.

This commit is contained in:
Richard Moore 2019-05-24 19:00:54 -04:00
parent 898a8b8d93
commit 9122310481
No known key found for this signature in database
GPG Key ID: 525F70A6FCABC295

View File

@ -1,49 +1,21 @@
Admin Tool Admin Tool
========== ==========
This tool is meant for admin taks related to ethers.js. This tool is meant for admin tasks related to ethers.js.
Workflow Workflow
-------- --------
After a new change is made and `npm run build` has been used to compile the After a new series of changes have been made and tested:
TypeScript, the following steps should be completed to publish it.
1. Run `admin status` or `admin diff` to update the package.json (tarballHash and version) and audit changes 1. Run `npm run update-versions` to update and build all packages
2. Run `admin add-source` to stage changed source files 2. Make any human-necessary changes to the automatically updated `CHANGELOG.md`
3. Run `git commit -S -m "message..."` 3. Run `git add .`
4. Run `npm dist` to create the changelog and all dist files 4. Run `git commit -S -m "Updated dist files."`
5. Update the changelog as needed 5. Run `git push`
6. Run `admin add-dist` to stage the dist files 6. Wait for TravisCI to complete running test cases
7. Run test cases 7. Run `npm run publish-all` to publish changed packages to NPM and tag GitHub
8. Run `git commit -S -m "Updated dist files."`
9. Run `git push`
10. Wait for TravisCI to complete running test cases
11. Run `admin publish` to publish changed packages to NPM and tag GitHub
Status: admin status
--------------------
- Updates all package.json `tarballHash`
- List all files that are different from the most recent published files.
Diff: admin diff
----------------
- Updates all package.json `tarballHash`
- List all diffs between the local files and the most recent published files.
Add Source: admin add-source
----------------------------
- Stages all changed files which are library source files
Add Dist: admin add-dist
------------------------
- Stages all changed files which are dist files
Update Dependency Graph: admin/cmds/update-depgraph Update Dependency Graph: admin/cmds/update-depgraph
@ -58,23 +30,30 @@ Update Versions: admin/cmds/update-versions
------------------------------------------- -------------------------------------------
Run using the `npm run update-versions`, which also cleans, bootstraps and Run using the `npm run update-versions`, which also cleans, bootstraps and
rebuilds the project. rebuilds the project before running the script.
For each package that has changed from the version in NPM (the published For each package that has changed from the version in NPM (the published
tarballs are compared): tarballs are compared):
- Update the `version` in the **package.json** - Update the `version` in the **package.json**
- Update the **src.ts/_version.js** (matches the **package.json**) - Update the `src.ts/_version.ts` (matches the **package.json**)
- Updates the `tarballHash` in the **package.json** - Updates the `tarballHash` in the **package.json**
- Compiles the TypeScript (which updates the **_version.js** and **_version.d.js**) - Compiles the TypeScript (which updates the `_version.js` and `_version.d.js`)
- Lists all changed files - Lists all changed files (highlighting src.ts files)
Then:
- Generate the distribution files
- Update the `CHANGELOG.md`
Publish: admin/cmds/publish Publish: admin/cmds/publish
---------------------------- ---------------------------
Run using `node admin/cmds/publish`. Run using `npm run publish-all`. This requires a password for the secure
local config and the OTP for NPM.
- Publish (in dependency order) changed files to NPM - Publish (in dependency order) changed files to NPM
- The `gitHead` is updated in **only** the NPM **package.json** - The `gitHead` is updated in **only** the NPM **package.json**
- @TODO: Cut a release on GitHub including the relevant CHANGELOG entry