Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 61 additions & 96 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,120 +1,85 @@
version: 2.1

orbs:
common: dailydotdev/common@0.0.14

jobs:
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:
docker:
- image: cimg/node:22.11
parallelism: 1
check-steps:
type: no-op

setup-node:
executor:
name: common/node
tag: "22.16"
steps:
- checkout
- restore_cache:
keys:
- deps-v7-{{ checksum "pnpm-lock.yaml" }}
- deps-v7-{{ .Branch }}
- 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
working_directory: packages/extension
- store_test_results:
path: ./test-results
test_webapp:
docker:
- image: cimg/node:22.11
parallelism: 1
- common/setup-node

test-package:
parameters:
pkg:
type: string
executor:
name: common/node
tag: "22.16"
parallelism: 4
steps:
- checkout
- restore_cache:
keys:
- deps-v7-{{ checksum "pnpm-lock.yaml" }}
- deps-v7-{{ .Branch }}
- 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
working_directory: packages/webapp
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
lint_shared:
docker:
- image: cimg/node:22.11
resource_class: large
path: ./packages/<< parameters.pkg >>/test-results
- store_artifacts:
path: ./packages/<< parameters.pkg >>/test-results
lint-package:
parameters:
pkg:
type: string
executor:
name: common/node
tag: "22.16"
resource_class: small
steps:
- checkout
- common/setup-node
- restore_cache:
keys:
- deps-v7-{{ checksum "pnpm-lock.yaml" }}
- deps-v7-{{ .Branch }}
- v1-eslintcache-<< parameters.pkg >>-{{ checksum "packages/<< parameters.pkg >>/package.json" }}
- v1-eslintcache-<< parameters.pkg >>-
- run:
name: Lint
command: npm run pretest
working_directory: packages/shared
test_shared:
docker:
- image: cimg/node:22.11
parallelism: 1
steps:
- checkout
- restore_cache:
keys:
- deps-v7-{{ checksum "pnpm-lock.yaml" }}
- deps-v7-{{ .Branch }}
- 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
working_directory: packages/shared
- store_test_results:
path: ./test-results
pnpm run lint
- save_cache:
key: v1-eslintcache-<< parameters.pkg >>-{{ checksum "packages/<< parameters.pkg >>/package.json" }}
paths:
- ./packages/<< parameters.pkg >>/.eslintcache
workflows:
build:
jobs:
- install_deps
- test_extension:
requires:
- install_deps
- test_webapp:
- setup-node
- lint-package:
requires:
- install_deps
- lint_shared:
- setup-node
matrix:
parameters:
pkg: ["extension", "webapp", "shared"]

- test-package:
requires:
- install_deps
- test_shared:
- setup-node
matrix:
parameters:
pkg: ["extension", "webapp", "shared"]

- check-steps:
requires:
- install_deps
- lint-package
- test-package
2 changes: 1 addition & 1 deletion .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,6 @@ webapp.xml
.idea/

# Figma MCP
figma-images/
figma-images/

.eslintcache
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22.11
22.16
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions packages/extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
},
Expand Down Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion packages/playwright/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"typescript": "^5.6.0"
},
"engines": {
"node": ">=22.11.0"
"node": ">=22.16.0"
},
"dependencies": {
"dotenv": "^17.2.1"
Expand Down
6 changes: 3 additions & 3 deletions packages/shared/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
},
Expand Down Expand Up @@ -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",
Expand Down
6 changes: 3 additions & 3 deletions packages/webapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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",
Expand Down
34 changes: 10 additions & 24 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.