From 188faedf4bd87ab35cbb0df1e84b731bc961ba84 Mon Sep 17 00:00:00 2001 From: Dmitry Spiridonov Date: Tue, 2 Jun 2020 23:35:43 +0500 Subject: [PATCH] chore: add generating docs/site/MONOREPO.md file --- .../extension-logging-fluentd/package.json | 2 +- acceptance/repository-cloudant/package.json | 2 +- acceptance/repository-mongodb/package.json | 2 +- acceptance/repository-mysql/package.json | 2 +- acceptance/repository-postgresql/package.json | 2 +- bin/update-monorepo-file.js | 86 +++++++++++ docs/package.json | 2 +- docs/site/DEVELOPING.md | 6 +- docs/site/MONOREPO.md | 133 +++++++++--------- examples/context/package.json | 2 +- examples/greeter-extension/package.json | 2 +- examples/log-extension/package.json | 2 +- examples/metrics-prometheus/package.json | 2 +- examples/multi-tenancy/package.json | 2 +- examples/passport-login/package.json | 2 +- examples/rest-crud/package.json | 2 +- examples/rpc-server/package.json | 2 +- examples/soap-calculator/package.json | 2 +- examples/todo-jwt/package.json | 2 +- examples/todo/package.json | 2 +- examples/validation-app/package.json | 2 +- extensions/context-explorer/package.json | 2 +- extensions/cron/package.json | 2 +- extensions/health/package.json | 2 +- extensions/logging/package.json | 2 +- extensions/metrics/package.json | 2 +- fixtures/mock-oauth2-provider/package.json | 3 +- package-lock.json | 9 ++ package.json | 2 + packages/booter-lb3app/package.json | 2 +- packages/build/package.json | 2 +- packages/context/package.json | 2 +- packages/core/package.json | 2 +- packages/eslint-config/package.json | 2 +- packages/express/package.json | 2 +- packages/metadata/package.json | 2 +- packages/openapi-v3/package.json | 2 +- packages/repository-tests/package.json | 2 +- packages/repository/package.json | 2 +- packages/rest/package.json | 2 +- packages/service-proxy/package.json | 2 +- packages/tsdocs/package.json | 2 +- 42 files changed, 207 insertions(+), 104 deletions(-) create mode 100644 bin/update-monorepo-file.js diff --git a/acceptance/extension-logging-fluentd/package.json b/acceptance/extension-logging-fluentd/package.json index 6a9fad068792..6ca0da59b90a 100644 --- a/acceptance/extension-logging-fluentd/package.json +++ b/acceptance/extension-logging-fluentd/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-extension-logging-fluentd", "version": "0.3.6", - "description": "Acceptance test for extension-logging with fluentd", + "description": "Acceptance test for `@loopback/extension-logging` with fluentd", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/acceptance/repository-cloudant/package.json b/acceptance/repository-cloudant/package.json index 7aa0730236b1..bf9a03432e5c 100644 --- a/acceptance/repository-cloudant/package.json +++ b/acceptance/repository-cloudant/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-cloudant", "version": "2.2.2", - "description": "", + "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-cloudant`", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/acceptance/repository-mongodb/package.json b/acceptance/repository-mongodb/package.json index 7bfde723ed10..913613c38e28 100644 --- a/acceptance/repository-mongodb/package.json +++ b/acceptance/repository-mongodb/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-mongodb", "version": "0.7.6", - "description": "", + "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-mongodb`", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/acceptance/repository-mysql/package.json b/acceptance/repository-mysql/package.json index 51adb17e5328..a60bd3a3a097 100644 --- a/acceptance/repository-mysql/package.json +++ b/acceptance/repository-mysql/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-mysql", "version": "0.7.6", - "description": "", + "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-mysql`", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/acceptance/repository-postgresql/package.json b/acceptance/repository-postgresql/package.json index 088782b94364..abc82f0405ad 100644 --- a/acceptance/repository-postgresql/package.json +++ b/acceptance/repository-postgresql/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/test-repository-postgresql", "version": "2.1.6", - "description": "", + "description": "Acceptance tests for `@loopback/repository` + `loopback-connector-postgresql`", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/bin/update-monorepo-file.js b/bin/update-monorepo-file.js new file mode 100644 index 000000000000..4c45018adcdf --- /dev/null +++ b/bin/update-monorepo-file.js @@ -0,0 +1,86 @@ +#!/usr/bin/env node +// Copyright IBM Corp. 2020. All Rights Reserved. +// Node module: loopback-next +// This file is licensed under the MIT License. +// License text available at https://opensource.org/licenses/MIT + +/** + * This is an internal script to update docs/site MONOREPO.md file with filling + * up all packages with lexicographical order + */ +'use strict'; + +const path = require('path'); +const fs = require('fs-extra'); +const Project = require('@lerna/project'); +const createMarkdownTable = require('markdown-table'); + +const MONOREPO_FILE_DIST = 'docs/site'; +const MONOREPO_FILE_NAME = 'MONOREPO.md'; + +function getPackageRelativeUri(pkg) { + return path.relative(pkg.rootPath, pkg.location); +} + +async function getSortedPackages() { + const project = new Project(process.cwd()); + const packages = await project.getPackages(); + packages.sort((p1, p2) => + getPackageRelativeUri(p1).localeCompare(getPackageRelativeUri(p2)), + ); + return packages; +} + +function getPackageFields(pkg) { + const packageJson = fs.readJsonSync(path.join(pkg.location, 'package.json')); + + const relativeUri = getPackageRelativeUri(pkg); + const pkgUrl = `https://github.com/strongloop/loopback-next/tree/master/${relativeUri}`; + + return [ + `[${relativeUri}](${pkgUrl})`, + pkg.private ? '_(private)_' : pkg.name, + packageJson.description, + ]; +} + +function updateTable(packages) { + const header = ['Package', 'npm', 'Description']; + const rows = packages.map(getPackageFields); + + return createMarkdownTable([header, ...rows]); +} + +async function updateMonorepoFile() { + const packages = await getSortedPackages(); + const markdownTable = updateTable(packages); + const monorepoFilePath = path.join(MONOREPO_FILE_DIST, MONOREPO_FILE_NAME); + + const content = [ + '', + '', + '# Monorepo overview', + '', + 'The [loopback-next](https://github.com/strongloop/loopback-next) repository uses', + '[lerna](https://lernajs.io/) to manage multiple packages for LoopBack 4.', + '', + 'Please run the following command to update packages information after adding new', + 'one in the monorepo: `npm run update-monorepo-file`', + '', + markdownTable, + '', + 'We use npm scripts declared in', + '[package.json](https://github.com/strongloop/loopback-next/blob/master/package.json)', + 'to work with the monorepo managed by lerna. See', + '[Developing LoopBack](./DEVELOPING.md) for more details.', + ].join('\n'); + + fs.writeFileSync(monorepoFilePath, content + '\n', {encoding: 'utf-8'}); +} + +if (require.main === module) { + updateMonorepoFile().catch(err => { + console.error(err); + process.exit(1); + }); +} diff --git a/docs/package.json b/docs/package.json index 2e220d8fc104..9f7ee7d4d7c3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/docs", "version": "3.8.2", - "description": "Documentation for LoopBack 4", + "description": "Documentation files rendered at [https://loopback.io](https://loopback.io)", "homepage": "https://github.com/strongloop/loopback-next/tree/master/docs", "author": "IBM Corp.", "copyright.owner": "IBM Corp.", diff --git a/docs/site/DEVELOPING.md b/docs/site/DEVELOPING.md index fc8c5973a9f6..8dce52fc3e9e 100644 --- a/docs/site/DEVELOPING.md +++ b/docs/site/DEVELOPING.md @@ -680,8 +680,10 @@ and falls back to `extensions`. 6. Run `update-ts-project-refs` to update TypeScript project references -7. Remind to update `CODEOWNERS` and `docs/site/MONOREPO.md` If you would like - to do it manually, follow steps below: +7. Run `update-monorepo-file` to update `docs/site/MONOREPO.md` + +8. Remind to update `CODEOWNERS`. If you would like to do it manually, follow + steps below: To add a new package by hand, create a folder in [`packages`](https://github.com/strongloop/loopback-next/tree/master/packages) diff --git a/docs/site/MONOREPO.md b/docs/site/MONOREPO.md index d4c272c68667..a5ca2262e8ef 100644 --- a/docs/site/MONOREPO.md +++ b/docs/site/MONOREPO.md @@ -1,74 +1,77 @@ + + # Monorepo overview The [loopback-next](https://github.com/strongloop/loopback-next) repository uses [lerna](https://lernajs.io/) to manage multiple packages for LoopBack 4. - +Please run the following command to update packages information after adding new +one in the monorepo: `npm run update-monorepo-file` -| Package | npm | Description | -| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [acceptance/extension-logging-fluentd](https://github.com/strongloop/loopback-next/tree/master/acceptance/extension-logging-fluentd) | _(private)_ | Acceptance test for `extension-logging` with fluentd | -| [acceptance/repository-cloudant](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-cloudant) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-cloudant` | -| [acceptance/repository-mongodb](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-mongodb) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-mongodb` | -| [acceptance/repository-mysql](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-mysql) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-mysql` | -| [acceptance/repository-postgresql](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-postgresql) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-postgresql` | -| [authentication](https://github.com/strongloop/loopback-next/tree/master/packages/authentication) | @loopback/authentication | A component for authentication support | -| [authorization](https://github.com/strongloop/loopback-next/tree/master/packages/authorization) | @loopback/authorization | A LoopBack component for authorization support | -| [benchmark](https://github.com/strongloop/loopback-next/tree/master/benchmark) | @loopback/benchmark | Benchmarks measuring performance of our framework | -| [booter-lb3app](https://github.com/strongloop/loopback-next/tree/master/packages/booter-lb3app) | @loopback/booter-lb3app | A booter component for LoopBack 3 applications to expose their REST API via LoopBack 4. | -| [boot](https://github.com/strongloop/loopback-next/tree/master/packages/boot) | @loopback/boot | Convention based Bootstrapper and Booters | -| [build](https://github.com/strongloop/loopback-next/tree/master/packages/build) | @loopback/build | A set of common scripts and default configurations to build LoopBack 4 or other TypeScript modules | -| [cli](https://github.com/strongloop/loopback-next/tree/master/packages/cli) | @loopback/cli | CLI for LoopBack 4 | -| [context](https://github.com/strongloop/loopback-next/tree/master/packages/context) | @loopback/context | Facilities to manage artifacts and their dependencies in your Node.js applications. The module exposes TypeScript/JavaScript APIs and decorators to register artifacts, declare dependencies, and resolve artifacts by keys. It also serves as an IoC container to support dependency injection. | -| [core](https://github.com/strongloop/loopback-next/tree/master/packages/core) | @loopback/core | Define and implement core constructs such as Application and Component | -| [docs](https://github.com/strongloop/loopback-next/tree/master/docs) | @loopback/docs | Documentation files rendered at [https://loopback.io](https://loopback.io) | -| [eslint-config](https://github.com/strongloop/loopback-next/tree/master/packages/eslint-config) | @loopback/eslint-config | ESLint configuration for LoopBack projects | -| [example-access-control-migration](https://github.com/strongloop/loopback-next/tree/master/examples/access-control-migration) | @loopback/example-access-control-migration | An access control example migrated from the LoopBack 3 repository `loopback-example-access-control` | -| [example-context](https://github.com/strongloop/loopback-next/tree/master/examples/context) | @loopback/example-context | Standalone examples to illustrate features provided by @loopback/context | -| [example-express-composition](https://github.com/strongloop/loopback-next/tree/master/examples/express-composition) | @loopback/example-express-composition | A simple Express application that uses LoopBack 4 REST API | -| [example-file-transfer](https://github.com/strongloop/loopback-next/tree/master/examples/file-transfer) | @loopback/example-file-transfer | An example showing how to expose APIs to upload files | -| [example-greeter-extension](https://github.com/strongloop/loopback-next/tree/master/examples/greeter-extension) | @loopback/example-greeter-extension | An example showing how to implement the extension point/extension pattern using LoopBack 4 | -| [example-greeting-app](https://github.com/strongloop/loopback-next/tree/master/examples/greeting-app) | @loopback/example-greeting-app | An example greeting application for LoopBack 4 | -| [example-hello-world](https://github.com/strongloop/loopback-next/tree/master/examples/hello-world) | @loopback/example-hello-world | A simple hello-world application using LoopBack 4 | -| [example-lb3-application](https://github.com/strongloop/loopback-next/tree/master/examples/lb3-application) | @loopback/example-lb3-application | An example LoopBack 3 application mounted in a LoopBack 4 project. | -| [example-log-extension](https://github.com/strongloop/loopback-next/tree/master/examples/log-extension) | @loopback/example-log-extension | An example showing how to write a complex log extension for LoopBack 4 | -| [example-metrics-prometheus](https://github.com/strongloop/loopback-next/tree/master/examples/metrics-prometheus) | @loopback/example-metrics-prometheus | An example to illustrate metrics provided by @loopback/extension-metrics and Prometheus. | -| [example-multi-tenancy](https://github.com/strongloop/loopback-next/tree/master/examples/multi-tenancy) | @loopback/example-multi-tenancy | An example to illustrate how to enable multi-tenancy with LoopBack's IoC and DI container | -| [example-passport-login](https://github.com/strongloop/loopback-next/tree/master/examples/passport-login) | @loopback/example-passport-login | An example to demonstrate authentication with passport strategies | -| [example-rest-crud](https://github.com/strongloop/loopback-next/tree/master/examples/rest-crud) | @loopback/example-rest-crud | An example showing how to use @loopback/rest-crud to define default repository and controller classes | -| [example-rpc-server](https://github.com/strongloop/loopback-next/tree/master/examples/rpc-server) | @loopback/example-rpc-server | An example RPC server and application to demonstrate the creation of your own custom server | -| [example-sandbox](https://github.com/strongloop/loopback-next/tree/master/sandbox/example) | @loopback/sandbox-example | Sample project for sandbox | -| [example-soap-calculator](https://github.com/strongloop/loopback-next/tree/master/examples/soap-calculator) | @loopback/example-soap-calculator | A tutorial demonstrating integration with a SOAP webservice | -| [example-todo-list](https://github.com/strongloop/loopback-next/tree/master/examples/todo-list) | @loopback/example-todo-list | Continuation of the todo example using relations in LoopBack 4 | -| [example-todo](https://github.com/strongloop/loopback-next/tree/master/examples/todo) | @loopback/example-todo | A basic tutorial for getting started with Loopback 4 | -| [example-todo-jwt](https://github.com/strongloop/loopback-next/tree/master/examples/todo-jwt) | @loopback/example-todo | A modified Todo example with JWT authentication | -| [example-validation-app](https://github.com/strongloop/loopback-next/tree/master/examples/validation-app) | @loopback/example-validation-app | An example demonstrating how to add validation in a LoopBack 4 application | -| [express](https://github.com/strongloop/loopback-next/tree/master/packages/express) | @loopback/express | Integrate with Express and expose middleware infrastructure for sequence and interceptors | -| [extension-apiconnect](https://github.com/strongloop/loopback-next/tree/master/extensions/apiconnect) | @loopback/apiconnect | An extension for IBM API Connect | -| [extension-authentication-jwt](https://github.com/strongloop/loopback-next/tree/master/extensions/authentication-jwt) | @loopback/authentication-jwt | An extension for the prototype of JWT authentication | -| [extension-authentication-passport](https://github.com/strongloop/loopback-next/tree/master/extensions/authentication-passport) | @loopback/authentication-passport | A package creating adapters between the passport module and @loopback/authentication | -| [extension-context-explorer](https://github.com/strongloop/loopback-next/tree/master/extension/context-explorer) | @loopback/context-explorer | Visualize context hierarchy, bindings, configurations, and dependencies | -| [extension-cron](https://github.com/strongloop/loopback-next/tree/master/extensions/cron) | @loopback/cron | Schedule tasks using cron-like syntax | -| [extension-health](https://github.com/strongloop/loopback-next/tree/master/extensions/health) | @loopback/extension-health | Expose health check related endpoints | -| [extension-logging](https://github.com/strongloop/loopback-next/tree/master/extensions/logging) | @loopback/extension-logging | Add Winston Logger and Fluentd integration | -| [extension-metrics](https://github.com/strongloop/loopback-next/tree/master/extensions/metrics) | @loopback/extension-metrics | Report metrics to Prometheus | -| [fixtures/mock-oauth2-provider](https://github.com/strongloop/loopback-next/tree/master/fixtures/mock-oauth2-provider) | _(private)_ | An internal app to mock the OAuth2 authorization flow login with a social app like facebook, google etc | -| [http-caching-proxy](https://github.com/strongloop/loopback-next/tree/master/packages/http-caching-proxy) | @loopback/http-caching-proxy | A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE! | -| [http-server](https://github.com/strongloop/loopback-next/tree/master/packages/http-server) | @loopback/http-server | A wrapper for creating HTTP/HTTPS servers | -| [metadata](https://github.com/strongloop/loopback-next/tree/master/packages/metadata) | @loopback/metadata | Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata | -| [model-api-builder](https://github.com/strongloop/loopback-next/tree/master/packages/model-api-builder) | @loopback/model-api-builder | Types and helpers for packages contributing Model API builders. | -| [openapi-spec-builder](https://github.com/strongloop/loopback-next/tree/master/packages/openapi-spec-builder) | @loopback/openapi-spec-builder | Builders to create OpenAPI (Swagger) specification documents in tests | -| [openapi-v3](https://github.com/strongloop/loopback-next/tree/master/packages/openapi-v3) | @loopback/openapi-v3 | Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications | -| [repository-json-schema](https://github.com/strongloop/loopback-next/tree/master/packages/repository-json-schema) | @loopback/repository-json-schema | Convert a TypeScript class/model to a JSON Schema | -| [repository](https://github.com/strongloop/loopback-next/tree/master/packages/repository) | @loopback/repository | Define and implement a common set of interfaces for interacting with databases | -| [repository-tests](https://github.com/strongloop/loopback-next/tree/master/packages/repository-tests) | @loopback/repository-tests | A shared test suite to verify `@loopback/repository` functionality with a given compatible connector | -| [rest](https://github.com/strongloop/loopback-next/tree/master/packages/rest) | @loopback/rest | Expose controllers as REST endpoints and route REST API requests to controller methods | -| [rest-crud](https://github.com/strongloop/loopback-next/tree/master/packages/rest-crud) | @loopback/rest-crud | REST API controller implementing default CRUD semantics | -| [rest-explorer](https://github.com/strongloop/loopback-next/tree/master/packages/rest-explorer) | @loopback/rest-explorer | LoopBack's API Explorer | -| [security](https://github.com/strongloop/loopback-next/tree/master/packages/security) | @loopback/security | A LoopBack component for security support | -| [service-proxy](https://github.com/strongloop/loopback-next/tree/master/packages/service-proxy) | @loopback/service-proxy | A common set of interfaces for interacting with service oriented backends such as REST APIs, SOAP Web Services, and gRPC microservices | -| [testlab](https://github.com/strongloop/loopback-next/tree/master/packages/testlab) | @loopback/testlab | A collection of test utilities we use to write LoopBack tests | -| [tsdocs](https://github.com/strongloop/loopback-next/tree/master/packages/tsdocs) | @loopback/tsdocs | An internal package to generate api docs using Microsoft api-extractor and api-documenter | +| Package | npm | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [acceptance/extension-logging-fluentd](https://github.com/strongloop/loopback-next/tree/master/acceptance/extension-logging-fluentd) | _(private)_ | Acceptance test for `@loopback/extension-logging` with fluentd | +| [acceptance/repository-cloudant](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-cloudant) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-cloudant` | +| [acceptance/repository-mongodb](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-mongodb) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-mongodb` | +| [acceptance/repository-mysql](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-mysql) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-mysql` | +| [acceptance/repository-postgresql](https://github.com/strongloop/loopback-next/tree/master/acceptance/repository-postgresql) | _(private)_ | Acceptance tests for `@loopback/repository` + `loopback-connector-postgresql` | +| [benchmark](https://github.com/strongloop/loopback-next/tree/master/benchmark) | _(private)_ | Benchmarks measuring performance of our framework. | +| [docs](https://github.com/strongloop/loopback-next/tree/master/docs) | @loopback/docs | Documentation files rendered at [https://loopback.io](https://loopback.io) | +| [examples/access-control-migration](https://github.com/strongloop/loopback-next/tree/master/examples/access-control-migration) | @loopback/example-access-control-migration | Tutorial example on how to migrate the access control example with LoopBack 4. | +| [examples/context](https://github.com/strongloop/loopback-next/tree/master/examples/context) | @loopback/example-context | Standalone examples to illustrate features provided by @loopback/context | +| [examples/express-composition](https://github.com/strongloop/loopback-next/tree/master/examples/express-composition) | @loopback/example-express-composition | LoopBack 4 REST API on Express | +| [examples/file-transfer](https://github.com/strongloop/loopback-next/tree/master/examples/file-transfer) | @loopback/example-file-transfer | Example application for file upload/download with LoopBack 4 | +| [examples/greeter-extension](https://github.com/strongloop/loopback-next/tree/master/examples/greeter-extension) | @loopback/example-greeter-extension | An example showing how to implement the extension point/extension pattern using LoopBack 4 | +| [examples/greeting-app](https://github.com/strongloop/loopback-next/tree/master/examples/greeting-app) | @loopback/example-greeting-app | An example greeting application for LoopBack 4 | +| [examples/hello-world](https://github.com/strongloop/loopback-next/tree/master/examples/hello-world) | @loopback/example-hello-world | A simple hello-world Application using LoopBack 4 | +| [examples/lb3-application](https://github.com/strongloop/loopback-next/tree/master/examples/lb3-application) | @loopback/example-lb3-application | Tutorial example on how to add existing an LB3 application to a LB4 project | +| [examples/log-extension](https://github.com/strongloop/loopback-next/tree/master/examples/log-extension) | @loopback/example-log-extension | An example showing how to write a complex log extension for LoopBack 4 | +| [examples/metrics-prometheus](https://github.com/strongloop/loopback-next/tree/master/examples/metrics-prometheus) | @loopback/example-metrics-prometheus | An example to illustrate metrics provided by @loopback/extension-metrics and Prometheus | +| [examples/multi-tenancy](https://github.com/strongloop/loopback-next/tree/master/examples/multi-tenancy) | @loopback/example-multi-tenancy | An example to illustrate how to enable multi-tenancy with LoopBack's IoC and DI container | +| [examples/passport-login](https://github.com/strongloop/loopback-next/tree/master/examples/passport-login) | @loopback/example-passport-login | An example to demonstrate authentication with passport strategies | +| [examples/rest-crud](https://github.com/strongloop/loopback-next/tree/master/examples/rest-crud) | @loopback/example-rest-crud | An example showing how to use @loopback/rest-crud to define default repository and controller classes | +| [examples/rpc-server](https://github.com/strongloop/loopback-next/tree/master/examples/rpc-server) | @loopback/example-rpc-server | An example RPC server and application to demonstrate the creation of your own custom server | +| [examples/soap-calculator](https://github.com/strongloop/loopback-next/tree/master/examples/soap-calculator) | @loopback/example-soap-calculator | A tutorial demonstrating integration SOAP webservice with LoopBack 4 | +| [examples/todo](https://github.com/strongloop/loopback-next/tree/master/examples/todo) | @loopback/example-todo | Tutorial example on how to build an application with LoopBack 4 | +| [examples/todo-jwt](https://github.com/strongloop/loopback-next/tree/master/examples/todo-jwt) | @loopback/example-todo-jwt | A modified Todo tutorial how to build an application with JWT authentication and LoopBack 4 | +| [examples/todo-list](https://github.com/strongloop/loopback-next/tree/master/examples/todo-list) | @loopback/example-todo-list | Continuation of the todo example using relations in LoopBack 4. | +| [examples/validation-app](https://github.com/strongloop/loopback-next/tree/master/examples/validation-app) | @loopback/example-validation-app | An example demonstrating how to add validation in a LoopBack 4 application | +| [extensions/apiconnect](https://github.com/strongloop/loopback-next/tree/master/extensions/apiconnect) | @loopback/apiconnect | An extension for IBM API Connect | +| [extensions/authentication-jwt](https://github.com/strongloop/loopback-next/tree/master/extensions/authentication-jwt) | @loopback/authentication-jwt | Extension for the prototype of JWT authentication | +| [extensions/authentication-passport](https://github.com/strongloop/loopback-next/tree/master/extensions/authentication-passport) | @loopback/authentication-passport | A package creating adapters between the passport module and @loopback/authentication | +| [extensions/context-explorer](https://github.com/strongloop/loopback-next/tree/master/extensions/context-explorer) | @loopback/context-explorer | Visualize context hierarchy, bindings, configurations, and dependencies | +| [extensions/cron](https://github.com/strongloop/loopback-next/tree/master/extensions/cron) | @loopback/cron | Schedule tasks using cron-like syntax | +| [extensions/health](https://github.com/strongloop/loopback-next/tree/master/extensions/health) | @loopback/extension-health | An extension exposes health check related endpoints with LoopBack 4 | +| [extensions/logging](https://github.com/strongloop/loopback-next/tree/master/extensions/logging) | @loopback/extension-logging | An extension exposes logging for Winston and Fluentd with LoopBack 4 | +| [extensions/metrics](https://github.com/strongloop/loopback-next/tree/master/extensions/metrics) | @loopback/extension-metrics | An extension exposes metrics for Prometheus with LoopBack 4 | +| [fixtures/mock-oauth2-provider](https://github.com/strongloop/loopback-next/tree/master/fixtures/mock-oauth2-provider) | _(private)_ | An internal application to mock the OAuth2 authorization flow login with a social app like facebook, google etc | +| [packages/authentication](https://github.com/strongloop/loopback-next/tree/master/packages/authentication) | @loopback/authentication | A LoopBack component for authentication support. | +| [packages/authorization](https://github.com/strongloop/loopback-next/tree/master/packages/authorization) | @loopback/authorization | A LoopBack component for authorization support. | +| [packages/boot](https://github.com/strongloop/loopback-next/tree/master/packages/boot) | @loopback/boot | A collection of Booters for LoopBack 4 Applications | +| [packages/booter-lb3app](https://github.com/strongloop/loopback-next/tree/master/packages/booter-lb3app) | @loopback/booter-lb3app | A booter component for LoopBack 3 applications to expose their REST API via LoopBack 4 | +| [packages/build](https://github.com/strongloop/loopback-next/tree/master/packages/build) | @loopback/build | A set of common scripts and default configurations to build LoopBack 4 or other TypeScript modules | +| [packages/cli](https://github.com/strongloop/loopback-next/tree/master/packages/cli) | @loopback/cli | Yeoman generator for LoopBack 4 | +| [packages/context](https://github.com/strongloop/loopback-next/tree/master/packages/context) | @loopback/context | Facilities to manage artifacts and their dependencies in your Node.js applications. The module exposes TypeScript/JavaScript APIs and decorators to register artifacts, declare dependencies, and resolve artifacts by keys. It also serves as an IoC container to support dependency injection | +| [packages/core](https://github.com/strongloop/loopback-next/tree/master/packages/core) | @loopback/core | Define and implement core constructs such as Application and Component | +| [packages/eslint-config](https://github.com/strongloop/loopback-next/tree/master/packages/eslint-config) | @loopback/eslint-config | ESLint configuration for LoopBack projects | +| [packages/express](https://github.com/strongloop/loopback-next/tree/master/packages/express) | @loopback/express | Integrate with Express and expose middleware infrastructure for sequence and interceptors | +| [packages/http-caching-proxy](https://github.com/strongloop/loopback-next/tree/master/packages/http-caching-proxy) | @loopback/http-caching-proxy | A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE! | +| [packages/http-server](https://github.com/strongloop/loopback-next/tree/master/packages/http-server) | @loopback/http-server | A wrapper for creating HTTP/HTTPS servers | +| [packages/metadata](https://github.com/strongloop/loopback-next/tree/master/packages/metadata) | @loopback/metadata | Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata | +| [packages/model-api-builder](https://github.com/strongloop/loopback-next/tree/master/packages/model-api-builder) | @loopback/model-api-builder | Types and helpers for packages contributing Model API builders. | +| [packages/openapi-spec-builder](https://github.com/strongloop/loopback-next/tree/master/packages/openapi-spec-builder) | @loopback/openapi-spec-builder | Make it easy to create OpenAPI (Swagger) specification documents in your tests using the builder pattern. | +| [packages/openapi-v3](https://github.com/strongloop/loopback-next/tree/master/packages/openapi-v3) | @loopback/openapi-v3 | Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications | +| [packages/repository](https://github.com/strongloop/loopback-next/tree/master/packages/repository) | @loopback/repository | Define and implement a common set of interfaces for interacting with databases | +| [packages/repository-json-schema](https://github.com/strongloop/loopback-next/tree/master/packages/repository-json-schema) | @loopback/repository-json-schema | Converts TS classes into JSON Schemas using TypeScript's reflection API | +| [packages/repository-tests](https://github.com/strongloop/loopback-next/tree/master/packages/repository-tests) | @loopback/repository-tests | A shared test suite to verify `@loopback/repository` functionality with a given compatible connector | +| [packages/rest](https://github.com/strongloop/loopback-next/tree/master/packages/rest) | @loopback/rest | Expose controllers as REST endpoints and route REST API requests to controller methods | +| [packages/rest-crud](https://github.com/strongloop/loopback-next/tree/master/packages/rest-crud) | @loopback/rest-crud | REST API controller implementing default CRUD semantics | +| [packages/rest-explorer](https://github.com/strongloop/loopback-next/tree/master/packages/rest-explorer) | @loopback/rest-explorer | LoopBack's API Explorer | +| [packages/security](https://github.com/strongloop/loopback-next/tree/master/packages/security) | @loopback/security | A LoopBack component for security support. | +| [packages/service-proxy](https://github.com/strongloop/loopback-next/tree/master/packages/service-proxy) | @loopback/service-proxy | A common set of interfaces for interacting with service oriented backends such as REST APIs, SOAP Web Services, and gRPC microservices | +| [packages/testlab](https://github.com/strongloop/loopback-next/tree/master/packages/testlab) | @loopback/testlab | A collection of test utilities we use to write LoopBack tests. | +| [packages/tsdocs](https://github.com/strongloop/loopback-next/tree/master/packages/tsdocs) | _(private)_ | An internal package to generate api docs using Microsoft api-extractor and api-documenter | +| [sandbox/example](https://github.com/strongloop/loopback-next/tree/master/sandbox/example) | _(private)_ | Sample project for sandbox | We use npm scripts declared in [package.json](https://github.com/strongloop/loopback-next/blob/master/package.json) diff --git a/examples/context/package.json b/examples/context/package.json index f1996ac90cc2..ffe5114896f9 100644 --- a/examples/context/package.json +++ b/examples/context/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-context", "version": "2.1.2", - "description": "Standalone examples for @loopback/context", + "description": "Standalone examples to illustrate features provided by @loopback/context", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/greeter-extension/package.json b/examples/greeter-extension/package.json index e2f65793c4c4..ed2e28f9071f 100644 --- a/examples/greeter-extension/package.json +++ b/examples/greeter-extension/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-greeter-extension", "version": "2.1.2", - "description": "An example extension point/extensions for LoopBack 4", + "description": "An example showing how to implement the extension point/extension pattern using LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/log-extension/package.json b/examples/log-extension/package.json index 8d0e95277890..6adf07d62cba 100644 --- a/examples/log-extension/package.json +++ b/examples/log-extension/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-log-extension", "version": "2.1.2", - "description": "An example extension project for LoopBack 4", + "description": "An example showing how to write a complex log extension for LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/metrics-prometheus/package.json b/examples/metrics-prometheus/package.json index e53ea62332c1..db7db1742d0f 100644 --- a/examples/metrics-prometheus/package.json +++ b/examples/metrics-prometheus/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-metrics-prometheus", "version": "0.3.2", - "description": "Standalone examples for @loopback/metrics", + "description": "An example to illustrate metrics provided by @loopback/extension-metrics and Prometheus", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/multi-tenancy/package.json b/examples/multi-tenancy/package.json index c81d2b90f1a5..7c857281f208 100644 --- a/examples/multi-tenancy/package.json +++ b/examples/multi-tenancy/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-multi-tenancy", "version": "0.4.0", - "description": "An example to demonstrate multi-tenancy with LoopBack 4", + "description": "An example to illustrate how to enable multi-tenancy with LoopBack's IoC and DI container", "main": "dist/index.js", "types": "dist/index.d.ts", "keywords": [ diff --git a/examples/passport-login/package.json b/examples/passport-login/package.json index b59b05c7a717..612c9b7ab1aa 100644 --- a/examples/passport-login/package.json +++ b/examples/passport-login/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-passport-login", "version": "1.4.2", - "description": "examples to demonstrate authentication with passport strategies", + "description": "An example to demonstrate authentication with passport strategies", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/rest-crud/package.json b/examples/rest-crud/package.json index 1d6a954995fb..347e4874a651 100644 --- a/examples/rest-crud/package.json +++ b/examples/rest-crud/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-rest-crud", "version": "1.4.0", - "description": "", + "description": "An example showing how to use @loopback/rest-crud to define default repository and controller classes", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/rpc-server/package.json b/examples/rpc-server/package.json index dfe3b0fafb53..85a955a41ace 100644 --- a/examples/rpc-server/package.json +++ b/examples/rpc-server/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-rpc-server", "version": "2.1.2", - "description": "A basic RPC server using a made-up protocol.", + "description": "An example RPC server and application to demonstrate the creation of your own custom server", "main": "dist/index.js", "types": "dist/index.d.ts", "keywords": [ diff --git a/examples/soap-calculator/package.json b/examples/soap-calculator/package.json index de6b017881f1..c36cb3e84a94 100644 --- a/examples/soap-calculator/package.json +++ b/examples/soap-calculator/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-soap-calculator", "version": "2.2.2", - "description": "Integrate a SOAP webservice with LoopBack 4", + "description": "A tutorial demonstrating integration SOAP webservice with LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "keywords": [ diff --git a/examples/todo-jwt/package.json b/examples/todo-jwt/package.json index 894dc1c57748..f20b7d5f1e1b 100644 --- a/examples/todo-jwt/package.json +++ b/examples/todo-jwt/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-todo-jwt", "version": "1.1.0", - "description": "Tutorial example on how to build an application with LoopBack 4.", + "description": "A modified Todo tutorial how to build an application with JWT authentication and LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/todo/package.json b/examples/todo/package.json index 824f3629c77d..26f65888993c 100644 --- a/examples/todo/package.json +++ b/examples/todo/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-todo", "version": "3.5.0", - "description": "Tutorial example on how to build an application with LoopBack 4.", + "description": "Tutorial example on how to build an application with LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/examples/validation-app/package.json b/examples/validation-app/package.json index 7b433511f26d..1a198a555c48 100644 --- a/examples/validation-app/package.json +++ b/examples/validation-app/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/example-validation-app", "version": "1.5.0", - "description": "LoopBack 4 application with validation examples", + "description": "An example demonstrating how to add validation in a LoopBack 4 application", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/extensions/context-explorer/package.json b/extensions/context-explorer/package.json index 75ef96caaa15..aca2e9d46673 100644 --- a/extensions/context-explorer/package.json +++ b/extensions/context-explorer/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/context-explorer", "version": "0.1.6", - "description": "LoopBack's Context/Binding Explorer", + "description": "Visualize context hierarchy, bindings, configurations, and dependencies", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/extensions/cron/package.json b/extensions/cron/package.json index f7adb4f14eaa..6e7c8f0da800 100644 --- a/extensions/cron/package.json +++ b/extensions/cron/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/cron", "version": "0.2.6", - "description": "LoopBack Cron Integration", + "description": "Schedule tasks using cron-like syntax", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/extensions/health/package.json b/extensions/health/package.json index 991d507f5ddb..23e36bac2be2 100644 --- a/extensions/health/package.json +++ b/extensions/health/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/extension-health", "version": "0.4.6", - "description": "LoopBack Health", + "description": "An extension exposes health check related endpoints with LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/extensions/logging/package.json b/extensions/logging/package.json index 58df43bda92d..681b512cc623 100644 --- a/extensions/logging/package.json +++ b/extensions/logging/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/extension-logging", "version": "0.3.6", - "description": "LoopBack Logging for Winston and Fluentd", + "description": "An extension exposes logging for Winston and Fluentd with LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/extensions/metrics/package.json b/extensions/metrics/package.json index caf9f00bb1dc..62cfcb83149a 100644 --- a/extensions/metrics/package.json +++ b/extensions/metrics/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/extension-metrics", "version": "0.3.6", - "description": "LoopBack Metrics for Prometheus", + "description": "An extension exposes metrics for Prometheus with LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/fixtures/mock-oauth2-provider/package.json b/fixtures/mock-oauth2-provider/package.json index 3d7da0b9d024..14df48851d83 100644 --- a/fixtures/mock-oauth2-provider/package.json +++ b/fixtures/mock-oauth2-provider/package.json @@ -1,10 +1,11 @@ { "name": "@loopback/mock-oauth2-provider", "version": "0.1.0", - "description": "mocks the oauth2 authorization flow", + "description": "An internal application to mock the OAuth2 authorization flow login with a social app like facebook, google etc", "engines": { "node": ">=10" }, + "private": true, "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { diff --git a/package-lock.json b/package-lock.json index f5ed0fba2e63..f957cd102c60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6437,6 +6437,15 @@ "object-visit": "^1.0.0" } }, + "markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } + }, "meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", diff --git a/package.json b/package.json index d62cdc885d72..90f35a8b93bd 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "fs-extra": "^9.0.1", "husky": "^4.2.5", "lerna": "^3.22.1", + "markdown-table": "^2.0.0", "open-cli": "^6.0.1", "typescript": "~3.9.5" }, @@ -41,6 +42,7 @@ "update-template-deps": "node bin/update-template-deps -f", "update-peer-deps": "node bin/update-peer-deps -f", "update-all-deps": "npm update && lerna exec -- npm update && npm run update-package-locks", + "update-monorepo-file": "node bin/update-monorepo-file", "sync-dev-deps": "node bin/sync-dev-deps", "save-cli-metadata": "node packages/cli/bin/cli-main.js --meta", "version": "npm run update-template-deps && npm run update-peer-deps && npm run save-cli-metadata", diff --git a/packages/booter-lb3app/package.json b/packages/booter-lb3app/package.json index 1bc9e3e8b481..463001159dd4 100644 --- a/packages/booter-lb3app/package.json +++ b/packages/booter-lb3app/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/booter-lb3app", "version": "2.2.2", - "description": "Boot a LoopBack 3 application in a LoopBack 4 project", + "description": "A booter component for LoopBack 3 applications to expose their REST API via LoopBack 4", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/build/package.json b/packages/build/package.json index e6bfeca93d4a..1dce6db2f588 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@loopback/build", - "description": "Build scripts and configuration files for LoopBack 4 modules", + "description": "A set of common scripts and default configurations to build LoopBack 4 or other TypeScript modules", "repository": { "type": "git", "url": "https://github.com/strongloop/loopback-next.git", diff --git a/packages/context/package.json b/packages/context/package.json index 949293d83136..6f9c3bd1ca44 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/context", "version": "3.8.2", - "description": "LoopBack's container for Inversion of Control", + "description": "Facilities to manage artifacts and their dependencies in your Node.js applications. The module exposes TypeScript/JavaScript APIs and decorators to register artifacts, declare dependencies, and resolve artifacts by keys. It also serves as an IoC container to support dependency injection", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/core/package.json b/packages/core/package.json index 94527978f135..caa8771c5bf4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/core", "version": "2.7.1", - "description": "LoopBack 4 core", + "description": "Define and implement core constructs such as Application and Component", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 81f6712b55d8..61836971b3c8 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/eslint-config", "version": "8.0.0", - "description": "Shared configuration for ESLint", + "description": "ESLint configuration for LoopBack projects", "engines": { "node": ">=10" }, diff --git a/packages/express/package.json b/packages/express/package.json index a29d812a0f6e..86429a430fe3 100644 --- a/packages/express/package.json +++ b/packages/express/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/express", "version": "1.2.2", - "description": "@loopback/express", + "description": "Integrate with Express and expose middleware infrastructure for sequence and interceptors", "main": "dist/index.js", "types": "dist/index.d.ts", "keywords": [ diff --git a/packages/metadata/package.json b/packages/metadata/package.json index 49e730487234..cf40902d09e2 100644 --- a/packages/metadata/package.json +++ b/packages/metadata/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/metadata", "version": "2.1.6", - "description": "LoopBack's metadata utilities for reflection and decoration", + "description": "Utilities to help developers implement TypeScript decorators, define/merge metadata, and inspect metadata", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/openapi-v3/package.json b/packages/openapi-v3/package.json index 0fbc6d2ce903..a7299671991b 100644 --- a/packages/openapi-v3/package.json +++ b/packages/openapi-v3/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/openapi-v3", "version": "3.4.2", - "description": "Processes openapi v3 related metadata", + "description": "Decorators that annotate LoopBack artifacts with OpenAPI v3 metadata and utilities that transform LoopBack metadata to OpenAPI v3 specifications", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/repository-tests/package.json b/packages/repository-tests/package.json index e5441f3f0ef2..9cee640b0d8a 100644 --- a/packages/repository-tests/package.json +++ b/packages/repository-tests/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/repository-tests", "version": "0.12.6", - "description": "Shared test-suite for repository based persistence", + "description": "A shared test suite to verify `@loopback/repository` functionality with a given compatible connector", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/repository/package.json b/packages/repository/package.json index 9bb9c3c4fe2c..b085c92ec43a 100644 --- a/packages/repository/package.json +++ b/packages/repository/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/repository", "version": "2.6.0", - "description": "Repository based persistence for LoopBack 4", + "description": "Define and implement a common set of interfaces for interacting with databases", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/rest/package.json b/packages/rest/package.json index b2fb0323550f..80a66d516907 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/rest", "version": "5.1.0", - "description": "", + "description": "Expose controllers as REST endpoints and route REST API requests to controller methods", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/service-proxy/package.json b/packages/service-proxy/package.json index 6118286b102f..1b1b1b6f106c 100644 --- a/packages/service-proxy/package.json +++ b/packages/service-proxy/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/service-proxy", "version": "2.3.1", - "description": "Service integration for LoopBack 4", + "description": "A common set of interfaces for interacting with service oriented backends such as REST APIs, SOAP Web Services, and gRPC microservices", "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { diff --git a/packages/tsdocs/package.json b/packages/tsdocs/package.json index ccff2957fa48..a00056c26294 100644 --- a/packages/tsdocs/package.json +++ b/packages/tsdocs/package.json @@ -1,7 +1,7 @@ { "name": "@loopback/tsdocs", "version": "2.2.1", - "description": "LoopBack's TypeScript docs based on Microsoft api-extractor and api-documenter", + "description": "An internal package to generate api docs using Microsoft api-extractor and api-documenter", "private": true, "main": "dist/index.js", "types": "dist/index.d.ts",