123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- {
- "name": "quran.com",
- "version": "1.0.0",
- "main": "index.js",
- "license": "MIT",
- "engines": {
- "node": "18.x"
- },
- "scripts": {
- "dev": "next dev",
- "dev:https": "node server.js",
- "build": "next build",
- "postbuild": "yarn run generate-sitemap",
- "snapshots:update": "vitest run --update",
- "start": "next start",
- "storybook": "storybook dev -p 6006",
- "build-storybook": "storybook build",
- "lint": "eslint . --ext=tsx,ts,js,jsx",
- "lint:fix": "yarn lint --fix",
- "lint:scss": "yarn stylelint '**/*.scss' --fix",
- "generate-sitemap": "next-sitemap --config next-sitemap.js && node scripts/format-sitemap.js",
- "test": "vitest run",
- "test:integration": "playwright test",
- "test:coverage": "vitest run --coverage",
- "test:watch": "vitest watch",
- "analyze": "cross-env ANALYZE_BUNDLE=true yarn build",
- "lokalise": "node scripts/lokalise.js",
- "chapter-data:format": "node scripts/format-chapter-data-json.js",
- "postinstall": "husky",
- "prepack": "pinst --disable",
- "postpack": "pinst --enable"
- },
- "dependencies": {
- "@babel/eslint-parser": "^7.19.1",
- "@milkdown/core": "^7.3.3",
- "@milkdown/ctx": "^7.3.3",
- "@milkdown/preset-commonmark": "^7.3.3",
- "@milkdown/prose": "^7.3.3",
- "@milkdown/react": "^7.3.3",
- "@milkdown/transformer": "^7.3.3",
- "@milkdown/utils": "^7.3.3",
- "@next/bundle-analyzer": "^12.3.1",
- "@novu/headless": "0.24.0",
- "@radix-ui/react-checkbox": "^1.0.0",
- "@radix-ui/react-collapsible": "^1.0.0",
- "@radix-ui/react-dialog": "^1.0.5",
- "@radix-ui/react-direction": "^1.0.1",
- "@radix-ui/react-dropdown-menu": "^2.0.6",
- "@radix-ui/react-hover-card": "^1.0.7",
- "@radix-ui/react-id": "^1.0.1",
- "@radix-ui/react-polymorphic": "^0.0.14",
- "@radix-ui/react-popover": "^1.0.7",
- "@radix-ui/react-progress": "^1.0.3",
- "@radix-ui/react-radio-group": "^1.1.3",
- "@radix-ui/react-separator": "^1.0.3",
- "@radix-ui/react-slider": "^1.1.2",
- "@radix-ui/react-switch": "^1.0.3",
- "@radix-ui/react-tabs": "^1.0.4",
- "@radix-ui/react-tooltip": "^1.0.7",
- "@radix-ui/react-visually-hidden": "^1.0.3",
- "@reduxjs/toolkit": "^1.8.5",
- "@sanity/client": "^5.2.1",
- "@sanity/image-url": "^1.0.2",
- "@sentry/nextjs": "^7.77.0",
- "@umalqura/core": "^0.0.7",
- "@xstate/react": "^3.0.1",
- "classnames": "^2.3.2",
- "clipboard-copy": "^4.0.1",
- "cookie": "^0.5.0",
- "firebase": "^9.10.0",
- "fuse.js": "^6.6.2",
- "groq": "^3.4.0",
- "humps": "^2.0.1",
- "js-cookie": "^3.0.1",
- "lodash": "^4.17.21",
- "next": "^12.1.5",
- "next-compose-plugins": "^2.2.0",
- "next-fonts": "^1.0.3",
- "next-pwa": "^5.6.0",
- "next-seo": "^5.5.0",
- "next-translate": "^1.6.0",
- "node-fetch": "2",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
- "react-hook-form": "^7.36.1",
- "react-hotkeys-hook": "^3.4.7",
- "react-joyride": "^2.7.2",
- "react-redux": "^8.0.4",
- "react-toastify": "^9.0.8",
- "react-virtuoso": "^2.19.0",
- "redux": "^4.2.0",
- "redux-persist": "^6.0.0",
- "refresh-fetch": "^0.8.0",
- "swr": "1.2.1",
- "xstate": "^4.33.6"
- },
- "devDependencies": {
- "@lokalise/node-api": "^8.0.1",
- "@next/eslint-plugin-next": "^12.3.1",
- "@playwright/test": "^1.26.0",
- "@storybook/addon-a11y": "^7.6.4",
- "@storybook/addon-actions": "^7.6.4",
- "@storybook/addon-essentials": "^7.6.4",
- "@storybook/addon-links": "^7.6.4",
- "@storybook/addon-storysource": "^7.6.4",
- "@storybook/addon-styling-webpack": "^0.0.5",
- "@storybook/nextjs": "^7.6.4",
- "@storybook/react": "^7.6.4",
- "@svgr/webpack": "^6.3.1",
- "@testing-library/react": "^13.4.0",
- "@types/cookie": "^0.5.1",
- "@types/js-cookie": "^3.0.2",
- "@types/lodash": "^4.14.184",
- "@types/node": "^20.10.4",
- "@types/node-fetch": "^2.6.2",
- "@types/qs": "^6.9.7",
- "@types/react": "^18.2.45",
- "@types/react-dom": "^18.2.17",
- "@types/react-redux": "^7.1.23",
- "@types/refresh-fetch": "^0.6.1",
- "@types/wicg-mediasession": "^1.1.3",
- "@typescript-eslint/eslint-plugin": "^6.14.0",
- "@typescript-eslint/parser": "^6.14.0",
- "@vitejs/plugin-react": "^2.1.0",
- "@vitest/coverage-c8": "^0.23.4",
- "adm-zip": "^0.5.9",
- "cross-env": "^7.0.3",
- "dotenv": "^16.0.2",
- "eslint": "^8.24.0",
- "eslint-config-airbnb": "^19.0.4",
- "eslint-config-next": "^14.0.4",
- "eslint-config-prettier": "^8.5.0",
- "eslint-plugin-i18next": "^6.0.0-4",
- "eslint-plugin-import": "^2.26.0",
- "eslint-plugin-jsdoc": "^46.9.0",
- "eslint-plugin-jsx-a11y": "^6.6.1",
- "eslint-plugin-prettier": "^4.2.1",
- "eslint-plugin-react": "^7.31.8",
- "eslint-plugin-react-func": "^0.1.18",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-sonarjs": "^0.15.0",
- "eslint-plugin-storybook": "^0.6.15",
- "eslint-plugin-unicorn": "^43.0.2",
- "husky": "^9.0.11",
- "inquirer": "^8.0.0",
- "inquirer-file-tree-selection-prompt": "^1",
- "jsdom": "^20.0.0",
- "lint-staged": "^13.0.3",
- "next-sitemap": "^3.1.22",
- "pinst": "^3.0.0",
- "postcss": "8",
- "postcss-scss": "^4.0.5",
- "prettier": "^2.7.1",
- "react-docgen-typescript-loader": "^3.7.2",
- "replace-in-file": "^6.3.5",
- "sass": "^1.55.0",
- "sass-loader": "^13.0.2",
- "storybook": "^7.6.4",
- "storybook-addon-rtl": "^1.0.0",
- "stylelint": "14.12.1",
- "stylelint-prettier": "^2.0.0",
- "stylelint-scss": "^4.3.0",
- "stylelint-use-logical": "^2.0.0",
- "superagent": "^8.0.0",
- "typescript": "^4.8.3",
- "vite": "^3.2.5",
- "vitest": "^0.23.4"
- },
- "husky": {
- "hooks": {
- "pre-commit": "lint-staged"
- }
- },
- "lint-staged": {
- "*.{tsx,ts}": "yarn lint:fix",
- "*.scss": "yarn lint:scss",
- "*": "prettier --write"
- }
- }
|