#!/bin/bash # shellcheck disable=SC1091 source scripts/hash-utils.sh function MAIN { if ! $CI; then REBUILD_ELECTRON_NATIVE_DEPS fi INSTALL_FLOW_TYPED } function INSTALL_FLOW_TYPED { LATEST_FLOW_TYPED_COMMIT_HASH=$(curl --silent --header "Accept: application/vnd.github.VERSION.sha" https://api.github.com/repos/flowtype/flow-typed/commits/master) CURRENT_FLOW_TYPED_HASH=$(GET_HASH 'flow-typed') if [ "$LATEST_FLOW_TYPED_COMMIT_HASH" == "$CURRENT_FLOW_TYPED_HASH" ]; then echo "> Flow-typed definitions are up to date. Skipping" else echo "> Installing flow-typed defs" flow-typed install -s --overwrite echo "> Removing broken flow definitions" rm flow-typed/npm/{react-i18next_v7.x.x.js,styled-components_v3.x.x.js,redux_*,winston*} SET_HASH 'flow-typed' "$LATEST_FLOW_TYPED_COMMIT_HASH" fi } function REBUILD_ELECTRON_NATIVE_DEPS { # for strange/fancy os-es if [[ $(uname) == 'Darwin' ]]; then PACKAGE_JSON_HASH=$(md5 package.json | cut -d ' ' -f 1) else # for normal os-es PACKAGE_JSON_HASH=$(md5sum package.json | cut -d ' ' -f 1) fi CACHED_PACKAGE_JSON_HASH=$(GET_HASH 'package.json') if [ "$CACHED_PACKAGE_JSON_HASH" == "$PACKAGE_JSON_HASH" ]; then echo "> Electron native deps are up to date. Skipping" else echo "> Installing electron native deps" DEBUG=electron-builder electron-builder install-app-deps SET_HASH 'package.json' "$PACKAGE_JSON_HASH" fi } MAIN