-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should Intl middleware be applied to API routes? #209
Comments
I just apply change following the official documentation from next-intl and Clerk. Applying without giving a thought. Indeed, it can create an issue for I just recheck the official documentation from Another solution is to place /api/guestbook inside You potential fix can be a solution, does it have some side effect? |
I found this page in the documentation: https://next-intl-docs.vercel.app/docs/environments/metadata-route-handlers#route-handlers |
Even I never do translation in /api, I think most of the users will expect to have translation also available in Route Handler. So, they can also translate in Router Handler by moving it inside One of the official example, the route handler is inside |
At least in my current use, it doesn't have any visible issues.
I briefly looked at the documentation and the example. I think it only requires that we pass the locale into the So I think both of them (extracting The cause of the problem is probably that Intl Middleware will try to rewrite all requests to I think both of the following two solutions can solve this:
Perhaps the 2. is a more intuitive one for regular users? Not sure. |
I also think it's more intuitive and regular users. Already not a huge fan about these 2 lines in the middleware: https://github.com/ixartz/Next-js-Boilerplate/blob/main/src/middleware.ts#L15-L16. So, if we can avoid make any custom change in the middleware, it would be great. Do you think you can open a PR for the 2. solution? |
Sure. |
Move API Routes into `[locale]` fix ixartz#209
Move API Routes into `[locale]` fix ixartz#209
## [3.30.1](v3.30.0...v3.30.1) (2023-12-17) ### Bug Fixes * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [#209](#209)
🎉 This issue has been resolved in version 3.30.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
# 1.0.0 (2023-12-25) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/liwenju0/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/liwenju0/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-01) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/himyjan/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/himyjan/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-02) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ceoseo/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ceoseo/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-18) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/liwenju0/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/liwenju0/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-18) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/kamikazce/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/kamikazce/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-22) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ceoseo/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ceoseo/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-23) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/himyjan/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/himyjan/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-01-29) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ceoseo/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ceoseo/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-02-04) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/kamikazce/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/kamikazce/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-02-13) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ceoseo/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ceoseo/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-02-19) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ceoseo/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ceoseo/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
Move API Routes into `[locale]` fix ixartz#209
## [3.30.1](ixartz/Next-js-Boilerplate@v3.30.0...v3.30.1) (2023-12-17) ### Bug Fixes * api routes not found after apply intl middleware ([4650a5e](ixartz@4650a5e)), closes [ixartz#209](ixartz#209)
# 1.0.0 (2024-03-22) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/ahmadmustafeen/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/ahmadmustafeen/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-03-23) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/himyjan/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/himyjan/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-03-30) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/joshcarterrd/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update moduleResoluton ([1c64061](1c64061)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/joshcarterrd/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-04-10) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/himyjan/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/himyjan/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-04-10) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/BeatBrackerz/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/BeatBrackerz/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-04-12) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/minhazul-ashim/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/minhazul-ashim/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-04-29) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/oOattoO/The-Next-Pantip/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/oOattoO/The-Next-Pantip/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * new turso logo ([3e781fc](3e781fc)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use new Turso tagline ([601ba6b](601ba6b)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-05-17) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/Drakkarrr/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/Drakkarrr/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add custom configuration for i18n ally VSCode extension ([46f9459](46f9459)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make dashboard without lang protected route in Clerk ([704466b](704466b)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * new turso logo ([3e781fc](3e781fc)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run Clerk middleware only needed ([5aeee06](5aeee06)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * upgrade to Clerk v5 and use Clerk's Core 2 ([c1978f1](c1978f1)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use new Turso tagline ([601ba6b](601ba6b)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) * vscode jest open test result view on test fails and add unauthenticatedUrl in clerk middleware ([2a68124](2a68124)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL ([f8cb9f4](f8cb9f4)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade React to 18.2 due to testing errors, error raised in Next.js issue [#65161](https://github.com/Drakkarrr/Next-js-Boilerplate/issues/65161) ([1815eb3](1815eb3)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
## [3.30.1](ixartz/Next-js-Boilerplate@v3.30.0...v3.30.1) (2023-12-17) ### Bug Fixes * api routes not found after apply intl middleware ([4650a5e](ixartz/Next-js-Boilerplate@4650a5e)), closes [#209](ixartz/Next-js-Boilerplate#209)
# 1.0.0 (2024-05-23) ### Bug Fixes * add eslint support for .mts file ([cd58d38](cd58d38)) * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/liwenju0/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/liwenju0/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add custom configuration for i18n ally VSCode extension ([46f9459](46f9459)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make dashboard without lang protected route in Clerk ([704466b](704466b)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * new turso logo ([3e781fc](3e781fc)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace Jest by Vitest for better DX ([2504504](2504504)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run Clerk middleware only needed ([5aeee06](5aeee06)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to Storybook v8 ([51b20a6](51b20a6)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * upgrade to Clerk v5 and use Clerk's Core 2 ([c1978f1](c1978f1)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use new Turso tagline ([601ba6b](601ba6b)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) * vscode jest open test result view on test fails and add unauthenticatedUrl in clerk middleware ([2a68124](2a68124)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL ([f8cb9f4](f8cb9f4)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade React to 18.2 due to testing errors, error raised in Next.js issue [#65161](https://github.com/liwenju0/Next-js-Boilerplate/issues/65161) ([1815eb3](1815eb3)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * reuse vitest.config.mts to avoid warning when running the tests ([f923242](f923242)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
# 1.0.0 (2024-05-23) ### Bug Fixes * add missing files for commitzen ([018ba8b](018ba8b)) * add npx before percy command line ([4824e98](4824e98)) * add sitemap file in gitignore, it shouldn't commit to git ([344b731](344b731)) * add steps in update-deps.yml file, syntax error ([b5de445](b5de445)) * add Twitter in the index page ([75dfb8b](75dfb8b)) * added types ([b35ddc9](b35ddc9)) * api routes not found after apply intl middleware ([4650a5e](4650a5e)), closes [ixartz#209](https://github.com/kbventures/Next-js-Boilerplate/issues/209) * build issues with prerendering ([ff117b9](ff117b9)) * change matching regex for Cypress files ([861d545](861d545)) * code styling in blog component pages ([f4a55c4](f4a55c4)) * error generated by eslint-plugin-cypress ([7562c6b](7562c6b)) * Eslint comment update ([8baa5d1](8baa5d1)) * just rebuild sitemap ([831bae9](831bae9)) * move getStaticPaths at the top of blog page ([83892ea](83892ea)) * remove generated files by next-sitemap ([c5d93bf](c5d93bf)) * rename from mjs to js next-sitemap file ([7d450ff](7d450ff)) * resolve merge conflict ([276f57a](276f57a)) * resolve sourcemap error with Cypress and TypeScript 5 ([54a5100](54a5100)) * retrive PERCY_TOKEN and set token for percy cli ([afe00f2](afe00f2)) * typo in en.json file for Portfolio word ([4d42b3d](4d42b3d)) * typo in Readme ([8f7c1b7](8f7c1b7)) * update package-lock.json ([fba016d](fba016d)) * update README file for next-sitemap ([9496217](9496217)) * use new VSCode Jest configuration ([e92e4e0](e92e4e0)) * use npx npm-check-updates ([e530193](e530193)) * wait until the link rendered instead a wrong heading tag ([e38655b](e38655b)) ### Features * **.env:** update ([b98313a](b98313a)) * add .env file for production ([58ed68c](58ed68c)) * add a new GitHub Actions file for Checkly ([2109b1c](2109b1c)) * add app routed pages ([9cc79a0](9cc79a0)), closes [ixartz#64](https://github.com/kbventures/Next-js-Boilerplate/issues/64) * add aria-label to fix jsx-a11y/control-has-associated-label error ([47e4ff4](47e4ff4)) * add authToken support for production Turso ([26b8276](26b8276)) * add auto-update GitHub Actions ([364168f](364168f)) * add await for migrate function ([96793f0](96793f0)) * add blog page ([89c4ec7](89c4ec7)) * add code coverage reporting with Codecov ([08abd23](08abd23)) * add commit script in package.json ([8f4719e](8f4719e)) * add commitlint with config-conventional ([97a9ac7](97a9ac7)) * add coverage for vscode-jest and configure jest autoRun ([ad8a030](ad8a030)) * add custom configuration for i18n ally VSCode extension ([46f9459](46f9459)) * add cypress and cypress eslint plugin ([5657ee6](5657ee6)) * add database powered by Turso in guestbook page ([64073a5](64073a5)) * add db file in gitignore ([cd45e09](cd45e09)) * add drizzle config and database schema ([df30388](df30388)) * add email alert channel for checkly ([d1a4380](d1a4380)) * add email channel in Checkly configuration to send emails when failing ([2019591](2019591)) * add environment variables for one click deploy Netlify ([5becdbf](5becdbf)) * add FIXME tag for Sentry configuration ([2eceef1](2eceef1)) * add GitHub Actions to sync with Crowdin ([ccc86e9](ccc86e9)) * add i18n support for client component and typesafety for i18n keys ([2d86247](2d86247)) * add i18n support for Dashboard url used in Clerk ([12b89bc](12b89bc)) * add i18n with Clerk components and remove custom style in global.css file ([5e1af6c](5e1af6c)) * add i18n with next-intl ([1f43eb2](1f43eb2)) * add locale switcher UI to change lang ([13b40e3](13b40e3)) * add metatags in App Router for page migrated from Pages Router ([ce8c277](ce8c277)) * add next.js middleware with Clerk ([2f4a1d3](2f4a1d3)) * add pino.js as Logger ([1d35f43](1d35f43)) * add playwright extension in VSCode ([956d1a8](956d1a8)) * add playwright plugin in ESLint ([b2486f1](b2486f1)) * add Playwright: config, first test and dependency ([f054ea2](f054ea2)) * add preferType on VSCode ([a55bc6a](a55bc6a)) * add PRODUCTION_URL environment variable and throw error when targetURL doesn't exist ([8134dee](8134dee)) * add schema in drizzle instance and disable migrate in production ([5e26798](5e26798)) * add script to migrate before building next.js ([220d05e](220d05e)) * add Sentry and launch spotlight.js in dev mode ([a1326ae](a1326ae)) * add sign in and sign up link in index page ([4489085](4489085)) * add sign in and sign up page ([f021f71](f021f71)) * add sign out button in dashboard ([c663d1c](c663d1c)) * add sitemap support app router ([b82e566](b82e566)) * add sitemap.xml and robots.txt from build ([545d133](545d133)) * add spotlight ([34086c1](34086c1)) * add storybook into project ([51f3748](51f3748)) * add style for guestbook ([339154c](339154c)) * add support i18n for authMiddleware ([8651d36](8651d36)) * add tailwind css support in Storybook ([5e0d287](5e0d287)) * add target blank for links going outside ([37ba36e](37ba36e)) * add tests for page in App Router ([6a722a1](6a722a1)) * add type definition in Postcss config ([07906ff](07906ff)) * add typesafe environment variables ([5a2cd78](5a2cd78)) * add TypeScript support for Tailwind CSS configuration ([41f1918](41f1918)) * add user profile to manage account ([470731b](470731b)) * add user profile to manage account ([581efbe](581efbe)) * add visual testing with Percy ([b0a39f5](b0a39f5)) * add vscode jest extension ([49ab935](49ab935)) * add vscode yoavbls.pretty-ts-errors extension ([3588ce1](3588ce1)) * app router doesn't support next export, use output: export ([76aa9cd](76aa9cd)) * automatically format the whole codebase with npm run format ([9299209](9299209)) * automatically run migrate in DB instead of running in NPM scripts ([b202686](b202686)) * change 'powered by' text to 'built' with ([fe0a29f](fe0a29f)) * change commitlint config from JS to TS ([6509805](6509805)) * change jest config extension from js to TypeScript ([1cdea44](1cdea44)) * change nodeResolution to the new bundler from TypeScript 5.0 ([59282a2](59282a2)) * convert all hard coded text and translate in french ([0c3b1b2](0c3b1b2)) * convert Tailwind config file from JS to TS ([aff3b27](aff3b27)) * create checkly config with a random working test ([32255b0](32255b0)) * create guestbook should not accept empty username and email ([37e4408](37e4408)) * disable Husky for release ([f20c595](f20c595)) * do not run db migration when building on GitHub actions ([964cfa1](964cfa1)) * e2e tests run against next start with production code ([a57f724](a57f724)) * enable Sentry Spotlight only in development mode ([62cc01a](62cc01a)) * enable SWC compiler in Storybook ([5b4c61e](5b4c61e)) * fix heading levels increase by one ([e712e60](e712e60)) * format code to respect prettier ([48b6a49](48b6a49)) * generate statically portfolio pages ([1f1bf31](1f1bf31)) * i18n for page metatag ([5e7676d](5e7676d)) * ignore technical exception throw by React RSC in Sentry ([4bf9503](4bf9503)) * implement AddGuestbookForm to create new guestbook message ([d7b37e6](d7b37e6)) * implement delete guestbook entry ([b7f823a](b7f823a)) * implement hello component by display user email address ([7047985](7047985)) * implement sign out button ([8588834](8588834)) * implement sign out button and redirect to sign in page when logging out ([45ed137](45ed137)) * improve accessibility ([aa0f0b1](aa0f0b1)) * improve UI for AddGuestbookForm ([153abfc](153abfc)) * in global error get locale in params and set in html lang attribute ([c3b4d25](c3b4d25)) * insert in guestbook and retrieve all guestbooks ([23ee408](23ee408)) * jest fail on console error and warn ([2dd92f2](2dd92f2)) * link in BaseTemplate replaced margin with gap ([28b6ff2](28b6ff2)) * make dashboard without lang protected route in Clerk ([704466b](704466b)) * make guestbook editable ([8ec1406](8ec1406)) * make guestbook endpoint avaiable to signed out users ([10b4d81](10b4d81)) * make it easier to try edge runtime in the app router ([3f5fd58](3f5fd58)) * make the index page of the boilerplate cleaner ([f3a3f9b](f3a3f9b)) * make updatedAt working when the user update a message and rename the attribute to updatedAt ([4032bc0](4032bc0)) * migreate the index page from Page Rotuer to App Router ([fd3e82c](fd3e82c)) * move messages folder to locales ([305e385](305e385)) * new turso logo ([3e781fc](3e781fc)) * prod environement use the same method to migrate ([f6cfe7f](f6cfe7f)) * redirect to dashboard when the user is signed in for sign up and sign in page ([629a033](629a033)) * release a new version for Next.js 14 and update README file ([4be2485](4be2485)) * reload guestbook page when deployed on production ([c2e91b2](c2e91b2)) * remove all Cypress related files and configurations ([9fe8271](9fe8271)) * remove basePath in Next.js configuration ([7f9a0e6](7f9a0e6)) * remove eslint rule customization in VSCode and use min(1) instead of nonempty (deprecated) ([9982a2d](9982a2d)) * remove import React when it's not needed ([a7082d3](a7082d3)) * remove MIGRATE_DB which not needed anymore with process.env.NODE_ENV ([3fe81ae](3fe81ae)) * remove next-sitemap and use the native Next.js sitemap/robots.txt ([135a435](135a435)) * remove no-img-element and use Next.js built-in <Image component ([383e3a3](383e3a3)) * remove notnull in schema.ts ([10f4943](10f4943)) * remove Page router and migrate about page to App Router ([3965cbf](3965cbf)) * remove stories in the coverage from Jest ([d502869](d502869)) * remove warning for no extreneous deps in stories ([b243d44](b243d44)) * rename custom SignOutButton to LogOutButton to avoid confusion with Clerk SignOutButton ([183301b](183301b)) * rename from email to username ([52ab0e4](52ab0e4)) * rename from master to main ([10920ec](10920ec)) * replace dotenv/config by dotenv-cli in db:studio NPM scripts ([f7f8743](f7f8743)) * replace new-router page by guestbook ([efc84e6](efc84e6)) * replace with a working URL for the database to avoid timeout ([fecd8a5](fecd8a5)) * resolve conflict between airbnb-hook and next/core-web-vitals about react hooks ([5e0be4f](5e0be4f)) * run Clerk middleware only needed ([5aeee06](5aeee06)) * run github release only on completed CI workflow ([dd4de76](dd4de76)) * run migration only in development and eslint-disable need to be at the top ([db94f31](db94f31)) * translate text in dashboard layout ([8119f1d](8119f1d)) * unified e2e tests for Checkly and playwright ([afa53f5](afa53f5)) * update dependencies to the latest version ([b7609de](b7609de)) * update dotenv path to .env, the file was renamed ([bd9b2c9](bd9b2c9)) * update footer message and comment ([4f74176](4f74176)) * update next.js to version 13.5 ([aa43f14](aa43f14)) * update package-lock.json to fix CI ([1fff7ef](1fff7ef)) * update storybook to the latest version and install playwright ([2079a34](2079a34)) * update test for new router page ([b695666](b695666)) * update to Next.js 14.1 ([5dab52d](5dab52d)) * update to the latest dependencies version ([d93fd83](d93fd83)) * update TypeScript to 4.9.x ([471dc70](471dc70)) * upgrade to Clerk v5 and use Clerk's Core 2 ([c1978f1](c1978f1)) * use custom SignOutButton to apply custom CSS styles, unified with other nav links ([35094bf](35094bf)) * use default airbnb instead of the base version ([5c05116](5c05116)) * use eslintrc.json and give release.yml permission in GitHub Actions ([a329518](a329518)) * use local SQLite file ([fe52801](fe52801)) * use new Turso tagline ([601ba6b](601ba6b)) * use Next.js custom TypeScript plugin ([915e193](915e193)) * use target URl instead of baseURL for checkly ([4fd61ed](4fd61ed)) * validate t3 env on build ([6d448ed](6d448ed)) ### Reverts * add back NEXT_PUBLIC_CLERK_SIGN_IN_URL in the previous location ([16ae2ef](16ae2ef)) * add back process.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL ([f8cb9f4](f8cb9f4)) * add back process.env.NODE_ENV check in README file for migrate ([853f3dc](853f3dc)) * add back style for a tag link ([c12a7bd](c12a7bd)) * add support for all Node.js 14+, too restrictive with only Node.js 18+ ([4e27540](4e27540)) * change related to running playwright with next start ([1a2d0b6](1a2d0b6)) * change related to running playwright with next start ([e9e0c17](e9e0c17)) * downgrade React to 18.2 due to testing errors, error raised in Next.js issue [#65161](https://github.com/kbventures/Next-js-Boilerplate/issues/65161) ([1815eb3](1815eb3)) * downgrade semantic-release version to 19 ([26d5a6e](26d5a6e)) * only run migration in development, if it run in production, it also run during the build ([c94a600](c94a600)) * remove storybook addon-styling which is not needed ([e863fed](e863fed)) * the failing test in Navigation spec ([28996f5](28996f5)) * update dependencies and remove commitzen ([d136e02](d136e02)) * use older TypeScript to avoid e2e compilation with sourcemap ([6377d2f](6377d2f)) * use percy/cli 1.27.4 instead of 1.27.5, impossible to upload snapshort with 1.27.5 ([73f8a0b](73f8a0b))
## [3.30.1](ixartz/Next-js-Boilerplate@v3.30.0...v3.30.1) (2023-12-17) ### Bug Fixes * api routes not found after apply intl middleware ([4650a5e](ixartz/Next-js-Boilerplate@4650a5e)), closes [#209](ixartz/Next-js-Boilerplate#209)
Problem
Glad to see you added i18n to this boilerplate.
I noticed in
middleware.ts
thatintlMiddleware
inbeforeAuth
will be applied on every request, even if it is an API route.Next-js-Boilerplate/src/middleware.ts
Lines 13 to 23 in 04fba59
Since the API route does not contain the
locale
parameter, this causes a 404 to be returned when usingintlMiddleware
.The example API route
/api/guestbook
is placed in the ignore list, therefore does not apply any middleware, perhaps causing you to overlook this issue.Reproduce
Removing
/api/guestbook
fromignoredRoutes
should reproduce the issue. (which mark it as public route)Potential Fix
I simply added a condition to it to only execute in non-API routes, not sure if there is a better solution.
The text was updated successfully, but these errors were encountered: