<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: espython</title>
    <description>The latest articles on DEV Community by espython (@es_pythonus).</description>
    <link>https://dev.to/es_pythonus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F212939%2Feb91933d-f93f-4f41-852c-43a71a57111c.jpg</url>
      <title>DEV Community: espython</title>
      <link>https://dev.to/es_pythonus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/es_pythonus"/>
    <language>en</language>
    <item>
      <title>Setup a Next.JS project for production-ready</title>
      <dc:creator>espython</dc:creator>
      <pubDate>Sat, 22 Jun 2024 22:52:24 +0000</pubDate>
      <link>https://dev.to/es_pythonus/setup-a-nextjs-project-for-production-ready-2nho</link>
      <guid>https://dev.to/es_pythonus/setup-a-nextjs-project-for-production-ready-2nho</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Create a Next.JS project  for this tutorial I’m using bun but you 
can npm or yarn.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;bunx create-next-app@latest app-name&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrkxjbbpu3qqmg6ssr3s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrkxjbbpu3qqmg6ssr3s.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait till the Dependency installation finishes and navigate to the &lt;br&gt;
   project directory &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ESLint/Prettier setup overview
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Add  Packages: &lt;br&gt;
   &lt;code&gt;bun add  --dev eslint-plugin-prettier eslint-config-prettier  &lt;br&gt;
   prettier&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Modify  .eslintrc.json file as below you can change rules as you &lt;br&gt;
  like&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9j5jd86iqedfn925vu4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe9j5jd86iqedfn925vu4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create prettier configs files .prettierrc and .prettierignore &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5awttyvwqicyw6migbxw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5awttyvwqicyw6migbxw.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83xc73kats7phylcb1vz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83xc73kats7phylcb1vz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;   Add lint/format scripts to the package.json file&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

    "lint": "eslint --ext .ts,.tsx ./src",
    "prettier": "prettier {src,__{tests,mocks}__}/**/*.{ts,tsx}",
    "format:check": "bun run prettier --check",
    "format:fix": "bun run prettier  --write",



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add Pre-commit Hook. &lt;br&gt;
You can use Prettier with a pre-commit tool. This can re-format &lt;br&gt;
your files that are marked as “staged” via git add before you &lt;br&gt;
commit.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bunx mrm@2 lint-staged&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This will install husky and lint-staged, then add a configuration to the project’s package.json that will automatically format supported files in a pre-commit hook.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
