jquery/build/release.js
2017-03-15 14:57:20 -04:00

91 lines
2.2 KiB
JavaScript

var fs = require( "fs" );
module.exports = function( Release ) {
var
files = [
"dist/jquery.js",
"dist/jquery.min.js",
"dist/jquery.min.map",
"dist/jquery.slim.js",
"dist/jquery.slim.min.js",
"dist/jquery.slim.min.map",
"src/core.js"
],
cdn = require( "./release/cdn" ),
dist = require( "./release/dist" ),
ensureSizzle = require( "./release/ensure-sizzle" ),
npmTags = Release.npmTags;
Release.define( {
npmPublish: true,
issueTracker: "github",
/**
* Ensure the repo is in a proper state before release
* @param {Function} callback
*/
checkRepoState: function( callback ) {
ensureSizzle( Release, callback );
},
/**
* Set the version in the src folder for distributing AMD
*/
_setSrcVersion: function() {
var corePath = __dirname + "/../src/core.js",
contents = fs.readFileSync( corePath, "utf8" );
contents = contents.replace( /@VERSION/g, Release.newVersion );
fs.writeFileSync( corePath, contents, "utf8" );
},
/**
* Generates any release artifacts that should be included in the release.
* The callback must be invoked with an array of files that should be
* committed before creating the tag.
* @param {Function} callback
*/
generateArtifacts: function( callback ) {
Release.exec( "grunt", "Grunt command failed" );
Release.exec(
"grunt custom:-ajax,-effects --filename=jquery.slim.js && " +
"grunt remove_map_comment --filename=jquery.slim.js",
"Grunt custom failed"
);
cdn.makeReleaseCopies( Release );
Release._setSrcVersion();
callback( files );
},
/**
* Acts as insertion point for restoring Release.dir.repo
* It was changed to reuse npm publish code in jquery-release
* for publishing the distribution repo instead
*/
npmTags: function() {
// origRepo is not defined if dist was skipped
Release.dir.repo = Release.dir.origRepo || Release.dir.repo;
return npmTags();
},
/**
* Publish to distribution repo and npm
* @param {Function} callback
*/
dist: function( callback ) {
cdn.makeArchives( Release, function() {
dist( Release, files, callback );
} );
}
} );
};
module.exports.dependencies = [
"archiver@1.3.0",
"shelljs@0.7.7",
"npm@4.4.1",
"chalk@1.1.3"
];