chore(test): add test infrastructure, CI config, and security scanning

- Add Jenkinsfile with E2E/visual regression/security scan stages
- Add Stryker mutation testing configuration
- Add security header scanning script (check-security-headers.ts)
- Remove old playwright.config.ts (migrated to e2e/playwright.config.ts)
- Remove obsolete .claude/skills/impeccable
- Update jest config for test path patterns
- Update package.json with comprehensive test scripts
- Update .gitignore for stryker-tmp/ and .pi/ temp files
This commit is contained in:
2026-07-31 20:24:01 +08:00
parent f0b3a44f66
commit dd088a5ee1
12 changed files with 1945 additions and 306 deletions
+51
View File
@@ -0,0 +1,51 @@
{
"$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json",
"packageManager": "npm",
"reporters": ["html", "clear-text", "progress"],
"testRunner": "jest",
"coverageAnalysis": "perTest",
"mutate": [
"src/lib/**/*.ts",
"src/hooks/**/*.{ts,tsx}",
"src/components/ui/**/*.{ts,tsx}",
"src/components/layout/**/*.{ts,tsx}",
"src/lib/cms/**/*.ts",
"!src/**/*.test.{ts,tsx}",
"!src/**/__tests__/**",
"!src/lib/constants/**"
],
"thresholds": {
"high": 80,
"low": 60,
"break": 30
},
"timeoutMS": 60000,
"cleanTempDir": true,
"symlinkNodeModules": true,
"ignorePatterns": [
".eslintrc.json",
".eslintrc",
"eslint.config.mjs",
".lintstagedrc.js",
"commitlint.config.js",
"next.config.mjs",
"postcss.config.js",
"tailwind.config.js",
"tsconfig.json",
"public/",
"dist/",
".next/",
"prisma/",
"scripts/",
"e2e/",
".claude/",
".trae/",
".git/",
".husky/",
"node_modules/",
"coverage/"
],
"jest": {
"configFile": "config/test/jest.config.js"
}
}