Skip to content

GUSCRAWFORD/fpm

Repository files navigation

FPM

⚠️ in early beta

Build Status Maintainability Test Coverage

The Fake / Faux / Fugazzi Package Manager

Manage interdependant packages that are under development.

echo "🔑  May require elevated privs"
yarn global add @guscrawford.com/fpm

fpm install

Install a package to your working directory's node_modules folder

$ fpm install path/to/my-core-package
📦  Installing @guscrawford.com/[email protected]
  📂 in /Users/me/jyve/mongo/node_modules/@guscrawford.com/jyve-core

fpm transform

Transform a package.json in a project, and copy it into a dist folder

fpm transform path/to/package --distFolder dist

The above example will output the package.json found at path/to/package to path/to/package/dist/package.json; the --distFolder option by default is dist.

Annotate your package.json as so:

{
    "scripts":{
        "build":"echo building..."
    },
    "@fpm:transform":{
        "scripts":"@fpm:remove"
    }
}

More Annotation Examples

Replace in string properties

{ .., "@fpm:transform": { "main": { "@fpm:replace": { "dist\/": "" } } } }


Add properties and data to data properties

{
..,
  "@fpm:transform": {
    "scripts": {
      "@fpm:add": {
          "do":"anything you want"
      }
    }
  }
}

NPM

About

The Fake / Faux / Fugazzi Package Manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published