[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 [](https://travis-ci.org/gruntjs/grunt-contrib-coffee) [](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