prettier 1.11.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin-prettier.js CHANGED
@@ -190,7 +190,7 @@ function printKeyValues(key, valueOrArray) {
190
190
  unwrapExports(build);
191
191
 
192
192
  var name = "prettier";
193
- var version$1 = "1.11.0";
193
+ var version$1 = "1.11.1";
194
194
  var description = "Prettier is an opinionated code formatter";
195
195
  var bin = {"prettier":"./bin/prettier.js"};
196
196
  var repository = "prettier/prettier";
@@ -200,7 +200,7 @@ var license = "MIT";
200
200
  var main = "./index.js";
201
201
  var engines = {"node":">=4"};
202
202
  var dependencies = {"@babel/code-frame":"7.0.0-beta.35","@glimmer/syntax":"0.30.3","babylon":"7.0.0-beta.34","camelcase":"4.1.0","chalk":"2.1.0","cjk-regex":"1.0.2","cosmiconfig":"3.1.0","dashify":"0.2.2","dedent":"0.7.0","diff":"3.2.0","editorconfig":"0.14.2","editorconfig-to-prettier":"0.0.6","emoji-regex":"6.5.1","escape-string-regexp":"1.0.5","esutils":"2.0.2","find-project-root":"1.1.1","flow-parser":"0.64.0","get-stream":"3.0.0","globby":"6.1.0","graphql":"0.12.3","gray-matter":"3.1.1","html-tag-names":"1.1.1","ignore":"3.3.7","jest-docblock":"22.2.2","json-stable-stringify":"1.0.1","leven":"2.1.0","mem":"1.1.0","minimatch":"3.0.4","minimist":"1.2.0","parse5":"3.0.3","postcss-less":"1.1.3","postcss-media-query-parser":"0.2.3","postcss-scss":"1.0.2","postcss-selector-parser":"2.2.3","postcss-values-parser":"1.3.2","read-pkg-up":"3.0.0","remark-frontmatter":"1.1.0","remark-parse":"5.0.0","resolve":"1.5.0","semver":"5.4.1","string-width":"2.1.1","typescript":"2.8.0-dev.20180222","typescript-eslint-parser":"14.0.0","unicode-regex":"1.0.1","unified":"6.1.6"};
203
- var devDependencies = {"babel-cli":"6.24.1","babel-preset-es2015":"6.24.1","codecov":"2.2.0","cross-env":"5.0.5","eslint":"4.1.1","eslint-config-prettier":"2.9.0","eslint-friendly-formatter":"3.0.0","eslint-plugin-import":"2.6.1","eslint-plugin-prettier":"2.4.0","eslint-plugin-react":"7.1.0","jest":"21.1.0","mkdirp":"0.5.1","prettier":"1.10.2","prettylint":"1.0.0","rimraf":"2.6.2","rollup":"0.47.6","rollup-plugin-commonjs":"8.2.6","rollup-plugin-json":"2.1.1","rollup-plugin-node-builtins":"2.0.0","rollup-plugin-node-globals":"1.1.0","rollup-plugin-node-resolve":"2.0.0","rollup-plugin-replace":"1.2.1","shelljs":"0.8.1","snapshot-diff":"0.2.2","strip-ansi":"4.0.0","sw-toolbox":"3.6.0","tempy":"0.2.1","uglify-es":"3.0.28","webpack":"2.6.1"};
203
+ var devDependencies = {"babel-cli":"6.24.1","babel-preset-es2015":"6.24.1","codecov":"2.2.0","cross-env":"5.0.5","eslint":"4.1.1","eslint-config-prettier":"2.9.0","eslint-friendly-formatter":"3.0.0","eslint-plugin-import":"2.6.1","eslint-plugin-prettier":"2.4.0","eslint-plugin-react":"7.1.0","jest":"21.1.0","mkdirp":"0.5.1","prettier":"1.11.0","prettylint":"1.0.0","rimraf":"2.6.2","rollup":"0.47.6","rollup-plugin-commonjs":"8.2.6","rollup-plugin-json":"2.1.1","rollup-plugin-node-builtins":"2.0.0","rollup-plugin-node-globals":"1.1.0","rollup-plugin-node-resolve":"2.0.0","rollup-plugin-replace":"1.2.1","shelljs":"0.8.1","snapshot-diff":"0.2.2","strip-ansi":"4.0.0","sw-toolbox":"3.6.0","tempy":"0.2.1","uglify-es":"3.0.28","webpack":"2.6.1"};
204
204
  var scripts = {"prepublishOnly":"echo \"Error: must publish from dist/\" && exit 1","prepare-release":"yarn && yarn build && yarn test:dist","test":"jest","test:dist":"node ./scripts/test-dist.js","test-integration":"jest tests_integration","lint":"cross-env EFF_NO_LINK_RULES=true eslint . --format node_modules/eslint-friendly-formatter","lint-docs":"prettylint {.,docs,website,website/blog}/*.md","build":"node ./scripts/build/build.js","build-docs":"node ./scripts/build/build-docs.js","check-deps":"node ./scripts/check-deps.js"};
205
205
  var _package = {
206
206
  name: name,
@@ -19429,7 +19429,7 @@ function loadPlugins(plugins) {
19429
19429
  }
19430
19430
 
19431
19431
  const pluginPath = resolve.sync(plugin, { basedir: process.cwd() });
19432
- return require(pluginPath);
19432
+ return Object.assign({ name: plugin }, require(pluginPath));
19433
19433
  });
