Created
May 10, 2013 13:51
-
-
Save nilsel/5554525 to your computer and use it in GitHub Desktop.
Bootstrap 2.3.x: Upgrade to latest uglify-js + update Makefile for uglify v2. Ref. https://github.com/twitter/bootstrap/pull/6965
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BOOTSTRAP = ./docs/assets/css/bootstrap.css | |
BOOTSTRAP_LESS = ./less/bootstrap.less | |
BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css | |
BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less | |
DATE=$(shell date +%I:%M%p) | |
CHECK=\033[32m✔\033[39m | |
HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# | |
# | |
# BUILD DOCS | |
# | |
build: | |
@echo "\n${HR}" | |
@echo "Building Bootstrap..." | |
@echo "${HR}\n" | |
@./node_modules/.bin/jshint js/*.js --config js/.jshintrc | |
@./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc | |
@echo "Running JSHint on javascript... ${CHECK} Done" | |
@./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > ${BOOTSTRAP} | |
@./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > ${BOOTSTRAP_RESPONSIVE} | |
@echo "Compiling LESS with Recess... ${CHECK} Done" | |
@node docs/build | |
@cp img/* docs/assets/img/ | |
@cp js/*.js docs/assets/js/ | |
@cp js/tests/vendor/jquery.js docs/assets/js/ | |
@echo "Compiling documentation... ${CHECK} Done" | |
@cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > docs/assets/js/bootstrap.js | |
@./node_modules/.bin/uglifyjs docs/assets/js/bootstrap.js > docs/assets/js/bootstrap.min.tmp.js | |
@echo "/**\n* Bootstrap.js v2.3.1 by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > docs/assets/js/copyright.js | |
@cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js > docs/assets/js/bootstrap.min.js | |
@rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js | |
@echo "Compiling and minifying javascript... ${CHECK} Done" | |
@echo "\n${HR}" | |
@echo "Bootstrap successfully built at ${DATE}." | |
@echo "${HR}\n" | |
@echo "Thanks for using Bootstrap," | |
@echo "<3 @mdo and @fat\n" | |
# | |
# RUN JSHINT & QUNIT TESTS IN PHANTOMJS | |
# | |
test: | |
./node_modules/.bin/jshint js/*.js --config js/.jshintrc | |
./node_modules/.bin/jshint js/tests/unit/*.js --config js/.jshintrc | |
node js/tests/server.js & | |
phantomjs js/tests/phantom.js "http://localhost:3000/js/tests" | |
kill -9 `cat js/tests/pid.txt` | |
rm js/tests/pid.txt | |
# | |
# CLEANS THE ROOT DIRECTORY OF PRIOR BUILDS | |
# | |
clean: | |
rm -r bootstrap | |
# | |
# BUILD SIMPLE BOOTSTRAP DIRECTORY | |
# recess & uglifyjs are required | |
# | |
bootstrap: bootstrap-img bootstrap-css bootstrap-js | |
# | |
# JS COMPILE | |
# | |
bootstrap-js: bootstrap/js/*.js | |
bootstrap/js/*.js: js/*.js | |
mkdir -p bootstrap/js | |
cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js js/bootstrap-affix.js > bootstrap/js/bootstrap.js | |
./node_modules/.bin/uglifyjs bootstrap/js/bootstrap.js > bootstrap/js/bootstrap.min.tmp.js | |
echo "/*!\n* Bootstrap.js by @fat & @mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" > bootstrap/js/copyright.js | |
cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js > bootstrap/js/bootstrap.min.js | |
rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js | |
# | |
# CSS COMPLILE | |
# | |
bootstrap-css: bootstrap/css/*.css | |
bootstrap/css/*.css: less/*.less | |
mkdir -p bootstrap/css | |
./node_modules/.bin/recess --compile ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.css | |
./node_modules/.bin/recess --compress ${BOOTSTRAP_LESS} > bootstrap/css/bootstrap.min.css | |
./node_modules/.bin/recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.css | |
./node_modules/.bin/recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} > bootstrap/css/bootstrap-responsive.min.css | |
# | |
# IMAGES | |
# | |
bootstrap-img: bootstrap/img/* | |
bootstrap/img/*: img/* | |
mkdir -p bootstrap/img | |
cp img/* bootstrap/img/ | |
# | |
# MAKE FOR GH-PAGES 4 FAT & MDO ONLY (O_O ) | |
# | |
gh-pages: bootstrap docs | |
rm -f docs/assets/bootstrap.zip | |
zip -r docs/assets/bootstrap.zip bootstrap | |
rm -r bootstrap | |
rm -f ../bootstrap-gh-pages/assets/bootstrap.zip | |
node docs/build production | |
cp -r docs/* ../bootstrap-gh-pages | |
# | |
# WATCH LESS FILES | |
# | |
watch: | |
echo "Watching less files..."; \ | |
watchr -e "watch('less/.*\.less') { system 'make' }" | |
.PHONY: docs watch gh-pages bootstrap-img bootstrap-css bootstrap-js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "bootstrap" | |
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development." | |
, "version": "2.3.1" | |
, "keywords": ["bootstrap", "css"] | |
, "homepage": "http://twitter.github.com/bootstrap/" | |
, "author": "Twitter Inc." | |
, "scripts": { "test": "make test" } | |
, "repository": { | |
"type": "git" | |
, "url": "https://github.com/twitter/bootstrap.git" | |
} | |
, "licenses": [ | |
{ | |
"type": "Apache-2.0" | |
, "url": "http://www.apache.org/licenses/LICENSE-2.0" | |
} | |
] | |
, "devDependencies": { | |
"uglify-js": "2.3.2" | |
, "jshint": "0.9.1" | |
, "recess": "1.1.6" | |
, "connect": "2.1.3" | |
, "hogan.js": "2.0.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uglify-js version 1.x does some weird things to the carousel-indicators; non-minfied works fine, but minified version does not add active-classes to the li. Weird.