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

@tsdy/git-util

v0.0.1-beta.8

Published

v0.0.1-beta.1

Downloads

12

Readme

TyGitUtil

v0.0.1-beta.1

Start

npm install @tsdy/git --save

import { Git } from '@tsdy/git'
const ROOT_PATH = '' // 根目录
const REPO_NAME = '' // 仓库名(文件夹名称)
const git = new Git(ROOT_PATH, REPO_NAME)
......

Api

findBranch

获取所有分支

type Branch = {
    name: string; // 分支名
    latestCommit: string; // 该分支下最新一次commit hash
}
function findBranch(): Promise<Array<Branch>>

updateHead

修改当前HEAD指向

function updateHead(name: string, tag: boolean = false): Promise<void>

Params

  • name: 分支名或标签名
  • tag: name是否为标签名

findHead

获取当前HEAD指向

type Head = {
    type: 'commit' | 'tag';
    name: string;
}

function findHead(): Promise<Head>

findCommit

获取指定分支下所有提交信息

type Commit = {
    username: string; // 提交者名称
    time: Date; // 提交时间
    commitHash: string;
    treeHash: string;
    comment: string; // 提交信息
}

function findCommit(branchName: string): Promise<Array<Commit>>

Params

  • branchName: 分支名

findDiffItem

获取指定分支下,文件/文件夹(blob/tree)被修改的commitHash和hash

type Item = {
    commitHash: string;
    hash: string;
}

function findDiffItem(commitHash: string, limit?: number): Promise<Array<Item>>

Params

  • commitHash: 提交对应的hash
  • limit: 由于这个函数会获得从初始提交到到当前commitHash间所有文件变动,如果不想获取所有变动,可以通过limit指定commit的数量。(如果有三个新提交,那么limit应该为4)

findTree

获取指定commitHash/treeHash的文件列表

type TreeItem = {
    type: 'blob' | 'tree';
    hash: string; // 文件或目录对应的hash
    name: string;
}
function findTree(hash: string): Promise<Array<TreeItem>>

Params

  • hash 这个hash可以是commitHash和treeHash

findBlob

通过blobHash获取文件内容(自动转换为UTF-8)

function findBlob(blobHash: string): Promise<string>

Params

  • blobHash blob对应的hash,可以通过findTree获取。