@@ -69,7 +69,25 @@ module.exports = function(grunt) {
6969 return all ;
7070 } ;
7171
72- var pluginCombinations = combine ( grunt . file . expand ( 'plugins/*.js' ) ) ;
72+ var plugins = grunt . file . expand ( 'plugins/*.js' ) ;
73+
74+ var cleanedPlugins = plugins . filter ( function ( plugin ) {
75+ var pluginName = path . basename ( plugin , '.js' ) ;
76+
77+ return excludedPlugins . indexOf ( pluginName ) === - 1 ;
78+ } ) ;
79+
80+ var pluginSingleFiles = cleanedPlugins . map ( function ( plugin ) {
81+ var filename = path . basename ( plugin ) ;
82+
83+ var file = { } ;
84+ file . src = plugin ;
85+ file . dest = path . join ( 'build' , 'plugin' , filename ) ;
86+
87+ return file ;
88+ } ) ;
89+
90+ var pluginCombinations = combine ( plugins ) ;
7391 var pluginConcatFiles = _ . reduce ( pluginCombinations , function ( dict , comb ) {
7492 var key = _ . map ( comb , function ( plugin ) {
7593 return path . basename ( plugin , '.js' ) ;
@@ -103,6 +121,18 @@ module.exports = function(grunt) {
103121 dest : 'build/raven.js'
104122 } ,
105123 plugins : {
124+ files : pluginSingleFiles ,
125+ options : {
126+ external : [
127+ '../src/singleton'
128+ ] ,
129+ transform : [
130+ [ versionify ] ,
131+ [ new AddPluginBrowserifyTransformer ( ) ]
132+ ]
133+ }
134+ } ,
135+ 'plugins-combined' : {
106136 files : pluginConcatFiles ,
107137 options : {
108138 transform : [
@@ -161,11 +191,11 @@ module.exports = function(grunt) {
161191 options : {
162192 mocha : {
163193 ignoreLeaks : true ,
164- grep : grunt . option ( 'grep' )
194+ grep : grunt . option ( 'grep' )
165195 } ,
166- log : true ,
196+ log : true ,
167197 reporter : 'Dot' ,
168- run : true
198+ run : true
169199 } ,
170200 unit : {
171201 src : [ 'test/index.html' ] ,
@@ -179,7 +209,7 @@ module.exports = function(grunt) {
179209
180210 release : {
181211 options : {
182- npm : false ,
212+ npm : false ,
183213 commitMessage : 'Release <%= version %>'
184214 }
185215 } ,
@@ -315,11 +345,13 @@ module.exports = function(grunt) {
315345 grunt . registerTask ( '_prep' , [ 'clean' , 'gitinfo' , 'version' ] ) ;
316346 grunt . registerTask ( 'browserify.core' , [ '_prep' , 'browserify:core' ] ) ;
317347 grunt . registerTask ( 'browserify.plugins' , [ '_prep' , 'browserify:plugins' ] ) ;
348+ grunt . registerTask ( 'browserify.plugins-combined' , [ '_prep' , 'browserify:plugins-combined' ] ) ;
318349 grunt . registerTask ( 'build.test' , [ '_prep' , 'browserify:test' ] ) ;
319350 grunt . registerTask ( 'build.core' , [ 'browserify.core' , 'uglify' , 'fixSourceMaps' , 'sri:dist' ] ) ;
320- grunt . registerTask ( 'build.all' , [ 'browserify.plugins' , 'uglify' , 'fixSourceMaps' , 'sri:dist' , 'sri:build' ] ) ;
321- grunt . registerTask ( 'build' , [ 'build.all' ] ) ;
322- grunt . registerTask ( 'dist' , [ 'build.core' , 'copy:dist' ] ) ;
351+ grunt . registerTask ( 'build.plugins' , [ 'browserify.plugins' , 'uglify' , 'fixSourceMaps' , 'sri:dist' ] ) ;
352+ grunt . registerTask ( 'build.plugins-combined' , [ 'browserify.plugins-combined' , 'uglify' , 'fixSourceMaps' , 'sri:dist' , 'sri:build' ] ) ;
353+ grunt . registerTask ( 'build' , [ 'build.plugins-combined' ] ) ;
354+ grunt . registerTask ( 'dist' , [ 'build.core' , 'build.plugins' , 'copy:dist' ] ) ;
323355
324356 // Test task
325357 grunt . registerTask ( 'test' , [ 'eslint' , 'browserify.core' , 'browserify:test' , 'mocha' ] ) ;
0 commit comments