prettier-emacs icon indicating copy to clipboard operation
prettier-emacs copied to clipboard

prettier-js-mode reformats file even when file is in .prettierignore

Open tamouse opened this issue 5 years ago • 3 comments

I have the following in my emacs init.el:

(use-package prettier-js 
  :ensure t
  :config
  (add-hook 'web-mode-hook
	    #'(lambda ()
		(enable-minor-mode
		 '("\\.jsx?\\'" . prettier-js-mode)
		 ))
	    )
  (add-hook 'rjsx-mode-hook 'prettier-js-mode)
  )

In a project, I have this for .prettierignore:

*.spec.js
*.test.js

When I visit a file, src/score_to_grade.spec.js, it shows Prettier in the mode line, but on save, it reformats the file.

I seems that it's ignoring the ignore settings?

Additionally, if I use // prettier-ignore-start ... // prettier-ignore-end these are also not respected and the code between them is formatted in emacs prettier-js-mode.

If I run prettier from my terminal, both of these work as expected.

Versions:

  • Emacs: GNU Emacs 26.2
  • prettier-js: 20180109.726
  • prettier: 1.19.1 (latest)

tamouse avatar Nov 29 '19 20:11 tamouse

Is there any known workaround for this issue, or any update?

rtm avatar Jan 16 '21 18:01 rtm

// prettier-ignore-{start,end} don't work for me in JS files at least even from the command line. I don't think this features is defined to work for JavaScript. // prettier-ignore does work, though. Therefore, I think there are two separate problems happening here.

rtm avatar Jan 24 '21 20:01 rtm

The problem with .prettierignore is that internally this mode copies the file into a temporary buffer and then applies prettier to that, so of course the filenames do not match. I'm not quite sure why it would be doing that. Wouldn't it be good enough to just execute prettier in place with the --write option?

rtm avatar Jan 24 '21 20:01 rtm