From 6f89ca8f16e06075f15a12ccb9dea780bb557d8d Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 18:49:34 +0100 Subject: [PATCH 01/28] Create CI workflow for Node.js application Set up CI workflow for pull requests on dev and master branches. --- .github/workflows/main.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..dee4acf --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,25 @@ +name: CI +'on': + pull_request: + branches: + - dev + - master +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + - name: Install pnpm + run: npm install -g pnpm + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Run ESLint + run: pnpm lint + - name: Build app + run: pnpm build From 81d2ee1a217e814d95ed7b235101b71da57510ef Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 18:55:01 +0100 Subject: [PATCH 02/28] Rename CI workflow configuration file main.yml -> ci.yml --- .github/workflows/{main.yml => ci.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{main.yml => ci.yml} (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/ci.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/workflows/ci.yml From 5de3cf41590ffb30db657fa46583e602d14a669c Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:01:21 +0100 Subject: [PATCH 03/28] Replace pnpm installation with Corepack enable There was an issue with installing globally pnpm --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dee4acf..63ec4b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: with: node-version: 22 cache: pnpm - - name: Install pnpm - run: npm install -g pnpm + - name: Enable Corepack + run: corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run ESLint From 20d9dc82bef52bc109e51c714671cdf1e6f536af Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:03:29 +0100 Subject: [PATCH 04/28] Replace Corepack enable with pnpm installation --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63ec4b0..a8d1546 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,10 @@ jobs: with: node-version: 22 cache: pnpm - - name: Enable Corepack - run: corepack enable + - name: Install pnpm + run: | + npm install -g pnpm + echo "$(npm bin -g)" >> $GITHUB_PATH - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run ESLint From 09c9f376659059ad20fcc5cbee31d4a821ce7fc4 Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:07:36 +0100 Subject: [PATCH 05/28] Update pnpm installation step in CI workflow Fix installation of pnpm by updating the PATH export. --- .github/workflows/ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8d1546..b3ca4bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,10 +15,9 @@ jobs: with: node-version: 22 cache: pnpm - - name: Install pnpm - run: | - npm install -g pnpm - echo "$(npm bin -g)" >> $GITHUB_PATH + - name: Install pnpm + run: | + npm install -g pnpm export PATH="(npmbin−g):PATH" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run ESLint From 303b9728a92851d11431f37e0814320e1db51eb7 Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:11:19 +0100 Subject: [PATCH 06/28] Update CI workflow to use pnpm action setup --- .github/workflows/ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b3ca4bb..60ff263 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,9 +15,11 @@ jobs: with: node-version: 22 cache: pnpm - - name: Install pnpm - run: | - npm install -g pnpm export PATH="(npmbin−g):PATH" + - name: Setup pnpm + uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + with: + run_install: true + version: 9 - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run ESLint From 60d126f0079a24e17b59745af5be32cc750b2d75 Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:18:15 +0100 Subject: [PATCH 07/28] Upgrade Node.js setup action and rename step Updated Node.js setup action to version 6.3.0 and improved step name for clarity. --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60ff263..ca0ccff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,10 +10,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 - - name: Setup Node - uses: actions/setup-node@v4 + - name: Setup Node.js environment + uses: actions/setup-node@v6.3.0 with: node-version: 22 + # Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm. cache: pnpm - name: Setup pnpm uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 From e4018a494d2ca7d09459eac23f5ed9798c610c31 Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:21:12 +0100 Subject: [PATCH 08/28] Refactor CI workflow for pull request checks --- .github/workflows/ci.yml | 41 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ca0ccff..85f0f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,29 +1,28 @@ -name: CI -'on': - pull_request: - branches: - - dev - - master +name: pr-check + +on: [ pull_request ] + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: true + jobs: - build: + check-dist: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Node.js environment - uses: actions/setup-node@v6.3.0 - with: - node-version: 22 - # Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm. - cache: pnpm + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + - name: Setup pnpm uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: run_install: true version: 9 - - name: Install dependencies - run: pnpm install --frozen-lockfile - - name: Run ESLint - run: pnpm lint - - name: Build app - run: pnpm build + + - name: Update dist/index.js + run: pnpm run build + + - name: Check for uncommitted changes in dist + run: git diff --exit-code dist/index.js From 16ed0b765c7f2b380ef62b3dd6c872dc5cc05611 Mon Sep 17 00:00:00 2001 From: Kyselov Nazar Date: Mon, 23 Mar 2026 19:24:22 +0100 Subject: [PATCH 09/28] Refactor CI workflow for improved checks Updated CI workflow to include ESLint and build steps. --- .github/workflows/ci.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 85f0f9e..a00da81 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,10 @@ -name: pr-check +name: CI -on: [ pull_request ] +'on': + pull_request: + branches: + - dev + - master permissions: contents: read @@ -13,7 +17,8 @@ jobs: check-dist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + - name: Checkout + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Setup pnpm uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 @@ -21,8 +26,11 @@ jobs: run_install: true version: 9 - - name: Update dist/index.js - run: pnpm run build - - - name: Check for uncommitted changes in dist - run: git diff --exit-code dist/index.js + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run ESLint + run: pnpm lint + + - name: Build app + run: pnpm build From 6ad74f03004bca0c4a1c830a5d7fca1246b17690 Mon Sep 17 00:00:00 2001 From: Nazar Kyselov Date: Mon, 23 Mar 2026 20:23:56 +0100 Subject: [PATCH 10/28] Set up WebStorm --- .idea/compiler.xml | 6 + .idea/inspectionProfiles/Project_Default.xml | 6 + .idea/jsLinters/eslint.xml | 6 + .idea/vcs.xml | 6 + .idea/workspace.xml | 132 +++++++++++++++++++ 5 files changed, 156 insertions(+) create mode 100644 .idea/compiler.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/jsLinters/eslint.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..e6ef4f3 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..03d9549 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/jsLinters/eslint.xml b/.idea/jsLinters/eslint.xml new file mode 100644 index 0000000..541945b --- /dev/null +++ b/.idea/jsLinters/eslint.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..73090e8 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + { + "lastFilter": { + "state": "OPEN", + "assignee": "Abviol" + } +} + { + "selectedUrlAndAccountId": { + "url": "git@github.com:Abviol/scent.git", + "accountId": "37551f6c-7b25-4992-94b9-e3f695799567" + } +} + { + "associatedIndex": 2 +} + + + + + + + + + + + + + + + +