Build script
This commit is contained in:
@@ -1,19 +1,43 @@
|
||||
JSX = ./node_modules/react-tools/bin/jsx
|
||||
UGLIFY = ./node_modules/uglify-js/bin/uglifyjs
|
||||
CLEANCSS = ./node_modules/clean-css/bin/cleancss
|
||||
|
||||
cloc:
|
||||
cloc . --exclude-dir=app/bower_components,app/scripts/.module-cache
|
||||
|
||||
static:
|
||||
$(UGLIFY) \
|
||||
app/bower_components/react/react.min.js \
|
||||
app/bower_components/react-router/build/global/ReactRouter.min.js \
|
||||
app/bower_components/lodash/lodash.min.js \
|
||||
app/js/* \
|
||||
app/jsx/build/charts/* \
|
||||
app/jsx/build/app.js \
|
||||
> build/app.js
|
||||
cat \
|
||||
app/bower_components/normalize.css/normalize.css \
|
||||
app/css/* \
|
||||
dist:
|
||||
# Compiling JSX
|
||||
mkdir -p build
|
||||
rm -rf app/jsx/build
|
||||
$(JSX) --extension jsx app/jsx app/jsx/build
|
||||
|
||||
# Compressing JS
|
||||
cat app/index.html \
|
||||
| grep script \
|
||||
| grep -v bower \
|
||||
| cut -d '"' -f 2 \
|
||||
| sed -e 's/^/app/' \
|
||||
| ( echo app/bower_components/react/react.min.js && \
|
||||
echo app/bower_components/react-router/build/global/ReactRouter.min.js && \
|
||||
echo app/bower_components/lodash/lodash.min.js && \
|
||||
cat ) \
|
||||
| xargs cat \
|
||||
| $(UGLIFY) > build/app.js
|
||||
|
||||
# Compressing CSS
|
||||
cat app/index.html \
|
||||
| grep stylesheet \
|
||||
| grep -v http \
|
||||
| cut -d '"' -f 4 \
|
||||
| sed -e 's/^/app/' \
|
||||
| xargs cat \
|
||||
| $(CLEANCSS) -o build/app.css
|
||||
|
||||
# Replacing all link tags with a single one
|
||||
# Replacing all script tags with a single one
|
||||
cat app/index.html \
|
||||
| perl -pe 's/<link.*>\n/STYLE_TAG/g' \
|
||||
| perl -pe 's/(STYLE_TAG\s*)+/<link rel="stylesheet" href="\/app.css">\n /g' \
|
||||
| perl -pe 's/<script.*>\n/SCRIPT_TAG/g' \
|
||||
| perl -pe 's/(SCRIPT_TAG\s*)+/<script type="text\/javascript" src="\/app.js"><\/script>\n/g' \
|
||||
> build/index.html
|
||||
|
||||
Reference in New Issue
Block a user