With `whitespace:condense` all  s;, even meaningful, are converted to spaces
See original GitHub issueVersion
2.6.11
Reproduction link
https://gist.github.com/aimozg/c073eea5a55062e3dcd8f887a8567807
Steps to reproduce
Run example.js in Node.
Alternative steps/Detailed explanation:
- Setup Vue template compiler with
whitespace: 'condense'
. (it is default for vue-cli). - Render template with
entity, e.g.<p>a b</p>
- Inspect template for actual non-breaking space character
What is expected?
entity rendered as non-breaking space character; example.js output should contain
---- whitespace: condense
// code
NBSP FOUND
What is actually happening?
entity is rendered as plain space, example.js output contains
---- whitespace: condense
// code
NBSP NOT FOUND
The whitespace is stripped by this compiler code:
if (!inPre && whitespaceOption === 'condense') {
// condense consecutive whitespaces into single space
text = text.replace(whitespaceRE, ' ')
}
and " "
s are replaced by "\xA0"
s with entity decoder earlier.
Related issues is https://github.com/vuejs/vue/issues/10485
Suggestion:
Narrower whitespaceRE regexp, like /[ \t\r\n]+/g
.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:5
- Comments:5 (2 by maintainers)
Top Results From Across the Web
164700 - css word-spacing applies at at paint time but ...
Looking over this bug I'm wondering if this is 2 different bugs - one for the additional space the nbsps are getting when...
Read more >Spaces are gone in HTML after upgrading to vue-cli 3
Now I upgraded to cli3 and i noticed in the processed HTML it removes ALL whitespace. e.g. if my original html is this:...
Read more >Ability to ignore whitespace changes in the diffs (BB-11120)
I would like to see the option to ignore space changes in the diff viewer as well. It allows us to focus on...
Read more >Converting a Git repo from tabs to spaces / fuzzy notepad
As a side effect, the smudge command will be run, converting all your tabs to spaces. You will end up with a whole...
Read more >Whitespace and Comments — Idris 1.3.3 documentation
In some grammars whitespace and comments would not be considered significant and so we might be tempted not to generate any tokens for...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Shouldn’t we not touch non-breakable spaces in general? That’s what I would personally expect if I use one in my template. It would also fix the issue you mentioned
Wait, I’m confused. Is
condense
really the default? I’m seeing multiple things that claimpreserve
is actually the default.I’ve been struggling to figure out why none of my non-breakable spaces are working. I was going to try forcing preserve, but then saw:
Evan saying default is
preserve
https://github.com/vuejs/vue/issues/9208#issuecomment-450012518And compiler option docs that echo that statement https://github.com/vuejs/vue/tree/dev/packages/vue-template-compiler#options
Now after seeing @aimozg say
condense
is actually default, I went ahead and manually setpreserve
and sure enough! Everything’s back to normal!Are the docs/implementation wrong?
Either way, why would condense eliminate nbsp? Very unexpected behavior. I agree they shouldn’t be touched.