@procore/core-scripts
Version:
A CLI to enhance your development experience
34 lines • 1.23 kB
JavaScript
;
const tslib_1 = require("tslib");
const path_1 = tslib_1.__importDefault(require("path"));
const camelcase_1 = tslib_1.__importDefault(require("camelcase"));
module.exports = {
process(_src, filename) {
const assetFilename = JSON.stringify(path_1.default.basename(filename));
// Based on how SVGR generates a component name:
// https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6
const pascalCaseFileName = (0, camelcase_1.default)(path_1.default.parse(filename).name, {
pascalCase: true,
});
const componentName = `Svg${pascalCaseFileName}`;
return `
const React = require('react');
module.exports = {
__esModule: true,
default: ${assetFilename},
ReactComponent: React.forwardRef(function ${componentName}(props, ref) {
return {
$$typeof: Symbol.for('react.element'),
type: 'svg',
ref: ref,
key: null,
props: Object.assign({}, props, {
children: ${assetFilename}
})
};
}),
};
`;
},
};
//# sourceMappingURL=reactSvg.js.map