loopbackio / loopbackio/loopback-next

Clean up datasource template

Open
#5,220 9 comments 0 reactions 1 assignee View on GitHub

@mrmodise is already working on this.

Since Feb 21, 2021.

good first issue Hacktoberfest tech-debt
Dominant language
TypeScript
Stars
5.1k
Forks
1.1k
Avg merge
2d 21h
Merged PRs (30d)
27

Description

This is a follow-up issue for #5000 where we moved datasource config from JSON files to TS files and discovered few aspects of the datasource template that can be improved.

  • Update https://github.com/strongloop/loopback4-example-shopping to follow the new style
  • Update https://github.com/strongloop/loopback-next/blob/master/docs/site/Inside-Loopback-Application.md to follow the new style
  • Make the static DataSource property name read-only, set it from config.name to avoid duplication.
  • Rework datasources to receive the configuration via @config, so that they can be configured via app.configure(). Update the docs (especially Cloudant & Bluemix guides), make sure to preserve content for the old configuration style (think of existing projects created before the change).
  • Fix datasource files in examples to use the same style as scaffolded by lb4 datasource. Most notably, change them to participate in app life-cycle and disconnect when the application has stopped. Update the docs accordingly.
  • Verify that integration tests instantiating datasource classes directly are stopping them after the tests are over + update the relevant docs (e.g. testing best practices).
  • Remove start/stop code in favor of stop() method provided directly by juggler, see https://github.com/strongloop/loopback-datasource-juggler/pull/1835 and #5279

Acceptance criteria

For each of the items above, consider the following places to update


🎆 Hacktoberfest 2020

Greetings 👋 to all Hacktoberfest 2020 participants!

Here are few tips 👀 to make your start easier, see also #6456:

  • Before you start working on this issue, please leave a comment to let others know.
  • This issue consists of several tasks to work on, it may feel like a too big effort to undertake. Don't worry! It's perfectly fine to pick just one item from the list and leave the rest for somebody else. In fact, we prefer to have a dedicated pull request for each part, to make it easier for us to review the changes and get the pull request landed faster. Baby steps FTW! Remember, every little helps.
  • If you are new to GitHub pull requests, then you can learn about the process in Submitting a pull request to LoopBack 4.
  • If this is your first contribution to LoopBack, then please take a look at our Developer guide
  • Feel free to ask for help in #loopback-contributors channel, you can join our Slack workspace here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.