Skip to content

Convert CoffeeScript classes to AngularJS modules with ng-classify

License

Notifications You must be signed in to change notification settings

CaryLandholt/grunt-ng-classify

Repository files navigation

grunt-ng-classify

License Version Build Status Dependency Status

Convert CoffeeScript classes to AngularJS modules with ng-classify
Write less JavaScript. Write less CoffeeScript. Write less Angular.

Watch the screencast

Install

Install with npm

$ npm install grunt-ng-classify

Usage

CoffeeScript

module.exports = (grunt) ->
	grunt.loadNpmTasks 'grunt-ng-classify'

	grunt.initConfig
		ngClassify:
			app:
				files: [
					cwd: 'src'
					src: '**/*.coffee'
					dest: 'dest'
					expand: true
				]
				options:
					appName: 'app'

JavaScript

module.exports = function (grunt) {
	grunt.loadNpmTasks('grunt-ng-classify');

	grunt.initConfig({
		ngClassify: {
			app: {
				files: [
					{
						cwd: 'src',
						src: '**/*.coffee',
						dest: 'dest',
						expand: true
					}
				],
				options: {
					appName: 'app'
				}
			}
		}
	});
};

Table of Contents

API

See the ng-classify docs

options

Optional
Type: Object
Default: undefined
see ng-classify API

options.callback

Type: Function
Default: undefined

Dynamically creates options via the function callback. The function takes in the filePath and returns the options. Note: overrides other options

module.exports = (grunt) ->
	grunt.loadNpmTasks 'grunt-ng-classify'

	grunt.initConfig
		ngClassify:
			app:
				files: [
					cwd: 'src'
					src: '**/*.coffee'
					dest: 'dest'
					expand: true
				]
				options:
					callback: (filePath) ->
						return if filePath.indexOf('administrator') isnt -1
							{appName: 'admin'}

						{appName: 'app'}
module.exports = function (grunt) {
	grunt.loadNpmTasks('grunt-ng-classify');

	grunt.initConfig({
		ngClassify: {
			app: {
				files: [
					{
						cwd: 'src',
						src: '**/*.coffee',
						dest: 'dest',
						expand: true
					}
				],
				options: {
					callback: function (filePath) {
						if (filePath.indexOf('administrator') !== -1) {
							return {appName: 'admin'};
						}
						
						return {appName: 'app'};
					}
				}
			}
		}
	});
};

Contributing

See CONTRIBUTING.md

Changelog

See CHANGELOG.md

License

See LICENSE

About

Convert CoffeeScript classes to AngularJS modules with ng-classify

Resources

License

Stars

Watchers

Forks

Packages

No packages published