Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using jsbeautifyrc is broken #929

Closed
Leandros opened this issue May 3, 2016 · 9 comments
Closed

Using jsbeautifyrc is broken #929

Leandros opened this issue May 3, 2016 · 9 comments
Milestone

Comments

@Leandros
Copy link

Leandros commented May 3, 2016

Reproduction Rate:
3/3 - 100%

Steps to Reproduce:

  • Create empty .jsbeautifyrc: echo "{}" > .jsbeautifyrc
  • Run this command: js-beautify -r --config .jsbeautifyrc

Result:

$ js-beautify -r --config .jsbeautifyrc.2
[SyntaxError: Unexpected token i]
Error while loading beautifier configuration file.
Run `js-beautify -h` for help.

Expected Result:
js-beautify should properly execute.

Additional Information:
You can repeat the step 1 with any valid jsbeautifyrc, even the samples in this repository fail.
I'm using version 1.6.2 fresh installed via NPM.

@bitwiseman
Copy link
Member

I don't see that syntax error.
That said, the command line you provided is not valid. The one that would work is:

js-beautify.js -r --config .jsbeautifyrc .jsbeautifyrc

Or if you want run it on the code in this repo:

./js/bin/js-beautify.js -r --config .jsbeautifyrc .jsbeautifyrc

I'm not sure where the error you're getting is coming from, but I would still say this is a bug: the beautifier should report that path to the configuration file it fails to load.

@bitwiseman bitwiseman added this to the v1.6.3 milestone May 3, 2016
@Leandros
Copy link
Author

Leandros commented May 3, 2016

It used to work.

My script ran the beautifier, by feeding the results of find into js-beautify like this:

find ./lib/ -type f -name "*.js" -exec js-beautify -r --config .jsbeautifyrc {} \;

And it worked absolutely perfectly, until I've had to get the new version today. I, unfortunately, can't tell you the old version.

@michaeljonathanblack
Copy link

michaeljonathanblack commented May 19, 2016

Experiencing the same bug. I am running js-beautifier within Atom successfully, however running it from the command line is no bueno.

$ js-beautify -r --config .jsbeautifyrc src/js/test.js

Is anyone aware of a good indent-fixing alternative? eslint's --fix for indent is also not working correctly. Had trouble with prettifier, too. Indent-fixing all my files is just not happening today.

@Leandros
Copy link
Author

You can use an old version of jsbeautifier. This is what I resorted to.

It's still a mystery to me, how someone can break the most simple use case.

@bitwiseman
Copy link
Member

@mherodev

Experiencing the same bug. I am running js-beautifier within Atom successfully, however running it from the command line is no bueno.

How is it "no bueno"?

@bitwiseman
Copy link
Member

@Leandros - Which older version did you resort to?

@Leandros
Copy link
Author

Leandros commented May 20, 2016

I was still on 1.6.2. Which is weird.
I, however, found out how and why it's broken. I had a malformed .jsbeautifyrc in another directory (a few directories up), which was picked up, even though I pointed to a completely different file.

I have two suggestions:

  1. Search from the current directory up for a file matching the specified filename, not the other way around.
  2. Improve the error messages. They're completely unusable in the newest version, they were, sort of good, back in 1.5.10. The pointed to the error and pointed out what the error was. Only missing was the actual file where the error occurred in (it's printed as undefined), that would make finding the error a lot easier.

@bitwiseman bitwiseman modified the milestones: v1.6.3, v1.6.4 Jun 3, 2016
@bitwiseman bitwiseman modified the milestones: v1.6.4, v1.6.5 Aug 28, 2016
bitwiseman added a commit that referenced this issue Dec 21, 2016
@bitwiseman
Copy link
Member

@Leandros - I've added error output.

I don't understand your first suggestion. Could you elaborate?

@bitwiseman
Copy link
Member

@Leandros - I'm goint to mark this a closed for now. Please respond when you have a chance.

0-wiz-0 pushed a commit to NetBSD/pkgsrc-wip that referenced this issue Apr 14, 2017
pkgsrc changes:
 - Use ALTERNATIVES in order to permit multi-pkgs to coexists and adjust
   PLIST and introduce Makefile post-install target accordingly

Changes:
* CSS: Preserve Newlines ([#537](beautifier/js-beautify#537))

Reverted #1117 - Preserve newlines broken

* On beautify, new line before next CSS selector ([#1142](beautifier/js-beautify#1142))

Added `preserver_newlines` to css beautifier

* Fixed html formatting issue with attribute wrap (Thanks, @HookyQR!)
* Fixed python package publishing

* Wrong HTML beautification starting with v1.6.5 ([#1115](beautifier/js-beautify#1115))
* Ignore linebreak when meet handlebar ([#1104](beautifier/js-beautify#1104))
* Lines are not un-indented correctly when attributes are wrapped ([#1103](beautifier/js-beautify#1103))
* force-aligned is not aligned when indenting with tabs ([#1102](beautifier/js-beautify#1102))
* Python package fails to publish  ([#1101](beautifier/js-beautify#1101))
* Explaination of 'operator_position' is absent from README.md ([#1047](beautifier/js-beautify#1047))

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

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

Added `content_unformatted` option (Thanks @arai-a)

* HTML pre code indentation ([#928](beautifier/js-beautify#928))
* Beautify script/style tags but ignore their inner JS/CSS content ([#906](beautifier/js-beautify#906))

* 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)

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

No branches or pull requests

3 participants