@userfrosting/merge-package-dependencies
TypeScript icon, indicating that this package has built-in type declarations

3.0.2 • Public • Published

merge-package-dependencies

Branch Status
master Continuous Integration codecov

A simple tool that can merge the dependency and devDependency dependency types for npm/yarn package.jsons or bower bower.jsons into a single package.json or bower.json object (and optionally file). To properly support frontend scenarios, this tool also merges resolutions, and ignores unnecessary field recommendations for private npm/yarn packages. Perfect for projects like UserFrosting where plugins (Sprinkles) provide virtually all functionality.

NOTE: While non-semver values are supported, they will act as an override and emit a warning (even if logging is disabled). This override behavior only applies to 'incoming' values. This behavior does not match npm, yarn or bower.

NOTE: This is currently an offline tool, and as such conflicts further down the dependency chain are not evaluated. There is however a duplicate dependency detection tool for yarn to allow the creation of workarounds in the meantime (see docs/api

NOTE: Any dependencies with a path specified as the version will not be adjusted, even if an output location is specified.

Install

npm i -D  @userfrosting/merge-package-dependencies

Usage

IMPORTANT
This is an ES module package targeting NodeJS ^12.17.0 || >=14.0.0, refer to the NodeJS ESM docs regarding how to correctly import. ESM loaders like @babel/loader or esm likely won't work as expected.

To merge multiple package.json's into a single object, and save to a specified location...

import * as mergePackages from "@userfrosting/merge-package-dependencies";

let result = mergePackages.yarn(
    {
        name: "pkg",
        version: "1.7.2",
    },
    [
        "../app/sprinkles/core/",
        "../app/sprinkles/account/",
        "../app/sprinkles/admin/"
    ],
    "../app/assets/"
);

API

See docs/api.

License

MIT

Contributing

See CONTRIBUTING.md.

Package Sidebar

Install

npm i @userfrosting/merge-package-dependencies

Weekly Downloads

42

Version

3.0.2

License

MIT

Unpacked Size

93.7 kB

Total Files

82

Last publish

Collaborators

  • lcharette
  • alexweissman
  • siliconsoldier