Skip to content

Commit

Permalink
test: use vitest instead of jest
Browse files Browse the repository at this point in the history
  • Loading branch information
marc-gavanier committed Dec 21, 2024
1 parent 1fbed51 commit cc97d15
Show file tree
Hide file tree
Showing 34 changed files with 3,140 additions and 3,773 deletions.
66 changes: 29 additions & 37 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,58 +11,50 @@ concurrency:
cancel-in-progress: true

jobs:
commitlint:
name: CommitLint
build-and-upload:
name: Build and upload artifact
runs-on: ubuntu-latest

steps:
- name: Checkout client-application repository
uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@v3
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 'latest'
cache: 'yarn'

node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: yarn

- name: commitlint
run: yarn lint.commit

build:
uses: romain-cambonie/serenity-workflows/.github/workflows/_build-and-upload-artifact.reusable.yml@master
with:
out-dir: lib

validation:
uses: romain-cambonie/serenity-workflows/.github/workflows/_validation-matrix.reusable.yml@master
with:
commands-as-comma-separated-string: 'lint.es,prettier.check,test'
run: pnpm install
- name: Build
run: pnpm build
- name: Upload build bundle as artifact
uses: actions/upload-artifact@v4
with:
name: bundle
path: |
package.json
lib
publish:
name: Publish package to npm
runs-on: ubuntu-latest
needs:
- build
- validation

steps:
- name: Checkout timetable-to-osm-opening-hours repository
uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 'lts/*'

node-version: 22
cache: 'pnpm'
- name: Download release artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundle

Expand Down
113 changes: 95 additions & 18 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,109 @@ concurrency:
cancel-in-progress: true

jobs:
prettier:
name: Prettier
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run Prettier check
run: pnpm prettier.ci

eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run ESLint
run: pnpm lint.es

commitlint:
name: CommitLint
runs-on: ubuntu-latest

steps:
- name: Checkout client-application repository
uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Node.js
uses: actions/setup-node@v3
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
node-version: 'latest'
cache: 'yarn'

version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: yarn
run: pnpm install
- name: Run Commitlint
run: pnpm lint.commit

- name: commitlint
run: yarn lint.commit
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run Tests
run: pnpm test

build:
uses: romain-cambonie/serenity-workflows/.github/workflows/_build-and-upload-artifact.reusable.yml@master

validation-matrix:
uses: romain-cambonie/serenity-workflows/.github/workflows/_validation-matrix.reusable.yml@master
with:
commands-as-comma-separated-string: 'lint.es,prettier.check,test'
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
run_install: false
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm build
20 changes: 0 additions & 20 deletions .tooling/.jest/jest.config.ts

This file was deleted.

2 changes: 1 addition & 1 deletion .tsconfig/tsconfig.test.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Test configuration for Jest testing framework",
"display": "Test configuration for Vitest testing framework",
"extends": "./tsconfig.base.json",
"include": ["../src/**/*.test.ts", "../src/**/*.spec.ts"]
}
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ La fusion sur la branche principale entraîne automatiquement la publication d'u

#### CLI

- [Jest](https://jestjs.io/) est une boîte à outils pour écrire des tests automatisés en JavaScript
- [Vitest](https://vitest.dev/) est une boîte à outils pour écrire des tests automatisés en JavaScript
- [Eslint](https://eslint.org/) est un analyseur statique de JavaScript
- [Prettier](https://prettier.io/) est un magnificateur de code source en JavaScript
- [Husky](https://typicode.github.io/husky/#/) est un outil qui permet d'effectuer des vérifications automatiques avant de publier des contributions.
Expand Down
11 changes: 4 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,30 +37,27 @@
"lint.commit": "npx commitlint --from origin/main --config ./.tooling/.commitlint/commitlint.config.cjs",
"lint-staged": "lint-staged --config=./.tooling/.lintstaged/.lintstagedrc",
"prettier": "prettier --write ./src/",
"prettier.check": "prettier --check ./src/",
"test": "jest --config=./.tooling/.jest/jest.config.ts",
"prettier.ci": "prettier --check ./src/",
"test": "vitest",
"build.commonjs": "tsc -p ./.tsconfig/tsconfig.cjs.json",
"build.esm": "tsc -p ./.tsconfig/tsconfig.esm.json",
"build": "yarn build.commonjs && yarn build.esm"
"build": "pnpm build.commonjs && pnpm build.esm"
},
"devDependencies": {
"@commitlint/cli": "^19.6.1",
"@commitlint/config-conventional": "^19.6.0",
"@eslint/js": "^9.17.0",
"@types/jest": "^29.1.1",
"@types/node": "^22.10.2",
"@typescript-eslint/eslint-plugin": "^8.18.1",
"@typescript-eslint/parser": "^8.18.1",
"concurrently": "^9.1.0",
"eslint": "^9.17.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.10.0",
"globals": "^15.14.0",
"husky": "^9.1.7",
"jest": "^29.1.2",
"vitest": "^2.1.8",
"lint-staged": "^15.2.11",
"prettier": "3.4.2",
"ts-jest": "^29.0.3",
"ts-node": "^10.9.1",
"typescript": "^5.7.2",
"typescript-eslint": "^8.18.1"
Expand Down
Loading

0 comments on commit cc97d15

Please sign in to comment.