Skip to content

Releases: heikomat/minstall

3.3.0

28 Feb 15:16
Compare
Choose a tag to compare

New Features

  • new Flag --no-hoist <dependency>. Setting this makes minstall not hoist that
    dependency. <dependency> has the form name@versionRange, e.g.
    --no-hoist aurelia-cli@^0.30.1. If you omit the versionRange, no version of
    that dependency will be hoisted. The name can be a glob expression (see
    minimatch), e.g.
    --no-hoist aurelia-*. This is useful for dependencies that don't play nice
    when hoisted/linked. This flag can be added multiple times.

3.2.0

23 Feb 09:56
Compare
Choose a tag to compare

New Features

  • new Flag --assume-local-modules-satisfy-non-semver-dependency-versions (aka
    --trust-local-modules). Setting this makes minstall assume that a local
    module satisfies every requested version of that module that is not valid
    semver (like github-urls and tag-names)

Bugfixes

  • Fixes a bug where in rare cases minstall was wrongfully printing error-messages about installed packages not being found
  • Added a workaround to work around snyamathi/semver-intersect#7
  • If an error occurs during installation, then minstall will now actually fail with exit-code 1

3.1.0

07 Feb 13:04
Compare
Choose a tag to compare

New Features

  • new --link-only-flag (makes minstall fix all linked dependencies (including links to local modules))

Bugfixes

Minstall will now no longer try to hoist non-semver-dependencies, as minstall wouldn't be able to find them after the installation

Improvements

The error-message when a package.json couldn't be parsed now includes the location of said package.json

3.0.4

01 Feb 21:20
Compare
Choose a tag to compare

Bugfix

Minstall now no longer wrongully detects prerelease-versions as incompatible (Issue #31)

3.0.3

15 Jan 15:33
Compare
Choose a tag to compare

Improvements

Add support to use local modules within the parent-module itself (add
the local modules to the peerDependencies)

3.0.2

12 Jan 16:39
Compare
Choose a tag to compare

Improvements

Update Readme-example for 3.0.x

3.0.1

12 Jan 15:56
Compare
Choose a tag to compare

Improvements

fix a small typo in suboptimal-dependency-logs

3.0.0

12 Jan 15:53
Compare
Choose a tag to compare

New Features

  • new --cleanup-flag (makes minstall remove all node_modules-folders before installing dependencies)
  • new --dependency-check-only-flag (makes install print the dependency-check only, without touching any files or installing anything)
  • optimized detection of optimal dependency-installation-folder
  • npm5-support through optimized dependency installation and forced --cleanup-flag
  • parallel installation of conflicting dependencies

Improvements

minstall 3 is way faster than minstall 2 because of better detection of optimized
dependency installation, parallel installation of conflicting dependencies and
npm5 support.

Breaking changes

minstall now works completely different to version 2.0.0. Before you needed to
add minstall as postinstall to every level of local modules. Now only the
parent-project needs the minstall-postinstall.

before:

modules are found in parent-folders through node-module resolution

my-modular-app
├── modules
│   ├── database (@2.0.0) [requires abc@2.0.0 and tasks]
│   ├── tasks (@2.0.0) [requires abc@1.0.0, xyz, which in return requires database@1.0.0]
│   │   └── node_modules
│   │       └── abc@1.0.0
│   ├── test1(@2.0.0) [requires abc@1.0.0]
│   │   └── node_modules
│   │       └── abc@1.0.0
│   └── test2(@2.0.0) [requires abc@2.0.0]
├── node_modules
│   ├── abc@2.0.0
│   ├── minstall
│   ├── database ../modules/database
│   └── tasks -> ../modules/tasks
├── index.js
└── package.json [requires minstall, database@2.0.0 and tasks@2.0.0]

now:

the correct versions of the dependency are installed once and linked to the
destinations. in this example, abc@1.0.0 and abc@2.0.0 are only installed once,
while abc@1.0.0 would've been installed twice with minstall 2.0.2

my-modular-app
├── modules
│   ├── database (@2.0.0) [requires abc@2.0.0 and tasks]
│   │   └── node_modules
│   │       └── abc -> ../../../node_modules/abc
│   │       └── tasks -> ../../tasks
│   ├── tasks (@2.0.0) [requires abc@1.0.0, xyz, which in return requires database@1.0.0]
│   │   └── node_modules
│   │       ├── abc@1.0.0
│   │       ├── database@1.0.0
│   │       └── xyz
│   ├── test1 (@2.0.0) [requires abc@1.0.0]
│   │   └── node_modules
│   │       └── abc -> ../../tasks/node_modules/abc [<- NOT REINSTALLED, BUT LINKED!]
│   └── test2 (@2.0.0) [requires abc@2.0.0]
│       └── node_modules
│           └── abc -> ../../../node_modules/abc
├── node_modules
│   ├── abc@2.0.0
│   ├── minstall
│   ├── database ../modules/database
│   └── tasks -> ../modules/tasks
├── index.js
└── package.json [requires minstall, database@2.0.0 and tasks@2.0.0]

2.0.2

12 Dec 16:15
Compare
Choose a tag to compare

Bugfixes

  • Minstall now uses the folder name a local module should have according to the modules name
    to link it to node_modules, instead of its actual folder name (#26)

2.0.1

06 Sep 12:55
Compare
Choose a tag to compare

Improvements

  • As of npm 5, npm automatically --saves dependencies installed with npm install.
    because minstall shouldn't touch the local modules package.json files, this change adds
    the --no-save flag the internaly used npm install command