Skip to content

Commit b1f72eb

Browse files
committed
v2.0.0
1 parent 3b41e87 commit b1f72eb

File tree

405 files changed

+4845
-12744
lines changed

Some content is hidden

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

405 files changed

+4845
-12744
lines changed

.eslintrc.yml

Lines changed: 0 additions & 91 deletions
This file was deleted.

.github/workflows/ci.yaml

Lines changed: 69 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,116 @@
1-
name: Comprehensive CI
1+
name: 🛠️ CI
22

33
on:
44
push:
5+
branches:
6+
- '**' # Runs on all branch pushes
7+
tags-ignore:
8+
- '**' # Ignore all tag pushes
59
repository_dispatch:
610
types: [ pr-approved ]
711

12+
env:
13+
PNPM_VERSION: '10'
14+
815
jobs:
916
build:
10-
name: Build
17+
name: 🏗️ Build
1118
runs-on: ubuntu-latest
1219
strategy:
1320
matrix:
14-
node-version: [ 16.x, 18.x, 20.x ]
21+
node-version: [20.x, 22.x]
1522
steps:
16-
- name: Checkout sources
23+
- name: 🔄 Checkout sources
1724
uses: actions/checkout@v4
18-
- name: Use Node.js ${{ matrix.node-version }}
25+
- name: ⚙️ Use Node.js ${{ matrix.node-version }}
1926
uses: actions/setup-node@v4
2027
with:
2128
node-version: ${{ matrix.node-version }}
22-
- name: Installing dependencies
23-
run: npm ci
24-
- name: Building sources
25-
run: npm run build
29+
- name: 📦 Install pnpm
30+
uses: pnpm/action-setup@v4
31+
with:
32+
version: ${{ env.PNPM_VERSION }}
33+
- name: 📌 Installing dependencies
34+
run: pnpm install --frozen-lockfile
35+
- name: 🛠️ Building sources
36+
run: pnpm run build
2637

2738
lint:
28-
name: Lint Code
39+
name: 🔍 Lint Code
2940
needs: build
3041
runs-on: ubuntu-latest
42+
strategy:
43+
matrix:
44+
node-version: [20.x, 22.x]
3145
steps:
32-
- name: Checkout sources
46+
- name: 🔄 Checkout sources
3347
uses: actions/checkout@v4
34-
- name: Use Node.js 18.x
48+
- name: ⚙️ Use Node.js ${{ matrix.node-version }}
3549
uses: actions/setup-node@v4
3650
with:
37-
node-version: 18.x
38-
- name: Installing dependencies
39-
run: npm ci
40-
- name: Linting
41-
run: npm run lint
51+
node-version: ${{ matrix.node-version }}
52+
- name: 📦 Install pnpm
53+
uses: pnpm/action-setup@v4
54+
with:
55+
version: ${{ env.PNPM_VERSION }}
56+
- name: 📌 Installing dependencies
57+
run: pnpm install --frozen-lockfile
58+
- name: ✨ Linting
59+
run: pnpm run lint
4260
env:
4361
CI: true
4462

4563
test_unit:
46-
name: Unit Tests
64+
name: 🧪 Unit Tests
4765
needs: build
4866
runs-on: ubuntu-latest
67+
strategy:
68+
matrix:
69+
node-version: [20.x, 22.x]
4970
steps:
50-
- name: Checkout sources
71+
- name: 🔄 Checkout sources
5172
uses: actions/checkout@v4
52-
- name: Use Node.js 18.x
73+
- name: ⚙️ Use Node.js ${{ matrix.node-version }}
5374
uses: actions/setup-node@v4
5475
with:
55-
node-version: 18.x
56-
- name: Installing dependencies
57-
run: npm ci
58-
- name: Running unit tests
59-
run: npm run test:unit
76+
node-version: ${{ matrix.node-version }}
77+
- name: 📦 Install pnpm
78+
uses: pnpm/action-setup@v4
79+
with:
80+
version: ${{ env.PNPM_VERSION }}
81+
- name: 📌 Installing dependencies
82+
run: pnpm install --frozen-lockfile
83+
- name: 🚀 Running unit tests
84+
run: pnpm run test:unit
6085

6186
test_integration:
62-
name: Integration Tests
63-
needs: [ lint, test_unit ]
87+
name: 🧩 Integration Tests
88+
needs:
89+
- lint
90+
- test_unit
6491
runs-on: ubuntu-latest
6592
strategy:
66-
matrix:
67-
node-version: [ 18.x ]
6893
max-parallel: 1
94+
matrix:
95+
node-version: [20.x, 22.x]
6996
steps:
70-
- name: Checkout sources
97+
- name: 🔄 Checkout sources
7198
uses: actions/checkout@v4
72-
- name: Use Node.js 18.x
99+
- name: ⚙️ Use Node.js ${{ matrix.node-version }}
73100
uses: actions/setup-node@v4
74-
- name: Installing dependencies
75-
run: npm ci
76-
- name: Creating `.env` file
101+
with:
102+
node-version: ${{ matrix.node-version }}
103+
- name: 📦 Install pnpm
104+
uses: pnpm/action-setup@v4
105+
with:
106+
version: ${{ env.PNPM_VERSION }}
107+
- name: 📌 Installing dependencies
108+
run: pnpm install --frozen-lockfile
109+
- name: 📝 Creating `.env` file
77110
run: |
78111
touch .env
79112
echo HOST=${{ secrets.HOST }} >> .env
80113
echo EMAIL=${{ secrets.EMAIL }} >> .env
81114
echo API_TOKEN=${{ secrets.API_TOKEN }} >> .env
82-
- name: Running integration tests
83-
run: npm run test:integration
115+
- name: 🚀 Running integration tests
116+
run: pnpm run test:integration

.github/workflows/publish-dev.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: 🚀 Publish to NPM Dev Channel
2+
3+
on:
4+
workflow_dispatch
5+
6+
env:
7+
NODE_VERSION: '20.x'
8+
PNPM_VERSION: '10'
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build-and-publish:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: 🔄 Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: ⚙️ Setup Node.js ${{ env.NODE_VERSION }}
22+
uses: actions/setup-node@v4
23+
with:
24+
node-version: ${{ env.NODE_VERSION }}
25+
registry-url: https://registry.npmjs.org/
26+
27+
- name: 📦 Install pnpm
28+
uses: pnpm/action-setup@v4
29+
with:
30+
version: ${{ env.PNPM_VERSION }}
31+
32+
- name: 📌 Install dependencies
33+
run: pnpm install --frozen-lockfile
34+
35+
- name: 🛠️ Run build
36+
run: pnpm run build
37+
38+
- name: 🔖 Update package version
39+
id: update-version
40+
run: |
41+
CURRENT_VERSION=$(node -p "require('./package.json').version")
42+
TIMESTAMP=$(date -u +"%Y%m%d%H%M%S")
43+
NEW_VERSION="${CURRENT_VERSION}-dev${TIMESTAMP}"
44+
pnpm version --no-git-tag-version $NEW_VERSION
45+
echo "New version: $NEW_VERSION"
46+
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_ENV
47+
48+
- name: 🔄 Update package-lock.json
49+
run: pnpm install
50+
51+
- name: 📤 Publish to NPM Dev Channel
52+
run: pnpm publish --tag dev --no-git-checks
53+
env:
54+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)