19434
19434
 
19435
19435
  return deduplicate(internalPlugins.concat(externalPlugins));
@@ -19910,6 +19910,16 @@ function getSupportInfo$1(version, opts) {
19910
19910
  }
19911
19911
 
19912
19912
  return newOption;
19913
+ })
19914
+ .map(option => {
19915
+ const filteredPlugins = plugins.filter(
19916
+ plugin => plugin.defaultOptions && plugin.defaultOptions[option.name]
19917
+ );
19918
+ const pluginDefaults = filteredPlugins.reduce((reduced, plugin) => {
19919
+ reduced[plugin.name] = plugin.defaultOptions[option.name];
19920
+ return reduced;
19921
+ }, {});
19922
+ return Object.assign(option, { pluginDefaults });
19913
19923
  });
19914
19924
 
19915
19925
  const usePostCssParser = semver.lt(version, "1.7.1");
@@ -23184,25 +23194,23 @@ function parse$4(text, opts) {
23184
23194
 
23185
23195
  var parser$3 = { parse: parse$4, resolveParser: resolveParser$1 };
23186
23196
 
23187
- function getPrinter(options) {
23197
+ function getPlugin(options) {
23188
23198
  const astFormat = options.astFormat;
23189
23199
 
23190
23200
  if (!astFormat) {
23191
- throw new Error("getPrinter() requires astFormat to be set");
23201
+ throw new Error("getPlugin() requires astFormat to be set");
23192
23202
  }
23193
23203
  const printerPlugin = options.plugins.find(
23194
23204
  plugin => plugin.printers[astFormat]
23195
23205
  );
23196
23206
  if (!printerPlugin) {
23197
- throw new Error(
23198
- `Couldn't find printer plugin for AST format "${astFormat}"`
23199
- );
23207
+ throw new Error(`Couldn't find plugin for AST format "${astFormat}"`);
23200
23208
  }
23201
23209
 
23202
- return printerPlugin.printers[astFormat];
23210
+ return printerPlugin;
23203
23211
  }
23204
23212
 
23205
- var getPrinter_1 = getPrinter;
23213
+ var getPlugin_1 = getPlugin;
23206
23214
 
23207
23215
  const getSupportInfo$2 = support.getSupportInfo;
23208
23216
 
@@ -23229,7 +23237,8 @@ function normalize$2(options, opts) {
23229
23237
  const supportOptions = getSupportInfo$2(null, {
23230
23238
  plugins,
23231
23239
  pluginsLoaded: true,
23232
- showUnreleased: true
23240
+ showUnreleased: true,
23241
+ showDeprecated: true
23233
23242
  }).options;
23234
23243
  const defaults = supportOptions.reduce(
23235
23244
  (reduced, optionInfo) =>
@@ -23252,15 +23261,41 @@ function normalize$2(options, opts) {
23252
23261
  }
23253
23262
  }
23254
23263
 
23255
- const parser = resolveParser(rawOptions);
23264
+ const parser = resolveParser(
23265
+ !rawOptions.parser
23266
+ ? rawOptions
23267
+ : // handle deprecated parsers
23268
+ optionsNormalizer.normalizeApiOptions(
23269
+ rawOptions,
23270
+ [supportOptions.find(x => x.name === "parser")],
23271
+ { passThrough: true, logger: false }
23272
+ )
23273
+ );
23256
23274
  rawOptions.astFormat = parser.astFormat;
23257
23275
  rawOptions.locEnd = parser.locEnd;
23258
23276
  rawOptions.locStart = parser.locStart;
23259
- rawOptions.printer = getPrinter_1(rawOptions);
23260
23277
 
23261
- Object.keys(defaults).forEach(k => {
23278
+ const plugin = getPlugin_1(rawOptions);
23279
+ rawOptions.printer = plugin.printers[rawOptions.astFormat];
23280
+
23281
+ const pluginDefaults = supportOptions
23282
+ .filter(
23283
+ optionInfo =>
23284
+ optionInfo.pluginDefaults && optionInfo.pluginDefaults[plugin.name]
23285
+ )
23286
+ .reduce(
23287
+ (reduced, optionInfo) =>
23288
+ Object.assign(reduced, {
23289
+ [optionInfo.name]: optionInfo.pluginDefaults[plugin.name]
23290
+ }),
23291
+ {}
23292
+ );
23293
+
23294
+ const mixedDefaults = Object.assign({}, defaults, pluginDefaults);
23295
+
23296
+ Object.keys(mixedDefaults).forEach(k => {
23262
23297
  if (rawOptions[k] == null) {
23263
- rawOptions[k] = defaults[k];
23298
+ rawOptions[k] = mixedDefaults[k];
23264
23299
  }
23265
23300
  });
23266
23301
 
@@ -33452,241 +33487,6 @@ var dashify = function dashify(str) {
33452
33487
  return str.toLowerCase();
33453
33488
  };
33454
33489
 
33455
- var minimist = function (args, opts) {
33456
- if (!opts) opts = {};
33457
-
33458
- var flags = { bools : {}, strings : {}, unknownFn: null };
33459
-
33460
- if (typeof opts['unknown'] === 'function') {
33461
- flags.unknownFn = opts['unknown'];
33462
- }
33463
-
33464
- if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
33465
- flags.allBools = true;
33466
- } else {
33467
- [].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
33468
- flags.bools[key] = true;
33469
- });
33470
- }
33471
-
33472
- var aliases = {};
33473
- Object.keys(opts.alias || {}).forEach(function (key) {
33474
- aliases[key] = [].concat(opts.alias[key]);
33475
- aliases[key].forEach(function (x) {
33476
- aliases[x] = [key].concat(aliases[key].filter(function (y) {
33477
- return x !== y;
33478
- }));
33479
- });
33480
- });
33481
-
33482
- [].concat(opts.string).filter(Boolean).forEach(function (key) {
33483
- flags.strings[key] = true;
33484
- if (aliases[key]) {
33485
- flags.strings[aliases[key]] = true;
33486
- }
33487
- });
33488
-
33489
- var defaults = opts['default'] || {};
33490
-
33491
- var argv = { _ : [] };
33492
- Object.keys(flags.bools).forEach(function (key) {
33493
- setArg(key, defaults[key] === undefined ? false : defaults[key]);
33494
- });
33495
-
33496
- var notFlags = [];
33497
-
33498
- if (args.indexOf('--') !== -1) {
33499
- notFlags = args.slice(args.indexOf('--')+1);
33500
- args = args.slice(0, args.indexOf('--'));
33501
- }
33502
-
33503
- function argDefined(key, arg) {
33504
- return (flags.allBools && /^--[^=]+$/.test(arg)) ||
33505
- flags.strings[key] || flags.bools[key] || aliases[key];
33506
- }
33507
-
33508
- function setArg (key, val, arg) {
33509
- if (arg && flags.unknownFn && !argDefined(key, arg)) {
33510
- if (flags.unknownFn(arg) === false) return;
33511
- }
33512
-
33513
- var value = !flags.strings[key] && isNumber(val)
33514
- ? Number(val) : val;
33515
- setKey(argv, key.split('.'), value);
33516
-
33517
- (aliases[key] || []).forEach(function (x) {
33518
- setKey(argv, x.split('.'), value);
33519
- });
33520
- }
33521
-
33522
- function setKey (obj, keys, value) {
33523
- var o = obj;
33524
- keys.slice(0,-1).forEach(function (key) {
33525
- if (o[key] === undefined) o[key] = {};
33526
- o = o[key];
33527
- });
33528
-
33529
- var key = keys[keys.length - 1];
33530
- if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') {
33531
- o[key] = value;
33532
- }
33533
- else if (Array.isArray(o[key])) {
33534
- o[key].push(value);
33535
- }
33536
- else {
33537
- o[key] = [ o[key], value ];
33538
- }
33539
- }
33540
-
33541
- function aliasIsBoolean(key) {
33542
- return aliases[key].some(function (x) {
33543
- return flags.bools[x];
33544
- });
33545
- }
33546
-
33547
- for (var i = 0; i < args.length; i++) {
33548
- var arg = args[i];
33549
-
33550
- if (/^--.+=/.test(arg)) {
33551
- // Using [\s\S] instead of . because js doesn't support the
33552
- // 'dotall' regex modifier. See:
33553
- // http://stackoverflow.com/a/1068308/13216
33554
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
33555
- var key = m[1];
33556
- var value = m[2];
33557
- if (flags.bools[key]) {
33558
- value = value !== 'false';
33559
- }
33560
- setArg(key, value, arg);
33561
- }
33562
- else if (/^--no-.+/.test(arg)) {
33563
- var key = arg.match(/^--no-(.+)/)[1];
33564
- setArg(key, false, arg);
33565
- }
33566
- else if (/^--.+/.test(arg)) {
33567
- var key = arg.match(/^--(.+)/)[1];
33568
- var next = args[i + 1];
33569
- if (next !== undefined && !/^-/.test(next)
33570
- && !flags.bools[key]
33571
- && !flags.allBools
33572
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
33573
- setArg(key, next, arg);
33574
- i++;
33575
- }
33576
- else if (/^(true|false)$/.test(next)) {
33577
- setArg(key, next === 'true', arg);
33578
- i++;
33579
- }
33580
- else {
33581
- setArg(key, flags.strings[key] ? '' : true, arg);
33582
- }
33583
- }
33584
- else if (/^-[^-]+/.test(arg)) {
33585
- var letters = arg.slice(1,-1).split('');
33586
-
33587
- var broken = false;
33588
- for (var j = 0; j < letters.length; j++) {
33589
- var next = arg.slice(j+2);
33590
-
33591
- if (next === '-') {
33592
- setArg(letters[j], next, arg);
33593
- continue;
33594
- }
33595
-
33596
- if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
33597
- setArg(letters[j], next.split('=')[1], arg);
33598
- broken = true;
33599
- break;
33600
- }
33601
-
33602
- if (/[A-Za-z]/.test(letters[j])
33603
- && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
33604
- setArg(letters[j], next, arg);
33605
- broken = true;
33606
- break;
33607
- }
33608
-
33609
- if (letters[j+1] && letters[j+1].match(/\W/)) {
33610
- setArg(letters[j], arg.slice(j+2), arg);
33611
- broken = true;
33612
- break;
33613
- }
33614
- else {
33615
- setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
33616
- }
33617
- }
33618
-
33619
- var key = arg.slice(-1)[0];
33620
- if (!broken && key !== '-') {
33621
- if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
33622
- && !flags.bools[key]
33623
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
33624
- setArg(key, args[i+1], arg);
33625
- i++;
33626
- }
33627
- else if (args[i+1] && /true|false/.test(args[i+1])) {
33628
- setArg(key, args[i+1] === 'true', arg);
33629
- i++;
33630
- }
33631
- else {
33632
- setArg(key, flags.strings[key] ? '' : true, arg);
33633
- }
33634
- }
33635
- }
33636
- else {
33637
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
33638
- argv._.push(
33639
- flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
33640
- );
33641
- }
33642
- if (opts.stopEarly) {
33643
- argv._.push.apply(argv._, args.slice(i + 1));
33644
- break;
33645
- }
33646
- }
33647
- }
33648
-
33649
- Object.keys(defaults).forEach(function (key) {
33650
- if (!hasKey(argv, key.split('.'))) {
33651
- setKey(argv, key.split('.'), defaults[key]);
33652
-
33653
- (aliases[key] || []).forEach(function (x) {
33654
- setKey(argv, x.split('.'), defaults[key]);
33655
- });
33656
- }
33657
- });
33658
-
33659
- if (opts['--']) {
33660
- argv['--'] = new Array();
33661
- notFlags.forEach(function(key) {
33662
- argv['--'].push(key);
33663
- });
33664
- }
33665
- else {
33666
- notFlags.forEach(function(key) {
33667
- argv._.push(key);
33668
- });
33669
- }
33670
-
33671
- return argv;
33672
- };
33673
-
33674
- function hasKey (obj, keys) {
33675
- var o = obj;
33676
- keys.slice(0,-1).forEach(function (key) {
33677
- o = (o[key] || {});
33678
- });
33679
-
33680
- var key = keys[keys.length - 1];
33681
- return key in o;
33682
- }
33683
-
33684
- function isNumber (x) {
33685
- if (typeof x === 'number') return true;
33686
- if (/^0x[0-9a-f]+$/i.test(x)) return true;
33687
- return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
33688
- }
33689
-
33690
33490
  var PENDING = 'pending';
