oao
Version:
A Yarn-based, opinionated monorepo management tool
317 lines (205 loc) • 10.4 kB
Markdown
## 2.0.2 (2021-4-18)
- Bump shelljs (avoids lots of warnings when running various OAO commands).
## 2.0.1 (2021-2-7)
- Bump storyboard.
## 2.0.0 (2020-7-25)
- **Breaking**: Always publishes _all_ (non-private) sub-packages, irrespective of whether they have been updated.
- **Breaking** (but can opt-out with `--bump-dependent-reqs no`): `oao publish` now bumps inner dependency requirements (i.e. cross-links inside the monorepo). (jeroenptrs, onigoetz, guigrpa, #100).
- `oao publish` now always publishes in reverse-dependency order (jeroenptrs, #102).
## 1.10.0 (2020-6-26)
- Allow 2-factor auth when publishing (jeroenptrs, #99).
- Allow publishing scoped packages publicly (jeroenptrs, #99).
## 1.9.0 (2020-6-24)
- Allow publishing from the `main` branch by default, in addition to `master` (jeroenptrs, #98).
## 1.8.0 (2020-1-28)
- Limit `parallelLimit` by number of cpus by default (SimenB, #92).
## 1.7.0 (2019-8-13)
- Add `--no-bump` for `oao publish`, useful in CI/CD environments (#83).
## 1.6.1 (2019-8-11)
- Bump dependencies. Remove @babel/polyfill since it's not needed in Node 6+.
## 1.6.0 (2019-2-20)
- Add `oao remove-all` (removes a dependency throughout the monorepo) (#80).
## 1.5.1 (2018-3-21)
- Fix bug in `oao all` and `oao run-script` which caused incorrect serial execution (#72).
## 1.5.0 (2018-3-19)
- Add `oao bump` (upgrades a dependency across all sub-packages) (#28).
## 1.5.0-beta.0 (2018-3-14)
- Add `--parallel-limit <#processes>` to `oao all` and `oao run-script`, to limit concurrency when running things in parallel (#69).
- Allow simultaneous usage of `--parallel` and `--tree` for `oao all` and `oao run-script`. In this case, jobs may block if other jobs associated to dependent subpackages are still pending (#68).
- `oao run-script`: add the possibility to generate more than one job per subpackage (e.g. `oao run-script test:*`) (#70).
## 1.4.1 (2018-3-12)
- Fix issues caused by new yarn `workspaces` semantics (#71, #67).
## 1.4.0 (2018-2-16)
- Add `--relative-time` to all commands, shortening the date column in logs by
14 characters (#64).
## 1.3.1 (2018-2-13)
- Add `--no-checks` for `oao publish` (removes all prepublish checks), useful in
some cases (#62).
## 1.3.0 (2018-2-13)
- Add support for extra arguments in `oao all`, e.g. `oao all ls -- -al` is now
equivalent to `oao all 'ls -al'` (#61).
## 1.2.1 (2017-11-24)
- Remove subpackage prefix in logs generated with `oao all` and `oao run-script`
when not running in parallel.
## 1.2.0 (2017-11-24)
- Improve error logging with `oao all` and `oao run-script` in parallel mode --
re-print the whole stderr contents at the end (#57).
- Add subpackage prefix to all logs in `oao all` and `oao run-script` (related
to #57).
## 1.1.0 (2017-11-24)
- Add `--tree` to `oao all` and `oao run-script` (follows dependency tree,
starting with the tree leaves and going upwards) (closes issue #58).
## 1.0.0 (2017-11-11)
- Bump to 1.0.0. No breaking changes expected (at least not so often).
## 0.10.5 (2017-11-11)
- Add **`oao run-script`** (#55, @kevroadrunner).
## 0.10.4 (2017-10-10)
- Log error code when external command fails and prevent some log redundancy
(#52).
## 0.10.3 (2017-10-6)
- Improve error detail when running `oao status` and some package has an invalid
`name` in its `package.json` (#40).
## 0.10.2 (2017-10-6)
- Set `process.env.YARN_SILENT` to 0, so that yarn's output is not removed in
some cases (#50, see also https://github.com/yarnpkg/yarn/pull/3536,
https://github.com/yarnpkg/yarn/issues/4615).
- Ignore `yarn outdated`'s non-zero error code when it finds outdated packages
(#50).
## 0.10.1 (2017-9-13)
- Bugfix: in `oao add|remove|upgrade`, fix handling of scoped packages (#45).
## 0.10.0 (2017-8-23)
## 0.10.0-beta.3 (2017-8-18)
- Add support for **non-monorepo publishing** Use the `oao publish --single` to
indicate that your root package is _not_ a monorepo, and you can benefit from
oao's features even in normal packages: publishing checks, automatic tagging,
interactive version selection, etc.
## 0.10.0-beta.2 (2017-8-17)
## 0.10.0-beta.1 (2017-8-16)
- Add support for **yarn workspaces**. This mode is enabled automatically when
the root package.json has a `workspaces` field, which overrides any other
`src` option.
## 0.9.0 (Jul. 15, 2017)
- Experimentally add the possibility to specify some config options in
package.json (#47).
## 0.8.5 (Jun. 16, 2017)
- Add **`--increment-version-by` option for `oao publish`**. This allows setting
the next version automatically, e.g. in a continuous deployment scheme (#41).
- Add prettier.
## 0.8.4 (Jun. 16, 2017)
- Bugfix: in parallel `oao bootstrap`, recover original subpackage
`package.json` files always, even if one of the subpackages fails to install
(#42).
## 0.8.3 (Jun. 15, 2017)
- Parallelize `oao bootstrap` -- **substantially improved performance** (#42).
- Add support for `--frozen-lockfile`, `--pure-lockfile` and `--no-lockfile`
flags in `oao bootstrap` (see Yarn documentation) (#43).
## 0.8.2 (Apr. 14, 2017)
- Bump deps
## 0.8.1 (Apr. 3, 2017)
- Add `--ignore-src <glob>` option to all commands to exclude sub-packages
(#38).
- Add warning to `oao oudated` for internal deps that do not meet the specified
version range (#34).
## 0.8.0 (Mar. 8, 2017)
- Rename `--version` option (incompatible with `commander`'s default option') to
`--new-version` (#35).
- During `oao publish`, automatically **update the changelog** with the new
version and release date.
- Add **`--no-npm-publish` option to `oao publish`** to prevent accidental
publishing on npm of parts of an all-private monorepo.
- During `oao publish`, also **update the versions of _private_ sub-packages**
that have changed.
## 0.7.3 (Mar. 4, 2017)
- Add more granular configuration options for `oao publish`:
`--no-check-uncommitted`, `--no-check-unpulled`, `--no-git-commit` (#29).
- Add `--version <new-version>` option to `oao publish` (overrides manual
version specification) (#30).
## 0.7.2 (Mar. 1, 2017)
- When executing a command, inhibit `stdin` access on Windows (see
[this](https://github.com/nodejs/node/issues/10836) and
[this](https://github.com/yarnpkg/yarn/issues/2462)).
## 0.7.1 (Feb. 28, 2017)
- Add **`oao clean`** to remove all `node_modules` directories in sub-packages.
- Provide **more explicit errors when unhandled rejections occur**.
- Add `--no-confirm` option to `oao reset-all-versions` (#26).
- Extract Parallel Console (now published as
`storyboard-listener-console-parallel` under the Storyboard monorepo).
## 0.7.0 (Feb. 27, 2017)
- Add support for **internal links in `oao add|remove|upgrade`** (#17).
- Add support for `oao add|remove|upgrade` on the root package (use either `.`
or `ROOT` as package name).
## 0.6.1 (Feb. 26, 2017)
- Remove extra blank lines (above the fold) caused when clearing the terminal in
parallel logs (#18).
- Show help when user enters no valid command.
## 0.6.0 (Feb. 25, 2017)
- Also process the monorepo root during `oao bootstrap`, including links to
sub-packages (if any) (#24).
- Modify `oao status` so that it provides more accurate information (e.g. in git
repos with no tags, no upstream, etc.) (#23).
- Warn during `oao bootstrap` when linked package version does not satisfy the
required range (#25).
## 0.5.7 (Feb. 24, 2017)
- Add **`oao outdated`**: runs `yarn outdated` on all sub-packages and the root
package, taking care that internal and custom links are omitted.
- Add **`--production` option** to `oao bootstrap`: skip external and internal
development-only dependencies (also available by setting the `NODE_ENV`
environment variable to `production`) (#19). See also discussion in #16.
- Filter sub-package paths, keeping only those that contain a `package.json`
file (#20).
## 0.5.6 (Feb. 23, 2017)
- Allow `--src` pattern to have a trailing slash (optional).
- Other minor tweaks.
## 0.5.5 (Feb. 22, 2017)
- Add **parallel logging in `oao all`** (can be disabled using the
`--no-parallel-logs` option) (#10).
## 0.5.4 (Feb. 21, 2017)
- Add **parallel support to `oao all`**, using the `--parallel` and
`--ignore-errors` options (#10, #13).
- Bugfix: filter out non-directory paths from globby results (#11).
## 0.5.3 (Feb. 20, 2017)
- Add **`oao status`**: provides lots of information on the monorepo.
- Add **`--link <regex>` option** to force some packages to be linked, not
installed (useful in some development environments). Used in `oao bootstrap`
and `oao add|remove|upgrade`.
- Add **`--ignore-engines` option** to `oao upgrade` (passed through to Yarn).
- Add **`--copy-attrs` option** to `oao prepublish` (attributes that are copied
to the sub-package's `package.json` file).
## 0.5.2 (Feb. 16, 2017)
- Add **tentative support for scoped packages** (#7).
- Internal:
- Add unit tests.
- Add static types (Flow).
## 0.5.1 (Feb. 15, 2017)
- Add **`oao upgrade <sub-package> [deps...]`**.
- Add unit tests, Travis, Coveralls.
## 0.5.0 (Feb. 14, 2017)
- Add **`oao add <sub-package> <deps...>`**.
- Add **`oao remove <sub-package> <deps...>`**.
- Bump `storyboard` yet again (some warnings remained).
- Fix missing newlines at the end of `package.json` files (#3).
## 0.4.1 (Feb. 13, 2017)
- Bump `storyboard` (prevents "unmet peer dependency" during installation).
## 0.4.0 (Feb. 12, 2017)
- Greatly reduce the number of oao dependencies by bumping `storyboard` to v3
(prerelease).
- Add **`--publish-tag <tag>` option** to `oao publish`: (publishes with a
custom tag, instead of `latest`).
## 0.3.3 (Feb. 12, 2017)
- Fix bad repo links in `package.json`.
## 0.3.2 (Feb. 12, 2017)
- Bugfixes:
- Fix prerelease version updates.
- Move `babel-polyfill` to `dependencies` (#2).
- Prevent normal `git push` output from being shown as errors.
## 0.3.0, 0.3.1 (Feb. 12, 2017)
- Add options to `oao publish`:
- `--no-master` (allow publishing from non-`master` branches).
- `--no-confirm` (skip confirmation steps).
## 0.2.0 (Feb. 10, 2017)
- Automatically detect updated packages, allow user selection of
major/minor/patch/prerelease increment, commit, tag, push and publish.
- Allow custom package directories.
- Improve docs.
## 0.1.0 (Feb. 9, 2017)
- First public release.