mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 05:36:38 +08:00
52 lines
1.5 KiB
Ruby
52 lines
1.5 KiB
Ruby
require 'json/pure'
|
|
|
|
class Build < Thor
|
|
# This is the list of files to concatenate. The first file will appear at the top of the final file. All files are relative to the lib directory.
|
|
FILES = [
|
|
"license.js", "src/GlobalObject.js", "src/Node.js", "src/Container.js", "src/Stage.js",
|
|
"src/Layer.js", "src/Group.js", "src/geometries/Shape.js", "src/geometries/Rect.js", "src/geometries/Circle.js", "src/geometries/Image.js",
|
|
"src/geometries/Polygon.js", "src/geometries/RegularPolygon.js", "src/geometries/Star.js", "src/geometries/Text.js"
|
|
]
|
|
|
|
desc "dev", "Concatenate all the js files into /dist/kinetic.js."
|
|
def dev
|
|
puts ":: Building the file /dist/kinetic.js..."
|
|
File.open("dist/kinetic.js", "w") do |file|
|
|
file.puts concatenate()
|
|
end
|
|
puts " -> Done!"
|
|
end
|
|
|
|
desc "prod", "Concatenate all the js files in into /dist/kinetic.min.js and minify it."
|
|
def prod
|
|
puts ":: Building the file /dist/kinetic.min.js..."
|
|
require 'json/pure'
|
|
require 'uglifier'
|
|
File.open("dist/kinetic.min.js", "w") do |file|
|
|
uglify = Uglifier.compile(concatenate())
|
|
uglify.sub!(/\*\/ .+ \*\//xm, "*/")
|
|
file.puts uglify
|
|
end
|
|
puts ":: Minifying the file /dist/kinetic.min.js..."
|
|
puts " -> Done!"
|
|
end
|
|
|
|
desc "all", "Build the development and the production files."
|
|
def all
|
|
invoke :dev
|
|
invoke :prod
|
|
end
|
|
|
|
private
|
|
|
|
def concatenate
|
|
content = ""
|
|
FILES.each do |file|
|
|
content << IO.read(File.expand_path(file)) << "\n"
|
|
end
|
|
|
|
return content
|
|
end
|
|
end
|
|
|