33691
33491
  var SETTLED = 'settled';
33692
33492
  var FULFILLED = 'fulfilled';
@@ -37413,6 +37213,273 @@ var supportsColor_1 = supportsColor$3;
37413
37213
 
37414
37214
  chalk$2.supportsColor = supportsColor_1;
37415
37215
 
37216
+ var minimist = function (args, opts) {
37217
+ if (!opts) opts = {};
37218
+
37219
+ var flags = { bools : {}, strings : {}, unknownFn: null };
37220
+
37221
+ if (typeof opts['unknown'] === 'function') {
37222
+ flags.unknownFn = opts['unknown'];
37223
+ }
37224
+
37225
+ if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
37226
+ flags.allBools = true;
37227
+ } else {
37228
+ [].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
37229
+ flags.bools[key] = true;
37230
+ });
37231
+ }
37232
+
37233
+ var aliases = {};
37234
+ Object.keys(opts.alias || {}).forEach(function (key) {
37235
+ aliases[key] = [].concat(opts.alias[key]);
37236
+ aliases[key].forEach(function (x) {
37237
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
37238
+ return x !== y;
37239
+ }));
37240
+ });
37241
+ });
37242
+
37243
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
37244
+ flags.strings[key] = true;
37245
+ if (aliases[key]) {
37246
+ flags.strings[aliases[key]] = true;
37247
+ }
37248
+ });
37249
+
37250
+ var defaults = opts['default'] || {};
37251
+
37252
+ var argv = { _ : [] };
37253
+ Object.keys(flags.bools).forEach(function (key) {
37254
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
37255
+ });
37256
+
37257
+ var notFlags = [];
37258
+
37259
+ if (args.indexOf('--') !== -1) {
37260
+ notFlags = args.slice(args.indexOf('--')+1);
37261
+ args = args.slice(0, args.indexOf('--'));
37262
+ }
37263
+
37264
+ function argDefined(key, arg) {
37265
+ return (flags.allBools && /^--[^=]+$/.test(arg)) ||
37266
+ flags.strings[key] || flags.bools[key] || aliases[key];
37267
+ }
37268
+
37269
+ function setArg (key, val, arg) {
37270
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
37271
+ if (flags.unknownFn(arg) === false) return;
37272
+ }
37273
+
37274
+ var value = !flags.strings[key] && isNumber(val)
37275
+ ? Number(val) : val;
37276
+ setKey(argv, key.split('.'), value);
37277
+
37278
+ (aliases[key] || []).forEach(function (x) {
37279
+ setKey(argv, x.split('.'), value);
37280
+ });
37281
+ }
37282
+
37283
+ function setKey (obj, keys, value) {
37284
+ var o = obj;
37285
+ keys.slice(0,-1).forEach(function (key) {
37286
+ if (o[key] === undefined) o[key] = {};
37287
+ o = o[key];
37288
+ });
37289
+
37290
+ var key = keys[keys.length - 1];
37291
+ if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') {
37292
+ o[key] = value;
37293
+ }
37294
+ else if (Array.isArray(o[key])) {
37295
+ o[key].push(value);
37296
+ }
37297
+ else {
37298
+ o[key] = [ o[key], value ];
37299
+ }
37300
+ }
37301
+
37302
+ function aliasIsBoolean(key) {
37303
+ return aliases[key].some(function (x) {
37304
+ return flags.bools[x];
37305
+ });
37306
+ }
37307
+
37308
+ for (var i = 0; i < args.length; i++) {
37309
+ var arg = args[i];
37310
+
37311
+ if (/^--.+=/.test(arg)) {
37312
+ // Using [\s\S] instead of . because js doesn't support the
37313
+ // 'dotall' regex modifier. See:
37314
+ // http://stackoverflow.com/a/1068308/13216
37315
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
37316
+ var key = m[1];
37317
+ var value = m[2];
37318
+ if (flags.bools[key]) {
37319
+ value = value !== 'false';
37320
+ }
37321
+ setArg(key, value, arg);
37322
+ }
37323
+ else if (/^--no-.+/.test(arg)) {
37324
+ var key = arg.match(/^--no-(.+)/)[1];
37325
+ setArg(key, false, arg);
37326
+ }
37327
+ else if (/^--.+/.test(arg)) {
37328
+ var key = arg.match(/^--(.+)/)[1];
37329
+ var next = args[i + 1];
37330
+ if (next !== undefined && !/^-/.test(next)
37331
+ && !flags.bools[key]
37332
+ && !flags.allBools
37333
+ && (aliases[key] ? !aliasIsBoolean(key) : true)) {
37334
+ setArg(key, next, arg);
37335
+ i++;
37336
+ }
37337
+ else if (/^(true|false)$/.test(next)) {
37338
+ setArg(key, next === 'true', arg);
37339
+ i++;
37340
+ }
37341
+ else {
37342
+ setArg(key, flags.strings[key] ? '' : true, arg);
37343
+ }
37344
+ }
37345
+ else if (/^-[^-]+/.test(arg)) {
37346
+ var letters = arg.slice(1,-1).split('');
37347
+
37348
+ var broken = false;
37349
+ for (var j = 0; j < letters.length; j++) {
37350
+ var next = arg.slice(j+2);
37351
+
37352
+ if (next === '-') {
37353
+ setArg(letters[j], next, arg);
37354
+ continue;
37355
+ }
37356
+
37357
+ if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
37358
+ setArg(letters[j], next.split('=')[1], arg);
37359
+ broken = true;
37360
+ break;
37361
+ }
37362
+
37363
+ if (/[A-Za-z]/.test(letters[j])
37364
+ && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
37365
+ setArg(letters[j], next, arg);
37366
+ broken = true;
37367
+ break;
37368
+ }
37369
+
37370
+ if (letters[j+1] && letters[j+1].match(/\W/)) {
37371
+ setArg(letters[j], arg.slice(j+2), arg);
37372
+ broken = true;
37373
+ break;
37374
+ }
37375
+ else {
37376
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
37377
+ }
37378
+ }
37379
+
37380
+ var key = arg.slice(-1)[0];
37381
+ if (!broken && key !== '-') {
37382
+ if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
37383
+ && !flags.bools[key]
37384
+ && (aliases[key] ? !aliasIsBoolean(key) : true)) {
37385
+ setArg(key, args[i+1], arg);
37386
+ i++;
37387
+ }
37388
+ else if (args[i+1] && /true|false/.test(args[i+1])) {
37389
+ setArg(key, args[i+1] === 'true', arg);
37390
+ i++;
37391
+ }
37392
+ else {
37393
+ setArg(key, flags.strings[key] ? '' : true, arg);
37394
+ }
37395
+ }
37396
+ }
37397
+ else {
37398
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
37399
+ argv._.push(
37400
+ flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
37401
+ );
37402
+ }
37403
+ if (opts.stopEarly) {
37404
+ argv._.push.apply(argv._, args.slice(i + 1));
37405
+ break;
37406
+ }
37407
+ }
37408
+ }
37409
+
37410
+ Object.keys(defaults).forEach(function (key) {
37411
+ if (!hasKey(argv, key.split('.'))) {
37412
+ setKey(argv, key.split('.'), defaults[key]);
37413
+
37414
+ (aliases[key] || []).forEach(function (x) {
37415
+ setKey(argv, x.split('.'), defaults[key]);
37416
+ });
37417
+ }
37418
+ });
37419
+
37420
+ if (opts['--']) {
37421
+ argv['--'] = new Array();
37422
+ notFlags.forEach(function(key) {
37423
+ argv['--'].push(key);
37424
+ });
37425
+ }
37426
+ else {
37427
+ notFlags.forEach(function(key) {
37428
+ argv._.push(key);
37429
+ });
37430
+ }
37431
+
37432
+ return argv;
37433
+ };
37434
+
37435
+ function hasKey (obj, keys) {
37436
+ var o = obj;
37437
+ keys.slice(0,-1).forEach(function (key) {
37438
+ o = (o[key] || {});
37439
+ });
37440
+
37441
+ var key = keys[keys.length - 1];
37442
+ return key in o;
37443
+ }
37444
+
37445
+ function isNumber (x) {
37446
+ if (typeof x === 'number') return true;
37447
+ if (/^0x[0-9a-f]+$/i.test(x)) return true;
37448
+ return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
37449
+ }
37450
+
37451
+ const PLACEHOLDER = null;
37452
+
37453
+ /**
37454
+ * unspecified boolean flag without default value is parsed as `undefined` instead of `false`
37455
+ */
37456
+ var minimist_1 = function(args, options) {
37457
+ const boolean = options.boolean || [];
37458
+ const defaults = options.default || {};
37459
+
37460
+ const booleanWithoutDefault = boolean.filter(key => !(key in defaults));
37461
+ const newDefaults = Object.assign(
37462
+ {},
37463
+ defaults,
37464
+ booleanWithoutDefault.reduce(
37465
+ (reduced, key) => Object.assign(reduced, { [key]: PLACEHOLDER }),
37466
+ {}
37467
+ )
37468
+ );
37469
+
37470
+ const parsed = minimist(
37471
+ args,
37472
+ Object.assign({}, options, { default: newDefaults })
37473
+ );
37474
+
37475
+ return Object.keys(parsed).reduce((reduced, key) => {
37476
+ if (parsed[key] !== PLACEHOLDER) {
37477
+ reduced[key] = parsed[key];
37478
+ }
37479
+ return reduced;
37480
+ }, {});
37481
+ };
37482
+
37416
37483
  function cleanAST$1(ast, options) {
37417
37484
  return JSON.stringify(massageAST(ast, options), null, 2);
37418
37485
  }
