From 2ddf1acbfd4ebd4273d747869c32b0a5813c3d95 Mon Sep 17 00:00:00 2001 From: Dmitriy Bratchikov Date: Mon, 27 May 2024 17:18:49 +0700 Subject: [PATCH] fix: pages dir in root --- .prettierrc.json | 2 +- README.md | 34 +++++++++++++------ app/page.tsx | 2 +- jest.config.ts | 2 +- pages/.gitkeep | 0 src/{pagesLayer => pages}/HomePage/index.ts | 0 .../HomePage/ui/HomePage.module.scss | 0 .../HomePage/ui/HomePage.test.tsx | 0 .../HomePage/ui/HomePage.tsx | 4 +-- tsconfig.json | 2 +- 10 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 pages/.gitkeep rename src/{pagesLayer => pages}/HomePage/index.ts (100%) rename src/{pagesLayer => pages}/HomePage/ui/HomePage.module.scss (100%) rename src/{pagesLayer => pages}/HomePage/ui/HomePage.test.tsx (100%) rename src/{pagesLayer => pages}/HomePage/ui/HomePage.tsx (83%) diff --git a/.prettierrc.json b/.prettierrc.json index 291ff4d..81d962b 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -16,7 +16,7 @@ "", "", "", - "^(@shared|@entities|@features|@widgets|@pagesLayer|@app)(/.*)$", + "^(@shared|@entities|@features|@widgets|@pages|@app)(/.*)$", "", "^(?!.*[.]scss$)[./].*$", ".scss$", diff --git a/README.md b/README.md index 8d45d22..d2ed04f 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,31 @@ # Next.js + Feature-Sliced Design | Pure Template +## IMPORTANT +Do not delete the pages* folder even if you are using App Router, deleting the pages folder +will result in a [build error](https://t.me/feature_sliced/1/107414). + +## ADDITIONAL SOLUTION TO THE PROBLEM +If you don't like the empty "pages" folder in the project root, you can rename the pages layer (./src/pages) +for example to "pagesLayer" and then delete the pages folder from the project root. + +**Use what you like best <3** + +--- + ## Folders description -| Folder | Description | -|-----------------|-----------------------------------------------------------------------------------------------------------------| -| app | Next App folder for [App Routing](https://nextjs.org/docs/app/building-your-application/routing#the-app-router) | -| public | Public files | -| src/app | App FSD Layer | -| src/pagesLayer* | Pages FSD Layer | -| src/widgets | Widgets FSD Layer | -| src/features | Features FSD Layer | -| src/entities | Entities FSD Layer | -| src/shared | Shared FSD Layer | +| Folder | Description | +|--------------|-----------------------------------------------------------------------------------------------------------------| +| app | Next App folder for [App Routing](https://nextjs.org/docs/app/building-your-application/routing#the-app-router) | +| pages * | Next Pages folder for [Pages Routing](https://nextjs.org/docs/pages) | +| public | Public files | +| src/app | App FSD Layer | +| src/pages | Pages FSD Layer | +| src/widgets | Widgets FSD Layer | +| src/features | Features FSD Layer | +| src/entities | Entities FSD Layer | +| src/shared | Shared FSD Layer | -* **pagesLayer**, not **pages** because _*pages*_ is a reserved name for [Pages Router](https://nextjs.org/docs/pages) and an error occurs during [assembly](https://t.me/feature_sliced/1/107414). ## Remove junk _.gitkeep_ files ### UNIX diff --git a/app/page.tsx b/app/page.tsx index 2ca4629..41f655e 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,4 +1,4 @@ -import { HomePage } from "@pagesLayer/HomePage" +import { HomePage } from "@pages/HomePage" export default function Home() { return ( diff --git a/jest.config.ts b/jest.config.ts index 549793a..daecb3c 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -14,7 +14,7 @@ const config: Config = { "@app/(.*)$": "/src/app/$1", "@entities/(.*)$": "/src/entities/$1", "@features/(.*)$": "/src/features/$1", - "@pagesLayer/(.*)$": "/src/pagesLayer/$1", + "@pages/(.*)$": "/src/pages/$1", "@shared/(.*)$": "/src/shared/$1", "@widgets/(.*)$": "/src/widgets/$1", "@/(.*)$": "/src/$1", diff --git a/pages/.gitkeep b/pages/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/pagesLayer/HomePage/index.ts b/src/pages/HomePage/index.ts similarity index 100% rename from src/pagesLayer/HomePage/index.ts rename to src/pages/HomePage/index.ts diff --git a/src/pagesLayer/HomePage/ui/HomePage.module.scss b/src/pages/HomePage/ui/HomePage.module.scss similarity index 100% rename from src/pagesLayer/HomePage/ui/HomePage.module.scss rename to src/pages/HomePage/ui/HomePage.module.scss diff --git a/src/pagesLayer/HomePage/ui/HomePage.test.tsx b/src/pages/HomePage/ui/HomePage.test.tsx similarity index 100% rename from src/pagesLayer/HomePage/ui/HomePage.test.tsx rename to src/pages/HomePage/ui/HomePage.test.tsx diff --git a/src/pagesLayer/HomePage/ui/HomePage.tsx b/src/pages/HomePage/ui/HomePage.tsx similarity index 83% rename from src/pagesLayer/HomePage/ui/HomePage.tsx rename to src/pages/HomePage/ui/HomePage.tsx index 0903c26..8dedaa9 100644 --- a/src/pagesLayer/HomePage/ui/HomePage.tsx +++ b/src/pages/HomePage/ui/HomePage.tsx @@ -16,8 +16,8 @@ const HomePage = () => {

-				You can edit src/pagesLayer/HomePage{" "}
-				to start {"<3"}!
+ You can edit src/pages/HomePage to + start {"<3"}!
You can also test your application using Jest :D. Try it! diff --git a/tsconfig.json b/tsconfig.json index 24ba6b0..ff3ccf3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,7 +21,7 @@ "@app/*": ["./src/app/*"], "@entities/*": ["./src/entities/*"], "@features/*": ["./src/features/*"], - "@pagesLayer/*": ["./src/pagesLayer/*"], + "@pages/*": ["./src/pages/*"], "@shared/*": ["./src/shared/*"], "@widgets/*": ["./src/widgets/*"],