Open8
Next.js環境構築
Create Next App
npx create-next-app <プロジェクト名> --typescript
ディレクトリの移動
mkdir src
mv pages src/pages
mv styles src/styles
nodeのバージョン設定
nodenv local <nodeバージョン>
ESlintの設定
Prettier導入
Chakra-uiの導入
yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^4
Jest導入
Renovate導入
-
PR作成後merge(オンボーディング)
-
renovate.json
設定ファイルに追加
{
"extends": ["config:base"],
"labels": ["dependencies"],
"packageRules": [
{
"depTypeList": ["devDependencies"],
"automerge": true
}
],
"timezone": "Asia/Tokyo",
"schedule": ["every weekend"]
}
Apollo Clientの導入
yarn add @apollo/client graphql
_app.tsx
import '../styles/globals.css';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
import { AppProps } from 'next/dist/next-server/lib/router/router';
const cache = new InMemoryCache();
const client = new ApolloClient({
uri: `${process.env.NEXT_PUBLIC_BACKEND_URL}/graphql`,
cache,
});
function MyApp({ Component, pageProps }: AppProps) {
return (
<ApolloProvider client={client}>
<Component {...pageProps} />
</ApolloProvider>
);
}
export default MyApp;