mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
First iteration on grunt-based build. lint, qunit, concat, min and zip all work, but all have various limiations.
This commit is contained in:
parent
3e8ec7eb6b
commit
69dcb76e6b
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,6 +1,8 @@
|
|||||||
build/dist
|
build/dist
|
||||||
build/size
|
build/size
|
||||||
build/build/.sizecache.json
|
build/build/.sizecache.json
|
||||||
|
dist
|
||||||
|
node_modules
|
||||||
docs
|
docs
|
||||||
.project
|
.project
|
||||||
*~
|
*~
|
||||||
|
99
grunt.js
Normal file
99
grunt.js
Normal file
@ -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');
|
33
package.json
Normal file
33
package.json
Normal file
@ -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": []
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user