Commit Graph

100 Commits

Author SHA1 Message Date
Anna Claire Fields
0d64a88a46 Yarn 4 Migration (#32253)
Migrates the Overleaf monorepo package manager from npm (v11) to Yarn 4 (v4.9.1) using node-modules linker mode.

GitOrigin-RevId: 50d32ab01955c15e29679eff9e9e9cfb897fab2d
2026-04-28 08:52:37 +00:00
Andrew Rumble
bddc1d3fab Merge pull request #32906 from overleaf/ar-upgrade-protobufjs-7.5.5
[monorepo] upgrade protobufjs 7.5.5

GitOrigin-RevId: 7a8038737f8160e55031fa0365242f22c2dd97f5
2026-04-22 08:05:45 +00:00
Andrew Rumble
d8f9a643cd Merge pull request #31794 from overleaf/ar-prefer-dedupe-when-installing-npm-modules
[monorepo] use prefer-dedupe when installing npm modules

GitOrigin-RevId: de814fa1e91e37a20cb4024f8aa0454e5e86f0a6
2026-03-06 09:08:46 +00:00
Jakob Ackermann
fd647002f5 [monorepo] enable caching for eslint and prettier (#30967)
* [monorepo] enable caching for eslint/prettier/stylelint

* [monorepo] speed up prettier by swapping --list-different for --check

--list-different will print each file that it processes. We have a lot
of files in the monorepo. Using --check only prints mismatching files.

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [monorepo] explicitly configure prettier cache-location

This is the default location. Prettier will only discover that location
if the top level node_modules folder is writable, which is not the case
in CI. We create the .cache folder outside of docker, writable to node
inside docker.

The proper fix would be in prettier, to only check for write access in
the cache folder. Something to raise/upstream another day.

* [monorepo] run top-level format/format_fix in a single container

With the cache in place, it is much faster to use a single container.
As there is a single shared cache file, concurrent processes may see a
partially (re-)written cache file and bail out.

- all in a single container: 24s
- previous with -j4: 41s
- previous with -j8: failed due to corrupted cache file

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 7850a3a980ae6c836393d97fe56a6316ffc3fa18
2026-02-06 09:05:44 +00:00
Rebeka Dekany
a648015db8 Centralize prettier configuration to root level (#30501)
* Merge all .prettierignore files into top-level config

* Merge all .prettierrc files into top-level config

* Replace service-specific glob patterns in package.json format scripts with `prettier .`

* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore

* Ignore GitHub templates

* Ignore PUG templates to format them separately with `format:pug`

* Encourage double quotes for YAML, YML files

* Move prettier for PUG source format script to the root

* Move prettier for styles source format script to the root

* Remove prettier for jenkins files from web

* Remove prettier source format script from all services

* Make .prettierrc more readable

* Update format scripts by file type

* Organise `.prettierignore`

* Add `--cache` flag to prettier scripts for faster runs

* Format all files with prettier

* Format all or format services

* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`

* Avoid conlficts with yamllint configuration

* Remove `--cache` flag from prettier scripts

* Update all service Makefiles to use root-level prettier configuration

* Update all Jenkinsfile to use root-level prettier configuration

* Ignore auto-generated files by build_scripts

* Update package-lock.json

* Update root Makefile format targets

* Update SP Jenkinsfile format target

* Update E2E Makefile format script

* Udpate `format_js` to work in both local and CI env

* Add docker-mailtrap to .prettierignore

docker-mailtrap is a third-party git-ignored directory used for testing

* Added Docker env detection to prevent nested Docker spawning

* Ignore handlebars templates

* Add cryptographic files and test output to `.prettierignore`

* Add terraform modules to `.gitignore`

* Remove prettier-plugin-groovy

* Use npx directly instead of Docker for local formatting for faster formatting

* Auto-generate Makefiles

* Revert "Remove prettier-plugin-groovy"

This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.

* Mount monorepo root in RUN_LINT_FORMAT for prettier config access

* Prettier ignores all `node_modules` by default regardless of location

* Show only changed files in format output

* Ignore LICENSE files

* Enable prettier on rendered build_scripts outputs

* Ignoring all the template folders by prettier

* Remove the public/minjs entry since it does not exist

* Remove all non-existent paths

* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files

* Revert "Auto-generate Makefiles"

This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.

* Revert "Use npx directly instead of Docker for local formatting for faster formatting"

This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.

* Ignore dashboard JSON files

* Ignore files generated by bin/update_build_scripts

* Remove unsupported file types from `.prettierignore`

* Ignore test fixture generated files

* Ignore README file types by prettier

* Ignore generate snapshots by prettier

* Allow to format generated bin/update_build_scripts by prettier

* Ensure build script outputs prettier-compatible tsconfig.json

* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double

* Don't read cryptographic files by prettier

* Ignore google verification files by prettier

* Revert npx prettier formatting

* Ignore domain verification files

* Show only changed files in format output

* Make `.github` prettier

* Allow all files to be formatted in jobs by prettier

* Allow server-ce/server-pro files to be formatted by prettier

* Ignore more folders in clsi, filestory, git-bridge by prettier

* Update build script with `RUN_LINTING_CI_MONOREPO`

* Ignore docker-mailtrap and downloads in server-ce by prettier

* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)

* Source format

GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
2026-02-04 09:08:22 +00:00
Brian Gough
729e0f5ac9 move migrations to shared location (#28306)
* fix: correct typedef for Document in helpers.mjs

* add move-migrations codemod

* update migration paths to use shared migrations directory

* move migrations to shared location

* fix: update Dockerfile and docker-compose.ci.yml to include migrations directory

* feat: add migrations tool to workspaces in package.json

* [monorepo] Fix order of docker ignore rules

* [web] remove unused docker ignore file

* [monorepo] replace old references to migrations folder

* [server-ce] copy migrations from new place

* [migrations] Inline web scripts

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] move three web scripts over

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] add missing collection

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] remove lodash dependency

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] avoid mongodb-legacy dependency

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [monorepo] run migrations from tools/migrations

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [migrations] simplify migration for adding gitBridge feature to users

* [monorepo] run migrations from tests in all the services

* [migrations] add Jenkins pipeline for linting/formatting

* [monorepo] fixup running web migrations everywhere

* [monorepo] trigger Jenkins builds on changes to mongo migrations

* [migrations] add Jenkins pipeline for linting/formatting

* [monorepo] build scripts: update devDependencies before deps scanning

* [monorepo] build scripts: formerly depend on tools/migrations

* [monorepo] run eslint on .mjs files

* [migrations] enable more eslint rules and fix all the errors

* [rake] fix migrations:list task

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 14cf69cc1b9405bbc75adbb9a000e555500e0614
2025-10-16 08:07:37 +00:00
Jakob Ackermann
fd0d21fbbd [monorepo] migrate build scripts to Jenkins (#29019)
* [monorepo] migrate build scripts to Jenkins

* [fraud-dash] fix integration with monorepo

GitOrigin-RevId: 6a30ec5ea68a1eae9b663faf9ccdc741ec7f9cf8
2025-10-13 08:07:11 +00:00
Antoine Clausse
81941ff335 Update some dependencies so they're compatible with Node 22 (#25317)
* `"@google-cloud/profiler": "^6.0.3"`

* `bin/npm update pprof`

* `bin/npm update nan`

* `bin/npm update @google-cloud/profiler`

* Ignore false positive of `@typescript-eslint/return-await`

> Returning an awaited value that is not a promise is not allowed
Though the function was promisified

GitOrigin-RevId: 24dbe3e8df2b55c0b9583ac79a61e0956ac3fac0
2025-05-07 08:06:57 +00:00
Andrew Rumble
767591973c Merge pull request #23905 from overleaf/ar-mocha-11
[all] Bump mocha everywhere

GitOrigin-RevId: bf5587047f9ceb88872cbd356c2029717bb8ca9d
2025-02-28 09:05:40 +00:00
Jakob Ackermann
84be385550 Merge pull request #20331 from overleaf/jpa-build-scripts-sync
[misc] sync build scripts

GitOrigin-RevId: 343fd861b6c7b3d81b21babbd41bbb968f0fd448
2024-09-10 08:05:01 +00:00
andrew rumble
bdc907ecc6 Move overrides to top level
See documentation:
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#overrides

GitOrigin-RevId: 13f7a475335e9ef54419f18fab14f31da32ef250
2024-09-06 08:04:44 +00:00
andrew rumble
0e2f0e7f7d Update protobufjs to 7.2.5 everywhere
GitOrigin-RevId: 353d3a6d7bef5527fe0a068775dd6ac8c3557483
2024-06-17 08:03:46 +00:00
Eric Mc Sween
e87df4a791 Merge pull request #18167 from overleaf/em-simpler-typescript-backend
Simpler Typescript setup in the backend

GitOrigin-RevId: 3a90f26a5ac8029d14203faa98008375ce933e7d
2024-05-07 08:04:00 +00:00
Eric Mc Sween
5c517a56c3 Merge pull request #16661 from overleaf/em-fix-tsconfig
Small backend Typescript config fixes

GitOrigin-RevId: d600c1f3fa9ef88e9a06aaa5743d454a620c122d
2024-01-24 09:05:09 +00:00
Brian Gough
e01af0e9c6 Merge pull request #16519 from overleaf/bg-clsi-timeouts-add-metrics
add metrics for clsi cache operations

GitOrigin-RevId: c5ec221afd235434c8b81bafa2f482f11422ac4e
2024-01-18 09:04:19 +00:00
Eric Mc Sween
b92d1a0251 Merge pull request #16524 from overleaf/em-fix-typescript-backend
Fix typescript config in the backend

GitOrigin-RevId: fb292968bc14da6d7c17bee1da00803a74901899
2024-01-17 09:03:42 +00:00
Eric Mc Sween
d227dfba0c Merge pull request #16393 from overleaf/em-typescript-libraries
Add type checking to libraries

GitOrigin-RevId: bed79f5123081773d6ac6e27698246726184c5e6
2024-01-12 09:03:25 +00:00
Christopher Hoskin
5855ba7b49 Merge pull request #15241 from overleaf/em-gcp-opentelemetry
Replace the GCP trace agent with OpenTelemetry

GitOrigin-RevId: 591410029349e4ef5a39a5b79868e57c7bd089b6
2023-10-19 08:02:52 +00:00
Alf Eaton
e226dc1442 Remove @google-cloud/debug-agent from metrics (#14974)
GitOrigin-RevId: 80510ef28a14eaa2f4488844cb79a649009a03d9
2023-10-03 08:04:22 +00:00
Tim Down
994fcd68e2 Merge pull request #14903 from overleaf/revert-14869-revert-14603-td-upgrade-semver
Restore "Upgrade semver"

GitOrigin-RevId: 6eb5fcd3a5489d5f3968e1da2ab11341aba7d63b
2023-09-21 08:03:43 +00:00
Tim Down
d04a1d3767 Merge pull request #14869 from overleaf/revert-14603-td-upgrade-semver
Revert "Upgrade semver"

GitOrigin-RevId: 176399bbb91706e12aacba7ec9370093d8b957b5
2023-09-19 08:03:47 +00:00
Tim Down
6be4626fa9 Merge pull request #14603 from overleaf/td-upgrade-semver
Upgrade semver

GitOrigin-RevId: e3d950128dadd86928ec432b16610219e16fa40e
2023-09-19 08:03:41 +00:00
ilkin-overleaf
89580eff88 Merge pull request #14518 from overleaf/ii-security-protobufjs
Fix protobufjs vulnerabilities

GitOrigin-RevId: 18998ee19990ea49a6f1ab069fb8117f81803197
2023-09-01 08:04:09 +00:00
Christopher Hoskin
5f69488f67 Merge pull request #12369 from overleaf/csh-issue-4497-bump-profiler
Bump @google-cloud/profiler from 4.1.3 to 5.0.4

GitOrigin-RevId: 2426be7f50f91c8a67430f1097a9d97412178873
2023-04-06 08:02:49 +00:00
Eric Mc Sween
5683cebf71 Merge pull request #11679 from overleaf/em-upgrade-prom-client
Upgrade prom-client library in metrics

GitOrigin-RevId: 4ff60d94b17e7f236d4b40103365ed6fe1515148
2023-02-09 14:34:28 +00:00
Eric Mc Sween
d01e83b453 Merge pull request #11170 from overleaf/em-upgrade-mocha
Upgrade mocha to 10.2.0

GitOrigin-RevId: e49606c73e813904d9b794792a838a951a814585
2023-01-17 09:06:28 +00:00
Simon Detheridge
3d9c8f80f4 Merge pull request #10227 from overleaf/spd-td-opentelementry
Add opentelemetry to dev environment

GitOrigin-RevId: 31a8234197337a264412b411429692525793c8b0
2022-11-01 09:04:53 +00:00
ilkin-overleaf
c94043e2fe Merge pull request #10144 from overleaf/ii-metrics-api-patch-opts-arg
Handle opts value in Metrics API

GitOrigin-RevId: dae0de02f513bf65beb7b665259424a07490dc41
2022-10-28 08:04:43 +00:00
Jakob Ackermann
81b935e317 Merge pull request #7977 from overleaf/jpa-use-local-libraries
[misc] use local libraries

GitOrigin-RevId: ec16907c0ce4f9a79689c522f37d52502559e7b2
2022-05-17 08:05:52 +00:00
Jakob Ackermann
ae0c347f27 Merge pull request #6542 from overleaf/jpa-em-code-sharing-workspaces
[misc] npm workspaces

GitOrigin-RevId: 87aa72db6637fb238d7cd35b0a48ac3ed58ab3eb
2022-02-16 11:31:07 +00:00
Jakob Ackermann
4b308553be Merge pull request #6120 from overleaf/jpa-same-linting-packages
[misc] move the linting setup to the root of the monorepo

GitOrigin-RevId: 1633e2a58598add0b727738cd3bfba0ab7bae781
2021-12-17 09:03:06 +00:00
Eric Mc Sween
c5778fdd05 Merge pull request #5488 from overleaf/em-refactor-logger
Refactor logger module to separate concerns

GitOrigin-RevId: cf9b1e367d881fb9036b2cb0f5c0529763a44695
2021-10-28 08:04:00 +00:00
Jakob Ackermann
4b996c53d3 Merge pull request #5574 from overleaf/jpa-bulk-lint-format
[misc] set up bulk lint/format in dev-env

GitOrigin-RevId: 6f7939c4c732bca72c9b658491e2c4c851c82b44
2021-10-28 08:03:47 +00:00
Brian Gough
fa2567aa61 Merge pull request #4980 from overleaf/bg-upgrade-metrics-dependencies
upgrade metrics dependencies

GitOrigin-RevId: 3fda4017ac4d5e1ab1e196051d557c10253924b7
2021-09-07 16:26:06 +00:00
Jakob Ackermann
6a0388ff9b Merge pull request #4689 from overleaf/jpa-libraries-ci
[misc] setup cloud build trigger for libraries

GitOrigin-RevId: a66dd3e96cb1c06d4803a2162278959357694048
2021-08-13 12:56:39 +00:00
Jakob Ackermann
e1650616b8 [misc] version bump to 3.5.1 2021-02-16 14:21:36 +00:00
Eric Mc Sween
3581d0ce87 3.5.0 2021-01-11 08:03:49 -05:00
Jakob Ackermann
8e76e79a83 [misc] version bump to 3.4.1 2020-11-25 11:25:27 +00:00
Eric Mc Sween
142d9a5716 3.4.0 2020-10-30 07:39:47 -04:00
Christopher Hoskin
725478d95f Release 3.3.0 2020-10-27 14:02:21 +00:00
Christopher Hoskin
f874291998 Bump google-cloud trace-agent, debug-agent and profiler to latest 2020-10-26 17:40:18 +00:00
Eric Mc Sween
bd1a1dbabf 3.2.1 2020-09-17 10:40:34 -04:00
Eric Mc Sween
2f35db4087 Fix startup crash
Version 3.2.0 crashes on startup because it calls buildPromKey() without
arguments. To avoid this kind of obvious bug to happen again, I added
some basic acceptance tests.
2020-09-17 10:30:25 -04:00
Eric Mc Sween
ec0441bc89 3.2.0 2020-09-15 08:37:05 -04:00
Eric Mc Sween
971a768c4e Install prettier and eslint 2020-09-11 15:59:33 -04:00
Brian Gough
c530422f1e update package version to 3.1.0 2020-09-04 15:52:05 +01:00
Jakob Ackermann
71ba4150fe [misc] enable compression for the /metrics route 2020-09-04 15:32:48 +01:00
Brian Gough
5b39d49358 use scoped package name @overleaf/metrics 2020-08-05 11:27:56 +01:00
Brian Gough
a0f856cff2 fix tests 2020-07-17 16:17:18 +01:00
Brian Gough
e31a819636 remove statsd 2020-07-17 15:36:37 +01:00