From e1471b2215937b03099b8814f0a623fefee68925 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:05:05 +0100 Subject: [PATCH 01/14] feat: use common orb --- .circleci/config.yml | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ad2cc8799f..e0fb6a7cf1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,15 @@ version: 2.1 +orbs: + common: dailydotdev/common@0.0.14 + jobs: + setup-node: + executor: + name: common/node + tag: "22.11" + steps: + - common/setup-node install_deps: docker: - image: cimg/node:22.11 @@ -27,15 +36,12 @@ jobs: - ./packages/webapp/node_modules - ./packages/extension/node_modules test_extension: - docker: - - image: cimg/node:22.11 + executor: + name: common/node + tag: "22.11" parallelism: 1 steps: - - checkout - - restore_cache: - keys: - - deps-v7-{{ checksum "pnpm-lock.yaml" }} - - deps-v7-{{ .Branch }} + - common/setup-node - run: name: Test command: | @@ -44,19 +50,17 @@ jobs: echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings environment: JEST_JUNIT_OUTPUT_DIR: ../../test-results + JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" working_directory: packages/extension - store_test_results: path: ./test-results test_webapp: - docker: - - image: cimg/node:22.11 + executor: + name: common/node + tag: "22.11" parallelism: 1 steps: - - checkout - - restore_cache: - keys: - - deps-v7-{{ checksum "pnpm-lock.yaml" }} - - deps-v7-{{ .Branch }} + - common/setup-node - run: name: Test command: | @@ -65,33 +69,28 @@ jobs: echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings environment: JEST_JUNIT_OUTPUT_DIR: ../../test-results + JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" working_directory: packages/webapp - store_test_results: path: ./test-results lint_shared: - docker: - - image: cimg/node:22.11 + executor: + name: common/node + tag: "22.11" resource_class: large steps: - - checkout - - restore_cache: - keys: - - deps-v7-{{ checksum "pnpm-lock.yaml" }} - - deps-v7-{{ .Branch }} + - common/setup-node - run: name: Lint command: npm run pretest working_directory: packages/shared test_shared: - docker: - - image: cimg/node:22.11 + executor: + name: common/node + tag: "22.11" parallelism: 1 steps: - - checkout - - restore_cache: - keys: - - deps-v7-{{ checksum "pnpm-lock.yaml" }} - - deps-v7-{{ .Branch }} + - common/setup-node - run: name: Test command: | @@ -99,22 +98,23 @@ jobs: echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings environment: JEST_JUNIT_OUTPUT_DIR: ../../test-results + JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" working_directory: packages/shared - store_test_results: path: ./test-results workflows: build: jobs: - - install_deps + - setup-node - test_extension: requires: - - install_deps + - setup-node - test_webapp: requires: - - install_deps + - setup-node - lint_shared: requires: - - install_deps + - setup-node - test_shared: requires: - - install_deps + - setup-node From 1835b0f464a53c62c82a56f9d9040309fd494ff7 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:13:59 +0100 Subject: [PATCH 02/14] chore: bump node version to match API --- .circleci/config.yml | 60 ++++++++++++++++---------------- .github/workflows/e2e-tests.yml | 2 +- .nvmrc | 2 +- AGENTS.md | 2 +- Dockerfile | 2 +- README.md | 2 +- packages/playwright/package.json | 2 +- 7 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e0fb6a7cf1..8b7c796d42 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,38 +7,38 @@ jobs: setup-node: executor: name: common/node - tag: "22.11" + tag: "22.16" steps: - common/setup-node - install_deps: - docker: - - image: cimg/node:22.11 - steps: - - checkout - - run: - name: Install pnpm - command: npm i --prefix=$HOME/.local -g pnpm@9.14.4 - - restore_cache: - keys: - - deps-v7-{{ checksum "pnpm-lock.yaml" }} - - deps-v7-{{ .Branch }} - - run: - name: Install dependencies - command: pnpm install - - save_cache: - key: deps-v7-{{ checksum "pnpm-lock.yaml" }} - paths: - - ./node_modules - - ./packages/eslint-config/node_modules - - ./packages/eslint-rules/node_modules - - ./packages/prettier-config/node_modules - - ./packages/shared/node_modules - - ./packages/webapp/node_modules - - ./packages/extension/node_modules + # install_deps: + # docker: + # - image: cimg/node:22.11 + # steps: + # - checkout + # - run: + # name: Install pnpm + # command: npm i --prefix=$HOME/.local -g pnpm@9.14.4 + # - restore_cache: + # keys: + # - deps-v7-{{ checksum "pnpm-lock.yaml" }} + # - deps-v7-{{ .Branch }} + # - run: + # name: Install dependencies + # command: pnpm install + # - save_cache: + # key: deps-v7-{{ checksum "pnpm-lock.yaml" }} + # paths: + # - ./node_modules + # - ./packages/eslint-config/node_modules + # - ./packages/eslint-rules/node_modules + # - ./packages/prettier-config/node_modules + # - ./packages/shared/node_modules + # - ./packages/webapp/node_modules + # - ./packages/extension/node_modules test_extension: executor: name: common/node - tag: "22.11" + tag: "22.16" parallelism: 1 steps: - common/setup-node @@ -57,7 +57,7 @@ jobs: test_webapp: executor: name: common/node - tag: "22.11" + tag: "22.16" parallelism: 1 steps: - common/setup-node @@ -76,7 +76,7 @@ jobs: lint_shared: executor: name: common/node - tag: "22.11" + tag: "22.16" resource_class: large steps: - common/setup-node @@ -87,7 +87,7 @@ jobs: test_shared: executor: name: common/node - tag: "22.11" + tag: "22.16" parallelism: 1 steps: - common/setup-node diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 919b82e74f..1f226bf3c4 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '22.11' + node-version: '22.16' - name: Install pnpm uses: pnpm/action-setup@v4 diff --git a/.nvmrc b/.nvmrc index 8b84b727be..f2a2bc6165 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.11 +22.16 diff --git a/AGENTS.md b/AGENTS.md index 65151d50c1..e1a4bba76b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,7 +26,7 @@ This is a pnpm monorepo containing the daily.dev application suite: ## Technology Stack -- **Node.js v22.11** (see `package.json` `volta` and `packageManager` properties, also `.nvmrc`) +- **Node.js v22.16** (see `package.json` `volta` and `packageManager` properties, also `.nvmrc`) - **pnpm 9.14.4** for package management (see `package.json` `packageManager` property) - **TypeScript** across all packages - **React 18.3.1** with Next.js 15 for webapp (Pages Router, NOT App Router/Server Components) diff --git a/Dockerfile b/Dockerfile index 97370657af..9e8fb58c2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.11-alpine +FROM node:22.16-alpine RUN apk add g++ make python3 RUN mkdir -p /opt/app diff --git a/README.md b/README.md index 60ab07bda5..7382120e54 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The decision was made to allow faster iterations and to keep features parity in ## Technologies -- Node v22.11 (a `.nvmrc` is presented for [nvm](https://github.com/nvm-sh/nvm) users). +- Node v22.16 (a `.nvmrc` is presented for [nvm](https://github.com/nvm-sh/nvm) users). - [pnpm](https://pnpm.io/workspaces) for managing the monorepo and dependencies. ## Projects diff --git a/packages/playwright/package.json b/packages/playwright/package.json index c3ba77430c..9a036df421 100644 --- a/packages/playwright/package.json +++ b/packages/playwright/package.json @@ -18,7 +18,7 @@ "typescript": "^5.6.0" }, "engines": { - "node": ">=22.11.0" + "node": ">=22.16.0" }, "dependencies": { "dotenv": "^17.2.1" From c1d8bb74b8463ee87f8a3f54df06249777504420 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:21:04 +0100 Subject: [PATCH 03/14] chore: cleanup --- .circleci/config.yml | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8b7c796d42..54190e222a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,31 +10,6 @@ jobs: tag: "22.16" steps: - common/setup-node - # install_deps: - # docker: - # - image: cimg/node:22.11 - # steps: - # - checkout - # - run: - # name: Install pnpm - # command: npm i --prefix=$HOME/.local -g pnpm@9.14.4 - # - restore_cache: - # keys: - # - deps-v7-{{ checksum "pnpm-lock.yaml" }} - # - deps-v7-{{ .Branch }} - # - run: - # name: Install dependencies - # command: pnpm install - # - save_cache: - # key: deps-v7-{{ checksum "pnpm-lock.yaml" }} - # paths: - # - ./node_modules - # - ./packages/eslint-config/node_modules - # - ./packages/eslint-rules/node_modules - # - ./packages/prettier-config/node_modules - # - ./packages/shared/node_modules - # - ./packages/webapp/node_modules - # - ./packages/extension/node_modules test_extension: executor: name: common/node From 1cb551681920d20e94460a23c932abc8b5ce53c3 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:27:27 +0100 Subject: [PATCH 04/14] refactor: run in matrix --- .circleci/config.yml | 72 ++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 50 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 54190e222a..bdb9ebe395 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,26 +10,11 @@ jobs: tag: "22.16" steps: - common/setup-node - test_extension: - executor: - name: common/node - tag: "22.16" - parallelism: 1 - steps: - - common/setup-node - - run: - name: Test - command: | - npm run pretest - TEST=$(./node_modules/.bin/jest --listTests) - echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings - environment: - JEST_JUNIT_OUTPUT_DIR: ../../test-results - JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" - working_directory: packages/extension - - store_test_results: - path: ./test-results - test_webapp: + + test-package: + parameters: + pkg: + type: string executor: name: common/node tag: "22.16" @@ -39,16 +24,19 @@ jobs: - run: name: Test command: | - npm run pretest TEST=$(./node_modules/.bin/jest --listTests) echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings environment: JEST_JUNIT_OUTPUT_DIR: ../../test-results JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" - working_directory: packages/webapp + working_directory: packages/<< parameters.pkg >> - store_test_results: path: ./test-results - lint_shared: + + lint-package: + parameters: + pkg: + type: string executor: name: common/node tag: "22.16" @@ -57,39 +45,23 @@ jobs: - common/setup-node - run: name: Lint - command: npm run pretest - working_directory: packages/shared - test_shared: - executor: - name: common/node - tag: "22.16" - parallelism: 1 - steps: - - common/setup-node - - run: - name: Test + working_directory: packages/<< parameters.pkg >> command: | - TEST=$(./node_modules/.bin/jest --listTests) - echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings - environment: - JEST_JUNIT_OUTPUT_DIR: ../../test-results - JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" - working_directory: packages/shared - - store_test_results: - path: ./test-results + pnpm run lint workflows: build: jobs: - setup-node - - test_extension: + - lint-package: requires: - setup-node - - test_webapp: - requires: - - setup-node - - lint_shared: - requires: - - setup-node - - test_shared: + matrix: + parameters: + pkg: ["extension", "webapp", "shared"] + + - test-package: requires: - setup-node + matrix: + parameters: + pkg: ["extension", "webapp", "shared"] From 2640298839c96b368de747a199e94fc2392db9e0 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:28:34 +0100 Subject: [PATCH 05/14] fix: add final no-op --- .circleci/config.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index bdb9ebe395..6f7c00a3a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,6 +4,9 @@ orbs: common: dailydotdev/common@0.0.14 jobs: + check-steps: + type: no-op + setup-node: executor: name: common/node @@ -65,3 +68,8 @@ workflows: matrix: parameters: pkg: ["extension", "webapp", "shared"] + + - check-steps: + requires: + - lint-package + - test-package From 6cfc5243ffd9064b811c5aaba9dd694d4a05f708 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:35:06 +0100 Subject: [PATCH 06/14] fix: parallelism --- .circleci/config.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6f7c00a3a3..fc16156e49 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,10 +18,13 @@ jobs: parameters: pkg: type: string + parallelism: + type: integer + default: 1 executor: name: common/node tag: "22.16" - parallelism: 1 + parallelism: << parameters.parallelism >> steps: - common/setup-node - run: @@ -68,6 +71,7 @@ workflows: matrix: parameters: pkg: ["extension", "webapp", "shared"] + parallelism: [1, 2, 4] - check-steps: requires: From 390f5f5f8779c4928ef8681b42c988209f9420b7 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:39:12 +0100 Subject: [PATCH 07/14] fix: actually parallelism --- .circleci/config.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fc16156e49..9db7957721 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -71,7 +71,14 @@ workflows: matrix: parameters: pkg: ["extension", "webapp", "shared"] - parallelism: [1, 2, 4] + include: + - pkg: "extension" + parallelism: 1 + - pkg: "webapp" + parallelism: 2 + - pkg: "shared" + parallelism: 4 + name: test-package-<< matrix.pkg >> - check-steps: requires: From 73f48427eba40d739a441718c7872aa0c97294a3 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:44:58 +0100 Subject: [PATCH 08/14] fix: proper file path --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9db7957721..73e716792b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -33,11 +33,12 @@ jobs: TEST=$(./node_modules/.bin/jest --listTests) echo $TEST | circleci tests run --command="xargs ./node_modules/.bin/jest --ci --runInBand --reporters=default --reporters=jest-junit --" --split-by=timings environment: - JEST_JUNIT_OUTPUT_DIR: ../../test-results + JEST_JUNIT_OUTPUT_DIR: ./test-results JEST_JUNIT_ADD_FILE_ATTRIBUTE: "true" + JEST_JUNIT_FILE_PATH_PREFIX: "/home/circleci/project/packages/<< parameters.pkg >>/" working_directory: packages/<< parameters.pkg >> - store_test_results: - path: ./test-results + path: ./packages/<< parameters.pkg >>/test-results lint-package: parameters: From dc51512ad44e41ed2a836729d5f7e58e9a5c4ff8 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:46:08 +0100 Subject: [PATCH 09/14] fix: lint on small --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 73e716792b..9dd33518b3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -47,7 +47,7 @@ jobs: executor: name: common/node tag: "22.16" - resource_class: large + resource_class: small steps: - common/setup-node - run: From 6987a796aff60a7640f6c3b65d6d6cc64da56685 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:48:43 +0100 Subject: [PATCH 10/14] fix: no but actually parallelism --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9dd33518b3..7641573566 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -72,6 +72,7 @@ workflows: matrix: parameters: pkg: ["extension", "webapp", "shared"] + parallelism: [1] include: - pkg: "extension" parallelism: 1 From 021f88c046eb353e815cf822d0a9fb369c94eaff Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:57:46 +0100 Subject: [PATCH 11/14] fix: fml hardcode parallelism --- .circleci/config.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7641573566..3061c654ea 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,13 +18,10 @@ jobs: parameters: pkg: type: string - parallelism: - type: integer - default: 1 executor: name: common/node tag: "22.16" - parallelism: << parameters.parallelism >> + parallelism: 4 steps: - common/setup-node - run: @@ -72,15 +69,6 @@ workflows: matrix: parameters: pkg: ["extension", "webapp", "shared"] - parallelism: [1] - include: - - pkg: "extension" - parallelism: 1 - - pkg: "webapp" - parallelism: 2 - - pkg: "shared" - parallelism: 4 - name: test-package-<< matrix.pkg >> - check-steps: requires: From 86f7a144884efbcbda5f0b74ac0710153749dfc2 Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:08:17 +0100 Subject: [PATCH 12/14] fix: store junit files --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3061c654ea..77499e8cee 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,7 +36,8 @@ jobs: working_directory: packages/<< parameters.pkg >> - store_test_results: path: ./packages/<< parameters.pkg >>/test-results - + - store_artifacts: + path: ./packages/<< parameters.pkg >>/test-results lint-package: parameters: pkg: From 2a4d975c56511130dd7b60d8ad3b65ddafa5ae5d Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:12:34 +0100 Subject: [PATCH 13/14] chore: bump `jest-junit` --- packages/extension/package.json | 2 +- packages/shared/package.json | 2 +- packages/webapp/package.json | 2 +- pnpm-lock.yaml | 34 ++++++++++----------------------- 4 files changed, 13 insertions(+), 27 deletions(-) diff --git a/packages/extension/package.json b/packages/extension/package.json index e506c16269..632241b449 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -84,7 +84,7 @@ "html-webpack-plugin": "^5.5.3", "identity-obj-proxy": "^3.0.0", "jest": "^26.6.3", - "jest-junit": "^12.3.0", + "jest-junit": "^16.0.0", "mini-css-extract-plugin": "^1.6.2", "nock": "^13.2.4", "node-fetch": "^2.6.6", diff --git a/packages/shared/package.json b/packages/shared/package.json index 626385ee50..53de90a9d6 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -77,7 +77,7 @@ "idb-keyval": "^5.1.5", "identity-obj-proxy": "^3.0.0", "jest": "^26.6.3", - "jest-junit": "^12.3.0", + "jest-junit": "^16.0.0", "next": "15.4.10", "nock": "^13.3.1", "postcss": "^8.4.47", diff --git a/packages/webapp/package.json b/packages/webapp/package.json index b630790170..c64508d0b7 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -84,7 +84,7 @@ "fake-indexeddb": "^3.1.7", "identity-obj-proxy": "^3.0.0", "jest": "^26.6.3", - "jest-junit": "^12.3.0", + "jest-junit": "^16.0.0", "nock": "^13.2.4", "node-fetch": "^2.6.7", "postcss": "^8.4.47", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb8a08e498..60f46f0f07 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -292,8 +292,8 @@ importers: specifier: ^26.6.3 version: 26.6.3 jest-junit: - specifier: ^12.3.0 - version: 12.3.0 + specifier: ^16.0.0 + version: 16.0.0 mini-css-extract-plugin: specifier: ^1.6.2 version: 1.6.2(webpack@5.97.0) @@ -635,8 +635,8 @@ importers: specifier: ^26.6.3 version: 26.6.3 jest-junit: - specifier: ^12.3.0 - version: 12.3.0 + specifier: ^16.0.0 + version: 16.0.0 next: specifier: 15.4.10 version: 15.4.10(@babel/core@7.26.0)(@playwright/test@1.54.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.82.0) @@ -1027,8 +1027,8 @@ importers: specifier: ^26.6.3 version: 26.6.3 jest-junit: - specifier: ^12.3.0 - version: 12.3.0 + specifier: ^16.0.0 + version: 16.0.0 nock: specifier: ^13.2.4 version: 13.5.6 @@ -4054,10 +4054,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -6490,8 +6486,8 @@ packages: resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} engines: {node: '>= 10.14.2'} - jest-junit@12.3.0: - resolution: {integrity: sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g==} + jest-junit@16.0.0: + resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==} engines: {node: '>=10.12.0'} jest-leak-detector@26.6.2: @@ -8684,10 +8680,6 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -12751,8 +12743,6 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-regex@4.1.1: {} - ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -15598,10 +15588,10 @@ snapshots: - ts-node - utf-8-validate - jest-junit@12.3.0: + jest-junit@16.0.0: dependencies: mkdirp: 1.0.4 - strip-ansi: 5.2.0 + strip-ansi: 6.0.1 uuid: 8.3.2 xml: 1.0.1 @@ -18228,10 +18218,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 From 645afa95220b6362c786910c81b7a1ac05c7b38b Mon Sep 17 00:00:00 2001 From: Ole-Martin Bratteng <1681525+omBratteng@users.noreply.github.com> Date: Wed, 17 Dec 2025 18:08:36 +0100 Subject: [PATCH 14/14] feat: cache eslint --- .circleci/config.yml | 8 ++++++++ .gitignore | 4 +++- packages/extension/package.json | 4 ++-- packages/shared/package.json | 4 ++-- packages/webapp/package.json | 4 ++-- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 77499e8cee..20f8e64c4d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,11 +48,19 @@ jobs: resource_class: small steps: - common/setup-node + - restore_cache: + keys: + - v1-eslintcache-<< parameters.pkg >>-{{ checksum "packages/<< parameters.pkg >>/package.json" }} + - v1-eslintcache-<< parameters.pkg >>- - run: name: Lint working_directory: packages/<< parameters.pkg >> command: | pnpm run lint + - save_cache: + key: v1-eslintcache-<< parameters.pkg >>-{{ checksum "packages/<< parameters.pkg >>/package.json" }} + paths: + - ./packages/<< parameters.pkg >>/.eslintcache workflows: build: jobs: diff --git a/.gitignore b/.gitignore index e7b35c505c..e5d2bcc6c5 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,6 @@ webapp.xml .idea/ # Figma MCP -figma-images/ \ No newline at end of file +figma-images/ + +.eslintcache diff --git a/packages/extension/package.json b/packages/extension/package.json index 632241b449..d9b6097fb4 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -4,8 +4,8 @@ "scripts": { "dev": "cross-env NODE_ENV=development cross-env TARGET_BROWSER=chrome webpack --watch", "build": "cross-env NODE_ENV=production cross-env TARGET_BROWSER=chrome webpack", - "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --fix", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0", + "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache --fix", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache", "pretest": "npm run lint", "test": "jest --runInBand" }, diff --git a/packages/shared/package.json b/packages/shared/package.json index 53de90a9d6..0de771503b 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -4,8 +4,8 @@ "main": "./src/index.ts", "license": "AGPL-3.0", "scripts": { - "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix --max-warnings 0", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0", + "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache --fix", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache", "pretest": "npm run lint", "test": "jest --runInBand" }, diff --git a/packages/webapp/package.json b/packages/webapp/package.json index c64508d0b7..ff017ab35e 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -8,8 +8,8 @@ "build": "next build", "build:notls": "NODE_TLS_REJECT_UNAUTHORIZED=0 pnpm run build", "start": "next start", - "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --fix", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0", + "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache --fix", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --cache", "pretest": "npm run lint", "test": "jest --runInBand", "deploy": "vercel"