packagejson npm - ChoDragon9/posts GitHub Wiki

name

  • 이름은 214자 μ΄ν•˜
  • scopeκ°€ μ§€μ •λœ νŒ¨ν‚€μ§€μ˜ 이름은 점 λ˜λŠ” λ°‘μ€„λ‘œ μ‹œμž‘ν•  수 μžˆλ‹€.
    • scope μ—†μ΄λŠ” ν—ˆμš©λ˜μ§€ μ•ŠλŠ”λ‹€.
  • λŒ€λ¬Έμžκ°€ μ—†μ–΄μ•Ό ν•œλ‹€.
  • 이름은 URL의 일뢀, λͺ…λ Ήμ€„μ˜ 인수 및 폴더 이름이 λ˜λ―€λ‘œ 이름은 URL에 μ•ˆμ „ν•˜μ§€ μ•ŠλŠ” λ¬Έμžκ°€ 포함될 수 μ—†λ‹€.
  • Node λͺ¨λ“ˆμ˜ 코어와 같은 이름을 μ‚¬μš©ν•˜λ©΄ μ•ˆλœλ‹€.
  • 이름에 jsλ˜λŠ” nodeλ₯Ό λ„£μœΌλ©΄ μ•ˆλœλ‹€. engines에 ν‘œμ‹œλ₯Ό ν•œλ‹€.

version

버전은 npmκ³Ό ν•¨κ»˜ λ²ˆλ“€λ‘œ μ œκ³΅λ˜λŠ” node-semver둜 ꡬ문 뢄석할 수 μžˆμ–΄μ•Ό ν•œλ‹€.

description

ν”„λ‘œμ νŠΈμ˜ μ„€λͺ…을 λ¬Έμžμ—΄λ‘œ μž‘μ„±ν•œλ‹€. npm search둜 νŒ¨ν‚€μ§€λ₯Ό 찾을 수 μžˆλ‹€.

keyword

ν”„λ‘œμ νŠΈμ˜ ν‚€μ›Œλ“œλ₯Ό λ¬Έμžμ—΄μ˜ λ°°μ—΄λ‘œ μž‘μ„±ν•œλ‹€. npm search둜 νŒ¨ν‚€μ§€λ₯Ό 찾을 수 μžˆλ‹€.

homepage

ν”„λ‘œμ νŠΈμ˜ URL을 μž‘μ„±ν•œλ‹€.

bugs

ν”„λ‘œμ νŠΈμ˜ 이슈 νŠΈλž˜μ»€μ— λŒ€ν•œ URL 및 이슈λ₯Ό 보고해야 ν•˜λŠ” 이메일 μ£Όμ†Œλ₯Ό μž‘μ„±ν•œλ‹€.

URL만 μž‘μ„± κ°€λŠ₯ν•˜λ‹€. URL이 제곡되면 npm bugs λͺ…λ Ήμ–΄λ‘œ URL둜 이동할 수 μžˆλ‹€.

{
  "url" : "https://github.com/owner/project/issues",
  "email" : "[email protected]"
}

license

νŒ¨ν‚€μ§€μ— λŒ€ν•œ λΌμ΄μ„ΌμŠ€λ₯Ό μ§€μ •ν•œλ‹€. μ΄μƒμ μœΌλ‘œλŠ” [OSI](https://opensource.org/licenses/alphabetical μŠΉμΈμ„ 받은 것을 선택해야 ν•œλ‹€.

author, contributors

author은 ν•œλͺ…λ§Œ μž‘μ„±ν•œλ‹€. contributorsλŠ” λ°°μ—΄λ‘œ μ—¬λ €λͺ…을 μž‘μ„±ν•œλ‹€. μ •λ³΄λŠ” name, email, url을 μž‘μ„±ν•œλ‹€.

{
  "name" : "Barney Rubble",
  "email" : "[email protected]",
  "url" : "http://barnyrubble.tumblr.com/"
}

funding

νŒ¨ν‚€μ§€ 개발 자금 지원 방법에 λŒ€ν•œ μ΅œμ‹  정보λ₯Ό μ œκ³΅ν•œλ‹€.

files

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files

main

μ‚¬μš©μžκ°€ ν•΄λ‹Ή νŒ¨ν‚€μ§€λ₯Ό require("foo")κ³Ό 같이 μ‚¬μš©ν•  λ•Œ μ§„μž…ν•˜λŠ” λͺ¨λ“ˆ 정보닀. νŒ¨ν‚€μ§€ ν΄ν„°μ˜ λ£¨νŠΈμ—μ„œ μƒλŒ€κ²½λ‘œλ‘œ λͺ¨λ“ˆμ„ μ§€μ •ν•œλ‹€.

browser

λͺ¨λ“ˆμ΄ ν΄λΌμ΄μ–ΈνŠΈμΈ‘μ—μ„œλ§Œ μ‚¬μš©λ˜λ„λ‘ μ˜λ„ν•œ 경우 main λŒ€μ‹  browserλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€. Node.jsμ—μ„œ μ‚¬μš©ν•  수 μ—†λŠ” λͺ¨λ“ˆμž„을 μ•Œλ¦΄ 수 μžˆλ‹€.

bin

νŒ¨ν‚€μ§€μ— PATH에 μ„€μΉ˜ν•΄μ„œ μ‹€ν–‰ν•˜κ³  싢은 파일이 μžˆμ„ 것이닀. npm은 μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ„λ‘ μ œκ³΅ν•œλ‹€. bin에 이름과 νŒŒμΌμ„ λ§€ν•‘ν•˜λ©΄ νŒ¨ν‚€μ§€κ°€ μ„€μΉ˜λ  λ•Œ, prefix/bin λ˜λŠ” ./node_modules/.bin/에 symlinkλ₯Ό ν•œλ‹€.

{
  "bin": {
    "myapp": "./cli.js"
  }
}

man

man ν”„λ‘œκ·Έλž¨μ΄ 찾을 수 μžˆλ„λ‘ 단일 파일 λ˜λŠ” λ°°μ—΄λ‘œ μ§€μ •ν•œλ‹€.

directories

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#directories

repository

νŒ¨ν‚€μ§€μ˜ μ €μž₯μ†Œλ₯Ό μž‘μ„±ν•  수 μžˆκ²Œν•œλ‹€.

"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"
}

scripts

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#scripts

config

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#config

dependencies

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#dependencies

devDependencies

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#devdependencies

peerDependencies

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependencies

bundledDependencies

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#bundleddependencies

optionalDependencies

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#optionaldependencies

engines

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#engines

os

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#os

cpu

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#cpu

private

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#private

publishConfig

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#publishconfig

workspaces

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#workspaces