Files
test-repo/scripts/build/build.sh
T
Lucas Azzola eccb17495a Website: speed up load time, enable service worker (#2172)
* feat(website): speed up website load 💥

* chore(package): fix bad merge
2017-06-18 20:25:27 +10:00

73 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname "$0")";
cd ../..;
rm -Rf dist/ docs/lib/
mkdir -p docs/lib/
## --- Lib ---
echo 'Bundling lib index...';
node_modules/.bin/rollup -c scripts/build/rollup.index.config.js
echo 'Bundling lib bin...';
node_modules/.bin/rollup -c scripts/build/rollup.bin.config.js
chmod +x ./dist/bin/prettier.js
for parser in babylon flow graphql typescript parse5 json; do
echo "Bundling lib $parser...";
node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:$parser
done
echo 'Bundling lib postcss...';
# PostCSS has dependency cycles and won't work correctly with rollup :(
./node_modules/.bin/webpack --hide-modules src/parser-postcss.js dist/parser-postcss.js
# Prepend module.exports =
echo "module.exports =" > dist/parser-postcss.js.tmp
cat dist/parser-postcss.js >> dist/parser-postcss.js.tmp
mv dist/parser-postcss.js.tmp dist/parser-postcss.js
echo;
## --- Docs ---
echo 'Bundling docs index...';
cp dist/index.js docs/lib/index.js
node_modules/babel-cli/bin/babel.js dist/index.js --out-file docs/lib/index.js --presets=es2015
echo 'Bundling docs babylon...';
node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-babylon.js
node_modules/babel-cli/bin/babel.js docs/lib/parser-babylon.js --out-file docs/lib/parser-babylon.js --presets=es2015
for parser in flow graphql typescript postcss parse5 json; do
echo "Bundling docs $parser...";
node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-$parser.js
done
echo;
## --- Misc ---
echo 'Remove eval'
sed --in-place='' -e 's/eval("require")/require/g' dist/index.js dist/bin/prettier.js
echo 'Create prettier-version.js'
node -p '`prettierVersion = "${require(".").version}";`' > docs/lib/prettier-version.js
echo 'Copy sw-toolbox.js to docs'
cp node_modules/sw-toolbox/sw-toolbox.js docs/lib/sw-toolbox.js
cp node_modules/sw-toolbox/companion.js docs/lib/sw-toolbox-companion.js
echo 'Copy package.json'
node -p "pkg = require('./package.json'), delete pkg.dependencies, JSON.stringify(pkg, null, 2)" > dist/package.json
echo 'Done!'
echo;
echo 'How to test against dist:'
echo ' 1) yarn test --prod'
echo;
echo 'How to publish:'
echo ' 1) IMPORTANT!!! Go to dist/'
echo ' 2) npm publish'