Build: try insight package to get info about custom builds

Fixes gh-2890
Closes gh-2988
This commit is contained in:
Oleg Gaidarenko
2016-03-12 17:48:37 +03:00
parent 0c1f72667d
commit 055cb7534e
2 changed files with 42 additions and 2 deletions

View File

@@ -10,6 +10,8 @@ module.exports = function( grunt ) {
var fs = require( "fs" ),
requirejs = require( "requirejs" ),
Insight = require( "insight" ),
pkg = require( "../../package.json" ),
srcFolder = __dirname + "/../../src/",
rdefineEnd = /\}\s*?\);[^}\w]*$/,
read = function( fileName ) {
@@ -312,10 +314,47 @@ module.exports = function( grunt ) {
// grunt build:*:*:+ajax:-dimensions:-effects:-offset
grunt.registerTask( "custom", function() {
var args = this.args,
modules = args.length ? args[ 0 ].replace( /,/g, ":" ) : "";
modules = args.length ? args[ 0 ].replace( /,/g, ":" ) : "",
done = this.async(),
insight = new Insight( {
trackingCode: "UA-1076265-4",
pkg: pkg
} );
function exec( trackingAllowed ) {
var tracks = args.length ? args[ 0 ].split( "," ) : [];
var defaultPath = [ "build", "custom" ];
tracks = tracks.map( function( track ) {
return track.replace( /\//g, "+" );
} );
if ( trackingAllowed ) {
// Track individuals
tracks.forEach( function( module ) {
var path = defaultPath.concat( [ "individual" ], module );
insight.track.apply( insight, path );
} );
// Track full command
insight.track.apply( insight, defaultPath.concat( [ "full" ], tracks ) );
}
grunt.task.run( [ "build:*:*" + ( modules ? ":" + modules : "" ), "uglify", "dist" ] );
done();
}
grunt.log.writeln( "Creating custom build...\n" );
grunt.task.run( [ "build:*:*" + ( modules ? ":" + modules : "" ), "uglify", "dist" ] );
// Ask for permission the first time
if ( insight.optOut === undefined ) {
insight.askPermission( null, function( error, result ) {
exec( result );
} );
} else {
exec( !insight.optOut );
}
} );
};

View File

@@ -43,6 +43,7 @@
"grunt-npmcopy": "0.1.0",
"gzip-js": "0.3.2",
"husky": "0.11.3",
"insight": "0.7.0",
"jsdom": "5.6.1",
"load-grunt-tasks": "3.4.0",
"native-promise-only": "0.8.1",