mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Use grunt and bower packages as local dependencies. Close gh-1433.
This commit is contained in:
parent
36f00b17c2
commit
a9f5946294
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,5 +9,5 @@ dist
|
||||
dist/.destination.json
|
||||
dist/.sizecache.json
|
||||
build/.sizecache.json
|
||||
bower_modules
|
||||
node_modules
|
||||
bower_components
|
@ -1,7 +1,7 @@
|
||||
src/intro.js
|
||||
src/outro.js
|
||||
test/qunit/**
|
||||
test/data/jquery-1.9.1.js
|
||||
bower_modules
|
||||
test/data/badcall.js
|
||||
test/data/badjson.js
|
||||
test/data/json_obj.js
|
||||
|
@ -1,5 +1,3 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- '0.10'
|
||||
before_install:
|
||||
- npm install grunt-cli bower -g
|
||||
|
12
Gruntfile.js
12
Gruntfile.js
@ -10,6 +10,7 @@ module.exports = function( grunt ) {
|
||||
}
|
||||
|
||||
var gzip = require( "gzip-js" ),
|
||||
path = require( "path" ),
|
||||
srcHintOptions = readOptionalJSON( "src/.jshintrc" );
|
||||
|
||||
// The concatenated file won't pass onevar
|
||||
@ -44,6 +45,17 @@ module.exports = function( grunt ) {
|
||||
}
|
||||
}
|
||||
},
|
||||
bower: {
|
||||
install: {
|
||||
options: {
|
||||
targetDir: "bower_modules",
|
||||
cleanup: true,
|
||||
layout: function( type ) {
|
||||
return path.join( type );
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
jsonlint: {
|
||||
pkg: {
|
||||
src: [ "package.json" ]
|
||||
|
44
README.md
44
README.md
@ -29,39 +29,37 @@ if you swing that way. Easy-peasy.
|
||||
How to build your own jQuery
|
||||
----------------------------
|
||||
|
||||
First, clone a copy of the main jQuery git repo by running:
|
||||
Clone a copy of the main jQuery git repo by running:
|
||||
|
||||
```bash
|
||||
git clone git://github.com/jquery/jquery.git
|
||||
```
|
||||
|
||||
Install the [grunt-cli](http://gruntjs.com/getting-started#installing-the-cli) and [bower](http://bower.io/) packages if you haven't before. These should be done as global installs:
|
||||
|
||||
Enter the jquery directory and run the build script:
|
||||
```bash
|
||||
npm install -g grunt-cli bower
|
||||
cd jquery && npm run-script build
|
||||
```
|
||||
The built version of jQuery will be put in the `dist/` subdirectory, along with the minified copy and associated map file.
|
||||
|
||||
If you want create custom build or help with jQuery development, it would be better to install <a href="https://github.com/gruntjs/grunt-cli">grunt command line interface</a> as a global package:
|
||||
|
||||
```
|
||||
npm install -g grunt-cli
|
||||
```
|
||||
Make sure you have `grunt` installed by testing:
|
||||
```
|
||||
grunt -v
|
||||
```
|
||||
|
||||
Make sure you have `grunt` and `bower` installed by testing:
|
||||
|
||||
```bash
|
||||
grunt -version
|
||||
bower -version
|
||||
Now by running `grunt` command, in the jquery directory, you could build full version of jQuery, just like with `npm run-script build` command:
|
||||
```
|
||||
|
||||
Enter the jquery directory and install the Node and Bower dependencies, this time *without* specifying a global(-g) install:
|
||||
|
||||
```bash
|
||||
cd jquery && npm install
|
||||
```
|
||||
|
||||
Then, to get a complete, minified (w/ Uglify.js), linted (w/ JSHint) version of jQuery, type the following:
|
||||
|
||||
```bash
|
||||
grunt
|
||||
```
|
||||
|
||||
The built version of jQuery will be put in the `dist/` subdirectory, along with the minified copy and associated map file.
|
||||
|
||||
There are many other tasks avaliable for jQuery Core:
|
||||
```
|
||||
grunt -help
|
||||
```
|
||||
|
||||
### Modules
|
||||
|
||||
@ -135,10 +133,10 @@ Running the Unit Tests
|
||||
Make sure you have the necessary dependencies:
|
||||
|
||||
```bash
|
||||
bower install
|
||||
npm install
|
||||
```
|
||||
|
||||
Start `grunt watch` to auto-build jQuery as you work:
|
||||
Start `grunt watch` or `npm start` to auto-build jQuery as you work:
|
||||
|
||||
```bash
|
||||
cd jquery && grunt watch
|
||||
|
12
bower.json
12
bower.json
@ -19,6 +19,18 @@
|
||||
"requirejs": "~2.1.8",
|
||||
"qunit": "~1.12.0"
|
||||
},
|
||||
"exportsOverride": {
|
||||
"sizzle": {
|
||||
"sizzle": "."
|
||||
},
|
||||
|
||||
"requirejs": {
|
||||
"requirejs": "require.js"
|
||||
},
|
||||
"qunit": {
|
||||
"qunit": "qunit"
|
||||
}
|
||||
},
|
||||
"keywords": [
|
||||
"jquery",
|
||||
"javascript",
|
||||
|
@ -1,13 +0,0 @@
|
||||
var which = require( "which" ),
|
||||
spawn = require( "child_process" ).spawn;
|
||||
|
||||
try {
|
||||
which.sync( "bower" );
|
||||
} catch( error ) {
|
||||
console.error( "Bower must be installed to build jQuery." );
|
||||
console.error( "Please install Bower by running the following command:" );
|
||||
console.error( "npm install -g bower" );
|
||||
process.exit( 0 );
|
||||
}
|
||||
|
||||
spawn( "bower", [ "install" ], { stdio: "inherit" } );
|
@ -26,7 +26,7 @@ module.exports = function( grunt ) {
|
||||
endFile: "src/outro.js"
|
||||
},
|
||||
paths: {
|
||||
sizzle: "../bower_components/sizzle/dist/sizzle"
|
||||
sizzle: "../bower_modules/sizzle/dist/sizzle"
|
||||
},
|
||||
rawText: {},
|
||||
onBuildWrite: convert
|
||||
|
@ -31,6 +31,8 @@
|
||||
"devDependencies": {
|
||||
"archiver": "~0.4.10",
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-bower-task": "~0.3.2",
|
||||
"grunt-cli": "~0.1.11",
|
||||
"grunt-compare-size": "~0.4.0",
|
||||
"grunt-contrib-jshint": "~0.7.0",
|
||||
"grunt-contrib-uglify": "~0.2.7",
|
||||
@ -45,7 +47,11 @@
|
||||
"which": "~1.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
"install": "node build/bower-install",
|
||||
"build": "npm install && grunt",
|
||||
|
||||
"install": "grunt bower",
|
||||
|
||||
"start": "grunt watch",
|
||||
"test": "grunt"
|
||||
}
|
||||
}
|
||||
|
@ -297,8 +297,10 @@ this.loadTests = function() {
|
||||
if ( dep ) {
|
||||
require( [ dep ], loadDep );
|
||||
} else {
|
||||
|
||||
|
||||
// Subproject tests must be last because they replace our test fixture
|
||||
testSubproject( "Sizzle", "../bower_components/sizzle/test/", /^unit\/.*\.js$/, function() {
|
||||
testSubproject( "Sizzle", "../bower_modules/sizzle/test/", /^unit\/.*\.js$/, function() {
|
||||
// Call load to build module filter select element
|
||||
QUnit.load();
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
||||
<title>jQuery Test Suite</title>
|
||||
<link rel="Stylesheet" media="screen" href="../bower_components/qunit/qunit/qunit.css" />
|
||||
<link rel="Stylesheet" media="screen" href="../bower_modules/qunit/qunit.css" />
|
||||
<link rel="Stylesheet" media="screen" href="data/testsuite.css" />
|
||||
<!-- Includes -->
|
||||
|
||||
@ -14,8 +14,8 @@
|
||||
-->
|
||||
<script src="data/jquery-1.9.1.js"></script>
|
||||
|
||||
<script src="../bower_components/qunit/qunit/qunit.js"></script>
|
||||
<script src="../bower_components/requirejs/require.js"></script>
|
||||
<script src="../bower_modules/qunit/qunit.js"></script>
|
||||
<script src="../bower_modules/requirejs/require.js"></script>
|
||||
<!-- See testinit for the list of tests -->
|
||||
<script src="data/testinit.js"></script>
|
||||
|
||||
|
2
test/jquery.js
vendored
2
test/jquery.js
vendored
@ -32,7 +32,7 @@
|
||||
require.config({
|
||||
baseUrl: path,
|
||||
paths: {
|
||||
sizzle: path + "bower_components/sizzle/dist/sizzle"
|
||||
sizzle: path + "bower_modules/sizzle/dist/sizzle"
|
||||
}
|
||||
});
|
||||
src = "src/jquery";
|
||||
|
Loading…
Reference in New Issue
Block a user