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

grunt-antrol-concat

v0.3.1

Published

Concatenate cmd files , Fork from grunt-cmd-concat

Downloads

3

Readme

grunt-cmd-concat

Concatenate cmd files.

Getting Started

This plugin requires Grunt ~0.4.0

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 grunt-cmd-concat --save-dev

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

grunt.loadNpmTasks('grunt-cmd-concat');

The "concat" task

Overview

In your project's Gruntfile, add a section named concat to the data object passed into grunt.initConfig().

grunt.initConfig({
  concat: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
})

Options

options.paths

Type: Array Default value: ['sea-modules']

Where are the modules in the sea.

options.include

Type: String Default value: 'self' Optional values:

  • self
  • relative
  • all

How should it include its dependencies.

options.separator

Type: String Default value: ', '

A string value that is used to do something with whatever.

options.banner

Type: String

The banner of the concated files.

options.footer

Type: String

The footer of the concated files.

options.noncmd

Type: Boolean Default Value: false

If set true, it will be treated as a noncmd file.

options.uglify

Type: Object

Uglify prettifier, you really don't have to change this value.

options.processors

Type: Object

Processors are functions to find the related files to concat.

options.css2js

Type: Function Default value: null

If a javascript module required a css, the css should be transported to js.

You can get a css2js function from grunt-cmd-transport:

var style = require('grunt-cmd-transport').style.init(grunt);

grunt.initConfig({
  concat: {
    foo: {
      options: {
        css2js: style.css2js
      }
    }
  }
});

options.split

Type: Object Default Value:

{
  turnOn:false,
  limit:100,
  exlucde:null
}

if you want to split concated files into small pieces,put split.turnOn=true,and set split.limit , for example limit:100 means that when exceeds 100KB,it will create a file,if original file is home.js , it will create home1.js,home2.js,...,homex.js,etc.

if you have some async files you do not want to use for split , you can specify them by exclude param , for example , exclude : '/async/', so if the file path includes async , it will not split.

Usage Examples

Simple Concat

This is the same as grunt-contrib-concat.

grunt.initConfig({
  concat: {
    foo: {
      options: {
        noncmd: true
      },
      files: {
        'dist/a.js': ['src/a.js', 'src/b.js'],
      }
    }
  }
})

Relative Concat

This will include all relative dependencies.

You should transport your modules first, make sure your modules contain id and dependencies.

Get transport task.

grunt.initConfig({
  concat: {
    foo: {
      options: {
        include: 'relative'
      },
      files: {
        'dist/a.js': ['src/a.js', 'src/b.js'],
      }
    }
  }
})

The a.js is something like:

define('a', ['./c'], ...)

And the result should be the concat of a.js, c.js and b.js.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

July 8th, 2013 0.2.5

fix pkg not exist

June 27th, 2013 0.2.4

css2js need options

June 18th, 2013 0.2.3

  • Bugfix for css concat. #15

April 23th, 2013 0.2.2

  • Bugfix. Remove output detect.

April 16th, 2013 0.2.1

  • Add options.footer
  • Add options.noncmd

April 11th, 2013 0.2.0

  • Remove options.relative
  • Add options.include

April 10th, 2013 0.1.1

  • Update cmd-util
  • Bugfix

April 1st, 2013 0.1.0

First version.