aboutsummaryrefslogtreecommitdiff
path: root/config/jest/fileTransform.js
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2019-02-06 23:36:34 -0500
committerDeterminant <ted.sybil@gmail.com>2019-02-06 23:36:34 -0500
commit13a2bd4f4aee6b4dec0ce799e9ba212693cbedf1 (patch)
treede455efa781bdb07101eaa3283971b057e8081a7 /config/jest/fileTransform.js
parent96b08d7651a7ecddc15bc77ce5c453fbe4e12b12 (diff)
eject from create-react-app
Diffstat (limited to 'config/jest/fileTransform.js')
-rw-r--r--config/jest/fileTransform.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/config/jest/fileTransform.js b/config/jest/fileTransform.js
new file mode 100644
index 0000000..07010e3
--- /dev/null
+++ b/config/jest/fileTransform.js
@@ -0,0 +1,30 @@
+'use strict';
+
+const path = require('path');
+
+// This is a custom Jest transformer turning file imports into filenames.
+// http://facebook.github.io/jest/docs/en/webpack.html
+
+module.exports = {
+ process(src, filename) {
+ const assetFilename = JSON.stringify(path.basename(filename));
+
+ if (filename.match(/\.svg$/)) {
+ return `module.exports = {
+ __esModule: true,
+ default: ${assetFilename},
+ ReactComponent: (props) => ({
+ $$typeof: Symbol.for('react.element'),
+ type: 'svg',
+ ref: null,
+ key: null,
+ props: Object.assign({}, props, {
+ children: ${assetFilename}
+ })
+ }),
+ };`;
+ }
+
+ return `module.exports = ${assetFilename};`;
+ },
+};