pkg.sh 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. SQLITEVERSION=$(npm show sqlite3 version)
  2. NAPI=$(node -e "console.log(process.versions.modules)")
  3. NVERSION=$(node -e "console.log(process.versions.node)" | cut -d. -f1)
  4. # Build app
  5. echo "Building app from flowtyped to strict javascript"
  6. npm run build
  7. # Remove old builds
  8. echo "Removing old builds"
  9. rm -r builds 2> /dev/null
  10. # Create folders for completed builds
  11. echo "Preparing folders"
  12. mkdir -p builds/linux
  13. mkdir builds/windows
  14. mkdir builds/macos
  15. # Build js files for 3 platforms
  16. echo "Building exectuables from javascript"
  17. ./node_modules/.bin/pkg \
  18. -t "node$NVERSION-linux-x64,node$NVERSION-windows-x64,node$NVERSION-mac-x64" \
  19. --output builds/totify \
  20. package.json
  21. # Move executables to separate folders
  22. echo "Moving executables to separate folder"
  23. mv builds/totify-linux builds/linux/totify
  24. mv builds/totify-macos builds/macos/totify
  25. mv builds/totify-win.exe builds/windows/totify
  26. # Download correct version of sqlite prebuild grep
  27. # rm -r tmp 2> /dev/null
  28. echo "Creating tmp folders for cached download"
  29. mkdir tmp 2> /dev/null
  30. cd tmp
  31. echo "Downloading missing sqlite's native dependencies"
  32. if [ ! -e $NAPI-win32.tar.gz ]; then
  33. echo "Downloading win32 sqlite"
  34. curl "https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v$SQLITEVERSION/node-v$NAPI-win32-x64.tar.gz" -o $NAPI-win32.tar.gz > /dev/null
  35. fi
  36. if [ ! -e $NAPI-linux.tar.gz ]; then
  37. echo "Downloading linux sqlite"
  38. curl "https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v$SQLITEVERSION/node-v$NAPI-linux-x64.tar.gz" -o $NAPI-linux.tar.gz > /dev/null
  39. fi
  40. if [ ! -e $NAPI-mac.tar.gz ]; then
  41. echo "Downloading mac sqlite"
  42. curl "https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v$SQLITEVERSION/node-v$NAPI-darwin-x64.tar.gz" -o $NAPI-mac.tar.gz > /dev/null
  43. fi
  44. echo "Extracting deps to separate folders"
  45. for name in *.tar.gz
  46. do
  47. OP=$(echo $name | cut -d. -f1)
  48. tar -xOf $name > "$OP-node_sqlite3.node"
  49. done;
  50. if [ -e $NAPI-mac-node_sqlite3.node ]; then
  51. mv $NAPI-mac-node_sqlite3.node ../builds/macos/node_sqlite3.node
  52. fi
  53. if [ -e $NAPI-win32-node_sqlite3.node ]; then
  54. mv $NAPI-win32-node_sqlite3.node ../builds/windows/node_sqlite3.node
  55. fi
  56. if [ -e $NAPI-linux-node_sqlite3.node ]; then
  57. mv $NAPI-linux-node_sqlite3.node ../builds/linux/node_sqlite3.node
  58. fi
  59. # pkg \
  60. # -t latest-linux-x64,latest-windows-x64,latest-mac-x64 \
  61. # --out-path builds \
  62. # --c pkg.json \
  63. # dst/index.js