-
-
Notifications
You must be signed in to change notification settings - Fork 384
SourceMaps for imported SASS partials don't work #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@gkatsanos looks like bug, feel free to investigate this and send PR 👍 |
let's see if others will pop up here to make sure it's not config specific. it's not blocking us right now but at least what I wanted is from someone to validate my configuration isn't messed up. specifically I had these questions:
and lastly, has anyone investigated sourcemaps in general? the only way to get them working is with devtool 'source-map' . No other option really seems to work. (and source-map isn't advised) |
Just to second i've also got this issue, researching the problem now. Will update if I find anything. |
I have the same issue. The sourcemaps for the SCSS files are lost. |
Been trying to find a solution to this one for days, only main sass file is referenced. If I find some solution will let you know |
Somebody can create minimum reproducible test repo? |
Ok, I can try doing it today |
Ok, while recreating our repo to minimal reproducible case I got my sass to generate correct sourcemap pointing to imported sass files. So I assumed something is different. We had few warnings from node-sass as we were importing .css files directly from node_modules libraries, I temporarely removed that _plugins.scss file that handled those imports, and then I got my sourcemap to show correctly, after that I followed import method for css files mentioned here sass/node-sass#2362 (comment) which then build all without errors and I got my sourcemap correctly built. I still need to find better way ti import my css files, but that is another issue. |
Any update on this? Having the same issue, the sourcemap points to a single concatenated .SCSS file but we don't |
+1 |
PLEASE create minimum reproducible test repo |
@cloakedninjas invalid configuration, please use
|
Somebody other can create minimum reproducible test repo? |
I'm running into this same problem. I have a main If a style is coming from an imported scss file (prefixed by an underscores), it's mapped correctly back to its source file. If the style is actually in I then remembered that I was using postcss-loader and disabling that seemed to fix my problem. I'll play around with this a bit a more and try to determine what isn't playing well. |
@ezarowny PLEASE create minimum reproducible test repo |
I was planning on it. I really wanted to make sure it was postcss-loader though. I'll get you something in a bit. |
Well, I did make my test case and it's at https://github.com/ezarowny/loader-adventure. However, it's actually not causing the bug I'm seeing. I'm going to dig a bit into my vendors and see if any of them are causing any problems. |
Huh, importing bootstrap at the top of styles.scss causes the source map issues. I've almost exorcised bootstrap from our codebase, so this might not be an issue for me for much longer, but it's still interesting. |
@evilebottnawi do you want me to add bootstrap to the test case repo? Doing so will actually cause the sourcemap issue (if it's added to the top of styles.scss) but I feel doing so might be a bit out of scope for this project. |
It's strange because the file and line number reported by Chrome are correct but when I click on the file link in Chrome it goes to this massive concatenated SCSS file. Anything in an imported file is linking fine though. |
Same issue for me, working on a separate reproducible build since right now it's a bit hammered in an existing codebase. Here's a link to my current webpack.config.js The issue happens also if I am importing the scss files in a vue component (in that case the entrypoint vue component is the main source for all). |
I eventually found my issue in the original codebase I had the problem in... Similar to above, we were using Moral of the story, set |
@cloakedninjas i do have sourceMap: true for postcss-loader (same for resolve-url-loader and sass-loader and css-loader) |
Ok, this might be slightly silly, but I've noticed there's a resolve-url-loader version 3.0 that uses postcss. Switching to that makes it work-ish so in my case the issue was caused by resolve-url-loader not propagating the sourceMap correctly (although right now it seems that not all matches work perfectly). So i'm starting to think the problem isn't in the mini-css-extract-plugin itself, but in the whole flow of plugins over plugins over plugins :) |
+1 |
In my case I am using gulp-sass and have source maps from gulp.sourcemaps and also provided as option to gulp-sass but the similar bug I can see. However, as soon as I removed bootstrap from gulp-sass includedPaths the sourcemaps are fine. Seems a problem with node-sass ? |
@ankurarora yep, in |
Somebody please create minimum reproducible test repo? Each +1/Same issue/Any updates will be ignore and marked as abuse because it is clogs thread. |
Same issue here. I'm using this config and order:
And the plugin definition looks like this:
|
There is a problem with node-sass at the moment, and it breaks when handling sourcemaps and variables (mine broke when handling maps) Get yourself:
after that, include the individual files(one file per line in your batfile) if in development, and if in production, just include the single main.css that doesn't have any sourcemaps, cause those don't belong in production. Hope this helps someone. |
Please create minimum reproducible test repo, otherwise issue was closed to avoid spamming (many example above has invalid copnfiguration and/or use old version of loaders/plugins/webpack) |
@evilebottnawi here's the minimum viable reproducible: It's not your plugin, it's node-sass itself. |
@octoshrimpy Yep, as i said above Closing issue, feel free to feedback. |
@octoshrimpy thanks for looking into this. You can pass the {
loader: "sass-loader",
options: {
sourceMap: true,
sourceMapEmbed: true,
includePaths: [
path.resolve(__dirname, "scss")
]
}
} |
Using |
This worked for me :) {
loader: "postcss-loader",
options: {
plugins: [
require('autoprefixer')({
browsers: ['last 2 versions', 'ie > 8']
})
],
sourceMap: true //⚠️ ⚠️Be sure sourceMap is enabled ⚠️
}
}, |
assuming we have the following project:
the
app.vue
file:And the app.scss file is just a series of imports to partials:
mini-css-extract correctly creates an app.css file. I use
devtool: 'source-map',
to enable sourceMaps.When inspecting the HTML/CSS, I don't see the actual partial file, but only app.scss as the source of my code.
Configuration:
The above worked fine with extract-text-webpack-plugin
The text was updated successfully, but these errors were encountered: