CLI tool to check End-of-Life (EOL) status of code, infrastructure, containers, and AI models. Supports Docker, Terraform, AWS, Serverless, and more.
npm install eol-check



A CLI tool to check the End-Of-Life (EOL) status of your development environment, project dependencies, and AI/ML models.
- Automated Detection: Detects Node.js version, package manager (npm/yarn/pnpm), and OS (Ubuntu/Alpine/Debian).
- System Service Scanning: Detects and checks EOL status of local system services (Redis, PostgreSQL, Docker, etc.).
- Infrastructure Scanning (v1.6.0): Scans Dockerfiles, Serverless configs, AWS SAM templates, Terraform files, and CloudFormation for EOL runtimes.
- AI/ML Model Tracking: Scans for AI model usage and checks deprecation status for OpenAI, Anthropic, Google, Meta, Mistral, and Cohere models.
- Unified Configuration (v1.6.0): Configure all settings via .eolrc.json or package.json.
- Real-time Data: Fetches the latest EOL data from endoflife.date and AI provider documentation.
- Actionable Feedback: clearly indicates if a component is supported, approaching EOL, or EOL.
``bash`
npm install -g eol-check
`bash`
npm install --save-dev eol-check
Option 1: Run with npx (Recommended)
`bash`
npx eol-check
Option 2: Add to package.json
Add the following to your package.json scripts:`json`
{
"scripts": {
"check": "eol-check"
}
}
Then you can run:
`bash`
npm run check
Run the tool in any project directory:
`bash`
eol-check
Query EOL status for specific products/services:
`bashQuery all versions of a product
eol-check query nodejs
$3
Main Command Options:
-
--json: Output results in JSON format (great for CI pipelines).
- --html : Generate a beautiful HTML report with visualizations.
- --no-browser: Don't automatically open HTML report in browser.
- --scan-ai: Scan for AI/ML model usage in code files.
- --scan-docker: Scan Dockerfiles for base image EOL (v1.6.0+).
- --scan-infra: Scan infrastructure files (Serverless, AWS SAM, Terraform) (v1.6.0+).
- --verbose: Show detailed logs of what is being scanned.
- --refresh-cache: Force refresh of cached EOL data.
- --help: Show help information.Query Command Options:
-
--refresh-cache: Force refresh of cached EOL data for the queried product.Configuration File (.eolrc.json):
You can configure eol-check using a
.eolrc.json file in your project root:`json
{
"scanDocker": true,
"scanInfra": true,
"scanAi": true,
"failOnEol": true,
"failOnWarning": false,
"verbose": false
}
`Or in your
package.json:`json
{
"eol-check": {
"scanDocker": true,
"failOnWarning": true
}
}
`Supported Scanners
| Language | File | Supported Frameworks/Tools |
|----------|------|-------------------------------|
| Node.js |
package.json | React, Vue, Angular, Next.js, Nuxt, Ember, Svelte, jQuery, Bootstrap, TailwindCSS, Electron, React Native, Express, ESLint, Protractor, Grunt |
| Infrastructure | serverless.yml, template.yaml, .tf | Serverless Framework, AWS SAM, Terraform, CloudFormation, AWS Lambda Runtimes |
| Containers | Dockerfile | Node, Python, Alpine, Ubuntu, Nginx, Mongo, Java, Dotnet, Go base images |
| PHP | composer.json | Laravel, Symfony, Drupal, Magento, Typo3, PHP, Composer |
| Python | requirements.txt | Django, Python, Ansible, Kubernetes |
| Go | go.mod | Go |
| Ruby | Gemfile | Ruby, Rails, Jekyll |
| Databases | Various | PostgreSQL, MySQL, MongoDB, Redis, MariaDB, Elasticsearch, Memcached, Cassandra, Neo4j, SQLite, CouchDB |
| Build Tools | Various | Gradle, Maven, Ant, Bazel |
| Container/DevOps | Binary Check | Docker, Containerd, Podman |
| System Services | Binary Check | Redis, PostgreSQL, MySQL, MongoDB, Docker, Git, Python, Java, Go |
| AI/ML Models | Code & Config | OpenAI (GPT), Anthropic (Claude), Google (Gemini), Meta (Llama), Mistral, Cohere |$3
`text
EOL Check Results:── Runtime Environment ──
[OK] Node.js 18.16.0 - Version 18 is supported (ends 2025-04-30)
── Operating System ──
[WARN] Ubuntu 20.04 - Version 20 is approaching EOL (ends 2025-04-02)
── System Services ──
[OK] redis-server 7.4.1 - Version 7.4 is supported (ends 2026-11-30)
[OK] psql 17.6 - Version 17 is supported (ends 2029-11-08)
[ERR] go 1.18.1 - Version 1.18 is EOL (ended 2023-02-01)
── Project Dependencies ──
[OK] eslint 9.15.0 - Version 9 is supported (ends unknown)
`$3
Scan your codebase for AI/ML model usage:
`bash
eol-check --scan-ai
``text
── AI/ML Models ──
[WARN] OpenAI/gpt-4 latest - Model version latest not found... (in src/api/client.ts)
[OK] OpenAI/gpt-4o latest - Model is supported (LTS) (in src/services/chat.ts)
[OK] Anthropic/claude-sonnet-4 latest - Model is supported (LTS) (in config/models.json)
[WARN] Google/gemini-2.0-flash latest - Model version latest not found... (in .env)
`The scanner detects model usage in:
- Code files:
.ts, .tsx, .js, .jsx, .py
- Config files: .json, .yaml, .yml
- Environment files: .env, .env.local, .env.productionHTML Reports
Generate beautiful, shareable HTML reports with visualizations:
`bash
eol-check --html report.html
`Features:
- 📊 Summary statistics dashboard
- 🎨 Color-coded severity indicators
- 📱 Responsive design (mobile-friendly)
- 📤 Exportable standalone HTML (no external dependencies)
- 🖨️ Print-friendly styling
GitHub Action
Automate EOL checks in your CI/CD pipeline:
`yaml
name: EOL Check
on: [push, pull_request]jobs:
eol-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: abhishekpanda0620/eol-check@v1.6.1
with:
generate-html: true
scan-ai: true # Optional: Enable AI model scanning
`See GitHub Action Documentation for:
- HTML report artifacts
- Configuration options
- Advanced usage examples
- Monorepo support
CI/CD Integration
You can use
eol-check in your CI pipelines to fail builds if an EOL component is detected.`bash
In your CI script
eol-check || exit 1
`The tool exits with code
1` if any component is found to be EOL (Status: ERR).