1.1.1 • Published 4 years ago

engineslist v1.1.1

Weekly downloads
6
License
MIT
Repository
github
Last release
4 years ago

Engineslist 🐫

Engineslist will check engines you have defined in a file or package.json section that satisfies your global or locally (e.g. via NPM) installed program version.

preview

Why?

NPM has a concept like this but only on installing programs into your project. So for example someone is downloading/cloning your project and has unmet versions e.g. Node, he will likely get an error or the results are not the same as with another version you have used locally. Engineslist will prevent this case and furthermore let yourself keep track on which versions you want to develop your project on.

Where to go?

Have a look at the Roadmap to see what is coming next. I don't have much time to work on this continuosly, so I would love to see folks contributing to make this awesome.

How to use

Programmatically

import { Engineslist } from 'engineslist'

const engineslist = new Engineslist(
  {
    // or store them in a engineslist file
    node: '>=10.3.0',
  },
  {
    /* options */
  },
)

Psst! Have a look at our tests to see more examples.

Options

NameTypeDefaultDescription
debugbooleanfalseEnables more verbose output.
cwdstringprocess.cwd()Modify the string to search for engines.
ignoreLocalbooleantrueIgnore local installed node modules.
strictbooleanfalseEvery version must be a real version from the package releases, if available (e.g. npmjs.org).
silentbooleanfalseJust no interactive output.

Config

You must store a list of engines with a valid semver in your root project folder. Engineslist will search for a plain text files named engineslist or engines, a YAML formated file named engineslist.yaml or engines.yaml or a section inside your package.json file named engines.

  • engineslist
  • engines
  • engineslist.yaml
  • engines.yaml
  • package.json

Command Line

  Usage
    $ engineslist <directory>

  Options
    --ignoreLocal, -i  Ignore local installed node modules (true)
    --strict, -s       Version will be checked against package releases (false)

    --debug     Debug program
    --version   Show version
    --help      Show help

Roadmap

  • Add better tests
  • General usage better explained
  • Store config and engine in some kind of storage for global use
  • Usage with other managers than NPM
    • pip
    • gem
    • brew
  • Add "Do you want to install them now?"
  • Check against valid upstream version (valid NPM version?)