OpenAPITools / OpenAPITools/openapi-generator-cli
[FEATURE] consider using caret ranges instead of pinned exact versions for runtime dependencies
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2k
- Forks
- 208
- Merge moyen
- 7 h 12 min
- PR mergées (30 j)
- 6
Description
You pin almost all of runtime dependencies to exact versions. As of 2.40.1:
"dependencies": {
"@inquirer/select": "1.3.3",
"@nestjs/axios": "4.0.1",
"@nestjs/common": "11.1.28",
"@nestjs/core": "11.1.28",
"@nuxtjs/opencollective": "0.3.2",
"axios": "^1.18.1",
"chalk": "4.1.2",
"commander": "8.3.0",
"compare-versions": "6.1.1",
"concurrently": "^10.0.3",
"console.table": "0.10.0",
"fs-extra": "11.4.0",
"glob": "13.0.6",
"proxy-agent": "8.0.2",
"reflect-metadata": "0.2.2",
"rxjs": "7.8.2",
"tslib": "2.8.1"
}
Only axios and concurrently use ranges. Everything else is exact.
Consider using carets e.g. "chalk": "^4.1.2" , "@nestjs/common": "^11.1.28".
We install your cli as dev dependency (we are not using it via npx). Why this is problematic (i bet not just for us).
- Duplicated packages / bloated installs. This probably does not need explanation, but in short this is especially painful for
@nestjs/*andrxjsin projects that already use NestJS on a slightly different patch. - Patch-level security fixes are blocked. If a CVE is published for a pinned transitive dependency, consumers cannot resolve it via
npm audit fix, overrides aside — they have to wait for a new release of this package. Every patch bump of an upstream dep requires a release here. - Peer/version conflicts in monorepos and strict package managers
- Noisy dependency/SBOM reports. Under DORA (Digital Operational Resilience Act) we have to inventory and risk-assess our whole dependency tree — build-time included, since CI is part of the supply chain. Exact pins mean duplicate, outdated entries in our SBOM that we can't dedupe or patch ourselves, and each one becomes a manual finding to justify or waive. Being a devDependency doesn't exempt it from that process.
Thanks for considering it!
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Localisez le manifeste du paquet et examinez ses entrées de dépendances d’exécution par rapport à l’approche demandée des plages avec caret, en notant les dépendances qui doivent rester épinglées. Confirmez la politique de plages avec les maintainers, mettez à jour le manifeste et exécutez les vérifications d’installation et de test existantes du projet afin de vérifier que la CLI fonctionne toujours.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- node.js, typescript
- Domaine
- cli, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 68/100