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 @@
-
-
+
+
-**๐ 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** โ
| [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **๐ TypeScript** | 6.0.3 | Major every ~12 months | Active development | [](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 | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ HTML5/CSS3** | Living Standard | Evergreen | N/A (Perpetual) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **โก ESLint** | 10.4.1 | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **๐งช Vitest** | 4.1.7 | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **๐ง Playwright** | 1.60.0 | Monthly releases | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **โก ESLint** | 10.6.0 | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **๐งช Vitest** | 4.1.10 | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **๐ง Playwright** | 1.61.1 | Monthly releases | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ Chart.js** | 4.5.1 (vendored) | Annual majors | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ D3** | 7.9.0 (vendored) | Annual majors | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **๐ TypeDoc** | 0.28.19 | Monthly minors | Active development | [](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 | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **๐ TypeDoc** | 0.28.20 | Monthly minors | Active development | [](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 | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ World Bank MCP** | 1.0.1 (optional dep) | Biannual WDI refresh | Active | [](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) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **๐ค gh-aw CLI** | v0.77.3 (pinned `GH_AW_VERSION`) | Active development | Active | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **๐ค gh-aw CLI** | v0.82.3 (pinned `GH_AW_VERSION`) | Active development | Active | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **โ๏ธ AWS S3** | Platform (Primary hosting)| Ongoing | N/A (Platform) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ AWS CloudFront** | Platform (Primary CDN) | Ongoing | N/A (Platform) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **๐ฆ GitHub Pages** | Alternative platform (fallback) | Ongoing | N/A (Platform) | [](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) | [](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) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **โ๏ธ GitHub Actions** | Platform (`ubuntu-26.04` runners) | Ongoing | N/A (Platform) | [](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"
}
}