mirror of
https://github.com/jquery/jquery.git
synced 2024-12-09 08:04:24 +00:00
6306ca4994
This commit removes Sizzle from jQuery, inlining its code & removing obsolete workarounds where applicable. The Sizzle AUTHORS.txt file has been merged with the jQuery one - people are sorted by their first contributions to either of the two repositories. The main `selector` module can be disabled in favor of `selector-native` via: grunt custom:-selector For backwards compatibility, the legacy `sizzle` alias is also supported (it will be dropped in jQuery `4.0.0`): grunt custom:-selector Sizzle tests have been ported to jQuery ones. Ones that are not compatible with the `selector-native` module are disabled if the regular selector module is excluded. Backwards compatibility is still kept for all `Sizzle` utils - they continue to be available under `jQuery.find` - but the primary implementation is now attached directly to jQuery. Some selector utils shared by `selector` & `selector-native` have been extracted & deduplicated. `jQuery.text` and `jQuery.isXMLDoc` have been moved to the `core` module. The commit reduces the gzipped jQuery size by 851 bytes compared to the `3.x-stable` branch. Closes gh-5113 Ref gh-4395 Ref gh-4406
86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
"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 npmTags = Release.npmTags;
|
|
|
|
Release.define( {
|
|
npmPublish: true,
|
|
issueTracker: "github",
|
|
|
|
/**
|
|
* 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"
|
|
];
|