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

@steveush/grunt-web

v0.0.2

Published

A configuration wrapper to build JS & CSS.

Downloads

23

Readme

grunt-web

Grunt tasks to build JS and CSS.

Some custom tasks to make configuring JS & CSS builds a bit simpler. These tasks are simply wrappers for other NPM modules.

The JavaScript build uses grunt-contrib-concat, grunt-contrib-uglify, grunt-babel and @steveush/grunt-map-normalizer to produce its output.

The CSS build uses grunt-sass, @steveush/grunt-map-normalizer and @lodder/grunt-postcss with autoprefixer and cssnano to produce its output.

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install @steveush/grunt-web --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('@steveush/grunt-web');

This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade

WebJS Task

Run this task with the grunt webjs command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Options

clean

Type: Boolean
Default: true

Whether any existing destination files are removed before the build.

babel

Type: Boolean|Object|Function(Object):Object
Default: true

If false then Babel will not be run at all. If true then Babel will be run using the built-in default configuration which uses @babel/preset-env and the value of the sourceMap option.

An object can be supplied which is merged with the defaults and then passed to grunt-babel task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to grunt-babel task as its options.

uglify

Type: Boolean|Object|Function(Object):Object
Default: true

If false then uglify will not be run at all. If true then uglify will be run using the built-in default configuration which uses the value of the sourceMap option.

An object can be supplied which is merged with the defaults and then passed to grunt-contrib-uglify task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to grunt-contrib-uglify task as its options.

sourceMap

Type: Boolean|Object|Function(Object):Object
Default: false

If false then no source map will be created. If true then a source map will be created using the built-in default configuration.

An object can be supplied which is merged with the defaults and then passed to @steveush/grunt-map-normalizer task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to @steveush/grunt-map-normalizer task as its options.

Example Usage

Using the default options to concat, Babel and then uglify multiple source files into a single file.

"webjs": {
    "output.js": [ "file1.js", "file2.js", "file3.js" ]
}

Override the default options.

"webjs": {
    "options": {
        "clean": false,
        "sourceMap": {
            "output": "virtual",
            "virtualRoot": "MyLib"
        },
        "babel": ( defaults ) => {
            return {
                ...defaults,
                presets: [ ...defaults.presets, 'some-preset' ]
            };
        }
    },
    "src": [ "file1.js", "file2.js", "file3.js" ],
    "dest": "output.js"
}

WebCSS Task

Run this task with the grunt webcss command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Options

clean

Type: Boolean
Default: true

Whether any existing destination files are removed before the build.

postcss

Type: Boolean|Object|Function(Object):Object
Default: true

If false then PostCSS will not be run at all. If true then PostCSS will be run using the built-in default configuration which uses autoprefixer, cssnano and the value of the sourceMap option.

An object can be supplied which is merged with the defaults and then passed to @lodder/grunt-postcss task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to @lodder/grunt-postcss task as its options.

sass

Type: Boolean|Object|Function(Object):Object
Default: true

If false then SASS will not be run at all. If true then SASS will be run using the built-in default configuration and the value of the sourceMap option.

An object can be supplied which is merged with the defaults and then passed to grunt-sass task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to grunt-sass task as its options.

sourceMap

Type: Boolean|Object|Function(Object):Object
Default: false

If false then no source map will be created. If true then a source map will be created using the built-in default configuration.

An object can be supplied which is merged with the defaults and then passed to @steveush/grunt-map-normalizer task as its options.

A function can also be supplied which is passed the defaults and must return an object which is then passed to @steveush/grunt-map-normalizer task as its options.