Skip to content

Releases: northbrookjs/northbrook

Build Dependency Graphs

16 Jan 21:54
Compare
Choose a tag to compare

Northbrook will now traverse all of your packages dependencies, building a
graph of inter-dependencies between only packages being managed by Northbrook.
This is done to sort your packages in a more correct order that will allow tools
that do building or bundling of some kind (maybe others!) that deal with these
inter-dependencies directly or indirectly more reliable.

In the case of circular dependencies being detected an error will be thrown informing you to
add configuration to eliminate the errors you are having. The package identified in the
error message will from then on be excluded from northbrook link and continue to use
NPM installed packages (or however you chose to setup your projects) to avoid impossible Cycles.

An example:

pasted image at 2017_01_16 01_58 pm

As displayed a new property to a Northbrook configuration object has been added named circular that shouldn't have to be used too often.

Plugins will now have access to a Dependency Graph object with the following type signature

class DepGraph {
  dependenciesOf(packageName: string): Array<string>;
  configOf(packageName: string): Pkg;
  paths(): Array<string>;
  packages(): Array<Pkg>;
  packageNames(): Array<string>;
}

v3.0.0-northbrook

03 Sep 01:44
Compare
Choose a tag to compare

Removes northbrook init in favor of using a postinstall script to configure things.

v2.5.0

02 Sep 15:03
Compare
Choose a tag to compare

Add the ability to skip git commands that are normally run when using northbrook release --skip-git the only exception to this command is that git tags are always generated.

This release also exports all utility functions from the public API. This will become more and more useful as time goes on, as more utility functions will be targeted at plugins directly.

v2.4.0-northbrook

31 Aug 22:00
Compare
Choose a tag to compare

Northbrook now does a few new things.

The packages field is no longer mandatory, if none is defined it defaults to the directory with your northbrook.json

The output is nicer or most things. Colors have been added to distinguish different parts of prompts and output.

Also a scripts section has been added that mirrors that of npm run can be used as nb run <scriptName>

// northbrook.json
{
  "scripts": {
    "test": "mocha -r buba/register"
  }
}

Very powerful when used in conjunction with extends. Since you can simply reuse commands by using a base configuration

When you runnb release --check it will go through the motions and tell you what release it plans to do, and what it would prepend to your changelog when not run in check mode.

nb exec supports running commands that require interactive input (prompts). So you could do nb exec -- nb commit for instance. (No good reason to, but it's possible)

When running nb release right before executing npm publish it will now run npm login for you.
It's quite often that you will need to change users to release specfic packages, and very easy to forget you need to. If you don't need this feature you can use the --skip-login flag.