New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@vercel/frameworks

Package Overview
Dependencies
Maintainers
32
Versions
166
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vercel/frameworks - npm Package Compare versions

Comparing version 0.2.1-canary.0 to 0.2.1-canary.1

1215

dist/frameworks.d.ts

@@ -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;

163

dist/frameworks.js

@@ -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"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc