"use strict"; var fs = require( "fs" ); module.exports = function( Release ) { const distFiles = [ "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" ]; const filesToCommit = [ ...distFiles, "src/core.js" ]; const cdn = require( "./release/cdn" ); const dist = require( "./release/dist" ); const ensureSizzle = require( "./release/ensure-sizzle" ); const 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( "npx grunt", "Grunt command failed" ); Release.exec( "npx grunt custom:slim --filename=jquery.slim.js && " + "npx grunt remove_map_comment --filename=jquery.slim.js", "Grunt custom failed" ); cdn.makeReleaseCopies( Release ); Release._setSrcVersion(); callback( filesToCommit ); }, /** * 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, distFiles, callback ); } ); } } ); }; module.exports.dependencies = [ "archiver@5.2.0", "shelljs@0.8.4", "inquirer@8.0.0", "chalk@4.1.0" ];