주의 이 프로젝트를 컴퓨터에 복제하려는 경우 폴더 이름으로 package.json
사용하지 마십시오. 그러면 yarn
손상됩니다( An unexpected error occurred: "EISDIR: illegal operation on a directory, read".
).
이 문서의 원본 버전은 Yarnpkg에서 복사되었습니다.
npm 문서, std-pkg, clean-publish, package-json-validator, cosmiconfig, rc(cosmiconfig에 대한 반대 접근 방식)도 참조하세요.
name
version
description
keywords
license
homepage
bugs
repository
author
contributors
files
main
bin
man
directories
scripts
scripts
config
dependencies
devDependencies
peerDependencies
optionalDependencies
bundledDependencies
engines
os
cpu
libc
private
publishConfig
flat
resolutions
workspaces
bolt
unpkg
types
flow:main
browserslist
module
browser
esnext
es2015
esm
module-browser
modules.root
jsnext:main
react-native
sideEffects
source
, umd:main
source
@std/esm
jspm
ignore
format
registry
shim
map
browserify.transform
proxy
homepage
babel
eslintConfig
jest
stylelint
size-limit
pwmetrics
ava
nyc
preferGlobal
style
less
standard
package.json
에서 가장 중요한 두 가지 필드는 name
및 version
이며, 이것이 없으면 패키지를 설치할 수 없습니다. name
및 version
필드는 고유 ID를 생성하는 데 함께 사용됩니다.
name
{
"name" : " my-awesome-package "
}
이는 패키지의 이름입니다. URL, 명령줄의 인수, node_modules
내부의 디렉터리 이름으로 사용됩니다.
yarn add [name]
node_modules/[name]
https://registry.npmjs.org/[name]/-/[name]-[version].tgz
규칙
@scope/
포함)..
)이나 밑줄( _
)로 시작하면 안 됩니다.팁
js
나 node
넣지 마세요.require()
호출에서도 사용될 것입니다.version
{
"version" : " 1.0.0 "
}
패키지의 현재 버전입니다.
description
{
"description" : " My short description of my awesome package "
}
설명은 사람들이 패키지의 목적을 이해하는 데 도움이 되는 문자열일 뿐입니다. 패키지 관리자에서 패키지를 검색할 때도 사용할 수 있습니다.
keywords
{
"keywords" : [ " short " , " relevant " , " keywords " , " for " , " searching " ]
}
키워드는 패키지 관리자에서 패키지를 검색할 때 유용한 문자열 배열입니다.
license
{
"license" : " MIT " ,
"license" : " (MIT or GPL-3.0) " ,
"license" : " SEE LICENSE IN LICENSE_FILENAME.txt " ,
"license" : " UNLICENSED "
}
모든 패키지는 사용자가 사용이 허용되는 방법과 이에 대한 제한 사항을 알 수 있도록 라이선스를 지정해야 합니다.
특별한 이유가 없는 한 오픈 소스(OSI 승인) 라이선스를 사용하는 것이 좋습니다. 업무의 일부로 패키지를 제작한 경우 라이선스를 결정하기 전에 회사에 문의하는 것이 가장 좋습니다.
다음 중 하나여야 합니다.
<filename>
을 가리키는 SEE LICENSE IN <filename>
문자열입니다.UNLICENSED
문자열입니다. 문서에 대한 다양한 링크, 파일 문제 위치 및 패키지 코드가 실제로 존재하는 위치.
homepage
{
"homepage" : " https://your-package.org "
}
홈페이지는 패키지의 방문 페이지 또는 문서에 대한 URL입니다.
Create React App에서도 사용됩니다.
bugs
{
"bugs" : " https://github.com/user/repo/issues "
}
프로젝트 이슈 트래커의 URL입니다. 이메일 주소와 같은 것일 수도 있습니다. 이는 사용자에게 패키지 문제를 보낼 곳을 찾는 방법을 제공합니다.
repository
{
"repository" : { "type" : " git " , "url" : " https://github.com/user/repo.git " },
"repository" : " github:user/repo " ,
"repository" : " gitlab:user/repo " ,
"repository" : " bitbucket:user/repo " ,
"repository" : " gist:a1b2c3d4e5f "
}
저장소는 패키지의 실제 코드가 있는 위치입니다.
프로젝트의 관리자.
author
{
"author" : { "name" : " Your Name " , "email" : " [email protected] " , "url" : " http://your-website.com " },
"author" : " Your Name <[email protected]> (http://your-website.com) "
}
패키지 작성자 정보. 작가는 한 사람이다.
contributors
{
"contributors" : [
{ "name" : " Your Friend " , "email" : " [email protected] " , "url" : " http://friends-website.com " }
{ "name" : " Other Friend " , "email" : " [email protected] " , "url" : " http://other-website.com " }
],
"contributors" : [
" Your Friend <[email protected]> (http://friends-website.com) " ,
" Other Friend <[email protected]> (http://other-website.com) "
]
}
귀하의 패키지에 기여한 사람들. 기여자는 다양한 사람들로 구성됩니다.
프로젝트의 기본 진입점과 함께 프로젝트에 포함될 파일을 지정할 수 있습니다.
files
{
"files" : [
" filename.js " ,
" directory/ " ,
" glob/*.{js,json} "
]
}
프로젝트에 포함된 파일입니다. 단일 파일, 전체 디렉터리를 지정하거나 와일드카드를 사용하여 특정 기준을 충족하는 파일을 포함할 수 있습니다.
main
{
"main" : " filename.js "
}
이는 프로젝트 기능의 기본 진입점입니다.
bin
{
"bin" : " bin.js " ,
"bin" : {
"command-name" : " bin/command-name.js " ,
"other-command" : " bin/other-command "
}
}
설치될 프로젝트에 포함된 실행 파일입니다.
man
{
"man" : " ./man/doc.1 " ,
"man" : [ " ./man/doc.1 " , " ./man/doc.2 " ]
}
프로젝트와 관련된 매뉴얼 페이지가 있는 경우 여기에 추가하십시오.
directories
{
"directories" : {
"lib" : " path/to/lib/ " ,
"bin" : " path/to/bin/ " ,
"man" : " path/to/man/ " ,
"doc" : " path/to/doc/ " ,
"example" : " path/to/example/ "
}
}
패키지를 설치할 때 바이너리 파일, 매뉴얼 페이지, 문서, 예제 등을 넣을 정확한 위치를 지정할 수 있습니다.
패키지에는 실행 가능한 스크립트 또는 기타 구성이 포함될 수 있습니다.
scripts
{
"scripts" : {
"build-project" : " node build-project.js "
}
}
스크립트는 간단한 빌드 프로세스나 개발 도구 등 패키지와 관련된 작업을 자동화하는 훌륭한 방법입니다. "scripts"
필드를 사용하면 yarn run <script>
로 실행할 다양한 스크립트를 정의할 수 있습니다. 예를 들어 위의 build-project
스크립트는 yarn run build-project
사용하여 호출할 수 있으며 node build-project.js
실행합니다.
특정 스크립트 이름은 특별합니다. 정의된 경우 preinstall
스크립트는 패키지가 설치되기 전에 Yarn에 의해 호출됩니다. 호환성상의 이유로 install
, postinstall
및 prepublish
라는 스크립트는 패키지 설치가 완료된 후 모두 호출됩니다.
start
스크립트 값의 기본값은 node server.js
입니다.
"scripts": {"start": "node server.js"}
. 패키지 루트에 server.js 파일이 있는 경우 npm은 기본적으로 node server.js에 대한 시작 명령을 사용합니다.
"scripts":{"preinstall": "node-gyp rebuild"}
. 패키지 루트에 바인딩.gyp 파일이 있는 경우 npm은 기본적으로 사전 설치 명령을 사용하여 node-gyp를 사용하여 컴파일합니다.-- npm 문서
scripts
npm은 다음 스크립트에 대해 package.json
파일의 scripts
속성을 지원합니다.
prepublish
: 패키지가 압축되고 게시되기 전에 실행되며 인수 없이 로컬 npm 설치에서도 실행됩니다. (아래 참조)prepare
: 패키지가 압축되어 게시되기 전에 실행하고 인수 없이 로컬 npm 설치에서 실행합니다(아래 참조). 이는 prepublish 후에 실행되지만 prepublishOnly 전에는 실행됩니다.prepublishOnly
: 패키지가 준비되고 패키징되기 전에 npm 게시에서만 실행됩니다. (아래를 참조하세요.)prepack
: tarball이 압축되기 전에 실행합니다(npm pack, npm 게시 및 git 종속성 설치 시).postpack
: 타르볼이 생성되어 최종 대상으로 이동된 후에 실행됩니다.publish
, postpublish
: 패키지가 게시된 후에 실행합니다.preinstall
: 패키지가 설치되기 전에 실행install
, postinstall
: 패키지가 설치된 후에 실행합니다.preuninstall
, uninstall
: 패키지가 제거되기 전에 실행합니다.postuninstall
: 패키지가 제거된 후에 실행됩니다.preversion
: 패키지 버전을 충돌하기 전에 실행합니다.version
: 패키지 버전을 적용한 후 실행하지만 커밋하기 전에 실행합니다.postversion
: 패키지 버전을 적용한 후 실행하고 커밋한 후에 실행합니다.pretest
, test
, posttest
: npm test 명령으로 실행됩니다.prestop
, stop
, poststop
: npm stop 명령으로 실행됩니다.prestart
, start
, poststart
: npm start 명령으로 실행됩니다.prerestart
, restart
, postrestart
: npm restart 명령으로 실행됩니다. 참고: npm restart는 다시 시작 스크립트가 제공되지 않은 경우 중지 및 시작 스크립트를 실행합니다.preshrinkwrap
, shrinkwrap
, postshrinkwrap
: npmshrinkwrap 명령으로 실행됩니다.출처: npm 문서.
config
{
"config" : {
"port" : " 8080 "
}
}
스크립트에 사용되는 구성 옵션 또는 매개변수입니다.
귀하의 패키지는 다른 패키지에 따라 달라질 가능성이 높습니다. package.json
파일에서 이러한 종속성을 지정할 수 있습니다.
dependencies
{
"dependencies" : {
"package-1" : " ^3.1.4 "
}
}
이는 패키지의 개발 및 프로덕션 모두에 필요한 종속성입니다.
정확한 버전, 최소 버전(예:
>=
) 또는 버전 범위(예:>= ... <
)를 지정할 수 있습니다.
devDependencies
{
"devDependencies" : {
"package-2" : " ^0.4.2 "
}
}
이는 패키지를 개발할 때만 필요하지만 프로덕션에는 설치되지 않는 패키지입니다.
peerDependencies
{
"peerDependencies" : {
"package-3" : " ^2.7.18 "
}
}
피어 종속성을 사용하면 패키지와 다른 패키지 버전의 호환성을 명시할 수 있습니다.
optionalDependencies
{
"optionalDependencies" : {
"package-5" : " ^1.6.1 "
}
}
선택적 종속성은 패키지와 함께 사용할 수 있지만 필수는 아닙니다. 선택적 패키지를 찾을 수 없는 경우에도 설치가 계속됩니다.
bundledDependencies
{
"bundledDependencies" : [
" package-4 "
]
}
번들 종속성은 패키지를 게시할 때 함께 번들로 묶일 패키지 이름의 배열입니다.
운영 체제 호환성 등 패키지와 관련된 시스템 수준 정보를 제공할 수 있습니다.
engines
{
"engines" : {
"node" : " >=4.4.7 <7.0.0 " ,
"zlib" : " ^1.2.8 " ,
"yarn" : " ^0.14.0 "
}
}
엔진은 패키지와 함께 사용해야 하는 클라이언트 버전을 지정합니다. 이는 process.versions
및 현재 버전의 원사를 확인합니다.
os
{
"os" : [ " darwin " , " linux " ],
"os" : [ " !win32 " ]
}
이는 패키지의 운영 체제 호환성을 지정합니다. process.platform
을 확인합니다.
cpu
{
"cpu" : [ " x64 " , " ia32 " ],
"cpu" : [ " !arm " , " !mips " ]
}
패키지가 특정 CPU 아키텍처에서만 실행되도록 지정하려면 이를 사용합니다. 이는 process.arch
를 확인합니다.
libc
{
"libc" : [ " glibc " ],
"libc" : [ " musl " ]
}
패키지가 특정 libc 버전에서만 실행되도록 지정하려면 이를 사용합니다. 이는 detect-libc
의 결과를 확인합니다.
private
{
"private" : true
}
패키지 관리자에 패키지를 게시하지 않으려면 이를 true
로 설정하세요.
publishConfig
{
"publishConfig" : {
...
}
}
이러한 구성 값은 패키지를 게시할 때 사용됩니다. 예를 들어 패키지에 태그를 지정할 수 있습니다.
flat
{
"flat" : true
}
패키지가 특정 종속성의 한 버전만 허용하고 명령줄에서 yarn install --flat
과 동일한 동작을 적용하려면 이를 true
로 설정하세요.
package.json
에 "flat": true
포함되어 있고 다른 패키지가 귀하의 패키지에 종속된 경우(예: 응용 프로그램이 아닌 라이브러리를 구축하는 경우) 해당 다른 패키지에도 package.json
에 "flat": true
필요합니다. 명령줄에서 yarn install --flat
사용하여 설치됩니다.
resolutions
{
"resolutions" : {
"transitive-package-1" : " 0.0.29 " ,
"transitive-package-2" : " file:./local-forks/transitive-package-2 " ,
"dependencies-package-1/transitive-package-3" : " ^2.1.1 "
}
}
특정 중첩 종속성의 버전을 재정의할 수 있습니다. 전체 사양은 선택적 버전 해상도 RFC를 참조하세요.
[ yarn install --flat
]을 통해 종속성을 설치하면 package.json
파일에 자동으로 resolutions
블록이 추가됩니다.
workspaces
--use-workspaces
가 true이면 package.json/workspaces
의 값으로 packages
재정의됩니다.
출처: --use-workspaces.
bolt
구성 보기
{
"bolt" : {
"workspaces" : [
" utils/* " ,
" apps/* "
]
}
}
unpkg
파일 경로를 생략하면(예: "기본" URL 사용) unpkg는 package.json
의 unpkg
필드에 지정된 파일을 제공하거나 main
(소스)으로 대체됩니다.
types
패키지에 기본 .js
파일이 있는 경우 package.json
파일에도 기본 선언 파일을 표시해야 합니다. 번들 선언 파일을 가리키도록 types
속성을 설정합니다. 예를 들어:
{
"main" : " ./lib/main.js " ,
"types" : " ./lib/main.d.ts "
}
typings
필드는 types
과 동의어이며 사용될 수도 있습니다.
또한 기본 선언 파일의 이름이 index.d.ts
이고 패키지 루트( index.js
옆)에 있는 경우 types
속성을 표시할 필요가 없지만 그렇게 하는 것이 좋습니다.
출처: TypeScript 문서
참고: Flow에서는 다른 접근 방식을 사용합니다.
flow:main
공식적으로 지원되지 않습니다. 제안은 여기에 있습니다.
browserslist
? 다양한 프런트엔드 도구 간에 대상 브라우저를 공유하는 라이브러리입니다. 그것은 다음에서 사용됩니다:
package.json
의 외부 구성 또는 2.0에서 지원되는 browserslist
파일) Browserslist를 사용하는 모든 도구는 package.json
에 다음을 추가하면 해당 구성을 자동으로 찾습니다.
{
"browserslist" : [
" > 1% " ,
" last 2 versions "
]
}
출처: 브라우저 목록.
참조: React 앱 지원 생성.
소개는 "다중 플랫폼 npm 패키지 설정"을 참조하세요.
module
pkg.module
ES2015 모듈 구문이 있는 모듈을 가리키지만 그렇지 않으면 대상 환경이 지원하는 구문 기능만 가리킵니다. 전체 설명은 여기에 있습니다.
지원: 롤업, 웹팩
browser
browser
필드는 클라이언트 측 사용을 위해 모듈을 패키징할 때 모듈 작성자가 자바스크립트 번들러 또는 구성 요소 도구에 대한 힌트로 제공합니다. 제안은 여기에 있습니다.
지원: 롤업, 웹팩, browserify
요청된 지원: babel-plugin-module-resolver
esnext
전체 제안은 여기에 있습니다. 간단한 설명:
esnext
: ES 모듈에서 트랜스파일되지 않은 4단계 기능(또는 이전 기능)을 사용하는 소스 코드입니다.main
: Node.js가 현재 처리할 수 있는 최신 JavaScript가 포함된 CommonJS 모듈(또는 UMD 모듈)을 가리킵니다.module
사용 사례는 esnext
통해 처리할 수 있어야 합니다.browser
esnext
의 확장 버전을 통해 처리될 수 있습니다. {
"main" : " main.js " ,
"esnext" : {
"main" : " main-esnext.js " ,
"browser" : " browser-specific-main-esnext.js "
}
}
참조: npm을 통해 변환되지 않은 소스 코드 제공
es2015
변환되지 않은 ES6 코드. 출처: APF(Angular Package Format) v5.0
esm
제안은 여기에 있습니다: 조정된 제안: ES 모듈 "esm": true package.json 플래그
참조:
module-browser
이 문제를 참조하세요
moduleBrowser
, jsnext:browser
라고도 합니다.
modules.root
In Defense of .js에서 언급되었습니다.
modules.resolver
도 있습니다.
jsnext:main
더 이상 사용되지 않음
jsnext:main
가져오기/내보내기 선언이 있는 파일의 위치를 나타내는 pkg.module
로 대체되었습니다. 원래 제안은 여기에 있습니다.
지원: 롤업.
react-native
browser
와 유사하게 작동하지만 반응 네이티브 특정 모듈에 사용됩니다. 원천.
sideEffects
패키지 모듈에 부작용(평가 시)이 없으며 내보내기만 노출됨을 나타냅니다. 이를 통해 webpack과 같은 도구가 다시 내보내기를 최적화할 수 있습니다.
참조: sideEffects
예제, 함수를 순수로 표시하기 위한 제안, eslint-plugin-tree-shaking.
source
, umd:main
package.json에서 빌드 지정을 참조하세요.
source
소포 번들러/소포#1652를 참조하세요.
@std/esm
개발자는 거의 모든 것에 대해 강한 의견을 가지고 있습니다. 이를 수용하기 위해 @std/esm
package.json
의 "@std/esm"
또는 "@std":{"esm":{}}
필드를 사용하여 추가 기능을 잠금 해제할 수 있습니다.
출처: @std/esm 잠금 해제 가능
jspm
package.json의 기본에 모든 패키지 속성을 작성할 수 있습니다. 또는 npm
에 특별히 사용하려는 기존 속성을 변경하지 않으려는 경우 jspm 속성 내에 jspm
관련 구성을 작성할 수 있습니다. package.json 및 jspm은 루트 수준 구성 옵션보다 이러한 옵션을 사용합니다.
예를 들어:
{
"name" : " my-package " ,
"jspm" : {
"main" : " jspm-main "
}
}
전체 사양을 참조하세요.
ignore
무시할 특정 파일이나 폴더가 있는 경우 배열에 나열할 수 있습니다.
format
옵션은 esm
, amd
, cjs
및 global
입니다.
npm
에서 모듈을 로드할 때 모듈 형식은 기본적으로cjs
로 처리되며 자동 감지가 실행되지 않습니다. 다른 형식의 모듈을 로드하려면 이 속성을 수동으로 재정의해야 합니다.
모듈 형식
esm
(ECMAScript 모듈)은 현재 package.json에서 사용되지 않습니다.
registry
jspm은 레지스트리 컨텍스트에서 종속성을 이해합니다.
npm에서 패키지를 로드할 때 jspm은 기본 레지스트리를 npm
으로 설정하고 이에 따라 종속성을 처리합니다.
GitHub에서 패키지를 로드할 때 레지스트리 속성이 없으면 종속성 속성이 무시됩니다. jspm은 기존 GitHub 저장소에 대한 종속성이 무엇을 의미하는지 알 수 있는 방법이 없기 때문입니다.
레지스트리 속성을 설정하면 jspm이 패키지를 해석하는 방법도 결정됩니다. 예를 들어, registry: "npm"
있는 GitHub 패키지는 npm에서 종속성을 가져오는 것과 함께 CommonJS로 해석되며 처음부터 npm 엔드포인트에서 설치된 것처럼 디렉터리 및 JSON 요구 사항과 같은 기능을 지원합니다.
레지스트리 속성이 registry: "jspm"
으로 설정된 GitHub의 패키지는 해당 종속성을 jspm 스타일 종속성으로 처리합니다.
shim
전역으로 작성된 패키지는 모듈식 환경에서 제대로 작동하려면 shim 구성이 필요합니다. 패키지 내 some/global.js
파일을 심으려면 다음과 같이 작성할 수 있습니다.
{
"shim" : {
"some/global" : {
"deps" : [ " jquery " ],
"exports" : " globalExportName "
}
}
}
deps
와 exports
모두 선택 사항입니다.
exports
스크립트에 의해 작성된 전역으로 SystemJS 로더에 의해 자동으로 감지됩니다. 대부분의 경우 이 검색은 올바르게 작동합니다.
exports
가 없는 경우 "some/global": ["jquery"]
의 단축 형식도 지원됩니다.
map
맵 구성은 다른 로컬 또는 외부 모듈을 가리키도록 내부 요구 사항을 다시 작성합니다.
third_party/dep
에 위치한 자체 종속성 dep
포함하는 패키지를 생각해 보세요. 내부적으로 다음과 같은 require 문을 가질 수 있습니다.
require ( 'dep' ) ;
로컬 버전을 사용하려면 다음과 같이 작성할 수 있습니다.
{
"map" : {
"dep" : " ./third_party/dep "
}
}
하위 모듈 내에서 자체 이름으로 패키지를 참조하는 것도 유용할 수 있습니다.
{
"map" : {
"thispackage" : " . "
}
}
그러면 import 'thispackage/module'
위한 내부 요구 사항이 올바르게 해결되도록 할 수 있습니다.
맵 구성은 종속성 하위 모듈을 참조할 수도 있습니다.
또한 빈 모듈에 매핑하여 모듈을 완전히 제외할 수도 있습니다.
{
"map" : {
"jquery" : " @empty "
}
}
반환된 값은 내보내기가 없는 모듈 개체가 됩니다.
browserify.transform
문서는 여기에 있습니다
proxy
사람들은 백엔드 구현과 동일한 호스트 및 포트에서 프런트엔드 React 앱을 제공하는 경우가 많습니다.
출처: 개발 중인 API 요청 프록시
homepage
출처: 상대 경로 구축
babel
이 문제를 참조하세요.
eslintConfig
jest
{
"jest" : {
"verbose" : true
}
}
출처: jest 문서
stylelint
참고: 새로운 구성 로더
size-limit
이 라이브러리를 사용하는 경우 package.json
에서 해당 구성을 정의할 수 있습니다.
{
"size-limit" : [
{
"limit" : " 9 KB " ,
"path" : " index.js "
}
]
}
출처: 크기 제한
pwmetrics
package.json
에서 옵션을 지정해야 합니다.
{
"pwmetrics" : {
"url" : " http://example.com/ " ,
"expectations" : {
"ttfcp" : {
"warn" : " >=1500 " ,
"error" : " >=2000 "
}
}
}
}
사용 가능한 모든 옵션이 여기에 있습니다.
출처: pwmetrics
ava
예:
"ava" : {
"require" : [ " @std/esm " ]
}
출처 : 아바타
nyc
예:
"nyc" : {
"extension" : [ " .js " , " .mjs " ],
"require" : [ " @std/esm " ]
}
출처: 뉴욕
preferGlobal
더 이상 사용되지 않음
이 옵션은 npm 경고를 트리거하는 데 사용되었지만 더 이상 경고하지 않습니다. 순전히 정보 제공의 목적으로 존재합니다. 이제 가능하면 모든 바이너리를 로컬 devDependency로 설치하는 것이 좋습니다.
style
package.json
의 style
속성은 CSS 패키지를 가져오는 데 유용합니다. 제안은 여기에 있습니다.
지원:parcelify, npm-less, rework-npm, npm-css.
istf-spec도 참조하세요.
less
style
과 동일하지만 가격은 더 저렴합니다.
지원: npm-less.
다음 필드는 향후 확장을 위해 예약되어 있습니다: build
, default
, email
, external
, files
, imports
, maintainer
, paths
, platform
, require
, summary
, test
, using
, downloads
, uid
.
다음 필드는 패키지 레지스트리가 재량에 따라 사용할 수 있도록 예약되어 있습니다: id
, type
.
_
또는 $
로 시작하는 모든 속성은 패키지 레지스트리가 재량에 따라 사용할 수 있도록 예약되어 있습니다.
출처: CommonJS 위키
standard
표준 JS는 javaScript 스타일 가이드, linter 및 포맷터입니다. package.json에 parser
, ignore
, globals
, plugins
와 같은 일부 속성을 추가할 수 있습니다.
예:
"standard" : {
"parser" : " babel-eslint " ,
"ignore" : [
" **/out/ " ,
" /lib/select2/ " ,
" /lib/ckeditor/ " ,
" tmp.js "
]
}
참조: 표준 JS