-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtransformer.js
21 lines (20 loc) · 881 Bytes
/
transformer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// For React Native version 0.59 or later
var upstreamTransformer = require('metro-react-native-babel-transformer');
var lessTransformer = require('react-native-less-transformer');
var svgTransformer = require('react-native-svg-transformer');
var postCSSTransformer = require('react-native-postcss-transformer');
module.exports.transform = function({ src, filename, options }) {
switch (true) {
case filename.endsWith('.less'): {
return lessTransformer
.renderToCSS({ src, filename, options })
.then((css) => postCSSTransformer.transform({ src: css, filename, options }));
}
case filename.endsWith('.svg'): {
return svgTransformer.transform({ src, filename, options });
}
default: {
return upstreamTransformer.transform({ src, filename, options });
}
}
};