Hi, I have built a package which is a separated PostCSS build plugin. I need some help and feedback…
I want to add PostCSS package and then I want to configure PostCSS plugins without changes in the main build plugin in meteor package. So my approach is to create local package with Npm.depends and json config file… and this is done already.
How to hook PostCSS to .css extension in Meteor build plugin? It will be cool if we could use for example Stylus as an separated build plugin and then PostCSS on generated css. For now I use .pcss extension
How to load custom PostCSS plugins without changing the main PostCSS build plugin file? Is there a way to customize our Meteor build plugins by adding new npm packages from outside the package without nasty hacks?
Can we do this simpler than in my package?
My thoughts:
I think that the Build Plugins API in Meteor should be better documented
The conclusion is, we should build this into the minifier. This is very high priority since a lot of people are worried that it is hard to use autoprefixer.
Here are some relevant issues on GitHub:
Unfortunately I won’t have time to work on this stuff this week. Let me try to answer your questions:
Answers to questions
It shouldn’t be hooked up as a CSS compiler, since then you can’t use it with LESS, SCSS, etc. The logical place right now is inside the minifier.
@sashko So if I understand it correctly I need to prepare a copy of standard minifiers and use the .css one? I think it should be divided into two packages - JS and CSS standard minifiers, don’t you think? Because I don’t need a copy of js minifier in my custom package and now I think I don’t have a choice because I need to remove ‘standard-minifiers’ package from the project if I want my own css minifier. Am I right?
I’d love to accept a PR splitting standard-minifiers into two packages, one for CSS and one for JS. Perhaps you can still add both as standard-minifiers, but there could be sub-packages like standard-minifier-js and standard-minifier-css
Eventually, I’d love for postcss to be built into the standard CSS minifier, once we can validate the approach with your package.
Hey, one problem with using the package instead standard-minifiers is that some of community packages has it in dependencies (I wonder why?). This is a blocker for many people when you want to replace it with something different like for example juliancwirko:postcss package. Even when you remove standard-minifiers meteor will install it again.
I think there should be info somewhere to not use such packages in other custom packages or standard-minifiers should have special logic which will check if there is other minifier active. I don’t know…