aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--.jshintignore2
-rw-r--r--.travis.yml2
-rw-r--r--Gruntfile.js12
-rw-r--r--README.md38
-rw-r--r--bower.json12
-rw-r--r--build/bower-install.js13
-rw-r--r--build/tasks/build.js2
-rw-r--r--package.json8
-rw-r--r--test/data/testinit.js4
-rw-r--r--test/index.html6
-rw-r--r--test/jquery.js2
12 files changed, 59 insertions, 44 deletions
diff --git a/.gitignore b/.gitignore
index ca249a988..35b0b4e56 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,5 +9,5 @@ dist
dist/.destination.json
dist/.sizecache.json
build/.sizecache.json
+bower_modules
node_modules
-bower_components \ No newline at end of file
diff --git a/.jshintignore b/.jshintignore
index e520461f7..2df0a13dc 100644
--- a/.jshintignore
+++ b/.jshintignore
@@ -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
diff --git a/.travis.yml b/.travis.yml
index b16e41db3..35048b6bd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,3 @@
language: node_js
node_js:
- '0.10'
-before_install:
-- npm install grunt-cli bower -g
diff --git a/Gruntfile.js b/Gruntfile.js
index ccbf5301a..c1973105a 100644
--- a/Gruntfile.js
+++ b/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
@@ -46,6 +47,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" ]
diff --git a/README.md b/README.md
index c751ccb08..6878bed81 100644
--- a/README.md
+++ b/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.
-Make sure you have `grunt` and `bower` installed by testing:
+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:
-```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
+npm install -g grunt-cli
+```
+Make sure you have `grunt` installed by testing:
+```
+grunt -v
```
-Then, to get a complete, minified (w/ Uglify.js), linted (w/ JSHint) version of jQuery, type the following:
-
-```bash
+Now by running `grunt` command, in the jquery directory, you could build full version of jQuery, just like with `npm run-script build` command:
+```
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
@@ -137,10 +135,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
diff --git a/bower.json b/bower.json
index a2d0ae1a6..9188ad4d3 100644
--- a/bower.json
+++ b/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",
diff --git a/build/bower-install.js b/build/bower-install.js
deleted file mode 100644
index 6114c4975..000000000
--- a/build/bower-install.js
+++ /dev/null
@@ -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" } );
diff --git a/build/tasks/build.js b/build/tasks/build.js
index 38f60bee4..55ccbe860 100644
--- a/build/tasks/build.js
+++ b/build/tasks/build.js
@@ -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
diff --git a/package.json b/package.json
index 93b42b4d8..7add8435e 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,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",
@@ -44,7 +46,11 @@
"which": "~1.0.5"
},
"scripts": {
- "install": "node build/bower-install",
+ "build": "npm install && grunt",
+
+ "install": "grunt bower",
+
+ "start": "grunt watch",
"test": "grunt"
}
}
diff --git a/test/data/testinit.js b/test/data/testinit.js
index d4b2abc16..3d4b723af 100644
--- a/test/data/testinit.js
+++ b/test/data/testinit.js
@@ -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();
diff --git a/test/index.html b/test/index.html
index 2438d5804..acf4eb473 100644
--- a/test/index.html
+++ b/test/index.html
@@ -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>
diff --git a/test/jquery.js b/test/jquery.js
index cad14f3b1..9921aca7c 100644
--- a/test/jquery.js
+++ b/test/jquery.js
@@ -19,7 +19,7 @@
require.config({
baseUrl: path,
paths: {
- sizzle: path + "bower_components/sizzle/dist/sizzle"
+ sizzle: path + "bower_modules/sizzle/dist/sizzle"
}
});
src = "src/jquery";