Skip to content

Commit d052d89

Browse files
author
Vincent
authored
Support data component testing (#69)
* support data testing * fix transform for tsx" " * fix babel configs: * mock intersection observer * fix intersectionobserver mocks * fix intersectionobserver mocks * fix intersectionobserver mocks * fix intersectionobserver mocks * rm ts-jest * bump v
1 parent fc09d0d commit d052d89

File tree

6 files changed

+101
-242
lines changed

6 files changed

+101
-242
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@firstlookmedia/react-scripts",
3-
"version": "2.0.0-rc20",
3+
"version": "2.0.0-rc21",
44
"description": "shared react site configs",
55
"author": "First Look Media",
66
"license": "MIT",
@@ -27,6 +27,7 @@
2727
"@babel/plugin-transform-runtime": "^7.0.0",
2828
"@babel/preset-env": "^7.0.0",
2929
"@babel/preset-react": "^7.0.0",
30+
"@babel/preset-typescript": "^7.3.3",
3031
"@babel/runtime-corejs2": "^7.0.0",
3132
"@loadable/babel-plugin": "^5.8.0",
3233
"@loadable/webpack-plugin": "^5.7.1",
@@ -35,7 +36,7 @@
3536
"babel-core": "^7.0.0-bridge.0",
3637
"babel-jest": "^23.4.2",
3738
"babel-loader": "^8.0.0",
38-
"babel-plugin-relay": "^4.0.0",
39+
"babel-plugin-relay": "^5.0.0",
3940
"chalk": "^2",
4041
"concat-stream": "^1.6.2",
4142
"cross-spawn": "^6",
@@ -72,7 +73,6 @@
7273
"sass-loader": "^7.0.1",
7374
"start-server-webpack-plugin": "^2.2.5",
7475
"style-loader": "^0.21",
75-
"ts-jest": "23.0.0",
7676
"ts-loader": "^5.2.1",
7777
"url-loader": "^1",
7878
"webpack": "^4",

scripts/utils/babelLoaderConfig.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"passPerPreset": true,
3+
"presets": ["@babel/preset-typescript", "@babel/preset-react", "@babel/preset-env"],
4+
"plugins": [
5+
[
6+
"babel-plugin-relay",
7+
{
8+
"artifactDirectory": "src/__generated__",
9+
"schema": "schema.graphql"
10+
}
11+
],
12+
[
13+
"@babel/plugin-transform-runtime",
14+
{
15+
"corejs": 2
16+
}
17+
],
18+
"@babel/plugin-syntax-dynamic-import",
19+
"@babel/plugin-syntax-import-meta",
20+
"@babel/plugin-proposal-class-properties",
21+
"@babel/plugin-proposal-json-strings",
22+
"@babel/plugin-proposal-function-sent",
23+
"@babel/plugin-proposal-export-namespace-from",
24+
"@babel/plugin-proposal-numeric-separator",
25+
"@babel/plugin-proposal-throw-expressions",
26+
"@babel/plugin-proposal-optional-chaining",
27+
"@babel/plugin-proposal-nullish-coalescing-operator"
28+
]
29+
}

scripts/utils/babelTransform.js

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,4 @@
11
const babelJest = require('babel-jest');
2-
const config = require('../../config/webpack.defaults.js');
2+
const config = require('./babelLoaderConfig.json');
33

4-
module.exports = babelJest.createTransformer({
5-
passPerPreset: true,
6-
presets: ['@babel/preset-react', '@babel/preset-env'].map(require.resolve),
7-
plugins: [
8-
[
9-
'@babel/plugin-transform-runtime',
10-
{
11-
corejs: 2,
12-
},
13-
],
14-
'@babel/plugin-syntax-dynamic-import',
15-
'@babel/plugin-syntax-import-meta',
16-
'@babel/plugin-proposal-class-properties',
17-
'@babel/plugin-proposal-json-strings',
18-
'@babel/plugin-proposal-function-sent',
19-
'@babel/plugin-proposal-export-namespace-from',
20-
'@babel/plugin-proposal-numeric-separator',
21-
'@babel/plugin-proposal-throw-expressions',
22-
'@babel/plugin-proposal-optional-chaining',
23-
'@babel/plugin-proposal-nullish-coalescing-operator',
24-
].map(plugin =>
25-
(Array.isArray(plugin)
26-
? require.resolve(plugin[0], plugin[1])
27-
: require.resolve(plugin))),
28-
});
4+
module.exports = babelJest.createTransformer(config);

scripts/utils/jestConfig.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module.exports = {
1515
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
1616
transform: {
1717
'\\.js$': path.resolve(__dirname, 'babelTransform.js'),
18-
'^.+\\.(ts|tsx)$': 'ts-jest',
18+
'^.+\\.(ts|tsx)$': path.resolve(__dirname, 'babelTransform.js'),
1919
},
2020

2121
collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!src/**/stories.{js,jsx,ts,tsx}'],

scripts/utils/testSetup.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@ global.requestAnimationFrame = (callback) => {
22
setTimeout(callback, 0);
33
};
44

5+
const observeMock = () => null;
6+
global.IntersectionObserver = function IntersectionObserver() {
7+
return {
8+
observe: observeMock,
9+
};
10+
};
11+
global.IntersectionObserverEntry = {
12+
prototype: { intersectionRatio: {} },
13+
};
14+
515
const Enzyme = require('enzyme');
616
const Adapter = require('enzyme-adapter-react-16');
717

0 commit comments

Comments
 (0)