Modes

Modes let you switch between sets of option defaults with a single flag. Two modes are built in:

Mode Defaults
dev symlink: true
prod symlink: false, prune: true, terse: true

Use a mode from the CLI:

npx nudeps -m dev
npx nudeps --mode=prod

Or set it in your config file:

export default {
	mode: "dev",
};

Priority: CLI args override config file values, which override mode defaults, which override hard defaults. For example, npx nudeps -m prod --prune=false will use prod defaults but keep prune off.

Custom modes

You can define your own modes via the modes key in the config file. Custom modes are merged with the built-in ones (and can override them):

export default {
	modes: {
		staging: {
			symlink: false,
			prune: false,
		},
	},
};

You can now run npx nudeps -m staging to use these defaults.

Modes can extend other modes by including a mode key. The child mode inherits all parent defaults and can override individual values:

export default {
	modes: {
		staging: {
			// inherits prod's symlink: false, overrides prune
			mode: "prod",
			prune: false,
		},
	},
};

This also works for overriding built-in modes — use the same name to extend the built-in with your own defaults:

export default {
	modes: {
		prod: {
			mode: "prod", // extends built-in prod
			prune: false, // but disables pruning
		},
	},
};

If an unknown mode is specified, a warning is printed listing the available modes.