Skip to content

Commit 3c16cf8

Browse files
authored
Merge branch 'master' into release_24_10_to_master
2 parents a6e50ac + a5f6fce commit 3c16cf8

File tree

318 files changed

+16860
-3683
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

318 files changed

+16860
-3683
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ root = true
44
end_of_line = lf
55
insert_final_newline = false
66

7-
[*.{js,html,scss,json}]
7+
[*.{js,html,scss,json,vue}]
88
indent_style = space
99
indent_size = 4

.eslintrc.json

Lines changed: 93 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,62 @@
121121
]
122122
},
123123
"overrides": [
124+
{
125+
"files": [
126+
"plugins/content/frontend/vite.config.js",
127+
"plugins/journey_engine/frontend/vite.config.js",
128+
"plugins/journey_engine/frontend/vite-manifest.js"
129+
],
130+
"rules": {
131+
"no-console": "off"
132+
},
133+
"parserOptions": {
134+
"ecmaVersion": 2023,
135+
"sourceType": "module"
136+
},
137+
"env": {
138+
"node": true,
139+
"es2023": true
140+
}
141+
},
142+
{
143+
"files": [
144+
"plugins/content/frontend/content-blocks/**/*.js",
145+
"plugins/journey_engine/frontend/builder/**/*.js",
146+
"plugins/content/frontend/content-blocks/**/*.vue",
147+
"plugins/journey_engine/frontend/builder/**/*.vue"
148+
],
149+
"plugins": [
150+
"vue",
151+
"@stylistic"
152+
],
153+
"extends": [
154+
"eslint:recommended",
155+
"plugin:vue/vue3-essential",
156+
"plugin:vue/vue3-strongly-recommended",
157+
"plugin:vue/vue3-recommended"
158+
],
159+
"rules": {
160+
// override these post initial content release, to make them fit with countly convention
161+
"no-console": ["error"],
162+
"@stylistic/quotes": ["error", "single"],
163+
"@stylistic/quote-props": ["error", "as-needed"],
164+
"no-unused-vars": "off",
165+
"vue/no-unused-vars": ["error", {
166+
"ignorePattern": "^_"
167+
}]
168+
},
169+
"parserOptions": {
170+
"ecmaVersion": 2023,
171+
"sourceType": "module",
172+
"extraFileExtensions": [".vue"]
173+
},
174+
"env": {
175+
"node": true,
176+
"es2023": true,
177+
"es6": true
178+
}
179+
},
124180
{
125181
"files": [
126182
"frontend/express/public/javascripts/countly/*.js",
@@ -195,6 +251,28 @@
195251
]
196252
}
197253
},
254+
{
255+
"files": [ "plugins/content/api/positioning/**/*.js" ],
256+
"parserOptions": {
257+
"ecmaVersion": 2023,
258+
"sourceType": "module"
259+
},
260+
"env": {
261+
"node": true,
262+
"es2023": true
263+
}
264+
},
265+
{
266+
"files": [ "plugins/content/api/positioning/**/*.cjs" ],
267+
"parserOptions": {
268+
"ecmaVersion": 2023,
269+
"sourceType": "commonjs"
270+
},
271+
"env": {
272+
"node": true,
273+
"es2023": true
274+
}
275+
},
198276
{
199277
"files": [
200278
"api/**/*.js",
@@ -206,13 +284,19 @@
206284
"plugins/*/frontend/**/*.js",
207285
"plugins/*/extend/**/*.js"
208286
],
209-
"excludedFiles": "plugins/*/frontend/public/**/*.js",
287+
"excludedFiles": [
288+
"plugins/*/frontend/public/**/*.js",
289+
"plugins/content/frontend/content-blocks/**/*.js",
290+
"plugins/journey_engine/frontend/builder/**/*.js",
291+
"plugins/content/frontend/content-blocks/**/*.vue",
292+
"plugins/journey_engine/frontend/builder/**/*.vue"
293+
],
210294
"env": {
211-
"es2020": true,
295+
"es2023": true,
212296
"node": true
213297
},
214298
"parserOptions": {
215-
"ecmaVersion": 2020
299+
"ecmaVersion": 2023
216300
},
217301
"rules": {
218302
"no-console": "off",
@@ -285,11 +369,11 @@
285369
],
286370
"excludedFiles": "plugins/*/tests.js",
287371
"env": {
288-
"es2020": true,
372+
"es2023": true,
289373
"node": true
290374
},
291375
"parserOptions": {
292-
"ecmaVersion": 2020
376+
"ecmaVersion": 2023
293377
},
294378
"rules": {
295379
"no-console": "off"
@@ -302,13 +386,12 @@
302386
"plugins/*/tests.js"
303387
],
304388
"env": {
305-
"es2020": true,
389+
"es2023": true,
306390
"node": true,
307391
"mocha": true
308392
},
309393
"parserOptions": {
310-
"ecmaVersion": 2020,
311-
"sourceType": "module"
394+
"ecmaVersion": 2023
312395
},
313396
"rules": {
314397
"no-console": "off",
@@ -321,7 +404,7 @@
321404
"ui-tests/**/*.js"
322405
],
323406
"env": {
324-
"es2020": true,
407+
"es2023": true,
325408
"node": true,
326409
"mocha": true
327410
},
@@ -330,7 +413,7 @@
330413
"cy": "readonly"
331414
},
332415
"parserOptions": {
333-
"ecmaVersion": 2020,
416+
"ecmaVersion": 2023,
334417
"sourceType": "module"
335418
},
336419
"rules": {

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: Deploy
66
on:
77
# Triggers the workflow on push or pull request events but only for the master branch
88
push:
9-
branches: [ master, next ]
9+
branches: [ master, next, release.24.10, release.24.12 ]
1010

1111
# Allows you to run this workflow manually from the Actions tab
1212
workflow_dispatch:

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ jobs:
105105
- name: ESLint
106106
shell: bash
107107
run: |
108-
npm install [email protected]
108+
109109
npx eslint .
110110
111111
- name: NPM install
@@ -302,7 +302,7 @@ jobs:
302302
cd ui-tests
303303
npm install
304304
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
305-
npm run cy:run:dashboard --headless --no-sandbox --disable-gpu --disable-dev-shm-usage
305+
npm run cy:run:dashboard
306306
307307
- name: Upload UI tests artifacts
308308
if: ${{ failure() }}
@@ -381,7 +381,7 @@ jobs:
381381
cd ui-tests
382382
npm install
383383
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
384-
npm run cy:run:onboarding --headless --no-sandbox --disable-gpu --disable-dev-shm-usage
384+
npm run cy:run:onboarding
385385
386386
- name: Upload UI tests artifacts
387387
if: ${{ failure() }}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This is a basic workflow to help you get started with Actions
2+
3+
name: Deploy Journey Engine
4+
5+
# Controls when the workflow will run
6+
on:
7+
# Triggers the workflow on push or pull request events but only for the master branch
8+
push:
9+
branches: [ next ]
10+
11+
# Allows you to run this workflow manually from the Actions tab
12+
workflow_dispatch:
13+
14+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
15+
jobs:
16+
# This workflow contains a single job called "build"
17+
deploy:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
22+
- uses: actions/checkout@v3
23+
24+
- name: Deploy server
25+
shell: bash
26+
env:
27+
SSH_PRIVATE_KEY: ${{ secrets.STABLE_JE_SSH_PRIVATE_KEY }}
28+
run: bash ./bin/scripts/deploy-je.sh

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ frontend/express/public/stylesheets/vue/clyvue.css.map
4343
log/
4444
log/supervisord/
4545
plugins/plugins.json.*
46-
.sdk
46+
.sdk
47+
dump
48+
dist/

.vscode/README.devsetup.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# Local Development Setup Guide - macOS/Ubuntu
2+
3+
## Prerequisites
4+
- macOS 10.15 or later / Ubuntu 22.04/24.04 LTS
5+
- Terminal access
6+
- Homebrew package manager
7+
8+
## Installation Steps
9+
10+
### 1. Install [Homebrew](https://brew.sh/) (if not installed) (macOS only)
11+
```bash
12+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
13+
```
14+
15+
### 2. Install MongoDB
16+
17+
[macOS](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/):
18+
19+
```bash
20+
brew tap mongodb/brew
21+
brew install mongodb-community
22+
brew services start mongodb-community
23+
```
24+
25+
[Ubuntu](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/):
26+
27+
```bash
28+
# Install required packages
29+
sudo apt-get install -y gnupg curl unzip
30+
31+
# Import MongoDB public GPG key
32+
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
33+
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
34+
--dearmor
35+
36+
# Create list file for MongoDB
37+
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | \
38+
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
39+
40+
# Update and install MongoDB
41+
sudo apt-get update
42+
sudo apt-get install -y mongodb-org
43+
44+
# Start and enable MongoDB service
45+
sudo systemctl start mongod
46+
sudo systemctl enable mongod
47+
```
48+
49+
### 3. Install [Fast Node Manager (fnm)](https://github.com/Schniz/fnm) (if no Node.js version manager is installed)
50+
```bash
51+
curl -fsSL https://fnm.vercel.app/install | bash
52+
```
53+
54+
Add fnm to your shell configuration:
55+
56+
macOS:
57+
58+
```bash
59+
echo 'eval "$(fnm env --use-on-cd)"' >> ~/.zshrc
60+
source ~/.zshrc
61+
```
62+
Ubuntu:
63+
64+
```bash
65+
echo 'eval "$(fnm env --use-on-cd)"' >> ~/.bashrc
66+
source ~/.bashrc
67+
```
68+
69+
### 4. Install Node.js
70+
```bash
71+
fnm install 22
72+
fnm use 22
73+
```
74+
75+
Verify the installation:
76+
```bash
77+
node --version
78+
npm --version
79+
```
80+
81+
### 5. Run Development Setup Script
82+
83+
Copy the `devsetup.sh` script from `.vscode/devsetup.sh` to your project directory (script clones the repo automatically).
84+
1. Navigate to your project directory
85+
2. Make the setup script executable:
86+
```bash
87+
chmod +x ./devsetup.sh
88+
```
89+
90+
1. Run the setup script:
91+
```bash
92+
./devsetup.sh
93+
```
94+
95+
The script will:
96+
- Clone the repository
97+
- Install dependencies
98+
- Configure the development environment
99+
100+
### 6. Start the Development of Server/Client
101+
102+
Use the debug configuration(server/client) in VS Code to run the code.
103+
104+
By default client runs on `locahost:6001` and server runs on `localhost:3001`
105+
106+
107+
## Verification
108+
After installation, verify all components:
109+
110+
- MongoDB:
111+
112+
macOS:
113+
114+
```bash
115+
brew services list | grep mongodb
116+
```
117+
118+
Ubuntu:
119+
120+
```bash
121+
sudo systemctl status mongod
122+
```
123+
124+
- Node.js:
125+
```bash
126+
node --version
127+
```
128+
129+
## Troubleshooting
130+
- If MongoDB fails to start, try:
131+
132+
macOS:
133+
134+
```bash
135+
brew services restart mongodb-community
136+
```
137+
138+
Ubuntu:
139+
140+
```bash
141+
sudo systemctl restart mongod
142+
sudo systemctl status mongod
143+
```
144+
145+
- If the setup script fails, check the generated log file in the current directory named \`setup_YYYYMMDD_HHMMSS.log\`

0 commit comments

Comments
 (0)