diff --git a/End-of-Life-Strategy.md b/End-of-Life-Strategy.md index 9cc5ce25ee..8a893a2f6b 100644 --- a/End-of-Life-Strategy.md +++ b/End-of-Life-Strategy.md @@ -11,13 +11,13 @@

Owner - Version - Effective Date + Version + Effective Date Review Cycle

-**๐Ÿ“‹ Document Owner:** CEO | **๐Ÿ“„ Version:** 2.4 | **๐Ÿ“… Last Updated:** 2026-05-30 (UTC) | **๐Ÿ“ฆ Release:** v0.9.26 -**๐Ÿ”„ Review Cycle:** Annual (with quarterly delta scans) | **โฐ Next Review:** 2027-05-30 +**๐Ÿ“‹ Document Owner:** CEO | **๐Ÿ“„ Version:** 2.5 | **๐Ÿ“… Last Updated:** 2026-07-08 (UTC) | **๐Ÿ“ฆ Release:** v1.0.27 +**๐Ÿ”„ Review Cycle:** Annual (with quarterly delta scans) | **โฐ Next Review:** 2027-07-08 **๐Ÿท๏ธ Classification:** Public (Static Site European Parliament Intelligence Platform) --- @@ -112,11 +112,11 @@ mindmap No EOL Progressive Enhancement Build and Tooling - TypeScript 6.0.3 + TypeScript 6.0.2 (package alias) + TypeScript 7.0.1-rc compatibility build Current Latest 12-month major cycles Strict Mode Enabled - ESLint 10.4.1 + ESLint 10.6.0 Current Latest Active Flat Config System @@ -125,28 +125,28 @@ mindmap Current Stable Active HTML Validation - Prettier 3.8.3 + Prettier 3.9.4 Active - TypeDoc 0.28.19 + TypeDoc 0.28.20 API documentation Testing and Quality - Vitest 4.1.7 + Vitest 4.1.10 Current Latest Active Native ESM Support - happy-dom 20.9.0 - Playwright 1.60.0 + happy-dom 20.10.6 + Playwright 1.61.1 Current Latest Active E2E Testing - axe-core 4.11.4 (WCAG 2.1 AA) + axe-core 4.12.1 (WCAG 2.1 AA) Visualization Chart.js 4.5.1 Vendored via copy-vendor D3 7.9.0 Vendored via copy-vendor Data and Integration - EP MCP Server 1.3.12 + EP MCP Server 1.3.38 (package dep; CI pins 1.3.20) Active Development Hack23-maintained 6 sliding + 7 fixed-window feeds @@ -156,7 +156,7 @@ mindmap IMF SDMX 3.0 REST Native fetch client Monthly WEO+FM forecasts - gh-aw v0.77.3 + gh-aw v0.82.3 Pinned in compile workflow News Generation 5-stage pipeline @@ -169,22 +169,22 @@ mindmap | **Technology Category** | **Current Version** | **Release Model** | **EOL Timeline** | **Migration Complexity** | | ----------------------- | ------------------------- | ------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | **โ˜• Node.js Runtime** | 26.x (LTS, `engines: >=26`) | Annual release (odd = Current, even = LTS) | **~Apr 2029** โœ… | [![Medium](https://img.shields.io/badge/Complexity-Medium-yellow?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿ“ TypeScript** | 6.0.3 | Major every ~12 months | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿ“ TypeScript** | 6.0.2 (package alias) + 7.0.1-rc compatibility | Major every ~12 months | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐Ÿ“„ HTML5/CSS3** | Living Standard | Evergreen | N/A (Perpetual) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **โšก ESLint** | 10.4.1 | Major annually | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿงช Vitest** | 4.1.7 | Major annually | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿ”ง Playwright** | 1.60.0 | Monthly releases | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **โšก ESLint** | 10.6.0 | Major annually | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿงช Vitest** | 4.1.10 | Major annually | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿ”ง Playwright** | 1.61.1 | Monthly releases | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐Ÿ“Š Chart.js** | 4.5.1 (vendored) | Annual majors | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐Ÿ“ D3** | 7.9.0 (vendored) | Annual majors | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿ“š TypeDoc** | 0.28.19 | Monthly minors | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿ‡ช๐Ÿ‡บ EP MCP Server** | 1.3.12 (pinned) | Hack23-maintained; tracks EP Open Data API | Active development | [![Medium](https://img.shields.io/badge/Complexity-Medium-yellow?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿ“š TypeDoc** | 0.28.20 | Monthly minors | Active development | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿ‡ช๐Ÿ‡บ EP MCP Server** | 1.3.38 (package dep; CI pins 1.3.20) | Hack23-maintained; tracks EP Open Data API | Active development | [![Medium](https://img.shields.io/badge/Complexity-Medium-yellow?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐ŸŒ World Bank MCP** | 1.0.1 (optional dep) | Biannual WDI refresh | Active | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐Ÿ’ฑ IMF SDMX 3.0 REST**| Native fetch client | IMF-managed public API | N/A (External API) | [![Low](https://img.shields.io/badge/Complexity-Low-lightgreen?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿค– gh-aw CLI** | v0.77.3 (pinned `GH_AW_VERSION`) | Active development | Active | [![Medium](https://img.shields.io/badge/Complexity-Medium-yellow?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿค– gh-aw CLI** | v0.82.3 (pinned `GH_AW_VERSION`) | Active development | Active | [![Medium](https://img.shields.io/badge/Complexity-Medium-yellow?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **โ˜๏ธ AWS S3** | Platform (Primary hosting)| Ongoing | N/A (Platform) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐ŸŒ AWS CloudFront** | Platform (Primary CDN) | Ongoing | N/A (Platform) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **๐Ÿ“ฆ GitHub Pages** | Alternative platform (fallback) | Ongoing | N/A (Platform) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | -| **๐Ÿ“ฆ npm registry** | Published package `euparliamentmonitor@0.9.28` | SemVer + SLSA L3 attestations | N/A (Registry) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | +| **๐Ÿ“ฆ npm registry** | Published package `euparliamentmonitor@1.0.27` | SemVer + SLSA L3 attestations | N/A (Registry) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | | **โš™๏ธ GitHub Actions** | Platform (`ubuntu-26.04` runners) | Ongoing | N/A (Platform) | [![None](https://img.shields.io/badge/Complexity-None-lightgrey?style=flat-square)](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) | --- diff --git a/README.md b/README.md index 3e81fca96d..cecfa3dc39 100644 --- a/README.md +++ b/README.md @@ -136,13 +136,14 @@ The published site is the audience-facing companion to this npm/TypeScript packa **MCP Server Integration**: The project uses the [European-Parliament-MCP-Server](https://github.com/Hack23/European-Parliament-MCP-Server) -v1.3.12 for accessing real EU Parliament data via the Model Context Protocol. +package version v1.3.38 for accessing real EU Parliament data via the Model Context Protocol; the Copilot runner in `.github/workflows/copilot-setup-steps.yml` currently installs v1.3.20 for the local MCP environment. - **MCP Server Status**: โœ… Fully operational โ€” 60+ EP data tools available (feeds, direct lookups, analytical tools, intelligence correlation) - **Agentic Workflows**: 15 unified gh-aw markdown workflows โ€” 14 article types (`news-.md`, Stages A โ†’ B โ†’ C โ†’ D โ†’ E in one session) + `news-translate.md` (14-language flush translation) โ€” compiled with - `gh-aw v0.69.3` (pin in `.github/workflows/compile-agentic-workflows.yml`) to `.lock.yml` for automated news generation with AI-driven political + `gh-aw v0.82.3` (pin in `.github/workflows/compile-agentic-workflows.yml`) to `.lock.yml` for automated news generation with AI-driven political intelligence analysis. See [`.github/workflows/README.md`](.github/workflows/README.md). +- **Toolchain**: The build pipeline targets Node.js 26, uses TypeScript 6.0.2 as the default compiler, and keeps a dedicated TypeScript 7.0.1-rc compatibility build via `npm run tsc:7`. - **Analysis-Artifact-Driven Article Pipeline**: Agents author the full Stage-B analysis-artifact set (`analysis/daily///`, 39 structured templates per run; repeat same-day runs reuse the folder and diff --git a/package-lock.json b/package-lock.json index 3f3e79603e..fef7e9b96e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,19 +9,19 @@ "version": "1.0.27", "license": "Apache-2.0", "dependencies": { - "european-parliament-mcp-server": "1.3.37", - "markdown-it": "^14.2.0", - "markdown-it-anchor": "^9.2.0", - "markdown-it-attrs": "^5.0.0", - "markdown-it-deflist": "^3.0.1", - "markdown-it-footnote": "^4.0.0" + "european-parliament-mcp-server": "1.3.38", + "markdown-it": "14.3.0", + "markdown-it-anchor": "9.2.1", + "markdown-it-attrs": "5.0.0", + "markdown-it-deflist": "3.0.1", + "markdown-it-footnote": "4.0.0" }, "devDependencies": { "@axe-core/playwright": "4.12.1", "@eslint/js": "10.0.1", "@playwright/test": "1.61.1", "@types/d3": "7.4.3", - "@types/markdown-it": "^14.1.2", + "@types/markdown-it": "14.1.2", "@types/node": "26.1.1", "@types/papaparse": "5.5.2", "@typescript-eslint/eslint-plugin": "8.63.0", @@ -30,7 +30,7 @@ "@vitest/ui": "4.1.10", "chart.js": "4.5.1", "chartjs-plugin-annotation": "3.1.0", - "clean-css": "^5.3.3", + "clean-css": "5.3.3", "d3": "7.9.0", "esbuild": "0.28.1", "eslint": "10.6.0", @@ -38,26 +38,27 @@ "eslint-plugin-jsdoc": "63.0.12", "eslint-plugin-security": "4.0.1", "eslint-plugin-sonarjs": "4.1.0", - "fast-check": "^4.8.0", + "fast-check": "4.8.0", "happy-dom": "20.10.6", - "html-minifier-terser": "^7.2.0", + "html-minifier-terser": "7.2.0", "htmlhint": "1.9.2", "husky": "9.1.7", "jscpd": "5.0.11", - "knip": "^6.23.0", + "knip": "6.25.0", "lint-staged": "17.0.8", "mermaid": "11.16.0", "papaparse": "5.5.4", "prettier": "3.9.4", "purgecss": "8.0.0", - "sharp": "^0.35.2", - "terser": "^5.48.0", + "sharp": "0.35.3", + "terser": "5.48.0", "ts-api-utils": "2.5.0", "tsx": "4.23.0", "typedoc": "0.28.20", - "typescript": "6.0.3", + "typescript": "npm:@typescript/typescript6@6.0.2", + "typescript-7": "npm:typescript@7.0.1-rc", "vitest": "4.1.10", - "yaml": "^2.9.0" + "yaml": "2.9.0" }, "engines": { "node": ">=26" @@ -3390,6 +3391,361 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript/old": { + "name": "typescript", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@typescript/typescript-aix-ppc64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.1-rc.tgz", + "integrity": "sha512-oqq2ZfEJ7BQuufcC3QBQndZLPNyamYNHLao8lKRBeeSkZKypBqxPSgkzrcFZtbYcIaBvpiyUnQP9MT7DEYHWbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.1-rc.tgz", + "integrity": "sha512-Slc0yTftT2F/uGDmtPst8ijydneL6uZaLEyr2UjahxZpbhTjHFBJ5agXtVz/TL4A+ldxzjzj+E8QtLZlh/5mXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.1-rc.tgz", + "integrity": "sha512-h68iFW/LbA1/BsGgSRGFw981/3s1f/rY27YrmeZNuN+ly7dI+fiDduwT9ZT9866x2onoKNRq7PTyxSKyKDzfAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.1-rc.tgz", + "integrity": "sha512-DE+ppd8Ix2c6OMuRkKY4PJ4hngMGJ9M95OQUP17p9xL/1IKXof7npIeuusMN/bgL5o5JzMfSGh+N+5scTYRg0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.1-rc.tgz", + "integrity": "sha512-ST1ozHMw0u+CLOnWkcTyWDMV4Qn9osZ6fd1V1lnKDM1t0hZIp81mdGpdHxyHJjd7jdGrb6Gb/QXcZ1uqZ0t5zw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.1-rc.tgz", + "integrity": "sha512-gHmHwT5Naq5CKM8g9bbaGeEpnwQEvWCLn3fwP4K2m61VQdDKkPk0Dhab/OoZ4LV2SrMddmclYXTzpyg23YGt5g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.1-rc.tgz", + "integrity": "sha512-N46pRihK3t5zD5MUtTQcdmQUqr1WI4U2nxno1gLwOtRSsB4krFkRjPHcQNG7h2DtRkX64rQiReX6WKwg2wprMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-loong64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.1-rc.tgz", + "integrity": "sha512-G17Sao312rgiPBTh2F4nOpLpa3CcnBSaNhqNghZk2LNhnsp1RaMO5HMq2me21gqu9xLpc6CIgHtOzU6JBgNlfg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-mips64el": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.1-rc.tgz", + "integrity": "sha512-0FQspOb5UsQ4tQKvWgUO3pS9OIWkP7/8dPRWq+CRazJUeQZ4LBjtYK52jg5iIOrvItrVl2CwvRtrU3/9OihwJg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-ppc64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.1-rc.tgz", + "integrity": "sha512-SUmwfVBEv6A2Ld0eWfcvW0FqrgemfQL8jFGOmV1qYxsDqumjE5DekHXqbstgmbE4SHr4rrjHjvmuGCY+kTH/vw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-riscv64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.1-rc.tgz", + "integrity": "sha512-rxeqnNnGiYzv/LlPHi/3+4p0ooR1cNJLjRIHXKovtiVmxXGJq6gtw8VSpbHuWPekyFMXgIAoLCZN0SQ51rAALQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-s390x": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.1-rc.tgz", + "integrity": "sha512-RYWCHCiPypxajdRHM2CNK/eM22e4Ex5TTjV2pXf7PTtBowGr0xX8i8kIMknyZS0LX2QfleYHouaoMVsFDSle3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.1-rc.tgz", + "integrity": "sha512-PfLJSu0JzroDkqw2m4nqflPEcn8yev0m/vHFQlY9EzHorzjR6QG0wL8AJHvnD1e6h1s76AZngJ5u+z1K/D/HKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.1-rc.tgz", + "integrity": "sha512-FfbPxH3dTfp8yVIaNM7bdWTixXuyxpzoemluqcqMROSIz+ImpCG3Q9HO9Ptzp9/giv+P9YYEnCMSXh61migj2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.1-rc.tgz", + "integrity": "sha512-FzdTfSzhRYb6hlav6K3cI5RVgcvCTvNAu/vc+t7B6AmZkThQ+t/1ntnvT5fnHmY1Az2RIBw7/b+qtCEG61HJTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.1-rc.tgz", + "integrity": "sha512-PQGhlxfNig+0YQ9Wwzd0USPBkt6w/ZqkBQWsU7G/0JkTzunJel+jSWwhKw4947pak/m7hGSeYiI04xReDLGZww==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.1-rc.tgz", + "integrity": "sha512-WJ7NYgO2mHmLUkI/tZ+hl8lFd26QPJqO8ONOHNuYbdsybLvSB6B6sep222JIVrOfPRDGvFinbGGB+l3m1FWRWA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-sunos-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.1-rc.tgz", + "integrity": "sha512-UYjDeUxd765V9qcwlUPk4pEXyL0i3G76CJm9baK4i99u1pGO1psf3nXDw4MMmElVOPvGbZag99ZR/O59E2OX6w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-arm64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.1-rc.tgz", + "integrity": "sha512-KzXzFSXZOm7zvEt2Aw0MsB2LbTL88znAiVqTDNAOHdlEb7brgmUQh/X2wM/8Be+N0fjEqWKl65cBKNwpWEbJiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-x64": { + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.1-rc.tgz", + "integrity": "sha512-98R3+OqDr/r0/PLWEoXu88AE0lGVLNd335Ew8ONgzK1JWkNs4ou/5BGt3Or1ij4iXjH+c7PRL+jFjCbtWze+EA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, "node_modules/@upsetjs/venn.js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", @@ -5383,13 +5739,13 @@ } }, "node_modules/european-parliament-mcp-server": { - "version": "1.3.37", - "resolved": "https://registry.npmjs.org/european-parliament-mcp-server/-/european-parliament-mcp-server-1.3.37.tgz", - "integrity": "sha512-IEGjKUIT4jAtb3Ua6qJippWCl7G4thCOmof1c9kXjbfaDxP/SQZAO6eHRMo1uNrMinahWymAMw36nCNsZP/yuw==", + "version": "1.3.38", + "resolved": "https://registry.npmjs.org/european-parliament-mcp-server/-/european-parliament-mcp-server-1.3.38.tgz", + "integrity": "sha512-jl5dJGTnPBqlWCA9QKllAdZ9nweXq+2b3018Tyzxm5xkhzWNPa4ZDDeaAfvBK6j90Gj04VAH4W569hRgOb9ZIQ==", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "1.29.0", - "lru-cache": "11.5.1", + "lru-cache": "11.5.2", "undici": "8.7.0", "zod": "4.4.3" }, @@ -7111,9 +7467,9 @@ } }, "node_modules/lru-cache": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", - "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" @@ -7774,9 +8130,9 @@ } }, "node_modules/path-to-regexp": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.0.tgz", - "integrity": "sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "license": "MIT", "funding": { "type": "opencollective", @@ -9052,17 +9408,53 @@ } }, "node_modules/typescript": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "name": "@typescript/typescript6", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript6/-/typescript6-6.0.2.tgz", + "integrity": "sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@typescript/old": "npm:typescript@^6" + }, "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "tsc6": "bin/tsc6" + } + }, + "node_modules/typescript-7": { + "name": "typescript", + "version": "7.0.1-rc", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.1-rc.tgz", + "integrity": "sha512-drEP77wK7CCDlPfXZH4e008UUQOsw1DFmHmZOZjuNA+yoDLLnSNMZRXi90NbV/1LVo7SbNLq1bs3jjvk49TEqQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc" }, "engines": { - "node": ">=14.17" + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/typescript-aix-ppc64": "7.0.1-rc", + "@typescript/typescript-darwin-arm64": "7.0.1-rc", + "@typescript/typescript-darwin-x64": "7.0.1-rc", + "@typescript/typescript-freebsd-arm64": "7.0.1-rc", + "@typescript/typescript-freebsd-x64": "7.0.1-rc", + "@typescript/typescript-linux-arm": "7.0.1-rc", + "@typescript/typescript-linux-arm64": "7.0.1-rc", + "@typescript/typescript-linux-loong64": "7.0.1-rc", + "@typescript/typescript-linux-mips64el": "7.0.1-rc", + "@typescript/typescript-linux-ppc64": "7.0.1-rc", + "@typescript/typescript-linux-riscv64": "7.0.1-rc", + "@typescript/typescript-linux-s390x": "7.0.1-rc", + "@typescript/typescript-linux-x64": "7.0.1-rc", + "@typescript/typescript-netbsd-arm64": "7.0.1-rc", + "@typescript/typescript-netbsd-x64": "7.0.1-rc", + "@typescript/typescript-openbsd-arm64": "7.0.1-rc", + "@typescript/typescript-openbsd-x64": "7.0.1-rc", + "@typescript/typescript-sunos-x64": "7.0.1-rc", + "@typescript/typescript-win32-arm64": "7.0.1-rc", + "@typescript/typescript-win32-x64": "7.0.1-rc" } }, "node_modules/uc.micro": { @@ -9141,9 +9533,9 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", - "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz", + "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", diff --git a/package.json b/package.json index 654b242557..09ee5fc359 100644 --- a/package.json +++ b/package.json @@ -58,9 +58,10 @@ "scripts": { "prebuild": "node scripts/generators/build-info.js && node scripts/generators/news-indexes.js && node scripts/generators/sitemap.js", "generate-build-info": "node scripts/generators/build-info.js", - "build": "tsc", - "build:check": "tsc --noEmit", - "build:check-tests": "tsc --project tsconfig.test.json --noEmit", + "tsc:7": "node ./node_modules/typescript-7/bin/tsc", + "build": "npm run tsc:7", + "build:check": "npm run tsc:7 -- --noEmit", + "build:check-tests": "npm run tsc:7 -- --project tsconfig.test.json --noEmit", "copy-vendor": "node scripts/copy-vendor.js", "validate-analysis": "node scripts/validate-analysis-completeness.js", "discover:untranslated-briefs": "node scripts/discover-untranslated-briefs.js", @@ -155,7 +156,7 @@ "@eslint/js": "10.0.1", "@playwright/test": "1.61.1", "@types/d3": "7.4.3", - "@types/markdown-it": "^14.1.2", + "@types/markdown-it": "14.1.2", "@types/node": "26.1.1", "@types/papaparse": "5.5.2", "@typescript-eslint/eslint-plugin": "8.63.0", @@ -164,7 +165,7 @@ "@vitest/ui": "4.1.10", "chart.js": "4.5.1", "chartjs-plugin-annotation": "3.1.0", - "clean-css": "^5.3.3", + "clean-css": "5.3.3", "d3": "7.9.0", "esbuild": "0.28.1", "eslint": "10.6.0", @@ -172,46 +173,47 @@ "eslint-plugin-jsdoc": "63.0.12", "eslint-plugin-security": "4.0.1", "eslint-plugin-sonarjs": "4.1.0", - "fast-check": "^4.8.0", + "fast-check": "4.8.0", "happy-dom": "20.10.6", - "html-minifier-terser": "^7.2.0", + "html-minifier-terser": "7.2.0", "htmlhint": "1.9.2", "husky": "9.1.7", "jscpd": "5.0.11", - "knip": "^6.23.0", + "knip": "6.25.0", "lint-staged": "17.0.8", "mermaid": "11.16.0", "papaparse": "5.5.4", "prettier": "3.9.4", "purgecss": "8.0.0", - "sharp": "^0.35.2", - "terser": "^5.48.0", + "sharp": "0.35.3", + "terser": "5.48.0", "ts-api-utils": "2.5.0", "tsx": "4.23.0", "typedoc": "0.28.20", - "typescript": "6.0.3", + "typescript": "npm:@typescript/typescript6@6.0.2", + "typescript-7": "npm:typescript@7.0.1-rc", "vitest": "4.1.10", - "yaml": "^2.9.0" + "yaml": "2.9.0" }, "engines": { "node": ">=26" }, "dependencies": { - "european-parliament-mcp-server": "1.3.37", - "markdown-it": "^14.2.0", - "markdown-it-anchor": "^9.2.0", - "markdown-it-attrs": "^5.0.0", - "markdown-it-deflist": "^3.0.1", - "markdown-it-footnote": "^4.0.0" + "european-parliament-mcp-server": "1.3.38", + "markdown-it": "14.3.0", + "markdown-it-anchor": "9.2.1", + "markdown-it-attrs": "5.0.0", + "markdown-it-deflist": "3.0.1", + "markdown-it-footnote": "4.0.0" }, "optionalDependencies": { "worldbank-mcp": "1.0.1" }, "overrides": { - "flatted": ">=3.4.2", - "path-to-regexp": ">=8.4.0", - "ip-address": ">=10.1.1", - "uuid": ">=11.1.1", + "flatted": "3.4.2", + "path-to-regexp": "8.4.2", + "ip-address": "10.2.0", + "uuid": "14.0.1", "qs": "6.15.2" } }