Closed zachmullen closed 4 years ago
I'm with you in disliking writing HTML tags, but I still don't like using Pug in Vue components for a few reasons:
The pug did cause some issues regarding the new template syntax. I like the maximum compatibility of HTML in terms of dependency and ease of development when copy-pasting code snippets.
We're using pug in Metabolomics, mostly on the strength of @subdavis's convictions, and with proper editor support I don't mind it. But:
We're using HTML templates in Multinet and for some reason they just feel more solid to me there.
Thanks for the opinions everyone. I certainly will not stand in the way of removing pug from GWC. It shouldn't be a breaking change to do so.
I also have a strong preference for pug for the sake of readability.
To respond to Jon's points:
I'm not convinced that GWC using pug provides any meaningful burden downstream, but I could be convinced to ditch it for the sake of our own developer experience as contributors to this library.
Also, a compiled es6 module library could solve a much larger amount of the adoption pain.
The biggest thing to me is the readability / adoptability from the "general public" as @waxlamp put it. My fear would be that using pug makes us weird / nonstandard from what most of the community would expect. I originally chose it because the Vue.js docs cite it as an official first-class citizen, but after some amount of experience with the tooling ecosystem, there are pain points with tools besides Vue itself as you've all mentioned. I've been writing Vue apps lately in both template languages, and they aren't terribly different in writability. I've felt from the beginning that the original value proposition of pug is diminished in the Vue environment, from a full-featured template language down to just a syntactic shorthand for HTML, and I think a lot of the reason we use it here is simply because we had good experience with it in Backbone Girder, an environment where it made a lot more sense.
Also, a compiled es6 module library could solve a much larger amount of the adoption pain.
Is there a straightforward path to this? Sounds like a great option.
I'm also curious about that library option.
I'm backing away from Pug on other projects now.
Overall, I mostly care about Vetur support. I think we should probably begin thinking about converting components to html here. I'll change the name of this issue to indicate this consensus.
@subdavis @matthewma7
I am a major fan of pug over HTML, but if I'm the only reason we are using pug in this project, I'd be fine to change to using HTML, which would slightly lower the burden of adopting this library from source downstream. How do you guys like it?