Fork me on GitHub

2020-02-05: npm unpublish policy, yarn v2(berry) RC 릴리스

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #473 - npm에는 패키지를 공개한 사람이 해당 패키지를 철회하는 규칙에 대해 정의한 npm Unpublish Policy가 있습니다.
이번에 이 npm Unpublish Policy의 규칙이 갱신됐습니다.

본래 이 Unpublish Policy는 left-pad가 unpublish 된 사건을 계기로 정의 됐습니다. 이미 사용되고 있는 npm 패키지가 unpublish 되면 npm의 에코시스템이 깨지게 됩니다. 따라서 npm unpublish에 어떠한 제한을 걸기 위해 도입된 규칙입니다.

이번에 npm publish 한 후 npm unpublish 가능한 시간 제한이 완화 됐으며 몇 가지 조건을 충족할 경우 시간 제한 없이 unpublish 가능하도록 변경됐습니다.

  • publish 한 후 72 시간 이내(본래는 24시간 이내)
  • 지난 주 다운로드 수가 300미만, 다른 공개 모듈에서 의존하고 있지 않음, 단독 소유(소유자/메인테이너)일 경우

이 변경 전에는 publish 한 후 24시간 이상 지나면 unpublish 하기 위해서 직접 지원 센터에 연락할 필요가 있었습니다.
아무래도 불편하기 때문에 다른 모듈에서 의존하지 않는 등의 모듈은 npm unpublish 가능하도록 규칙을 변경한 것 같습니다.


Yarn의 메이저 업데이트 인 v2(yarnpkg/berry)의 RC 버전 진행과 함께 yarn 2의 변경 사항에 대해서 메인테이너인 arcanis가 정리해 공개했습니다.

이 글에는 현재 Stable인 Yarn v1을 legacy로, 향후 v2(berry)를 Stable로 전환 할 계획 등이 소개돼 있습니다.
웹사이트도 이에 맞춰 리다렉트(next.yarnpkg.com) 되며 이 영향으로 번역된 페이지에 접근시 404가 발생하기도 합니다.

또한 기본적으로 캐시를 레파지토리에 배치하도록 변경, CLI의 출력 방식 변경, v1의 구조 차이 등 Yarn 2의 변경 사항에 대해서도 소개돼 있습니다.
새로운 기능으로는 npx와 같은 yarn dlx 추가, patch:/portal: 대응, Workspace 명령어 개선, Workspace를 검사하는 Constraints가 추가 됐습니다.
이 외에도 패키지 별 빌드 여부를 설정할 수 있으며 yarn run에서 OS간 쉘의 차이 정규화, Lock 파일의 포멧 변경, 의존 패키지를 수정할 수 없도록 Read-Only로 변경했습니다.

현재 v2와 관련된 문서나 이전 가이드도 공개돼 있기 때문에 관심 있는 분은 함께 살펴보시기 바랍니다.,


헤드라인


Release v2.1.0 · puppeteer/puppeteer

github.com/puppeteer/puppeteer/releases/tag/v2.1.0

JavaScript Chrome browser library ReleaseNote

Puppeteer v2.1.0이 릴리스 됐습니다.
Chromium 80로 갱신됏으며 Firefox를 지원합니다.


New PWABuilder release! - PWABuilder - Medium

medium.com/pwabuilder/new-pwabuilder-release-b2932f4722a5

ProgressiveWebApp Tools ReleaseNote

PWABuilder가 갱신됐습니다.
Trusted Web Activity를 사용한 Android 용 패키징에 대응했으며 패키징 관련 가이드가 개편됐습니다.


The npm Blog — Changes to npm Unpublish Policy - January 2020

blog.npmjs.org/post/190553543620/changes-to-npm-unpublish-policy-january-2020

npm news

npm의 unpublish policy가 변경됐습니다.
지금까지 24시간 이내에 가능했던 unpublish가 72시간 이내 할 수 있도록 변경됐습니다.
또, 다운로드 수가 300미만이면서 다른 공개 패키지에서 의존하고 있지 않고 단독 소유(소유자 / 메인테이너)일 경우에도 unpublish가 가능합니다.


Introducing Yarn 2 ! 🧶🌟 - DEV Community 👩‍💻👨‍💻

dev.to/arcanis/introducing-yarn-2-4eh1

