diff --git a/packages/core/integration-tests/test/integration/svg-react-svgrrc/.svgrrc.json b/packages/core/integration-tests/test/integration/svg-react-svgrrc/.svgrrc.json new file mode 100644 index 00000000000..25b05272976 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-react-svgrrc/.svgrrc.json @@ -0,0 +1,4 @@ +{ + "icon": true, + "jsxRuntime": "classic-preact" +} diff --git a/packages/core/integration-tests/test/integration/svg-react-svgrrc/icon.svg b/packages/core/integration-tests/test/integration/svg-react-svgrrc/icon.svg new file mode 100644 index 00000000000..a0aeec0dc8f --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-react-svgrrc/icon.svg @@ -0,0 +1,14 @@ + + + + + + + diff --git a/packages/core/integration-tests/test/integration/svg-react-svgrrc/index.html b/packages/core/integration-tests/test/integration/svg-react-svgrrc/index.html new file mode 100644 index 00000000000..ceb8dab6b68 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-react-svgrrc/index.html @@ -0,0 +1 @@ + diff --git a/packages/core/integration-tests/test/integration/svg-react-svgrrc/package.json b/packages/core/integration-tests/test/integration/svg-react-svgrrc/package.json new file mode 100644 index 00000000000..7ca2d696c01 --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-react-svgrrc/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "preact": "*" + } +} diff --git a/packages/core/integration-tests/test/integration/svg-react-svgrrc/react.js b/packages/core/integration-tests/test/integration/svg-react-svgrrc/react.js new file mode 100644 index 00000000000..01a798d242c --- /dev/null +++ b/packages/core/integration-tests/test/integration/svg-react-svgrrc/react.js @@ -0,0 +1,4 @@ +const { h } = require('preact'); +const PreactIcon = require('./icon.svg'); + +module.exports = ; diff --git a/packages/core/integration-tests/test/svg-react.js b/packages/core/integration-tests/test/svg-react.js index 2a625577767..535a389c4d2 100644 --- a/packages/core/integration-tests/test/svg-react.js +++ b/packages/core/integration-tests/test/svg-react.js @@ -19,4 +19,22 @@ describe('svg-react', function () { assert(file.includes('const SvgIcon =')); assert(file.includes('_react.createElement("svg"')); }); + + it('should find and use a .svgrrc config file', async function () { + let b = await bundle( + path.join(__dirname, '/integration/svg-react-svgrrc/react.js'), + { + defaultConfig: path.join( + __dirname, + 'integration/custom-configs/.parcelrc-svg-react', + ), + }, + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf-8'); + assert(!file.includes('inkscape')); + assert(file.includes('const SvgIcon =')); + assert(file.includes('h("svg"')); + assert(file.includes('width: "1em"')); + }); });