Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

First iteration on grunt-based build. lint, qunit, concat, min and zi…

…p all work, but all have various limiations.
  • Loading branch information...
commit 69dcb76e6b4095f221dbe63e8658a18594a39d83 1 parent 3e8ec7e
@jzaefferer jzaefferer authored
Showing with 134 additions and 0 deletions.
  1. +2 −0  .gitignore
  2. +99 −0 grunt.js
  3. +33 −0 package.json
View
2  .gitignore
@@ -1,6 +1,8 @@
build/dist
build/size
build/build/.sizecache.json
+dist
+node_modules
docs
.project
*~
View
99 grunt.js
@@ -0,0 +1,99 @@
+/*global config:true, task:true*/
+var coreFiles = 'jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.effects.core.js'.split(', ');
+config.init({
+ pkg: '<json:package.json>',
+ meta: {
+ banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
+ '<%= template.today("m/d/yyyy") %>\n' +
+ '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
+ '* Copyright (c) <%= template.today("yyyy") %> <%= pkg.author.name %>;' +
+ ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
+ },
+ concat: {
+ // 'dist/ui/jquery-ui.js': ['<banner>', '<file_strip_banner:ui/*.js>']
+ 'dist/jquery-ui.js': coreFiles.map(function(file) {
+ return 'ui/' + file;
+ }).concat(file.expand('ui/*.js').filter(function(file) {
+ return coreFiles.indexOf(file.substring(3)) === -1;
+ }))
+ },
+ min: {
+ 'dist/jquery-ui.min.js': ['<banner>', 'dist/jquery-ui.js']
+ },
+ zip: {
+ dist: {
+ src: [
+ 'dist/**/*.js',
+ 'README.md',
+ 'grunt.js',
+ 'package.json',
+ 'ui/**/*',
+ 'demos/**/*',
+ 'themes/**/*',
+ 'external/**/*',
+ 'tests/**/*'
+ ],
+ dest: 'dist/<%= pkg.name %>-<%= pkg.version %>.zip'
+ }
+ },
+ qunit: {
+ files: file.expand('tests/unit/**/*.html').filter(function(file) {
+ // disabling everything that doesn't (quite) work with PhantomJS for now
+ // except for all|index|test, try to include more as we go
+ return !(/(all|index|test|draggable|droppable|selectable|resizable|sortable|dialog|slider|datepicker|tabs|tabs_deprecated)\.html/).test(file);
+ })
+ },
+ lint: {
+ // TODO extend this to tests
+ files: ['ui/*']
+ },
+ jshint: {
+ options: {
+ curly: true,
+ eqeqeq: true,
+ immed: true,
+ latedef: true,
+ newcap: true,
+ noarg: true,
+ sub: true,
+ undef: true,
+ eqnull: true,
+ browser: true
+ },
+ globals: {
+ jQuery: true
+ }
+ }
+});
+
+task.registerBasicTask('zip', 'Create a zip file for release', function(data) {
+ var files = file.expand(data.src);
+ log.writeln("Creating zip file " + data.dest);
+
+ var done = this.async();
+
+ var zipstream = require('zipstream');
+ var fs = require('fs');
+
+ var out = fs.createWriteStream(data.dest);
+ var zip = zipstream.createZip({ level: 1 });
+
+ zip.pipe(out);
+
+ function addFile() {
+ if (!files.length) {
+ zip.finalize(function(written) {
+ log.writeln(written + ' total bytes written');
+ done();
+ });
+ return;
+ }
+ var file = files.shift();
+ log.verbose.writeln('Zipping ' + file);
+ zip.addFile(fs.createReadStream(file), { name: file }, addFile);
+ }
+ addFile();
+});
+
+task.registerTask('default', 'lint qunit');
+task.registerTask('release', 'default concat min zip');
View
33 package.json
@@ -0,0 +1,33 @@
+{
+ "name": "jquery-ui",
+ "title": "jQuery UI",
+ "description": "Abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.",
+ "version": "1.9.0pre",
+ "homepage": "https://github.com/jquery/jquery-ui",
+ "author": {
+ "name": "AUTHORS.txt"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jquery/jquery-ui.git"
+ },
+ "bugs": {
+ "url": "http://bugs.jqueryui.com/"
+ },
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/MIT"
+ },
+ {
+ "type": "GPL",
+ "url": "http://www.opensource.org/licenses/GPL-2.0"
+ }
+ ],
+ "dependencies": {},
+ "devDependencies": {
+ "grunt": "0.2.x",
+ "zipstream": "0.2.x"
+ },
+ "keywords": []
+}
Please sign in to comment.
Something went wrong with that request. Please try again.