mikah13

Published

- 1 min read

Snippets

img of Snippets

.prettierrc

   {
	"arrowParens": "always",
	"proseWrap": "always",
	"singleQuote": true,
	"trailingComma": "es5",
	"bracketSameLine": true,
	"printWidth": 100,
	"tabWidth": 4,
	"useTabs": true,
	"semi": false
}

tsconfig.json

   {
	"compilerOptions": {
		/* Base Options: */
		"esModuleInterop": true,
		"skipLibCheck": true,
		"target": "es2022",
		"allowJs": true,
		"resolveJsonModule": true,
		"moduleDetection": "force",
		"isolatedModules": true,

		/* Strictness */
		"strict": true,
		"noUncheckedIndexedAccess": true,
		"checkJs": true,

		/* Bundled projects */
		"lib": ["dom", "dom.iterable", "ES2022"],
		"noEmit": true,
		"module": "ESNext",
		"moduleResolution": "Bundler",
		"jsx": "preserve",
		"plugins": [{ "name": "next" }],
		"incremental": true,

		/* Path Aliases */
		"baseUrl": ".",
		"paths": {
			"@/*": ["./src/*"]
		}
	},
	"include": [
		".eslintrc.cjs",
		"next-env.d.ts",
		"**/*.ts",
		"**/*.tsx",
		"**/*.cjs",
		"**/*.mjs",
		".next/types/**/*.ts"
	],
	"exclude": ["node_modules"]
}

format-and-lint.yml

   name: Format and Lint

on:
  pull_request:
    branches:
      - main

jobs:
  format-and-lint:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v3

      - name: Node lts
        uses: actions/setup-node@v3
        with:
          node-version: 'latest'

      - name: Install Dependencies
        run: npm install

      - name: Format Code
        run: npm run format

      - name: Lint Code
        run: npm run lint

CSS Reset

   * {
	box-sizing: border-box;
	position: relative;
	min-width: 0;
}

body {
	min-height: 100dvh;
}

h1,
h2,
h3,
h4 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}