Skip to content

Commit

Permalink
Fix a breakage when using the plugin with --source-map on Node 14+.
Browse files Browse the repository at this point in the history
A Node.js 14.x added strict type checking when writing files to disk,
preventing methods with their own `.toString()` method from being
written to disk and generating a `ERR_INVALID_ARG_TYPE` error in the
process. This affected using this plugin in combination with
`--source-map`.

The behavioral change was introduced in
nodejs/node#31030 and recently fixed in
nodejs/node#34993. That fix was not
comprehensive, and did not resolve the issue for the plugin.

To avoid this issue for all versions of Node, we no longer assume there
will be an implicit call to `SourceMapGenerator.toString()`. Instead,
it's now explicitly called when setting the data to write for the source
map, fixing source map generation.

This was tested on the latest releases of Node 12 through 15.
  • Loading branch information
chipx86 committed Jan 9, 2021
1 parent bffe924 commit 0e6fe24
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion lib/autoprefix-processor.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ module.exports = function(less) {
var processed = postcss([autoprefixer(options)]).process(css, processOptions);

if (sourceMap && !sourceMapInline) {
sourceMap.setExternalSourceMap(processed.map);
sourceMap.setExternalSourceMap(processed.map.toString());
}

return processed.css;
Expand Down

0 comments on commit 0e6fe24

Please sign in to comment.