Commit graph

18 commits

Author SHA1 Message Date
Antoine Clausse
46555d27b0 [web] Add window. prefix to globals and add no-restricted-globals rule (#26422)
* Add `no-restricted-globals` eslint rule

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

* Change `self` to `window.self`

* Change `innerWidth` to `window.innerWidth`

* Change `confirm` to `window.confirm`

* Change `location` to `window.location`

* Use `location` from `useLocation` hook

* Use location from useLocation hook
Co-authored-by: Antoine <antoine.clausse@overleaf.com>

* Disable no-restricted-globals eslint rule for use of 'self'

* Use `confusing-browser-globals` from npm

* Prevent unexpected globals in workers, using `no-undef`

* Use `self` as a global in workers

* Use unexpected globals in workers, using `no-restricted-globals` in workers

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 526986799f5f2edf53c7d978fa85c1e98189565f
2025-06-24 08:05:10 +00:00
andrew rumble
3da4dc71f1 Modify no-unused-vars behaviour
using @typescript-eslint/no-unused-vars reduces the number of false
positives in TS code. The changes:
1. Allow the arguments to a function to be checked (reporting only after
the last used variable)
2. Allow rest siblings to be checked
3. Allow these rules to be skipped with an _ prefix to a variable

GitOrigin-RevId: 1f6eac4109859415218248d5b2068a22b34cfd7e
2025-06-11 08:05:33 +00:00
Andrew Rumble
5b764953c0 Add eslint rules for skipped/focused tests (and fix issues)
GitOrigin-RevId: 01735e0805a28609a68df667cd2a4c3d89c5b968
2025-05-29 08:05:11 +00:00
Andrew Rumble
0d3025b8cf Add vitest and configuration
GitOrigin-RevId: 1262f9f32a0db6a29d3feedd8158b8dd04e48b6a
2025-05-29 08:04:55 +00:00
Mathias Jakobsen
767ac1632e Merge pull request #24427 from overleaf/mj-command-registry
[web] Editor redesign: Add command registry

GitOrigin-RevId: c3d78d052f7e6e067de3247da8fe04329d8822ff
2025-04-07 08:04:40 +00:00
Eric Mc Sween
59fb97d874 Merge pull request #23819 from overleaf/em-find-projects
Rename find_dangling_comments script to check_docs and make improvements

GitOrigin-RevId: 3c81c734f4259c5939c190a886b5b90239d03017
2025-02-26 09:04:54 +00:00
Alf Eaton
4898b15dea Add eslint-plugin-testing-library (#23017)
* Add eslint-plugin-testing-library

* Update .eslintrc.js

* Only import from @testing-library/react

* Fix issues

GitOrigin-RevId: c225f1f70020d4431866119423cd839ce1ee5ed2
2025-01-24 09:04:59 +00:00
Antoine Clausse
eea27a36a4 [web] Add prefer-node-protocol ESLint rule (#21523)
* Add `unicorn/prefer-node-protocol`

* Revert non-web changes

* Run `npm run lint:fix` (prefer-node-protocol)

GitOrigin-RevId: c3cdd88ff9e6b3de6a4397d45935c4d026c1c1ed
2024-11-05 09:04:33 +00:00
Liangjun Song
30b5b74f79 Merge pull request #21229 from overleaf/ls-apply-es-specific-rule-to-migrations-and-scripts
apply es specific lint rule to migrations and scripts folder

GitOrigin-RevId: cd307b30a93028273988b9d0ee5727c73f8103b7
2024-10-21 08:04:50 +00:00
Andrew Rumble
d711d35466 Add a rule to catch commonjs code in es modules
GitOrigin-RevId: 7c8efb2b53e981ad32140bcfbeb0f81270936337
2024-10-14 11:11:09 +00:00
andrew rumble
05a7f1e632 Add mjs support to eslint
GitOrigin-RevId: d2db7eb14e3d68a7dc95b24c98cee0d41ccd7e74
2024-10-14 10:59:51 +00:00
Jakob Ackermann
e643a8ea32 Merge pull request #20131 from overleaf/jpa-mongoose-query-is-promise
[web] eslint: consider promise-like interfaces in no-floating-promises

GitOrigin-RevId: c179f4a27c1c576d18abdec0e27433b846d7f620
2024-08-27 08:04:27 +00:00
Alf Eaton
901d79dd55 Merge pull request #19757 from overleaf/ae-eslint-upgrade
Upgrade `@typescript-eslint` dependencies

GitOrigin-RevId: b953e795d705b817ec3669b04cd6a289be12b20d
2024-08-08 08:04:09 +00:00
Jakob Ackermann
d2464abc7c Merge pull request #19816 from overleaf/jpa-type-tweaks
[web] minor typescript tweaks

GitOrigin-RevId: df459d2c00652a3d183cae123f39a01dd17c7ec6
2024-08-07 08:05:08 +00:00
Jakob Ackermann
a099f82c34 Merge pull request #19522 from overleaf/jpa-sort-get-meta
[web] sort getMeta type definitions and enforce sorting via eslint

GitOrigin-RevId: 5b50c4f77facb3f92072597933bdc1c1bf0ecd78
2024-07-23 08:04:14 +00:00
Antoine Clausse
3d5418611b Add an ESLint rule enforcing kebab-case in URL paths (#18913)
* Add a tsconfig.json to the eslint-plugin folder so it can be linted too

* Create eslint rule `prefer-kebab-url`

* Add prefer-kebab-url to service/web

* Ignore lowercased strings

Prevents from trying to change `v0` to `v-0`

* Ignore parts between brackets or parenthesis

* Record in URL paths by case

lower: 241
kebab: 60
snake: 43
camel: 22
other: 5

* Revert "Record in URL paths by case"

This reverts commit 262f483aafb0daa1a01e9025488cdc33f31ef67c.

* Showcase how the autofix would change the code

* Revert "Showcase how the autofix would change the code"

This reverts commit f045292bf01623de2df5b89fc0d68737a39913dc.

* Add ignored words so we don't have to update old code

* Change the rule so it suggests instead of fixing

This prevents eslint autofix from creating bugs

* Move list of ignored words to its own file

Per https://github.com/overleaf/internal/pull/18913#discussion_r1644204034

* Add comment explaining the ignore list

GitOrigin-RevId: d13918b0bcba9d77120f1b61b354a79dc8fb4b4e
2024-06-24 12:04:26 +00:00
Jakob Ackermann
aa480a2663 Merge pull request #18898 from overleaf/jpa-no-window
[web] migrate from window attributes to getMeta

GitOrigin-RevId: 3dcf1ab6b01155e5e4abeb3e78d0fa9053e055bc
2024-06-19 08:04:21 +00:00
Eric Mc Sween
876ee4d967 Merge pull request #18225 from overleaf/em-typescript-eslint
Add typescript-eslint rule: no-floating-promises

GitOrigin-RevId: 8c3decdff537c885f5bfeb5250b7805480bc6602
2024-05-27 10:22:20 +00:00