mirror of
https://github.com/konvajs/konva.git
synced 2025-04-05 20:48:28 +08:00
grunt build now also builds the individually minified classes for the custom build configurator
This commit is contained in:
parent
5d1a78589a
commit
6d9adad2f5
142
Gruntfile.js
142
Gruntfile.js
@ -1,59 +1,60 @@
|
|||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
|
var sourceFiles = [
|
||||||
|
// core / anim + tween + dd
|
||||||
|
'src/Global.js',
|
||||||
|
'src/Util.js',
|
||||||
|
'src/Canvas.js',
|
||||||
|
'src/Node.js',
|
||||||
|
'src/Animation.js',
|
||||||
|
'src/Tween.js',
|
||||||
|
'src/DragAndDrop.js',
|
||||||
|
'src/Container.js',
|
||||||
|
'src/Shape.js',
|
||||||
|
'src/Stage.js',
|
||||||
|
'src/Layer.js',
|
||||||
|
'src/Group.js',
|
||||||
|
|
||||||
|
// shapes
|
||||||
|
'src/shapes/Rect.js',
|
||||||
|
'src/shapes/Circle.js',
|
||||||
|
'src/shapes/Wedge.js',
|
||||||
|
'src/shapes/Image.js',
|
||||||
|
'src/shapes/Polygon.js',
|
||||||
|
'src/shapes/Text.js',
|
||||||
|
'src/shapes/Line.js',
|
||||||
|
'src/shapes/Spline.js',
|
||||||
|
'src/shapes/Blob.js',
|
||||||
|
'src/shapes/Sprite.js',
|
||||||
|
|
||||||
|
// plugins
|
||||||
|
'src/plugins/Path.js',
|
||||||
|
'src/plugins/TextPath.js',
|
||||||
|
'src/plugins/RegularPolygon.js',
|
||||||
|
'src/plugins/Star.js',
|
||||||
|
'src/plugins/Label.js',
|
||||||
|
|
||||||
|
// filters
|
||||||
|
'src/filters/Grayscale.js',
|
||||||
|
'src/filters/Brighten.js',
|
||||||
|
'src/filters/Invert.js',
|
||||||
|
'src/filters/Blur.js',
|
||||||
|
'src/filters/Mask.js'
|
||||||
|
];
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
grunt.initConfig({
|
var config = {
|
||||||
pkg: grunt.file.readJSON('package.json'),
|
pkg: grunt.file.readJSON('package.json'),
|
||||||
concat: {
|
concat: {
|
||||||
options: {
|
options: {
|
||||||
separator: ';'
|
separator: ';'
|
||||||
},
|
},
|
||||||
dist: {
|
build: {
|
||||||
src: [
|
src: sourceFiles,
|
||||||
// core / anim + tween + dd
|
|
||||||
'src/Global.js',
|
|
||||||
'src/Util.js',
|
|
||||||
'src/Canvas.js',
|
|
||||||
'src/Node.js',
|
|
||||||
'src/Animation.js',
|
|
||||||
'src/Tween.js',
|
|
||||||
'src/DragAndDrop.js',
|
|
||||||
'src/Container.js',
|
|
||||||
'src/Shape.js',
|
|
||||||
'src/Stage.js',
|
|
||||||
'src/Layer.js',
|
|
||||||
'src/Group.js',
|
|
||||||
|
|
||||||
// shapes
|
|
||||||
'src/shapes/Rect.js',
|
|
||||||
'src/shapes/Circle.js',
|
|
||||||
'src/shapes/Wedge.js',
|
|
||||||
'src/shapes/Image.js',
|
|
||||||
'src/shapes/Polygon.js',
|
|
||||||
'src/shapes/Text.js',
|
|
||||||
'src/shapes/Line.js',
|
|
||||||
'src/shapes/Spline.js',
|
|
||||||
'src/shapes/Blob.js',
|
|
||||||
'src/shapes/Sprite.js',
|
|
||||||
|
|
||||||
// plugins
|
|
||||||
'src/plugins/Path.js',
|
|
||||||
'src/plugins/TextPath.js',
|
|
||||||
'src/plugins/RegularPolygon.js',
|
|
||||||
'src/plugins/Star.js',
|
|
||||||
'src/plugins/Label.js',
|
|
||||||
|
|
||||||
// filters
|
|
||||||
'src/filters/Grayscale.js',
|
|
||||||
'src/filters/Brighten.js',
|
|
||||||
'src/filters/Invert.js',
|
|
||||||
'src/filters/Blur.js',
|
|
||||||
'src/filters/Mask.js'
|
|
||||||
],
|
|
||||||
dest: 'dist/kinetic-v<%= pkg.version %>.js'
|
dest: 'dist/kinetic-v<%= pkg.version %>.js'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
replace: {
|
replace: {
|
||||||
dist: {
|
dev: {
|
||||||
options: {
|
options: {
|
||||||
variables: {
|
variables: {
|
||||||
version: '<%= pkg.version %>',
|
version: '<%= pkg.version %>',
|
||||||
@ -64,34 +65,59 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
prefix: '@@'
|
prefix: '@@'
|
||||||
},
|
},
|
||||||
files: [
|
|
||||||
{
|
files: [{
|
||||||
expand: true,
|
src: ['dist/kinetic-v<%= pkg.version %>.js'],
|
||||||
flatten: true,
|
dest: 'dist/kinetic-v<%= pkg.version %>.js'
|
||||||
src: ['dist/kinetic-v<%= pkg.version %>.js'],
|
}]
|
||||||
dest: 'dist/'
|
},
|
||||||
}
|
prod: {
|
||||||
]
|
options: {
|
||||||
|
variables: {
|
||||||
|
version: '<%= pkg.version %>',
|
||||||
|
},
|
||||||
|
prefix: '@@'
|
||||||
|
},
|
||||||
|
files: [{
|
||||||
|
src: ['dist/kinetic-Global-v<%= pkg.version %>.min.js'],
|
||||||
|
dest: 'dist/kinetic-Global-v<%= pkg.version %>.min.js'
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
uglify: {
|
uglify: {
|
||||||
options: {
|
options: {
|
||||||
banner: '/*! <%= pkg.name %> v<%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> http://www.kineticjs.com - MIT License https://github.com/ericdrowell/KineticJS/wiki/License*/\n'
|
banner: '/*! <%= pkg.name %> v<%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> http://www.kineticjs.com by Eric Rowell @ericdrowell - MIT License https://github.com/ericdrowell/KineticJS/wiki/License*/\n'
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
src: 'dist/kinetic-v<%= pkg.version %>.js',
|
files: {
|
||||||
dest: 'dist/kinetic-v<%= pkg.version %>.min.js'
|
'dist/kinetic-v<%= pkg.version %>.min.js': 'dist/kinetic-v<%= pkg.version %>.js'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
clean: {
|
||||||
|
build: ['dist/*']
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
|
||||||
|
|
||||||
|
for (var n=0; n<sourceFiles.length; n++) {
|
||||||
|
var inputFile = sourceFiles[n];
|
||||||
|
var className = (inputFile.match(/[-_\w]+[.][\w]+$/i)[0]).replace('.js', '');
|
||||||
|
var outputFile = 'dist/kinetic-' + className + '-v<%= pkg.version %>.min.js';
|
||||||
|
|
||||||
|
config.uglify.build.files[outputFile] = [inputFile];
|
||||||
|
}
|
||||||
|
|
||||||
|
grunt.initConfig(config);
|
||||||
|
|
||||||
// Load plugins
|
// Load plugins
|
||||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||||
grunt.loadNpmTasks('grunt-replace');
|
grunt.loadNpmTasks('grunt-replace');
|
||||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||||
|
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||||
|
|
||||||
// Tasks
|
// Tasks
|
||||||
grunt.registerTask('dev', ['concat', 'replace']);
|
grunt.registerTask('dev', ['clean', 'concat', 'replace:dev']);
|
||||||
grunt.registerTask('prod', ['concat', 'replace', 'uglify']);
|
grunt.registerTask('full', ['clean', 'concat', 'replace:dev', 'uglify', 'replace:prod']);
|
||||||
|
|
||||||
};
|
};
|
@ -7,11 +7,10 @@
|
|||||||
"grunt-contrib-nodeunit": "~0.1.2",
|
"grunt-contrib-nodeunit": "~0.1.2",
|
||||||
"grunt-contrib-uglify": "~0.2.2",
|
"grunt-contrib-uglify": "~0.2.2",
|
||||||
"grunt-contrib-concat": "~0.3.0",
|
"grunt-contrib-concat": "~0.3.0",
|
||||||
"grunt-replace": "~0.4.4"
|
"grunt-replace": "~0.4.4",
|
||||||
|
"grunt-contrib-clean": "~0.4.1"
|
||||||
},
|
},
|
||||||
"readmeFilename": "README.md",
|
"readmeFilename": "README.md",
|
||||||
"gitHead": "7b9322c15c08b3ff78f64f5cfd3e9f88850dcadc",
|
|
||||||
"description": "To build the framework, you need to have Ruby and Rubygems installed. After that, run `gem install thor`, `gem install json_pure`, and `gem install uglifier` to install the dependencies.",
|
|
||||||
"main": "Gruntfile.js",
|
"main": "Gruntfile.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
"test": "tests"
|
"test": "tests"
|
||||||
|
Loading…
Reference in New Issue
Block a user