@@ -38984,16 +39051,12 @@ function parseArgsToOptions(context, overrideDefaults) {
38984
39051
  );
38985
39052
  return getOptions(
38986
39053
  optionsNormalizer.normalizeCliOptions(
38987
- minimist(
39054
+ minimist_1(
38988
39055
  context.args,
38989
39056
  Object.assign({
38990
39057
  string: minimistOptions.string,
38991
39058
  boolean: minimistOptions.boolean,
38992
- default: Object.assign(
38993
- {},
38994
- cliifyOptions(context.apiDefaultOptions, apiDetailedOptionMap),
38995
- cliifyOptions(overrideDefaults, apiDetailedOptionMap)
38996
- )
39059
+ default: cliifyOptions(overrideDefaults, apiDetailedOptionMap)
38997
39060
  })
38998
39061
  ),
38999
39062
  context.detailedOptions,
@@ -39066,7 +39129,7 @@ function createIgnorer(context) {
39066
39129
  }
39067
39130
 
39068
39131
  function eachFilename(context, patterns, callback) {
39069
- const ignoreNodeModules = context.argv["with-node-modules"] === false;
39132
+ const ignoreNodeModules = context.argv["with-node-modules"] !== true;
39070
39133
  if (ignoreNodeModules) {
39071
39134
  patterns = patterns.concat(["!**/node_modules/**", "!./node_modules/**"]);
39072
39135
  }
@@ -39374,7 +39437,16 @@ function createDetailedUsage(context, optionName) {
39374
39437
  ? `\n\nDefault: ${createDefaultValueDisplay(optionDefaultValue)}`
39375
39438
  : "";
39376
39439
 
39377
- return `${header}${description}${choices}${defaults}`;
39440
+ const pluginDefaults =
39441
+ option.pluginDefaults && Object.keys(option.pluginDefaults).length
39442
+ ? `\nPlugin defaults:${Object.keys(option.pluginDefaults).map(
39443
+ key =>
39444
+ `\n* ${key}: ${createDefaultValueDisplay(
39445
+ option.pluginDefaults[key]
39446
+ )}`
39447
+ )}`
39448
+ : "";
39449
+ return `${header}${description}${choices}${defaults}${pluginDefaults}`;
39378
39450
  }
39379
39451
 
39380
39452
  function getOptionDefaultValue(context, optionName) {
@@ -39504,6 +39576,7 @@ function createMinimistOptions(detailedOptions) {
39504
39576
  .map(option => option.name),
39505
39577
  default: detailedOptions
39506
39578
  .filter(option => !option.deprecated)
39579
+ .filter(option => !option.forwardToApi || option.name === "plugin")
39507
39580
  .filter(option => option.default !== undefined)
39508
39581
  .reduce(
39509
39582
  (current, option) =>
@@ -39627,7 +39700,7 @@ function updateContextArgv(context, plugins) {
39627
39700
  pushContextPlugins(context, plugins);
39628
39701
 
39629
39702
  const minimistOptions = createMinimistOptions(context.detailedOptions);
39630
- const argv = minimist(context.args, minimistOptions);
39703
+ const argv = minimist_1(context.args, minimistOptions);
39631
39704
 
39632
39705
  context.argv = argv;
39633
39706
  context.filePatterns = argv["_"];