Skip to content

Commit 26271bb

Browse files
committed
Merge branch 'develop-1.12'
2 parents 4e3f514 + 2b27727 commit 26271bb

10 files changed

Lines changed: 5365 additions & 7883 deletions

File tree

config/jest/babelTransform.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
'use strict';
2+
3+
/***********************************************************************
4+
* *
5+
* This file was generated by react-scripts (Create React App) 'eject' *
6+
* *
7+
***********************************************************************/
8+
9+
const babelJest = require('babel-jest').default;
10+
11+
const hasJsxRuntime = (() => {
12+
if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') {
13+
return false;
14+
}
15+
16+
try {
17+
require.resolve('react/jsx-runtime');
18+
return true;
19+
} catch (e) {
20+
return false;
21+
}
22+
})();
23+
24+
module.exports = babelJest.createTransformer({
25+
presets: [
26+
[
27+
require.resolve('babel-preset-react-app'),
28+
{
29+
runtime: hasJsxRuntime ? 'automatic' : 'classic',
30+
},
31+
],
32+
],
33+
babelrc: false,
34+
configFile: false,
35+
});

config/jest/cssTransform.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'use strict';
2+
3+
/***********************************************************************
4+
* *
5+
* This file was generated by react-scripts (Create React App) 'eject' *
6+
* *
7+
***********************************************************************/
8+
9+
// This is a custom Jest transformer turning style imports into empty objects.
10+
// http://facebook.github.io/jest/docs/en/webpack.html
11+
12+
module.exports = {
13+
process() {
14+
return 'module.exports = {};';
15+
},
16+
getCacheKey() {
17+
// The output is always the same.
18+
return 'cssTransform';
19+
},
20+
};

config/jest/fileTransform.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
'use strict';
2+
3+
/***********************************************************************
4+
* *
5+
* This file was generated by react-scripts (Create React App) 'eject' *
6+
* *
7+
***********************************************************************/
8+
9+
const path = require('path');
10+
const camelcase = require('camelcase');
11+
12+
// This is a custom Jest transformer turning file imports into filenames.
13+
// http://facebook.github.io/jest/docs/en/webpack.html
14+
15+
module.exports = {
16+
process(src, filename) {
17+
const assetFilename = JSON.stringify(path.basename(filename));
18+
19+
if (filename.match(/\.svg$/)) {
20+
// Based on how SVGR generates a component name:
21+
// https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6
22+
const pascalCaseFilename = camelcase(path.parse(filename).name, {
23+
pascalCase: true,
24+
});
25+
const componentName = `Svg${pascalCaseFilename}`;
26+
return `const React = require('react');
27+
module.exports = {
28+
__esModule: true,
29+
default: ${assetFilename},
30+
ReactComponent: React.forwardRef(function ${componentName}(props, ref) {
31+
return {
32+
$$typeof: Symbol.for('react.element'),
33+
type: 'svg',
34+
ref: ref,
35+
key: null,
36+
props: Object.assign({}, props, {
37+
children: ${assetFilename}
38+
})
39+
};
40+
}),
41+
};`;
42+
}
43+
44+
return `module.exports = ${assetFilename};`;
45+
},
46+
};

0 commit comments

Comments
 (0)