parent
c686261d43
commit
7b74eff740
@ -0,0 +1,68 @@ |
|||||||
|
stages: |
||||||
|
- test |
||||||
|
- build |
||||||
|
- deploy |
||||||
|
|
||||||
|
variables: |
||||||
|
NODE_VERSION: "20" |
||||||
|
|
||||||
|
.node_template: &node_template |
||||||
|
image: node:${NODE_VERSION}-alpine |
||||||
|
cache: |
||||||
|
key: ${CI_COMMIT_REF_SLUG} |
||||||
|
paths: |
||||||
|
- node_modules/ |
||||||
|
- ~/.cache/ |
||||||
|
before_script: |
||||||
|
- npm install -g bun |
||||||
|
- bun install |
||||||
|
|
||||||
|
test: |
||||||
|
<<: *node_template |
||||||
|
stage: test |
||||||
|
script: |
||||||
|
- bun run lint |
||||||
|
- bun run check |
||||||
|
- bun run test --coverage |
||||||
|
coverage: '/All files\s*\|\s*[\d.]+\s*\|\s*([\d.]+)/' |
||||||
|
artifacts: |
||||||
|
reports: |
||||||
|
coverage_report: |
||||||
|
coverage_format: cobertura |
||||||
|
path: coverage/cobertura-coverage.xml |
||||||
|
paths: |
||||||
|
- coverage/ |
||||||
|
expire_in: 1 week |
||||||
|
only: |
||||||
|
- main |
||||||
|
- merge_requests |
||||||
|
- branches |
||||||
|
|
||||||
|
build: |
||||||
|
<<: *node_template |
||||||
|
stage: build |
||||||
|
script: |
||||||
|
- bun run build |
||||||
|
- bun run build:ldo |
||||||
|
artifacts: |
||||||
|
paths: |
||||||
|
- dist/ |
||||||
|
expire_in: 1 hour |
||||||
|
only: |
||||||
|
- main |
||||||
|
- merge_requests |
||||||
|
|
||||||
|
pages: |
||||||
|
<<: *node_template |
||||||
|
stage: deploy |
||||||
|
script: |
||||||
|
- bun run build |
||||||
|
- bun run build:ldo |
||||||
|
- mkdir public |
||||||
|
- cp -r dist/* public/ |
||||||
|
artifacts: |
||||||
|
paths: |
||||||
|
- public |
||||||
|
expire_in: 30 days |
||||||
|
only: |
||||||
|
- main |
@ -0,0 +1,26 @@ |
|||||||
|
export default { |
||||||
|
preset: 'ts-jest/presets/default-esm', |
||||||
|
extensionsToTreatAsEsm: ['.ts', '.tsx'], |
||||||
|
globals: { |
||||||
|
'ts-jest': { |
||||||
|
useESM: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
testEnvironment: 'jsdom', |
||||||
|
moduleNameMapping: { |
||||||
|
'^@/(.*)$': '<rootDir>/src/$1', |
||||||
|
}, |
||||||
|
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts'], |
||||||
|
testMatch: [ |
||||||
|
'<rootDir>/src/**/__tests__/**/*.(ts|tsx|js)', |
||||||
|
'<rootDir>/src/**/?(*.)(spec|test).(ts|tsx|js)', |
||||||
|
], |
||||||
|
collectCoverageFrom: [ |
||||||
|
'src/**/*.(ts|tsx)', |
||||||
|
'!src/**/*.d.ts', |
||||||
|
'!src/main.tsx', |
||||||
|
'!src/vite-env.d.ts', |
||||||
|
], |
||||||
|
coverageDirectory: 'coverage', |
||||||
|
coverageReporters: ['text', 'lcov', 'html'], |
||||||
|
}; |
@ -0,0 +1 @@ |
|||||||
|
import '@testing-library/jest-dom'; |
Loading…
Reference in new issue