@vercel/frameworks
Advanced tools
Comparing version 0.2.1-canary.0 to 0.2.1-canary.1
@@ -10,3 +10,1214 @@ import { Framework } from './types'; | ||
*/ | ||
export declare const frameworks: Framework[]; | ||
export default frameworks; | ||
export declare const frameworks: readonly [{ | ||
readonly name: "Blitz.js"; | ||
readonly slug: "blitzjs"; | ||
readonly demo: "https://blitzjs.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/blitz.svg"; | ||
readonly tagline: "Blitz.js: The Fullstack React Framework"; | ||
readonly description: "A brand new Blitz.js app - the result of running `npx blitz new`."; | ||
readonly website: "https://blitzjs.com"; | ||
readonly useRuntime: { | ||
readonly src: "package.json"; | ||
readonly use: "@vercel/next"; | ||
}; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"blitz\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `blitz build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "blitz start"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "Next.js default"; | ||
}; | ||
}; | ||
readonly devCommand: "blitz start"; | ||
readonly buildCommand: "blitz build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Next.js"; | ||
readonly slug: "nextjs"; | ||
readonly demo: "https://nextjs.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/next.svg"; | ||
readonly tagline: "Next.js makes you productive with React instantly — whether you want to build static or dynamic sites."; | ||
readonly description: "A Next.js app and a Serverless Function API."; | ||
readonly website: "https://nextjs.org"; | ||
readonly sort: 1; | ||
readonly useRuntime: { | ||
readonly src: "package.json"; | ||
readonly use: "@vercel/next"; | ||
}; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"next\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `next build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "next dev --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "Next.js default"; | ||
}; | ||
}; | ||
readonly recommendedIntegrations: readonly [{ | ||
readonly id: "oac_5lUsiANun1DEzgLg0NZx5Es3"; | ||
readonly dependencies: readonly ["next-plugin-sentry", "next-sentry-source-maps"]; | ||
}]; | ||
readonly devCommand: "next dev --port $PORT"; | ||
readonly buildCommand: "next build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Gatsby.js"; | ||
readonly slug: "gatsby"; | ||
readonly demo: "https://gatsby.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/gatsby.svg"; | ||
readonly tagline: "Gatsby helps developers build blazing fast websites and apps with React."; | ||
readonly description: "A Gatsby app, using the default starter theme and a Serverless Function API."; | ||
readonly website: "https://gatsbyjs.org"; | ||
readonly sort: 2; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"gatsby\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `gatsby build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "gatsby develop --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly dependency: "gatsby"; | ||
readonly devCommand: "gatsby develop --port $PORT"; | ||
readonly buildCommand: "gatsby build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: (dirPrefix: string) => Promise<any>; | ||
readonly cachePattern: "{.cache,public}/**"; | ||
}, { | ||
readonly name: "Hexo"; | ||
readonly slug: "hexo"; | ||
readonly demo: "https://hexo.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/hexo.svg"; | ||
readonly tagline: "Hexo is a fast, simple & powerful blog framework powered by Node.js."; | ||
readonly description: "A Hexo site, created with the Hexo CLI."; | ||
readonly website: "https://hexo.io"; | ||
readonly sort: 3; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"hexo\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `hexo generate`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "hexo server --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly dependency: "hexo"; | ||
readonly devCommand: "hexo server --port $PORT"; | ||
readonly buildCommand: "hexo generate"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Eleventy"; | ||
readonly slug: "eleventy"; | ||
readonly demo: "https://eleventy.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/eleventy.svg"; | ||
readonly tagline: "11ty is a simpler static site generator written in JavaScript, created to be an alternative to Jekyll."; | ||
readonly description: "An Eleventy site, created with npm init."; | ||
readonly website: "https://www.11ty.dev"; | ||
readonly sort: 4; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@11ty\\/eleventy\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `npx @11ty/eleventy`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "npx @11ty/eleventy --serve --watch --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "_site"; | ||
}; | ||
}; | ||
readonly dependency: "@11ty/eleventy"; | ||
readonly devCommand: "npx @11ty/eleventy --serve --watch --port $PORT"; | ||
readonly buildCommand: "npx @11ty/eleventy"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly cachePattern: ".cache/**"; | ||
}, { | ||
readonly name: "Docusaurus 2"; | ||
readonly slug: "docusaurus-2"; | ||
readonly demo: "https://docusaurus-2.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/docusaurus.svg"; | ||
readonly tagline: "Docusaurus makes it easy to maintain Open Source documentation websites."; | ||
readonly description: "A static Docusaurus site that makes it easy to maintain OSS documentation."; | ||
readonly website: "https://v2.docusaurus.io"; | ||
readonly detectors: { | ||
readonly some: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@docusaurus\\/core\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `docusaurus build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "docusaurus start --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "@docusaurus/core"; | ||
readonly devCommand: "docusaurus start --port $PORT"; | ||
readonly buildCommand: "docusaurus build"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "^/[^./]+\\.[0-9a-f]{8}\\.(css|js)$"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "^/assets/images/[^/]+-[0-9a-f]{32}\\.(ico|svg|jpg|jpeg|png|gif|webp)$"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "^/assets/medias/[^/]+-[0-9a-f]{32}\\.(ogv|wav|mp3|m4a|aac|oga|flac)$"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "^/assets/files/[^/]+-[0-9a-f]{32}\\.(pdf|doc|docx|xls|xlsx|zip|rar)$"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "^/ideal-img/[^/]+\\.[0-9a-f]{7}\\.\\d+\\.(png|jpe?g|gif)$"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: ".*"; | ||
readonly status: 404; | ||
readonly dest: "404.html"; | ||
}]; | ||
}, { | ||
readonly name: "Docusaurus 1"; | ||
readonly slug: "docusaurus"; | ||
readonly demo: "https://docusaurus.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/docusaurus.svg"; | ||
readonly tagline: "Docusaurus makes it easy to maintain Open Source documentation websites."; | ||
readonly description: "A static Docusaurus site that makes it easy to maintain OSS documentation."; | ||
readonly website: "https://docusaurus.io/"; | ||
readonly detectors: { | ||
readonly some: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"docusaurus\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `docusaurus-build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "docusaurus-start --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "docusaurus"; | ||
readonly devCommand: "docusaurus-start --port $PORT"; | ||
readonly buildCommand: "docusaurus-build"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
}, { | ||
readonly name: "Preact"; | ||
readonly slug: "preact"; | ||
readonly demo: "https://preact.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/preact.svg"; | ||
readonly tagline: "Preact is a fast 3kB alternative to React with the same modern API."; | ||
readonly description: "A Preact app, created with the Preact CLI."; | ||
readonly website: "https://preactjs.com"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"preact-cli\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `preact build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "preact watch --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "preact-cli"; | ||
readonly devCommand: "preact watch --port $PORT"; | ||
readonly buildCommand: "preact build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Dojo"; | ||
readonly slug: "dojo"; | ||
readonly demo: "https://dojo.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/dojo.png"; | ||
readonly tagline: "Dojo is a modern progressive, TypeScript first framework."; | ||
readonly description: "A Dojo app, created with the Dojo CLI's cli-create-app command."; | ||
readonly website: "https://dojo.io"; | ||
readonly detectors: { | ||
readonly some: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@dojo\\/framework\":\\s*\".+?\"[^}]*}"; | ||
}, { | ||
readonly path: ".dojorc"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `dojo build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "dojo build -m dev -w -s -p $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "output/dist"; | ||
}; | ||
}; | ||
readonly dependency: "@dojo/cli"; | ||
readonly devCommand: "dojo build -m dev -w -s -p $PORT"; | ||
readonly buildCommand: "dojo build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/service-worker.js"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=0"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Ember.js"; | ||
readonly slug: "ember"; | ||
readonly demo: "https://ember.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/ember.svg"; | ||
readonly tagline: "Ember.js helps webapp developers be more productive out of the box."; | ||
readonly description: "An Ember app, created with the Ember CLI."; | ||
readonly website: "https://emberjs.com/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"ember-cli\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `ember build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "ember serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "ember-cli"; | ||
readonly devCommand: "ember serve --port $PORT"; | ||
readonly buildCommand: "ember build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Vue.js"; | ||
readonly slug: "vue"; | ||
readonly demo: "https://vue.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/vue.svg"; | ||
readonly tagline: "Vue.js is a versatile JavaScript framework that is as approachable as it is performant."; | ||
readonly description: "A Vue.js app, created with the Vue CLI."; | ||
readonly website: "https://vuejs.org"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@vue\\/cli-service\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `vue-cli-service build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "vue-cli-service serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "@vue/cli-service"; | ||
readonly devCommand: "vue-cli-service serve --port $PORT"; | ||
readonly buildCommand: "vue-cli-service build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "^/[^/]*\\.(js|txt|ico|json)"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=300"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "^/(img|js|css|fonts|media)/[^/]+\\.[0-9a-f]{8}\\.*"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "^.*"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Scully"; | ||
readonly slug: "scully"; | ||
readonly demo: "https://scully.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/scullyio-logo.png"; | ||
readonly tagline: "Scully is a static site generator for Angular."; | ||
readonly description: "The Static Site Generator for Angular apps."; | ||
readonly website: "https://github.com/scullyio/scully"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@scullyio\\/init\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `ng build && scully`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "ng serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "@scullyio/init"; | ||
readonly devCommand: "ng serve --port $PORT"; | ||
readonly buildCommand: "ng build && scully"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Ionic Angular"; | ||
readonly slug: "ionic-angular"; | ||
readonly demo: "https://ionic-angular.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/ionic.svg"; | ||
readonly tagline: "Ionic Angular allows you to build mobile PWAs with Angular and the Ionic Framework."; | ||
readonly description: "An Ionic Angular site, created with the Ionic CLI."; | ||
readonly website: "https://ionicframework.com"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@ionic\\/angular\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `ng build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "ng start"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "www"; | ||
}; | ||
}; | ||
readonly dependency: "@ionic/angular"; | ||
readonly devCommand: "ng start"; | ||
readonly buildCommand: "ng build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Angular"; | ||
readonly slug: "angular"; | ||
readonly demo: "https://angular.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/angular.svg"; | ||
readonly tagline: "Angular is a TypeScript-based cross-platform framework from Google."; | ||
readonly description: "An Angular app, created with the Angular CLI."; | ||
readonly website: "https://angular.io"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@angular\\/cli\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `ng build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "ng serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "@angular/cli"; | ||
readonly devCommand: "ng serve --port $PORT"; | ||
readonly buildCommand: "ng build"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Polymer"; | ||
readonly slug: "polymer"; | ||
readonly demo: "https://polymer.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/polymer.svg"; | ||
readonly tagline: "Polymer is an open-source webapps library from Google, for building using Web Components."; | ||
readonly description: "A Polymer app, created with the Polymer CLI."; | ||
readonly website: "https://www.polymer-project.org/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"polymer-cli\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `polymer build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "polymer serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "polymer-cli"; | ||
readonly devCommand: "polymer serve --port $PORT"; | ||
readonly buildCommand: "polymer build"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Svelte"; | ||
readonly slug: "svelte"; | ||
readonly demo: "https://svelte.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/svelte.svg"; | ||
readonly tagline: "Svelte lets you write high performance reactive apps with significantly less boilerplate. "; | ||
readonly description: "A Svelte app, using the Svelte template, and a Serverless Function API."; | ||
readonly website: "https://svelte.dev"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"sirv-cli\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `rollup -c`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "sirv public --single --dev --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly dependency: "sirv-cli"; | ||
readonly devCommand: "sirv public --single --dev --port $PORT"; | ||
readonly buildCommand: "rollup -c"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Ionic React"; | ||
readonly slug: "ionic-react"; | ||
readonly demo: "https://ionic-react.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/ionic.svg"; | ||
readonly tagline: "Ionic React allows you to build mobile PWAs with React and the Ionic Framework."; | ||
readonly description: "An Ionic React site, created with the Ionic CLI."; | ||
readonly website: "https://ionicframework.com"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@ionic\\/react\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `react-scripts build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "react-scripts start"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "@ionic/react"; | ||
readonly devCommand: "react-scripts start"; | ||
readonly buildCommand: "react-scripts build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "/static/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/service-worker.js"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=0"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/sockjs-node/(.*)"; | ||
readonly dest: "/sockjs-node/$1"; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=0"; | ||
}; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Create React App"; | ||
readonly slug: "create-react-app"; | ||
readonly demo: "https://react-functions.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/react.svg"; | ||
readonly tagline: "Create React App allows you to get going with React in no time."; | ||
readonly description: "A React app, bootstrapped with create-react-app, and a Serverless Function API."; | ||
readonly website: "https://create-react-app.dev"; | ||
readonly detectors: { | ||
readonly some: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"react-scripts\":\\s*\".+?\"[^}]*}"; | ||
}, { | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"react-dev-utils\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `react-scripts build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "react-scripts start"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly dependency: "react-scripts"; | ||
readonly devCommand: "react-scripts start"; | ||
readonly buildCommand: "react-scripts build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "/static/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/service-worker.js"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=0"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/sockjs-node/(.*)"; | ||
readonly dest: "/sockjs-node/$1"; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "s-maxage=0"; | ||
}; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Gridsome"; | ||
readonly slug: "gridsome"; | ||
readonly demo: "https://gridsome.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/gridsome.svg"; | ||
readonly tagline: "Gridsome is a Vue.js-powered framework for building websites & apps that are fast by default."; | ||
readonly description: "A Gridsome app, created with the Gridsome CLI."; | ||
readonly website: "https://gridsome.org/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"gridsome\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `gridsome build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "gridsome develop -p $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "gridsome"; | ||
readonly devCommand: "gridsome develop -p $PORT"; | ||
readonly buildCommand: "gridsome build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "UmiJS"; | ||
readonly slug: "umijs"; | ||
readonly demo: "https://umijs.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/umi.svg"; | ||
readonly tagline: "UmiJS is an extensible enterprise-level React application framework."; | ||
readonly description: "An UmiJS app, created using the Umi CLI."; | ||
readonly website: "https://umijs.org"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"umi\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `umi build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "umi dev --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "umi"; | ||
readonly devCommand: "umi dev --port $PORT"; | ||
readonly buildCommand: "umi build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Sapper"; | ||
readonly slug: "sapper"; | ||
readonly demo: "https://sapper.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/svelte.svg"; | ||
readonly tagline: "Sapper is a framework for building high-performance universal web apps with Svelte."; | ||
readonly description: "A Sapper app, using the Sapper template."; | ||
readonly website: "https://sapper.svelte.dev"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"sapper\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `sapper export`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "sapper dev --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "__sapper__/export"; | ||
}; | ||
}; | ||
readonly dependency: "sapper"; | ||
readonly devCommand: "sapper dev --port $PORT"; | ||
readonly buildCommand: "sapper export"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Saber"; | ||
readonly slug: "saber"; | ||
readonly demo: "https://saber.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/saber.svg"; | ||
readonly tagline: "Saber is a framework for building static sites in Vue.js that supports data from any source."; | ||
readonly description: "A Saber site, created with npm init."; | ||
readonly website: "https://saber.land/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"saber\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `saber build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "saber --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly dependency: "saber"; | ||
readonly devCommand: "saber --port $PORT"; | ||
readonly buildCommand: "saber build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "/_saber/.*"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: ".*"; | ||
readonly status: 404; | ||
readonly dest: "404.html"; | ||
}]; | ||
}, { | ||
readonly name: "Stencil"; | ||
readonly slug: "stencil"; | ||
readonly demo: "https://stencil.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/stencil.svg"; | ||
readonly tagline: "Stencil is a powerful toolchain for building Progressive Web Apps and Design Systems."; | ||
readonly description: "A Stencil site, created with the Stencil CLI."; | ||
readonly website: "https://stenciljs.com/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@stencil\\/core\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `stencil build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "stencil build --dev --watch --serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "www"; | ||
}; | ||
}; | ||
readonly dependency: "@stencil/core"; | ||
readonly devCommand: "stencil build --dev --watch --serve --port $PORT"; | ||
readonly buildCommand: "stencil build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "/assets/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=2592000"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/build/p-.*"; | ||
readonly headers: { | ||
readonly 'cache-control': "max-age=31536000, immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/sw.js"; | ||
readonly headers: { | ||
readonly 'cache-control': "no-cache"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/index.html"; | ||
}]; | ||
}, { | ||
readonly name: "Nuxt.js"; | ||
readonly slug: "nuxtjs"; | ||
readonly demo: "https://nuxtjs.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/nuxt.svg"; | ||
readonly tagline: "Nuxt.js is the web comprehensive framework that lets you dream big with Vue.js."; | ||
readonly description: "A Nuxt.js app, bootstrapped with create-nuxt-app."; | ||
readonly website: "https://nuxtjs.org"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"nuxt(-edge)?\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `nuxt generate`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "nuxt"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "dist"; | ||
}; | ||
}; | ||
readonly dependency: "nuxt"; | ||
readonly devCommand: "nuxt"; | ||
readonly buildCommand: "nuxt generate"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
readonly cachePattern: ".nuxt/**"; | ||
readonly defaultRoutes: readonly [{ | ||
readonly src: "/sw.js"; | ||
readonly headers: { | ||
readonly 'cache-control': "no-cache"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly src: "/_nuxt/(.*)"; | ||
readonly headers: { | ||
readonly 'cache-control': "public,max-age=31536000,immutable"; | ||
}; | ||
readonly continue: true; | ||
}, { | ||
readonly handle: "filesystem"; | ||
}, { | ||
readonly src: "/(.*)"; | ||
readonly dest: "/200.html"; | ||
}]; | ||
}, { | ||
readonly name: "RedwoodJS"; | ||
readonly slug: "redwoodjs"; | ||
readonly demo: "https://redwoodjs.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/redwoodjs.svg"; | ||
readonly tagline: "RedwoodJS is a full-stack framework for the Jamstack."; | ||
readonly description: "A RedwoodJS app, bootstraped with create-redwood-app."; | ||
readonly website: "https://redwoodjs.com"; | ||
readonly useRuntime: { | ||
readonly src: "package.json"; | ||
readonly use: "@vercel/redwood"; | ||
}; | ||
readonly ignoreRuntimes: readonly ["@vercel/node"]; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "package.json"; | ||
readonly matchContent: "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"@redwoodjs\\/core\":\\s*\".+?\"[^}]*}"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly value: "yarn rw build && yarn rw db up --no-db-client --auto-approve && yarn rw dataMigrate up"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "yarn rw dev --fwd=\"--port=$PORT --open=false\""; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "RedwoodJS default"; | ||
}; | ||
}; | ||
readonly devCommand: "yarn rw dev --fwd=\"--port=$PORT --open=false"; | ||
readonly buildCommand: "yarn rw build && yarn rw db up --no-db-client --auto-approve && yarn rw dataMigrate up"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Hugo"; | ||
readonly slug: "hugo"; | ||
readonly demo: "https://hugo.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/hugo.svg"; | ||
readonly tagline: "Hugo is the world’s fastest framework for building websites, written in Go."; | ||
readonly description: "A Hugo site, created with the Hugo CLI."; | ||
readonly website: "https://gohugo.io"; | ||
readonly sort: 5; | ||
readonly detectors: { | ||
readonly some: readonly [{ | ||
readonly path: "config.yaml"; | ||
}, { | ||
readonly path: "config.toml"; | ||
}, { | ||
readonly path: "config.json"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "None"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `hugo -D --gc`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "hugo server -D -w -p $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "`public` or `publishDir` from the `config` file"; | ||
}; | ||
}; | ||
readonly devCommand: "hugo server -D -w -p $PORT"; | ||
readonly buildCommand: "hugo -D --gc"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
}, { | ||
readonly name: "Jekyll"; | ||
readonly slug: "jekyll"; | ||
readonly demo: "https://jekyll.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/jekyll.svg"; | ||
readonly tagline: "Jekyll makes it super easy to transform your plain text into static websites and blogs."; | ||
readonly description: "A Jekyll site, created with the Jekyll CLI."; | ||
readonly website: "https://jekyllrb.com/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "_config.yml"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly value: "bundle install"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `jekyll build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "bundle exec jekyll serve --watch --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "`_site` or `destination` from `_config.yml`"; | ||
}; | ||
}; | ||
readonly devCommand: "bundle exec jekyll serve --watch --port $PORT"; | ||
readonly buildCommand: "jekyll build"; | ||
readonly getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
}, { | ||
readonly name: "Brunch"; | ||
readonly slug: "brunch"; | ||
readonly demo: "https://brunch.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/brunch.svg"; | ||
readonly tagline: "Brunch is a fast and simple webapp build tool with seamless incremental compilation for rapid development."; | ||
readonly description: "A Brunch app, created with the Brunch CLI."; | ||
readonly website: "https://brunch.io/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "brunch-config.js"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run build` or `brunch build --production`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "brunch watch --server --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly devCommand: "brunch watch --server --port $PORT"; | ||
readonly buildCommand: "brunch build --production"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Middleman"; | ||
readonly slug: "middleman"; | ||
readonly demo: "https://middleman.now-examples.now.sh"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/middleman.svg"; | ||
readonly tagline: "Middleman is a static site generator that uses all the shortcuts and tools in modern web development."; | ||
readonly description: "A Middleman app, created with the Middleman CLI."; | ||
readonly website: "https://middlemanapp.com/"; | ||
readonly detectors: { | ||
readonly every: readonly [{ | ||
readonly path: "config.rb"; | ||
}]; | ||
}; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly value: "bundle install"; | ||
}; | ||
readonly buildCommand: { | ||
readonly value: "`npm run build` or `bundle exec middleman build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "bundle exec middleman server -p $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "build"; | ||
}; | ||
}; | ||
readonly devCommand: "bundle exec middleman server -p $PORT"; | ||
readonly buildCommand: "bundle exec middleman build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Zola"; | ||
readonly slug: "zola"; | ||
readonly demo: "https://zola.now-examples.vercel.app"; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/zola.png"; | ||
readonly tagline: "Everything you need to make a static site engine in one binary."; | ||
readonly description: "A Zola app, created with the \"Getting Started\" tutorial."; | ||
readonly website: "https://www.getzola.org"; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "None"; | ||
}; | ||
readonly buildCommand: { | ||
readonly value: "zola build"; | ||
}; | ||
readonly devCommand: { | ||
readonly value: "zola serve --port $PORT"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly value: "public"; | ||
}; | ||
}; | ||
readonly devCommand: "zola serve --port $PORT"; | ||
readonly buildCommand: "zola build"; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}, { | ||
readonly name: "Other"; | ||
readonly slug: null; | ||
readonly logo: "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/other.svg"; | ||
readonly description: "No framework or a unoptimized framework."; | ||
readonly settings: { | ||
readonly installCommand: { | ||
readonly placeholder: "`yarn install` or `npm install`"; | ||
}; | ||
readonly buildCommand: { | ||
readonly placeholder: "`npm run vercel-build` or `npm run build`"; | ||
}; | ||
readonly devCommand: { | ||
readonly placeholder: "None"; | ||
}; | ||
readonly outputDirectory: { | ||
readonly placeholder: "`public` if it exists, or `.`"; | ||
}; | ||
}; | ||
readonly devCommand: null; | ||
readonly buildCommand: null; | ||
readonly getOutputDirName: () => Promise<string>; | ||
}]; | ||
declare const def: readonly Framework[]; | ||
export default def; |
@@ -29,2 +29,37 @@ "use strict"; | ||
{ | ||
name: 'Blitz.js', | ||
slug: 'blitzjs', | ||
demo: 'https://blitzjs.now-examples.now.sh', | ||
logo: 'https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/blitz.svg', | ||
tagline: 'Blitz.js: The Fullstack React Framework', | ||
description: 'A brand new Blitz.js app - the result of running `npx blitz new`.', | ||
website: 'https://blitzjs.com', | ||
useRuntime: { src: 'package.json', use: '@vercel/next' }, | ||
detectors: { | ||
every: [ | ||
{ | ||
path: 'package.json', | ||
matchContent: '"(dev)?(d|D)ependencies":\\s*{[^}]*"blitz":\\s*".+?"[^}]*}', | ||
}, | ||
], | ||
}, | ||
settings: { | ||
installCommand: { | ||
placeholder: '`yarn install` or `npm install`', | ||
}, | ||
buildCommand: { | ||
placeholder: '`npm run build` or `blitz build`', | ||
}, | ||
devCommand: { | ||
value: 'blitz start', | ||
}, | ||
outputDirectory: { | ||
placeholder: 'Next.js default', | ||
}, | ||
}, | ||
devCommand: 'blitz start', | ||
buildCommand: 'blitz build', | ||
getOutputDirName: async () => 'public', | ||
}, | ||
{ | ||
name: 'Next.js', | ||
@@ -226,82 +261,2 @@ slug: 'nextjs', | ||
{ | ||
name: 'Hugo', | ||
slug: 'hugo', | ||
demo: 'https://hugo.now-examples.now.sh', | ||
logo: 'https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/hugo.svg', | ||
tagline: 'Hugo is the world’s fastest framework for building websites, written in Go.', | ||
description: 'A Hugo site, created with the Hugo CLI.', | ||
website: 'https://gohugo.io', | ||
sort: 5, | ||
detectors: { | ||
some: [ | ||
{ | ||
path: 'config.yaml', | ||
}, | ||
{ | ||
path: 'config.toml', | ||
}, | ||
{ | ||
path: 'config.json', | ||
}, | ||
], | ||
}, | ||
settings: { | ||
installCommand: { | ||
placeholder: 'None', | ||
}, | ||
buildCommand: { | ||
placeholder: '`npm run build` or `hugo -D --gc`', | ||
}, | ||
devCommand: { | ||
value: 'hugo server -D -w -p $PORT', | ||
}, | ||
outputDirectory: { | ||
placeholder: '`public` or `publishDir` from the `config` file', | ||
}, | ||
}, | ||
devCommand: 'hugo server -D -w -p $PORT', | ||
buildCommand: 'hugo -D --gc', | ||
getOutputDirName: async (dirPrefix) => { | ||
const config = await read_config_file_1.readConfigFile(['config.json', 'config.yaml', 'config.toml'].map(fileName => { | ||
return path_1.join(dirPrefix, fileName); | ||
})); | ||
return (config && config.publishDir) || 'public'; | ||
}, | ||
}, | ||
{ | ||
name: 'Blitz.js', | ||
slug: 'blitzjs', | ||
demo: 'https://blitzjs.now-examples.now.sh', | ||
logo: 'https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/blitz.svg', | ||
tagline: 'Blitz.js: The Fullstack React Framework', | ||
description: 'A brand new Blitz.js app - the result of running `npx blitz new`.', | ||
website: 'https://blitzjs.com', | ||
useRuntime: { src: 'package.json', use: '@vercel/next' }, | ||
detectors: { | ||
every: [ | ||
{ | ||
path: 'package.json', | ||
matchContent: '"(dev)?(d|D)ependencies":\\s*{[^}]*"blitz":\\s*".+?"[^}]*}', | ||
}, | ||
], | ||
}, | ||
settings: { | ||
installCommand: { | ||
placeholder: '`yarn install` or `npm install`', | ||
}, | ||
buildCommand: { | ||
placeholder: '`npm run build` or `blitz build`', | ||
}, | ||
devCommand: { | ||
value: 'blitz start', | ||
}, | ||
outputDirectory: { | ||
placeholder: 'Next.js default', | ||
}, | ||
}, | ||
devCommand: 'blitz start', | ||
buildCommand: 'blitz build', | ||
getOutputDirName: async () => 'public', | ||
}, | ||
{ | ||
name: 'Docusaurus 2', | ||
@@ -1306,2 +1261,47 @@ slug: 'docusaurus-2', | ||
{ | ||
name: 'Hugo', | ||
slug: 'hugo', | ||
demo: 'https://hugo.now-examples.now.sh', | ||
logo: 'https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/hugo.svg', | ||
tagline: 'Hugo is the world’s fastest framework for building websites, written in Go.', | ||
description: 'A Hugo site, created with the Hugo CLI.', | ||
website: 'https://gohugo.io', | ||
sort: 5, | ||
detectors: { | ||
some: [ | ||
{ | ||
path: 'config.yaml', | ||
}, | ||
{ | ||
path: 'config.toml', | ||
}, | ||
{ | ||
path: 'config.json', | ||
}, | ||
], | ||
}, | ||
settings: { | ||
installCommand: { | ||
placeholder: 'None', | ||
}, | ||
buildCommand: { | ||
placeholder: '`npm run build` or `hugo -D --gc`', | ||
}, | ||
devCommand: { | ||
value: 'hugo server -D -w -p $PORT', | ||
}, | ||
outputDirectory: { | ||
placeholder: '`public` or `publishDir` from the `config` file', | ||
}, | ||
}, | ||
devCommand: 'hugo server -D -w -p $PORT', | ||
buildCommand: 'hugo -D --gc', | ||
getOutputDirName: async (dirPrefix) => { | ||
const config = await read_config_file_1.readConfigFile(['config.json', 'config.yaml', 'config.toml'].map(fileName => { | ||
return path_1.join(dirPrefix, fileName); | ||
})); | ||
return (config && config.publishDir) || 'public'; | ||
}, | ||
}, | ||
{ | ||
name: 'Jekyll', | ||
@@ -1458,2 +1458,3 @@ slug: 'jekyll', | ||
]; | ||
exports.default = exports.frameworks; | ||
const def = exports.frameworks; | ||
exports.default = def; |
import { Route } from '@vercel/routing-utils'; | ||
export interface FrameworkDetectionItem { | ||
/** | ||
* A file path | ||
* @example "package.json" | ||
*/ | ||
path: string; | ||
/** | ||
* A matcher | ||
* @example "\"(dev)?(d|D)ependencies\":\\s*{[^}]*\"next\":\\s*\".+?\"[^}]*}" | ||
*/ | ||
matchContent?: string; | ||
} | ||
export interface SettingPlaceholder { | ||
/** | ||
* A placeholder value for when the framework has not a predefined one | ||
* @example "`npm run build` or `next build`" | ||
*/ | ||
placeholder: string; | ||
} | ||
export interface SettingValue { | ||
/** | ||
* A predefined setting for the detected framework | ||
* @example "next dev --port $PORT" | ||
*/ | ||
value: string; | ||
} | ||
export declare type Setting = SettingValue | SettingPlaceholder; | ||
/** | ||
* Framework detection information. | ||
*/ | ||
export interface Framework { | ||
/** | ||
* Name of the framework | ||
* @example "Next.js" | ||
*/ | ||
name: string; | ||
/** | ||
* A unique identifier for the framework | ||
* @example "nextjs" | ||
*/ | ||
slug: string | null; | ||
/** | ||
* A URL to the logo of the framework | ||
* @example "https://raw.githubusercontent.com/vercel/vercel/master/packages/frameworks/logos/next.svg" | ||
*/ | ||
logo: string; | ||
/** | ||
* A URL to a deployed example of the framework | ||
* @example "https://nextjs.now-examples.vercel.app" | ||
*/ | ||
demo?: string; | ||
/** | ||
* A marketing tagline for the framework | ||
* @example "Next.js makes you productive with React instantly — whether you want to build static or dynamic sites." | ||
*/ | ||
tagline?: string; | ||
/** | ||
* A URL to the official website of the framework | ||
* @example "https://nextjs.org" | ||
*/ | ||
website?: string; | ||
/** | ||
* Short description of the framework | ||
* @example "A Next.js app and a Serverless Function API." | ||
*/ | ||
description: string; | ||
/** | ||
* A ponderated value to sort matching frameworks | ||
* @example 1 | ||
*/ | ||
sort?: number; | ||
/** | ||
* Runtime configuration required to run the framework in Vercel | ||
*/ | ||
useRuntime?: { | ||
/** | ||
* Runtime source | ||
* @example "package.json" | ||
*/ | ||
src: string; | ||
/** | ||
* Runtime | ||
* @example "@vercel/next" | ||
*/ | ||
use: string; | ||
}; | ||
ignoreRuntimes?: string[]; | ||
/** | ||
* Detectors used to find out the framework | ||
*/ | ||
detectors?: { | ||
/** | ||
* Collection of detectors that must be matched for the framework | ||
* to be detected. | ||
*/ | ||
every?: FrameworkDetectionItem[]; | ||
/** | ||
* Collection of detectors where one match triggers the framework | ||
* to be detected. | ||
*/ | ||
some?: FrameworkDetectionItem[]; | ||
}; | ||
settings: { | ||
/** | ||
* Default Install Command or a placeholder | ||
*/ | ||
installCommand: Setting; | ||
/** | ||
* Default Build Command or a placeholder | ||
*/ | ||
buildCommand: Setting; | ||
/** | ||
* Default Development Command or a placeholder | ||
*/ | ||
devCommand: Setting; | ||
/** | ||
* Default Output Directory | ||
*/ | ||
outputDirectory: Setting; | ||
}; | ||
/** | ||
* A list of recommended integrations for the framework | ||
*/ | ||
recommendedIntegrations?: { | ||
/** | ||
* Id of the recommended integration | ||
* @example "oac_5lUsiANun1DEzgLg0NZx5Es3" | ||
*/ | ||
id: string; | ||
/** | ||
* Dependencies of the recommended integration | ||
* @example ["next-plugin-sentry", "next-sentry-source-maps"] | ||
*/ | ||
dependencies: string[]; | ||
}[]; | ||
/** | ||
* Name of a dependency in `package.json` to detect this framework. | ||
* @example "hexo" | ||
*/ | ||
dependency?: string; | ||
/** | ||
* Function that returns the name of the directory that the framework outputs | ||
* its build results to. In some cases this is read from a configuration file. | ||
*/ | ||
getOutputDirName: (dirPrefix: string) => Promise<string>; | ||
/** | ||
* An array (or a function that returns an array) of default `Route` rules that | ||
* the framework uses. | ||
* @example [{ handle: 'filesystem' }, { src: '.*', status: 404, dest: '404.html' }] | ||
*/ | ||
defaultRoutes?: Route[] | ((dirPrefix: string) => Promise<Route[]>); | ||
/** | ||
* A glob string of files to cache for future deployments. | ||
* @example ".cache/**" | ||
*/ | ||
cachePattern?: string; | ||
/** | ||
* The default build command for the framework. | ||
* @example "next build" | ||
*/ | ||
buildCommand: string | null; | ||
/** | ||
* The default development command for the framework. | ||
* @example "next dev" | ||
*/ | ||
devCommand: string | null; | ||
} |
{ | ||
"name": "@vercel/frameworks", | ||
"version": "0.2.1-canary.0", | ||
"version": "0.2.1-canary.1", | ||
"main": "./dist/frameworks.js", | ||
@@ -22,3 +22,4 @@ "types": "./dist/frameworks.d.ts", | ||
"@types/node": "12.0.4", | ||
"@vercel/routing-utils": "1.9.2", | ||
"@types/node-fetch": "2.5.8", | ||
"@vercel/routing-utils": "1.9.3-canary.0", | ||
"ajv": "6.12.2", | ||
@@ -29,3 +30,3 @@ "jest": "24.9.0", | ||
}, | ||
"gitHead": "29ab7f7cfb64cf088d0828726492d509a6339973" | ||
"gitHead": "84d859a016fdbb8d039dd16309717ddc7e31411a" | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
117776
2891
0
9