loopbackio / loopbackio/loopback-next

lb4 repository tool error if datasource is using injection

Ouverte
#8,015 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug CLI
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

I have a simple data source, whos config is loaded via injection:

```
export class MainDataSource extends juggler.DataSource
implements LifeCycleObserver {
static dataSourceName = 'Main';

constructor(
@config()
dsConfig: object,
) {
super(dsConfig);
}
}
```

Application.ts:
`this.configure('datasources.Main').to(options.datasources?.Main || {});`

When running the repository scaffolding tool the following error occurs:
`(node:24064) UnhandledPromiseRejectionWarning: Error: Cannot load C:\lb4\src\datasources\main.datasource.config.json: ENOENT: no such file or directory, open 'C:\lb4\src\datasources\main.datasource.config.json'
`

I am temporarily suppressing the error by adding a `main.datasource.config.json` file in the source directory.

However, this scaffolding tool should not require a fully configured data source to generate simple repositories. If the configuration cannot be found, it should just emit a warning, but still allow the tool to run and generate a non-customized class using the basic boilerplate.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la configuration de la datasource injectée dans Application.ts et reproduisez la commande de scaffolding du repository en utilisant le chemin manquant src/datasources/main.datasource.config.json. Suivez la manière dont l’outil gère la configuration manquante, puis vérifiez qu’il émet un avertissement et génère malgré tout la classe de base du repository sans nécessiter le fichier.

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
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.