11/*
2- * angular -data-mocks
3- * http://github.com/jmdobry/angular -data-mocks
2+ * js -data-angular -mocks
3+ * http://github.com/js-data/js -data-angular -mocks
44 *
5- * Copyright (c) 2014 Jason Dobry <http://jmdobry .github.io/angular -data-mocks>
6- * Licensed under the MIT license. <https://github.com/jmdobry/angular -data-mocks/blob/master/LICENSE>
5+ * Copyright (c) 2014 Jason Dobry <http://js-data .github.io/js -data-angular -mocks>
6+ * Licensed under the MIT license. <https://github.com/js-data/js -data-angular -mocks/blob/master/LICENSE>
77 */
88module . exports = function ( grunt ) {
99 'use strict' ;
1010
1111 require ( 'jit-grunt' ) ( grunt ) ;
1212 require ( 'time-grunt' ) ( grunt ) ;
1313
14+ var webpack = require ( 'webpack' ) ;
1415 var pkg = grunt . file . readJSON ( 'package.json' ) ;
16+ var banner = 'js-data-angular-mocks\n' +
17+ '@version ' + pkg . version + ' - Homepage <https://github.com/js-data/js-data-angular-mocks>\n' +
18+ '@author Jason Dobry <jason.dobry@gmail.com>\n' +
19+ '@copyright (c) 2014-2015 Jason Dobry \n' +
20+ '@license MIT <https://github.com/js-data/js-data-angular-mocks/blob/master/LICENSE>\n' +
21+ '\n' +
22+ '@overview A mock of js-data & js-data-angular for testing purposes.' ;
1523
1624 // Project configuration.
1725 grunt . initConfig ( {
@@ -20,30 +28,25 @@ module.exports = function (grunt) {
2028 coverage : [ 'coverage/' ] ,
2129 dist : [ 'dist/' ]
2230 } ,
23- jshint : {
24- all : [ 'Gruntfile.js' , 'src/**/*.js' ] ,
25- test : [ 'test/**/*.js' ] ,
26- jshintrc : '.jshintrc'
27- } ,
2831 watch : {
2932 files : [ 'src/**/*.js' ] ,
3033 tasks : [ 'build' ]
3134 } ,
3235 uglify : {
3336 dist : {
3437 options : {
35- banner : '/** \n' +
36- '* @author Jason Dobry <jason.dobry@gmail.com> \n' +
37- '* @file angular- data- mocks.min.js \n' +
38- '* @version <%= pkg.version %> - Homepage <https://github. com/jmdobry/angular-data-mocks >\n' +
39- '* @copyright (c) 2014 Jason Dobry <https://github.com/jmdobry />\n' +
40- '* @license MIT <https://github.com/jmdobry/angular -data-mocks/blob/master/LICENSE>\n' +
41- '*\n' +
42- '* @overview A mock of angular -data for testing purposes.\n' +
43- '*/\n'
38+ banner : '/*! \n' +
39+ '* js-data-angular-mocks \n' +
40+ '* @version <%= pkg.version %> - Homepage <https://github.com/js- data/js-data-angular- mocks> \n' +
41+ '* @author Jason Dobry <jason.dobry@gmail. com>\n' +
42+ '* @copyright (c) 2014-2015 Jason Dobry <https://github.com/js-data />\n' +
43+ '* @license MIT <https://github.com/js-data/js -data-angular -mocks/blob/master/LICENSE>\n' +
44+ '*\n' +
45+ '* @overview A mock of js -data & js-data-angular for testing purposes.\n' +
46+ '*/\n'
4447 } ,
4548 files : {
46- 'dist/angular -data-mocks.min.js' : [ 'dist/angular -data-mocks.js' ]
49+ 'dist/js -data-angular- mocks.min.js' : [ 'dist/js -data-angular -mocks.js' ]
4750 }
4851 }
4952 } ,
@@ -64,9 +67,12 @@ module.exports = function (grunt) {
6467 files : [
6568 'bower_components/angular/angular.js' ,
6669 'bower_components/angular-mocks/angular-mocks.js' ,
67- 'dist/angular-data.min.js' ,
68- 'test/integration/**/*.js' ,
69- 'karma.start.js'
70+ 'bower_components/js-data/dist/js-data.js' ,
71+ 'bower_components/js-data-angular/dist/js-data-angular.js' ,
72+ 'dist/js-data-angular-mocks.min.js' ,
73+ 'karma.start.js' ,
74+ 'test/testApp.js' ,
75+ 'test/test.js'
7076 ]
7177 }
7278 } ,
@@ -82,29 +88,62 @@ module.exports = function (grunt) {
8288
8389 copy : {
8490 dist : {
85- src : 'dist/angular -data-mocks.js' ,
86- dest : 'dist/angular -data-mocks.js' ,
91+ src : 'dist/js -data-angular -mocks.js' ,
92+ dest : 'dist/js -data-angular -mocks.js' ,
8793 options : {
8894 process : function ( content ) {
8995 return content . replace ( / < % = p k g \. v e r s i o n % > / gi, pkg . version ) ;
9096 }
9197 }
9298 }
9399 } ,
94- browserify : {
100+ webpack : {
95101 dist : {
96- files : {
97- 'dist/angular-data-mocks.js' : [ 'src/index.js' ]
98- }
102+ entry : './src/index.js' ,
103+ output : {
104+ filename : './dist/js-data-angular-mocks.js' ,
105+ libraryTarget : 'umd' ,
106+ library : 'jsDataAngularMocksModuleName'
107+ } ,
108+ externals : {
109+ 'js-data' : {
110+ amd : 'js-data' ,
111+ commonjs : 'js-data' ,
112+ commonjs2 : 'js-data' ,
113+ root : 'JSData'
114+ } ,
115+ 'js-data-angular' : {
116+ amd : 'js-data-angular' ,
117+ commonjs : 'js-data-angular' ,
118+ commonjs2 : 'js-data-angular' ,
119+ root : 'jsDataAngularModuleName'
120+ } ,
121+ 'sinon' : 'sinon' ,
122+ 'angular' : 'angular'
123+ } ,
124+ module : {
125+ loaders : [
126+ { test : / ( s r c ) ( .+ ) \. j s $ / , exclude : / n o d e _ m o d u l e s / , loader : 'babel-loader?blacklist=useStrict' }
127+ ] ,
128+ preLoaders : [
129+ {
130+ test : / ( s r c ) ( .+ ) \. j s $ | ( t e s t ) ( .+ ) \. j s $ / , // include .js files
131+ exclude : / n o d e _ m o d u l e s / , // exclude any and all files in the node_modules folder
132+ loader : "jshint-loader?failOnHint=true"
133+ }
134+ ]
135+ } ,
136+ plugins : [
137+ new webpack . BannerPlugin ( banner )
138+ ]
99139 }
100140 }
101141 } ) ;
102142
103- grunt . registerTask ( 'test' , [ 'clean:coverage ' , 'karma:dev ' ] ) ;
143+ grunt . registerTask ( 'test' , [ 'build' , 'karma:ci ', 'karma:min ' ] ) ;
104144 grunt . registerTask ( 'build' , [
105145 'clean' ,
106- 'jshint' ,
107- 'browserify' ,
146+ 'webpack' ,
108147 'copy' ,
109148 'uglify:dist'
110149 ] ) ;
0 commit comments