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

jsmake

v0.3.0

Published

JavaScript task tool, similar to Jake, Make or Rake

Downloads

70

Readme

jsmake

npm version npm download dependencies license

What is the jsmake?

jsmake is a task tool which runs user-defined tasks declared in makefile.js.

In other words, if you execute some commands or code to accomplish some tasks on your codebase, jsmake is the right tool to do it.

With the help of jsmake, project folder oriented tasks such as building sources, refactoring configuration files, deploying project on cloud can be done easily.

As a task tool it offers,

  • Tasks with prerequisites,
  • Tasks own descriptions and parameters,
  • Async task execution with Promises,
  • Developer-friendly API to be used as a library,
  • Powerful command line argument parsing,
  • Utility methods for various tasks such as glob, recursively delete directories or bump version in package.json,
  • Environment variables handling (even in Windows),
  • Event subscription for tasks and execution queues,

jsmake vs Build Tools

jsmake is not a substitution for "build tools" like gulp.js. Apart from them, jsmake only concentrates on executing shell commands or user directives coded in JavaScript. So there are no pipelines, streams or plugins to be added as a dependency in package.json.

Instead, jsmake is a complementary product for build tools. For example, it can interoperate with tools like gulp.js.

Quick Start

Execute npm install jsmake -g to install jsmake on your system.

After installing jsmake, makefile.js needs to be created at the root of your codebase.

Sample makefile.js

A sample makefile.js look like:

jsmake.desc('Says hi to someone.');
jsmake.task('hello', function (argv) {
    console.log('hi ' + argv.name);
});

Other samples can be found in samples/ folder, such as:

Getting Help and List of Tasks

Running jsmake command will execute the task named default. If there is no task defined as default, jsmake will display the help message.

Help content consists of usage of jsmake, the list of declared tasks and their parameters and descriptions. These information also can be displayed with jsmake -h command.

Help output of jsmake's own makefile.js is shown below:

$ jsmake -h
Usage: jsmake [command] [parameters]

Parameters:
--makefile FILE, -f                Load tasks from FILE
--tasks, -t                        Lists defined tasks
--verbosity                        Sets verbosity of log messages [debug, warn, info, error]
--version, -v                      Displays the jsmake version
--help, -h, -?                     Displays this help message

  Tasks                            Description
  -------------------------------  -----------------------------------
  bump                             Bumps the package version for next release.
    Parameters:
    --type                         Increment type [major, minor, patch, premajor, preminor, prepatch or prerelease]

  publish                          Publishes package to npm.
  deps                             Reinstalls dependencies from npm.
  build                            Builds the source code.

Todo List

See GitHub Projects for more.

Requirements

  • node.js (https://nodejs.org/)

License

Apache 2.0, for further details, please see LICENSE file

Contributing

See contributors.md

It is publicly open for any contribution. Bugfixes, new features and extra modules are welcome.

  • To contribute to code: Fork the repo, push your changes to your fork, and submit a pull request.
  • To report a bug: If something does not work, please report it using GitHub Issues.

To Support

Visit my patreon profile at patreon.com/eserozvataf