ethers.js/admin
Richard Moore f7e82fcb46
Started refactoring admin scripts into TypeScript.
2020-09-21 01:14:06 -04:00
..
cmds Started refactoring admin scripts into TypeScript. 2020-09-21 01:14:06 -04:00
test-parity add circleci and parity test files 2019-12-09 23:01:21 -05:00
README.md Updated admin readme. 2019-05-24 19:00:54 -04:00
build.js Added updated admin scripts needed for dist build (#789). 2020-04-18 05:23:36 -04:00
changelog.js Added automatic createRelease to publish-all. 2020-02-12 17:18:43 -05:00
config.js Preserve config canary string. 2020-06-12 19:22:16 -04:00
depgraph.js Initial v5 branch commit. 2019-05-14 18:25:46 -04:00
git.js Add admin support for pacakges with no history from the package gitHead. 2019-05-14 21:23:27 -04:00
github.js Added updated admin scripts needed for dist build (#789). 2020-04-18 05:23:36 -04:00
index.js Updated admin scripts for publishing prod releases. 2020-06-12 23:59:06 -04:00
local.js Updated dist files (sorted package.json to reduce package version change chatter). 2019-11-23 21:38:13 +09:00
log.js Initial v5 branch commit. 2019-05-14 18:25:46 -04:00
npm.js Reduce dependencies to squash security issues. 2020-06-13 16:39:00 -04:00
utils.js Fixed date formatting in CHANGELOG. 2020-01-11 04:17:08 -05:00

README.md

Admin Tool

This tool is meant for admin tasks related to ethers.js.

Workflow

After a new series of changes have been made and tested:

  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

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 rebuilds the project before running the script.

For each package that has changed from the version in NPM (the published tarballs are compared):

  • Update the version in the package.json
  • Update the src.ts/_version.ts (matches the package.json)
  • Updates the tarballHash in the package.json
  • 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

Publish: 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
  • The gitHead is updated in only the NPM package.json
  • @TODO: Cut a release on GitHub including the relevant CHANGELOG entry