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-cmd-transport-wnd

v1.5.10

Published

Transport javascript into cmd.

Downloads

3

Readme

grunt-cmd-transport-wnd

Transport javascript into cmd.

This plugin modified from grunt-cmd-transport ~0.5.1 for transport revved js files, it's 4 personal test, not for common use.

1st seajs file: console/js/console.js

define(function (require) {

  var app = require('console/js/app.js');
  console.log('========');

});

2nd seajs file: console/js/app.js

define(function (require) {

  console.log('-------');

});

GruntFile.js like also see * grunt-usemin-wnd

...
usemin: { // from grunt-usemin-wnd
  options: {
    assetsDirs       : [
      '<%= config.dist %>/console/*',
      '<%= config.dist %>/console',
      '<%= config.dist %>'
    ],
    patterns         : {
      js: [
        [
          /['"]usemin:([^'"]*)["']/gm,
          'Replacing seajs require parts',
          function (m) { // add ext '.js'
            return path.extname(m) == '.js' ? m : m + '.js';
          }, ,
          function (m) { // cut prefix 'usemin:'
            return m.replace(/usemin:/, '');
          }
        ]
      ]
    }
  },
  js     : ['<%= config.dist %>/*/js/*.js']
},
transport: {
  options: {
    usemin      : true,
    useminPrefix: 'usemin:' // see usemin.
  },
  dist: {
    options: {
      paths: ['<%= config.dist %>']
    },
    files  : [
      {
        expand: true,
        cwd   : '<%= config.dist %>',
        src   : [
          '*/js/*.js'
        ],
        dest  : '<%= config.dist %>'
      }
    ]
  }
}
...
grunt.registerTask('build', [
  'clean:dist',
  'includereplace:dist',
  'useminPrepare',
  'concurrent:dist',
  'svgmin',
  'autoprefixer',
  'concat',
  'copy:dist',
  'cssmin',
  'imagemin',
  'transport',
  'uglify',
  'rev',
  'usemin',
  'replace',
  'htmlmin'
]);

cause of usemin replace transported js at last, so the revved file hash is not equals to the real value of file content

then target file will transport to:

1st seajs file:

"use strict";define("console/js/d5c52cbc.console",["console/js/0a46e031.app"],function(a){a("console/js/0a46e031.app.js");console.log("========")});

Getting Started

This plugin requires Grunt ~0.4.1

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-transport --save-dev

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

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

The "transport" task

Overview

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

grunt.initConfig({
  transport: {
    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.idleading

Type: String Default value: ""

Prepend idleading to generate the id of the module.

options.alias

Type: Object Default value: {}

Alias of modules.

options.debug

Type: Boolean Default value: true

Create a debugfile or not.

options.handlebars

Type: Object

Options for handlebars compiler.

Configure handlebars ID:

options: {
    handlebars: {
        id: 'handlebars'
    }
}

options.uglify

Type: Object

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

options.parsers

Transport a specific filetype with the right parser.

You can write your own parsers, for example coffeeParser:

options: {
    parsers: {
        '.coffee': [coffeeParser]
    }
}

Sorry for the missing documentation on how to write a parser.

Usage Examples

Gruntfile use default options.

grunt.initConfig({
    transport: {
        target_name: {
            files: [{
                cwd: 'src',
                src: '**/*',
                dest: 'dist'
            }]
        }
    }
});

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

Jan 23th, 2015 0.5.1

Fix css2js generate wrong code

Jan 22th, 2015 0.5.0

Support hash

Dec 4th, 2013 0.4.1

fix Windows path #58

Oct 15th, 2013 0.4.0

  • delete hack for grunt file object #45 not compatible

  • resolve deps error if require file and folder with the same name #50

Sep 4th, 2013 0.3.0

Remove styleBox id logic added in 0.2.12, now require outside css module do not adding to styleBox, that resolve lots of bugs.

Sep 4th, 2013 0.2.12

styleBox css module should has styleBox id.

Oct 28st, 2013 0.2.11

stylebox support array.

Oct 28st, 2013 0.2.10

stylebox support :root selector support id/deps sepecified don't resolve text!path/to/some.xx

Jul 1st, 2013 0.2.9

fix deps duplicate

Jun 27th, 2013 0.2.8

  • improve parsing css
  • add testcase

Jun 26th, 2013 0.2.7

  • improve log
  • remove .js extname in dependencies
  • add styleBox option

Jun 19th, 2013 0.2.6

Show parsing JS error log.

Jun 17th, 2013 0.2.5

Handlebars ID configurable.

Bugfix for not showing JS parse error.

May 28th, 2013 0.2.4

Use a specified version of Handlebars.

May 6th, 2013 `0.2.3

Don't stop the process when the file not exists.

April 25th, 2013 0.2.2

Fix on filter id.

April 15th, 2013 0.2.1

Restore tplParser.

April 11th, 2013 0.2.0

Changed the option configuration.

April 10th, 2013 0.1.3

Upgrade dependencies.

April 9th, 2013 0.1.2

Bugfix for parsing nested relative dependencies.

April 1st, 2013 0.1.1

Template process on source data.

April 1st, 2013 0.1.0

First version.