Node.js 배포판에 포함되어 자바스크립트 모듈 배포에 사용되는 NPM 패키지 관리자의 새 버전 인 7.0 출시가 최근 발표되었습니다.
이번 NPM 7.0의 새로운 버전 에는 워크스페이스 (npm CLI의 기능 모음) 가 포함되어 있어 여러 패키지를 관리하고, 여러 패키지에 의존하는 패키지를 한 번에 설치할 수 있도록 지원합니다.
기쁜 화요일 릴리스입니다! 오늘은 npm CLI 팀에게 중요한 이정표가 되는 날입니다. 바로 [email protected] 버전을 공식 출시했기 때문입니다. 지난 1년 또는 그 이상 동안 저희를 지켜봐 주신 분들은 이번 릴리스를 위해 저희가 얼마나 열심히 노력해 왔는지 아실 겁니다.
자동 피어 종속성 설치 기능 도 제공됩니다 (플러그인에서 현재 패키지가 함께 작동하도록 설계된 기본 패키지를 확인하는 데 사용되며, 해당 패키지가 플러그인에서 직접 사용되지 않더라도 적용됩니다).
이전에 개발자가 수동으로 설치해야했기 때문에 이제 패키지에 대한 적절한 피어 종속성이 자동으로 발견됩니다.
피어 종속성은 package.json 파일 의 "peerDependencies" 섹션에 지정됩니다. NPM 7.0은 적절하게 정의된 피어 종속성이 node_modules 트리의 종속 패키지 레벨 이상에서 발견되도록 하는 알고리즘을 구현합니다.
우리의 집중과 결단력은 지난 3 개월을 뛰어 넘었습니다. 우리는 주간 릴리스주기를 파악하고 베타 / rc 기간 동안 버그 / 댓글을 해결하기 시작했습니다.
앞서 언급했듯이 우리는 여전히 개선의 여지가 많지만 cli는 오늘날 매우 안정적인 위치에 있으며 사용할 준비가되어 있다고 생각합니다. npm v7은 Node.js v15 (이 작업을위한 PR이 곧 공개 될 예정입니다)와 함께 제공되며 올해 마지막 분기가 다가옴에 따라 변경 / 개선 속도를 계속 유지하기를 기대합니다.
또한, 두 번째 버전의 잠금 형식 (package-lock v2) 과 yarn.lock 잠금 파일 지원이 제공됩니다.
패킷 차단 형식은 이제 npm이 패킷 트리를 완전히 생성하는 데 필요한 모든 것을 포함하도록 수정되었습니다. 지금까지 yarn.lock 파일은 분명히 무시되었습니다. V7 이후 npm 클라이언트는 패키지 메타 데이터와 해상도 정보도 읽을 수 있습니다.
새로운 형식은 반복 가능한 빌드를 가능하게 하며 완전한 패키지 트리를 빌드하는 데 필요한 모든 것을 포함합니다.
또한 npm 내부의 대대적 인 점검에도 불구하고 팀은 대부분의 워크 플로에 최소한의 중단이 있도록하기 위해 지칠 줄 모르고 노력해 왔습니다.
내부 구성 요소에 대한 대대적인 리팩토링이 진행되었으며 , 이는 유지 관리를 단순화하고 신뢰성을 높이기 위해 기능을 분리하는 것을 목표로 합니다.
예를 들어 node_modules 트리를 검사하고 관리하는 코드가 별도의 Arborist 모듈로 이동되었습니다.
package.exports 필드 사용으로 전환되었습니다. 따라서 require () 호출을 통해 내부 모듈을 연결할 수 없습니다.
완전히 다시 작성된 npx 패키지. 이제 "npm exec"명령을 사용하여 패키지에서 실행 파일을 실행합니다.
"npm audit"명령의 출력은 사람이 읽을 수있는 형식으로 생성 될 때와 "–json"모드가 선택된 경우 모두 크게 변경되었습니다.
방출
새 버전은 이제 일반 대중이 사용할 수 있으며 이전 버전을 빠르게 업데이트하거나이 새 버전을 완전히 설치할 수 있습니다.
마지막으로, NPM 저장소는 약 1,3 만 명의 개발자가 사용하는 12 만 개 이상의 패키지를 제공한다는 점을 아는 것이 중요합니다. 매달 약 75 억 다운로드가 기록됩니다. NPM 7.0은 GitHub에서 NPM Inc를 인수 한 후 형성된 첫 번째 중요한 릴리스입니다.
새 버전은 10월 20일로 예정된 Node.js 플랫폼 버전 15에 포함될 예정입니다 . Node.js의 새 버전을 기다리지 않고 NPM 7.0을 설치하려면 터미널에서 다음 명령어를 실행하세요.
npm i -g npm@7
새로 출시된 버전 에 대한 자세한 내용을 알고 싶으시면 공식 발표를 확인해 주세요.