Main featured image

Next.js/TypeScript/ESLint/Prettier/Material-UI/styled-componentsの自作テンプレートを作る

Next.js
TypeScript
ESLint
Prettier
Material-UI
styled-components

Next.js/TypeScript/ESLint/Prettier/Material-UI/styled-components の自作テンプレートを作りました。

  • 2021/09/13 update
    • Next.js11 に対応しました。

作ったテンプレートは Github に公開してますので、以下のコマンドでどなたでもご利用可能です。

  • Next11 + Typescript + ESLint + Prettier
yarn create next-app sample-app --example "https://github.com/kazuma-fujita/next11-ts-lint-template"
  • Next11 + Typescript + ESLint + Prettier + Material-UI + styled-component
yarn create next-app sample-app --example "https://github.com/kazuma-fujita/next11-ts-lint-mui-template"

TypeScript/ESLint/Prettier を個別に設定されたい方は以下ファイルをそれぞれ調整してください。

  • TypeScript
    • tsconfig.json
  • Prettier
    • .prettierrc.json
  • ESlint
    • .eslintrc.json

また、テンプレートに含まれるサンプルのソースコードはデフォルトで src ディレクトリ配下にあります。

ソースコードの import 文は src ディレクトリからの絶対パスで記述出来るように設定していますので、詳細はこちらの記事を参照ください。

自作テンプレート作成手順

ここからは自作テンプレートを作成した時の作業手順です。

備忘録として残しておきます。

環境
  • macOS Catalina 10.15.5(19F101)
  • VSCode 1.59.1
  • Next 11.1.2
  • React 17.0.2
  • TypeScript 4.0.8
  • yarn 1.22.5
テンプレートを作成する

yarn create next-app で今回公開する next11-ts-lint-mui-template という名前の雛形を作成します。

今回はあらかじめ TypeScript が設定された with-typescript テンプレートを流用します。

yarn create next-app next11-ts-lint-mui-template --example with-typescript

雛形が作成されたら、 yarn dev でアプリケーションを起動し、 http://localhost:3000 を開いて Next の初期画面が表示されることを確認します。

src ディレクトリの作成

create next-app した初期状態では src ディレクトリがありません。

src ディレクトリを作成して他の階層を src ディレクトリに移動します。

この作業は好みですが、CRA で開発をする時は基本プロダクトソースコードを src ディレクトリ配下に置くので、慣例として実行します。

cd next11-ts-lint-mui-template && mkdir src && mv components interfaces pages utils src/.
import 文を src ディレクトリからの絶対パスに設定する

こちらに詳しい設定方法の記事を書きましたので参照ください。

ESLint/Prettier を設定をする

こちらに詳しい設定方法の記事を書きましたので参照ください。

Material-UI/styled-components を設定する

こちらに詳しい設定方法の記事を書きましたので参照ください。

Github に作成したテンプレートを push する

Github に public repository を作成します。

今回は next11-ts-lint-mui-template という名前にしました。

ローカルリポジトリに リモートリポジトリを追加します。

git remote add origin git@github.com.zuma:kazuma-fujita/next11-ts-lint-mui-template.git

通常は git flow init などで develop ブランチを作成し、main ブランチ read-only にしますが、今回は割愛して直接 main に push します。

git push origin main

Github の public repository に置くだけでテンプレートの公開は完了です。

おわりに

独自テンプレートを作成しておけば、新規プロジェクト毎に ESLint や Prettier の設定をせずに済むのでぜひお試しください。

今回作成したテンプレートはこちらにありますので参照ください。

Written by ZUMA a.k.a. Kazuma. Web/Mobile App developer.  My profile.
Tags
Archives
2021-102021-092021-072021-062021-052021-042021-032021-022021-01
Recent Posts