browser.js
 1  // Main entrypoint for ESM web browser environments. Avoids using Node.js
 2  // specific libraries, such as "path".
 3  //
 4  // TODO: figure out reasonable web equivalents for "resolve", "normalize", etc.
 5  import { camelCase, decamelize, looksLikeNumber } from './build/lib/string-utils.js'
 6  import { YargsParser } from './build/lib/yargs-parser.js'
 7  const parser = new YargsParser({
 8    cwd: () => { return '' },
 9    format: (str, arg) => { return str.replace('%s', arg) },
10    normalize: (str) => { return str },
11    resolve: (str) => { return str },
12    require: () => {
13      throw Error('loading config from files not currently supported in browser')
14    },
15    env: () => {}
16  })
17  
18  const yargsParser = function Parser (args, opts) {
19    const result = parser.parse(args.slice(), opts)
20    return result.argv
21  }
22  yargsParser.detailed = function (args, opts) {
23    return parser.parse(args.slice(), opts)
24  }
25  yargsParser.camelCase = camelCase
26  yargsParser.decamelize = decamelize
27  yargsParser.looksLikeNumber = looksLikeNumber
28  
29  export default yargsParser