From 70d67c83291481795a50d3bd4ad939cd6b8c3454 Mon Sep 17 00:00:00 2001 From: Yuta Hiroto Date: Sun, 5 Jan 2025 20:48:25 +0900 Subject: [PATCH] chore(readme): add editorconfig --- .../introduction/what-is-web-app-template.md | 25 +++++++++--------- .../src/public/images/libs/editorconfig.png | Bin 0 -> 20063 bytes README.md | 25 +++++++++--------- 3 files changed, 24 insertions(+), 26 deletions(-) create mode 100644 .internal/site/src/public/images/libs/editorconfig.png diff --git a/.internal/site/src/introduction/what-is-web-app-template.md b/.internal/site/src/introduction/what-is-web-app-template.md index 7ddcf19..310ba78 100644 --- a/.internal/site/src/introduction/what-is-web-app-template.md +++ b/.internal/site/src/introduction/what-is-web-app-template.md @@ -27,16 +27,15 @@ In the future, a "blank slate" option might be added as a flag. These are the main libraries that are installed. However, Playwright and OpenTelemetry can be opted out at install time. If you have any unnecessary libraries, please delete them after the initial creation. -| | | | | -| ----------- | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| **App** |
nextjs
Next.js
|
tailwind
Tailwind CSS
|
next-auth
NextAuth.js
| -| |
react-hook-form
React Hook Form
|
zod
Zod
|
otel
OpenTelemetry
| -| |
prisma
Prisma
|
prisma
PostgreSQL
| | -| | | | | -| **Tools** |
typescirpt
TypeScript
|
pnpm
pnpm
|
lint-staged
lint-staged
| -| |
biome
Biome
|
prettier
Prettier
|
docker
Docker
| -| | | | | -| **Testing** |
vitest
Vitest
|
testing-library
Testing Library
|
playwright
Playwright
| -| |
testcontainers
Testcontainers
| | -| | | | | -| **Others** |
actions
GitHub Actions
|
renovate
Renovate
|
vscode
VSCode
| +| | | | | | +| ----------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | +| **App** |
nextjs
Next.js
|
tailwind
Tailwind CSS
|
next-auth
NextAuth.js
|
react-hook-form
React Hook Form
| +| |
zod
Zod
|
otel
OpenTelemetry
|
prisma
Prisma
|
prisma
PostgreSQL
| +| | | | | +| **Tools** |
typescirpt
TypeScript
|
pnpm
pnpm
|
biome
Biome
|
prettier
Prettier
| +| |
editorconfig
EditorConfig
|
lint-staged
lint-staged
|
docker
Docker
| | +| | | | | +| **Testing** |
vitest
Vitest
|
testing-library
Testing Library
|
playwright
Playwright
|
testcontainers
Testcontainers
| +| | | | +| | | | | +| **Others** |
actions
GitHub Actions
|
renovate
Renovate
|
vscode
VSCode
| diff --git a/.internal/site/src/public/images/libs/editorconfig.png b/.internal/site/src/public/images/libs/editorconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..f56c08ea1b7adb4b293ccb761bccc3bb606adc3c GIT binary patch literal 20063 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 IM6N<$f_dq1!2kdN literal 0 HcmV?d00001 diff --git a/README.md b/README.md index fc4ab85..fcafb80 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,18 @@
-| | | | | -| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| **App** |
nextjs
Next.js
|
tailwind
Tailwind CSS
|
next-auth
NextAuth.js
| -| |
react-hook-form
React Hook Form
|
zod
Zod
|
otel
OpenTelemetry
| -| |
prisma
Prisma
|
prisma
PostgreSQL
| | -| | | | | -| **Tools** |
typescirpt
TypeScript
|
pnpm
pnpm
|
lint-staged
lint-staged
| -| |
biome
Biome
|
prettier
Prettier
|
docker
Docker
| -| | | | | -| **Testing** |
vitest
Vitest
|
testing-library
Testing Library
|
playwright
Playwright
| -| |
testcontainers
Testcontainers
| | -| | | | | -| **Others** |
actions
GitHub Actions
|
renovate
Renovate
|
vscode
VSCode
| +| | | | | | +| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| **App** |
nextjs
Next.js
|
tailwind
Tailwind CSS
|
next-auth
NextAuth.js
|
react-hook-form
React Hook Form
| +| |
zod
Zod
|
otel
OpenTelemetry
|
prisma
Prisma
|
prisma
PostgreSQL
| +| | | | | +| **Tools** |
typescirpt
TypeScript
|
pnpm
pnpm
|
biome
Biome
|
prettier
Prettier
| +| |
editorconfig
EditorConfig
|
lint-staged
lint-staged
|
docker
Docker
| | +| | | | | +| **Testing** |
vitest
Vitest
|
testing-library
Testing Library
|
playwright
Playwright
|
testcontainers
Testcontainers
| +| | | | +| | | | | +| **Others** |
actions
GitHub Actions
|
renovate
Renovate
|
vscode
VSCode
| ## Prerequisites