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

gulp-straw

v0.0.7

Published

[EXPERIMENTAL] Gulp Task Manager: The tool for managing your `gulpfile`

Downloads

8

Readme

logo

Gulp Straw (experimental)

Gulp Task Manager: The command-line tool for managing your gulpfile. gulpfile is a task file for gulp.js.

Usually gulpfile grows bigger and bigger, so it's strongly recommended to split it and make it reusable. How? Use this straw!

$ straw install gulpfile
[OK] cognitom:gulpfile > gulpfile
installing required modules in taskfiles...
[OK] installation completed
$ ls
gulpfile.js	node_modules	package.json

Features

  • retrieve gulpfile from your (or other's) GitHub repo
  • install dependencies automatically

and now implementing the features below.

  • update gulpfile from GitHub
  • publish gulpfile to GitHub

Installation

Install gulp-straw from npm with:

$ npm install -g gulp-straw

Straw requires you to authenticate with GitHub. Let's setup at first.

$ straw setup

Then, follow the instruction.

Straw requires you to auth with GitHub.
You can create a new token here:
- https://github.com/settings/tokens/new
------------------------------------------------------------
- GitHub account:  cognitom
- Open the browser to get your token? (YES/no)
- Paste here:  123456789abcdef123456789abcdef
------------------------------------------------------------
Successfully access to your GitHub account!
- Name: Tsutomu Kawamura
- Mail: [email protected]
The account 'cognitom' was saved into ~/.netrc.

Or add the following entry to your ~/.netrc file manually

machine api.github.com
  login <username>
  password <token>

Getting Started

At the first, prepare your gulpfiles repository like this.

Install gulpfiles

Go to your project directory.

$ cd ./path/to/project/

Get gulpfiles from your repository:

$ straw install gulpfile
$ straw install task/css

Or it's ok to set multiple tasks.

$ straw install gulpfile task/css

Custom directory

If you have a task coffee but you want to install it under the task directory, use --dir option.

$ straw install coffee --dir task/

Get gulpfiles from others

$ straw install cognitom/gulpfiles:gulpfile
$ straw install cognitom/gulpfiles:task/css

If the repository name is ommited straw guess that the name would be gulpfiles. So these command can also be written like below.

$ straw install cognitom:gulpfile
$ straw install cognitom:task/css

Install all

Install all specified in package.json:

$ straw install

Update gulpfiles

Update all specified in package.json:

$ straw update

Update gulpfiles:

$ straw update task/css

Publish gulpfiles

$ straw publish task/css

Appendix

package.json format

{
  "gulpfiles": {
    "gulpfile": "cognitom:gulpfile",
    "task/css": "cognitom:task/css"
  }
}

Todos:

  • [x] introduce commander.js
  • [x] get file from GitHub repo by octonode
  • [x] save config into package.json
  • [x] auto-complete extension: .js or .coffee or ...
  • [x] install multi tasks
  • [x] install all from package.json
  • [x] add devDependency automatically
  • [x] easy flow to login to GitHub
  • [x] copy gulpvars in package.json
  • [ ] modify relative paths in gulpfiles
  • [ ] update task
  • [ ] publish task
  • [ ] uninstall task
  • [x] support private repo
  • [ ] error handling
  • [ ] test test test