1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-jest-typescript
Nick Gauthier bbbf7ab498 Upgrade with-jest-typescript example to next 6.0.0 (#4543)
Hello! I ran into an issue using typescript and jest with next 6.0.0. I was able to work through fixing it and I wanted to share my solution back to next.js, by upgrading the with-jest-typescript example to next 6.0.0.

The steps I followed were:

1. `npx babel-upgrade --write` which added babel-core@^7.0.0-bridge.0 to allow jest's babel 6 to play nice with next's babel 7
2. Remove `ts-jest` and replace with `babel-jest` to use babel to transform the typescript code, as is done when the dev and production builds run
3. Update the babelrc to use commonjs modules in test mode to be compatible with jest

Also, I removed the `NODE_ENV=test` on the jest task, because jest sets the env to test anyways, and I'm on windows where this code is incorrect. The other option is to use `cross-env` but I felt it was simpler to just remove the environment override.

To my knowledge, this PR would help on the following issues:

#3663 #4227 #4531 #4528 #4239
2018-06-06 10:31:21 +02:00
..
pages Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00
src Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00
.babelrc Upgrade with-jest-typescript example to next 6.0.0 (#4543) 2018-06-06 10:31:21 +02:00
jest.config.js Upgrade with-jest-typescript example to next 6.0.0 (#4543) 2018-06-06 10:31:21 +02:00
jest.setup.js Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00
next.config.js Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00
package.json Upgrade with-jest-typescript example to next 6.0.0 (#4543) 2018-06-06 10:31:21 +02:00
README.md Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00
tsconfig.json Added with-jest-typescript example (#4124) 2018-04-13 16:53:59 +02:00

Example app with Jest tests inside a NextJS TypeScript app

How to use

Using create-next-app

Execute create-next-app with Yarn or npx to bootstrap the example:

npx create-next-app --example with-jest-typescript with-jest-typescript-app
# or
yarn create next-app --example with-jest-typescript with-jest-typescript-app

Download manually

Download the example or clone the repo:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-jest-typescript
cd with-jest-typescript

Install it and run:

npm install
npm run dev
# or
yarn
yarn dev

Run Jest tests

npm run test
# or
yarn test

The idea behind the example

This example shows a configuration and several examples for a running Jest tests in a NextJS TypeScript app