Documentation ¶
Overview ¶
Package nodejs provides analyzers for Node.js projects.
A Node.js project is defined as any folder with a `package.json`. A project may or may not have dependencies.
A `BuildTarget` for Node.js is defined as the relative path to the directory containing the `package.json`, and the `Dir` is defined as the CWD for running build tools (like `npm` or `yarn`).
`npm` and `yarn` are explicitly supported as first-class tools. Where possible, these tools are queried before falling back to other strategies.
All Node.js projects are implicitly supported via `node_modules` parsing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Analyzer ¶
type Analyzer struct { NodeVersion string NPM npm.NPM Yarn yarn.YarnTool Module module.Module Options Options DevDeps bool }
type Options ¶
type Options struct { Strategy string `mapstructure:"strategy"` AllowNPMErr bool `mapstructure:"allow-npm-err"` }
Options contains options for the `Analyzer`.
The analyzer can use many different strategies. These are:
- `yarn`: Run and parse `yarn ls --json`.
- `npm`: Run and parse `npm ls --json`.
- `yarn.lock`: Parse `./yarn.lock`.
- `package-lock.json`: Parse `./package-lock.json`.
- `node_modules`: Parse `./package.json` and recursively look up dependencies with `node_modules` resolution.
- `node_modules_local`: Parse manifests in `./node_modules“.
- `package.json`: Parse `./package.json`.
If no strategies are specified, the analyzer will try each of these strategies in descending order.