|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
if [ ! -d node_modules ]; then
|
|
echo "[B] Run 'npm install' first"
|
|
exit 1
|
|
fi
|
|
|
|
clean() {
|
|
rm -f .babelrc
|
|
rm -rf lib/*
|
|
}
|
|
|
|
makeLib() {
|
|
echo '[B] Compiling Bottleneck to Node 6+...'
|
|
ln -s .babelrc.lib .babelrc
|
|
node_modules/coffeescript/bin/coffee --compile --bare --no-header --transpile src/*.coffee
|
|
node scripts/assemble_lua.js > lib/lua.json
|
|
mv src/*.js lib/
|
|
}
|
|
|
|
makeBundle() {
|
|
echo '[B] Compiling Bottleneck to ES5...'
|
|
ln -s .babelrc.bundle .babelrc
|
|
node_modules/coffeescript/bin/coffee --compile --bare --no-header src/*.coffee
|
|
node scripts/assemble_lua.js > lib/lua.json
|
|
mv src/*.js lib/
|
|
|
|
echo '[B] Assembling ES5 bundle...'
|
|
node_modules/rollup/bin/rollup -c rollup.config.js
|
|
}
|
|
|
|
makeTypings() {
|
|
echo '[B] Compiling and testing TS typings...'
|
|
node_modules/ejs-cli/bin/ejs-cli bottleneck.d.ts.ejs > bottleneck.d.ts
|
|
node_modules/typescript/bin/tsc --noEmit --strict test.ts
|
|
}
|
|
|
|
if [[ $1 = 'dev' ]]; then
|
|
clean
|
|
makeLib
|
|
elif [[ $1 = 'bundle' ]]; then
|
|
clean
|
|
makeBundle
|
|
else
|
|
clean
|
|
makeBundle
|
|
clean
|
|
makeLib
|
|
makeTypings
|
|
fi
|
|
|
|
rm -f .babelrc
|
|
|
|
echo '[B] Done!'
|