diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 39330d4a6f58..7e379eeaf18c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,4 +4,4 @@ updates: directory: "/" versioning-strategy: increase schedule: - interval: "weekly" \ No newline at end of file + interval: "weekly" diff --git a/.github/labeler.yml b/.github/labeler.yml index 5a7038ee8b43..905ecca6f768 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -18,4 +18,12 @@ packages: - any: ["packages/**/*"] local dev: - - any: ["**/turbo.json", "**/tsconfig.json", "**/knip.json", "**/.prettierrc", "**/.oxlintrc.json", "**/.eslintrc.cjs"] + - any: + [ + "**/turbo.json", + "**/tsconfig.json", + "**/knip.json", + "**/.prettierrc", + "**/.oxlintrc.json", + "**/.eslintrc.cjs", + ] diff --git a/.github/workflows/formatting-check.yml b/.github/workflows/check-formatting.yml similarity index 89% rename from .github/workflows/formatting-check.yml rename to .github/workflows/check-formatting.yml index a334feb44dc9..308e62aba2a8 100644 --- a/.github/workflows/formatting-check.yml +++ b/.github/workflows/check-formatting.yml @@ -1,4 +1,4 @@ -name: Formatting check +name: Check formatting env: PNPM_VERSION: "9.6.0" @@ -8,7 +8,7 @@ on: pull_request: branches: [master] types: [opened, reopened, synchronize, ready_for_review] - + permissions: contents: read @@ -35,9 +35,8 @@ jobs: with: version: ${{ env.PNPM_VERSION }} - - name: Install formatter - run: pnpm install -D -w prettier - + - name: Install formatters + run: pnpm install -D -w prettier oxfmt - name: Get changed files id: get-changed-files @@ -58,6 +57,5 @@ jobs: run: | CHANGED_FILES=$(echo ${{ steps.get-changed-files.outputs.result }}) if [ -n "$CHANGED_FILES" ]; then - pnpm prettier --check $CHANGED_FILES + pnpm oxfmt $CHANGED_FILES --check --no-error-on-unmatched-pattern fi - \ No newline at end of file diff --git a/.github/workflows/ci-failure-comment.yml b/.github/workflows/ci-failure-comment.yml index 0463c68d9194..6bf6159783e5 100644 --- a/.github/workflows/ci-failure-comment.yml +++ b/.github/workflows/ci-failure-comment.yml @@ -34,6 +34,6 @@ jobs: - name: Apply label changes uses: PauMAVA/add-remove-label-action@v1.0.3 with: - issue_number: ${{ steps.pr_num_reader.outputs.content }} + issue_number: ${{ steps.pr_num_reader.outputs.content }} add: "waiting for update" remove: "waiting for review" diff --git a/.github/workflows/fix-formatting.yml b/.github/workflows/fix-formatting.yml index 32929d14d734..833ef14a091c 100644 --- a/.github/workflows/fix-formatting.yml +++ b/.github/workflows/fix-formatting.yml @@ -33,8 +33,8 @@ jobs: with: version: ${{ env.PNPM_VERSION }} - - name: Install formatter - run: pnpm install -D -w prettier + - name: Install formatters + run: pnpm install -D -w prettier oxfmt - name: Get changed files id: get-changed-files @@ -51,12 +51,11 @@ jobs: ); return changedFiles.filter(file=> file.status !== "removed").map(file => file.filename).join(' '); - - name: Fix formatting run: | CHANGED_FILES=$(echo ${{ steps.get-changed-files.outputs.result }}) if [ -n "$CHANGED_FILES" ]; then - pnpm prettier --write $CHANGED_FILES + pnpm oxfmt $CHANGED_FILES --no-error-on-unmatched-pattern fi - name: Commit changes diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index b74ed5ac5a14..9fd7a06cda13 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,6 +9,6 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.API_TOKEN }}" + - uses: actions/labeler@v4 + with: + repo-token: "${{ secrets.API_TOKEN }}" diff --git a/.github/workflows/monkey-ci.yml b/.github/workflows/monkey-ci.yml index 97009f04ddab..0bca2d3d74bb 100644 --- a/.github/workflows/monkey-ci.yml +++ b/.github/workflows/monkey-ci.yml @@ -80,7 +80,6 @@ jobs: needs: [pre-ci] if: needs.pre-ci.outputs.should-build-be == 'true' || needs.pre-ci.outputs.should-build-fe == 'true' || needs.pre-ci.outputs.should-build-pkg == 'true' || needs.pre-ci.outputs.assets-json == 'true' || contains(github.event.pull_request.labels.*.name, 'force-full-ci') steps: - - name: Checkout pnpm-lock uses: actions/checkout@v4 with: @@ -175,7 +174,6 @@ jobs: runs-on: ubuntu-latest if: needs.pre-ci.outputs.should-build-fe == 'true' || needs.pre-ci.outputs.should-build-pkg == 'true' || contains(github.event.pull_request.labels.*.name, 'force-full-ci') steps: - - uses: actions/checkout@v4 with: sparse-checkout: | @@ -296,7 +294,6 @@ jobs: runs-on: ubuntu-latest if: needs.pre-ci.outputs.should-build-pkg == 'true' || contains(github.event.pull_request.labels.*.name, 'force-full-ci') steps: - - uses: actions/checkout@v4 with: sparse-checkout: | diff --git a/.github/workflows/publish-docker-images.yml b/.github/workflows/publish-docker-images.yml index a494ed45719c..af7997b5410f 100644 --- a/.github/workflows/publish-docker-images.yml +++ b/.github/workflows/publish-docker-images.yml @@ -1,6 +1,5 @@ name: Publish Docker image - permissions: contents: read diff --git a/.github/workflows/semantic-pr-title.yml b/.github/workflows/semantic-pr-title.yml index e3f8b7364e7f..56f9e538eb5e 100644 --- a/.github/workflows/semantic-pr-title.yml +++ b/.github/workflows/semantic-pr-title.yml @@ -37,7 +37,7 @@ jobs: style test requireScope: false - subjectPattern: ^.+ \(@[^ ,]+(, @[^ ,]+)*\)$ + subjectPattern: ^.+ \(@[^ ,]+(, @[^ ,]+)*\)$ subjectPatternError: | Title "{title}" didn't match the configured pattern. Please ensure that the title @@ -46,7 +46,7 @@ jobs: - uses: marocchino/sticky-pull-request-comment@v2 # When the previous steps fails, the workflow would stop. By adding this # condition you can continue the execution with the populated error message. - if: always() && (steps.lint_pr_title.outputs.error_message != null) + if: always() && (steps.lint_pr_title.outputs.error_message != null) with: header: pr-title-lint-error message: | diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 000000000000..25da5127b7c6 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://raw.githubusercontent.com/oxc-project/oxc/refs/heads/main/npm/oxfmt/configuration_schema.json", + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "htmlWhitespaceSensitivity": "ignore", + "endOfLine": "lf", + "trailingComma": "all", + "ignorePatterns": [ + ".turbo", + "node_modules", + "pnpm-lock.yaml", + "logs", + "coverage", + "*.md" + ] +} diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 87e004a06cad..000000000000 --- a/.prettierignore +++ /dev/null @@ -1,20 +0,0 @@ -.turbo -.github -*.md -docker/ -*.min.js -*.min.css -quotes/* -chartjs-plugin-*.js -sound/* -node_modules -css/balloon.css -_list.json -backend/logs -backend/coverage -backend/globalConfig.json -frontend/public -dist/ -build/ -frontend/coverage -pnpm*.yaml diff --git a/.prettierrc b/.prettierrc.json similarity index 86% rename from .prettierrc rename to .prettierrc.json index 267b0d4c3660..c55c72fb5693 100644 --- a/.prettierrc +++ b/.prettierrc.json @@ -1,4 +1,5 @@ { + "printWidth": 80, "tabWidth": 2, "useTabs": false, "htmlWhitespaceSensitivity": "ignore", diff --git a/backend/docker/compose.db-only.yml b/backend/docker/compose.db-only.yml index 04eb42be2a50..2e74ceca86ac 100644 --- a/backend/docker/compose.db-only.yml +++ b/backend/docker/compose.db-only.yml @@ -21,4 +21,4 @@ services: volumes: mongo-data: - redis-data: \ No newline at end of file + redis-data: diff --git a/backend/docker/compose.yml b/backend/docker/compose.yml index cb0e1763fd90..6b42b72c273b 100644 --- a/backend/docker/compose.yml +++ b/backend/docker/compose.yml @@ -26,7 +26,7 @@ services: FROM node:24.11.0 RUN npm i -g pnpm@9.6.0 RUN mkdir /pnpm-store && chown -R 1000:1000 /pnpm-store - user: "node" ##this works as long as your local user has uid=1000 + user: "node" ##this works as long as your local user has uid=1000 restart: on-failure depends_on: - redis diff --git a/docker/backend-configuration.json b/docker/backend-configuration.json index 4b9cfa0bbda8..686fd736fdb9 100644 --- a/docker/backend-configuration.json +++ b/docker/backend-configuration.json @@ -12,8 +12,8 @@ "dailyLeaderboards": { "enabled": false }, - "leaderboards":{ + "leaderboards": { "minTimeTyping": 0 } } -} \ No newline at end of file +} diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b9110260938d..0a8300268353 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -72,7 +72,7 @@ services: volumes: - redis-data:/data healthcheck: - test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + test: ["CMD", "redis-cli", "--raw", "incr", "ping"] interval: 5s timeout: 10s retries: 15 diff --git a/frontend/docker/compose.dev.yml b/frontend/docker/compose.dev.yml index ade3163931ed..1eae287800f2 100644 --- a/frontend/docker/compose.dev.yml +++ b/frontend/docker/compose.dev.yml @@ -7,7 +7,7 @@ services: FROM node:24.11.0 RUN npm i -g pnpm@9.6.0 RUN mkdir /pnpm-store && chown -R 1000:1000 /pnpm-store - user: "node" ##this works as long as your local user has uid=1000 + user: "node" ##this works as long as your local user has uid=1000 # restart: on-failure environment: - SERVER_OPEN=false diff --git a/frontend/package.json b/frontend/package.json index 2d4482084da5..96a1bc3978e3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -32,11 +32,10 @@ "not dead" ], "lint-staged": { - "*.{json,scss,css,html}": [ - "prettier --write" + "*": [ + "oxfmt --no-error-on-unmatched-pattern" ], "*.{ts,js}": [ - "prettier --write", "oxlint", "eslint" ] diff --git a/frontend/src/ts/test/test-ui.ts b/frontend/src/ts/test/test-ui.ts index d1c1641ec26c..9f8fed69c8fb 100644 --- a/frontend/src/ts/test/test-ui.ts +++ b/frontend/src/ts/test/test-ui.ts @@ -1023,9 +1023,9 @@ export async function scrollTape(noAnimation = false): Promise { .slice(0, activeWordIndex) .filter((child) => child.classList.contains("afterNewline")).length; // the second `.afterNewline` after active word is visible during line jump - let lastVisibleAfterNewline = afterNewLineEls[ - newLinesBeforeActiveWord + 1 - ] as HTMLElement | undefined; + let lastVisibleAfterNewline = afterNewLineEls[newLinesBeforeActiveWord + 1] as + | HTMLElement + | undefined; if (lastVisibleAfterNewline) { lastElementIndex = wordsChildrenArr.indexOf(lastVisibleAfterNewline); } else { diff --git a/frontend/static/challenges/_list.json b/frontend/static/challenges/_list.json index 3a250749dcbc..73564f3036f9 100644 --- a/frontend/static/challenges/_list.json +++ b/frontend/static/challenges/_list.json @@ -5,140 +5,146 @@ "autoRole": true, "type": "customTime", "parameters": [3600], - "requirements" : { + "requirements": { "time": { "min": 3600 } } - } - ,{ + }, + { "name": "doubleDown", "display": "Double Down", "autoRole": true, "type": "customTime", "parameters": [7200], - "requirements" : { + "requirements": { "time": { "min": 7200 } } - } - ,{ + }, + { "name": "tripleTrouble", "display": "Triple Trouble", "autoRole": true, "type": "customTime", "parameters": [10800], - "requirements" : { + "requirements": { "time": { "min": 10800 } } - } - ,{ + }, + { "name": "quad", "display": "Quaaaaad", "autoRole": true, "type": "customTime", "parameters": [14400], - "requirements" : { + "requirements": { "time": { "min": 14400 } } - } - ,{ + }, + { "name": "8Ball", "display": "8 Ball", "type": "customTime", "parameters": [28800], - "requirements" : { + "requirements": { "time": { "min": 28800 } } - } - ,{ + }, + { "name": "theBig12", "display": "The Big 12", "type": "customTime", "parameters": [43200], - "requirements" : { + "requirements": { "time": { "min": 43200 } } - } - ,{ + }, + { "name": "1Day", "display": "1 Day", "type": "customTime", "parameters": [86400], - "requirements" : { + "requirements": { "time": { "min": 86400 } } - } - ,{ + }, + { "name": "trueSimp", "display": "True Simp", "autoRole": true, "type": "customText", "parameters": ["miodec", "repeat", 10000, "word", false] - } - ,{ + }, + { "name": "bigramSalad", "display": "Bigram Salad", "autoRole": true, "type": "customText", - "parameters": ["to of in it is as at be we he so on an or do if up by my go", "random", 100, "word", false], - "requirements" : { + "parameters": [ + "to of in it is as at be we he so on an or do if up by my go", + "random", + 100, + "word", + false + ], + "requirements": { "wpm": { "min": 100 } } - } - ,{ + }, + { "name": "simp", "display": "Simp", "autoRole": true, "type": "customText", "parameters": ["miodec", "repeat", 1000, "word", false] - } - ,{ + }, + { "name": "antidiseWhat", "display": "Antidise-what?", "autoRole": true, "type": "customText", - "parameters": ["antidisestablishmentarianism","repeat",1,"word",false], - "requirements" : { + "parameters": ["antidisestablishmentarianism", "repeat", 1, "word", false], + "requirements": { "wpm": { "min": 200 } } - } - ,{ + }, + { "name": "whatsThisWebsiteCalledAgain", "display": "What's this website called again?", "autoRole": true, "type": "customText", - "parameters": ["monkeytype","repeat",1000, "word", false] - } - ,{ + "parameters": ["monkeytype", "repeat", 1000, "word", false] + }, + { "name": "developd", "display": "Develop'd", "autoRole": true, "type": "customText", - "parameters": ["develop","repeat",1000,"word",false] - } - ,{ + "parameters": ["develop", "repeat", 1000, "word", false] + }, + { "name": "slowAndSteady", "display": "Slow and Steady", "autoRole": true, "type": "customTime", "parameters": [300], - "requirements" : { + "requirements": { "wpm": { "exact": 60 }, @@ -147,39 +153,45 @@ "paceCaret": "off" } } - } - ,{ + }, + { "name": "speedSpacer", "display": "Speed Spacer", "autoRole": true, "type": "customText", - "parameters": ["a b c d e f g h i j k l m n o p q r s t u v w x y z","random",100,"word",false], - "requirements" : { + "parameters": [ + "a b c d e f g h i j k l m n o p q r s t u v w x y z", + "random", + 100, + "word", + false + ], + "requirements": { "wpm": { "min": 100 } } - } - ,{ + }, + { "name": "iveGotThePower", "display": "I've got the POWER", "autoRole": true, "type": "customText", - "parameters": ["power","repeat",10,"word",false], - "requirements" : { + "parameters": ["power", "repeat", 10, "word", false], + "requirements": { "wpm": { "min": 400 } } - } - ,{ + }, + { "name": "accuracyExpert", "display": "Accuracy Expert", "autoRole": true, "type": "accuracy", "parameters": [], "message": "Minimum 60wpm and 100% accuracy required.", - "requirements" : { + "requirements": { "wpm": { "min": 60 }, @@ -193,15 +205,15 @@ "min": 600 } } - } - ,{ + }, + { "name": "accuracyMaster", "display": "Accuracy Master", "autoRole": true, "type": "accuracy", "parameters": [], "message": "Minimum 60wpm and 100% accuracy required.", - "requirements" : { + "requirements": { "wpm": { "min": 60 }, @@ -215,15 +227,15 @@ "min": 1200 } } - } - ,{ + }, + { "name": "accuracyGod", "display": "Accuracy God", "autoRole": true, "type": "accuracy", "parameters": [], "message": "Minimum 60wpm and 100% accuracy required.", - "requirements" : { + "requirements": { "wpm": { "min": 60 }, @@ -237,23 +249,23 @@ "min": 1800 } } - } - ,{ + }, + { "name": "inAGalaxyFarFarAway", "display": "In a galaxy far far away", "type": "script", - "parameters": ["episode4.txt",null,["space_balls"]], + "parameters": ["episode4.txt", null, ["space_balls"]], "requirements": { "config": { "tapeMode": "off" } } - } - ,{ + }, + { "name": "beepBoop", "display": "Beep Boop", "type": "script", - "parameters": ["beepboop.txt",null,["nospace"]], + "parameters": ["beepboop.txt", null, ["nospace"]], "message": "Mininum 45 WPM and 100% accuracy required.", "requirements": { "wpm": { @@ -266,57 +278,57 @@ "exact": ["nospace"] } } - } - ,{ + }, + { "name": "whosYourDaddy", "display": "Who's your daddy?", "type": "script", - "parameters": ["episode5.txt",null,["space_balls"]], + "parameters": ["episode5.txt", null, ["space_balls"]], "requirements": { "config": { "tapeMode": "off" } } - } - ,{ + }, + { "name": "itsATrap", "display": "It's a trap!", "type": "script", - "parameters": ["episode6.txt",null,["space_balls"]], + "parameters": ["episode6.txt", null, ["space_balls"]], "requirements": { "config": { "tapeMode": "off" } } - } - ,{ + }, + { "name": "jolly", "display": "Jolly", "autoRole": true, "type": "script", - "parameters": ["jolly.txt",null,null], + "parameters": ["jolly.txt", null, null], "message": "Minimum 70wpm required.", - "requirements" : { + "requirements": { "wpm": { "min": 70 } } - } - ,{ + }, + { "name": "gottaCatchEmAll", "display": "Gotta catch 'em all", "autoRole": true, "type": "script", - "parameters": ["pokemon.txt",null,null] - } - ,{ + "parameters": ["pokemon.txt", null, null] + }, + { "name": "rapGod", "display": "Rap God", "autoRole": true, "type": "script", - "parameters": ["rapgod.txt",null,null], + "parameters": ["rapgod.txt", null, null], "message": "Minimum 85wpm and 90% accuracy required.", - "requirements" : { + "requirements": { "wpm": { "min": 85 }, @@ -327,15 +339,15 @@ "max": 5 } } - } - ,{ + }, + { "name": "navySeal", "display": "Navy Seal", "autoRole": true, "type": "script", - "parameters": ["navyseal.txt",null,null], + "parameters": ["navyseal.txt", null, null], "message": "Minimum 60wpm and 100% accuracy required.", - "requirements" : { + "requirements": { "wpm": { "min": 60 }, @@ -346,53 +358,52 @@ "max": 5 } } - } - ,{ + }, + { "name": "littleChef", "display": "Little Chef", "type": "script", - "parameters": ["littlechef.txt",null,null] - } - ,{ + "parameters": ["littlechef.txt", null, null] + }, + { "name": "crosstalk", "display": "(CROSSTALK)", "type": "script", - "parameters": ["crosstalk.txt",null,null] - } - ,{ + "parameters": ["crosstalk.txt", null, null] + }, + { "name": "bees", "display": "Bees!", "type": "script", - "parameters": ["bees.txt",null,null] - } - - ,{ + "parameters": ["bees.txt", null, null] + }, + { "name": "getOffMySwamp", "display": "Get off my swamp", "type": "script", - "parameters": ["shrek.txt",null,null] - } - ,{ + "parameters": ["shrek.txt", null, null] + }, + { "name": "lookAtMeIAmTheDeveloperNow", "display": "Look at me. I am the developer now.", "autoRole": true, "type": "script", - "parameters": ["sourcecode.txt",null,null] - } - ,{ + "parameters": ["sourcecode.txt", null, null] + }, + { "name": "beLikeWater", "display": "Be like water", "type": "funbox", - "parameters": [["layoutfluid"],"time",60], + "parameters": [["layoutfluid"], "time", 60], "message": "Remember: You need to achieve at least 50 wpm in each layout." - } - ,{ + }, + { "name": "rollercoaster", "display": "Rollercoaster", "autoRole": true, "type": "funbox", - "parameters": [["round_round_baby"],"time",3600], - "requirements" : { + "parameters": [["round_round_baby"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -400,14 +411,14 @@ "exact": ["round_round_baby"] } } - } - ,{ + }, + { "name": "oneHourMirror", "display": "ɿoɿɿim ɿυoʜ ɘno", "autoRole": true, "type": "funbox", - "parameters": [["mirror"],"time",3600], - "requirements" : { + "parameters": [["mirror"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -415,14 +426,14 @@ "exact": ["mirror"] } } - } - ,{ + }, + { "name": "chooChoo", "display": "Choo choo", "autoRole": true, "type": "funbox", - "parameters": [["choo_choo"],"time",3600], - "requirements" : { + "parameters": [["choo_choo"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -430,25 +441,25 @@ "exact": ["choo_choo"] } } - } - ,{ + }, + { "name": "mnemonist", "display": "Mnemonist", "type": "funbox", - "parameters": [["memory"],"words",25,"master"], + "parameters": [["memory"], "words", 25, "master"], "requirements": { "config": { "tapeMode": "off" } } - } - ,{ + }, + { "name": "earfquake", "display": "Earfquake", "autoRole": true, "type": "funbox", - "parameters": [["earthquake"],"time",3600], - "requirements" : { + "parameters": [["earthquake"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -456,14 +467,14 @@ "exact": ["earthquake"] } } - } - ,{ + }, + { "name": "simonSez", "display": "Simon Sez", "autoRole": true, "type": "funbox", - "parameters": [["simon_says"],"time",3600], - "requirements" : { + "parameters": [["simon_says"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -471,14 +482,14 @@ "exact": ["simon_says"] } } - } - ,{ + }, + { "name": "accountant", "display": "Accountant", "autoRole": true, "type": "funbox", - "parameters": [["58008"],"time",3600], - "requirements" : { + "parameters": [["58008"], "time", 3600], + "requirements": { "time": { "min": 3600 }, @@ -486,14 +497,14 @@ "exact": ["58008"] } } - } - ,{ + }, + { "name": "hidden", "display": "Hidden", "autoRole": true, "type": "funbox", - "parameters": [["read_ahead"],"time",60], - "requirements" : { + "parameters": [["read_ahead"], "time", 60], + "requirements": { "wpm": { "min": 100 }, @@ -507,14 +518,14 @@ "tapeMode": "off" } } - } - ,{ + }, + { "name": "iCanSeeTheFuture", "display": "I can see the future", "autoRole": true, "type": "funbox", - "parameters": [["read_ahead_hard"],"time",60], - "requirements" : { + "parameters": [["read_ahead_hard"], "time", 60], + "requirements": { "wpm": { "min": 100 }, @@ -528,14 +539,14 @@ "tapeMode": "off" } } - } - ,{ + }, + { "name": "whatAreWordsAtThisPoint", "display": "What are words at this point?", "autoRole": true, "type": "funbox", - "parameters": [["gibberish"],"time",3600], - "requirements" : { + "parameters": [["gibberish"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -546,14 +557,14 @@ "exact": ["gibberish"] } } - } - ,{ + }, + { "name": "specials", "display": "Specials", "autoRole": true, "type": "funbox", - "parameters": [["specials"],"time",3600], - "requirements" : { + "parameters": [["specials"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -561,18 +572,17 @@ "min": 60 }, "funbox": { - "exact": ["specials"] + "exact": ["specials"] } } - - } - ,{ + }, + { "name": "aeiou", "display": "Aeiou.", "autoRole": true, "type": "funbox", - "parameters": [["tts"],"time",3600], - "requirements" : { + "parameters": [["tts"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -583,14 +593,14 @@ "exact": ["tts"] } } - } - ,{ + }, + { "name": "asciiWarrior", "display": "ASCII warrior", "autoRole": true, "type": "funbox", - "parameters": [["ascii"],"time",3600], - "requirements" : { + "parameters": [["ascii"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -601,14 +611,14 @@ "exact": ["ascii"] } } - } - ,{ + }, + { "name": "iKiNdAlIkEhOwInEfFiCiEnTqWeRtYiS", "display": "I kInDa LiKe HoW iNeFfIcIeNt QwErTy Is", "autoRole": true, "type": "funbox", - "parameters": [["rAnDoMcAsE"],"time",3600], - "requirements" : { + "parameters": [["rAnDoMcAsE"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -619,14 +629,14 @@ "exact": ["rAnDoMcAsE"] } } - } - ,{ + }, + { "name": "oneNauseousMonkey", "display": "One Nauseous Monkey", "autoRole": true, "type": "funbox", - "parameters": [["nausea"],"time",3600], - "requirements" : { + "parameters": [["nausea"], "time", 3600], + "requirements": { "wpm": { "min": 100 }, @@ -637,33 +647,33 @@ "exact": ["nausea"] } } - } - ,{ + }, + { "name": "thumbWarrior", "display": "Thumb warrior", "type": "customTime", "parameters": [3600] - } - ,{ + }, + { "name": "mouseWarrior", "display": "Mouse warrior", "type": "customTime", "parameters": [3600] - } - ,{ + }, + { "name": "mobileWarrior", "display": "Mobile warrior", "type": "customTime", "parameters": [3600] - } - ,{ + }, + { "name": "69", "display": "6969696969", "autoRole": true, "type": "customTime", "parameters": [69], "message": "You need to achieve 69 wpm, 69 raw, 69% accuracy and 69% consistency.", - "requirements" : { + "requirements": { "wpm": { "exact": 69 }, @@ -677,26 +687,26 @@ "exact": 69 } } - } - ,{ + }, + { "name": "upsideDown", "display": "Upside down", "type": "customTime", "parameters": [60] - } - ,{ + }, + { "name": "oneArmedBandit", "display": "One armed bandit", "type": "customWords", "parameters": [10000] - } - ,{ + }, + { "name": "englishMaster", "display": "English master", "autoRole": true, "type": "customTime", "parameters": [3600], - "requirements" : { + "requirements": { "time": { "min": 3600 }, @@ -706,8 +716,8 @@ "numbers": true } } - } - ,{ + }, + { "name": "feetWarrior", "display": "Feet warrior", "type": "customTime", diff --git a/monkeytype.code-workspace b/monkeytype.code-workspace index 14ef606b7c1c..8f799851c719 100644 --- a/monkeytype.code-workspace +++ b/monkeytype.code-workspace @@ -38,6 +38,7 @@ "**/.firebase/**": true, "**/.turbo/**": true, }, + "oxc.fmt.experimental": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSaveMode": "file", "editor.formatOnSave": true, @@ -48,7 +49,17 @@ "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, + "[scss]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + }, + "[javascript]": { + "editor.defaultFormatter": "oxc.oxc-vscode", + }, + "[typescript]": { + "editor.defaultFormatter": "oxc.oxc-vscode", + }, "vitest.maximumConfigs": 10, + "typescript.format.enable": false, }, "launch": { diff --git a/package.json b/package.json index 697a694f783f..7c513d89485c 100644 --- a/package.json +++ b/package.json @@ -43,16 +43,8 @@ "hotfix-fe": "monkeytype-release --hotfix --fe", "hotfix-be": "monkeytype-release --hotfix --be", "hotfix-dry": "monkeytype-release --hotfix --dry", - "format-check": "prettier --check .", - "format-check-be": "prettier --check ./backend", - "format-check-fe": "prettier --check ./frontend/src", - "format-check-assets": "prettier --check ./frontend/static", - "format-check-pkg": "prettier --check ./packages", - "format-fix": "prettier --write .", - "format-fix-be": "prettier --write ./backend", - "format-fix-fe": "prettier --write ./frontend/src", - "format-fix-assets": "prettier --write ./frontend/static", - "format-fix-pkg": "prettier --write ./packages", + "format-check": "oxfmt . --check", + "format-fix": "oxfmt .", "lint-json-assets": "cd frontend && eslint \"./static/**/*.json\"", "check-assets": "turbo check-assets --filter @monkeytype/frontend", "check-assets-quotes": "turbo check-assets --filter @monkeytype/frontend -- quotes", @@ -74,17 +66,16 @@ "knip": "2.19.2", "lint-staged": "13.2.3", "only-allow": "1.2.1", + "oxfmt": "0.17.0", "oxlint": "1.29.0", - "prettier": "3.7.1", "turbo": "2.5.6", "vitest": "4.0.8" }, "lint-staged": { - "*.{json,scss,css,html}": [ - "prettier --write" + "*": [ + "oxfmt --no-error-on-unmatched-pattern" ], "*.{ts,js}": [ - "prettier --write", "oxlint", "eslint" ] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c550b6b33bbe..0c5158d47aed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,12 +38,12 @@ importers: only-allow: specifier: 1.2.1 version: 1.2.1 + oxfmt: + specifier: 0.17.0 + version: 0.17.0 oxlint: specifier: 1.29.0 version: 1.29.0 - prettier: - specifier: 3.7.1 - version: 3.7.1 turbo: specifier: 2.5.6 version: 2.5.6 @@ -2569,6 +2569,46 @@ packages: resolution: {integrity: sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA==} engines: {node: '>=14'} + '@oxfmt/darwin-arm64@0.17.0': + resolution: {integrity: sha512-OMv0tOb+xiwSZKjYbM6TwMSP5QwFJlBGQmEsk98QJ30sHhdyC//0UvGKuR0KZuzZW4E0+k0rHDmos1Z5DmBEkA==} + cpu: [arm64] + os: [darwin] + + '@oxfmt/darwin-x64@0.17.0': + resolution: {integrity: sha512-trzidyzryKIdL/cLCYU9IwprgJegVBUrz1rqzOMe5is+qdgH/RxTCvhYUNFzxRHpil3g4QUYd2Ja831tc5Nehg==} + cpu: [x64] + os: [darwin] + + '@oxfmt/linux-arm64-gnu@0.17.0': + resolution: {integrity: sha512-KlwzidgvHznbUaaglZT1goTS30osTV553pfbKve9B1PyTDkluNDfm/polOaf3SVLN7wL/NNLFZRMupvJ1eJXAw==} + cpu: [arm64] + os: [linux] + + '@oxfmt/linux-arm64-musl@0.17.0': + resolution: {integrity: sha512-+tbYJTocF4BNLaQQbc/xrBWTNgiU6zmYeF4NvRDxuuQjDOnmUZPn0EED3PZBRJyg4/YllhplHDo8x+gfcb9G3A==} + cpu: [arm64] + os: [linux] + + '@oxfmt/linux-x64-gnu@0.17.0': + resolution: {integrity: sha512-pEmv7zJIw2HpnA4Tn1xrfJNGi2wOH2+usT14Pkvf/c5DdB+pOir6k/5jzfe70+V3nEtmtV9Lm+spndN/y6+X7A==} + cpu: [x64] + os: [linux] + + '@oxfmt/linux-x64-musl@0.17.0': + resolution: {integrity: sha512-+DrFSCZWyFdtEAWR5xIBTV8GX0RA9iB+y7ZlJPRAXrNG8TdBY9vc7/MIGolIgrkMPK4mGMn07YG/qEyPY+iKaw==} + cpu: [x64] + os: [linux] + + '@oxfmt/win32-arm64@0.17.0': + resolution: {integrity: sha512-FoUZRR7mVpTYIaY/qz2BYwzqMnL+HsUxmMWAIy6nl29UEkDgxNygULJ4rIGY4/Axne41fhtldLrSGBOpwNm3jA==} + cpu: [arm64] + os: [win32] + + '@oxfmt/win32-x64@0.17.0': + resolution: {integrity: sha512-fBIcUpHmCwf3leWlo0cYwLb9Pd2mzxQlZYJX9dD9nylPvsxOnsy9fmsaflpj34O0JbQJN3Y0SRkoaCcHHlxFww==} + cpu: [x64] + os: [win32] + '@oxlint/darwin-arm64@1.29.0': resolution: {integrity: sha512-XYsieDAI0kXJyvayHnmOW1qVydqklRRVT4O5eZmO/rdNCku5CoXsZvBvkPc3U8/9V1mRuen1sxbM9T5JsZqhdA==} cpu: [arm64] @@ -3825,8 +3865,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.31: - resolution: {integrity: sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==} + baseline-browser-mapping@2.9.5: + resolution: {integrity: sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==} hasBin: true basic-auth-connect@1.0.0: @@ -4028,8 +4068,8 @@ packages: caniuse-lite@1.0.30001715: resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==} - caniuse-lite@1.0.30001757: - resolution: {integrity: sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==} + caniuse-lite@1.0.30001759: + resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==} canvas-confetti@1.5.1: resolution: {integrity: sha512-Ncz+oZJP6OvY7ti4E1slxVlyAV/3g7H7oQtcCDXgwGgARxPnwYY9PW5Oe+I8uvspYNtuHviAdgA0LfcKFWJfpg==} @@ -4046,10 +4086,6 @@ packages: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -4859,8 +4895,8 @@ packages: electron-to-chromium@1.5.144: resolution: {integrity: sha512-eJIaMRKeAzxfBSxtjYnoIAw/tdD6VIH6tHBZepZnAbE3Gyqqs5mGN87DvcldPUbVkIljTK8pY0CMcUljP64lfQ==} - electron-to-chromium@1.5.262: - resolution: {integrity: sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==} + electron-to-chromium@1.5.266: + resolution: {integrity: sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg==} electron-to-chromium@1.5.5: resolution: {integrity: sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==} @@ -7485,6 +7521,11 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} + oxfmt@0.17.0: + resolution: {integrity: sha512-12Rmq2ub61rUZ3Pqnsvmo99rRQ6hQJwQsjnFnbvXYLMrlIsWT6SFVsrjAkBBrkXXSHv8ePIpKQ0nZph5KDrOqw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + oxlint@1.29.0: resolution: {integrity: sha512-YqUVUhTYDqazV2qu3QSQn/H4Z1OP+fTnedgZWDk1/lDZxGfR0b1MqRVaEm3rRjBMLHP0zXlriIWUx+DD6UMaPA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -7803,11 +7844,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.7.1: - resolution: {integrity: sha512-RWKXE4qB3u5Z6yz7omJkjWwmTfLdcbv44jUVHC5NpfXwFGzvpQM798FGv/6WNK879tc+Cn0AAyherCl1KjbyZQ==} - engines: {node: '>=14'} - hasBin: true - pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -8259,9 +8295,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -9349,8 +9382,8 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-browserslist-db@1.1.4: - resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + update-browserslist-db@1.2.2: + resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -11220,12 +11253,12 @@ snapshots: '@firebase/component@0.6.8': dependencies: '@firebase/util': 1.9.7 - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/component@0.7.0': dependencies: '@firebase/util': 1.13.0 - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/data-connect@0.3.11(@firebase/app@0.14.0)': dependencies: @@ -11272,7 +11305,7 @@ snapshots: '@firebase/logger': 0.4.2 '@firebase/util': 1.9.7 faye-websocket: 0.11.4 - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/database@1.1.0': dependencies: @@ -11361,11 +11394,11 @@ snapshots: '@firebase/logger@0.4.2': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/logger@0.5.0': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/messaging-compat@0.2.23(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': dependencies: @@ -11466,7 +11499,7 @@ snapshots: '@firebase/util@1.9.7': dependencies: - tslib: 2.6.3 + tslib: 2.8.1 '@firebase/webchannel-wrapper@1.0.4': {} @@ -12060,6 +12093,30 @@ snapshots: '@opentelemetry/semantic-conventions@1.34.0': {} + '@oxfmt/darwin-arm64@0.17.0': + optional: true + + '@oxfmt/darwin-x64@0.17.0': + optional: true + + '@oxfmt/linux-arm64-gnu@0.17.0': + optional: true + + '@oxfmt/linux-arm64-musl@0.17.0': + optional: true + + '@oxfmt/linux-x64-gnu@0.17.0': + optional: true + + '@oxfmt/linux-x64-musl@0.17.0': + optional: true + + '@oxfmt/win32-arm64@0.17.0': + optional: true + + '@oxfmt/win32-x64@0.17.0': + optional: true + '@oxlint/darwin-arm64@1.29.0': optional: true @@ -13420,7 +13477,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.8.31: {} + baseline-browser-mapping@2.9.5: {} basic-auth-connect@1.0.0: {} @@ -13557,11 +13614,11 @@ snapshots: browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.8.31 - caniuse-lite: 1.0.30001757 - electron-to-chromium: 1.5.262 + baseline-browser-mapping: 2.9.5 + caniuse-lite: 1.0.30001759 + electron-to-chromium: 1.5.266 node-releases: 2.0.27 - update-browserslist-db: 1.1.4(browserslist@4.28.0) + update-browserslist-db: 1.2.2(browserslist@4.28.0) bson@6.8.0: {} @@ -13670,7 +13727,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.3 + tslib: 2.8.1 camelcase-keys@6.2.2: dependencies: @@ -13688,7 +13745,7 @@ snapshots: caniuse-lite@1.0.30001715: {} - caniuse-lite@1.0.30001757: {} + caniuse-lite@1.0.30001759: {} canvas-confetti@1.5.1: {} @@ -13701,8 +13758,6 @@ snapshots: chalk@5.2.0: {} - chalk@5.3.0: {} - chalk@5.6.2: {} char-regex@1.0.2: {} @@ -13935,7 +13990,7 @@ snapshots: chalk: 4.1.2 date-fns: 2.30.0 lodash: 4.17.21 - rxjs: 7.8.1 + rxjs: 7.8.2 shell-quote: 1.8.1 spawn-command: 0.0.2 supports-color: 8.1.1 @@ -14227,7 +14282,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.28.4 date-fns@3.6.0: {} @@ -14487,7 +14542,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.8.1 dot-prop@5.3.0: dependencies: @@ -14537,7 +14592,7 @@ snapshots: electron-to-chromium@1.5.144: {} - electron-to-chromium@1.5.262: {} + electron-to-chromium@1.5.266: {} electron-to-chromium@1.5.5: {} @@ -16152,7 +16207,7 @@ snapshots: inquirer: 8.2.6 picocolors: 1.1.1 run-async: 2.4.1 - rxjs: 7.8.1 + rxjs: 7.8.2 inquirer@8.2.6: dependencies: @@ -16166,7 +16221,7 @@ snapshots: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.1 + rxjs: 7.8.2 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -16626,7 +16681,7 @@ snapshots: json-schema-to-ts@2.7.2: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 '@types/json-schema': 7.0.15 ts-algebra: 1.2.2 @@ -16927,7 +16982,7 @@ snapshots: lower-case@2.0.2: dependencies: - tslib: 2.6.3 + tslib: 2.8.1 lru-cache@10.4.3: {} @@ -17040,7 +17095,7 @@ snapshots: marked-terminal@7.1.0(marked@13.0.3): dependencies: ansi-escapes: 7.0.0 - chalk: 5.3.0 + chalk: 5.6.2 cli-highlight: 2.1.11 cli-table3: 0.6.5 marked: 13.0.3 @@ -17639,7 +17694,7 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.3 + tslib: 2.8.1 node-addon-api@5.1.0: {} @@ -17794,7 +17849,7 @@ snapshots: oas-kit-common: 1.0.8 reftools: 1.1.9 yaml: 1.10.2 - yargs: 17.0.1 + yargs: 17.7.2 oas-schema-walker@1.1.5: {} @@ -17955,6 +18010,17 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 + oxfmt@0.17.0: + optionalDependencies: + '@oxfmt/darwin-arm64': 0.17.0 + '@oxfmt/darwin-x64': 0.17.0 + '@oxfmt/linux-arm64-gnu': 0.17.0 + '@oxfmt/linux-arm64-musl': 0.17.0 + '@oxfmt/linux-x64-gnu': 0.17.0 + '@oxfmt/linux-x64-musl': 0.17.0 + '@oxfmt/win32-arm64': 0.17.0 + '@oxfmt/win32-x64': 0.17.0 + oxlint@1.29.0: optionalDependencies: '@oxlint/darwin-arm64': 1.29.0 @@ -18023,7 +18089,7 @@ snapshots: param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.8.1 parent-module@1.0.1: dependencies: @@ -18068,7 +18134,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.8.1 path-browserify@1.0.1: {} @@ -18258,8 +18324,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.7.1: {} - pretty-bytes@5.6.0: {} pretty-bytes@6.1.1: {} @@ -18821,10 +18885,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rxjs@7.8.1: - dependencies: - tslib: 2.6.3 - rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -19568,7 +19628,7 @@ snapshots: oas-validator: 5.0.8 reftools: 1.1.9 yaml: 1.10.2 - yargs: 17.0.1 + yargs: 17.7.2 transitivePeerDependencies: - encoding @@ -20118,7 +20178,7 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-browserslist-db@1.1.4(browserslist@4.28.0): + update-browserslist-db@1.2.2(browserslist@4.28.0): dependencies: browserslist: 4.28.0 escalade: 3.2.0