js-beautify 1.13.13 → 1.14.2

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.
@@ -999,10 +999,10 @@ module.exports.InputScanner = InputScanner;
999
999
 
1000
1000
 
1001
1001
 
1002
- var InputScanner = __webpack_require__(8).InputScanner;
1003
- var Token = __webpack_require__(3).Token;
1004
- var TokenStream = __webpack_require__(10).TokenStream;
1005
- var WhitespacePattern = __webpack_require__(11).WhitespacePattern;
1002
+ var InputScanner = (__webpack_require__(8).InputScanner);
1003
+ var Token = (__webpack_require__(3).Token);
1004
+ var TokenStream = (__webpack_require__(10).TokenStream);
1005
+ var WhitespacePattern = (__webpack_require__(11).WhitespacePattern);
1006
1006
 
1007
1007
  var TOKEN = {
1008
1008
  START: 'TK_START',
@@ -1229,7 +1229,7 @@ module.exports.TokenStream = TokenStream;
1229
1229
 
1230
1230
 
1231
1231
 
1232
- var Pattern = __webpack_require__(12).Pattern;
1232
+ var Pattern = (__webpack_require__(12).Pattern);
1233
1233
 
1234
1234
  function WhitespacePattern(input_scanner, parent) {
1235
1235
  Pattern.call(this, input_scanner, parent);
@@ -1508,7 +1508,7 @@ module.exports.Directives = Directives;
1508
1508
 
1509
1509
 
1510
1510
 
1511
- var Pattern = __webpack_require__(12).Pattern;
1511
+ var Pattern = (__webpack_require__(12).Pattern);
1512
1512
 
1513
1513
 
1514
1514
  var template_names = {
@@ -1728,8 +1728,8 @@ module.exports.TemplatablePattern = TemplatablePattern;
1728
1728
 
1729
1729
 
1730
1730
 
1731
- var Beautifier = __webpack_require__(19).Beautifier,
1732
- Options = __webpack_require__(20).Options;
1731
+ var Beautifier = (__webpack_require__(19).Beautifier),
1732
+ Options = (__webpack_require__(20).Options);
1733
1733
 
1734
1734
  function style_html(html_source, options, js_beautify, css_beautify) {
1735
1735
  var beautifier = new Beautifier(html_source, options, js_beautify, css_beautify);
@@ -1776,10 +1776,10 @@ module.exports.defaultOptions = function() {
1776
1776
 
1777
1777
 
1778
1778
 
1779
- var Options = __webpack_require__(20).Options;
1780
- var Output = __webpack_require__(2).Output;
1781
- var Tokenizer = __webpack_require__(21).Tokenizer;
1782
- var TOKEN = __webpack_require__(21).TOKEN;
1779
+ var Options = (__webpack_require__(20).Options);
1780
+ var Output = (__webpack_require__(2).Output);
1781
+ var Tokenizer = (__webpack_require__(21).Tokenizer);
1782
+ var TOKEN = (__webpack_require__(21).TOKEN);
1783
1783
 
1784
1784
  var lineBreak = /\r\n|[\r\n]/;
1785
1785
  var allLineBreaks = /\r\n|[\r\n]/g;
@@ -2360,7 +2360,7 @@ var TagOpenParserToken = function(parent, raw_token) {
2360
2360
 
2361
2361
  // handle "{{#> myPartial}}
2362
2362
  if (raw_token.text === '{{#>' && this.tag_check === '>' && raw_token.next !== null) {
2363
- this.tag_check = raw_token.next.text;
2363
+ this.tag_check = raw_token.next.text.split(' ')[0];
2364
2364
  }
2365
2365
  }
2366
2366
  this.tag_check = this.tag_check.toLowerCase();
@@ -2647,7 +2647,7 @@ module.exports.Beautifier = Beautifier;
2647
2647
 
2648
2648
 
2649
2649
 
2650
- var BaseOptions = __webpack_require__(6).Options;
2650
+ var BaseOptions = (__webpack_require__(6).Options);
2651
2651
 
2652
2652
  function Options(options) {
2653
2653
  BaseOptions.call(this, options, 'html');
@@ -2744,11 +2744,11 @@ module.exports.Options = Options;
2744
2744
 
2745
2745
 
2746
2746
 
2747
- var BaseTokenizer = __webpack_require__(9).Tokenizer;
2748
- var BASETOKEN = __webpack_require__(9).TOKEN;
2749
- var Directives = __webpack_require__(13).Directives;
2750
- var TemplatablePattern = __webpack_require__(14).TemplatablePattern;
2751
- var Pattern = __webpack_require__(12).Pattern;
2747
+ var BaseTokenizer = (__webpack_require__(9).Tokenizer);
2748
+ var BASETOKEN = (__webpack_require__(9).TOKEN);
2749
+ var Directives = (__webpack_require__(13).Directives);
2750
+ var TemplatablePattern = (__webpack_require__(14).TemplatablePattern);
2751
+ var Pattern = (__webpack_require__(12).Pattern);
2752
2752
 
2753
2753
  var TOKEN = {
2754
2754
  TAG_OPEN: 'TK_TAG_OPEN',
@@ -125,8 +125,8 @@ var legacy_beautify_js;
125
125
 
126
126
 
127
127
 
128
- var Beautifier = __webpack_require__(1).Beautifier,
129
- Options = __webpack_require__(5).Options;
128
+ var Beautifier = (__webpack_require__(1).Beautifier),
129
+ Options = (__webpack_require__(5).Options);
130
130
 
131
131
  function js_beautify(js_source_text, options) {
132
132
  var beautifier = new Beautifier(js_source_text, options);
@@ -173,14 +173,14 @@ module.exports.defaultOptions = function() {
173
173
 
174
174
 
175
175
 
176
- var Output = __webpack_require__(2).Output;
177
- var Token = __webpack_require__(3).Token;
176
+ var Output = (__webpack_require__(2).Output);
177
+ var Token = (__webpack_require__(3).Token);
178
178
  var acorn = __webpack_require__(4);
179
- var Options = __webpack_require__(5).Options;
180
- var Tokenizer = __webpack_require__(7).Tokenizer;
181
- var line_starters = __webpack_require__(7).line_starters;
182
- var positionable_operators = __webpack_require__(7).positionable_operators;
183
- var TOKEN = __webpack_require__(7).TOKEN;
179
+ var Options = (__webpack_require__(5).Options);
180
+ var Tokenizer = (__webpack_require__(7).Tokenizer);
181
+ var line_starters = (__webpack_require__(7).line_starters);
182
+ var positionable_operators = (__webpack_require__(7).positionable_operators);
183
+ var TOKEN = (__webpack_require__(7).TOKEN);
184
184
 
185
185
 
186
186
  function in_array(what, arr) {
@@ -336,6 +336,7 @@ Beautifier.prototype.create_flags = function(flags_base, mode) {
336
336
  in_case_statement: false, // switch(..){ INSIDE HERE }
337
337
  in_case: false, // we're on the exact line with "case 0:"
338
338
  case_body: false, // the indented case-action block
339
+ case_block: false, // the indented case-action block is wrapped with {}
339
340
  indentation_level: next_indent_level,
340
341
  alignment: 0,
341
342
  line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level,
@@ -1014,7 +1015,7 @@ Beautifier.prototype.handle_word = function(current_token) {
1014
1015
 
1015
1016
  if (this._flags.in_case_statement && reserved_array(current_token, ['case', 'default'])) {
1016
1017
  this.print_newline();
1017
- if (this._flags.last_token.type !== TOKEN.END_BLOCK && (this._flags.case_body || this._options.jslint_happy)) {
1018
+ if (!this._flags.case_block && (this._flags.case_body || this._options.jslint_happy)) {
1018
1019
  // switch cases following one another
1019
1020
  this.deindent();
1020
1021
  }
@@ -1328,7 +1329,9 @@ Beautifier.prototype.handle_operator = function(current_token) {
1328
1329
  if (this._tokens.peek().type !== TOKEN.START_BLOCK) {
1329
1330
  this.indent();
1330
1331
  this.print_newline();
1332
+ this._flags.case_block = false;
1331
1333
  } else {
1334
+ this._flags.case_block = true;
1332
1335
  this._output.space_before_token = true;
1333
1336
  }
1334
1337
  return;
@@ -1426,7 +1429,7 @@ Beautifier.prototype.handle_operator = function(current_token) {
1426
1429
 
1427
1430
  // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1
1428
1431
  // if there is a newline between -- or ++ and anything else we should preserve it.
1429
- if (current_token.newlines && (current_token.text === '--' || current_token.text === '++')) {
1432
+ if (current_token.newlines && (current_token.text === '--' || current_token.text === '++' || current_token.text === '~')) {
1430
1433
  this.print_newline(false, true);
1431
1434
  }
1432
1435
 
@@ -2186,7 +2189,7 @@ exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g');
2186
2189
 
2187
2190
 
2188
2191
 
2189
- var BaseOptions = __webpack_require__(6).Options;
2192
+ var BaseOptions = (__webpack_require__(6).Options);
2190
2193
 
2191
2194
  var validPositionValues = ['before-newline', 'after-newline', 'preserve-newline'];
2192
2195
 
@@ -2484,13 +2487,13 @@ module.exports.mergeOpts = _mergeOpts;
2484
2487
 
2485
2488
 
2486
2489
 
2487
- var InputScanner = __webpack_require__(8).InputScanner;
2488
- var BaseTokenizer = __webpack_require__(9).Tokenizer;
2489
- var BASETOKEN = __webpack_require__(9).TOKEN;
2490
- var Directives = __webpack_require__(13).Directives;
2490
+ var InputScanner = (__webpack_require__(8).InputScanner);
2491
+ var BaseTokenizer = (__webpack_require__(9).Tokenizer);
2492
+ var BASETOKEN = (__webpack_require__(9).TOKEN);
2493
+ var Directives = (__webpack_require__(13).Directives);
2491
2494
  var acorn = __webpack_require__(4);
2492
- var Pattern = __webpack_require__(12).Pattern;
2493
- var TemplatablePattern = __webpack_require__(14).TemplatablePattern;
2495
+ var Pattern = (__webpack_require__(12).Pattern);
2496
+ var TemplatablePattern = (__webpack_require__(14).TemplatablePattern);
2494
2497
 
2495
2498
 
2496
2499
  function in_array(what, arr) {
@@ -2522,7 +2525,7 @@ var TOKEN = {
2522
2525
 
2523
2526
  var directives_core = new Directives(/\/\*/, /\*\//);
2524
2527
 
2525
- var number_pattern = /0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/;
2528
+ var number_pattern = /0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/;
2526
2529
 
2527
2530
  var digit = /[0-9]/;
2528
2531
 
@@ -2582,7 +2585,7 @@ var Tokenizer = function(input_string, options) {
2582
2585
  html_comment_end: pattern_reader.matching(/-->/),
2583
2586
  include: pattern_reader.starting_with(/#include/).until_after(acorn.lineBreak),
2584
2587
  shebang: pattern_reader.starting_with(/#!/).until_after(acorn.lineBreak),
2585
- xml: pattern_reader.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\]|)(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/),
2588
+ xml: pattern_reader.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),
2586
2589
  single_quote: templatable.until(/['\\\n\r\u2028\u2029]/),
2587
2590
  double_quote: templatable.until(/["\\\n\r\u2028\u2029]/),
2588
2591
  template_text: templatable.until(/[`\\$]/),
@@ -3254,10 +3257,10 @@ module.exports.InputScanner = InputScanner;
3254
3257
 
3255
3258
 
3256
3259
 
3257
- var InputScanner = __webpack_require__(8).InputScanner;
3258
- var Token = __webpack_require__(3).Token;
3259
- var TokenStream = __webpack_require__(10).TokenStream;
3260
- var WhitespacePattern = __webpack_require__(11).WhitespacePattern;
3260
+ var InputScanner = (__webpack_require__(8).InputScanner);
3261
+ var Token = (__webpack_require__(3).Token);
3262
+ var TokenStream = (__webpack_require__(10).TokenStream);
3263
+ var WhitespacePattern = (__webpack_require__(11).WhitespacePattern);
3261
3264
 
3262
3265
  var TOKEN = {
3263
3266
  START: 'TK_START',
@@ -3484,7 +3487,7 @@ module.exports.TokenStream = TokenStream;
3484
3487
 
3485
3488
 
3486
3489
 
3487
- var Pattern = __webpack_require__(12).Pattern;
3490
+ var Pattern = (__webpack_require__(12).Pattern);
3488
3491
 
3489
3492
  function WhitespacePattern(input_scanner, parent) {
3490
3493
  Pattern.call(this, input_scanner, parent);
@@ -3763,7 +3766,7 @@ module.exports.Directives = Directives;
3763
3766
 
3764
3767
 
3765
3768
 
3766
- var Pattern = __webpack_require__(12).Pattern;
3769
+ var Pattern = (__webpack_require__(12).Pattern);
3767
3770
 
3768
3771
 
3769
3772
  var template_names = {
package/js/lib/cli.js CHANGED
@@ -40,7 +40,6 @@ var debug = process.env.DEBUG_JSBEAUTIFY || process.env.JSBEAUTIFY_DEBUG ? funct
40
40
  var fs = require('fs'),
41
41
  cc = require('config-chain'),
42
42
  beautify = require('../index'),
43
- mkdirp = require('mkdirp'),
44
43
  nopt = require('nopt'),
45
44
  glob = require('glob');
46
45
 
@@ -485,7 +484,7 @@ function writePretty(err, pretty, outfile, config) {
485
484
  }
486
485
 
487
486
  if (outfile) {
488
- mkdirp.sync(path.dirname(outfile));
487
+ fs.mkdirSync(path.dirname(outfile), { recursive: true });
489
488
 
490
489
  if (isFileDifferent(outfile, pretty)) {
491
490
  try {
package/js/src/cli.js CHANGED
@@ -40,7 +40,6 @@ var debug = process.env.DEBUG_JSBEAUTIFY || process.env.JSBEAUTIFY_DEBUG ? funct
40
40
  var fs = require('fs'),
41
41
  cc = require('config-chain'),
42
42
  beautify = require('../index'),
43
- mkdirp = require('mkdirp'),
44
43
  nopt = require('nopt'),
45
44
  glob = require('glob');
46
45
 
@@ -485,7 +484,7 @@ function writePretty(err, pretty, outfile, config) {
485
484
  }
486
485
 
487
486
  if (outfile) {
488
- mkdirp.sync(path.dirname(outfile));
487
+ fs.mkdirSync(path.dirname(outfile), { recursive: true });
489
488
 
490
489
  if (isFileDifferent(outfile, pretty)) {
491
490
  try {
@@ -433,7 +433,7 @@ Beautifier.prototype.beautify = function() {
433
433
  } else if (this._ch === ',') {
434
434
  this.print_string(this._ch);
435
435
  this.eatWhitespace(true);
436
- if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel === 0 && !insideAtImport) {
436
+ if (this._options.selector_separator_newline && !insidePropertyValue && parenLevel === 0 && !insideAtImport && !insideAtExtend) {
437
437
  this._output.add_new_line();
438
438
  } else {
439
439
  this._output.space_before_token = true;
@@ -612,7 +612,7 @@ var TagOpenParserToken = function(parent, raw_token) {
612
612
 
613
613
  // handle "{{#> myPartial}}
614
614
  if (raw_token.text === '{{#>' && this.tag_check === '>' && raw_token.next !== null) {
615
- this.tag_check = raw_token.next.text;
615
+ this.tag_check = raw_token.next.text.split(' ')[0];
616
616
  }
617
617
  }
618
618
  this.tag_check = this.tag_check.toLowerCase();
@@ -191,6 +191,7 @@ Beautifier.prototype.create_flags = function(flags_base, mode) {
191
191
  in_case_statement: false, // switch(..){ INSIDE HERE }
192
192
  in_case: false, // we're on the exact line with "case 0:"
193
193
  case_body: false, // the indented case-action block
194
+ case_block: false, // the indented case-action block is wrapped with {}
194
195
  indentation_level: next_indent_level,
195
196
  alignment: 0,
196
197
  line_indent_level: flags_base ? flags_base.line_indent_level : next_indent_level,
@@ -869,7 +870,7 @@ Beautifier.prototype.handle_word = function(current_token) {
869
870
 
870
871
  if (this._flags.in_case_statement && reserved_array(current_token, ['case', 'default'])) {
871
872
  this.print_newline();
872
- if (this._flags.last_token.type !== TOKEN.END_BLOCK && (this._flags.case_body || this._options.jslint_happy)) {
873
+ if (!this._flags.case_block && (this._flags.case_body || this._options.jslint_happy)) {
873
874
  // switch cases following one another
874
875
  this.deindent();
875
876
  }
@@ -1183,7 +1184,9 @@ Beautifier.prototype.handle_operator = function(current_token) {
1183
1184
  if (this._tokens.peek().type !== TOKEN.START_BLOCK) {
1184
1185
  this.indent();
1185
1186
  this.print_newline();
1187
+ this._flags.case_block = false;
1186
1188
  } else {
1189
+ this._flags.case_block = true;
1187
1190
  this._output.space_before_token = true;
1188
1191
  }
1189
1192
  return;
@@ -1281,7 +1284,7 @@ Beautifier.prototype.handle_operator = function(current_token) {
1281
1284
 
1282
1285
  // http://www.ecma-international.org/ecma-262/5.1/#sec-7.9.1
1283
1286
  // if there is a newline between -- or ++ and anything else we should preserve it.
1284
- if (current_token.newlines && (current_token.text === '--' || current_token.text === '++')) {
1287
+ if (current_token.newlines && (current_token.text === '--' || current_token.text === '++' || current_token.text === '~')) {
1285
1288
  this.print_newline(false, true);
1286
1289
  }
1287
1290
 
@@ -66,7 +66,7 @@ var TOKEN = {
66
66
 
67
67
  var directives_core = new Directives(/\/\*/, /\*\//);
68
68
 
69
- var number_pattern = /0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/;
69
+ var number_pattern = /0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/;
70
70
 
71
71
  var digit = /[0-9]/;
72
72
 
@@ -126,7 +126,7 @@ var Tokenizer = function(input_string, options) {
126
126
  html_comment_end: pattern_reader.matching(/-->/),
127
127
  include: pattern_reader.starting_with(/#include/).until_after(acorn.lineBreak),
128
128
  shebang: pattern_reader.starting_with(/#!/).until_after(acorn.lineBreak),
129
- xml: pattern_reader.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\]|)(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/),
129
+ xml: pattern_reader.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),
130
130
  single_quote: templatable.until(/['\\\n\r\u2028\u2029]/),
131
131
  double_quote: templatable.until(/["\\\n\r\u2028\u2029]/),
132
132
  template_text: templatable.until(/[`\\$]/),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-beautify",
3
- "version": "1.13.13",
3
+ "version": "1.14.2",
4
4
  "description": "beautifier.io for node",
5
5
  "main": "js/index.js",
6
6
  "bin": {
@@ -52,19 +52,20 @@
52
52
  "config-chain": "^1.1.12",
53
53
  "editorconfig": "^0.15.3",
54
54
  "glob": "^7.1.3",
55
- "mkdirp": "^1.0.4",
56
55
  "nopt": "^5.0.0"
57
56
  },
58
57
  "devDependencies": {
58
+ "ansi-regex": ">=6.0.1",
59
59
  "benchmark": "^2.1.4",
60
60
  "codemirror": "^5.56.0",
61
61
  "jquery": "^3.5.1",
62
62
  "jshint": "^2.12.0",
63
63
  "minimist": ">=1.2.5",
64
- "mocha": "^8.1.1",
64
+ "mocha": "^9.0.1",
65
65
  "mustache": "^4.0.1",
66
66
  "requirejs": "^2.3.6",
67
- "serve": "^11.3.2",
67
+ "serve": "^13.0.2",
68
+ "strip-ansi": ">=7.0.1",
68
69
  "webpack": "^5.32.0",
69
70
  "webpack-cli": "^4.6.0"
70
71
  }