All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
12.0.3 (2024-09-24)
- Bump packages (208af20)
12.0.2 (2024-09-08)
- Ensure to pick
fs2
bug fix (5a03df5)
12.0.1 (2024-09-08)
- Do not print "not coherent" logs on first external linking (47c7871)
- Ensure to link binaries on maintained install (93aed19)
- Exclude
mapBinaries
(fd7cbfd) - Imporove require path (a14b83f)
- Make
binaryHandler
accessible for maintained installation (e6abc3c) - Put
is-coherent
in context of binary handler (12de710) - Remove misleading comment (122c3b1)
- Separate binaries and deps check (257127e)
12.0.0 (2024-09-08)
- Node.js versions below v18 are no longer supported
- Drop support for Node.js versions below v18 (1442e75)
11.0.3 (2024-07-19)
- Fix handling of not found package names (15e76df)
- Improve clarity of warning log (78dc3c2)
11.0.2 (2024-07-19)
- Properly fix symlink creation in case of destination directory doesn't exist (24244ce)
11.0.1 (2024-07-19)
- Do not fail on symlink creation if
node_modules
doesn't exist (d90dadb)
11.0.0 (2024-05-30)
- Default branch name is
main
npm-cross-link
no longer interferes with npm globalnode_modules
folder. For any reuse it relies on user local cache directory.- No longer
npm link
is used internally. Any links are configured directly via symlinking
- Improve program error reporting (dc2f43e)
- Rely on local cache instead of npm global dependencies folder (d031c56)
- Switch default branch name from
master
tomain
(0321878) - Ensure to not run
prepare
scripts on install preparation (7344bad)
- Cache package logic is not dependency install specific (6d0d102)
- Convert to conceptually private context (2c08940)
- Exclude
isSemVerRange
utility (0e869a6) - Exclude package specs tokenization (c4704e8)
- Generalize
resolveLogLevel
(071a8ae) - Local context resolution no longer dependency install specific (259386a)
- Move
lib/private/cli
tolib/cli
(4baa7a9) - Move
resolvePackageBinariesDict
to main context (ad66884) - Replace
got
withnode-fetch
(a395d0f) - Upgrade
tar
to v7 (6c4e04e) - Use regex named groups (c49f398)
10.1.0 (2021-01-13)
- Adapt to new npm@7 linking behavior (4c6fb99)
Still npm v7 support remains incomplete, due to how it interfers with whole node_modules
state on single dependency linking
10.0.2 (2020-09-17)
- Ensure support for older versions of git (1e15549)
10.0.1 (2020-09-15)
10.0.0 (2020-09-15)
lib/setup-repository
was removed (moved to be internally private). External packages should no longer rely on that
- Allow to customize path of maintained package (77ec091), closes #14
- Support
branch
in repository configuration (58a6f23) - Support multi package repositories (25f2912)
- Make
setupRepository
private (3a590c8)
9.0.4 (2020-07-15)
- Fix dependencies symlink confirmation (86202be)
9.0.3 (2020-07-10)
- Ensure to check coherency for non semver dependencies (2d0cd55)
- Fix linking of dependency binaries on Windows (585deb0)
9.0.2 (2020-05-13)
- Ensure to install peerDependencies for maintained packages (48bc4f9)
9.0.1 (2020-05-13)
- Ensure to resolve package.json after package is cloned (781f318)
9.0.0 (2020-05-08)
- Log level for outdated versions of deep dependencies was lowered to info
- Log level for outdated versions of top level dependencies was lowered to notice
- Lower log level for outdated version range info (d9a32d0)
- Signal if maintained package is not at "latest" state (3a6d7a3)
8.0.1 (2020-02-19)
- Ensure to force
npm link
to avoid EEXIST errors (1113e59)
8.0.0 (2020-02-14)
- Drop support for Node.js v8
--save-dev
,--save-prod
and--save-optional
were removed. In place of them--dev
,--prod
and--optional
were introduced
- Install dev dependencies only for top package or on update all (723de72)
- Rename
--save-*
options to--*
(e6b8de3)
- Fix windows detection (8b30496)
7.11.0 (2019-11-20)
- Fix handling of broken process initialization (91a4099)
- Show non published version range info only when there's range (1cddabb)
- Workaround npm install quirk (ddc64c2)
7.10.1 (2019-07-12)
- Do not crash on externals with no binaries (5b15e7d)
7.10.0 (2019-07-10)
- Ensure prepared externals binaries are executable (5fab6a4)
- toBeCopiedDependencies user configuration option (df8a0b5)
7.9.1 (2019-07-02)
- Install locally dependencies that list peerDependencies (8a31907)
7.9.0 (2019-07-02)
- 'bumpDeps' option, false by default (5d3cc57)
7.8.0 (2019-07-02)
- Do not attempt pull or push on diverged state (481ba58)
- Do not crash on unclean repos in pull requests (2773e2f)
7.7.4 (2019-06-25)
- Ensure proper top name resolution in case of external installs (80c8465)
- Fix mapping binaries in case of string 'bin' entry (7138a14)
7.7.3 (2019-05-31)
7.7.2 (2019-05-16)
- Fix repo status detection (9a97f37)
7.7.1 (2019-04-09)
7.7.0 (2019-04-09)
- allow change of dependencies section (62f044d)
7.6.2 (2019-04-02)
- do not bump outside of local version (a5049dc)
- ensure to target latest published on latest (8bfb6c1)
7.6.1 (2019-04-02)
- do not bump version range to not published (d741e62)
7.6.0 (2019-03-26)
- do not pursue link on name mismatch (776dea4)
- ensure proper installation (5095b49)
- fix error handling for non published packages (ff9a5ca)
- ensure cleanup on name mismatch (61543a8)
7.5.1 (2019-03-25)
- ensure to retrieve fresh package.json (739f390)
7.5.0 (2019-03-22)
- validate wrong naming in package.json (37d669e)
7.4.0 (2019-03-22)
- publicize getPackageJson util (1519a06)
7.3.1 (2019-03-20)
- ensure proper generation of new deps section (b1091d1)
7.3.0 (2019-03-13)
- intelligent new version range resolution (de9c213)
- support automatic update for ~ version range (265a6b9)
7.2.0 (2019-03-06)
- unify log messages (961116a)
- support target in githubRepo notation (d0ab097)
7.1.0 (2019-03-06)
- recognize "latest" version range (e080cc2)
7.0.2 (2019-03-06)
- fix package.json whitespace detection (b4c9f4d)
7.0.1 (2019-03-05)
- bring back general install option (557abde)
7.0.0 (2019-03-05)
- do not crash for non existing remotes (a47a216)
- improve log message (8f26854)
- improve logging (936ee4e)
- support install of multiple dependencies (75ae8ef)
- support multiple global install (e1b1284)
- install-maintaned-package.js was removed in favor of install-packages-globally.js
- install-package-globally.js got replaced by install-packages-globally.js
- install-dependency.js was replaced with install-dependencies.js
6.2.0 (2019-03-01)
6.1.0 (2019-02-28)
6.0.0 (2019-02-28)
- do not proceed if
package.json
not found (4b6db15) - do not rewrite package.json on global install (b29fca5)
- error propagation (2faa83c)
- typo (8484bd1)
- basic cache mechanism (95cfc53)
- cache on spot installations (0e74531)
- cache only npm publications (9317d63)
- do not crash if package.json doesn't exist (f7aa5dc)
- ensure to resolve correct versions from maintained deps (733a3fe)
- handle git repo references efficiently (29c7894)
- handle non overridable externals properly (f234351)
- if non semver range, always install in place (1f6422e)
- improve CLI message (24a6028)
- improve error message (f2f6608)
- improve external setup (7b29664)
- improve jobs logging (1fe3566)
- improve log location (5ea150a)
- improve logging (3d986f0)
- improve logging (528aa54)
- improve package name validation (ef7cb78)
- install on spot for misversioned local (2f4a827)
- on npm-cross-link install pkgNam as dep (c720ec0)
- optimize further installation (9fad7d7)
- output log only when it makes sense (289830c)
- proper location for new package.json section (eea4e92)
- rely on etag caching (82193f9)
- speedup npm registry meta resolution (f37b4e7)
- support 'global' option (d2368ae)
- support global installs of externals (3be98f4)
- support saveMode option (44a57ff)
- support specifying version in install-dependency (f04aac2)
- update package.json dependencies sections (6d90b83)
- write updated version in case of updateDependency (3a67921)
- Changed behavior of: $ npm-cross-link It now installs mentioned package as a dependency and does not ensure it's installed gobally
- If local installation exposes no version, while there's published version that matches version range install on spot
- Non semver referenced local installs are now installed on spot instead of being linked
5.1.0 (2019-02-19)
- expose topPackageName on progressData (ab2c468)
- improve error logging (e6e1a21)
- improve log levels choice (7407bf4)
- improve log message (8b2d935)
- improve log message (f4c61da)
- improve log message (a62b877)
- log npm view output (806ea63)
- support npm registry authentication (cbc9560)
5.0.2 (2019-02-04)
- ensure to remove unexpected named dependencies (7e4ef7b)
- improve external consistency detection (b01dcac)
5.0.1 (2019-02-04)
- remove accidental concurrency (d062d9a)
5.0.0 (2019-01-31)
- fix resolution of latest supported published version (5123814)
- handling installation of externals at non semver versions (d9f0f14)
- handling of case where package has no dependencies (6539fa4)
- ensure to remove package-lock.json for maintained packages (dee49dd)
- package-lock.json is now automatically removed for link dependencies. As they serve as libraries, so package lock servse no purpose for them
4.0.0 (2019-01-21)
- install local deps in place if not at local version (9fd6b4a)
- So far local (developed) dependencies where linked no matter the referenced version in package.json. Since now npm versions are installed in place if referenced version doesn't match local one. This ensures we should always have packages working and allow more controlled upgrades of majors
3.1.4 (2018-11-15)
3.1.3 (2018-11-15)
3.1.2 (2018-11-15)
3.1.1 (2018-11-15)
- ensure to report installed package in ongoing (2e6c9f5)
- install of not maintained package (9c87e88)
- windows support (35d0f5e)
3.1.0 (2018-11-15)
- mention "link" job (dcd0258)
3.0.3 (2018-11-15)
- ensure to link before dependencies install (c651bb7)
3.0.2 (2018-11-15)
- fix NpmCrossLinkError constructor name (bd57352)
- fix progressData event so it reflects packageContext (29c1bf7)
3.0.1 (2018-11-14)
3.0.0 (2018-11-14)
- confirm on satisfiable version range in any case (886bf3b)
- do not apply hooks to not maintaned packages (aad10e7)
- do not expose pending jobs on pacakgeContext (18648cb)
- expose list of installation jobs per package (f2663c4)
- expose progressData on result instead of just events (ebcc284)
- Improve install in context of maintained (a2ea872)
- minimize after hooks registration (9095239)
- pass progressData with event, expose type on it (3c2f8c3)
- reconfigure into two binaries (3abed15)
- reconfigure pendingJobs as after hooks (cdd1a01)
- rename hooks into installationHooks (66a8f14)
- rename progressData.externalsMap to progressData.externals (45db94a)
- rename progressData.ongoingMap into progressData.ongoing (a795dfd)
- rename type into installationType (3e8ea0d)
- report eventual "update" as "processing" (5b491eb)
- reuse packageContext as packageProgressData (49a1839)
- send report from setupRepository (7a3fde4)
- turn progressData.done to map (9dc1847)
$ npm-cross-link install
now is represented by$ npm-cross-link
$ npm-cross-link update-all
now is represented by$ npm-cross-link-update-all
- Events are no longer exposed on result promise(instead they're accessible on promise.progressData)
- progressDataEvent.type was moved to progressDataEvent.progressData.type
- progressData.done is now a map not a set
- Pending jobs are now exposed on hooks.after result of ongoing item
- pacakgeContext.pendingJobs was removed
- progressData.externalsMap was renamed to progressData.externals
- progressData.ongoingMap was renamed to progressData.ongoing
- setupRepository instead of boolean now returns set that states which operations were pursued
2.0.0 (2018-11-12)
- optionally pull changes from remote (d7a297b)
- Changes from remote are now pulled optionally
1.1.1 (2018-11-09)
- dependency setup (6b7ed1d)
- do not follow in case of not confirmed dev package (c00f65b)
- do not install on spot non semver install (53c419f)
- ensure to clean progress on error exit (51c75ed)
- fix handling of optional dev packages (1a2255e)
- getPackageJson error handling (67b0c41)
- handling of optional dependencies (39d8eb3)
- isValidSymlink handling (9e7263e)
- npm link setup (0d775cf)
- npm modules path (4d49bf0)
- recognize
update
command in cli help (d2be780) - revert mistakenly commented out code (4130c88)
- cli: --no-pull arg resolution (e114c2e)
- symlink path check (95987c6)
- update meta after version upgrade (8dbe1e9)
- update of linked external dependency (c9f250c)
- cli progress (559719a)
- differentiate between install and update operation (0823b9f)
- drop singleton nature (83766d6)
- enable git push option (2e91ec7)
- ensure npm link error to be fully exposed (a449389)
- ensure npm link points package at path (5a82732)
- ensure to cleanup after npm crash (cec7167)
- ensure to link dependency if link is not rigth (51ffd5b)
- general install command (976b463)
- handle gently no packageJson case (8629a5d)
- host user specific configuration externally (9fee809)
- ignore npm error if link was created (8e9377b)
- improve error message (0e5a7ac)
- improve error reporting (18da647)
- improve log message (9bdcaf6)
- improve logging (50d9e6c)
- improve logging (92d83a2)
- improve npm error handling (ef30cdb)
- improve repo update logic (ab1fc26)
- improve warning message (d030445)
- inform of install type (c2bdf25)
- inform on whether repository was created (ef7cde3)
- introduce non dependency cleanup step (eab04e9)
- log error in case linked version mismatch version range (613919f)
- make options optional (15ae780)
- make setupRepository public (e27e653)
- mark end after pending jobs are finalized (79aba42)
- new approach for linking/installing externals (a82d3c2)
- new version (8471227)
- pass options to hook (c32a1fc)
- put logs at hidden level, expose emitter (0eca533)
- remove support for mirror 'update' command (8a917de)
- rename from dev-package to npm-cross-link (bf537ed)
- rename main module to installPackage (33fb754)
- rename skipGitUpdate to disableGitPull (4643f51)
- seclude getPackageJson (d80d71a)
- simplify CLI args (3724d59)
- simplify option names (4aff319)
- bin: commands support in binary (bcdabb6)
- cli: improve usage message (f28d614)
- simplify skipGitUpdate handling (81007d9)
- solidify npm modules path resolution (59cda84)
- support recovery from any npm link error (e162fa1)
- support skipNestedGitUpdate option (7434735)
- support update command (039d372)
- update-all command (26364b7)
- upgrade external when higher version is discovered (407b616)
- dependency setup (c722a3e)
- do not follow in case of not confirmed dev package (102de35)
- do not install on spot non semver install (3699ead)
- ensure to clean progress on error exit (20d006c)
- fix handling of optional dev packages (3e0674f)
- getPackageJson error handling (10ecb9a)
- handling of optional dependencies (9b2b093)
- isValidSymlink handling (770a939)
- npm link setup (8a3044a)
- npm modules path (ccd2c78)
- recognize
update
command in cli help (3239e84) - revert mistakenly commented out code (7458650)
- cli: --no-pull arg resolution (61cd13a)
- symlink path check (72b113a)
- update meta after version upgrade (0e5fd56)
- update of linked external dependency (fc0af8f)
- cli progress (bfe041c)
- differentiate between install and update operation (d70afc8)
- drop singleton nature (a138b2e)
- enable git push option (08a7d11)
- ensure npm link error to be fully exposed (52e5137)
- ensure npm link points package at path (f99b650)
- ensure to cleanup after npm crash (6a84450)
- ensure to link dependency if link is not rigth (796ce85)
- general install command (b8dcbc1)
- handle gently no packageJson case (07a9adc)
- host user specific configuration externally (439abb1)
- ignore npm error if link was created (c0dba47)
- improve error message (3ef6633)
- improve error reporting (05d6c6c)
- improve log message (eb5acf0)
- improve logging (2acf1c3)
- improve logging (3b053f8)
- improve npm error handling (41f14a7)
- improve repo update logic (fca33a9)
- improve warning message (d63030c)
- inform of install type (05a98ac)
- inform on whether repository was created (0602ab5)
- introduce non dependency cleanup step (51afdbc)
- log error in case linked version mismatch version range (df533f8)
- make options optional (324d9da)
- make setupRepository public (240dfea)
- mark end after pending jobs are finalized (f492985)
- new approach for linking/installing externals (8eeef09)
- new version (40056aa)
- pass options to hook (74503a4)
- put logs at hidden level, expose emitter (a2b2d33)
- remove support for mirror 'update' command (124ae32)
- rename main module to installPackage (77e3b5e)
- rename skipGitUpdate to disableGitPull (3aa6806)
- seclude getPackageJson (16e3126)
- simplify CLI args (520d979)
- simplify option names (03b056a)
- bin: commands support in binary (5117688)
- cli: improve usage message (2b7884d)
- simplify skipGitUpdate handling (0343807)
- solidify npm modules path resolution (9094fd5)
- support recovery from any npm link error (dd453d0)
- support skipNestedGitUpdate option (1fe3351)
- support update command (351a592)
- update-all command (39773c9)
- upgrade external when higher version is discovered (4fe8591)