npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pkgowners

v0.2.0

Published

PKGOWNERS management utility

Downloads

8

Readme

pkgowners

PKGOWNERS 관리 도구

사용법

먼저, .github/CODEOWNERS에 각 섹션별로 구분되도록 코드오너를 지정합니다.

# 로그인
/src/pages/login @username @username2
/src/components/login @username @username2

# 회원가입
/src/pages/register @username @username2
/src/components/register @username @username2

그 다음, GitHub ID / JIRA ID가 동기화될 수 있도록 아래의 형식으로 .github/ID_MAPPING.csv 파일을 작성합니다. Priority 필드가 true로 지정되면, 해당 인원에게 패키지가 우선 배정됩니다.

GitHub, Email, Priority
username, [email protected], N
username2, [email protected], Y

이 두 파일이 준비되면 PKGOWNERS를 생성할 준비가 끝납니다.

init

npx pkgowners init 으로 비어있는 PKGOWNERS 파일을 생성합니다. 그룹으로 묶어서 관리하고 싶은 패키지가 있다면, 이 파일을 수정해서 병합할 수 있습니다. 와일드카드를 사용할 수도 있습니다.

이 명령은 이미 작성된 내용을 수정하지 않기 때문에, PKGOWNERS가 생성된 뒤에도 필요하다면 다시 호출해서 새로운 패키지들에 대한 PKGOWNERS를 생성할 수 있습니다.

# 이렇게 반환되지만
@storybook/react
@storybook/addons
storybook-jotai-plugin

# 이렇게 패턴으로 바꿔서 묶을 수 있습니다
@storybook/*|storybook-*

analyze

npx pkgowners analyze 로 CODEOWNERS에 기재된 영역별로 어느 부분에서 사용하고 있는지 파악해서, PKGOWNERS에 담당자 후보를 배정할 수 있습니다.

react @username @username2

해당 필드를 참고해서 담당자를 1명에게 부여하면 됩니다. 담당자는 GitHub ID를 받습니다.

assign

npx pkgowners assign 로 PKGOWNERS에 있는 여러 담당자 중 임의로 1명을 지정합니다. 패키지에 담당자가 아무도 지정되어 있지 않다면, ID_MAPPING.csv 에 있는 인원 중 한 명에게 임의로 지정됩니다.

react @username

rotate

npx pkgowners rotateinit, analyze, assign을 한 번에 실행해서 임의의 담당자를 바로 지정할 수 있습니다.

check-updates

npx pkgowners check-updates 는 PKGOWNERS와, package.json을 읽고 업데이트가 필요한 패키지와, 해당 패키지의 담당자를 출력합니다.

react: ^17.0.0 -> 18.0.0 (@username, @username2)

check-updates-jira

npx pkgowners check-updates-jira 는 업데이트가 필요한 패키지 하나마다 JIRA 카드를 자동으로 생성할 수 있도록 CSV 형식의 파일을 stdout으로 반환합니다.

npx pkgowners check-updates-jira --parent-id 'PROJECT-123' > ~/jira.csv 와 같은 방법으로 내보낼 수 있습니다.

내보낸 CSV는 JIRA의 "모든 이슈 보기" (/issues) 페이지의 메뉴에 있는 "CSV에서 이슈 가져오기" 기능을 통해 JIRA 카드로 변환해서 불러올 수 있습니다.