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
1a13e0b1ad
commit
ac7ff97f8b
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,5 +9,5 @@ dist
|
|||||||
dist/.destination.json
|
dist/.destination.json
|
||||||
dist/.sizecache.json
|
dist/.sizecache.json
|
||||||
build/.sizecache.json
|
build/.sizecache.json
|
||||||
|
bower_modules
|
||||||
node_modules
|
node_modules
|
||||||
bower_components
|
|
@ -1,7 +1,7 @@
|
|||||||
src/intro.js
|
src/intro.js
|
||||||
src/outro.js
|
src/outro.js
|
||||||
test/qunit/**
|
|
||||||
test/data/jquery-1.9.1.js
|
test/data/jquery-1.9.1.js
|
||||||
|
bower_modules
|
||||||
test/data/badcall.js
|
test/data/badcall.js
|
||||||
test/data/badjson.js
|
test/data/badjson.js
|
||||||
test/data/json_obj.js
|
test/data/json_obj.js
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- '0.10'
|
- '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" ),
|
var gzip = require( "gzip-js" ),
|
||||||
|
path = require( "path" ),
|
||||||
srcHintOptions = readOptionalJSON( "src/.jshintrc" );
|
srcHintOptions = readOptionalJSON( "src/.jshintrc" );
|
||||||
|
|
||||||
// The concatenated file won't pass onevar
|
// The concatenated file won't pass onevar
|
||||||
@ -46,6 +47,17 @@ module.exports = function( grunt ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
bower: {
|
||||||
|
install: {
|
||||||
|
options: {
|
||||||
|
targetDir: "bower_modules",
|
||||||
|
cleanup: true,
|
||||||
|
layout: function( type ) {
|
||||||
|
return path.join( type );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
jsonlint: {
|
jsonlint: {
|
||||||
pkg: {
|
pkg: {
|
||||||
src: [ "package.json" ]
|
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
|
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
|
```bash
|
||||||
git clone git://github.com/jquery/jquery.git
|
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
|
```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:
|
Now by running `grunt` command, in the jquery directory, you could build full version of jQuery, just like with `npm run-script build` command:
|
||||||
|
|
||||||
```bash
|
|
||||||
grunt -version
|
|
||||||
bower -version
|
|
||||||
```
|
```
|
||||||
|
|
||||||
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
|
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
|
### Modules
|
||||||
|
|
||||||
@ -137,10 +135,10 @@ Running the Unit Tests
|
|||||||
Make sure you have the necessary dependencies:
|
Make sure you have the necessary dependencies:
|
||||||
|
|
||||||
```bash
|
```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
|
```bash
|
||||||
cd jquery && grunt watch
|
cd jquery && grunt watch
|
||||||
|
12
bower.json
12
bower.json
@ -19,6 +19,18 @@
|
|||||||
"requirejs": "~2.1.8",
|
"requirejs": "~2.1.8",
|
||||||
"qunit": "~1.12.0"
|
"qunit": "~1.12.0"
|
||||||
},
|
},
|
||||||
|
"exportsOverride": {
|
||||||
|
"sizzle": {
|
||||||
|
"sizzle": "."
|
||||||
|
},
|
||||||
|
|
||||||
|
"requirejs": {
|
||||||
|
"requirejs": "require.js"
|
||||||
|
},
|
||||||
|
"qunit": {
|
||||||
|
"qunit": "qunit"
|
||||||
|
}
|
||||||
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"jquery",
|
"jquery",
|
||||||
"javascript",
|
"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"
|
endFile: "src/outro.js"
|
||||||
},
|
},
|
||||||
paths: {
|
paths: {
|
||||||
sizzle: "../bower_components/sizzle/dist/sizzle"
|
sizzle: "../bower_modules/sizzle/dist/sizzle"
|
||||||
},
|
},
|
||||||
rawText: {},
|
rawText: {},
|
||||||
onBuildWrite: convert
|
onBuildWrite: convert
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"archiver": "~0.4.10",
|
"archiver": "~0.4.10",
|
||||||
"grunt": "~0.4.1",
|
"grunt": "~0.4.1",
|
||||||
|
"grunt-bower-task": "~0.3.2",
|
||||||
|
"grunt-cli": "~0.1.11",
|
||||||
"grunt-compare-size": "~0.4.0",
|
"grunt-compare-size": "~0.4.0",
|
||||||
"grunt-contrib-jshint": "~0.7.0",
|
"grunt-contrib-jshint": "~0.7.0",
|
||||||
"grunt-contrib-uglify": "~0.2.7",
|
"grunt-contrib-uglify": "~0.2.7",
|
||||||
@ -44,7 +46,11 @@
|
|||||||
"which": "~1.0.5"
|
"which": "~1.0.5"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"install": "node build/bower-install",
|
"build": "npm install && grunt",
|
||||||
|
|
||||||
|
"install": "grunt bower",
|
||||||
|
|
||||||
|
"start": "grunt watch",
|
||||||
"test": "grunt"
|
"test": "grunt"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -297,8 +297,10 @@ this.loadTests = function() {
|
|||||||
if ( dep ) {
|
if ( dep ) {
|
||||||
require( [ dep ], loadDep );
|
require( [ dep ], loadDep );
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
// Subproject tests must be last because they replace our test fixture
|
// 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
|
// Call load to build module filter select element
|
||||||
QUnit.load();
|
QUnit.load();
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
||||||
<title>jQuery Test Suite</title>
|
<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" />
|
<link rel="Stylesheet" media="screen" href="data/testsuite.css" />
|
||||||
<!-- Includes -->
|
<!-- Includes -->
|
||||||
|
|
||||||
@ -14,8 +14,8 @@
|
|||||||
-->
|
-->
|
||||||
<script src="data/jquery-1.9.1.js"></script>
|
<script src="data/jquery-1.9.1.js"></script>
|
||||||
|
|
||||||
<script src="../bower_components/qunit/qunit/qunit.js"></script>
|
<script src="../bower_modules/qunit/qunit.js"></script>
|
||||||
<script src="../bower_components/requirejs/require.js"></script>
|
<script src="../bower_modules/requirejs/require.js"></script>
|
||||||
<!-- See testinit for the list of tests -->
|
<!-- See testinit for the list of tests -->
|
||||||
<script src="data/testinit.js"></script>
|
<script src="data/testinit.js"></script>
|
||||||
|
|
||||||
|
2
test/jquery.js
vendored
2
test/jquery.js
vendored
@ -19,7 +19,7 @@
|
|||||||
require.config({
|
require.config({
|
||||||
baseUrl: path,
|
baseUrl: path,
|
||||||
paths: {
|
paths: {
|
||||||
sizzle: path + "bower_components/sizzle/dist/sizzle"
|
sizzle: path + "bower_modules/sizzle/dist/sizzle"
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
src = "src/jquery";
|
src = "src/jquery";
|
||||||
|
Loading…
Reference in New Issue
Block a user