diff --git a/.cspell.json b/.cspell.json index 5d1757422e2..45f599c0c5b 100644 --- a/.cspell.json +++ b/.cspell.json @@ -499,7 +499,10 @@ "reactjs", "nextjs", "vanillajs", + "quckstart", "errmsg", + "devcontainer", + "INITDB", "springboot", "errmsg", "shelljs", diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 73ca2ecbca2..cc46bcd477c 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster -ARG VARIANT=16-bullseye +ARG VARIANT=18-bullseye FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} # Install MongoDB command line tools if on buster and x86_64 (arm64 not supported) @@ -23,6 +23,3 @@ RUN . /etc/os-release \ # [Optional] Uncomment if you want to install more global node modules RUN su node -c "npm install -g pnpm@7.33.4" - - - diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 30c8a74bae2..8ecbfd6112d 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -9,7 +9,7 @@ services: # Update 'VARIANT' to pick an LTS version of Node.js: 16, 14, 12. # Append -bullseye or -buster to pin to an OS version. # Use -bullseye variants on local arm64/Apple Silicon. - VARIANT: 16-bullseye + VARIANT: 18-bullseye volumes: - ..:/workspace:cached diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index a5ea37cd2e3..83a71d70d52 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -64,7 +64,7 @@ body: attributes: label: node version description: In case of self-hosting or local installation mention the node version. If using our cloud-managed solution, mention NA. - placeholder: 16.0.0 + placeholder: 18.0.0 - type: textarea id: additional-context validations: diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index f336296f986..3f37634402b 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -28,7 +28,7 @@ runs: - uses: actions/setup-node@v3 name: ⚙️ Setup Node Version with: - node-version: '16.15.1' + node-version: '18.17.1' cache: 'pnpm' - name: 💵 Start Redis diff --git a/.github/workflows/community-label.yml b/.github/workflows/community-label.yml index c317dfe0c80..a7b9f508300 100644 --- a/.github/workflows/community-label.yml +++ b/.github/workflows/community-label.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install Octokit run: npm --prefix .github/workflows/scripts install @octokit/action diff --git a/.github/workflows/issue-label.yml b/.github/workflows/issue-label.yml index a5b107db6f3..fd783bfcf15 100644 --- a/.github/workflows/issue-label.yml +++ b/.github/workflows/issue-label.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install Octokit run: npm --prefix .github/workflows/scripts install @octokit/action diff --git a/.github/workflows/milestone-assign.yml b/.github/workflows/milestone-assign.yml index e1e48065dab..8dee14fb807 100644 --- a/.github/workflows/milestone-assign.yml +++ b/.github/workflows/milestone-assign.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 - name: Install Octokit run: npm --prefix .github/workflows/scripts install @octokit/action diff --git a/.github/workflows/reusable-web-e2e.yml b/.github/workflows/reusable-web-e2e.yml index 4cbc5f16302..7c53f19e90b 100644 --- a/.github/workflows/reusable-web-e2e.yml +++ b/.github/workflows/reusable-web-e2e.yml @@ -90,7 +90,7 @@ jobs: cd apps/ws && pnpm start:test & - name: Wait on Services - run: wait-on --timeout=180000 http://localhost:1340/v1/health-check http://localhost:4200 + run: wait-on --timeout=180000 http://localhost:1340/v1/health-check http://0.0.0.0:4200/ # run cypress install only when cache was not hit - name: Cypress install diff --git a/.github/workflows/reusable-widget-e2e.yml b/.github/workflows/reusable-widget-e2e.yml index 2e786ce7ed2..dd437b1ba7b 100644 --- a/.github/workflows/reusable-widget-e2e.yml +++ b/.github/workflows/reusable-widget-e2e.yml @@ -93,7 +93,7 @@ jobs: cd apps/ws && pnpm start:prod & - name: Wait on Widget and WS Services - run: wait-on --timeout=180000 http://localhost:1340/v1/health-check http://localhost:3500 + run: wait-on --timeout=180000 http://localhost:1340/v1/health-check http://0.0.0.0:3500/ - name: Cypress install if: steps.setup-project.outputs.cypress_cache_hit != 'true' @@ -108,7 +108,7 @@ jobs: CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_WIDGET_KEY }} with: working-directory: apps/widget - wait-on: http://localhost:3500 + wait-on: http://0.0.0.0:3500/ browser: chrome install: false record: true diff --git a/.github/workflows/tag-images.yml b/.github/workflows/tag-images.yml index 5ff1258b229..8cc14d0e822 100644 --- a/.github/workflows/tag-images.yml +++ b/.github/workflows/tag-images.yml @@ -26,7 +26,7 @@ jobs: run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - uses: actions/setup-node@v3 with: - node-version: '16.15.1' + node-version: '18.17.1' - name: Login to docker env: @@ -125,4 +125,3 @@ jobs: docker pull ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:prod docker tag ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:prod ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$DOCKER_VERSION docker push ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$DOCKER_VERSION - diff --git a/.nvmrc b/.nvmrc index d9289897d30..4a1f488b6c3 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.15.1 +18.17.1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 099f7c724d3..83f1a553976 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ You can open a new issue with this [issue form](https://github.com/novuhq/novu/i ### Requirements -- Node.js version v14.19.3 +- Node.js version v18.17.1 (LTS) - MongoDB - Redis. To install Redis on your O.S, please follow the below guides - [To install Redis on Windows](https://redis.io/docs/getting-started/installation/install-redis-on-windows/) diff --git a/_templates/provider/new/package.ejs.t b/_templates/provider/new/package.ejs.t index aa94ddba9dc..076b3cd9fd2 100644 --- a/_templates/provider/new/package.ejs.t +++ b/_templates/provider/new/package.ejs.t @@ -34,7 +34,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 05b4170e517..6547280e46b 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine as dev_base +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine as dev_base ARG BULL_MQ_PRO_TOKEN ENV BULL_MQ_PRO_NPM_TOKEN=$BULL_MQ_PRO_TOKEN diff --git a/apps/inbound-mail/Dockerfile b/apps/inbound-mail/Dockerfile index 6592c77d7aa..a9bfd435c16 100644 --- a/apps/inbound-mail/Dockerfile +++ b/apps/inbound-mail/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine as dev_base +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine as dev_base ARG BULL_MQ_PRO_TOKEN ENV BULL_MQ_PRO_NPM_TOKEN=$BULL_MQ_PRO_TOKEN diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index ab2f64095a8..d515f5f52a6 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -1,5 +1,5 @@ # start build stage -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine as builder +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine as builder ENV NX_DAEMON=false WORKDIR /usr/src/app @@ -37,7 +37,7 @@ RUN NX_DAEMON=false pnpm build:web # end build stage # start production stage -FROM node:16-alpine +FROM node:18-alpine WORKDIR /app diff --git a/apps/web/cypress.config.ts b/apps/web/cypress.config.ts index ba218888be9..534714d6bb3 100644 --- a/apps/web/cypress.config.ts +++ b/apps/web/cypress.config.ts @@ -34,13 +34,13 @@ export default defineConfig({ // eslint-disable-next-line import/extensions return require('./cypress/plugins/index.ts')(on, config); }, - baseUrl: 'http://localhost:4200', + baseUrl: 'http://127.0.0.1:4200', specPattern: 'cypress/tests/**/*.{js,jsx,ts,tsx}', }, env: { NODE_ENV: 'test', - apiUrl: 'http://localhost:1336', + apiUrl: 'http://127.0.0.1:1336', GITHUB_USER_EMAIL: '', GITHUB_USER_PASSWORD: '', BLUEPRINT_CREATOR: '645b648b36dd6d25f8650d37', diff --git a/apps/webhook/Dockerfile b/apps/webhook/Dockerfile index a3bde25c75c..cb1d67fd3bf 100644 --- a/apps/webhook/Dockerfile +++ b/apps/webhook/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine as dev_base +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine as dev_base ENV NX_DAEMON=false RUN npm i pm2 -g diff --git a/apps/widget/Dockerfile b/apps/widget/Dockerfile index 6f36836b2be..e52270634af 100644 --- a/apps/widget/Dockerfile +++ b/apps/widget/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine ENV NX_DAEMON=false WORKDIR /usr/src/app diff --git a/apps/worker/Dockerfile b/apps/worker/Dockerfile index a0ee51501fc..045c6bf127c 100644 --- a/apps/worker/Dockerfile +++ b/apps/worker/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine as dev_base +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine as dev_base RUN apk --update --no-cache add curl ENV NX_DAEMON=false diff --git a/apps/ws/Dockerfile b/apps/ws/Dockerfile index 95097cdb8dc..61e035b3363 100644 --- a/apps/ws/Dockerfile +++ b/apps/ws/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16-alpine3.16 +FROM node:18-alpine3.16 ARG BULL_MQ_PRO_TOKEN ENV BULL_MQ_PRO_NPM_TOKEN=$BULL_MQ_PRO_TOKEN diff --git a/libs/embed/Dockerfile b/libs/embed/Dockerfile index ae1df77321e..d729d3b8fab 100644 --- a/libs/embed/Dockerfile +++ b/libs/embed/Dockerfile @@ -1,4 +1,4 @@ -FROM nikolaik/python-nodejs:python3.10-nodejs16-alpine +FROM nikolaik/python-nodejs:python3.10-nodejs18-alpine WORKDIR /usr/src/app diff --git a/package.json b/package.json index f330679d11c..036a73f1796 100644 --- a/package.json +++ b/package.json @@ -180,7 +180,7 @@ } }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.33.4" }, "dependencies": { diff --git a/providers/africas-talking/package.json b/providers/africas-talking/package.json index 1d309105880..8faf150d53d 100644 --- a/providers/africas-talking/package.json +++ b/providers/africas-talking/package.json @@ -30,7 +30,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/forty-six-elks/package.json b/providers/forty-six-elks/package.json index a9a4db2c215..8e0afa9323c 100644 --- a/providers/forty-six-elks/package.json +++ b/providers/forty-six-elks/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/maqsam/package.json b/providers/maqsam/package.json index 87fce89928b..892c0d4de3d 100644 --- a/providers/maqsam/package.json +++ b/providers/maqsam/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/mattermost/package.json b/providers/mattermost/package.json index 72184969a98..c4b03d5e0ca 100644 --- a/providers/mattermost/package.json +++ b/providers/mattermost/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/one-signal/package.json b/providers/one-signal/package.json index 81a38f9a2cf..056d87b5800 100644 --- a/providers/one-signal/package.json +++ b/providers/one-signal/package.json @@ -30,7 +30,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/plunk/package.json b/providers/plunk/package.json index 0cbf2a42b90..9cb5f6b30ea 100644 --- a/providers/plunk/package.json +++ b/providers/plunk/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/push-webhook/package.json b/providers/push-webhook/package.json index 626d75b315b..5c1466d3902 100644 --- a/providers/push-webhook/package.json +++ b/providers/push-webhook/package.json @@ -30,7 +30,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/sendchamp/package.json b/providers/sendchamp/package.json index ca84ca8fdfc..db79ea28073 100644 --- a/providers/sendchamp/package.json +++ b/providers/sendchamp/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/providers/sms-central/package.json b/providers/sms-central/package.json index fb9e80dd2d1..6c9e7d0d5d1 100644 --- a/providers/sms-central/package.json +++ b/providers/sms-central/package.json @@ -29,7 +29,7 @@ "access": "public" }, "engines": { - "node": ">=13.0.0 <17.0.0", + "node": ">=18 <19", "pnpm": "^7.26.0" }, "dependencies": { diff --git a/scripts/dev-environment-setup.sh b/scripts/dev-environment-setup.sh index e5bf357159c..61bca96688e 100755 --- a/scripts/dev-environment-setup.sh +++ b/scripts/dev-environment-setup.sh @@ -261,7 +261,7 @@ check_nvm () { } install_node () { - NODE_JS_VERSION="v16.15.1" + NODE_JS_VERSION="v18.17.1" SKIP="$(check_nvm)" @@ -512,4 +512,3 @@ install_os_dependencies () { install_os_dependencies clone_monorepo refresh_shell -