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

copy-push

v1.2.1

Published

clone & copy & push: clone -> pull -> copy -> add -> commit -> push

Downloads

23

Readme

copy-push

NPM version changelog license

一步完成文件的复制和提交(git)

为什么做这个

前后端分离的开发过程中, 每次前端将静态资源文件上传到 CDN 之后, 还需要将页面放置到后端项目的目录中, 然后再提交到 git.

因此每次都需要重复的执行: pull -> copy -> add -> commit -> push, 整个过程很是繁琐.

对于重复的工作, 很懒的我们肯定是需要自动化工具代劳之.

示例

copy-push-snapshot

使用方法

需要先安装好 Git

  • 全局安装使用

    npm install copy-push -g
    cd fe-project
    copy-push --destRoot=../backend-project --destDir=dir

    也可以局部安装, 配置在 npm scripts 中来使用

    cd fe-project
    npm install copy-push --save-dev
    "scripts": {
        "copy-push": "copy-push --repoUrl=http://gitlab.com/xxx/backend-project.git --destRoot=../backend-project --destDir=dir"
    }
    npm run copy-push
  • 做为模块使用

    npm install copy-push --save-dev
    cd fe-project
    // fe-project/copy-push.js
    var copyPush = require('copy-push');
    
    var repoUrl = 'http://gitlab.com/xxx/backend-project.git';
    var destRoot = '../backend-project';
    var destDir = 'dir';
    
    copyPush(destRoot, { // 详见参数说明
        repoUrl: repoUrl,
        destDir: destDir
    });

参数说明

全局安装使用时, 可以运行 copy-push --help 来查看参数说明

| 参数 | 说明 | 默认值 | 是否必选 | |-----------|--------------------|--------|------| | repoUrl | 远程仓库的 URL | | | | destRoot | 复制文件到哪个项目(git项目的根目录) | | 是 | | src | 需要复制的文件(glob)| ./dist//*.html | | | destDir | 复制文件到哪个目录(相对于 destRoot 目录)| src/main/webapp/views | | | remote | 远程仓库 | origin || | branch | 分支名 | master || | message | 提交信息 | sync [./dist//*.html] ${远端项目名}:${当前分支名} ${最近一次的提交日志} ||

注意事项

  • 必须设置 git 可以免密码 pull & push(配置 SSH key或者配置用户名密码)
  • 因此 repoUrl 参考推荐使用 SSH 的 URL