중요 공지
이 저장소는 github.com/netlify/build의 모노 저장소로 이동되었습니다. 패키지 이름과 버전은 유지됩니다!
프레임워크 감지 유틸리티.
특정 웹사이트가 어떤 프레임워크를 사용하고 있는지 감지합니다. 프레임워크의 빌드/개발 명령, 디렉터리 및 서버 포트도 반환됩니다.
다음 프레임워크가 감지됩니다.
CLI를 통해 framework-info
실행하는 방법을 찾고 있다면 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"
와 같은 ID.
유형 : 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]
그러면 각 프레임워크의 ID가 인쇄됩니다.
알려진 내용이 발견되면 unknown
이 인쇄됩니다.
사용 가능한 플래그:
--long
: 각 프레임워크에 대한 자세한 정보를 표시합니다. 출력은 JSON 배열이 됩니다. 각 프레임워크는 /src/frameworks/
디렉터리에 있는 JSON 파일입니다. 예를 들어:
{
"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
프레임워크의 ID입니다.
유형 : string
프레임워크의 이름입니다.
유형 : string
"static_site_generator"
, "frontend_framework"
또는 "build_tool"
중 하나입니다.
유형 : object
이 프레임워크를 감지하는 데 사용되는 정보
유형 : string[]
프레임워크의 npm 패키지. package.json
( dependencies
또는 devDependencies
)에 해당 패키지 중 하나가 있는 모든 프로젝트는 프레임워크를 사용하는 것으로 간주됩니다.
비어 있으면 무시됩니다.
유형 : string[]
npmDependencies
의 반대입니다. 프로젝트가 해당 패키지 중 하나를 사용하는 경우 프레임워크를 사용하는 것으로 간주되지 않습니다.
비어 있으면 무시됩니다.
유형 : string[]
프레임워크의 구성 파일. 이는 프로젝트 디렉터리에 상대적인 경로여야 합니다. 구성 파일 중 하나가 있는 모든 프로젝트는 프레임워크를 사용하는 것으로 간주됩니다.
비어 있으면 무시됩니다.
유형 : object
dev 명령을 감지하는 매개변수입니다.
유형 : string
기본 개발 명령.
유형 : number
로컬 개발 서버 포트.
유형 : object[]
개발 서버가 준비되었는지 확인할 때 사용할 폴링 전략입니다.
유형 : object
빌드 명령을 감지하는 매개변수입니다.
유형 : string
기본 빌드 명령.
유형 : string
빌드된 파일이 기록되는 디렉터리입니다.
유형 : string
프레임워크가 프레임워크와 관련된 정적 자산을 저장하는 디렉터리입니다.
유형 : object
dev 명령을 실행할 때 설정해야 하는 환경 변수입니다.
유형 : object[]
Netlify 빌드 플러그인 패키지 이름 및 조건 목록입니다. 플러그인에 대한 조건이 충족되면 프레임워크의 플러그인 목록에 반환됩니다.
예를 들어
{
"plugins" : [
{
"packageName" : " @netlify/plugin-nextjs " ,
"condition" : { "minNodeVersion" : " 10.13.0 " }
}
]
}