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

metalsmith-uglifyjs

v0.2.3

Published

A very lightweight Metalsmith uglifyjs2 plugin

Downloads

40

Readme

metalsmith-uglifyjs

Gitter Travis David David Codecov npm npm

An Uglifyjs2 plugin for Metalsmith.

Installation

npm install --save metalsmith-uglifyjs

Getting Started

If you haven't checked out Metalsmith before, head over to their website and check out the documentation.

Usage

var uglifyjs = require("metalsmith-uglifyjs");

metalsmith
  .use(uglifyjs({
    src: ["**/*.js", "!**/*.min.js"],
    target: function(inFile) { return inFile + ".customMinFileName.js"; },
    deleteSources: true,
    uglifyOptions: {
      mangle: true,
      compress: {
        unused: false,
        warnings: true
      }
    }
  }))

Options

You can check the tests out to see some usage examples.

src

A multimatch expression that can be used to limit the files that will be uglified. Default is ["**/*.js", "!**/*.min.js"] Please note that IT IS YOUR JOB to EXCLUDE already minified files using src setting if you are using a customized name convention.

target

A function that takes a file name as input and expected to return minified file name as output. Default function adds .min. before extension. (i.e. a.js -> a.min.js)

override

If true, then compressed JS will be written into the same files that were compressed. The target and deleteSources options are discarded in this case.

Default: false

deleteSources

A boolean, if true original files will be deleted, if false original files will be kept as-is. Default: false

active

A boolean flag, when set to false this whole stuff will be disabled. This can be used to disable uglify based on some variable. (e.g. Don't run this on dev but run this on prod.)

Default: true

uglifyOptions

A valid config that will be passed to uglifyjs. Please see here for your options. Default:

uglifyOptions: {
  mangle: false,
  compress: {}
}

This means use default compress options and do not mangle.

Contributing

Just open an issue or prepare a pull request.