yarn JavaScript npm ReleaseNote

Yarn 2에 관한 글이 공개됐습니다.
Yarn v1은 legacy로 전환되며 향우 Stable은 v2(berry)로 바뀔 계획입니다.
기본적으로 캐시를 레파지토리에 배치하도록 변경됐으며 CLI의 출력 방식이 바뀌었습니다. 그리고 npx와 같은 yarn dlx가 추가됐고 patch:/portal:를 대응합니다. 이어 Workspace 명령어어 개선이 이뤄졌고 Workspace를 검사하는 Constraints가 추가됐습니다.
또, 패키지 별 빌드 여부를 설정할 수 있으며 yarn run에서 OS간 쉘의 차이 정규화, Lock 파일의 포멧 변경, 의존 패키지를 수정할 수 없도록 Read-Only로 변경했습니다.


Meteor 1.9 (Node.js 12) and new Roadmaps - Meteor Blog

blog.meteor.com/meteor-1-9-node-js-12-and-new-roadmaps-cb993277d444

JavaScript node ReleaseNote

Meteor 1.9가 릴리스 됐습니다.
Node.js 12를 지원하며 Galaxy(Metor 호스팅 환경)의 로드맵이 공개됐습니다.


Release Releaaaaaaaaaaaaaaaaaaase · preactjs/preact

github.com/preactjs/preact/releases/tag/10.3.0

React JavaScript ReleaseNote

Preact 10.3.0이 릴리스 됐습니다.
Built-In 요소를 상속하는 Custom Element에 대응했으며 버그가 수정됐습니다.


아티클


What's New In DevTools (Chrome 81)  |  Web  |  Google Developers

developers.google.com/web/updates/2020/01/devtools

Chrome debug article

Chrome 81 개발자 도구의 변경 사항이 정리돼 있습니다.
차단된 쿠키를 특정 색으로 나타내며 네트워크 패널에 Copy as Node.js fetch 추가됐고 Source Map의 에러가 콘솔에 표시됩니다.


JavaScript Libraries Are Almost Never Updated Once Installed

blog.cloudflare.com/javascript-libraries-are-almost-never-updated/

JavaScript library article

CDN 경유로 사이트에 내장돼 있는 자바스크립트 라이브러리는 한번 설치된 뒤 갱신되는 경우가 거의 없다는 사실을 데이터를 기반으로 설명합니다.


슬라이드, 문서


곧 다가올 Vue.js 3 - Speaker Deck(일본어)

speakerdeck.com/kazupon/mamonakuyatutekuru-vue-dot-js-3

Vue slide

Vue.js 3를 소개하는 슬라이드 자료입니다.
Composition API, 라이프 사이클 훅, DI(provide,inject), React스러운 Portal과 Suspense, 추가된 CSS 독자 의사 클래스에 대해서 소개합니다.
또, 필터 삭제 건과 글로벌 상태 정리에 대해서도 이야기합니다.


소프트웨어, 도구, 라이브러리


Adapt · React for your infrastructure.

adaptjs.org/

React Infrastructure Tools

React를 사용해 pulumi 등 처럼 인프라를 코드로 관리하는 도구입니다.
Hooks API, 컴포넌트, JSX로 설정을 작성할 수 있습니다.
환경이나 프로바이더 등의 분리는 Style 이라고 하는 타입을 이용하여 할 수 있습니다.


cutenode/mingine: A module to get the minimum usable engine(s)

github.com/cutenode/mingine

npm node Tools library

의존하고 있는 npm 패키지의 engines 필드에서 engines 별 minimum한 버전을 산출하는 라이브러리입니다.


도서


Manning | Deep Learning with JavaScript

www.manning.com/books/deep-learning-with-javascript

JavaScript MachineLearning book

TensorFlow.js를 사용한 Deep Learning를 주제로 한 도서입니다.


프로그래밍 TypeScript ― 스케일하는 JavaScript 애플리케이션 개발 | Boris Cherny, 이마무라 켄시, 하라 타카후미 | 책 | 통신판매 | Amazon(일본어)

www.amazon.co.jp/dp/4873119049/

TypeScript book

2020년 3월 16일에 출간 예정인 Programming TypeScript 일본어 역서입니다.


Pull Request to this article
JSer.info Slackに参加する