Permalink
675c47a Jan 2, 2017
@bitwiseman @coderaiser
567 lines (454 sloc) 38.6 KB

Changelog

v1.6.8

Description

  • Fixed a batch of comment and semicolon-less code bugs

Closed Issues

  • Incorrect indentation after loop with comment (#1090)
  • Extra newline is inserted after beautifying code with anonymous function (#1085)
  • end brace with next comment line make bad indent (#1043)
  • Javascript comment in last line doesn't beautify well (#964)
  • indent doesn't work with comment (jsdoc) (#913)
  • Wrong indentation, when new line between chained methods (#892)
  • Comments in a non-semicolon style have extra indent (#815)
  • [bug] Incorrect indentation due to commented line(s) following a function call with a function argument. (#713)
  • Wrong indent formatting (#569)

v1.6.7

Description

Added content_unformatted option (Thanks @arai-a)

Closed Issues

  • HTML pre code indentation (#928)
  • Beautify script/style tags but ignore their inner JS/CSS content (#906)

v1.6.6

Description

  • Added support for editorconfig from stdin
  • Added js-beautify to cdnjs
  • Fixed CRLF to LF for HTML and CSS on windows
  • Added inheritance/overriding to config format (Thanks @DaniGuardiola and @HookyQR)
  • Added force-align to wrap-attributes (Thanks @Lukinos)
  • Added force-expand-multiline to wrap-attributes (Thanks @tobias-zucali)
  • Added preserve-inline as independent brace setting (Thanks @Coburn37)
  • Fixed handlebars with angle-braces (Thanks @mmsqe)

Closed Issues

  • Wrong indentation for comment after nested unbraced control constructs (#1079)
  • Should prefer breaking the line after operator ? instead of before operator < (#1073)
  • New option "force-expand-multiline" for "wrap_attributes" (#1070)
  • Breaks if html file starts with comment (#1068)
  • collapse-preserve-inline restricts users to collapse brace_style (#1057)
  • Parsing failure on numbers with "e" (#1054)
  • Issue with Browser Instructions (#1053)
  • Add preserve inline function for expand style braces (#1052)
  • Update years in LICENSE (#1038)
  • JS. Switch with template literals. Unexpected indentation. (#1030)
  • The object with spread object formatted not correctly (#1023)
  • Bad output generator function in class (#1013)
  • Support editorconfig for stdin (#1012)
  • Publish to cdnjs (#992)
  • breaks if handlebars comments contain handlebars tags (#930)
  • Using jsbeautifyrc is broken (#929)
  • Option to put HTML attributes on their own lines, aligned (#916)
  • Erroneously changes CRLF to LF on Windows in HTML and CSS (#899)
  • Weird space in {get } vs { normal } (#888)
  • Bad for-of formatting with constant Array (#875)
  • Problems with filter property in css and scss (#755)
  • Add "collapse-one-line" option for non-collapse brace styles (#487)

v1.6.4

Description

  • Fixed JSX multi-line root element handling
  • Fixed CSS Combinator spacing (NOTE: use space_around_combinator option)
  • Fixed (more) CSS pseudo-class and pseudo-element selectors (Thanks @Konamiman!)
  • Fixed Shorthand generator functions and yield* (Thanks @jgeurts!)
  • Added EditorConfig support (Thanks @ethanluoyc!)
  • Added indent_body_inner_html and indent_head_inner_html (Thanks @spontaliku-softaria!)
  • Added js-beautify to https://cdn.rawgit.com (Thanks @zxqfox)

Closed Issues

  • css-beautify sibling combinator space issue (#1001)
  • Bug: Breaks when the source code it found an unclosed multiline comment. (#996)
  • CSS: Preserve white space before pseudo-class and pseudo-element selectors (#985)
  • Spelling error in token definition (#984)
  • collapse-preserve-inline does not preserve simple, single line ("return") statements (#982)
  • Publish the library via cdn (#971)
  • Bug with css calc() function (#957)
  • &:first-of-type:not(:last-child) when prettified insert erroneous white character (#952)
  • Shorthand generator functions are formatting strangely (#941)
  • Add handlebars support on cli for html (#935)
  • Do not put a space within yield* generator functions. (#920)
  • Possible to add an indent_inner_inner_html option? (Prevent indenting second-level tags) (#917)
  • Messing up jsx formatting (#914)
  • Bug report: Closing 'body' tag isn't formatted correctly (#900)
  • { throw … } not working with collapse-preserve-inline (#898)
  • ES6 concise method not propely indented (#889)
  • CSS beautify changing symantics (#883)
  • Dojo unsupported script types. (#874)
  • Readme version comment (#868)
  • Extra space after pseudo-elements within :not() (#618)
  • space in media queries after colon &: selectors (#565)
  • Integrating editor config (#551)
  • Preserve short expressions/statements on single line (#338)

v1.6.3

Description

Bug fixes

Closed Issues

  • CLI broken when output path is not set (#933)
  • huge memory leak (#909)
  • don't print unpacking errors on stdout (python) (#884)
  • Fix incomplete list of non-positionable operators (python lib) (#878)
  • Fix Issue #844 (#873)
  • assignment exponentiation operator (#864)
  • Bug in Less mixins (#844)
  • Can't Nest Conditionals (#680)
  • ternary operations (#670)
  • Support newline before logical or ternary operator (#605)
  • Provide config files for format and linting (#336)

v1.6.2

Description

Closed Issues

  • Add missing 'collapse-preserve-inline' option to js module (#861)

v1.6.1

Description

Fixes for regressions found in 1.6.0

Closed Issues

  • Inconsistent formatting for arrays of objects (#860)
  • Publish v1.6.1 (#859)
  • Space added to "from++" due to ES6 keyword (#858)
  • Changelog generator doesn't sort versions above 9 right (#778)
  • space-after-anon-function not applied to object properties (#761)
  • Separating 'input' elements adds whitespace (#580)
  • Inline Format (#572)
  • Preserve attributes line break in HTML (#455)
  • Multiline Array (#406)

v1.6.0

Description

  • Inline/short object and json preservation (all rejoice!)
  • ES6 annotations, module import/export, arrow functions, concise methods, and more
  • JSX spread attributes
  • HTML wrap attributes, inline element fixes, doctype and php fixes
  • Test framework hardening
  • Windows build fixed and covered by appveyor continuous integration

Closed Issues

  • Individual tests pollute options object (#855)
  • Object attribute assigned fat arrow function with implicit return of a ternary causes next line to indent (#854)
  • Treat php tags as single in html (#850)
  • Read piped input by default (#849)
  • Replace makefile dependency with bash script (#848)
  • list of HTML inline elements incomplete; wraps inappropriately (#840)
  • Beautifying bracket-less if/elses (#838)
  • elements within a are getting indented incorrectly (#836)
  • single attribute breaks jsx beautification (#834)
  • Improve Python packaging (#831)
  • Erroneously changes CRLF to LF on Windows. (#829)
  • Can't deal with XHTML5 (#828)
  • HTML after PHP is indented (#826)
  • exponentiation operator (#825)
  • Add support for script type "application/ld+json" (#821)
  • package.json: Remove "preferGlobal" option (#820)
  • Don't use array.indexOf() to support legacy browsers (#816)
  • ES6 Object Shortand Indenting Weirdly Sometimes (#810)
  • Implicit Return Function on New Line not Preserved (#806)
  • Misformating "0b" Binary Strings (#803)
  • Beautifier breaks ES6 nested template strings (#797)
  • Misformating "0o" Octal Strings (#792)
  • Do not use hardcoded directory for tests (#788)
  • Handlebars {{else}} tag not given a newline (#784)
  • Wrong indentation for XML header (<?xml version="1.0"?>) (#783)
  • is_whitespace for loop incrementing wrong variable (#777)
  • Newline is inserted after comment with comma_first (#775)
  • Cannot copy more than 1000 characters out of CodeMirror buffer (#768)
  • Missing 'var' in beautify-html.js; breaks strict mode (#763)
  • Fix typo in the example javascript code of index.html (#753)

v1.5.10

Description

Hotfix for directives Version jump due to release script tweaks

Closed Issues

  • Preserve directive doesn't work as intended (#723)

v1.5.7

Description

  • Beautifier does not break PHP and Underscore.js templates
  • Fix for SCSS pseudo classes and intperpolation/mixins
  • Alternative Newline Characters in CSS and HTML
  • Preserve formatting or completely ignore section of javascript using comments

Closed Issues

  • Support for legacy JavaScript versions (e.g. WSH+JScript & Co) (#720)
  • Is \n hard coded into CSS Beautifier logic? (#715)
  • Spaces and linebreaks after # and around { } messing up interpolation/mixins (SASS/SCSS) (#689)
  • Calls to functions get completely messed up in Sass (*.scss) (#675)
  • No new line after selector in scss files (#666)
  • using html-beautify on handlebars template deletes unclosed tag if on second line (#623)
  • more Extra space after scss pseudo classes (#557)
  • Unnecessary spaces in PHP code (#490)
  • Some underscore.js template tags are broken (#417)
  • Selective ignore using comments (feature request) (#384)

v1.5.6

Description

  • JSX support!
  • Alternative Newline Characters
  • CSS and JS comment formatting fixes
  • General bug fixing

Closed Issues

  • Fix tokenizer's bracket pairs' open stack (#693)
  • Indentation is incorrect for HTML5 void tag (#692)
  • Line wrapping breaks at the wrong place when the line is indented. (#691)
  • Publish v1.5.6 (#687)
  • Replace existing file fails using python beautifier (#686)
  • Pseudo-classes formatted incorrectly and inconsistently with @page (#661)
  • doc: add end_with_newline option (#650)
  • Improve support for xml parts of jsx (React) => spaces, spread attributes and nested objects break the process (#646)
  • html-beautify formats handlebars comments but does not format html comments (#635)
  • Support for ES7 async (#630)
  • css beautify adding an extra newline after a comment line in a css block (#609)
  • No option to "Indent with tabs" for HTML files (#587)
  • Function body is indented when followed by a comment (#583)
  • JSX support (#425)
  • Alternative Newline Characters (#260)

v1.5.5

Description

  • Initial implementation of comma-first formatting - Diff-friendly literals!
  • CSS: Add newline between rules
  • LESS: improved function parameter formatting
  • HTML: options for wrapping attributes
  • General bug fixing

Closed Issues

  • Add GUI support for --indent-inner-html. (#633)
  • Publish v1.5.5 (#629)
  • CSS: Updating the documentation for the 'newline_between_rules' (#615)
  • Equal Sign Removed from Filter Properties Alpha Opacity Assignment (#599)
  • Keep trailing spaces on comments (#598)
  • only print the file names of changed files (#597)
  • CSS: support add newline between rules (#574)
  • elem[array]++ changes to elem[array] ++ inserting unnecessary gap (#570)
  • add support to less functions paramters braces (#568)
  • selector_separator_newline: true for Sass doesn't work (#563)
  • yield statements are being beautified to their own newlines since 1.5.2 (#560)
  • HTML beautifier inserts extra newline into <li>s ending with <code> (#524)
  • Add wrap_attributes option (#476)
  • Add or preserve empty line between CSS rules (#467)
  • Support comma first style of variable declaration (#245)

v1.5.4

Description

  • Fix for LESS/CSS pseudo/classes
  • Fix for HTML img tag spaces

https://github.com/beautify-web/js-beautify/compare/v1.5.3...v1.5.4

Closed Issues

  • TypeScript oddly formatted with 1.5.3 (#552)
  • HTML beautifier inserts double spaces between adjacent tags (#525)
  • Keep space in font rule (#491)
  • [Brackets plug in] Space after disappears (#454)
  • Support nested pseudo-classes and parent reference (LESS) (#427)
  • Alternate approach: preserve single spacing and treat img as inline element (#415)

v1.5.3

Description

  • High priority bug fixes
  • Major fixes to css-beautifier to not blow up LESS/SCSS
  • Lower priority bug fixes that were very ugly

https://github.com/beautify-web/js-beautify/compare/v1.5.2...v1.5.3

Closed Issues

  • TypeError: Cannot read property 'type' of undefined
  • Bug with RegExp (#547)
  • Odd behaviour on less (#520)
  • css beauitify (#506)
  • Extra space after scss pseudo classes. (#500)
  • Generates invalid scss when formatting ampersand selectors (#498)
  • bad formatting of .less files using @variable or &:hover syntax (#489)
  • Incorrect beautifying of CSS comment including an url. (#466)
  • Handle SASS parent reference &: (#414)
  • Js-beautify breaking selectors in less code. (#410)
  • Problem with "content" (#364)
  • Space gets inserted between function and paren for function in Define (#313)
  • beautify-html returns null on broken html (#301)
  • Indentation of functions inside conditionals not passing jslint (#298)

v1.5.2

Description

  • Improved indenting for statements, array, variable declaration, "Starless" block-comments
  • Support for bitwise-not, yield, get, set, let, const, generator functions
  • Reserved words can be used as object property names
  • Added options: space_after_anon_function, end-with-newline
  • Properly tokenize Numbers (including decimals and exponents)
  • Do not break "x++ + y"
  • function declaration inside array behaves the same as in expression
  • Close String literals at newline
  • Support handlebar syntax
  • Check <script> "type"-attribute
  • Allow <style> and <script> tags to be unformatted
  • Port css nesting fix to python
  • Fix python six dependency
  • Initial very cursory support for ES6 module, export, and import

https://github.com/beautify-web/js-beautify/compare/v1.5.1...v1.5.2

Closed Issues

  • Allow custom elements to be unformatted (#540)
  • Need option to ignore brace style (#538)
  • Refactor to Output and OutputLine classes (#536)
  • Recognize ObjectLiteral on open brace (#535)
  • Refactor to fully tokenize before formatting (#530)
  • Cleanup checked in six.py file (#527)
  • Changelog.md? (#526)
  • New line added between each css declaration (#523)
  • Kendo Template scripts get messed up! (#516)
  • SyntaxError: Unexpected token ++ (#514)
  • space appears before open square bracket when the object name is "set" (#508)
  • Unclosed string problem (#505)
  • "--n" and "++n" are not indented like "n--" and "n++" are... (#495)
  • Allow <style> and <script> tags to be unformatted (#494)
  • Preserve new line at end of file (#492)
  • Line wraps breaking numbers (causes syntax error) (#488)
  • jsBeautify acts differently when handling different kinds of function expressions[BUG]javascript
  • AttributeError: 'NoneType' object has no attribute 'groups' (#479)
  • installation doco for python need update -- pip install six? (#478)
  • Move einars/js-beautify to beautify-web/js-beautify (#475)
  • Bring back space_after_anon_function (#474)
  • fix for #453, Incompatible handlebar syntax (#468)
  • Python: missing explicit dependency on "six" package (#465)
  • function declaration inside array, adds extra line. (#464)
  • [es6] yield a array (#458)
  • Publish v1.5.2 (#452)
  • Port css colon character fix to python (#446)
  • Cannot declare object literal properties with unquoted reserved words (#440)
  • Do not put a space within function* generator functions. (#428)
  • beautification of "nth-child" css fails csslint (#418)

v1.5.1

Description

Highlights:

  • Fixes var declaration of objects and arrays to indent correctly (#256, #430)
  • Support keywords as IdentifierNames such as foo.catch() (#309, #351,#368, #378)
  • Improved indenting for statements (#289)
  • Improved ES6 support - let, const, template strings, and "fat arrow"
  • Support for non-ASCII characters in variable names (#305)
  • Multiple fixes to requirejs support and added tests to protect in future
  • Improved LESS support (still plenty of room for improvement in this area)
  • Do not add space after !!

https://github.com/einars/js-beautify/compare/v1.4.2...v1.5.1

Closed Issues

  • Nested if statements not displayed correctly (#450)
  • preserve_newlines always true (#449)
  • line wrapping breaks in weird places (#438)
  • Update dependencies to current versions (#437)
  • Add support for ES6 template strings (#434)
  • Fix #402: support ES6 fat arrow (#433)
  • Ending brace missaligned when part of first definition in var line (#430)
  • fixing disabled line wrapping for HTML (#429)
  • Missing semi colon (#420)
  • Fixed require.js support (#416)
  • should not split the es6 operator '=>' (#402)
  • fixed relative paths for require.js (#387)
  • Support reserved words as property names (#378)
  • Make the AMD API match the rest of the APIs (#376)
  • Preserve newlines in html related to issue #307 (#375)
  • Multi-line statements (#374)
  • Reserved words used as property/function/variable identifiers are formatted incorrectly (#368)
  • fixed problems with colon character (#363)
  • require.JS paths are hardcoded in beautify-html.js (#359)
  • Regression in p.a.c.ked file detection (#357)
  • Fix Issue #339 (#354)
  • Added single line comment support in less/sass for javascript parser (#353)
  • Function named 'in' not formatting correctly (#351)
  • CSS Pseudo element (#346)
  • array closing brace error for return statements with keep_array_indentation (#340)
  • CSS Beautifier: breaks :before and :after (regression) (#339)
  • Publish v1.5.0 (#335)
  • "keep array indentation" not working (#333)
  • CSS Beautifier: support LESS/SASS line comments (#326)
  • Incorrect formating with semicolon-less code (#323)

v1.4.2

Description

Release quick fix for python errno error that has started being more heavily reported Initial release of css beautifier ported to python Additional minor fixes and enhancements

Closed Issues

  • global name 'errno' is not defined (#352)
  • import errno for errno.EEXIST (#349)
  • Added bower.json (#343)
  • HTML wrap-line-length: 0 doesn't work (#342)
  • Make beautify.js, beautify-html.js, beautify-css.js available in bower (#341)
  • Making .jsbeautifyrc resolve work (in general and for Windows re home dir) (#334)
  • windows 8 error: path.js:204 throw new TypeError('Arguments to path.join must be strings'); (#300)
  • Port beautify-css to python (#204)

v1.4.1

Description

Incremental fixes and improvements

Closed Issues

  • Tests borked when running from web (#332)
  • wrap_line_length isn't enforced for property values (#331)
  • Have no empty line between comment and function (#329)
  • Add new line at the end of the file (html-beautify) (#325)
  • Space in empty parentheses (#322)
  • Handlebars (#321)
  • Space in empty parentheses (#320)
  • The indent_with_tabs option did not work when required in node, only CLI. (#319)
  • add option to indent "inner HTML"... (#312)
  • Wrong format of HTML textnode containing multipe words (#306)
  • Repair to work in windows (#304)
  • make export object the same with common and amd methods (#303)
  • jshint cleanup and make require.js optimizable (#302)
  • E4X xml-literal allowed xml-characters (#294)
  • Publish 1.4.1 (#292)
  • Blank line inserted between function and preceding comment (#291)
  • Add tests for beautify-html.js (#211)

v1.4.0

Description

Given the breadth of the changes in the code and api, bump to 1.4.0 for the next release.

https://github.com/einars/js-beautify/compare/v1.3.4...v1.4.0

Closed Issues

  • Fix major performance degradation from minimal indenting (#288)
  • Minimal indenting (#286)
  • Empty lines are removed in HTML and CSS, and also adds trailing spaces (#285)
  • npmjs cli options incomplete (#283)
  • Publish 1.4.0 (#282)
  • Blocks, arrays, and expressions over indented (#281)
  • Keeping New lines inside markup (#280)
  • E4X xml-literal small fixes (#279)
  • Add support for Asynchronous Module Definition (AMD) API (#274)
  • fixed broken run tests script (#255)
  • Ending parenthesis in function call (#239)
  • Preventing line breaks around Unformatted tags (#105)
  • IE conditional HTML comments don't play well with the rest of the document (#91)

v1.3.4

Description

1.3.3 introduced an change to function formatting. This fixes primarily that but also a few other tweaks.

Closed Issues

  • Broken indentation (#277)
  • Nested inline statements (if, while, do, for) should start new line (#276)
  • Bare expression followed immediately by function definition should not indent (#275)
  • bug fix for "js-beautify does not create directory automatically when use '-o' parameter" (#272)
  • js-beautify does not create directory automatically when use '-o' parameter (#270)
  • Problem with indentation inside function (#268)
  • added a deindent() function . (#267)

v1.3.3

Description

Another good set of fixes.

Closed Issues

  • Nested arrays indentation with --good-stuff (#273)
  • Keep Array Indentation doesn't always work (#263)
  • Whitespace issue with function call with object literal + other arguments. (#262)
  • Implement wider fix to Indenting within parenthesis frames (#259)
  • Block formatting within function call parameters. (#258)
  • make python accept -w or --wrap-line-lengthmake python accept -w or --wrap-line-length (#252)
  • Beautifying function call chains that end with a callback results in incorrect formatting (#241)
  • Keeping New lines (#96)

v1.3.2

Description

Seems like there are enough features on master to justify a patch revision. To wit:

  • Removal of expand-strict value for --brace-style option.
  • Added --space-in-paren option.
  • E4X
  • Functions as sub-array literals (#246)
  • Minor updates to p_a_c_k_e_r unpacking.

https://github.com/einars/js-beautify/compare/v1.3.1...master

Closed Issues

  • Why removed support for global object? (#249)
  • Incorrect indentation of functions in array (#246)
  • E4X for Python (#243)
  • Single line comments on "case:" lines forced to next line (#242)
  • Remove expand-strict (#240)
  • empty braces should always collapse to {} on the same line (#237)
  • braces "expand-strict", return { } should be on same line (#236)
  • Option for different formatting of spaces in parens (#235)
  • E4X (#234)
  • -h option in cli.js (#233)
  • Globally installed npm js-beautify will never catch .jsbeautifyrc in /home (#228)
  • html conditional tag treated as open tag "<!--[if IE 8]>" (#222)
  • Document package release process (#214)
  • Add basic tests for beautify command line (#209)
  • Index.html - "Preserve empty lines" does not describe the behavior (#199)
  • Bug: <![CDATA[ (#152)
  • New options proposal: spaces around arguments (#126)
  • Add option to put single-statement blocks into a new line (#116)
  • [Feature request] --disable-preserve-newlines to one line (#74)