Changelog
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
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
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 (#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)
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)