{
  "name": "nextjs-typescript-mdx-blog",
  "version": "1.0.0",
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "type-check": "tsc --pretty --noEmit",
    "format": "prettier --write .",
    "lint": "eslint . --ext ts --ext tsx --ext js",
    "test": "jest",
    "test-all": "yarn lint && yarn type-check && yarn test"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "pre-push": "yarn run type-check"
    }
  },
  "lint-staged": {
    "*.@(ts|tsx)": [
      "yarn lint",
      "yarn format"
    ]
  },
  "dependencies": {
    "@headlessui/react": "^1.6.5",
    "@heroicons/react": "^1.0.6",
    "@next/mdx": "^12.2.0",
    "@reduxjs/toolkit": "^1.8.3",
    "@tailwindcss/typography": "^0.5.2",
    "axios": "^0.27.2",
    "date-fns": "^2.28.0",
    "gray-matter": "^4.0.3",
    "mdx-prism": "^0.3.4",
    "mysql2": "^2.3.3",
    "next": "^12.2.0",
    "next-mdx-remote": "^4.0.3",
    "next-themes": "^0.2.0",
    "react": "^18.2.0",
    "react-confirm-alert": "^3.0.2",
    "react-dom": "^18.2.0",
    "react-hook-form": "^7.33.1",
    "react-redux": "^8.0.2",
    "react-toastify": "^9.0.5",
    "rehype-autolink-headings": "^6.1.1",
    "rehype-slug": "^5.0.1",
    "remark-code-titles": "^0.1.2",
    "remark-gfm": "^3.0.1"
  },
  "devDependencies": {
    "@testing-library/react": "^13.3.0",
    "@types/jest": "^28.1.4",
    "@types/node": "^18.0.0",
    "@types/react": "^18.0.14",
    "@typescript-eslint/eslint-plugin": "^5.30.3",
    "autoprefixer": "^10.4.7",
    "babel-jest": "^28.1.2",
    "eslint": "^8.19.0",
    "eslint-config-next": "^12.2.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-react": "^7.30.1",
    "husky": "^8.0.1",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^28.1.2",
    "jest-watch-typeahead": "^1.1.0",
    "lint-staged": "^13.0.3",
    "postcss": "^8.4.14",
    "prettier": "^2.7.1",
    "rehype": "^12.0.1",
    "tailwindcss": "^3.1.4",
    "typescript": "^4.7.4"
  }
}
