Per-metric remediation plan scoping (GitLab issue #19): - Add metric_id column to compliance_item_history table (migration) - Extend PATCH /items/:hostname/metadata to accept metric_id/metric_ids for targeting specific metrics instead of all active items - Add MetricChipSelector UI in detail panel for choosing which metrics to apply resolution_date and remediation_plan changes to - Display per-metric labels (MetricChip or 'All metrics') on history entries - Backward compatible: omitting metric_ids preserves hostname-level behavior CI/CD pipeline improvements: - Add migration idempotency integration test (runs against real Postgres) - Add post-deploy smoke tests for compliance and VCL endpoints - Bump lint --max-warnings from 10 to 25 - Configure varsIgnorePattern for _ prefix convention on unused vars Closes #19
62 lines
1.9 KiB
JSON
62 lines
1.9 KiB
JSON
{
|
|
"name": "frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^13.5.0",
|
|
"lucide-react": "^0.563.0",
|
|
"mermaid": "^11.14.0",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"react-markdown": "^10.1.0",
|
|
"react-scripts": "5.0.1",
|
|
"recharts": "^3.8.1",
|
|
"rehype-sanitize": "^6.0.0",
|
|
"web-vitals": "^2.1.4",
|
|
"xlsx": "^0.18.5"
|
|
},
|
|
"scripts": {
|
|
"start": "react-scripts start",
|
|
"build": "react-scripts build",
|
|
"test": "react-scripts test",
|
|
"eject": "react-scripts eject"
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"react-app",
|
|
"react-app/jest"
|
|
],
|
|
"rules": {
|
|
"no-unused-vars": ["warn", { "vars": "all", "args": "after-used", "ignoreRestSiblings": true, "varsIgnorePattern": "^_", "argsIgnorePattern": "^_" }]
|
|
}
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"jest": {
|
|
"transformIgnorePatterns": [
|
|
"node_modules/(?!(fast-check|pure-rand|react-markdown|rehype-sanitize|mermaid|d3|d3-.*|internmap|delaunator|robust-predicate|devlop|hast-util-.*|mdast-util-.*|micromark.*|unist-.*|unified|bail|trough|vfile.*|property-information|comma-separated-tokens|space-separated-tokens|decode-named-character-reference|character-entities|ccount|escape-string-regexp|markdown-table|trim-lines|zwitch|longest-streak|html-void-elements|stringify-entities|character-entities-html4|character-entities-legacy|character-reference-invalid)/)"
|
|
],
|
|
"moduleNameMapper": {
|
|
"^pure-rand/(.*)$": "<rootDir>/node_modules/pure-rand/lib/$1.js"
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"express": "^5.2.1",
|
|
"fast-check": "^4.7.0",
|
|
"pg": "^8.20.0"
|
|
}
|
|
}
|