UNPKG

@netlify/framework-info

Version:

Framework detection utility

1,731 lines (1,730 loc) 49.3 kB
// This file is autogenerated at build time export const FRAMEWORKS = [ { "id": "astro", "name": "Astro", "category": "static_site_generator", "detect": { "npmDependencies": [ "astro" ], "excludedNpmDependencies": [], "configFiles": [ "astro.config.mjs" ] }, "dev": { "command": "astro dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "astro build", "directory": "dist" }, "staticAssetsDirectory": "public", "env": {}, "logo": { "default": "https://framework-info.netlify.app/logos/astro/light.svg", "light": "https://framework-info.netlify.app/logos/astro/light.svg", "dark": "https://framework-info.netlify.app/logos/astro/dark.svg" }, "plugins": [] }, { "id": "docusaurus", "name": "Docusaurus", "category": "static_site_generator", "detect": { "npmDependencies": [ "docusaurus" ], "excludedNpmDependencies": [], "configFiles": [ "siteConfig.js" ] }, "dev": { "command": "docusaurus-start", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "docusaurus-build", "directory": "build/<project-name>" }, "staticAssetsDirectory": "static", "logo": { "default": "https://framework-info.netlify.app/logos/docusaurus/default.svg", "light": "https://framework-info.netlify.app/logos/docusaurus/default.svg", "dark": "https://framework-info.netlify.app/logos/docusaurus/default.svg" }, "env": { "BROWSER": "none" }, "plugins": [] }, { "id": "docusaurus-v2", "name": "Docusaurus 2", "category": "static_site_generator", "detect": { "npmDependencies": [ "@docusaurus/core" ], "excludedNpmDependencies": [], "configFiles": [ "docusaurus.config.js" ] }, "dev": { "command": "docusaurus start", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "docusaurus build", "directory": "build" }, "staticAssetsDirectory": "static", "logo": { "default": "https://framework-info.netlify.app/logos/docusaurus/default.svg", "light": "https://framework-info.netlify.app/logos/docusaurus/default.svg", "dark": "https://framework-info.netlify.app/logos/docusaurus/default.svg" }, "env": { "BROWSER": "none" }, "plugins": [] }, { "id": "eleventy", "name": "Eleventy", "category": "static_site_generator", "detect": { "npmDependencies": [ "@11ty/eleventy" ], "excludedNpmDependencies": [], "configFiles": [ ".eleventy.js", "eleventy.config.js", "eleventy.config.cjs" ] }, "dev": { "command": "eleventy --serve", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "eleventy", "directory": "_site" }, "logo": { "default": "https://framework-info.netlify.app/logos/eleventy/default.svg", "light": "https://framework-info.netlify.app/logos/eleventy/default.svg", "dark": "https://framework-info.netlify.app/logos/eleventy/default.svg" }, "env": {}, "plugins": [] }, { "id": "gatsby", "name": "Gatsby", "category": "static_site_generator", "detect": { "npmDependencies": [ "gatsby" ], "excludedNpmDependencies": [], "configFiles": [ "gatsby-config.js", "gatsby-config.ts" ] }, "dev": { "command": "gatsby develop", "port": 8000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "gatsby build", "directory": "public" }, "staticAssetsDirectory": "static", "env": { "GATSBY_LOGGER": "yurnalist", "GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS": "true", "AWS_LAMBDA_JS_RUNTIME": "nodejs14.x", "NODE_VERSION": "14" }, "logo": { "default": "https://framework-info.netlify.app/logos/gatsby/default.svg", "light": "https://framework-info.netlify.app/logos/gatsby/light.svg", "dark": "https://framework-info.netlify.app/logos/gatsby/dark.svg" }, "plugins": [ { "packageName": "@netlify/plugin-gatsby", "condition": { "minNodeVersion": "12.13.0" } } ] }, { "id": "gridsome", "name": "Gridsome", "category": "static_site_generator", "detect": { "npmDependencies": [ "gridsome" ], "excludedNpmDependencies": [], "configFiles": [ "gridsome.config.js" ] }, "dev": { "command": "gridsome develop", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "gridsome build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/gridsome/default.svg", "light": "https://framework-info.netlify.app/logos/gridsome/light.svg", "dark": "https://framework-info.netlify.app/logos/gridsome/dark.svg" }, "env": {}, "plugins": [] }, { "id": "hexo", "name": "Hexo", "category": "static_site_generator", "detect": { "npmDependencies": [ "hexo" ], "excludedNpmDependencies": [], "configFiles": [ "_config.yml" ] }, "dev": { "command": "hexo server", "port": 4000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "hexo generate", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/hexo/default.svg", "light": "https://framework-info.netlify.app/logos/hexo/light.svg", "dark": "https://framework-info.netlify.app/logos/hexo/dark.svg" }, "env": {}, "plugins": [] }, { "id": "hugo", "name": "Hugo", "category": "static_site_generator", "detect": { "npmDependencies": [], "excludedNpmDependencies": [], "configFiles": [ "config.json", "config.toml", "config.yaml", "hugo.toml" ] }, "dev": { "command": "hugo server -w", "port": 1313, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "hugo", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/hugo/default.svg", "light": "https://framework-info.netlify.app/logos/hugo/default.svg", "dark": "https://framework-info.netlify.app/logos/hugo/default.svg" }, "env": {}, "plugins": [] }, { "id": "hydrogen", "name": "Hydrogen", "category": "static_site_generator", "detect": { "npmDependencies": [ "@shopify/hydrogen" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "vite", "port": 3000, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "npm run build", "directory": "dist/client" }, "logo": { "default": "https://framework-info.netlify.app/logos/hydrogen/default.svg", "light": "https://framework-info.netlify.app/logos/hydrogen/default.svg", "dark": "https://framework-info.netlify.app/logos/hydrogen/default.svg" }, "env": {}, "plugins": [] }, { "id": "jekyll", "name": "Jekyll", "category": "static_site_generator", "detect": { "npmDependencies": [], "excludedNpmDependencies": [], "configFiles": [ "_config.yml", "_config.yaml", "_config.toml" ] }, "dev": { "command": "bundle exec jekyll serve -w", "port": 4000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "bundle exec jekyll build", "directory": "_site" }, "logo": { "default": "https://framework-info.netlify.app/logos/jekyll/dark.svg", "light": "https://framework-info.netlify.app/logos/jekyll/light.svg", "dark": "https://framework-info.netlify.app/logos/jekyll/dark.svg" }, "env": {}, "plugins": [] }, { "id": "middleman", "name": "Middleman", "category": "static_site_generator", "detect": { "npmDependencies": [], "excludedNpmDependencies": [], "configFiles": [ "config.rb" ] }, "dev": { "command": "bundle exec middleman server", "port": 4567, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "bundle exec middleman build", "directory": "build" }, "logo": { "default": "https://framework-info.netlify.app/logos/middleman/default.svg", "light": "https://framework-info.netlify.app/logos/middleman/default.svg", "dark": "https://framework-info.netlify.app/logos/middleman/default.svg" }, "env": {}, "plugins": [] }, { "id": "next-nx", "name": "Next.js with Nx", "category": "static_site_generator", "detect": { "npmDependencies": [ "@nrwl/next" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "nx serve", "port": 4200, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "nx build", "directory": "dist/apps/<app name>/.next" }, "env": {}, "plugins": [ { "packageName": "@netlify/plugin-nextjs", "condition": { "minNodeVersion": "10.13.0" } } ] }, { "id": "next", "name": "Next.js", "category": "static_site_generator", "detect": { "npmDependencies": [ "next" ], "excludedNpmDependencies": [ "@nrwl/next" ], "configFiles": [] }, "dev": { "command": "next", "port": 3000, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "next build", "directory": ".next" }, "logo": { "default": "https://framework-info.netlify.app/logos/nextjs/light.svg", "light": "https://framework-info.netlify.app/logos/nextjs/light.svg", "dark": "https://framework-info.netlify.app/logos/nextjs/dark.svg" }, "env": {}, "plugins": [ { "packageName": "@netlify/plugin-nextjs", "condition": { "minNodeVersion": "10.13.0" } } ] }, { "id": "blitz", "name": "Blitz.js", "category": "static_site_generator", "detect": { "npmDependencies": [ "blitz" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "blitz dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "blitz build", "directory": "out" }, "logo": { "default": "https://framework-info.netlify.app/logos/blitz/light.svg", "light": "https://framework-info.netlify.app/logos/blitz/light.svg", "dark": "https://framework-info.netlify.app/logos/blitz/dark.svg" }, "env": {}, "plugins": [] }, { "id": "nuxt", "name": "Nuxt 2", "category": "static_site_generator", "detect": { "npmDependencies": [ "nuxt", "nuxt-edge" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "nuxt", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "nuxt generate", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/nuxt/default.svg", "light": "https://framework-info.netlify.app/logos/nuxt/light.svg", "dark": "https://framework-info.netlify.app/logos/nuxt/dark.svg" }, "env": {}, "plugins": [] }, { "id": "nuxt3", "name": "Nuxt 3", "category": "static_site_generator", "detect": { "npmDependencies": [ "nuxt3" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "npm run dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "npm run build", "directory": "dist" }, "env": { "AWS_LAMBDA_JS_RUNTIME": "nodejs14.x", "NODE_VERSION": "14" }, "logo": { "default": "https://framework-info.netlify.app/logos/nuxt/default.svg", "light": "https://framework-info.netlify.app/logos/nuxt/light.svg", "dark": "https://framework-info.netlify.app/logos/nuxt/dark.svg" }, "plugins": [] }, { "id": "phenomic", "name": "Phenomic", "category": "static_site_generator", "detect": { "npmDependencies": [ "@phenomic/core" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "phenomic start", "port": 3333, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "phenomic build", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/phenomic/default.svg", "light": "https://framework-info.netlify.app/logos/phenomic/default.svg", "dark": "https://framework-info.netlify.app/logos/phenomic/default.svg" }, "env": {}, "plugins": [] }, { "id": "qwik", "name": "Qwik", "category": "static_site_generator", "detect": { "npmDependencies": [ "@builder.io/qwik" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "vite", "port": 5173, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "npm run build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/qwik/default.svg", "light": "https://framework-info.netlify.app/logos/qwik/default.svg", "dark": "https://framework-info.netlify.app/logos/qwik/default.svg" }, "env": {}, "plugins": [] }, { "id": "react-static", "name": "React Static", "category": "static_site_generator", "detect": { "npmDependencies": [ "react-static" ], "excludedNpmDependencies": [], "configFiles": [ "static.config.js" ] }, "dev": { "command": "react-static start", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "react-static build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/react-static/default.png", "light": "https://framework-info.netlify.app/logos/react-static/default.png", "dark": "https://framework-info.netlify.app/logos/react-static/default.png" }, "env": {}, "plugins": [] }, { "id": "redwoodjs", "name": "RedwoodJS", "category": "static_site_generator", "detect": { "npmDependencies": [ "@redwoodjs/core" ], "excludedNpmDependencies": [], "configFiles": [ "redwood.toml" ] }, "dev": { "command": "yarn rw dev", "port": 8910, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "rw deploy netlify", "directory": "web/dist" }, "staticAssetsDirectory": "public", "logo": { "default": "https://framework-info.netlify.app/logos/redwoodjs/default.svg", "light": "https://framework-info.netlify.app/logos/redwoodjs/default.svg", "dark": "https://framework-info.netlify.app/logos/redwoodjs/default.svg" }, "env": {}, "plugins": [] }, { "id": "remix", "name": "Remix", "category": "static_site_generator", "detect": { "npmDependencies": [ "remix", "@remix-run/netlify", "@remix-run/netlify-edge" ], "excludedNpmDependencies": [], "configFiles": [ "remix.config.js" ] }, "dev": { "command": "remix watch" }, "build": { "command": "remix build", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/remix/default.svg", "light": "https://framework-info.netlify.app/logos/remix/light.svg", "dark": "https://framework-info.netlify.app/logos/remix/dark.svg" }, "env": {}, "plugins": [] }, { "id": "solid-js", "name": "SolidJS", "category": "static_site_generator", "detect": { "npmDependencies": [ "solid-js" ], "excludedNpmDependencies": [ "solid-start" ], "configFiles": [] }, "dev": { "command": "npm run dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "npm run build", "directory": "netlify" }, "logo": { "default": "https://framework-info.netlify.app/logos/solid-js/default.svg", "light": "https://framework-info.netlify.app/logos/solid-js/default.svg", "dark": "https://framework-info.netlify.app/logos/solid-js/dark.svg" }, "env": {}, "plugins": [] }, { "id": "solid-start", "name": "Solid Start", "category": "static_site_generator", "detect": { "npmDependencies": [ "solid-start" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "solid-start dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "solid-start build", "directory": "netlify" }, "logo": { "default": "https://framework-info.netlify.app/logos/solid-start/default.svg", "light": "https://framework-info.netlify.app/logos/solid-start/default.svg", "dark": "https://framework-info.netlify.app/logos/solid-start/default.svg" }, "env": {}, "plugins": [] }, { "id": "stencil", "name": "Stencil", "category": "static_site_generator", "detect": { "npmDependencies": [ "@stencil/core" ], "excludedNpmDependencies": [], "configFiles": [ "stencil.config.ts" ] }, "dev": { "command": "stencil build --dev --watch --serve", "port": 3333, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "stencil build", "directory": "www" }, "logo": { "default": "https://framework-info.netlify.app/logos/stencil/light.svg", "light": "https://framework-info.netlify.app/logos/stencil/light.svg", "dark": "https://framework-info.netlify.app/logos/stencil/dark.svg" }, "env": { "BROWSER": "none", "PORT": "3000" }, "plugins": [] }, { "id": "vuepress", "name": "VuePress", "category": "static_site_generator", "detect": { "npmDependencies": [ "vuepress" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "vuepress dev", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "vuepress build", "directory": ".vuepress/dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/vuepress/default.svg", "light": "https://framework-info.netlify.app/logos/vuepress/default.svg", "dark": "https://framework-info.netlify.app/logos/vuepress/default.svg" }, "env": {}, "plugins": [] }, { "id": "assemble", "name": "Assemble", "category": "static_site_generator", "detect": { "npmDependencies": [ "assemble" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": {}, "build": { "command": "grunt build", "directory": "dist" }, "env": {}, "logo": { "default": "https://framework-info.netlify.app/logos/assemble/default.svg", "light": "https://framework-info.netlify.app/logos/assemble/default.svg", "dark": "https://framework-info.netlify.app/logos/assemble/default.svg" }, "plugins": [] }, { "id": "docpad", "name": "DocPad", "category": "static_site_generator", "detect": { "npmDependencies": [ "docpad" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "docpad run", "port": 9778, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "docpad generate", "directory": "out" }, "env": {}, "plugins": [] }, { "id": "harp", "name": "Harp", "category": "static_site_generator", "detect": { "npmDependencies": [ "harp" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "harp server", "port": 9000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "harp compile", "directory": "www" }, "logo": { "default": "https://framework-info.netlify.app/logos/harp/default.svg", "light": "https://framework-info.netlify.app/logos/harp/light.svg", "dark": "https://framework-info.netlify.app/logos/harp/default.svg" }, "env": {}, "plugins": [] }, { "id": "metalsmith", "name": "Metalsmith", "category": "static_site_generator", "detect": { "npmDependencies": [ "metalsmith" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": {}, "build": { "command": "metalsmith", "directory": "build" }, "logo": { "default": "https://framework-info.netlify.app/logos/metalsmith/default.svg", "light": "https://framework-info.netlify.app/logos/metalsmith/default.svg", "dark": "https://framework-info.netlify.app/logos/metalsmith/default.svg" }, "env": {}, "plugins": [] }, { "id": "roots", "name": "Roots", "category": "static_site_generator", "detect": { "npmDependencies": [ "roots" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "roots watch", "port": 1111, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "roots compile", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/roots/default.svg", "light": "https://framework-info.netlify.app/logos/roots/default.svg", "dark": "https://framework-info.netlify.app/logos/roots/default.svg" }, "env": {}, "plugins": [] }, { "id": "wintersmith", "name": "Wintersmith", "category": "static_site_generator", "detect": { "npmDependencies": [ "wintersmith" ], "excludedNpmDependencies": [], "configFiles": [ "config.json" ] }, "dev": { "command": "wintersmith preview", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "wintersmith build", "directory": "build" }, "logo": { "default": "https://framework-info.netlify.app/logos/wintersmith/default.svg", "light": "https://framework-info.netlify.app/logos/wintersmith/default.svg", "dark": "https://framework-info.netlify.app/logos/wintersmith/default.svg" }, "env": {}, "plugins": [] }, { "id": "cecil", "name": "Cecil", "category": "static_site_generator", "detect": { "npmDependencies": [], "excludedNpmDependencies": [], "configFiles": [ "config.yml" ] }, "dev": { "command": "cecil serve", "port": 8000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "cecil build", "directory": "_site" }, "env": {}, "logo": { "default": "https://framework-info.netlify.app/logos/cecil/default.svg", "light": "https://framework-info.netlify.app/logos/cecil/default.svg", "dark": "https://framework-info.netlify.app/logos/cecil/default.svg" }, "plugins": [] }, { "id": "zola", "name": "Zola", "category": "static_site_generator", "detect": { "npmDependencies": [], "excludedNpmDependencies": [], "configFiles": [ "config.toml" ] }, "dev": { "command": "zola serve", "port": 1111, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "zola build", "directory": "public" }, "env": {}, "plugins": [] }, { "id": "angular", "name": "Angular", "category": "frontend_framework", "detect": { "npmDependencies": [ "@angular/cli" ], "excludedNpmDependencies": [], "configFiles": [ "angular.json" ] }, "dev": { "command": "ng serve", "port": 4200, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "ng build --prod", "directory": "dist/" }, "logo": { "default": "https://framework-info.netlify.app/logos/angular/default.svg", "light": "https://framework-info.netlify.app/logos/angular/default.svg", "dark": "https://framework-info.netlify.app/logos/angular/default.svg" }, "env": {}, "plugins": [] }, { "id": "create-react-app", "name": "Create React App", "category": "frontend_framework", "detect": { "npmDependencies": [ "react-scripts" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "react-scripts start", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "react-scripts build", "directory": "build" }, "staticAssetsDirectory": "public", "logo": { "default": "https://framework-info.netlify.app/logos/create-react-app/default.svg", "light": "https://framework-info.netlify.app/logos/create-react-app/default.svg", "dark": "https://framework-info.netlify.app/logos/create-react-app/default.svg" }, "env": { "BROWSER": "none", "PORT": "3000" }, "plugins": [] }, { "id": "ember", "name": "Ember.js", "category": "frontend_framework", "detect": { "npmDependencies": [ "ember-cli" ], "excludedNpmDependencies": [], "configFiles": [ "ember-cli-build.js" ] }, "dev": { "command": "ember serve", "port": 4200, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "ember build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/ember/default.svg", "light": "https://framework-info.netlify.app/logos/ember/light.svg", "dark": "https://framework-info.netlify.app/logos/ember/dark.svg" }, "env": {}, "plugins": [] }, { "id": "expo", "name": "Expo", "category": "frontend_framework", "detect": { "npmDependencies": [ "expo" ], "excludedNpmDependencies": [], "configFiles": [ "app.json" ] }, "dev": { "command": "expo start --web", "port": 19006, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "expo build:web", "directory": "web-build" }, "logo": { "default": "https://framework-info.netlify.app/logos/expo/default.svg", "light": "https://framework-info.netlify.app/logos/expo/light.svg", "dark": "https://framework-info.netlify.app/logos/expo/dark.svg" }, "env": {}, "plugins": [] }, { "id": "quasar", "name": "Quasar", "category": "frontend_framework", "detect": { "npmDependencies": [ "@quasar/app" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "quasar dev -p 8081", "port": 8081, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "quasar build", "directory": "dist/spa" }, "logo": { "default": "https://framework-info.netlify.app/logos/quasar/default.svg", "light": "https://framework-info.netlify.app/logos/quasar/default.svg", "dark": "https://framework-info.netlify.app/logos/quasar/default.svg" }, "env": {}, "plugins": [] }, { "id": "quasar-v0.17", "name": "Quasar", "category": "frontend_framework", "detect": { "npmDependencies": [ "quasar-cli" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "quasar dev -p 8080", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "quasar build", "directory": ".quasar" }, "logo": { "default": "https://framework-info.netlify.app/logos/quasar/default.svg", "light": "https://framework-info.netlify.app/logos/quasar/default.svg", "dark": "https://framework-info.netlify.app/logos/quasar/default.svg" }, "env": {}, "plugins": [] }, { "id": "sapper", "name": "Sapper", "category": "frontend_framework", "detect": { "npmDependencies": [ "sapper" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "sapper dev", "port": 3000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "sapper export", "directory": "__sapper__/export" }, "logo": { "default": "https://framework-info.netlify.app/logos/sapper/default.svg", "light": "https://framework-info.netlify.app/logos/sapper/default.svg", "dark": "https://framework-info.netlify.app/logos/sapper/default.svg" }, "staticAssetsDirectory": "static", "env": {}, "plugins": [] }, { "id": "svelte", "name": "Svelte", "category": "frontend_framework", "detect": { "npmDependencies": [ "svelte" ], "excludedNpmDependencies": [ "sapper", "@sveltejs/kit" ], "configFiles": [] }, "dev": { "command": "npm run dev", "port": 5000, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "npm run build", "directory": "public" }, "logo": { "default": "https://framework-info.netlify.app/logos/svelte-kit/default.svg", "light": "https://framework-info.netlify.app/logos/svelte-kit/default.svg", "dark": "https://framework-info.netlify.app/logos/svelte-kit/default.svg" }, "env": {}, "plugins": [] }, { "id": "svelte-kit", "name": "SvelteKit", "category": "frontend_framework", "detect": { "npmDependencies": [ "@sveltejs/kit" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "vite dev", "port": 5173, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "vite build", "directory": "build" }, "logo": { "default": "https://framework-info.netlify.app/logos/svelte-kit/default.svg", "light": "https://framework-info.netlify.app/logos/svelte-kit/default.svg", "dark": "https://framework-info.netlify.app/logos/svelte-kit/default.svg" }, "staticAssetsDirectory": "static", "env": {}, "plugins": [] }, { "id": "vue", "name": "Vue.js", "category": "frontend_framework", "detect": { "npmDependencies": [ "@vue/cli-service" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "vue-cli-service serve", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "vue-cli-service build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/vue/default.svg", "light": "https://framework-info.netlify.app/logos/vue/default.svg", "dark": "https://framework-info.netlify.app/logos/vue/default.svg" }, "env": {}, "plugins": [] }, { "id": "brunch", "name": "Brunch", "category": "build_tool", "detect": { "npmDependencies": [ "brunch" ], "excludedNpmDependencies": [], "configFiles": [ "brunch-config.js" ] }, "dev": { "command": "brunch watch --server", "port": 3333, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "brunch build", "directory": "public" }, "env": {}, "logo": { "default": "https://framework-info.netlify.app/logos/brunch/default.svg", "light": "https://framework-info.netlify.app/logos/brunch/default.svg", "dark": "https://framework-info.netlify.app/logos/brunch/default.svg" }, "plugins": [] }, { "id": "parcel", "name": "Parcel", "category": "build_tool", "detect": { "npmDependencies": [ "parcel-bundler", "parcel" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "parcel", "port": 1234, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "parcel build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/parcel/default.svg", "light": "https://framework-info.netlify.app/logos/parcel/default.svg", "dark": "https://framework-info.netlify.app/logos/parcel/default.svg" }, "env": {}, "plugins": [] }, { "id": "grunt", "name": "Grunt", "category": "build_tool", "detect": { "npmDependencies": [ "grunt" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": {}, "build": { "command": "grunt build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/grunt/default.svg", "light": "https://framework-info.netlify.app/logos/grunt/default.svg", "dark": "https://framework-info.netlify.app/logos/grunt/default.svg" }, "env": {}, "plugins": [] }, { "id": "gulp", "name": "gulp.js", "category": "build_tool", "detect": { "npmDependencies": [ "gulp" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": {}, "build": { "command": "gulp build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/gulp/default.svg", "light": "https://framework-info.netlify.app/logos/gulp/default.svg", "dark": "https://framework-info.netlify.app/logos/gulp/default.svg" }, "env": {}, "plugins": [] }, { "id": "vite", "name": "Vite", "category": "build_tool", "detect": { "npmDependencies": [ "vite" ], "excludedNpmDependencies": [ "@shopify/hydrogen", "@builder.io/qwik", "solid-start", "solid-js", "@sveltejs/kit" ], "configFiles": [] }, "dev": { "command": "vite", "port": 5173, "pollingStrategies": [ { "name": "TCP" } ] }, "build": { "command": "vite build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/vite/default.svg", "light": "https://framework-info.netlify.app/logos/vite/default.svg", "dark": "https://framework-info.netlify.app/logos/vite/default.svg" }, "env": {}, "plugins": [] }, { "id": "wmr", "name": "WMR", "category": "build_tool", "detect": { "npmDependencies": [ "wmr" ], "excludedNpmDependencies": [], "configFiles": [] }, "dev": { "command": "wmr", "port": 8080, "pollingStrategies": [ { "name": "TCP" }, { "name": "HTTP" } ] }, "build": { "command": "wmr build", "directory": "dist" }, "logo": { "default": "https://framework-info.netlify.app/logos/wmr/default.svg", "light": "https://framework-info.netlify.app/logos/wmr/default.svg", "dark": "https://framework-info.netlify.app/logos/wmr/default.svg" }, "env": {}, "plugins": [] } ];