| "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" | |
| ]; |