43081j / postcss-lit

PostCSS syntax for extracting CSS from template literals inside JS/TS files
84 stars 6 forks source link

Verify Webpack Documentation #34

Open timbomckay opened 2 years ago

timbomckay commented 2 years ago

The documentation for Webpack didn't work for me

https://github.com/43081j/postcss-lit/blob/48c6f363faad026f151065fb61569f4db1fde688/README.md?plain=1#L33-L60

When I switched it around it started working as expected. Here's our order:

{
  test: /\.ts$/,
  use: [
    'babel-loader',
    'ts-loader',
    'postcss-loader',
  ],
  exclude: /node_modules/
}

We're on Webpack version 5 in a monorepo, though I don't think that matters much.

After further investigation, as your readme states "postcss will transform your CSS before typescript transpiles", Webpack loaders are executed in reverse order (see Webpack's documentation). So we'd want postcss-loader last in the array so it can be first. I still don't understand why Webpack works this way, I'm sure there's a lengthy thread somewhere but it's illogical to me.

43081j commented 2 years ago

how come you have a babel loader and a typescript loader? both transpile typescript.

and i do remember the whole 'reverse order' thing. ill try it myself at some point just to double check as im surprised it worked in the first place if thats the case (it did, i tested it many times). maybe i just got lucky 😂

timbomckay commented 2 years ago

Yeah the babel & typescript config was written by someone before me, been meaning to review it haha. Probably could've left that out but it's what we have at the moment.