dist/.destination.json
dist/.sizecache.json
build/.sizecache.json
+bower_modules
node_modules
-bower_components
\ No newline at end of file
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
language: node_js
node_js:
- '0.10'
-before_install:
-- npm install grunt-cli bower -g
}
var gzip = require( "gzip-js" ),
+ path = require( "path" ),
srcHintOptions = readOptionalJSON( "src/.jshintrc" );
// The concatenated file won't pass onevar
}
}
},
+ bower: {
+ install: {
+ options: {
+ targetDir: "bower_modules",
+ cleanup: true,
+ layout: function( type ) {
+ return path.join( type );
+ }
+ }
+ }
+ },
jsonlint: {
pkg: {
src: [ "package.json" ]
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
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
"requirejs": "~2.1.8",
"qunit": "~1.12.0"
},
+ "exportsOverride": {
+ "sizzle": {
+ "sizzle": "."
+ },
+
+ "requirejs": {
+ "requirejs": "require.js"
+ },
+ "qunit": {
+ "qunit": "qunit"
+ }
+ },
"keywords": [
"jquery",
"javascript",
+++ /dev/null
-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" } );
endFile: "src/outro.js"
},
paths: {
- sizzle: "../bower_components/sizzle/dist/sizzle"
+ sizzle: "../bower_modules/sizzle/dist/sizzle"
},
rawText: {},
onBuildWrite: convert
"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",
"which": "~1.0.5"
},
"scripts": {
- "install": "node build/bower-install",
+ "build": "npm install && grunt",
+
+ "install": "grunt bower",
+
+ "start": "grunt watch",
"test": "grunt"
}
}
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();
<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 -->
-->
<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>
require.config({
baseUrl: path,
paths: {
- sizzle: path + "bower_components/sizzle/dist/sizzle"
+ sizzle: path + "bower_modules/sizzle/dist/sizzle"
}
});
src = "src/jquery";