Wichtiger Hinweis
Dieses Repository wurde in das Mono-Repository von github.com/netlify/build verschoben. Der Paketname und die Versionen bleiben erhalten!
Dienstprogramm zur Framework-Erkennung.
Erkennt, welches Framework eine bestimmte Website verwendet. Die Build/Dev-Befehle, Verzeichnisse und der Server-Port des Frameworks werden ebenfalls zurückgegeben.
Folgende Frameworks werden erkannt:
Wenn Sie nach einer Möglichkeit suchen, framework-info
über die CLI auszuführen, schauen Sie sich das build-info
-Projekt an.
Ergänzungen und Aktualisierungen sind willkommen!
import { listFrameworks , hasFramework , getFramework } from '@netlify/framework-info'
console . log ( await listFrameworks ( { projectDir : './path/to/gatsby/website' } ) )
// [
// {
// id: 'gatsby',
// name: 'Gatsby',
// category: 'static_site_generator',
// dev: {
// commands: ['gatsby develop'],
// port: 8000,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['gatsby build'],
// directory: 'public'
// },
// staticAssetsDirectory: "static",
// env: { GATSBY_LOGGER: 'yurnalist' },
// plugins: []
// }
// ]
console . log ( await listFrameworks ( { projectDir : './path/to/vue/website' } ) )
// [
// {
// id: 'vue',
// name: 'Vue.js',
// category: 'frontend_framework',
// dev: {
// commands: ['npm run serve'],
// port: 8080,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['vue-cli-service build'],
// directory: 'dist'
// },
// env: {},
// plugins: []
// }
// ]
console . log ( await hasFramework ( 'vue' , { projectDir : './path/to/vue/website' } ) )
// true
console . log ( await getFramework ( 'vue' , { projectDir : './path/to/vue/website' } ) )
// {
// id: 'vue',
// name: 'Vue.js',
// category: 'frontend_framework',
// dev: {
// commands: ['npm run serve'],
// port: 8080,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['vue-cli-service build'],
// directory: 'dist'
// },
// env: {},
// plugins: []
// }
npm install @netlify/framework-info
options
: object?
Rückgabewert : Promise<object[]>
Typ : string
Standardwert : process.cwd()
Pfad zum Verzeichnis der Website.
Dies gibt ein Promise
zurück, das in ein Array von Objekten aufgelöst wird, die jedes Framework beschreiben. Das Array kann leer sein, ein einzelnes Objekt oder mehrere Objekte enthalten.
Jedes Objekt verfügt über die folgenden Eigenschaften.
Typ : string
ID wie "gatsby"
.
Typ : string
Framework-Name wie "Gatsby"
.
Typ : string
Kategorie zwischen "static_site_generator"
, "frontend_framework"
und "build_tool"
.
Typ : object
Informationen zum dev-Befehl.
Typ : string[]
Dev-Befehl. Möglicherweise gibt es mehrere Alternativen.
Typ : number
Server-Port.
Typ : object[]
Polling-Strategien zur Verwendung bei der Überprüfung, ob der Entwicklungsserver bereit ist.
Typ : object
Informationen zum Build-Befehl.
Typ : string[]
Build-Befehl. Möglicherweise gibt es mehrere Alternativen.
Typ : string
Relativer Pfad zum Verzeichnis, in dem Dateien erstellt werden.
Typ : string
Verzeichnis, in dem das Framework statische Assets speichert. Kann undefined
sein.
Typ : object
Umgebungsvariablen, die beim Aufruf des dev-Befehls festgelegt werden sollten.
Typ : string[]
Eine Liste empfohlener Netlify-Build-Plugins zur Installation für das Framework.
options
: object?
Rückgabewert : Promise<boolean>
Identisch mit listFramework()
außer für ein bestimmtes Framework, und gibt einen booleschen Wert zurück.
options
: object?
Rückgabewert : Promise<object>
Identisch mit listFramework()
außer dass das Framework als Argument übergeben und nicht erkannt wird. Es wird ein einzelnes Framework-Objekt zurückgegeben.
$ framework-info [projectDirectory]
Dadurch werden die IDs jedes Frameworks gedruckt.
Wenn „bekannt“ gefunden wird, wird unknown
gedruckt.
Verfügbare Flaggen:
--long
: Weitere Informationen zu jedem Framework anzeigen. Die Ausgabe wird ein JSON-Array sein. Jedes Framework ist eine JSON-Datei im Verzeichnis /src/frameworks/
. Zum Beispiel:
{
"id" : " gatsby " ,
"name" : " Gatsby " ,
"category" : " static_site_generator " ,
"detect" : {
"npmDependencies" : [ " gatsby " ],
"excludedNpmDependencies" : [],
"configFiles" : [ " gatsby-config.js " ]
},
"dev" : {
"command" : " gatsby develop " ,
"port" : 8000 ,
"pollingStrategies" : [{ "name" : " TCP " }, { "name" : " HTTP " }]
},
"build" : {
"command" : " gatsby build " ,
"directory" : " public "
},
"staticAssetsDirectory" : " static " ,
"env" : { "GATSBY_LOGGER" : " yurnalist " },
"plugins" : []
}
Alle Eigenschaften sind erforderlich.
Typ : string
ID des Frameworks.
Typ : string
Name des Frameworks.
Typ : string
Einer von "static_site_generator"
, "frontend_framework"
oder "build_tool"
.
Typ : object
Informationen, die zur Erkennung dieses Frameworks verwendet werden
Typ : string[]
NPM-Pakete des Frameworks. Jedes Projekt mit einem dieser Pakete in seiner package.json
( dependencies
oder devDependencies
) wird als das Framework verwendend betrachtet.
Wenn leer, wird dies ignoriert.
Typ : string[]
Umkehrung von npmDependencies
. Wenn ein Projekt eines dieser Pakete verwendet, wird nicht davon ausgegangen, dass es das Framework verwendet.
Wenn leer, wird dies ignoriert.
Typ : string[]
Konfigurationsdateien des Frameworks. Dies sollten Pfade relativ zum Projektverzeichnis sein. Jedes Projekt mit einer der Konfigurationsdateien wird als das Framework verwendend betrachtet.
Wenn leer, wird dies ignoriert.
Typ : object
Parameter zum Erkennen des Dev-Befehls.
Typ : string
Standard-Entwicklungsbefehl.
Typ : number
Port des lokalen Entwicklungsservers.
Typ : object[]
Polling-Strategien zur Verwendung bei der Überprüfung, ob der Entwicklungsserver bereit ist.
Typ : object
Parameter zum Erkennen des Build-Befehls.
Typ : string
Standard-Build-Befehl.
Typ : string
Verzeichnis, in das erstellte Dateien geschrieben werden.
Typ : string
Verzeichnis, in dem das Framework statische Assets speichert, sofern diese für das Framework relevant sind.
Typ : object
Umgebungsvariablen, die beim Ausführen des dev-Befehls festgelegt werden sollten.
Typ : object[]
Eine Liste der Paketnamen und -bedingungen für Netlify-Build-Plugins. Wenn eine Bedingung für ein Plugin erfüllt ist, wird sie in der Plugin-Liste des Frameworks zurückgegeben.
Zum Beispiel
{
"plugins" : [
{
"packageName" : " @netlify/plugin-nextjs " ,
"condition" : { "minNodeVersion" : " 10.13.0 " }
}
]
}