FredKSchott / rollup-plugin-polyfill-node

A modern Node.js polyfill for your Rollup bundle.
Other
178 stars 57 forks source link

fix: polyfill erroneously polyfills qs module #46

Closed larryosborn closed 2 years ago

larryosborn commented 2 years ago

The problem: The polyfill plugin is incorrectly polyfilling the npm module qs.

The subtlety is noticed when passing a second parameter to the stringify function. Node's querystring.stringify function has a different signature from the npm module's function with the same name.

Node's second argument is a separator string, whereas qs expects an object. so building urls ends up with [Object object] in the returned string.

The fix: Renaming polyfills/qs.js to polyfills/querystring.js seems to fix it. I'm not sure how much this affects the ecosystem at large, but qs has nearly 70M weekly downloads on npm.

Repro: The error is reproducible with this repository https://github.com/larryosborn/rollup-plugin-polyfill-node-bug

FredKSchott commented 2 years ago

LGTM, thank you!