[Pkg-javascript-commits] [node-grunt-contrib-coffee] 01/02: Import Upstream version 1.0.0

Praveen Arimbrathodiyil praveen at moszumanska.debian.org
Fri Nov 18 15:39:15 UTC 2016


This is an automated email from the git hooks/post-receive script.

praveen pushed a commit to branch master
in repository node-grunt-contrib-coffee.

commit 4f37bec09aa04ea197ca6f1d5a4c89ed3ac7cadd
Author: Praveen Arimbrathodiyil <praveen at debian.org>
Date:   Fri Nov 18 21:08:34 2016 +0530

    Import Upstream version 1.0.0
---
 .gitattributes                               |   1 +
 .gitignore                                   |   3 +
 .jshintrc                                    |  14 ++
 .travis.yml                                  |   8 +
 AUTHORS                                      |  10 +
 CHANGELOG                                    | 128 +++++++++++++
 CONTRIBUTING.md                              |   1 +
 Gruntfile.js                                 | 173 ++++++++++++++++++
 LICENSE-MIT                                  |  22 +++
 README.md                                    | 167 +++++++++++++++++
 appveyor.yml                                 |  29 +++
 docs/coffee-examples.md                      |  64 +++++++
 docs/coffee-options.md                       |  36 ++++
 docs/coffee-overview.md                      |   1 +
 docs/overview.md                             |   1 +
 package.json                                 |  42 +++++
 tasks/coffee.js                              | 264 +++++++++++++++++++++++++++
 test/coffee_test.js                          | 235 ++++++++++++++++++++++++
 test/expected/bare/coffee.js                 |  10 +
 test/expected/bare/concat.js                 |  18 ++
 test/expected/bare/litcoffee.js              |   5 +
 test/expected/default/coffee.js              |  13 ++
 test/expected/default/concat.js              |  27 +++
 test/expected/default/litcoffee.js           |   8 +
 test/expected/eachMap/coffee1.js             |  15 ++
 test/expected/eachMap/coffee1.js.map         |  10 +
 test/expected/eachMap/litcoffee.js           |  10 +
 test/expected/eachMap/litcoffee.js.map       |  10 +
 test/expected/join/bareJoin.js               |  12 ++
 test/expected/join/join.js                   |  15 ++
 test/expected/litCoffeeMaps/litcoffee.js     |  14 ++
 test/expected/litCoffeeMaps/litcoffee.js.map |  10 +
 test/expected/litCoffeeMaps/mdcoffee.js      |  14 ++
 test/expected/litCoffeeMaps/mdcoffee.js.map  |  10 +
 test/expected/maps/coffee.js                 |  15 ++
 test/expected/maps/coffee.js.map             |  10 +
 test/expected/maps/coffeeBare.js             |  12 ++
 test/expected/maps/coffeeBare.js.map         |  10 +
 test/expected/maps/coffeeBareJoin.js         |  14 ++
 test/expected/maps/coffeeBareJoin.js.map     |  10 +
 test/expected/maps/coffeeBareJoin.src.coffee |   3 +
 test/expected/maps/coffeeJoin.js             |  17 ++
 test/expected/maps/coffeeJoin.js.map         |  10 +
 test/expected/maps/coffeeJoin.src.coffee     |   3 +
 test/expected/maps/coffeeNested.js.map       |  10 +
 test/expected/sourceMapDir1/coffee.js        |  15 ++
 test/expected/sourceMapDir2/coffee.js.map    |  10 +
 test/fixtures/coffee1.coffee                 |   2 +
 test/fixtures/coffee2.coffee                 |   1 +
 test/fixtures/litcoffee.coffee.md            |   7 +
 test/fixtures/litcoffee.litcoffee            |   7 +
 test/fixtures/litcoffee1.litcoffee           |   7 +
 test/fixtures/mdcoffee.coffee.md             |   7 +
 test/fixtures/mdcoffee1.coffee.md            |   7 +
 54 files changed, 1577 insertions(+)

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..2125666
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+* text=auto
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5cb6bfd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+node_modules
+npm-debug.log
+tmp
\ No newline at end of file
diff --git a/.jshintrc b/.jshintrc
new file mode 100644
index 0000000..507f912
--- /dev/null
+++ b/.jshintrc
@@ -0,0 +1,14 @@
+{
+  "boss": true,
+  "curly": true,
+  "eqeqeq": true,
+  "eqnull": true,
+  "immed": true,
+  "latedef": true,
+  "newcap": true,
+  "noarg": true,
+  "node": true,
+  "sub": true,
+  "undef": true,
+  "unused": true
+}
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..7cbda76
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,8 @@
+sudo: false
+language: node_js
+node_js:
+  - "0.10"
+  - "0.12"
+  - "4"
+  - "5"
+  - "iojs"
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..822efae
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,10 @@
+Eric Woroshow (http://ericw.ca/)
+Tyler Kellen (http://goingslowly.com/)
+Chris Talkington (http://christalkington.com/)
+Kyle Robinson Young (http://twitter.com/shamakry)
+Yegor Pomortsev (https://github.com/illicium)
+Sindre Sorhus (http://github.com/sindresorhus)
+Callum Locke (https://github.com/callumlocke)
+Scott Delamater (https://github.com/scottydawg)
+Colin Wren (http://cawren.com)
+Johnny Freeman (https://twitter.com/prsjohnny)
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..a2f4bbb
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,128 @@
+v1.0.0:
+  date: 2016-02-15
+  changes:
+    - Updates to CoffeeScript 1.10.0.
+    - Update other dependencies.
+    - Use `options.sourceMapDir` when creating `sourceRoot`.
+    - Logs information if no valid files were matched.
+v0.13.0:
+  date: 2015-02-20
+  changes:
+    - Updates to CoffeeScript 1.9.1.
+v0.12.0:
+  date: 2014-10-04
+  changes:
+    - Fixes litcoffee sourcemaps.
+    - Updates to CoffeeScript 1.8.0.
+v0.11.1:
+  date: 2014-08-15
+  changes:
+    - Fixes summary logging.
+v0.11.0:
+  date: 2014-08-06
+  changes:
+    - Adds summary containing number of files created.
+    - Move file creation logging to grunt.verbose.
+    - Updates Chalk to 0.5.
+v0.10.0:
+  date: 2014-02-07
+  changes:
+    - SourceMappingURL calculated correctly
+v0.9.0:
+  date: 2014-01-29
+  changes:
+    - Source mapping fixes.
+    - Update coffee-script to 1.7.0
+    - Use lodash directly instead of deprecated grunt.util._
+v0.8.2:
+  date: 2014-01-17
+  changes:
+    - Force coffeescript 1.6.3
+    - Use new sourceMappingUrl syntax.
+v0.8.1:
+  date: 2014-01-17
+  changes:
+    - Fix sourcemap regression.
+v0.8.0:
+  date: 2013-12-24
+  changes:
+    - Support sourceMapDir
+v0.7.0:
+  date: 2013-04-19
+  changes:
+    - Place Sourcemaps at bottom of file
+    - Change extension for Sourcemaps from .maps to .js.map
+v0.6.7:
+  date: 2013-04-18
+  changes:
+    - Improved error reporting
+v0.6.6:
+  date: 2013-04-08
+  changes:
+    - Fix regression with single-file compilation.
+v0.6.5:
+  date: 2013-04-05
+  changes:
+    - Improved error reporting
+v0.6.4:
+  date: 2013-03-22
+  changes:
+    - Sourcemap support
+v0.6.3:
+  date: 2013-03-19
+  changes:
+    - Increase error logging verbosity.
+v0.6.2:
+  date: 2013-03-18
+  changes:
+    - Bump to CoffeeScript 1.6.2
+v0.6.1:
+  date: 2013-03-18
+  changes:
+    - Support `join` option
+v0.6.0:
+  date: 2013-03-06
+  changes:
+    - Bump to CoffeeScript 1.6
+    - Support literate CoffeeScript extension coffee.md
+v0.5.0:
+  date: 2013-02-25
+  changes:
+    - Bump to CoffeeScript 1.5
+    - Support literate CoffeeScript (.litcoffee)
+v0.4.0:
+  date: 2013-02-15
+  changes:
+    - First official release for Grunt 0.4.0.
+v0.4.0rc7:
+  date: 2013-01-23
+  changes:
+    - Updating grunt/gruntplugin dependencies to rc7.
+    - Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.
+    - Bump coffeescript dependency to 1.4.
+v0.4.0rc5:
+  date: 2013-01-09
+  changes:
+    - Updating to work with grunt v0.4.0rc5.
+    - Switching to this.filesSrc api.
+v0.4.0a:
+  date: 2012-12-15
+  changes:
+    - Conversion to grunt v0.4 conventions.
+    - Remove experimental destination wildcards.
+v0.3.2:
+  date: 2012-10-12
+  changes:
+    - Rename grunt-contrib-lib dep to grunt-lib-contrib.
+v0.3.1:
+  date: 2012-09-25
+  changes:
+     - Don't fail when there are no files.
+v0.3.0:
+  date: 2012-09-24
+  changes:
+    - Global options depreciated.
+v0.2.0:
+  date: 2012-09-10
+  changes:
+    - Refactored from grunt-contrib into individual repo.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..5d08cc3
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1 @@
+Please see the [Contributing to grunt](http://gruntjs.com/contributing) guide for information on contributing to this project.
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..ffefa64
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,173 @@
+/*
+ * grunt-contrib-coffee
+ * http://gruntjs.com/
+ *
+ * Copyright (c) 2016 Eric Woroshow, contributors
+ * Licensed under the MIT license.
+ */
+
+'use strict';
+
+module.exports = function(grunt) {
+
+  var mixedConcatFixtures = [
+    'test/fixtures/coffee1.coffee',
+    'test/fixtures/coffee2.coffee',
+    'test/fixtures/litcoffee.litcoffee'
+  ];
+
+  var uniformConcatFixtures = [
+    'test/fixtures/coffee1.coffee',
+    'test/fixtures/coffee2.coffee'
+  ];
+
+  // Project configuration.
+  grunt.initConfig({
+    jshint: {
+      all: [
+        'Gruntfile.js',
+        'tasks/*.js',
+        '<%= nodeunit.tests %>'
+      ],
+      options: {
+        jshintrc: '.jshintrc'
+      }
+    },
+
+    // Before generating any new files, remove any previously-created files.
+    clean: {
+      tests: ['tmp/bare', 'tmp/default', 'tmp/join', 'tmp/sourceMapDir1', 'tmp/sourceMapDir2', 'tmp/nest']
+    },
+
+    // Configuration to be run (and then tested).
+    coffee: {
+      compileDefault: {
+        files: {
+          'tmp/default/coffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/default/litcoffee.js': ['test/fixtures/litcoffee.litcoffee'],
+          'tmp/default/litcoffeemd.js': ['test/fixtures/litcoffee.coffee.md'],
+          'tmp/default/concat.js': mixedConcatFixtures
+        }
+      },
+      compileBare: {
+        options: {
+          bare: true
+        },
+        files: {
+          'tmp/bare/coffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/bare/litcoffee.js': ['test/fixtures/litcoffee.litcoffee'],
+          'tmp/bare/litcoffeemd.js': ['test/fixtures/litcoffee.coffee.md'],
+          'tmp/bare/concat.js': mixedConcatFixtures
+        }
+      },
+      compileJoined: {
+        options: {
+          join: true
+        },
+        files: {
+          'tmp/join/coffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/join/join.js': uniformConcatFixtures
+        }
+      },
+      compileBareJoined: {
+        options: {
+          bare: true,
+          join: true
+        },
+        files: {
+          'tmp/join/bareCoffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/join/bareJoin.js': uniformConcatFixtures
+        }
+      },
+      compileMaps: {
+        options: {
+          sourceMap: true
+        },
+        files: {
+          'tmp/maps/coffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/maps/coffeeJoin.js': uniformConcatFixtures
+        }
+      },
+      compileSourceMapDir: {
+        options: {
+          sourceMap: true,
+          sourceMapDir: 'tmp/sourceMapDir2'
+        },
+        files: {
+          'tmp/sourceMapDir1/coffee.js': ['test/fixtures/coffee1.coffee']
+        }
+      },
+      compileEachMap: {
+        options: {
+          sourceMap: true
+        },
+        files: [{
+          expand: true,
+          cwd: 'test/fixtures/',
+          src: ['coffee1.coffee', 'litcoffee.litcoffee'],
+          dest: 'tmp/eachMap/',
+          ext: '.js'
+        }]
+      },
+      compileBareMaps: {
+        options: {
+          sourceMap: true,
+          bare: true
+        },
+        files: {
+          'tmp/maps/coffeeBare.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/maps/coffeeBareJoin.js': uniformConcatFixtures
+        }
+      },
+      compileNested: {
+        options: {
+          sourceMap: true
+        },
+        files: {
+          'tmp/nest/1/coffee.js': ['test/fixtures/coffee1.coffee'],
+          'tmp/nest/2/coffee.js': ['test/fixtures/coffee1.coffee']
+        }
+      },
+      compileMDCoffeeMaps: {
+        options: {
+          sourceMap: true,
+          joinExt: '.src.coffee.md'
+        },
+        files: [{
+          'tmp/litCoffeeMaps/mdcoffee.js': ['test/fixtures/mdcoffee.coffee.md', 'test/fixtures/mdcoffee1.coffee.md']
+        }]
+      },
+      compileLitCoffeeMaps: {
+        options: {
+          sourceMap: true,
+          joinExt: '.src.litcoffee'
+        },
+        files: [{
+          'tmp/litCoffeeMaps/litcoffee.js': ['test/fixtures/litcoffee.litcoffee', 'test/fixtures/litcoffee1.litcoffee']
+        }]
+      }
+    },
+
+    // Unit tests.
+    nodeunit: {
+      tests: ['test/*_test.js']
+    }
+  });
+
+  // Actually load this plugin's task(s).
+  grunt.loadTasks('tasks');
+
+  // These plugins provide necessary tasks.
+  grunt.loadNpmTasks('grunt-contrib-jshint');
+  grunt.loadNpmTasks('grunt-contrib-clean');
+  grunt.loadNpmTasks('grunt-contrib-nodeunit');
+  grunt.loadNpmTasks('grunt-contrib-internal');
+
+  // Whenever the "test" task is run, first clean the "tmp" dir, then run this
+  // plugin's task(s), then test the result.
+  grunt.registerTask('test', ['jshint', 'clean', 'coffee', 'nodeunit']);
+
+  // By default, lint and run all tests.
+  grunt.registerTask('default', ['test', 'build-contrib']);
+
+};
diff --git a/LICENSE-MIT b/LICENSE-MIT
new file mode 100644
index 0000000..8e41436
--- /dev/null
+++ b/LICENSE-MIT
@@ -0,0 +1,22 @@
+Copyright (c) 2016 Eric Woroshow, contributors
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d2e4c41
--- /dev/null
+++ b/README.md
@@ -0,0 +1,167 @@
+# grunt-contrib-coffee v1.0.0 [![Build Status: Linux](https://travis-ci.org/gruntjs/grunt-contrib-coffee.svg?branch=master)](https://travis-ci.org/gruntjs/grunt-contrib-coffee) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/ns3waxwcw8ddcr3f/branch/master?svg=true)](https://ci.appveyor.com/project/gruntjs/grunt-contrib-coffee/branch/master)
+
+> Compile CoffeeScript files to JavaScript
+
+
+
+## Getting Started
+
+If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
+
+```shell
+npm install grunt-contrib-coffee --save-dev
+```
+
+Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
+
+```js
+grunt.loadNpmTasks('grunt-contrib-coffee');
+```
+
+*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](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-coffee/tree/grunt-0.3-stable).*
+
+
+
+## Coffee task
+_Run this task with the `grunt coffee` command._
+
+Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.
+### Options
+
+#### separator
+Type: `String`  
+Default: linefeed
+
+Concatenated files will be joined on this string.
+
+#### bare
+Type: `Boolean`
+
+Compile the JavaScript without the top-level function safety wrapper.
+
+#### join
+Type: `Boolean`  
+Default: `false`
+
+When compiling multiple .coffee files into a single .js file, concatenate first.
+
+#### sourceMap
+Type: `Boolean`  
+Default: `false`
+
+Compile JavaScript and create a .map file linking it to the CoffeeScript source. When compiling multiple .coffee files to a single .js file, concatenation occurs as though the 'join' option is enabled
+
+#### sourceMapDir
+Type: `String`  
+Default: (same path as your compiled js files)
+
+Generated source map files will be created here.
+
+#### joinExt
+Type: `String`  
+Default: '.src.coffee'
+
+Resulting extension when joining multiple CoffeeScript files.
+
+### Usage Examples
+
+```js
+coffee: {
+  compile: {
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile and concat into single file
+    }
+  },
+
+  compileBare: {
+    options: {
+      bare: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile and concat into single file
+    }
+  },
+
+  compileJoined: {
+    options: {
+      join: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile, identical output to join = false
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // concat then compile into single file
+    }
+  },
+
+  compileWithMaps: {
+    options: {
+      sourceMap: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // concat then compile into single file
+    }
+  },
+
+  compileWithMapsDir: {
+    options: {
+      sourceMap: true,
+      sourceMapDir: 'path/to/maps/' // source map files will be created here
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee'
+    }
+  },
+
+  glob_to_multiple: {
+    expand: true,
+    flatten: true,
+    cwd: 'path/to',
+    src: ['*.coffee'],
+    dest: 'path/to/dest/',
+    ext: '.js'
+  }
+
+}
+```
+
+For more examples on how to use the `expand` API to manipulate the default dynamic path construction in the `glob_to_multiple` examples, see "[Building the files object dynamically](http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically)" in the grunt wiki entry [Configuring Tasks](http://gruntjs.com/configuring-tasks).
+
+
+## Release History
+
+ * 2016-02-15   v1.0.0   Updates to CoffeeScript 1.10.0. Update other dependencies. Use `options.sourceMapDir` when creating `sourceRoot`. Logs information if no valid files were matched.
+ * 2015-02-20   v0.13.0   Updates to CoffeeScript 1.9.1.
+ * 2014-10-04   v0.12.0   Fixes litcoffee sourcemaps. Updates to CoffeeScript 1.8.0.
+ * 2014-08-15   v0.11.1   Fixes summary logging.
+ * 2014-08-06   v0.11.0   Adds summary containing number of files created. Move file creation logging to grunt.verbose. Updates Chalk to 0.5.
+ * 2014-02-07   v0.10.0   SourceMappingURL calculated correctly
+ * 2014-01-29   v0.9.0   Source mapping fixes. Update coffee-script to 1.7.0 Use lodash directly instead of deprecated grunt.util._
+ * 2014-01-17   v0.8.2   Force coffeescript 1.6.3 Use new sourceMappingUrl syntax.
+ * 2014-01-17   v0.8.1   Fix sourcemap regression.
+ * 2013-12-24   v0.8.0   Support sourceMapDir
+ * 2013-04-19   v0.7.0   Place Sourcemaps at bottom of file Change extension for Sourcemaps from .maps to .js.map
+ * 2013-04-18   v0.6.7   Improved error reporting
+ * 2013-04-08   v0.6.6   Fix regression with single-file compilation.
+ * 2013-04-05   v0.6.5   Improved error reporting
+ * 2013-03-22   v0.6.4   Sourcemap support
+ * 2013-03-19   v0.6.3   Increase error logging verbosity.
+ * 2013-03-18   v0.6.2   Bump to CoffeeScript 1.6.2
+ * 2013-03-18   v0.6.1   Support `join` option
+ * 2013-03-06   v0.6.0   Bump to CoffeeScript 1.6 Support literate CoffeeScript extension coffee.md
+ * 2013-02-25   v0.5.0   Bump to CoffeeScript 1.5 Support literate CoffeeScript (.litcoffee)
+ * 2013-02-15   v0.4.0   First official release for Grunt 0.4.0.
+ * 2013-01-23   v0.4.0rc7   Updating grunt/gruntplugin dependencies to rc7. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions. Bump coffeescript dependency to 1.4.
+ * 2013-01-09   v0.4.0rc5   Updating to work with grunt v0.4.0rc5. Switching to this.filesSrc api.
+ * 2012-12-15   v0.4.0a   Conversion to grunt v0.4 conventions. Remove experimental destination wildcards.
+ * 2012-10-12   v0.3.2   Rename grunt-contrib-lib dep to grunt-lib-contrib.
+ * 2012-09-25   v0.3.1   Don't fail when there are no files.
+ * 2012-09-24   v0.3.0   Global options depreciated.
+ * 2012-09-10   v0.2.0   Refactored from grunt-contrib into individual repo.
+
+---
+
+Task submitted by [Eric Woroshow](http://ericw.ca/)
+
+*This file was generated on Mon Feb 15 2016 19:16:25.*
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..22c561a
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,29 @@
+# AppVeyor file
+# http://www.appveyor.com/docs/appveyor-yml
+
+version: "{build}"
+
+clone_depth: 10
+
+environment:
+  matrix:
+    - nodejs_version: "0.10"
+    - nodejs_version: "0.12"
+    - nodejs_version: "4"
+    - nodejs_version: "5"
+
+install:
+  - ps: Install-Product node $env:nodejs_version
+  - npm install
+
+build: off
+
+test_script:
+  - node --version && npm --version
+  - npm test
+
+matrix:
+  fast_finish: true
+
+cache:
+  - 'node_modules -> package.json'              # local npm modules
diff --git a/docs/coffee-examples.md b/docs/coffee-examples.md
new file mode 100644
index 0000000..7ed954c
--- /dev/null
+++ b/docs/coffee-examples.md
@@ -0,0 +1,64 @@
+# Usage Examples
+
+```js
+coffee: {
+  compile: {
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile and concat into single file
+    }
+  },
+
+  compileBare: {
+    options: {
+      bare: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // compile and concat into single file
+    }
+  },
+
+  compileJoined: {
+    options: {
+      join: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile, identical output to join = false
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // concat then compile into single file
+    }
+  },
+
+  compileWithMaps: {
+    options: {
+      sourceMap: true
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee', // 1:1 compile
+      'path/to/another.js': ['path/to/sources/*.coffee', 'path/to/more/*.coffee'] // concat then compile into single file
+    }
+  },
+
+  compileWithMapsDir: {
+    options: {
+      sourceMap: true,
+      sourceMapDir: 'path/to/maps/' // source map files will be created here
+    },
+    files: {
+      'path/to/result.js': 'path/to/source.coffee'
+    }
+  },
+
+  glob_to_multiple: {
+    expand: true,
+    flatten: true,
+    cwd: 'path/to',
+    src: ['*.coffee'],
+    dest: 'path/to/dest/',
+    ext: '.js'
+  }
+
+}
+```
+
+For more examples on how to use the `expand` API to manipulate the default dynamic path construction in the `glob_to_multiple` examples, see "[Building the files object dynamically](http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically)" in the grunt wiki entry [Configuring Tasks](http://gruntjs.com/configuring-tasks).
diff --git a/docs/coffee-options.md b/docs/coffee-options.md
new file mode 100644
index 0000000..06db449
--- /dev/null
+++ b/docs/coffee-options.md
@@ -0,0 +1,36 @@
+# Options
+
+## separator
+Type: `String`  
+Default: linefeed
+
+Concatenated files will be joined on this string.
+
+## bare
+Type: `Boolean`
+
+Compile the JavaScript without the top-level function safety wrapper.
+
+## join
+Type: `Boolean`  
+Default: `false`
+
+When compiling multiple .coffee files into a single .js file, concatenate first.
+
+## sourceMap
+Type: `Boolean`  
+Default: `false`
+
+Compile JavaScript and create a .map file linking it to the CoffeeScript source. When compiling multiple .coffee files to a single .js file, concatenation occurs as though the 'join' option is enabled
+
+## sourceMapDir
+Type: `String`  
+Default: (same path as your compiled js files)
+
+Generated source map files will be created here.
+
+## joinExt
+Type: `String`  
+Default: '.src.coffee'
+
+Resulting extension when joining multiple CoffeeScript files.
diff --git a/docs/coffee-overview.md b/docs/coffee-overview.md
new file mode 100644
index 0000000..f0c452b
--- /dev/null
+++ b/docs/coffee-overview.md
@@ -0,0 +1 @@
+Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.
\ No newline at end of file
diff --git a/docs/overview.md b/docs/overview.md
new file mode 100644
index 0000000..6a24e65
--- /dev/null
+++ b/docs/overview.md
@@ -0,0 +1 @@
+*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](http://gruntjs.com/upgrading-from-0.3-to-0.4), but in case you can't please use [v0.3.2](https://github.com/gruntjs/grunt-contrib-coffee/tree/grunt-0.3-stable).*
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..5f873e4
--- /dev/null
+++ b/package.json
@@ -0,0 +1,42 @@
+{
+  "name": "grunt-contrib-coffee",
+  "description": "Compile CoffeeScript files to JavaScript",
+  "version": "1.0.0",
+  "author": {
+    "name": "Grunt Team",
+    "url": "http://gruntjs.com/"
+  },
+  "repository": "gruntjs/grunt-contrib-coffee",
+  "license": "MIT",
+  "engines": {
+    "node": ">= 0.10.0"
+  },
+  "main": "tasks/coffee.js",
+  "scripts": {
+    "test": "grunt test"
+  },
+  "dependencies": {
+    "chalk": "~1.0.0",
+    "coffee-script": "~1.10.0",
+    "lodash": "~4.3.0",
+    "uri-path": "~1.0.0"
+  },
+  "devDependencies": {
+    "grunt": "^0.4.5",
+    "grunt-cli": "^0.1.13",
+    "grunt-contrib-clean": "^0.6.0",
+    "grunt-contrib-internal": "^0.4.6",
+    "grunt-contrib-jshint": "^0.11.0",
+    "grunt-contrib-nodeunit": "^0.4.1"
+  },
+  "peerDependencies": {
+    "grunt": ">= 0.4.5"
+  },
+  "keywords": [
+    "gruntplugin"
+  ],
+  "files": [
+    "tasks"
+  ],
+  "appveyor_id": "ns3waxwcw8ddcr3f"
+}
diff --git a/tasks/coffee.js b/tasks/coffee.js
new file mode 100644
index 0000000..6605857
--- /dev/null
+++ b/tasks/coffee.js
@@ -0,0 +1,264 @@
+/*
+ * grunt-contrib-coffee
+ * http://gruntjs.com/
+ *
+ * Copyright (c) 2016 Eric Woroshow, contributors
+ * Licensed under the MIT license.
+ */
+
+'use strict';
+
+module.exports = function(grunt) {
+  var path = require('path');
+  var chalk = require('chalk');
+  var _ = require('lodash');
+  var uriPath = require('uri-path');
+
+  grunt.registerMultiTask('coffee', 'Compile CoffeeScript files into JavaScript', function() {
+    var options = this.options({
+      bare: false,
+      join: false,
+      sourceMap: false,
+      joinExt: '.src.coffee',
+      separator: grunt.util.linefeed
+    });
+    var actionCounts = {
+      createdFile: 0,
+      createdMap: 0
+    };
+
+    options.separator = grunt.util.normalizelf(options.separator);
+
+    this.files.forEach(function(f) {
+      var validFiles = removeInvalidFiles(f);
+      
+      if (validFiles.length === 0) {
+        grunt.log.warn('Destination ' + chalk.cyan(f.dest) + ' not written because no source files were found.');
+        return;
+      }
+
+      if (options.sourceMap === true) {
+        var paths = createOutputPaths(f.dest);
+        // add sourceMapDir to options object
+        var fileOptions = _.extend({ sourceMapDir: paths.destDir }, options);
+        var writeResult = writeFileAndMap(paths, compileWithMaps(validFiles, fileOptions, paths), fileOptions);
+        actionCounts.createdFile += writeResult.createdFile;
+        actionCounts.createdMap += writeResult.createdMap;
+      } else if (options.join === true) {
+        actionCounts.createdFile += writeCompiledFile(f.dest, concatInput(validFiles, options));
+      } else {
+        actionCounts.createdFile += writeCompiledFile(f.dest, concatOutput(validFiles, options));
+      }
+    });
+
+    grunt.log.ok(actionCounts.createdFile + ' files created.');
+    if (actionCounts.createdMap > 0) {
+      grunt.log.ok(actionCounts.createdMap + ' source map files created.');
+    }
+  });
+
+  var isLiterate = function(ext) {
+    return ext === '.litcoffee' || ext === '.md';
+  };
+
+  var removeInvalidFiles = function(files) {
+    return files.src.filter(function(filepath) {
+      if (!grunt.file.exists(filepath)) {
+        grunt.log.warn('Source file "' + filepath + '" not found.');
+        return false;
+      }
+      return true;
+    });
+  };
+
+  var createOutputPaths = function(destination) {
+    var fileName = path.basename(destination, path.extname(destination));
+    return {
+      dest: destination,
+      destName: fileName,
+      destDir: appendTrailingSlash(path.dirname(destination)),
+      mapFileName: fileName + '.js.map'
+    };
+  };
+
+  var appendTrailingSlash = function(dirname) {
+    if (dirname.length > 0 && dirname.slice(-1) !== path.sep) {
+      return dirname + path.sep;
+    }
+    return dirname;
+  };
+
+  var compileWithMaps = function(files, options, paths) {
+    if (!hasUniformExtensions(files)) {
+      return;
+    }
+
+    var mapOptions, filepath;
+
+    if (files.length > 1) {
+      mapOptions = createOptionsForJoin(files, paths, options.separator, options.joinExt);
+    } else {
+      mapOptions = createOptionsForFile(files[0], paths, options);
+      filepath = files[0];
+    }
+
+    options = _.extend({
+      generatedFile: path.basename(paths.dest),
+      sourceRoot: uriPath(mapOptions.sourceRoot),
+      sourceFiles: mapOptions.sourceFiles
+    }, options);
+
+    var output = compileCoffee(mapOptions.code, options, filepath);
+    appendFooter(output, paths, options);
+    return output;
+  };
+
+  var hasUniformExtensions = function(files) {
+    // get all extensions for input files
+    var extensions = _.uniq(files.map(path.extname));
+
+    if (extensions.length > 1) {
+      grunt.fail.warn('Join and sourceMap options require input files share the same extension (found ' + extensions.join(', ') + ').');
+      return false;
+    }
+    return true;
+  };
+
+  var createOptionsForJoin = function (files, paths, separator, joinExt) {
+    var code = concatFiles(files, separator);
+    var targetFileName = paths.destName + joinExt;
+    grunt.file.write(paths.destDir + targetFileName, code);
+
+    return {
+      code: code,
+      sourceFiles: [targetFileName],
+      sourceRoot: ''
+    };
+  };
+
+  var concatFiles = function(files, separator) {
+    return files.map(grunt.file.read).join(separator);
+  };
+
+  var createOptionsForFile = function(file, paths, options) {
+    return {
+      code: grunt.file.read(file),
+      sourceFiles: [path.basename(file)],
+      sourceRoot: appendTrailingSlash(path.relative(options.sourceMapDir, path.dirname(file)))
+    };
+  };
+
+  var appendFooter = function(output, paths, options) {
+    // We need the sourceMappingURL to be relative to the JS path
+    var sourceMappingDir = appendTrailingSlash(path.relative(paths.destDir, options.sourceMapDir));
+    // Add sourceMappingURL to file footer
+    output.js = output.js + '\n//# sourceMappingURL=' + uriPath(sourceMappingDir) + paths.mapFileName + '\n';
+  };
+
+  var concatInput = function(files, options) {
+    if (hasUniformExtensions(files)) {
+      var code = concatFiles(files, options.separator);
+      return compileCoffee(code, options);
+    }
+  };
+
+  var concatOutput = function(files, options) {
+    return files.map(function(filepath) {
+      var code = grunt.file.read(filepath);
+      return compileCoffee(code, options, filepath);
+    }).join(options.separator);
+  };
+
+  var compileCoffee = function(code, options, filepath) {
+    var coffeeOptions = _.clone(options);
+    if (filepath) {
+      coffeeOptions.filename = filepath;
+      coffeeOptions.literate = isLiterate(path.extname(filepath));
+    } else {
+      coffeeOptions.literate = isLiterate(path.extname(options.joinExt));
+    }
+
+    try {
+      return require('coffee-script').compile(code, coffeeOptions);
+    } catch (e) {
+      if (e.location == null ||
+          e.location.first_column == null ||
+          e.location.first_line == null) {
+        grunt.log.error('Got an unexpected exception ' +
+                        'from the coffee-script compiler. ' +
+                        'The original exception was: ' +
+                        e);
+        grunt.log.error('(The coffee-script compiler should not raise *unexpected* exceptions. ' +
+                        'You can file this error as an issue of the coffee-script compiler: ' +
+                        'https://github.com/jashkenas/coffee-script/issues)');
+      } else {
+        var firstColumn = e.location.first_column;
+        var firstLine = e.location.first_line;
+        var codeLine = code.split('\n')[firstLine];
+        var errorArrows = chalk.red('>>') + ' ';
+        var offendingCharacter;
+
+        if (firstColumn < codeLine.length) {
+          offendingCharacter = chalk.red(codeLine[firstColumn]);
+        } else {
+          offendingCharacter = '';
+        }
+
+        grunt.log.error(e);
+        grunt.log.error('In file: ' + filepath);
+        grunt.log.error('On line: ' + firstLine);
+        // log erroneous line and highlight offending character
+        // grunt.log.error trims whitespace so we have to use grunt.log.writeln
+        grunt.log.writeln(errorArrows + codeLine.substring(0, firstColumn) +
+                          offendingCharacter + codeLine.substring(firstColumn + 1));
+        grunt.log.writeln(errorArrows + grunt.util.repeat(firstColumn, ' ') +
+                          chalk.red('^'));
+      }
+      grunt.fail.warn('CoffeeScript failed to compile.');
+    }
+  };
+
+  var writeFileAndMap = function(paths, output, options) {
+    if (!output || output.js.length === 0) {
+      warnOnEmptyFile(paths.dest);
+      return;
+    }
+
+    var createdFile = writeCompiledFile(paths.dest, output.js);
+    options.sourceMapDir = appendTrailingSlash(options.sourceMapDir);
+    var createdMap = writeSourceMapFile(options.sourceMapDir + paths.mapFileName, output.v3SourceMap);
+
+    return {
+      createdFile: createdFile,
+      createdMap: createdMap
+    };
+  };
+
+  var warnOnEmptyFile = function(path) {
+    grunt.log.warn('Destination "' + path + '" not written because compiled files were empty.');
+  };
+
+  var writeFile = function(path, output) {
+    if (output.length < 1) {
+      warnOnEmptyFile(path);
+      return false;
+    }
+    grunt.file.write(path, output);
+    return true;
+  };
+
+  var writeCompiledFile = function(path, output) {
+    if (writeFile(path, output)) {
+      grunt.verbose.writeln('File ' + chalk.cyan(path) + ' created.');
+      return 1;
+    }
+    return 0;
+  };
+  var writeSourceMapFile = function(path, output) {
+    if (writeFile(path, output)) {
+      grunt.verbose.writeln('File ' + chalk.cyan(path) + ' created (source map).');
+      return 1;
+    }
+    return 0;
+  };
+};
diff --git a/test/coffee_test.js b/test/coffee_test.js
new file mode 100644
index 0000000..531d47a
--- /dev/null
+++ b/test/coffee_test.js
@@ -0,0 +1,235 @@
+'use strict';
+
+var grunt = require('grunt');
+
+function readFile(file) {
+  var contents = grunt.file.read(file);
+  if (process.platform === 'win32') {
+    contents = contents.replace(/\r\n/g, '\n');
+  }
+  return contents;
+}
+
+function assertFileEquality(test, pathToActual, pathToExpected, message) {
+  var actual = readFile(pathToActual);
+  var expected = readFile(pathToExpected);
+  test.equal(expected, actual, message);
+}
+
+exports.coffee = {
+  compileBare: function(test) {
+    test.expect(4);
+
+    assertFileEquality(test,
+      'tmp/bare/coffee.js',
+      'test/expected/bare/coffee.js',
+      'Should compile coffeescript to unwrapped javascript');
+
+    assertFileEquality(test,
+      'tmp/bare/litcoffee.js',
+      'test/expected/bare/litcoffee.js',
+      'Should compile literate coffeescript to unwrapped javascript');
+
+    assertFileEquality(test,
+      'tmp/bare/litcoffeemd.js',
+      'test/expected/bare/litcoffee.js',
+      'Should compile literate coffeescript to unwrapped javascript');
+
+    assertFileEquality(test,
+      'tmp/bare/concat.js',
+      'test/expected/bare/concat.js',
+      'Should compile coffeescript files without wrappers and concatenate them into a single javascript file');
+
+    test.done();
+  },
+  compileDefault: function(test) {
+    test.expect(4);
+
+    assertFileEquality(test,
+      'tmp/default/coffee.js',
+      'test/expected/default/coffee.js',
+      'Should compile coffeescript to javascript');
+
+    assertFileEquality(test,
+      'tmp/default/litcoffee.js',
+      'test/expected/default/litcoffee.js',
+      'Should compile literate coffeescript to wrapped javascript');
+
+    assertFileEquality(test,
+      'tmp/default/litcoffeemd.js',
+      'test/expected/default/litcoffee.js',
+      'Should compile literate coffeescript to wrapped javascript');
+
+    assertFileEquality(test,
+      'tmp/default/concat.js',
+      'test/expected/default/concat.js',
+      'Should compile coffeescript files with wrappers and concatenate them into a single javascript file');
+
+    test.done();
+  },
+  compileJoined: function(test) {
+    test.expect(4);
+
+    assertFileEquality(test,
+      'tmp/join/coffee.js',
+      'test/expected/default/coffee.js',
+      'Compilation of one file with join enabled should match normal compilation');
+
+    assertFileEquality(test,
+      'tmp/join/join.js',
+      'test/expected/join/join.js',
+      'Should concatenate coffeescript files prior to compilation into a single javascript file');
+
+    assertFileEquality(test,
+      'tmp/join/bareCoffee.js',
+      'test/expected/bare/coffee.js',
+      'Bare compilation of one file with join enabled should match bare compilation');
+
+    assertFileEquality(test,
+      'tmp/join/bareJoin.js',
+      'test/expected/join/bareJoin.js',
+      'Bare compilation of multiple join files should be equivalent to concatenated compilation');
+
+    test.done();
+  },
+  compileMaps: function(test) {
+
+    test.expect(10);
+    assertFileEquality(test,
+      'tmp/maps/coffee.js',
+      'test/expected/maps/coffee.js',
+      'Compilation of single file with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/maps/coffee.js.map',
+      'test/expected/maps/coffee.js.map',
+      'Compilation of single file with source maps should generate map');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeJoin.js',
+      'test/expected/maps/coffeeJoin.js',
+      'Compilation of multiple files with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeJoin.js.map',
+      'test/expected/maps/coffeeJoin.js.map',
+      'Compilation of multiple files with source maps should generate map');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeJoin.src.coffee',
+      'test/expected/maps/coffeeJoin.src.coffee',
+      'Compilation of multiple files with source maps should output concatenated source');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeBare.js',
+      'test/expected/maps/coffeeBare.js',
+      'Bare compilation of single file with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeBare.js.map',
+      'test/expected/maps/coffeeBare.js.map',
+      'Bare compilation of single file with source maps should generate map');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeBareJoin.js',
+      'test/expected/maps/coffeeBareJoin.js',
+      'Bare compilation of multiple files with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeBareJoin.js.map',
+      'test/expected/maps/coffeeBareJoin.js.map',
+      'Bare compilation of multiple files with source maps should generate map');
+
+    assertFileEquality(test,
+      'tmp/maps/coffeeBareJoin.src.coffee',
+      'test/expected/maps/coffeeBareJoin.src.coffee',
+      'Bare compilation of multiple files with source maps should output concatenated source');
+
+    test.done();
+  },
+  compileEachMap: function(test) {
+    test.expect(4);
+
+    assertFileEquality(test,
+      'tmp/eachMap/coffee1.js',
+      'test/expected/eachMap/coffee1.js',
+      'Separate compilation of coffee and litcoffee files with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/eachMap/litcoffee.js',
+      'test/expected/eachMap/litcoffee.js',
+      'Separate compilation of coffee and litcoffee files with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/eachMap/coffee1.js.map',
+      'test/expected/eachMap/coffee1.js.map',
+      'Separate compilation of coffee and litcoffee files with source maps should generate map');
+
+    assertFileEquality(test,
+      'tmp/eachMap/litcoffee.js.map',
+      'test/expected/eachMap/litcoffee.js.map',
+      'Separate compilation of coffee and litcoffee files with source maps should generate map');
+
+    test.done();
+  },
+  compileSourceMapDir: function(test) {
+    test.expect(2);
+
+    assertFileEquality(test,
+      'tmp/sourceMapDir1/coffee.js',
+      'test/expected/sourceMapDir1/coffee.js',
+      'Compilation of single file with source maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/sourceMapDir2/coffee.js.map',
+      'test/expected/sourceMapDir2/coffee.js.map',
+      'Compilation of single file with alternate source map dir should generate map');
+
+    test.done();
+  },
+  compileNested: function(test) {
+    test.expect(2);
+
+    assertFileEquality(test,
+      'tmp/nest/1/coffee.js.map',
+      'test/expected/maps/coffeeNested.js.map',
+      'Compilation of nested maps should respect path info');
+
+    assertFileEquality(test,
+      'tmp/nest/2/coffee.js.map',
+      'test/expected/maps/coffeeNested.js.map',
+      'Compilation of nested maps should change per file');
+
+    test.done();
+  },
+  compileMDCoffeeMaps: function(test) {
+    test.expect(2);
+
+    assertFileEquality(test,
+      'tmp/litCoffeeMaps/mdcoffee.js',
+      'test/expected/litCoffeeMaps/mdcoffee.js',
+      'Compilation of multiple coffee.md files with maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/litCoffeeMaps/mdcoffee.js.map',
+      'test/expected/litCoffeeMaps/mdcoffee.js.map',
+      'Compilation of multiple coffee.md files with maps should generate map');
+
+    test.done();
+  },
+  compileLitCoffeeMaps: function(test) {
+    test.expect(2);
+
+    assertFileEquality(test,
+      'tmp/litCoffeeMaps/litcoffee.js',
+      'test/expected/litCoffeeMaps/litcoffee.js',
+      'Compilation of multiple .litcoffee files with maps should generate javascript');
+
+    assertFileEquality(test,
+      'tmp/litCoffeeMaps/litcoffee.js.map',
+      'test/expected/litCoffeeMaps/litcoffee.js.map',
+      'Compilation of multiple .litcoffee files with maps should generate map');
+
+    test.done();
+  }
+};
diff --git a/test/expected/bare/coffee.js b/test/expected/bare/coffee.js
new file mode 100644
index 0000000..7840376
--- /dev/null
+++ b/test/expected/bare/coffee.js
@@ -0,0 +1,10 @@
+var HelloWorld;
+
+HelloWorld = (function() {
+  function HelloWorld() {}
+
+  HelloWorld.test = 'test';
+
+  return HelloWorld;
+
+})();
diff --git a/test/expected/bare/concat.js b/test/expected/bare/concat.js
new file mode 100644
index 0000000..f9f9fd1
--- /dev/null
+++ b/test/expected/bare/concat.js
@@ -0,0 +1,18 @@
+var HelloWorld;
+
+HelloWorld = (function() {
+  function HelloWorld() {}
+
+  HelloWorld.test = 'test';
+
+  return HelloWorld;
+
+})();
+
+console.log('hi');
+
+var sayHello;
+
+sayHello = function() {
+  return console.log('hi');
+};
diff --git a/test/expected/bare/litcoffee.js b/test/expected/bare/litcoffee.js
new file mode 100644
index 0000000..cf81810
--- /dev/null
+++ b/test/expected/bare/litcoffee.js
@@ -0,0 +1,5 @@
+var sayHello;
+
+sayHello = function() {
+  return console.log('hi');
+};
diff --git a/test/expected/default/coffee.js b/test/expected/default/coffee.js
new file mode 100644
index 0000000..8a83f23
--- /dev/null
+++ b/test/expected/default/coffee.js
@@ -0,0 +1,13 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+}).call(this);
diff --git a/test/expected/default/concat.js b/test/expected/default/concat.js
new file mode 100644
index 0000000..f2e535b
--- /dev/null
+++ b/test/expected/default/concat.js
@@ -0,0 +1,27 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+}).call(this);
+
+(function() {
+  console.log('hi');
+
+}).call(this);
+
+(function() {
+  var sayHello;
+
+  sayHello = function() {
+    return console.log('hi');
+  };
+
+}).call(this);
diff --git a/test/expected/default/litcoffee.js b/test/expected/default/litcoffee.js
new file mode 100644
index 0000000..e38cb2f
--- /dev/null
+++ b/test/expected/default/litcoffee.js
@@ -0,0 +1,8 @@
+(function() {
+  var sayHello;
+
+  sayHello = function() {
+    return console.log('hi');
+  };
+
+}).call(this);
diff --git a/test/expected/eachMap/coffee1.js b/test/expected/eachMap/coffee1.js
new file mode 100644
index 0000000..193ad37
--- /dev/null
+++ b/test/expected/eachMap/coffee1.js
@@ -0,0 +1,15 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+}).call(this);
+
+//# sourceMappingURL=coffee1.js.map
diff --git a/test/expected/eachMap/coffee1.js.map b/test/expected/eachMap/coffee1.js.map
new file mode 100644
index 0000000..6030895
--- /dev/null
+++ b/test/expected/eachMap/coffee1.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffee1.js",
+  "sourceRoot": "../../test/fixtures/",
+  "sources": [
+    "coffee1.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA;AAAA,MAAA;;EAAM;;;IACJ,UAAC,CAAA,IAAD,GAAO;;;;;AADT"
+}
\ No newline at end of file
diff --git a/test/expected/eachMap/litcoffee.js b/test/expected/eachMap/litcoffee.js
new file mode 100644
index 0000000..f46a531
--- /dev/null
+++ b/test/expected/eachMap/litcoffee.js
@@ -0,0 +1,10 @@
+(function() {
+  var sayHello;
+
+  sayHello = function() {
+    return console.log('hi');
+  };
+
+}).call(this);
+
+//# sourceMappingURL=litcoffee.js.map
diff --git a/test/expected/eachMap/litcoffee.js.map b/test/expected/eachMap/litcoffee.js.map
new file mode 100644
index 0000000..4efb8c1
--- /dev/null
+++ b/test/expected/eachMap/litcoffee.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "litcoffee.js",
+  "sourceRoot": "../../test/fixtures/",
+  "sources": [
+    "litcoffee.litcoffee"
+  ],
+  "names": [],
+  "mappings": "AAEI;AAAA,MAAA;;EAAA,QAAA,GAAW,SAAA;WAIT,OAAO,CAAC,GAAR,CAAY,IAAZ;EAJS;AAAX"
+}
\ No newline at end of file
diff --git a/test/expected/join/bareJoin.js b/test/expected/join/bareJoin.js
new file mode 100644
index 0000000..884d5d8
--- /dev/null
+++ b/test/expected/join/bareJoin.js
@@ -0,0 +1,12 @@
+var HelloWorld;
+
+HelloWorld = (function() {
+  function HelloWorld() {}
+
+  HelloWorld.test = 'test';
+
+  return HelloWorld;
+
+})();
+
+console.log('hi');
diff --git a/test/expected/join/join.js b/test/expected/join/join.js
new file mode 100644
index 0000000..2ee3d79
--- /dev/null
+++ b/test/expected/join/join.js
@@ -0,0 +1,15 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+  console.log('hi');
+
+}).call(this);
diff --git a/test/expected/litCoffeeMaps/litcoffee.js b/test/expected/litCoffeeMaps/litcoffee.js
new file mode 100644
index 0000000..7938b61
--- /dev/null
+++ b/test/expected/litCoffeeMaps/litcoffee.js
@@ -0,0 +1,14 @@
+(function() {
+  var sayHello;
+
+  sayHello = function() {
+    return console.log('hi');
+  };
+
+  sayHello = function() {
+    return console.log('I like to annotate my source with literated coffee.');
+  };
+
+}).call(this);
+
+//# sourceMappingURL=litcoffee.js.map
diff --git a/test/expected/litCoffeeMaps/litcoffee.js.map b/test/expected/litCoffeeMaps/litcoffee.js.map
new file mode 100644
index 0000000..fd0bd8b
--- /dev/null
+++ b/test/expected/litCoffeeMaps/litcoffee.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "litcoffee.js",
+  "sourceRoot": "",
+  "sources": [
+    "litcoffee.src.litcoffee"
+  ],
+  "names": [],
+  "mappings": "AAEI;AAAA,MAAA;;EAAA,QAAA,GAAW,SAAA;WAIT,OAAO,CAAC,GAAR,CAAY,IAAZ;EAJS;;EAQX,QAAA,GAAW,SAAA;WAIT,OAAO,CAAC,GAAR,CAAY,qDAAZ;EAJS;AARX"
+}
\ No newline at end of file
diff --git a/test/expected/litCoffeeMaps/mdcoffee.js b/test/expected/litCoffeeMaps/mdcoffee.js
new file mode 100644
index 0000000..47297db
--- /dev/null
+++ b/test/expected/litCoffeeMaps/mdcoffee.js
@@ -0,0 +1,14 @@
+(function() {
+  var sayHello;
+
+  sayHello = function() {
+    return console.log('hi');
+  };
+
+  sayHello = function() {
+    return console.log('I like to annotate my source with literated coffee.');
+  };
+
+}).call(this);
+
+//# sourceMappingURL=mdcoffee.js.map
diff --git a/test/expected/litCoffeeMaps/mdcoffee.js.map b/test/expected/litCoffeeMaps/mdcoffee.js.map
new file mode 100644
index 0000000..afcfdc5
--- /dev/null
+++ b/test/expected/litCoffeeMaps/mdcoffee.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "mdcoffee.js",
+  "sourceRoot": "",
+  "sources": [
+    "mdcoffee.src.coffee.md"
+  ],
+  "names": [],
+  "mappings": "AAEI;AAAA,MAAA;;EAAA,QAAA,GAAW,SAAA;WAIT,OAAO,CAAC,GAAR,CAAY,IAAZ;EAJS;;EAQX,QAAA,GAAW,SAAA;WAIT,OAAO,CAAC,GAAR,CAAY,qDAAZ;EAJS;AARX"
+}
\ No newline at end of file
diff --git a/test/expected/maps/coffee.js b/test/expected/maps/coffee.js
new file mode 100644
index 0000000..f4e1dea
--- /dev/null
+++ b/test/expected/maps/coffee.js
@@ -0,0 +1,15 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+}).call(this);
+
+//# sourceMappingURL=coffee.js.map
diff --git a/test/expected/maps/coffee.js.map b/test/expected/maps/coffee.js.map
new file mode 100644
index 0000000..cf6fe1b
--- /dev/null
+++ b/test/expected/maps/coffee.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffee.js",
+  "sourceRoot": "../../test/fixtures/",
+  "sources": [
+    "coffee1.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA;AAAA,MAAA;;EAAM;;;IACJ,UAAC,CAAA,IAAD,GAAO;;;;;AADT"
+}
\ No newline at end of file
diff --git a/test/expected/maps/coffeeBare.js b/test/expected/maps/coffeeBare.js
new file mode 100644
index 0000000..2b941d8
--- /dev/null
+++ b/test/expected/maps/coffeeBare.js
@@ -0,0 +1,12 @@
+var HelloWorld;
+
+HelloWorld = (function() {
+  function HelloWorld() {}
+
+  HelloWorld.test = 'test';
+
+  return HelloWorld;
+
+})();
+
+//# sourceMappingURL=coffeeBare.js.map
diff --git a/test/expected/maps/coffeeBare.js.map b/test/expected/maps/coffeeBare.js.map
new file mode 100644
index 0000000..1acb1d1
--- /dev/null
+++ b/test/expected/maps/coffeeBare.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffeeBare.js",
+  "sourceRoot": "../../test/fixtures/",
+  "sources": [
+    "coffee1.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA,IAAA;;AAAM;;;EACJ,UAAC,CAAA,IAAD,GAAO"
+}
\ No newline at end of file
diff --git a/test/expected/maps/coffeeBareJoin.js b/test/expected/maps/coffeeBareJoin.js
new file mode 100644
index 0000000..200c551
--- /dev/null
+++ b/test/expected/maps/coffeeBareJoin.js
@@ -0,0 +1,14 @@
+var HelloWorld;
+
+HelloWorld = (function() {
+  function HelloWorld() {}
+
+  HelloWorld.test = 'test';
+
+  return HelloWorld;
+
+})();
+
+console.log('hi');
+
+//# sourceMappingURL=coffeeBareJoin.js.map
diff --git a/test/expected/maps/coffeeBareJoin.js.map b/test/expected/maps/coffeeBareJoin.js.map
new file mode 100644
index 0000000..3486b4c
--- /dev/null
+++ b/test/expected/maps/coffeeBareJoin.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffeeBareJoin.js",
+  "sourceRoot": "",
+  "sources": [
+    "coffeeBareJoin.src.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA,IAAA;;AAAM;;;EACJ,UAAC,CAAA,IAAD,GAAO;;;;;;AACT,OAAO,CAAC,GAAR,CAAY,IAAZ"
+}
\ No newline at end of file
diff --git a/test/expected/maps/coffeeBareJoin.src.coffee b/test/expected/maps/coffeeBareJoin.src.coffee
new file mode 100644
index 0000000..fc96604
--- /dev/null
+++ b/test/expected/maps/coffeeBareJoin.src.coffee
@@ -0,0 +1,3 @@
+class HelloWorld
+  @test: 'test'
+console.log('hi')
\ No newline at end of file
diff --git a/test/expected/maps/coffeeJoin.js b/test/expected/maps/coffeeJoin.js
new file mode 100644
index 0000000..430d5e3
--- /dev/null
+++ b/test/expected/maps/coffeeJoin.js
@@ -0,0 +1,17 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+  console.log('hi');
+
+}).call(this);
+
+//# sourceMappingURL=coffeeJoin.js.map
diff --git a/test/expected/maps/coffeeJoin.js.map b/test/expected/maps/coffeeJoin.js.map
new file mode 100644
index 0000000..fa43c39
--- /dev/null
+++ b/test/expected/maps/coffeeJoin.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffeeJoin.js",
+  "sourceRoot": "",
+  "sources": [
+    "coffeeJoin.src.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA;AAAA,MAAA;;EAAM;;;IACJ,UAAC,CAAA,IAAD,GAAO;;;;;;EACT,OAAO,CAAC,GAAR,CAAY,IAAZ;AAFA"
+}
\ No newline at end of file
diff --git a/test/expected/maps/coffeeJoin.src.coffee b/test/expected/maps/coffeeJoin.src.coffee
new file mode 100644
index 0000000..fc96604
--- /dev/null
+++ b/test/expected/maps/coffeeJoin.src.coffee
@@ -0,0 +1,3 @@
+class HelloWorld
+  @test: 'test'
+console.log('hi')
\ No newline at end of file
diff --git a/test/expected/maps/coffeeNested.js.map b/test/expected/maps/coffeeNested.js.map
new file mode 100644
index 0000000..b6baa43
--- /dev/null
+++ b/test/expected/maps/coffeeNested.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffee.js",
+  "sourceRoot": "../../../test/fixtures/",
+  "sources": [
+    "coffee1.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA;AAAA,MAAA;;EAAM;;;IACJ,UAAC,CAAA,IAAD,GAAO;;;;;AADT"
+}
\ No newline at end of file
diff --git a/test/expected/sourceMapDir1/coffee.js b/test/expected/sourceMapDir1/coffee.js
new file mode 100644
index 0000000..5176431
--- /dev/null
+++ b/test/expected/sourceMapDir1/coffee.js
@@ -0,0 +1,15 @@
+(function() {
+  var HelloWorld;
+
+  HelloWorld = (function() {
+    function HelloWorld() {}
+
+    HelloWorld.test = 'test';
+
+    return HelloWorld;
+
+  })();
+
+}).call(this);
+
+//# sourceMappingURL=../sourceMapDir2/coffee.js.map
diff --git a/test/expected/sourceMapDir2/coffee.js.map b/test/expected/sourceMapDir2/coffee.js.map
new file mode 100644
index 0000000..cf6fe1b
--- /dev/null
+++ b/test/expected/sourceMapDir2/coffee.js.map
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "file": "coffee.js",
+  "sourceRoot": "../../test/fixtures/",
+  "sources": [
+    "coffee1.coffee"
+  ],
+  "names": [],
+  "mappings": "AAAA;AAAA,MAAA;;EAAM;;;IACJ,UAAC,CAAA,IAAD,GAAO;;;;;AADT"
+}
\ No newline at end of file
diff --git a/test/fixtures/coffee1.coffee b/test/fixtures/coffee1.coffee
new file mode 100644
index 0000000..1dad2e5
--- /dev/null
+++ b/test/fixtures/coffee1.coffee
@@ -0,0 +1,2 @@
+class HelloWorld
+  @test: 'test'
\ No newline at end of file
diff --git a/test/fixtures/coffee2.coffee b/test/fixtures/coffee2.coffee
new file mode 100644
index 0000000..309af59
--- /dev/null
+++ b/test/fixtures/coffee2.coffee
@@ -0,0 +1 @@
+console.log('hi')
\ No newline at end of file
diff --git a/test/fixtures/litcoffee.coffee.md b/test/fixtures/litcoffee.coffee.md
new file mode 100644
index 0000000..3a2b280
--- /dev/null
+++ b/test/fixtures/litcoffee.coffee.md
@@ -0,0 +1,7 @@
+Begin function declaration.
+
+    sayHello = ->
+
+Print a greeting.
+
+      console.log 'hi'
diff --git a/test/fixtures/litcoffee.litcoffee b/test/fixtures/litcoffee.litcoffee
new file mode 100644
index 0000000..3a2b280
--- /dev/null
+++ b/test/fixtures/litcoffee.litcoffee
@@ -0,0 +1,7 @@
+Begin function declaration.
+
+    sayHello = ->
+
+Print a greeting.
+
+      console.log 'hi'
diff --git a/test/fixtures/litcoffee1.litcoffee b/test/fixtures/litcoffee1.litcoffee
new file mode 100644
index 0000000..f786b30
--- /dev/null
+++ b/test/fixtures/litcoffee1.litcoffee
@@ -0,0 +1,7 @@
+Begin function declaration.
+
+    sayHello = ->
+
+Print a greeting.
+
+      console.log 'I like to annotate my source with literated coffee.'
diff --git a/test/fixtures/mdcoffee.coffee.md b/test/fixtures/mdcoffee.coffee.md
new file mode 100644
index 0000000..3a2b280
--- /dev/null
+++ b/test/fixtures/mdcoffee.coffee.md
@@ -0,0 +1,7 @@
+Begin function declaration.
+
+    sayHello = ->
+
+Print a greeting.
+
+      console.log 'hi'
diff --git a/test/fixtures/mdcoffee1.coffee.md b/test/fixtures/mdcoffee1.coffee.md
new file mode 100644
index 0000000..f786b30
--- /dev/null
+++ b/test/fixtures/mdcoffee1.coffee.md
@@ -0,0 +1,7 @@
+Begin function declaration.
+
+    sayHello = ->
+
+Print a greeting.
+
+      console.log 'I like to annotate my source with literated coffee.'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-grunt-contrib-coffee.git



More information about the Pkg-javascript-commits mailing list