- Bump shelljs (avoids lots of warnings when running various OAO commands).
- Bump storyboard.
- 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).
- Allow 2-factor auth when publishing (jeroenptrs, #99).
- Allow publishing scoped packages publicly (jeroenptrs, #99).
- Allow publishing from the
main
branch by default, in addition tomaster
(jeroenptrs, #98).
- Limit
parallelLimit
by number of cpus by default (SimenB, #92).
- Add
--no-bump
foroao publish
, useful in CI/CD environments (#83).
- Bump dependencies. Remove @babel/polyfill since it's not needed in Node 6+.
- Add
oao remove-all
(removes a dependency throughout the monorepo) (#80).
- Fix bug in
oao all
andoao run-script
which caused incorrect serial execution (#72).
- Add
oao bump
(upgrades a dependency across all sub-packages) (#28).
- Add
--parallel-limit <#processes>
tooao all
andoao run-script
, to limit concurrency when running things in parallel (#69). - Allow simultaneous usage of
--parallel
and--tree
foroao all
andoao 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).
- Fix issues caused by new yarn
workspaces
semantics (#71, #67).
- Add
--relative-time
to all commands, shortening the date column in logs by 14 characters (#64).
- Add
--no-checks
foroao publish
(removes all prepublish checks), useful in some cases (#62).
- Add support for extra arguments in
oao all
, e.g.oao all ls -- -al
is now equivalent tooao all 'ls -al'
(#61).
- Remove subpackage prefix in logs generated with
oao all
andoao run-script
when not running in parallel.
- Improve error logging with
oao all
andoao run-script
in parallel mode -- re-print the whole stderr contents at the end (#57). - Add subpackage prefix to all logs in
oao all
andoao run-script
(related to #57).
- Add
--tree
tooao all
andoao run-script
(follows dependency tree, starting with the tree leaves and going upwards) (closes issue #58).
- Bump to 1.0.0. No breaking changes expected (at least not so often).
- Add
oao run-script
(#55, @kevroadrunner).
- Log error code when external command fails and prevent some log redundancy (#52).
- Improve error detail when running
oao status
and some package has an invalidname
in itspackage.json
(#40).
- Set
process.env.YARN_SILENT
to 0, so that yarn's output is not removed in some cases (#50, see also yarnpkg/yarn#3536, yarnpkg/yarn#4615). - Ignore
yarn outdated
's non-zero error code when it finds outdated packages (#50).
- Bugfix: in
oao add|remove|upgrade
, fix handling of scoped packages (#45).
- 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.
- Add support for yarn workspaces. This mode is enabled automatically when
the root package.json has a
workspaces
field, which overrides any othersrc
option.
- Experimentally add the possibility to specify some config options in package.json (#47).
- Add
--increment-version-by
option foroao publish
. This allows setting the next version automatically, e.g. in a continuous deployment scheme (#41). - Add prettier.
- Bugfix: in parallel
oao bootstrap
, recover original subpackagepackage.json
files always, even if one of the subpackages fails to install (#42).
- Parallelize
oao bootstrap
-- substantially improved performance (#42). - Add support for
--frozen-lockfile
,--pure-lockfile
and--no-lockfile
flags inoao bootstrap
(see Yarn documentation) (#43).
- Bump deps
- 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).
- Rename
--version
option (incompatible withcommander
'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 tooao 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.
- Add more granular configuration options for
oao publish
:--no-check-uncommitted
,--no-check-unpulled
,--no-git-commit
(#29). - Add
--version <new-version>
option tooao publish
(overrides manual version specification) (#30).
- Add
oao clean
to remove allnode_modules
directories in sub-packages. - Provide more explicit errors when unhandled rejections occur.
- Add
--no-confirm
option tooao reset-all-versions
(#26). - Extract Parallel Console (now published as
storyboard-listener-console-parallel
under the Storyboard monorepo).
- Add support for internal links in
oao add|remove|upgrade
(#17). - Add support for
oao add|remove|upgrade
on the root package (use either.
orROOT
as package name).
- Remove extra blank lines (above the fold) caused when clearing the terminal in parallel logs (#18).
- Show help when user enters no valid command.
- 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).
- Add
oao outdated
: runsyarn outdated
on all sub-packages and the root package, taking care that internal and custom links are omitted. - Add
--production
option tooao bootstrap
: skip external and internal development-only dependencies (also available by setting theNODE_ENV
environment variable toproduction
) (#19). See also discussion in #16. - Filter sub-package paths, keeping only those that contain a
package.json
file (#20).
- Allow
--src
pattern to have a trailing slash (optional). - Other minor tweaks.
- Add parallel logging in
oao all
(can be disabled using the--no-parallel-logs
option) (#10).
- 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).
- 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 inoao bootstrap
andoao add|remove|upgrade
. - Add
--ignore-engines
option tooao upgrade
(passed through to Yarn). - Add
--copy-attrs
option tooao prepublish
(attributes that are copied to the sub-package'spackage.json
file).
- Add tentative support for scoped packages (#7).
- Internal:
- Add unit tests.
- Add static types (Flow).
- Add
oao upgrade <sub-package> [deps...]
. - Add unit tests, Travis, Coveralls.
- 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).
- Bump
storyboard
(prevents "unmet peer dependency" during installation).
- Greatly reduce the number of oao dependencies by bumping
storyboard
to v3 (prerelease). - Add
--publish-tag <tag>
option tooao publish
: (publishes with a custom tag, instead oflatest
).
- Fix bad repo links in
package.json
.
- Bugfixes:
- Fix prerelease version updates.
- Move
babel-polyfill
todependencies
(#2). - Prevent normal
git push
output from being shown as errors.
- Add options to
oao publish
:--no-master
(allow publishing from non-master
branches).--no-confirm
(skip confirmation steps).
- Automatically detect updated packages, allow user selection of major/minor/patch/prerelease increment, commit, tag, push and publish.
- Allow custom package directories.
- Improve docs.
- First public release.