Skip to content
This repository has been archived by the owner on Jul 6, 2021. It is now read-only.

Commit

Permalink
Update next-typescript readme
Browse files Browse the repository at this point in the history
  • Loading branch information
timneutkens committed Sep 14, 2019
1 parent 166b644 commit e7f87ce
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 172 deletions.
5 changes: 0 additions & 5 deletions packages/next-typescript/babel.js

This file was deleted.

63 changes: 0 additions & 63 deletions packages/next-typescript/index.js

This file was deleted.

11 changes: 0 additions & 11 deletions packages/next-typescript/package.json

This file was deleted.

94 changes: 1 addition & 93 deletions packages/next-typescript/readme.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,3 @@
# Next.js + Typescript

Use [Typescript](https://www.typescriptlang.org/) with [Next.js](https://github.com/zeit/next.js)

This plugin implements [@babel/preset-typescript](https://github.com/babel/babel/tree/master/packages/babel-preset-typescript) with Next.js.

## Installation

```
npm install --save @zeit/next-typescript
```

or

```
yarn add @zeit/next-typescript
```

## Usage

Create a `next.config.js` in your project

```js
// next.config.js
const withTypescript = require('@zeit/next-typescript')
module.exports = withTypescript({
/* config options here */
})
```

Create a `.babelrc` in your project

```js
{
"presets": [
"next/babel",
"@zeit/next-typescript/babel"
]
}
```

Create a `tsconfig.json` in your project

```json
{
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"jsx": "preserve",
"lib": ["dom", "es2017"],
"module": "esnext",
"moduleResolution": "node",
"noEmit": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"preserveConstEnums": true,
"removeComments": false,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "esnext"
}
}
```

Optionally you can add your custom Next.js configuration as parameter

```js
// next.config.js
const withTypescript = require('@zeit/next-typescript')
module.exports = withTypescript({
webpack(config, options) {
return config
}
})
```

### Type checking

If your IDE or code editor don't provide satisfying TypeScript support, or you want to see error list in console output, you can use [`fork-ts-checker-webpack-plugin`](https://github.com/Realytics/fork-ts-checker-webpack-plugin). It will not increase compile time because it forks type checking in a separate process

```js
// next.config.js
const withTypescript = require("@zeit/next-typescript")
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');

module.exports = withTypescript({
webpack(config, options) {
// Do not run type checking twice:
if (options.isServer) config.plugins.push(new ForkTsCheckerWebpackPlugin())

return config
}
})
```
TypeScript is supported in Next.js out of the box. You can find the documentation here: https://nextjs.org/docs#typescript

0 comments on commit e7f87ce

Please sign in to comment.