38 KiB
Changelog
v1.8.1
Description
Closed Issues
v1.8.0
Description
Massive set of fixes and improvements.
Thanks to contributors: @cheerypick, @swan46, @MacKLess, @Elrendio, @madman-bob, @amanda-bot, @Hirse, @aeschli, and many more.
Special thanks to @astronomersiva and @garretwilson for finding key bugs in the RC releases, and to @MacKLess for driving down the open bug count with tons of regression tests.
Highlights:
- CSS:
newline_between_rules
support for nested rules - CSS/SASS/SCSS/LESS (@MacKLess) - CSS: @import support in CSS (@MacKLess)
- HTML: inline element support (@madman-bob)
- HTML:
wrap_attributes
settingalign-multiple
(@cheerypick) - HTML: optional close tags do not over indent - li, tr, etc.
- HTML: Improved line wrapping in HTML - still not fully correct
- HTML: 10x performance improvement in HTML beautifier
- JS: ES6 BigInt support (@thejoshwolfe)
- JS: ES6 Dynamic import support
- CSS: :hover for @extend formatting (@MacKLess)
- HTML: Incorrect line wrapping issue (@andreyvolokitin)
- JS: Javascript ++ Operator Indentation (@Elrendio)
- JS: Better packer handling in Python (@swan46)
Closed Issues
- list items of nested lists get indented backwards (#1501)
- Make beautifier auto-convert options with dashes into underscores (#1497)
- ReferenceError: token is not defined (#1496)
- Publish v1.8.0 (#1495)
- still probem #1439 / #1337 (#1491)
- Duplicating HTML Code Nested In PHP (#1483)
- Handlebars -
if
tags are broken when using helper withtextarea
(#1482) - TypeError: Cannot read property '1' of null (#1481)
- Space in Self Closing Tag Issue (#1478)
- Weird Formatting in VSCode (#1475)
- Indent with tab issue on website (#1470)
- Contents of hbs tags are converted to lowercase (#1464)
- HTML tags are indented wrongly when attributes are present (#1462)
- hbs tags are stripped when there is a comment below or inline (#1461)
- Spaces added to handlebars with '=' (#1460)
- jsbeautifier.org don't works (#1445)
- Commenting code and then beautifying removes line breaks (#1440)
- Less: Where is my space? (#1411)
- No newline after @import (#1406)
- "html.format.wrapAttributes": "force-aligned" adds empty line on long attributes (#1403)
- HTML: wrap_line_length is handled incorrectly (#1401)
- js-beautify is breaking code by adding space after import (#1393)
- JS-Beautify should format XML tags inside HTML files (#1383)
- python unpacker can not handle if radix given as [] and not as a number (#1381)
- unindent_chained_methods breaks indentation for if statements without brackets (#1378)
- function parameters merged into single line when starting with ! or [ (#1374)
- CSS selector issue (header > div[class~="div-all"]) in SCSS file (#1373)
- Add "Create Issue for Unexpected Output" button to website (#1371)
- Add combobox to control type of beautification (#1370)
- Add Options textbox to website for debugging (#1369)
v1.7.5
Description
Closed Issues
- Strict mode: js_source_text is not defined [CSS] (#1286)
- Made brace_style option more inclusive (#1277)
- White space before"!important" tag missing in CSS beautify (#1273)
v1.7.4
Description
Thanks @cejast for contributing!
Closed Issues
- Whitespace after ES7
async
keyword for arrow functions (#896)
v1.7.3
Description
- Fixed broken installs
Lessons learned:
- Don't publish and go to bed.
- I thought I had sufficient test coverage and I did not. Tests will be implemented to protect against this before the next release (#1254).
- Also, this break highlights the need to create a beta channel for releases and a way to request feedback on beta releases (#1255).
- The project has been maintained by mostly one person over the past year or so, with some additions by other individuals. This break also highlights the need for this project to have a few more people who have the ability address issues/emergencies (#1256).
- Many projects do not not lock or even limit their version dependencies. Those that do often use
^x.x.x
instead of~x.x.x
. Consider switching to making major version updates under more circumstances to limit risk to dependent projects. (#1257)
Closed Issues
v1.7.0
Description
Closed Issues
- undindent-chained-methods option. Resolves #482 (#1240)
- Add test and tools folder to npmignore (#1239)
- incorrect new-line insertion after "yield" (#1206)
- Do not modify built-in objects (#1205)
- Fix label checking incorrect box when clicked (#1169)
- Webpack (#1149)
- daisy-chain indentation leads to over-indentation (#482)
v1.6.12
Description
Closed Issues
- CSS: Preserve Newlines (#537)
v1.6.11
Description
Reverted #1117 - Preserve newlines broken
Closed Issues
- On beautify, new line before next CSS selector (#1142)
v1.6.10
Description
Added preserver_newlines
to css beautifier
Closed Issues
v1.6.9
Description
- Fixed html formatting issue with attribute wrap (Thanks, @HookyQR!)
- Fixed python package publishing
Closed Issues
- Wrong HTML beautification starting with v1.6.5 (#1115)
- Ignore linebreak when meet handlebar (#1104)
- Lines are not un-indented correctly when attributes are wrapped (#1103)
- force-aligned is not aligned when indenting with tabs (#1102)
- Python package fails to publish (#1101)
- Explaination of 'operator_position' is absent from README.md (#1047)
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
towrap-attributes
(Thanks @Lukinos) - Added
force-expand-multiline
towrap-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](https://github.com/beautify-web/js-beautify/issues/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 () (#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] (#548)
- 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 (#485)
- 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)