Pemberitahuan Penting
Repositori ini dipindahkan ke repositori mono github.com/netlify/build Nama paket dan versinya dipertahankan!
Utilitas deteksi kerangka kerja.
Mendeteksi kerangka kerja mana yang digunakan situs web tertentu. Perintah build/dev framework, direktori dan port server juga dikembalikan.
Kerangka kerja berikut terdeteksi:
Jika Anda mencari cara untuk menjalankan framework-info
melalui CLI, periksa proyek build-info
.
Penambahan dan pembaruan dipersilakan!
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?
Nilai kembalian : Promise<object[]>
Jenis : string
Nilai default : process.cwd()
Jalur ke direktori situs web.
Ini mengembalikan penyelesaian Promise
ke array objek yang menjelaskan setiap kerangka kerja. Array bisa kosong, berisi satu objek atau beberapa objek.
Setiap objek memiliki properti berikut.
Jenis : string
Id seperti "gatsby"
.
Jenis : string
Nama kerangka seperti "Gatsby"
.
Jenis : string
Kategori di antara "static_site_generator"
, "frontend_framework"
dan "build_tool"
.
Jenis : object
Informasi tentang perintah dev.
Ketik : string[]
Perintah pengembang. Mungkin ada beberapa alternatif.
Jenis : number
Pelabuhan server.
Ketik : object[]
Strategi polling yang digunakan saat memeriksa apakah server dev sudah siap.
Jenis : object
Informasi tentang perintah build.
Ketik : string[]
Membangun perintah. Mungkin ada beberapa alternatif.
Jenis : string
Jalur relatif ke direktori tempat file dibuat.
Jenis : string
Direktori tempat kerangka kerja menyimpan aset statis. Bisa jadi undefined
.
Jenis : object
Variabel lingkungan yang harus disetel saat memanggil perintah dev.
Ketik : string[]
Daftar rekomendasi plugin build Netlify untuk dipasang pada kerangka kerja tersebut.
options
: object?
Nilai kembalian : Promise<boolean>
Sama seperti listFramework()
kecuali hanya untuk kerangka kerja tertentu dan mengembalikan boolean.
options
: object?
Nilai kembalian : Promise<object>
Sama seperti listFramework()
kecuali kerangka tersebut diteruskan sebagai argumen dan bukannya terdeteksi. Objek kerangka tunggal dikembalikan.
$ framework-info [projectDirectory]
Ini mencetak id setiap kerangka kerja.
Jika diketahui ditemukan, unknown
dicetak.
Bendera yang tersedia:
--long
: Menampilkan informasi selengkapnya tentang setiap kerangka kerja. Outputnya akan berupa array JSON. Setiap kerangka kerja adalah file JSON di direktori /src/frameworks/
. Misalnya:
{
"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" : []
}
Semua properti diperlukan.
Jenis : string
Id kerangka kerja.
Jenis : string
Nama kerangka.
Jenis : string
Salah satu dari "static_site_generator"
, "frontend_framework"
atau "build_tool"
.
Jenis : object
Informasi yang digunakan untuk mendeteksi kerangka ini
Ketik : string[]
Paket npm Framework. Proyek apa pun yang memiliki salah satu paket tersebut di package.json
( dependencies
atau devDependencies
) akan dianggap menggunakan kerangka kerja tersebut.
Jika kosong, ini diabaikan.
Ketik : string[]
Kebalikan dari npmDependencies
. Jika ada proyek yang menggunakan salah satu paket tersebut, maka proyek tersebut tidak akan dianggap menggunakan kerangka kerja tersebut.
Jika kosong, ini diabaikan.
Ketik : string[]
File konfigurasi kerangka kerja. Itu harus berupa jalur yang berhubungan dengan direktori proyek. Setiap proyek dengan salah satu file konfigurasi akan dianggap menggunakan kerangka kerja tersebut.
Jika kosong, ini diabaikan.
Jenis : object
Parameter untuk mendeteksi perintah dev.
Jenis : string
Perintah pengembang default.
Jenis : number
Port server pengembang lokal.
Ketik : object[]
Strategi polling yang digunakan saat memeriksa apakah server dev sudah siap.
Jenis : object
Parameter untuk mendeteksi perintah build.
Jenis : string
Perintah pembuatan default.
Jenis : string
Direktori tempat file yang dibuat ditulis.
Jenis : string
Direktori tempat kerangka kerja menyimpan aset statis jika relevan dengan kerangka kerja.
Jenis : object
Variabel lingkungan yang harus disetel saat menjalankan perintah dev.
Ketik : object[]
Daftar nama dan ketentuan paket plugin build Netlify. Jika suatu kondisi terpenuhi untuk sebuah plugin, maka kondisi tersebut akan dikembalikan dalam daftar plugin kerangka kerja.
Misalnya
{
"plugins" : [
{
"packageName" : " @netlify/plugin-nextjs " ,
"condition" : { "minNodeVersion" : " 10.13.0 " }
}
]
}