-
Notifications
You must be signed in to change notification settings - Fork 0
packagejson npm
- 이름은 214자 이하
- scope가 지정된 패키지의 이름은 점 또는 밑줄로 시작할 수 있다.
- scope 없이는 허용되지 않는다.
- 대문자가 없어야 한다.
- 이름은 URL의 일부, 명령줄의 인수 및 폴더 이름이 되므로 이름은 URL에 안전하지 않는 문자가 포함될 수 없다.
- Node 모듈의 코어와 같은 이름을 사용하면 안된다.
- 이름에
js
또는node
를 넣으면 안된다.engines
에 표시를 한다.
버전은 npm과 함께 번들로 제공되는 node-semver로 구문 분석할 수 있어야 한다.
프로젝트의 설명을 문자열로 작성한다. npm search
로 패키지를 찾을 수 있다.
프로젝트의 키워드를 문자열의 배열로 작성한다. npm search
로 패키지를 찾을 수 있다.
프로젝트의 URL을 작성한다.
프로젝트의 이슈 트래커에 대한 URL 및 이슈를 보고해야 하는 이메일 주소를 작성한다.
URL만 작성 가능하다. URL이 제공되면 npm bugs
명령어로 URL로 이동할 수 있다.
{
"url" : "https://github.com/owner/project/issues",
"email" : "project@hostname.com"
}
패키지에 대한 라이센스를 지정한다. 이상적으로는 [OSI](https://opensource.org/licenses/alphabetical 승인을 받은 것을 선택해야 한다.
author
은 한명만 작성한다. contributors
는 배열로 여려명을 작성한다.
정보는 name
, email
, url
을 작성한다.
{
"name" : "Barney Rubble",
"email" : "b@rubble.com",
"url" : "http://barnyrubble.tumblr.com/"
}
패키지 개발 자금 지원 방법에 대한 최신 정보를 제공한다.
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files
사용자가 해당 패키지를 require("foo")
과 같이 사용할 때 진입하는 모듈 정보다.
패키지 폴터의 루트에서 상대경로로 모듈을 지정한다.
모듈이 클라이언트측에서만 사용되도록 의도한 경우 main 대신 browser를 사용해야 한다. Node.js에서 사용할 수 없는 모듈임을 알릴 수 있다.
패키지에 PATH에 설치해서 실행하고 싶은 파일이 있을 것이다. npm은 쉽게 만들 수 있도록 제공한다.
bin
에 이름과 파일을 매핑하면 패키지가 설치될 때, prefix/bin
또는 ./node_modules/.bin/
에 symlink를 한다.
{
"bin": {
"myapp": "./cli.js"
}
}
man 프로그램이 찾을 수 있도록 단일 파일 또는 배열로 지정한다.
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#directories
패키지의 저장소를 작성할 수 있게한다.
"repository": {
"type" : "git",
"url" : "https://github.com/npm/cli.git"
}
"repository": {
"type" : "svn",
"url" : "https://v8.googlecode.com/svn/trunk/"
}
package.json
이 패키지 루트에 없으면 directory
를 지정한다.
"repository": {
"type" : "git",
"url" : "https://github.com/facebook/react.git",
"directory": "packages/react-dom"
}
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#scripts
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#config
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#dependencies
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#devdependencies
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependencies
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#bundleddependencies
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#optionaldependencies
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#engines
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#os
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#cpu
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#private
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#publishconfig
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#workspaces