Важное уведомление
Этот репозиторий был перемещен в монорепозиторий github.com/netlify/build. Имя пакета и версии сохраняются!
Утилита обнаружения фреймворка.
Определяет, какую платформу использует конкретный веб-сайт. Также возвращаются команды сборки/разработки платформы, каталоги и порт сервера.
Обнаружены следующие фреймворки:
Если вы ищете способ запустить framework-info
через CLI, проверьте проект build-info
.
Дополнения и обновления приветствуются!
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?
Возвращаемое значение : Promise<object[]>
Тип : string
Значение по умолчанию : process.cwd()
Путь к каталогу сайта.
Это возвращает Promise
, разрешающее массив объектов, описывающих каждую структуру. Массив может быть пустым, содержать один или несколько объектов.
Каждый объект имеет следующие свойства.
Тип : string
Я, например, "gatsby"
.
Тип : string
Имя фреймворка, например "Gatsby"
.
Тип : string
Категория среди "static_site_generator"
, "frontend_framework"
и "build_tool"
.
Тип : object
Информация о команде dev.
Тип : string[]
Команда разработчиков. Альтернатив может быть несколько.
Тип : number
Порт сервера.
Тип : object[]
Стратегии опроса, которые следует использовать при проверке готовности сервера разработки.
Тип : object
Информация о команде сборки.
Тип : string[]
Команда сборки. Альтернатив может быть несколько.
Тип : string
Относительный путь к каталогу, в котором создаются файлы.
Тип : string
Каталог, в котором платформа хранит статические ресурсы. Может быть undefined
.
Тип : object
Переменные среды, которые следует установить при вызове команды dev.
Тип : string[]
Список рекомендуемых плагинов сборки Netlify для установки для платформы.
options
: object?
Возвращаемое значение : Promise<boolean>
То же, что и listFramework()
за исключением конкретной платформы и возвращает логическое значение.
options
: object?
Возвращаемое значение : Promise<object>
То же, что и listFramework()
за исключением того, что платформа передается в качестве аргумента, а не обнаруживается. Возвращается один объект платформы.
$ framework-info [projectDirectory]
Это печатает идентификаторы каждой структуры.
Если известное найдено, выводится unknown
.
Доступные флаги:
--long
: показать дополнительную информацию о каждой платформе. Результатом будет массив JSON. Каждая платформа представляет собой файл JSON в каталоге /src/frameworks/
. Например:
{
"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" : []
}
Все свойства обязательны.
Тип : string
Идентификатор фреймворка.
Тип : string
Имя фреймворка.
Тип : string
Один из "static_site_generator"
, "frontend_framework"
или "build_tool"
.
Тип : object
Информация, используемая для обнаружения этой структуры
Тип : string[]
Пакеты npm Framework. Любой проект с одним из этих пакетов в package.json
( dependencies
или devDependencies
) будет считаться использующим эту платформу.
Если пусто, это игнорируется.
Тип : string[]
Инверсия npmDependencies
. Если какой-либо проект использует один из этих пакетов, он не будет считаться использующим платформу.
Если пусто, это игнорируется.
Тип : string[]
Файлы конфигурации Framework. Это должны быть пути относительно каталога проекта. Любой проект с одним из файлов конфигурации будет рассматриваться как использующий платформу.
Если пусто, это игнорируется.
Тип : object
Параметры для обнаружения команды dev.
Тип : string
Команда разработчика по умолчанию.
Тип : number
Порт локального сервера разработки.
Тип : object[]
Стратегии опроса, которые следует использовать при проверке готовности сервера разработки.
Тип : object
Параметры для обнаружения команды сборки.
Тип : string
Команда сборки по умолчанию.
Тип : string
Каталог, в который записываются построенные файлы.
Тип : string
Каталог, в котором платформа хранит статические ресурсы, необходимые для платформы.
Тип : object
Переменные среды, которые следует установить при запуске команды dev.
Тип : object[]
Список названий и условий пакетов плагинов сборки Netlify. Если для плагина выполнено условие, он будет возвращен в список плагинов платформы.
Например
{
"plugins" : [
{
"packageName" : " @netlify/plugin-nextjs " ,
"condition" : { "minNodeVersion" : " 10.13.0 " }
}
]
}