Skip to content

A Grunt plugin for adds an #import statement to JavaScript-based languages.

License

Notifications You must be signed in to change notification settings

colinbowern/grunt-importer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-importer

Importer adds an #import statement to JavaScript based languages including CoffeeScript that works like #include in C-based languages. It concatenates them together in the places you've defined.

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

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

grunt.loadNpmTasks('grunt-importer');

The "importer" task

Overview

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

grunt.initConfig({
  importer: {
    scripts: {
      files: [{
        expand: true,
        src: 'scripts/layout.template.js',
        rename: function (dest, src) {
          return (dest || '') + src.replace('.template.js', '.js');
        }
      }]
    },
  },
})

Usage Examples

Replace a Single File

In this example the script would be replaced in-place with any import statements substituted for their references.

grunt.initConfig({
  importer: {
    scripts: {
      files: [{ src: 'tmp/replace_single_file/foo.js' }]
    }
  },
})

Output to Different Folder and Rename

In this example the dynamic file expanding object is used to output the results to a different folder using a different file name:

grunt.initConfig({
  importer: {
    scripts: {
      files: [{
	    expand: true,
	    flatten: true,
        src: 'test/fixtures/foo.template.js',
        dest: 'tmp/different_output_folder_and_rename/',
        rename: function (dest, src) {
          return (dest || '') + src.replace('.template.js', '.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

  • 2013-10-04   v1.0.0   Initial release
  • 2013-10-04   v1.0.1   Removed debug output

About

A Grunt plugin for adds an #import statement to JavaScript-based languages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published