* Update shellcheck files to include non ".sh" files having the sh shebang * Add shellcheck to root Makefile * `make shellcheck_fix` * Add shellcheck to server-ce and server-pro * Exclude SC1091 (Not following) in SP/CE * Fix errors in SP * Fix errors in CE * Update root shellcheck to ignore all failing rules. We can later remove rules one by one. * Add shellcheck to web * Add shellcheck step for server-ce and server-pro in cloudbuild.yaml * Revert "Add shellcheck to root Makefile" This reverts commit e0fa56f2 * Revert "`make shellcheck_fix`" This reverts commit eb179245c109a9e742a7fdeeb75a4bdd03963587. * `make shellcheck_fix` in server-ce * Fix: Use $(...) notation instead of legacy backticked ``` In init_scripts/100_set_docker_host_ipaddress.sh line 5: echo "`route -n | awk '/UG[ \t]/{print $2}'` dockerhost" >> /etc/hosts ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Did you mean: echo "$(route -n | awk '/UG[ \t]/{print $2}') dockerhost" >> /etc/hosts For more information: https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le... ``` * `make shellcheck_fix` in web * Manual corrections on autofix * Update SHELLCHECK_FILES to Perl regex so it matches at start of file GitOrigin-RevId: 815d53f319a3792efa22703beb75570de5977450 |
||
---|---|---|
.. | ||
app/js | ||
config | ||
scripts | ||
test | ||
.eslintignore | ||
.gitignore | ||
.mocharc.json | ||
.nvmrc | ||
app.js | ||
buildscript.txt | ||
docker-compose.ci.yml | ||
docker-compose.yml | ||
Dockerfile | ||
Makefile | ||
package.json | ||
README.md | ||
tsconfig.json |
@overleaf/project-history
An API for converting raw editor updates into a compressed and browseable history.
Running project-history
The app runs natively using npm and Node on the local system:
npm install
npm run start
Unit Tests
The test suites run in Docker.
Unit tests can be run in the test_unit
container defined in docker-compose.tests.yml
.
The makefile contains a short cut to run these:
make install # Only needs running once, or when npm packages are updated
make test_unit
During development it is often useful to only run a subset of tests, which can be configured with arguments to the mocha CLI:
make test_unit MOCHA_ARGS='--grep=AuthorizationManager'
Acceptance Tests
Acceptance tests are run against a live service, which runs in the acceptance_test
container defined in docker-compose.tests.yml
.
To run the tests out-of-the-box, the makefile defines:
make install # Only needs running once, or when npm packages are updated
make test_acceptance
However, during development it is often useful to leave the service running for rapid iteration on the acceptance tests. This can be done with:
make test_acceptance_start_service
make test_acceptance_run # Run as many times as needed during development
make test_acceptance_stop_service
make test_acceptance
just runs these three commands in sequence.
During development it is often useful to only run a subset of tests, which can be configured with arguments to the mocha CLI:
make test_acceptance_run MOCHA_ARGS='--grep=AuthorizationManager'
Makefile and npm scripts
The commands used to compile the app and tests, to run the mocha tests, and to run the app are all in package.json
. These commands call out to coffee
, mocha
, etc which are available to npm
in the local node_modules/.bin
directory, using the local versions. Normally, these commands should not be run directly, but instead run in docker via make.
The makefile contains a collection of shortcuts for running the npm scripts inside the appropriate docker containers, using the docker-compose
files in the project.
Copyright (c) Overleaf, 2017-2021.