From e10c41be6cd81de28f6510e382f7c86417c554e1 Mon Sep 17 00:00:00 2001 From: Noa Date: Mon, 21 Feb 2022 12:33:09 -0600 Subject: [PATCH] Deduplicate getComponentName, svgr has the same function --- packages/transformers/svg-react/package.json | 3 +-- .../svg-react/src/SvgReactTransformer.js | 20 ++++--------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/packages/transformers/svg-react/package.json b/packages/transformers/svg-react/package.json index fce63ce887b..26e2eb2583e 100644 --- a/packages/transformers/svg-react/package.json +++ b/packages/transformers/svg-react/package.json @@ -23,7 +23,6 @@ "@parcel/plugin": "2.3.2", "@svgr/core": "^6.2.0", "@svgr/plugin-jsx": "^6.2.0", - "@svgr/plugin-svgo": "^6.2.0", - "camelcase": "^6.3.0" + "@svgr/plugin-svgo": "^6.2.0" } } diff --git a/packages/transformers/svg-react/src/SvgReactTransformer.js b/packages/transformers/svg-react/src/SvgReactTransformer.js index f47fb53a554..04a2e80c7cf 100644 --- a/packages/transformers/svg-react/src/SvgReactTransformer.js +++ b/packages/transformers/svg-react/src/SvgReactTransformer.js @@ -2,39 +2,27 @@ import {Transformer} from '@parcel/plugin'; -import path from 'path'; -import camelcase from 'camelcase'; import svgoPlugin from '@svgr/plugin-svgo'; import jsxPlugin from '@svgr/plugin-jsx'; import {transform} from '@svgr/core'; -function getComponentName(filePath) { - let validCharacters = /[^a-zA-Z0-9_-]/g; - let name = path.parse(filePath).name.replace(validCharacters, ''); - return camelcase(name, { - pascalCase: true, - }); -} - export default (new Transformer({ async loadConfig({config}) { - let { contents } = await config.getConfig(['.svgrrc', '.svgrrc.json']); - return contents; + let result = await config.getConfig(['.svgrrc', '.svgrrc.json']); + return result?.contents ?? {}; }, - async transform({asset,config}) { + async transform({asset, config}) { let code = await asset.getCode(); - let componentName = getComponentName(asset.filePath); const jsx = await transform( code, - { ...config, runtimeConfig: false }, + {...config, runtimeConfig: false}, { caller: { name: '@parcel/transformer-svg-react', defaultPlugins: [svgoPlugin, jsxPlugin], }, - componentName, filePath: asset.filePath, }, );