diff --git a/workspaces/config/README.md b/workspaces/config/README.md index 32418381a4c76..aa399cf7016c0 100644 --- a/workspaces/config/README.md +++ b/workspaces/config/README.md @@ -55,19 +55,14 @@ The resulting hierarchy of configs: ```js const Config = require('@npmcli/config') -// the types of all the configs we know about -const types = require('./config/types.js') -// default values for all the configs we know about -const defaults = require('./config/defaults.js') -// if you want -c to be short for --call and so on, define it here -const shorthands = require('./config/shorthands.js') +const { shorthands, definitions, flatten } = require('@npmcli/config/lib/definitions') const conf = new Config({ // path to the npm module being run npmPath: resolve(__dirname, '..'), - types, + definitions, shorthands, - defaults, + flatten, // optional, defaults to process.argv argv: process.argv, // optional, defaults to process.env diff --git a/workspaces/config/lib/index.js b/workspaces/config/lib/index.js index b09ecc478f64f..49f4c0b52334d 100644 --- a/workspaces/config/lib/index.js +++ b/workspaces/config/lib/index.js @@ -52,6 +52,7 @@ const envReplace = require('./env-replace.js') const parseField = require('./parse-field.js') const typeDescription = require('./type-description.js') const setEnvs = require('./set-envs.js') +const { shorthands, definitions, flatten } = require('./definitions'); const { ErrInvalidAuth, @@ -82,6 +83,15 @@ class Config { return typeDefs } + static withDefaultOptions (opts = {}) { + return new Config({ + definitions, + flatten, + shorthands, + ...opts + }); + } + constructor ({ definitions, shorthands,