The Excel alternative for SQL lovers.
You can write SQL to query and visualize gigabytes of CSV files on your local machine. Superintendent.app is a desktop application that works offline an protects your data privacy.
It works on Mac, Windows, and Linux. Please visit our website to download the app: https://superintendent.app
yarn
to install the dependencies.- run
yarn run build:watch
andyarn run start
in 2 separate windows to start Electron with hot reload. - Run tests:
yarn install
andyarn jest
.- Run specific test based on pattern:
yarn jest -t <substring>
- Run specific test based on pattern:
- Download
chromedriver
and put it in the root folder. It has to be the version134.0.6998.165
because it is compatible with the Electron version that we use.- Linux: https://storage.googleapis.com/chrome-for-testing-public/134.0.6998.165/linux64/chromedriver-linux64.zip
- Mac: https://storage.googleapis.com/chrome-for-testing-public/134.0.6998.165/mac-arm64/chromedriver-mac-arm64.zip
- Windows: https://storage.googleapis.com/chrome-for-testing-public/134.0.6998.165/win64/chromedriver-win64.zip
- Run the tests:
yarn wdio
.- Run
yarn wdio --spec ./test/specs/draft_notice.e2e.ts
to run specific tests.
- Run
We invest in having a good set of tests because it helps us maintain the application over an extended period of time.
There are 4 secrets:
./secrets/VALID_LICENSE
is for runningyarn wdio
. This is required for running tests../secrets/GLITCHTIP_URL
is for enabling the error tracking for glitchtip.com../secrets/APTABASE_KEY
is for enabling the Aptabase's telemetry../secrets/license.json
is for running the contract test on the license validation.
Run GH_TOKEN=<github_token> APPLEID=<EMAIL> APPLEIDPASS=<PASS> yarn dist:mac
You can skip the notarization (i.e. code signing) by setting: export SKIP_CODE_SIGNING=true
We can check the notarization status with: spctl -a -vvv -t install ./electron-builder/out/mac-arm64/superintendent.app
The DMG cannot be, and is not, notarized.
We currently use the Docker option of electron-builder. However, we have to use a modified Docker image due to the new yarn version. See: electron-userland/electron-builder#9040
- Download the CodeSignTool from SSL.com: https://www.ssl.com/guide/esigner-codesigntool-command-guide/
- Unzip and put it under
./scripts/CodeSignTool-v1.3.2
. - Run
chmod 755 /scripts/CodeSignTool-v1.3.2/CodeSignTool.sh
- Go to
cd ./scripts
- Run:
docker buildx build -t electronuserland/builder:wine --platform=linux/amd64 .
- Go to the project root with
cd ..
- Run tests:
npm install --force && yarn install
. - Run the below docker command (ref):
docker run --rm -ti \
--env-file <(env | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS_TAG|TRAVIS|TRAVIS_REPO_|TRAVIS_BUILD_|TRAVIS_BRANCH|TRAVIS_PULL_REQUEST_|APPVEYOR_|CSC_|GH_|GITHUB_|BT_|AWS_|STRIP|BUILD_') \
--env ELECTRON_CACHE="/root/.cache/electron" \
--env ELECTRON_BUILDER_CACHE="/root/.cache/electron-builder" \
--platform linux/amd64 \
-v ${PWD}:/project \
-v ${PWD##*/}-node-modules:/project/node_modules \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine
Now that you are in the docker console:
- Run
yarn && GH_TOKEN=<github_token> yarn dist:linux
for Linux - Run
yarn && GH_TOKEN=<github_token> SSL_USERNAME=<ssl_com_user> SSL_PASSWORD=<ssl_com_pass> yarn dist:win
for Windows
You can skip the code signing by setting: export SKIP_CODE_SIGNING=true
- Open PowerShell
- Run
powershell -command "Get-AuthenticodeSignature -FilePath \"<file>\""