Stack

Remix v2 + React v18 + Tailwind CSS v3

  • Alexandro Martínez
    Author
    by Alexandro Martínez
    10 months ago
  • Powered by the best tools out there.

    package.json

    Learn more about SaasRock technical details by looking at the dependencies.

    {
      "name": "saasrock",
      "version": "0.9.3",
      "private": true,
      "sideEffects": false,
      "type": "module",
      "prisma": {
        "seed": "tsx prisma/seed.ts"
      },
      "scripts": {
        "build": "remix build",
        "dev": "remix dev",
        "lint": "eslint --ext .tsx,.ts .",
        "postinstall": "prisma generate",
        "typecheck": "tsc -b",
        "prettier": "prettier --write '**/*.{ts,tsx}'",
        "start": "remix-serve ./build/index.js"
      },
      "dependencies": {
        "@epic-web/cachified": "^4.0.0",
        "@headlessui/react": "^1.7.17",
        "@headlessui/tailwindcss": "^0.2.0",
        "@monaco-editor/react": "^4.4.5",
        "@notionhq/client": "^2.2.1",
        "@novu/node": "^0.10.2",
        "@novu/notification-center": "^0.10.3",
        "@popperjs/core": "^2.11.8",
        "@prisma/client": "^5.6.0",
        "@remix-run/node": "^2.3.1",
        "@remix-run/react": "^2.3.1",
        "@remix-run/serve": "^2.3.1",
        "@remix-run/v1-route-convention": "^0.1.4",
        "@stripe/stripe-js": "^1.35.0",
        "@supabase/supabase-js": "^2.26.0",
        "@tiptap/core": "^2.0.3",
        "@tiptap/extension-color": "^2.0.3",
        "@tiptap/extension-horizontal-rule": "^2.0.3",
        "@tiptap/extension-image": "^2.0.3",
        "@tiptap/extension-link": "^2.0.0-beta.220",
        "@tiptap/extension-placeholder": "2.0.3",
        "@tiptap/extension-text-style": "^2.0.3",
        "@tiptap/extension-underline": "^2.0.3",
        "@tiptap/pm": "^2.0.0-beta.220",
        "@tiptap/react": "^2.0.3",
        "@tiptap/starter-kit": "^2.0.0-beta.220",
        "@tiptap/suggestion": "^2.0.3",
        "@tremor/react": "^3.11.1",
        "@types/adm-zip": "^0.5.0",
        "@types/dagre": "^0.7.52",
        "@types/postmark": "^2.0.3",
        "adm-zip": "^0.5.9",
        "ajv": "^8.12.0",
        "bcryptjs": "^2.4.3",
        "browser-image-compression": "^1.0.17",
        "clsx": "^1.1.1",
        "company-email-validator": "^1.0.7",
        "crypto-js": "^4.2.0",
        "dagre": "^0.8.5",
        "eventsource-parser": "^1.0.0",
        "handlebars": "^4.7.8",
        "highlight.js": "^11.9.0",
        "html-to-text": "^9.0.5",
        "hyperformula": "^2.0.0",
        "i18next": "^23.1.0",
        "i18next-browser-languagedetector": "^7.1.0",
        "i18next-fs-backend": "^2.2.0",
        "i18next-http-backend": "^2.2.2",
        "is-ip": "^3.1.0",
        "isbot": "^3.7.0",
        "json2csv": "^5.0.7",
        "jsonwebtoken": "^9.0.0",
        "kbar": "^0.1.0-beta.39",
        "lru-cache": "^10.1.0",
        "lucide-react": "^0.244.0",
        "marked": "^4.0.14",
        "moment": "^2.29.1",
        "nanoid": "^3.3.6",
        "numeral": "^2.0.6",
        "octokit": "^1.7.1",
        "openai": "^3.2.1",
        "pdfjs-dist": "2.9.359",
        "platform": "^1.3.6",
        "postmark": "^3.11.0",
        "react": "^18.3.0-canary-593ecee66-20231114",
        "react-beautiful-dnd": "^13.1.1",
        "react-command-palette": "^0.22.1",
        "react-dom": "^18.3.0-canary-593ecee66-20231114",
        "react-google-recaptcha": "^2.1.0",
        "react-hot-toast": "^2.4.1",
        "react-i18next": "^13.5.0",
        "react-json-tree": "^0.17.0",
        "react-quill": "^2.0.0",
        "react-sortablejs": "^6.1.4",
        "reactflow": "^11.10.1",
        "rehype-highlight": "^5.0.2",
        "remix-auth": "^3.6.0",
        "remix-auth-form": "^1.4.0",
        "remix-auth-google": "^1.3.0",
        "remix-i18next": "^5.4.0",
        "remix-typedjson": "^0.4.1",
        "sortablejs": "^1.15.0",
        "spin-delay": "^1.1.0",
        "stripe": "^10.8.0",
        "swagger-ui-dist": "^4.19.0",
        "swr": "^2.2.0",
        "tiny-invariant": "^1.3.1",
        "tippy.js": "^6.3.7",
        "use-debounce": "^9.0.3",
        "uuid": "^9.0.1"
      },
      "devDependencies": {
        "@remix-run/dev": "^2.3.1",
        "@remix-run/eslint-config": "^2.3.1",
        "@tailwindcss/aspect-ratio": "^0.4.2",
        "@tailwindcss/forms": "^0.5.3",
        "@tailwindcss/typography": "^0.5.9",
        "@types/bcryptjs": "^2.4.2",
        "@types/crypto-js": "^4.2.1",
        "@types/html-to-text": "^9.0.1",
        "@types/json2csv": "^5.0.3",
        "@types/marked": "^4.0.3",
        "@types/numeral": "^2.0.2",
        "@types/platform": "^1.3.4",
        "@types/react": "^18.2.22",
        "@types/react-beautiful-dnd": "^13.1.4",
        "@types/react-command-palette": "^0.18.0",
        "@types/react-datepicker": "^4.3.4",
        "@types/react-dom": "^18.2.7",
        "@types/react-google-recaptcha": "^2.1.5",
        "@types/react-table": "^7.7.11",
        "@types/stripe": "^8.0.417",
        "@types/uuid": "^8.3.4",
        "eslint": "^8.54.0",
        "postcss": "^8.4.12",
        "prettier": "^2.8.8",
        "prettier-plugin-tailwindcss": "^0.1.13",
        "prisma": "^5.6.0",
        "remix-flat-routes": "^0.6.2",
        "tailwindcss": "^3.3.5",
        "tailwindcss-animate": "^1.0.6",
        "tsx": "^4.6.2",
        "typescript": "^5.3.2"
      }
    }

    We respect your privacy.

    TLDR: We use cookies for language selection, theme, and analytics. Learn more.