Skip to content

Commit 44e7ad3

Browse files
authored
Merge pull request #27 from emin93/ts-jest
Added ts-jest
2 parents 371438e + 9da8429 commit 44e7ad3

File tree

6 files changed

+28
-1
lines changed

6 files changed

+28
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Actually, when React Native 0.57 was announced, I planned to stop maintenance on
2626

2727
- [TypeScript](https://github.com/Microsoft/TypeScript)
2828
- [Type definitions for React & React Native](https://github.com/DefinitelyTyped/DefinitelyTyped)
29+
- [ts-jest](https://github.com/kulshekhar/ts-jest)
2930

3031
This template always uses the latest versions of the dependencies at the time when the `react-native init` command is being executed. This means you don't have to worry about old versions.
3132

__tests__/App.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @format
3+
*/
4+
5+
import 'react-native';
6+
import React from 'react';
7+
import App from '../App';
8+
9+
// Note: test renderer must be required after react-native.
10+
import renderer from 'react-test-renderer';
11+
12+
it('renders correctly', () => {
13+
renderer.create(<App />);
14+
});

devDependencies.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"@types/react-native": "latest",
44
"@types/react-test-renderer": "latest",
55
"@types/react": "latest",
6+
"ts-jest": "latest",
67
"typescript": "latest"
78
}

jest.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"transform": {
3+
"^.+\\.tsx?$": "ts-jest"
4+
},
5+
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
6+
"moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
7+
"modulePaths": ["<rootDir>"]
8+
}

setup.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,21 @@ const fs = require('fs')
22
const path = require('path')
33

44
const packageJson = require('./package.json')
5+
const jestConfig = require('./jest.json')
56

67
const deleteFile = fileName => fs.unlinkSync(path.join(__dirname, fileName))
78
const writeFile = (fileName, data) => fs.writeFileSync(path.join(__dirname, fileName), data)
89

910
console.log('🔄 Setting up...')
1011

1112
packageJson.scripts.tsc = 'tsc'
13+
packageJson.jest = Object.assign(packageJson.jest, jestConfig)
1214

1315
writeFile('package.json', JSON.stringify(packageJson, null, 2))
1416

1517
deleteFile('.flowconfig')
1618
deleteFile('App.js')
19+
deleteFile('__tests__/App.js')
1720
deleteFile('LICENSE')
1821
deleteFile('README.md')
1922
deleteFile('setup.js')

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"allowSyntheticDefaultImports": true,
55
"esModuleInterop": true,
66
"isolatedModules": true,
7-
"jsx": "react-native",
7+
"jsx": "react",
88
"lib": ["es6"],
99
"moduleResolution": "node",
1010
"noEmit": true,

0 commit comments

Comments
 (0)