Skip to content

Commit b7a108e

Browse files
committed
fix(webpack): forward filePath in webpack loader
This will fix all SVGO issues. BREAKING CHANGE: runtime configuration is now loaded using webpack loader. Fixes #177. Fixes #188.
1 parent e52cdce commit b7a108e

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

packages/webpack/src/__snapshots__/index.test.js.snap

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
exports[`webpack loader should convert file (babel: false) 1`] = `
44
"import React from 'react';
55
6-
const SvgComponent = () => React.createElement(\\"svg\\", {
6+
const Icon = () => React.createElement(\\"svg\\", {
77
width: 88,
88
height: 88
99
}, React.createElement(\\"g\\", {
@@ -16,7 +16,7 @@ const SvgComponent = () => React.createElement(\\"svg\\", {
1616
d: \\"M51 37L37 51M51 51L37 37\\"
1717
})));
1818
19-
export default SvgComponent;"
19+
export default Icon;"
2020
`;
2121

2222
exports[`webpack loader should convert file 1`] = `
@@ -37,11 +37,11 @@ React.createElement(\\"svg\\", {
3737
d: \\"M51 37L37 51M51 51L37 37\\"
3838
})));
3939
40-
var SvgComponent = function SvgComponent() {
40+
var Icon = function Icon() {
4141
return _ref;
4242
};
4343
44-
export default SvgComponent;"
44+
export default Icon;"
4545
`;
4646

4747
exports[`webpack loader should support url-loader 1`] = `
@@ -62,10 +62,10 @@ React.createElement(\\"svg\\", {
6262
d: \\"M51 37L37 51M51 51L37 37\\"
6363
})));
6464
65-
var SvgComponent = function SvgComponent() {
65+
var Icon = function Icon() {
6666
return _ref;
6767
};
6868
6969
export default 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iODhweCIgaGVpZ2h0PSI4OHB4IiB2aWV3Qm94PSIwIDAgODggODgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ2LjIgKDQ0NDk2KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5EaXNtaXNzPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IkJsb2NrcyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI+CiAgICAgICAgPGcgaWQ9IkRpc21pc3MiIHN0cm9rZT0iIzA2Mzg1NSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBhdGggZD0iTTUxLDM3IEwzNyw1MSIgaWQ9IlNoYXBlIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01MSw1MSBMMzcsMzciIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==';
70-
export { SvgComponent as ReactComponent };"
70+
export { Icon as ReactComponent };"
7171
`;

packages/webpack/src/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ function svgrLoader(source) {
3939
})
4040

4141
const tranformSvg = svg =>
42-
convert(svg, options, { webpack: { previousExport } })
42+
convert(svg, options, {
43+
webpack: { previousExport },
44+
filePath: this.resourcePath,
45+
})
4346
.then(jsCode => (babel ? pBabelTransform(jsCode) : jsCode))
4447
.then(result => callback(null, result))
4548
.catch(err => callback(err))

0 commit comments

Comments
 (0)