package.json

package.json
{
"name": "ascot",
"version": "1.0.1",
"private": true,
"description": "A Next.js template for steel manufacturers, metal roofing suppliers, and metal building dealers. Ship a product catalog, panel and trim profile pages, 3D viewers, and an AI sales assistant, and get highly ranked on Google. Manage content and images with AI using Gallop software. No CMS required.",
"homepage": "https://ascot.gallop.software",
"author": {
"name": "Gallop",
"url": "https://gallop.software"
},
"contributors": [
{
"name": "Chris Baldelomar",
"url": "https://github.com/webplantmedia"
},
{
"name": "Niel Wostan",
"url": "https://github.com/NielWostan"
}
],
"repository": {
"type": "git",
"url": "https://github.com/gallop-software/ascot"
},
"bugs": {
"url": "https://github.com/gallop-software/ascot/issues"
},
"license": "MIT",
"scripts": {
"dev": "next dev",
"build": "npm run blog && next build",
"start": "next start",
"lint": "eslint src/",
"lint:file": "eslint",
"prettier": "prettier --write .",
"ts": "tsc --noEmit",
"lint:next": "eslint src/ --rule 'gallop/no-client-blocks: off' --rule 'gallop/no-container-in-section: off' --rule 'gallop/prefer-component-props: off'",
"lint:gallop": "eslint 'src/app/**/_blocks/' --rule 'gallop/no-client-blocks: warn' --rule 'gallop/no-container-in-section: warn' --rule 'gallop/prefer-component-props: warn'",
"audit": "gallop audit",
"audit:strict": "gallop audit --strict",
"audit:json": "gallop audit --json",
"search": "./_scripts/generate-search.sh",
"blog": "node _scripts/generate-blog-metadata.mjs",
"blocks": "node _scripts/generate-block-index.mjs",
"cf:setup": "cp -n .env.production.sample .env.production 2>/dev/null; echo 'Edit .env.production, then run: npm run cf:secrets (push secrets) and deploy'",
"cf:build": "npm run blog && opennextjs-cloudflare build",
"cf:preview": "cp .env.production .dev.vars 2>/dev/null; npm run cf:build && opennextjs-cloudflare preview",
"cf:deploy": "npm run cf:build && opennextjs-cloudflare deploy",
"cf:upload": "npm run cf:build && opennextjs-cloudflare upload",
"cf:secrets": "wrangler secret bulk .env.production",
"cf:typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts",
"refresh": "rm -rf node_modules .next && npm install",
"clean": "rm -rf node_modules .next package-lock.json && npm install",
"update:check": "npx npm-check-updates",
"update:patch": "npx npm-check-updates -u --target patch && npm run clean",
"update:minor": "npx npm-check-updates -u --target minor && npm run clean",
"update:major": "npx npm-check-updates -u --target latest && npm run clean",
"update:interactive": "npx npm-check-updates -i",
"update:doctor": "npx npm-check-updates --doctor -u",
"unused": "knip",
"check": "npm run lint && npm run ts"
},
"dependencies": {
"@algolia/autocomplete-core": "^1.19.8",
"@headlessui/react": "^2.2.10",
"@iconify/icons-heroicons": "^1.2.9",
"@iconify/icons-lucide": "^1.2.135",
"@iconify/icons-mdi": "^1.2.48",
"@iconify/icons-simple-icons": "^1.2.74",
"@marsidev/react-turnstile": "^1.5.3",
"@next/third-parties": "^16.2.6",
"@react-three/drei": "^10.7.7",
"@react-three/fiber": "^9.6.1",
"@sindresorhus/slugify": "^3.0.0",
"@vercel/analytics": "^1.6.1",
"@vimeo/player": "^2.30.4",
"clsx": "^2.1.1",
"flexsearch": "^0.8.212",
"framer-motion": "^12.39.0",
"jsdom": "^27.4.0",
"luxon": "^3.7.2",
"marked": "^18.0.5",
"next": "^16.2.6",
"openai": "^6.44.0",
"react": "^19",
"react-dom": "^19.2.6",
"react-highlight-words": "^0.21.0",
"react-intersection-observer": "^10.0.3",
"swiper": "^12.1.4",
"three": "^0.180.0",
"valtio": "^2.3.2",
"yet-another-react-lightbox": "^3.32.0"
},
"devDependencies": {
"@gallop.software/canon": "^2.34.0",
"@opennextjs/cloudflare": "^1.20.2",
"@tailwindcss/postcss": "^4.3.0",
"@types/luxon": "^3.7.1",
"@types/node": "^24",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/react-highlight-words": "^0.20.1",
"@types/three": "^0.180.0",
"dotenv": "^17.4.2",
"eslint": "^9",
"eslint-config-next": "^16.2.6",
"knip": "^5.88.1",
"postcss": "^8.5.15",
"prettier": "^3.8.3",
"prettier-plugin-organize-imports": "^4.3.0",
"prettier-plugin-tailwindcss": "^0.8.0",
"tailwindcss": "^4.3.0",
"typescript": "^5",
"wrangler": "^4.113.0"
}
}

Support

Talk to the developers of this project to learn more

We have been building professional websites for big clients for over 15 years. Gallop templates and blocks is our best foundation for SEO websites and web apps.

© 2026 Web Plant Media, LLC