├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug-report.yml
│ └── config.yml
├── PULL_REQUEST_TEMPLATE.md
├── codeql
│ └── codeql-config.yml
├── stale.yml
└── workflows
│ ├── codeql-analysis.yml
│ ├── continuous-integration.yml
│ └── renovate-config-validator.yml
├── .gitignore
├── .husky
├── .gitignore
├── commit-msg
└── pre-commit
├── .lintstagedrc
├── .mocharc.js
├── .npmrc
├── .nycrc
├── .prettierignore
├── .prettierrc
├── .vscode
├── launch.json
├── settings.json
└── tasks.json
├── CHANGELOG.md
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── MAINTAINERS.md
├── MAINTAINING.md
├── README.md
├── SECURITY.md
├── acceptance
├── README.md
├── extension-logging-fluentd
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── etc
│ │ │ └── fluentd.conf
│ │ ├── start-fluentd.sh
│ │ └── stop-fluentd.sh
│ ├── package.json
│ ├── src
│ │ └── __tests__
│ │ │ ├── acceptance
│ │ │ └── fluent.acceptance.ts
│ │ │ └── fixtures
│ │ │ └── fluentd.docker.ts
│ └── tsconfig.json
├── repository-cloudant
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── docker.setup.js
│ ├── package.json
│ ├── setup.sh
│ ├── src
│ │ └── __tests__
│ │ │ ├── cloudant-default-repository.acceptance.ts
│ │ │ └── cloudant.datasource.ts
│ └── tsconfig.json
├── repository-mongodb
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── setup.sh
│ ├── src
│ │ └── __tests__
│ │ │ ├── mongodb-default-repository.acceptance.ts
│ │ │ ├── mongodb-repository-execute.acceptance.ts
│ │ │ └── mongodb.datasource.ts
│ └── tsconfig.json
├── repository-mysql
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── setup.sh
│ ├── src
│ │ └── __tests__
│ │ │ ├── mysql-default-repository.acceptance.ts
│ │ │ ├── mysql-repository-execute.acceptance.ts
│ │ │ └── mysql.datasource.ts
│ ├── test
│ │ └── schema.sql
│ └── tsconfig.json
└── repository-postgresql
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── setup.sh
│ ├── src
│ └── __tests__
│ │ ├── postgresql-default-repository.acceptance.ts
│ │ ├── postgresql-repository-execute.acceptance.ts
│ │ └── postgresql.datasource.ts
│ ├── test
│ └── schema.sql
│ └── tsconfig.json
├── benchmark
├── .npmrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
├── src
│ ├── __tests__
│ │ └── benchmark.integration.ts
│ ├── autocannon.ts
│ ├── benchmark.ts
│ ├── client.ts
│ ├── context-binding
│ │ ├── README.md
│ │ └── context-binding.ts
│ ├── index.ts
│ ├── rest-routing
│ │ ├── README.md
│ │ └── routing-table.ts
│ ├── scenarios
│ │ ├── create-todo.scenario.ts
│ │ ├── find-todos.scenario.ts
│ │ └── index.ts
│ └── worker.ts
└── tsconfig.json
├── bin
├── build-docs-site.sh
├── check-package-metadata.js
├── checkout-pr.js
├── config-package-scopes.js
├── create-package.js
├── fix-monorepo.js
├── mocha-current-file.js
├── script-util.js
├── sync-dev-deps.js
├── update-monorepo-file.js
├── update-template-deps.js
├── update-ts-project-refs.js
└── verify-doc-changes.sh
├── bodyparsers
└── rest-msgpack
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ ├── __tests__
│ │ ├── acceptance
│ │ │ └── bodyparser.acceptance.ts
│ │ └── unit
│ │ │ └── bodyparser.unit.ts
│ ├── bodyparser.ts
│ ├── component.ts
│ ├── index.ts
│ └── keys.ts
│ └── tsconfig.json
├── commitlint.config.js
├── docs
├── .npmrc
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── MAINTAINING.md
├── README.md
├── ROADMAP.md
├── bin
│ ├── build-jekyll-preview-config.js
│ ├── build-preview-site.sh
│ ├── copy-changelogs.js
│ └── copy-readmes.js
├── diagrams
│ ├── authentication_diagrams.pptx
│ └── loopback-docs-diagrams.key
├── img
│ ├── domain.png
│ └── request routing.png
├── package.json
├── site
│ ├── Accepting-MessagePack-over-HTTP.md
│ ├── Accessing-http-request-response.md
│ ├── Accessing-services.md
│ ├── Advanced-sequence-topics.md
│ ├── Application-generator.md
│ ├── Application-setup-tips.md
│ ├── Application.md
│ ├── Appsody-LoopBack.md
│ ├── Authentication-component-action.md
│ ├── Authentication-component-decorator.md
│ ├── Authentication-component-options.md
│ ├── Authentication-component-strategy.md
│ ├── Authentication-overview.md
│ ├── Authentication-passport.md
│ ├── Authorization-component-authorizer.md
│ ├── Authorization-component-decision-matrix.md
│ ├── Authorization-component-decorator.md
│ ├── Authorization-component-enforcer.md
│ ├── Authorization-component-interceptor.md
│ ├── Authorization-component.md
│ ├── Authorization-overview.md
│ ├── BelongsTo-relation.md
│ ├── Best-practices.md
│ ├── Binding.md
│ ├── Boot-and-Mount-a-LoopBack-3-application.md
│ ├── Booting-an-Application.md
│ ├── Building-frontend-angular-application.md
│ ├── Calling-rest-apis.md
│ ├── Calling-soap-web-services.md
│ ├── Cassandra-connector.md
│ ├── Cloudant-connector.md
│ ├── Command-line-interface.md
│ ├── Community-examples.md
│ ├── Community-extensions.md
│ ├── Component.md
│ ├── Concepts.md
│ ├── Configuring-applications.md
│ ├── Configuring-datasource.md
│ ├── Context-explorer.md
│ ├── Context.md
│ ├── Controller-generator.md
│ ├── Controller.md
│ ├── Copyright-generator.md
│ ├── Crafting-LoopBack-4.md
│ ├── Create-custom-authentication-strategy.md
│ ├── Creating-CRUD-REST-apis.md
│ ├── Creating-artifacts-runtime.md
│ ├── Creating-components.md
│ ├── Creating-datasource-runtime.md
│ ├── Creating-decorators.md
│ ├── Creating-model-runtime.md
│ ├── Creating-repository-runtime.md
│ ├── Creating-servers.md
│ ├── Customizing-routes.md
│ ├── Customizing-server-configuration.md
│ ├── DB2-connector.md
│ ├── DB2-for-i-connector.md
│ ├── DB2-for-z-OS-connector.md
│ ├── DEVELOPING.md
│ ├── DataSource-generator.md
│ ├── DataSource.md
│ ├── Database-migrations.md
│ ├── Debugging-tests-with-mocha.md
│ ├── Decorators.md
│ ├── Defining-the-API-using-code-first-approach.md
│ ├── Defining-the-API-using-design-first-approach.shelved.md
│ ├── Defining-your-testing-strategy.md
│ ├── Dependency-injection.md
│ ├── Deployment.md
│ ├── Developing-with-vscode.md
│ ├── Developing-with-webstorm.md
│ ├── Discovering-models.md
│ ├── Download-examples.md
│ ├── Dynamic-models-repositories-controllers.md
│ ├── Example-kv-connector.md
│ ├── Examples.md
│ ├── Executing-database-commands.md
│ ├── Express-middleware.md
│ ├── Extending-LoopBack-4.md
│ ├── Extending-Model-API-builder.md
│ ├── Extending-OpenAPI-specification.md
│ ├── Extending-request-body-parsing.md
│ ├── Extension-generator.md
│ ├── Extension-life-cycle.md
│ ├── Extension-point-and-extensions.md
│ ├── FAQ.md
│ ├── Fields-filter.md
│ ├── File-upload-download.md
│ ├── Getting-started.md
│ ├── Glossary.md
│ ├── GraphQL.md
│ ├── HasMany-relation.md
│ ├── HasManyThrough-relation.md
│ ├── HasOne-relation.md
│ ├── Health.md
│ ├── Implementing-features.shelved.md
│ ├── Importing-LB3-models.md
│ ├── Include-filter.md
│ ├── Inside-Loopback-Application.md
│ ├── Installing-the-Oracle-connector.md
│ ├── Integrating-with-api-connect.md
│ ├── Interceptor-generator.md
│ ├── Interceptor.md
│ ├── JSON-RPC-connector.md
│ ├── JWT-authentication-extension.md
│ ├── LB3-vs-LB4-request-response-cycle.md
│ ├── Language-related-concepts.md
│ ├── Life-cycle-observer-generator.md
│ ├── Life-cycle.md
│ ├── Limit-filter.md
│ ├── Logging.md
│ ├── LoopBack-types.md
│ ├── Loopback-application-layout-reference.md
│ ├── Loopback-component-authentication.md
│ ├── MONOREPO.md
│ ├── MQLight-connector.md
│ ├── Memory-connector.md
│ ├── Metrics.md
│ ├── Middleware.md
│ ├── Migrate-from-legacy-sequence.md
│ ├── Migrating-from-LoopBack-3-redirect.md
│ ├── Mixin.md
│ ├── Model-generator.md
│ ├── Model.md
│ ├── MongoDB-connector.md
│ ├── MySQL-connector.md
│ ├── OpenAPI-connector.md
│ ├── OpenAPI-generator.md
│ ├── Oracle-connector.md
│ ├── Order-filter.md
│ ├── Parsing-requests-guide.md
│ ├── Parsing-requests.md
│ ├── Polymorphic-relation.md
│ ├── Pooling.md
│ ├── PostgreSQL-connector.md
│ ├── Preparing-the-API-for-consumption.shelved.md
│ ├── Querying-data.md
│ ├── RBAC-with-authorization.md
│ ├── REST-action-sequence.md
│ ├── REST-connector.md
│ ├── REST-middleware-sequence.md
│ ├── Redis-connector.md
│ ├── ReferencesMany-relation.md
│ ├── Relation-generator.md
│ ├── Relations.md
│ ├── Repository-generator.md
│ ├── Repository.md
│ ├── Request-response-cycle.md
│ ├── Rest-Crud-generator.md
│ ├── Route.md
│ ├── Routing-requests.md
│ ├── Running-cron-jobs.md
│ ├── SOAP-connector.md
│ ├── SQL-Server-connector.md
│ ├── SQLite3.md
│ ├── Security.md
│ ├── Self-hosted-REST-API-Explorer.md
│ ├── Sequence.md
│ ├── Server.md
│ ├── Service-generator.md
│ ├── Service.md
│ ├── Serving-static-files.md
│ ├── Setting-debug-strings.md
│ ├── Skip-filter.md
│ ├── Team.md
│ ├── Testing-Your-Extensions.md
│ ├── Testing-the-API.shelved.md
│ ├── Testing-your-application.md
│ ├── Troubleshooting.md
│ ├── Tutorials.md
│ ├── Understanding-the-differences.md
│ ├── Update-generator.md
│ ├── Using-Sequelize-with-LoopBack.md
│ ├── Using-TypeORM-with-LoopBack.md
│ ├── Using-openapi-to-graphql.md
│ ├── Using-strong-error-handler.md
│ ├── Validation-ORM-layer.md
│ ├── Validation-REST-layer.md
│ ├── Validation-controller-layer.md
│ ├── Validation.md
│ ├── Where-filter.md
│ ├── Working-with-data.md
│ ├── Working-with-express-middleware.md
│ ├── decorators
│ │ ├── Decorators_authenticate.md
│ │ ├── Decorators_authorize.md
│ │ ├── Decorators_inject.md
│ │ ├── Decorators_openapi.md
│ │ ├── Decorators_repository.md
│ │ └── Decorators_service.md
│ ├── deployment
│ │ ├── Deploy-for-GDPR-readiness.md
│ │ ├── Deploying-to-IBM-Cloud.md
│ │ ├── Deploying-with-pm2-and-nginx.md
│ │ └── Deploying_to_ibm_cloud_kubernetes.md
│ ├── express-with-lb4-rest-tutorial.md
│ ├── extending
│ │ ├── rest-api.md
│ │ └── services.md
│ ├── guides
│ │ ├── data-access
│ │ │ └── transactions.md
│ │ ├── deployment
│ │ │ └── enabling-https.md
│ │ └── rest
│ │ │ └── customize-openapi.md
│ ├── imgs
│ │ ├── 10000000.png
│ │ ├── 10000001.png
│ │ ├── 10000002.png
│ │ ├── access-databases-overview.png
│ │ ├── api_explorer_all_sections_lock_icons1.png
│ │ ├── api_explorer_auth_token_dialog1.png
│ │ ├── api_explorer_auth_token_dialog2.png
│ │ ├── api_explorer_authorize_button.png
│ │ ├── api_explorer_usercontroller_section1.png
│ │ ├── application-states.png
│ │ ├── appsody_flow.png
│ │ ├── auth-tutorial-apiexplorer.png
│ │ ├── auth-tutorial-auth-button.png
│ │ ├── auth-tutorial-jwt-token.png
│ │ ├── authentication
│ │ │ └── authentication-overview.png
│ │ ├── authentication_overview_detailed.png
│ │ ├── authentication_overview_highlevel.png
│ │ ├── authorization-rbac-architecture.png
│ │ ├── authorization-rbac-user-scenario.png
│ │ ├── authorization.png
│ │ ├── belongsTo-relation-graph.png
│ │ ├── binding-scopes.png
│ │ ├── binding.png
│ │ ├── branding
│ │ │ └── Powered-by-LoopBack-Badge-(blue)-@2x.png
│ │ ├── cascading-middleware.png
│ │ ├── datasource.png
│ │ ├── debug_vscode_breakpoint_1.png
│ │ ├── debug_vscode_breakpoint_2.png
│ │ ├── dependency-injection.png
│ │ ├── deploytocloud-createconnection.png
│ │ ├── deploytocloud-createdb.png
│ │ ├── deploytocloud-launchcdashboard.png
│ │ ├── deploytocloud-mycloudant.png
│ │ ├── example-shopping.png
│ │ ├── hasMany-relation-example.png
│ │ ├── hasMany-relation-graph.png
│ │ ├── hasManyThrough-relation-example.png
│ │ ├── hasOne-relation-example.png
│ │ ├── hasOne-relation-graph.png
│ │ ├── interceptors.png
│ │ ├── json_web_token_overview.png
│ │ ├── key-concepts-overview-diagram.png
│ │ ├── lb3-req-res.png
│ │ ├── lb4-high-level.png
│ │ ├── lb4-req-res.png
│ │ ├── lb4_k8s_ibm_cloud_app_website_1.png
│ │ ├── lb4_k8s_ibm_cloud_app_website_on_cloud_k8s.png
│ │ ├── lb4_k8s_ibm_cloud_cluster_access_1.png
│ │ ├── lb4_k8s_ibm_cloud_container_registry_1.png
│ │ ├── lb4_k8s_ibm_cloud_k8s_dashboard_1.png
│ │ ├── lb4_k8s_ibm_cloud_k8s_dashboard_2.png
│ │ ├── lb4_k8s_ibm_cloud_k8s_dashboard_3.png
│ │ ├── lb4_k8s_ibm_cloud_k8s_dashboard_4.png
│ │ ├── lb4_k8s_ibm_cloud_kubernetes_cluster_1.png
│ │ ├── lb4appsody_template_cluster_1.png
│ │ ├── lb4appsody_template_debug_1.png
│ │ ├── lb4appsody_template_debug_2.png
│ │ ├── lb4appsody_template_debug_3.png
│ │ ├── lb4appsody_template_files_1.png
│ │ ├── lb4appsody_template_files_2.png
│ │ ├── lb4appsody_template_pods_1.png
│ │ ├── lb4appsody_template_webpage_1.png
│ │ ├── lb4appsody_template_webpage_2.png
│ │ ├── lb4appsody_template_webpage_3.png
│ │ ├── lb4appsody_template_webpage_cloud_1.png
│ │ ├── loopback-component.png
│ │ ├── loopback-composition.png
│ │ ├── loopback-context-hierarchy.png
│ │ ├── loopback-context.png
│ │ ├── loopback-ecosystem.png
│ │ ├── loopback-example-soap-calculator_figure1.png
│ │ ├── loopback-example-soap-calculator_figure2.png
│ │ ├── loopback-example-soap-calculator_figure3.png
│ │ ├── loopback-example-soap-calculator_figure4.png
│ │ ├── loopback-extension.png
│ │ ├── loopback-ioc.png
│ │ ├── loopback-overview.png
│ │ ├── loopback-stack.png
│ │ ├── middleware-classes.png
│ │ ├── middleware-sequence.png
│ │ ├── middleware.png
│ │ ├── relation-inclusion.png
│ │ ├── repository.png
│ │ ├── req-res-high-level.png
│ │ ├── sequence-details.png
│ │ ├── shopping-app.png
│ │ ├── shopping-business-logic.png
│ │ ├── shopping-example-model-relations.png
│ │ ├── submit_pr_create_feature_branch_1.png
│ │ ├── submit_pr_create_feature_branch_2.png
│ │ ├── submit_pr_create_pr_1.png
│ │ ├── submit_pr_create_pr_2.png
│ │ ├── submit_pr_final_commit_ci_jobs_pass_1.png
│ │ ├── submit_pr_fork_main_repo.png
│ │ ├── submit_pr_git_cz_1.png
│ │ ├── submit_pr_my_forked_repo.png
│ │ ├── submit_pr_pr_review_1.png
│ │ ├── submit_pr_rebase_1.png
│ │ ├── submit_pr_rebase_2.png
│ │ ├── submit_pr_rebase_3.png
│ │ ├── submit_pr_squash_commits_1.png
│ │ ├── submit_pr_squash_commits_2.png
│ │ ├── submit_pr_squash_commits_3.png
│ │ ├── submit_pr_squash_commits_4.png
│ │ ├── submit_pr_squash_commits_5.png
│ │ ├── submit_pr_squash_commits_6.png
│ │ ├── submit_pr_squash_commits_7.png
│ │ ├── submit_pr_template_1.png
│ │ ├── submit_pr_travis_ci_build_page_1.png
│ │ ├── todo-list-overview.png
│ │ ├── todo-overview.png
│ │ └── tutorials
│ │ │ ├── access-control-migration
│ │ │ ├── auth_example_authorization_casbin.png
│ │ │ ├── auth_example_casbin_model_policy.png
│ │ │ ├── auth_example_get_token.png
│ │ │ ├── auth_example_login.png
│ │ │ ├── auth_example_mechanism.png
│ │ │ ├── auth_example_scenario_model.png
│ │ │ ├── auth_example_set_token.png
│ │ │ ├── auth_example_withdraw.png
│ │ │ └── auth_example_withdraw_401.png
│ │ │ ├── authentication-migration
│ │ │ ├── lb3-authentication-user.png
│ │ │ └── lb4-authentication-user.png
│ │ │ └── core
│ │ │ ├── greeters.png
│ │ │ ├── greeting-app-boot.png
│ │ │ ├── greeting-app-project-layout.png
│ │ │ └── greeting-app.png
│ ├── includes
│ │ └── CLI-std-options.md
│ ├── index.md
│ ├── kv-redis-connector.md
│ ├── migration
│ │ ├── LB3-vs-LB4-booting.md
│ │ ├── auth
│ │ │ ├── authentication.md
│ │ │ ├── migration-auth-access-control-example.md
│ │ │ ├── oauth2.md
│ │ │ ├── overview.md
│ │ │ └── passport.md
│ │ ├── boot-scripts.md
│ │ ├── cli.md
│ │ ├── clients.md
│ │ ├── components
│ │ │ ├── current-context.md
│ │ │ ├── mixins.md
│ │ │ ├── models.md
│ │ │ ├── overview.md
│ │ │ ├── project-layout.md
│ │ │ └── rest-api.md
│ │ ├── datasources.md
│ │ ├── express-middleware.md
│ │ ├── models
│ │ │ ├── core.md
│ │ │ ├── methods.md
│ │ │ ├── mixins.md
│ │ │ ├── operation-hooks.md
│ │ │ ├── overview.md
│ │ │ ├── relations.md
│ │ │ └── remoting-hooks.md
│ │ ├── mounting-lb3app.md
│ │ ├── not-planned.md
│ │ ├── overview.md
│ │ └── tables
│ │ │ ├── lb3-lb4-command-mappings.html
│ │ │ ├── lb3-only-commands.html
│ │ │ └── lb4-only-commands.html
│ ├── reference
│ │ ├── error-codes.md
│ │ └── reserved-binding-keys.md
│ ├── sidebars
│ │ └── lb4_sidebar.yml
│ ├── soap-calculator-tutorial.md
│ ├── submitting_a_pr.md
│ ├── tables
│ │ ├── lb4-artifact-commands.html
│ │ ├── lb4-class-file-naming-convention.html
│ │ └── lb4-project-commands.html
│ ├── todo-list-tutorial.md
│ ├── todo-tutorial.md
│ └── tutorials
│ │ ├── authentication
│ │ └── Authentication-Tutorial.md
│ │ ├── connectors
│ │ ├── Connecting-to-back-end.md
│ │ ├── Mongodb-tutorial.md
│ │ ├── Mysql-tutorial.md
│ │ ├── Oracle-tutorial.md
│ │ └── Postgresql-tutorial.md
│ │ ├── core
│ │ ├── 1-introduction.md
│ │ ├── 10-advanced-recipes.md
│ │ ├── 11-summary.md
│ │ ├── 2-architecture.md
│ │ ├── 3-context-in-action.md
│ │ ├── 4-dependency-injection.md
│ │ ├── 5-extension-point-extension.md
│ │ ├── 6-interception.md
│ │ ├── 7-observation.md
│ │ ├── 8-configuration.md
│ │ ├── 9-boot-by-convention.md
│ │ └── index.md
│ │ ├── soap-calculator
│ │ ├── soap-calculator-tutorial-add-controller.md
│ │ ├── soap-calculator-tutorial-add-datasource.md
│ │ ├── soap-calculator-tutorial-add-service.md
│ │ ├── soap-calculator-tutorial-run-and-test.md
│ │ ├── soap-calculator-tutorial-scaffolding.md
│ │ └── soap-calculator-tutorial-web-service-overview.md
│ │ ├── todo-list
│ │ ├── todo-list-tutorial-controller.md
│ │ ├── todo-list-tutorial-dbtables.png
│ │ ├── todo-list-tutorial-has-one-relation.md
│ │ ├── todo-list-tutorial-model.md
│ │ ├── todo-list-tutorial-relations.md
│ │ ├── todo-list-tutorial-repository.md
│ │ └── todo-list-tutorial-sqldb.md
│ │ └── todo
│ │ ├── todo-tutorial-controller.md
│ │ ├── todo-tutorial-datasource.md
│ │ ├── todo-tutorial-geocoding-service.md
│ │ ├── todo-tutorial-model.md
│ │ ├── todo-tutorial-putting-it-together.md
│ │ ├── todo-tutorial-repository.md
│ │ └── todo-tutorial-scaffolding.md
└── spikes
│ ├── 2020-04-how-to-migrate-lb3-components.md
│ └── README.md
├── examples
├── access-control-migration
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── launch.json
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── fixtures
│ │ └── casbin
│ │ │ ├── rbac_model.conf
│ │ │ ├── rbac_policy.admin.csv
│ │ │ ├── rbac_policy.owner.csv
│ │ │ └── rbac_policy.team_member.csv
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── project.acceptance.ts
│ │ ├── application.ts
│ │ ├── components
│ │ │ └── casbin-authorization
│ │ │ │ ├── casbin-authorization-component.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ ├── assign-project-instance-id.voter.ts
│ │ │ │ ├── casbin.authorizer.ts
│ │ │ │ ├── casbin.enforcers.ts
│ │ │ │ └── index.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ ├── project.controller.ts
│ │ │ └── user.controller.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ ├── project.model.ts
│ │ │ ├── team.model.ts
│ │ │ ├── user-credentials.model.ts
│ │ │ └── user.model.ts
│ │ ├── observers
│ │ │ ├── index.ts
│ │ │ └── sample.observer.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ ├── project.repository.ts
│ │ │ ├── team.repository.ts
│ │ │ ├── user-credentials.repository.ts
│ │ │ └── user.repository.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── binding-resolution
│ ├── .editorconfig
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── binding-resolution.png
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── ping.controller.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── ping.controller.ts
│ │ ├── index.ts
│ │ ├── interceptors
│ │ │ ├── index.ts
│ │ │ └── spy.interceptor.ts
│ │ ├── keys.ts
│ │ ├── middleware
│ │ │ └── spy.middleware.ts
│ │ ├── sequence.ts
│ │ ├── services
│ │ │ ├── counter.service.ts
│ │ │ ├── index.ts
│ │ │ └── logger.service.ts
│ │ └── util.ts
│ └── tsconfig.json
├── context
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ └── examples-output.txt
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── examples.acceptance.ts
│ │ ├── binding-types.ts
│ │ ├── configuration-injection.ts
│ │ ├── context-chain.ts
│ │ ├── context-observation.ts
│ │ ├── custom-configuration-resolver.ts
│ │ ├── custom-inject-decorator.ts
│ │ ├── custom-inject-resolve.ts
│ │ ├── dependency-injection.ts
│ │ ├── find-bindings.ts
│ │ ├── index.ts
│ │ ├── injection-without-binding.ts
│ │ ├── interceptor-proxy.ts
│ │ ├── parameterized-decoration.ts
│ │ ├── sync-async.ts
│ │ └── value-promise.ts
│ └── tsconfig.json
├── express-composition
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── ds.json
│ ├── package.json
│ ├── public
│ │ ├── express.html
│ │ ├── index.html
│ │ └── notes.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── express.acceptance.ts
│ │ │ │ ├── note.acceptance.ts
│ │ │ │ ├── ping.controller.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ │ └── mocha.opts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ ├── note.controller.ts
│ │ │ └── ping.controller.ts
│ │ ├── datasources
│ │ │ ├── ds.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ └── note.model.ts
│ │ ├── observers
│ │ │ ├── hello.observer.ts
│ │ │ └── index.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ └── note.repository.ts
│ │ ├── sequence.ts
│ │ └── server.ts
│ └── tsconfig.json
├── file-transfer
│ ├── .editorconfig
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── assets
│ │ │ └── index.html
│ │ └── file-upload-test.txt
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── acceptance
│ │ │ │ ├── file-download.acceptance.ts
│ │ │ │ ├── file-upload.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── README.md
│ │ │ ├── file-download.controller.ts
│ │ │ ├── file-upload.controller.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── sequence.ts
│ │ ├── services
│ │ │ ├── file-upload.service.ts
│ │ │ └── index.ts
│ │ └── types.ts
│ ├── tsconfig.json
│ └── upload-download.png
├── graphql
│ ├── .editorconfig
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── graphql-demo.png
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ ├── graphql-context.acceptance.ts
│ │ │ │ ├── graphql-middleware-options.acceptance.ts
│ │ │ │ ├── graphql-middleware.acceptance.ts
│ │ │ │ ├── graphql-subscription.acceptance.ts
│ │ │ │ ├── graphql-tests.ts
│ │ │ │ └── graphql.acceptance.ts
│ │ ├── application.ts
│ │ ├── datasources
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── recipes.datasource.ts
│ │ ├── graphql-resolvers
│ │ │ └── recipe-resolver.ts
│ │ ├── graphql-types
│ │ │ ├── recipe-input.ts
│ │ │ └── recipe-type.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── repositories
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── recipe.repository.ts
│ │ ├── sample-recipes.ts
│ │ └── services
│ │ │ └── recipe.service.ts
│ └── tsconfig.json
├── greeter-extension
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── greeters.png
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── greeter-extension.acceptance.ts
│ │ ├── application.ts
│ │ ├── component.ts
│ │ ├── greeters
│ │ │ ├── greeter-cn.ts
│ │ │ └── greeter-en.ts
│ │ ├── greeting-service.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ └── types.ts
│ └── tsconfig.json
├── greeting-app
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── greeting-app.png
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── integration
│ │ │ │ └── greeting-service.integration.ts
│ │ ├── application.ts
│ │ ├── caching-service.ts
│ │ ├── controllers
│ │ │ ├── greeting.controller.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── interceptors
│ │ │ ├── caching.interceptor.ts
│ │ │ └── index.ts
│ │ ├── keys.ts
│ │ ├── observers
│ │ │ ├── cache.observer.ts
│ │ │ └── index.ts
│ │ ├── openapi-spec.ts
│ │ └── types.ts
│ └── tsconfig.json
├── hello-world
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── application.acceptance.ts
│ │ ├── application.ts
│ │ └── index.ts
│ └── tsconfig.json
├── lb3-application
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── lb3app
│ │ ├── common
│ │ │ └── models
│ │ │ │ ├── coffee-shop.js
│ │ │ │ └── coffee-shop.json
│ │ ├── server
│ │ │ ├── boot
│ │ │ │ ├── authentication.js
│ │ │ │ └── create-sample-models.js
│ │ │ ├── config.json
│ │ │ ├── datasources.json
│ │ │ ├── middleware.json
│ │ │ ├── model-config.json
│ │ │ └── server.js
│ │ └── test
│ │ │ ├── acceptance.js
│ │ │ ├── authentication.js
│ │ │ └── integration.js
│ ├── package.json
│ ├── public
│ │ ├── index.html
│ │ └── lb3-index.html
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── lb3app.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ ├── application.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── openapi-spec.ts
│ │ ├── sequence.ts
│ │ └── server.ts
│ └── tsconfig.json
├── log-extension
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── log.extension.acceptance.ts
│ │ │ ├── in-memory-logger.ts
│ │ │ ├── log-spy.ts
│ │ │ └── unit
│ │ │ │ ├── decorators
│ │ │ │ └── log.decorator.unit.ts
│ │ │ │ ├── mixins
│ │ │ │ └── log.mixin.unit.ts
│ │ │ │ └── providers
│ │ │ │ ├── log-action.provider.unit.ts
│ │ │ │ └── timer.provider.unit.ts
│ │ ├── component.ts
│ │ ├── decorators
│ │ │ ├── index.ts
│ │ │ └── log.decorator.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── mixins
│ │ │ ├── index.ts
│ │ │ └── log.mixin.ts
│ │ ├── providers
│ │ │ ├── index.ts
│ │ │ ├── log-action.provider.ts
│ │ │ └── timer.provider.ts
│ │ └── types.ts
│ └── tsconfig.json
├── metrics-prometheus
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── demo.sh
│ │ └── prometheus.yml
│ ├── package.json
│ ├── prometheus-demo.png
│ ├── src
│ │ ├── __tests__
│ │ │ └── integration
│ │ │ │ └── greeting-service.integration.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── greeting.controller.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── services
│ │ │ ├── greeting.service.ts
│ │ │ └── index.ts
│ └── tsconfig.json
├── multi-tenancy
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .mocharc.json
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── .yo-rc.json
│ ├── CHANGELOG.md
│ ├── DEVELOPING.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── ping.controller.acceptance.ts
│ │ │ │ ├── test-helper.ts
│ │ │ │ ├── user.controller.header.acceptance.ts
│ │ │ │ └── user.controller.jwt.acceptance.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ ├── ping.controller.ts
│ │ │ └── user.controller.ts
│ │ ├── datasources
│ │ │ ├── README.md
│ │ │ ├── db.datasource.ts
│ │ │ ├── db1.datasource.ts
│ │ │ ├── db2.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── user.model.ts
│ │ ├── multi-tenancy
│ │ │ ├── component.ts
│ │ │ ├── index.ts
│ │ │ ├── keys.ts
│ │ │ ├── middleware
│ │ │ │ └── multi-tenancy-middleware.provider.ts
│ │ │ ├── strategies
│ │ │ │ ├── base-strategy.ts
│ │ │ │ ├── header-strategy.ts
│ │ │ │ ├── host-strategy.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── jwt-strategy.ts
│ │ │ │ └── query-strategy.ts
│ │ │ └── types.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── user.repository.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── passport-login
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .gitignore
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── oauth2-test-provider.json
│ ├── oauth2-providers.template.json
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── passport-login.acceptance.ts
│ │ ├── application.ts
│ │ ├── authentication-interceptors
│ │ │ ├── facebook.interceptor.ts
│ │ │ ├── google.interceptor.ts
│ │ │ ├── index.ts
│ │ │ ├── oauth2.interceptor.ts
│ │ │ ├── session.interceptor.ts
│ │ │ ├── twitter.interceptor.ts
│ │ │ └── types.ts
│ │ ├── authentication-strategies
│ │ │ ├── basic.ts
│ │ │ ├── facebook.ts
│ │ │ ├── google.ts
│ │ │ ├── index.ts
│ │ │ ├── local.ts
│ │ │ ├── oauth2.ts
│ │ │ ├── session.ts
│ │ │ ├── twitter.ts
│ │ │ └── types.ts
│ │ ├── authentication-strategy-providers
│ │ │ ├── facebook.express-mw.ts
│ │ │ ├── facebook.ts
│ │ │ ├── google.express-mw.ts
│ │ │ ├── google.ts
│ │ │ ├── index.ts
│ │ │ ├── oauth2.express-mw.ts
│ │ │ ├── oauth2.ts
│ │ │ ├── twitter.express-mw.ts
│ │ │ └── twitter.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ ├── oauth2.controller.ts
│ │ │ ├── ping.controller.ts
│ │ │ └── user.controller.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── model-endpoints
│ │ │ ├── index.ts
│ │ │ └── user.rest-config.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ ├── user-credentials.model.ts
│ │ │ ├── user-identity.model.ts
│ │ │ └── user.model.ts
│ │ ├── observers
│ │ │ ├── index.ts
│ │ │ └── wire.observer.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ ├── user-credentials.repository.ts
│ │ │ ├── user-identity.repository.ts
│ │ │ └── user.repository.ts
│ │ ├── sequence.ts
│ │ ├── server.ts
│ │ ├── services
│ │ │ ├── index.ts
│ │ │ ├── keys.ts
│ │ │ └── user.service.ts
│ │ └── wiring.ts
│ ├── tsconfig.json
│ └── web-application
│ │ ├── express-app.js
│ │ └── views
│ │ ├── layouts
│ │ └── layout.jade
│ │ ├── pages
│ │ ├── index.jade
│ │ ├── login.jade
│ │ ├── loginProfiles.jade
│ │ └── signup.jade
│ │ └── partials
│ │ ├── banner.jade
│ │ ├── footer.jade
│ │ ├── head.jade
│ │ └── navigation.jade
├── references-many
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── account.acceptance.ts
│ │ │ │ ├── customer.acceptance.ts
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ │ ├── helpers.ts
│ │ │ ├── integration
│ │ │ │ └── customer.repository.integration.ts
│ │ │ └── unit
│ │ │ │ └── controllers
│ │ │ │ ├── account.controller.unit.ts
│ │ │ │ └── customer.controller.unit.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── account.controller.ts
│ │ │ ├── customer.controller.ts
│ │ │ └── index.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── account.model.ts
│ │ │ ├── customer.model.ts
│ │ │ └── index.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── account.repository.ts
│ │ │ ├── customer.repository.ts
│ │ │ └── index.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── rest-crud
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── test-helper.ts
│ │ │ │ └── todo.acceptance.ts
│ │ │ └── helpers.ts
│ │ ├── application.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── model-endpoints
│ │ │ └── todo.rest-config.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ └── todo.model.ts
│ │ ├── openapi-spec.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── rpc-server
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── unit
│ │ │ │ ├── controllers
│ │ │ │ └── greet.controller.unit.ts
│ │ │ │ └── rpc.router.unit.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── greet.controller.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ └── person.model.ts
│ │ ├── rpc.router.ts
│ │ └── rpc.server.ts
│ └── tsconfig.json
├── soap-calculator
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── launch.json
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── .yo-rc.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── application.acceptance.ts
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ └── test-helper.ts
│ │ │ ├── helpers.ts
│ │ │ └── integration
│ │ │ │ └── services
│ │ │ │ └── calculator.service.integration.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── calculator.controller.ts
│ │ │ └── index.ts
│ │ ├── datasources
│ │ │ ├── calculator.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── sequence.ts
│ │ └── services
│ │ │ ├── calculator.service.ts
│ │ │ └── index.ts
│ └── tsconfig.json
├── socketio
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .mocharc.json
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── .yo-rc.json
│ ├── CHANGELOG.md
│ ├── DEVELOPING.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── acceptance
│ │ │ │ └── socketio.server.acceptance.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── socketio.controller.ts
│ │ ├── datasources
│ │ │ └── README.md
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ └── README.md
│ │ └── repositories
│ │ │ └── README.md
│ └── tsconfig.json
├── todo-jwt
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── test-helper.ts
│ │ │ │ └── todo.acceptance.ts
│ │ │ └── helpers.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ ├── todo.controller.ts
│ │ │ └── user.controller.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ └── todo.model.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ └── todo.repository.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── todo-list
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── imgs
│ │ └── todo-list-overview.PNG
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── test-helper.ts
│ │ │ │ ├── todo-list-image.acceptance.ts
│ │ │ │ ├── todo-list-todo.acceptance.ts
│ │ │ │ ├── todo-list.acceptance.ts
│ │ │ │ └── todo.acceptance.ts
│ │ │ ├── helpers.ts
│ │ │ ├── integration
│ │ │ │ ├── todo-list-image.repository.integration.ts
│ │ │ │ ├── todo-list.repository.integration.ts
│ │ │ │ └── todo.repository.integration.ts
│ │ │ └── unit
│ │ │ │ └── controllers
│ │ │ │ ├── todo-list-todo.controller.unit.ts
│ │ │ │ ├── todo-list.controller.unit.ts
│ │ │ │ └── todo.controller.unit.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ ├── todo-list-image.controller.ts
│ │ │ ├── todo-list-todo-list-image.controller.ts
│ │ │ ├── todo-list-todo.controller.ts
│ │ │ ├── todo-list.controller.ts
│ │ │ └── todo.controller.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ ├── todo-list-image.model.ts
│ │ │ ├── todo-list.model.ts
│ │ │ └── todo.model.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ ├── todo-list-image.repository.ts
│ │ │ ├── todo-list.repository.ts
│ │ │ └── todo.repository.ts
│ │ └── sequence.ts
│ └── tsconfig.json
├── todo
│ ├── .dockerignore
│ ├── .editorconfig
│ ├── .eslintrc.js
│ ├── .npmignore
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── LICENSE
│ ├── README.md
│ ├── data
│ │ └── db.json
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── test-helper.ts
│ │ │ │ └── todo.acceptance.ts
│ │ │ ├── helpers.ts
│ │ │ ├── integration
│ │ │ │ └── services
│ │ │ │ │ └── geocoder.service.integration.ts
│ │ │ └── unit
│ │ │ │ └── controllers
│ │ │ │ └── todo.controller.unit.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ └── todo.controller.ts
│ │ ├── datasources
│ │ │ ├── db.datasource.ts
│ │ │ ├── geocoder.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ └── todo.model.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ └── todo.repository.ts
│ │ ├── sequence.ts
│ │ └── services
│ │ │ ├── geocoder.service.ts
│ │ │ └── index.ts
│ └── tsconfig.json
├── validation-app
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .mocharc.json
│ ├── .npmrc
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .vscode
│ │ ├── settings.json
│ │ └── tasks.json
│ ├── .yo-rc.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── public
│ │ └── index.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── README.md
│ │ │ └── acceptance
│ │ │ │ ├── home-page.acceptance.ts
│ │ │ │ ├── test-helper.ts
│ │ │ │ └── validate.acceptance.ts
│ │ ├── application.ts
│ │ ├── controllers
│ │ │ ├── README.md
│ │ │ ├── coffee-shop.controller.ts
│ │ │ └── index.ts
│ │ ├── datasources
│ │ │ ├── README.md
│ │ │ ├── ds.datasource.config.json
│ │ │ ├── ds.datasource.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── interceptors
│ │ │ ├── index.ts
│ │ │ └── validate-phone-num.interceptor.ts
│ │ ├── middleware
│ │ │ └── validation-error.middleware.ts
│ │ ├── migrate.ts
│ │ ├── models
│ │ │ ├── README.md
│ │ │ ├── coffee-shop.model.ts
│ │ │ └── index.ts
│ │ ├── openapi-spec.ts
│ │ ├── repositories
│ │ │ ├── README.md
│ │ │ ├── coffee-shop.repository.ts
│ │ │ └── index.ts
│ │ └── sequence.ts
│ └── tsconfig.json
└── webpack
│ ├── .editorconfig
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── src
│ ├── __tests__
│ │ └── integration
│ │ │ ├── bundle-node.integration.ts
│ │ │ ├── bundle-web.integration.ts
│ │ │ ├── dependency-injection.integration.ts
│ │ │ └── test-helper.ts
│ ├── dependency-injection.ts
│ └── index.ts
│ ├── tsconfig.json
│ └── webpack.config.js
├── extensions
├── apiconnect
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── apiconnect.acceptance.ts
│ │ ├── apiconnect.component.ts
│ │ ├── apiconnect.spec-enhancer.ts
│ │ ├── index.ts
│ │ └── keys.ts
│ └── tsconfig.json
├── authentication-jwt
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── authentication-jwt.png
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── jwt.component.test.ts
│ │ │ ├── fixtures
│ │ │ │ ├── application.ts
│ │ │ │ ├── controllers
│ │ │ │ │ └── user.controller.ts
│ │ │ │ ├── datasources
│ │ │ │ │ └── db.datasource.ts
│ │ │ │ └── sequence.ts
│ │ │ └── unit
│ │ │ │ └── jwt.service.ts
│ │ ├── index.ts
│ │ ├── jwt-authentication-component.ts
│ │ ├── keys.ts
│ │ ├── models
│ │ │ ├── index.ts
│ │ │ ├── refresh-token.model.ts
│ │ │ ├── user-credentials.model.ts
│ │ │ └── user.model.ts
│ │ ├── repositories
│ │ │ ├── index.ts
│ │ │ ├── refresh-token.repository.ts
│ │ │ ├── user-credentials.repository.ts
│ │ │ └── user.repository.ts
│ │ ├── services
│ │ │ ├── index.ts
│ │ │ ├── jwt.auth.strategy.ts
│ │ │ ├── jwt.service.ts
│ │ │ ├── refreshtoken.service.ts
│ │ │ ├── security.spec.enhancer.ts
│ │ │ └── user.service.ts
│ │ └── types.ts
│ └── tsconfig.json
├── authentication-passport
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── README.md
│ │ │ │ ├── authentication-with-passport-strategy-adapter.acceptance.ts
│ │ │ │ ├── authentication-with-passport-strategy-oauth2-adapter.acceptance.ts
│ │ │ │ └── fixtures
│ │ │ │ │ └── simple-rest-app.ts
│ │ │ └── unit
│ │ │ │ ├── fixtures
│ │ │ │ └── mock-passport-strategy.ts
│ │ │ │ └── passport-strategy-adapter.unit.ts
│ │ ├── index.ts
│ │ └── strategy-adapter.ts
│ └── tsconfig.json
├── context-explorer
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── public
│ │ ├── index.html
│ │ └── js
│ │ │ └── graph-util.js
│ ├── sample-graph.svg
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── context-explorer.acceptance.ts
│ │ │ └── integration
│ │ │ │ ├── context-graph.integration.ts
│ │ │ │ └── visualizer.integration.ts
│ │ ├── context-explorer.component.ts
│ │ ├── context-explorer.controller.ts
│ │ ├── context-graph.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── types.ts
│ │ └── visualizer.ts
│ └── tsconfig.json
├── cron
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── cron.acceptance.ts
│ │ ├── cron.component.ts
│ │ ├── decorators
│ │ │ ├── cron-job.decorator.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ └── types.ts
│ └── tsconfig.json
├── graphql
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── fixtures
│ │ │ │ └── graphql-resolvers
│ │ │ │ │ └── recipe
│ │ │ │ │ ├── recipe.input.ts
│ │ │ │ │ ├── recipe.model.ts
│ │ │ │ │ └── recipe.resolver.ts
│ │ │ ├── integration
│ │ │ │ └── export-graphql-spec.integration.ts
│ │ │ └── unit
│ │ │ │ ├── container.unit.ts
│ │ │ │ ├── graphql.component.unit.ts
│ │ │ │ └── graphql.server.unit.ts
│ │ ├── booters
│ │ │ └── resolver.booter.ts
│ │ ├── decorators
│ │ │ └── index.ts
│ │ ├── graphql.component.ts
│ │ ├── graphql.container.ts
│ │ ├── graphql.server.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ └── types.ts
│ ├── tsconfig.json
│ └── type-graphql.png
├── health
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── health.acceptance.ts
│ │ ├── controllers
│ │ │ ├── health.controller.ts
│ │ │ └── index.ts
│ │ ├── health.component.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── observers
│ │ │ ├── health.observer.ts
│ │ │ └── index.ts
│ │ └── types.ts
│ └── tsconfig.json
├── logging
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── logging-component.png
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ ├── logging.component.acceptance.ts
│ │ │ │ ├── logging.interceptor.acceptance.ts
│ │ │ │ └── winston.acceptance.ts
│ │ ├── decorators
│ │ │ ├── index.ts
│ │ │ └── logging.decorator.ts
│ │ ├── fluent.ts
│ │ ├── index.ts
│ │ ├── interceptors
│ │ │ ├── index.ts
│ │ │ └── logging.interceptor.ts
│ │ ├── keys.ts
│ │ ├── logging.component.ts
│ │ └── winston.ts
│ └── tsconfig.json
├── metrics
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── start-pushgateway.sh
│ │ └── stop-pushgateway.sh
│ ├── package.json
│ ├── prometheus-demo.png
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ ├── metrics-push.acceptance.ts
│ │ │ │ ├── metrics.acceptance.ts
│ │ │ │ ├── mock-pushgateway.ts
│ │ │ │ └── mock.controller.ts
│ │ ├── controllers
│ │ │ ├── index.ts
│ │ │ └── metrics.controller.ts
│ │ ├── index.ts
│ │ ├── interceptors
│ │ │ ├── index.ts
│ │ │ └── metrics.interceptor.ts
│ │ ├── keys.ts
│ │ ├── metrics.component.ts
│ │ ├── observers
│ │ │ ├── index.ts
│ │ │ ├── metrics.observer.ts
│ │ │ └── metrics.push.observer.ts
│ │ └── types.ts
│ └── tsconfig.json
├── pooling
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── pooling.png
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── README.md
│ │ │ │ └── pooling.acceptance.ts
│ │ │ ├── integration
│ │ │ │ └── README.md
│ │ │ └── unit
│ │ │ │ └── README.md
│ │ ├── index.ts
│ │ └── pooling.ts
│ └── tsconfig.json
├── sequelize
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── fixtures
│ │ │ │ ├── application.ts
│ │ │ │ ├── controllers
│ │ │ │ │ ├── book-category.controller.ts
│ │ │ │ │ ├── book.controller.ts
│ │ │ │ │ ├── category.controller.ts
│ │ │ │ │ ├── developer.controller.ts
│ │ │ │ │ ├── doctor-patient.controller.ts
│ │ │ │ │ ├── doctor.controller.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── patient.controller.ts
│ │ │ │ │ ├── product.controller.ts
│ │ │ │ │ ├── programming-languange.controller.ts
│ │ │ │ │ ├── roles.controller.ts
│ │ │ │ │ ├── scoped-task.controller.ts
│ │ │ │ │ ├── task.controller.ts
│ │ │ │ │ ├── test.controller.base.ts
│ │ │ │ │ ├── todo-list-todo.controller.ts
│ │ │ │ │ ├── todo-list.controller.ts
│ │ │ │ │ ├── todo-todo-list.controller.ts
│ │ │ │ │ ├── todo.controller.ts
│ │ │ │ │ ├── transaction.controller.ts
│ │ │ │ │ ├── user-todo-list.controller.ts
│ │ │ │ │ └── user.controller.ts
│ │ │ │ ├── datasources
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── primary.datasource.ts
│ │ │ │ │ └── secondary.datasource.ts
│ │ │ │ ├── models
│ │ │ │ │ ├── appointment.model.ts
│ │ │ │ │ ├── book.model.ts
│ │ │ │ │ ├── category.model.ts
│ │ │ │ │ ├── developer.model.ts
│ │ │ │ │ ├── doctor.model.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── patient.model.ts
│ │ │ │ │ ├── product.model.ts
│ │ │ │ │ ├── programming-language.model.ts
│ │ │ │ │ ├── roles.model.ts
│ │ │ │ │ ├── scoped-task.model.ts
│ │ │ │ │ ├── task.model.ts
│ │ │ │ │ ├── test.model.ts
│ │ │ │ │ ├── todo-list.model.ts
│ │ │ │ │ ├── todo.model.ts
│ │ │ │ │ └── user.model.ts
│ │ │ │ ├── observers
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── test.observer.ts
│ │ │ │ └── repositories
│ │ │ │ │ ├── appointment.repository.ts
│ │ │ │ │ ├── book.repository.ts
│ │ │ │ │ ├── category.repository.ts
│ │ │ │ │ ├── developer.repository.ts
│ │ │ │ │ ├── doctor.repository.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── patient.repository.ts
│ │ │ │ │ ├── product.repository.ts
│ │ │ │ │ ├── programming-language.repository.ts
│ │ │ │ │ ├── roles.repository.ts
│ │ │ │ │ ├── scoped-task.repository.ts
│ │ │ │ │ ├── task.repository.ts
│ │ │ │ │ ├── todo-list.repository.ts
│ │ │ │ │ ├── todo.repository.ts
│ │ │ │ │ └── user.repository.ts
│ │ │ ├── integration
│ │ │ │ ├── README.md
│ │ │ │ └── repository.integration.ts
│ │ │ └── unit
│ │ │ │ ├── README.md
│ │ │ │ └── sequelize.datasource.unit.ts
│ │ ├── component.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── sequelize
│ │ │ ├── connector-mapping.ts
│ │ │ ├── index.ts
│ │ │ ├── operator-translation.ts
│ │ │ ├── sequelize.datasource.base.ts
│ │ │ ├── sequelize.model.ts
│ │ │ ├── sequelize.repository.base.ts
│ │ │ └── utils.ts
│ │ └── types.ts
│ └── tsconfig.json
├── socketio
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── socketio.events.acceptance.ts
│ │ │ │ └── socketio.server.acceptance.ts
│ │ │ ├── fixtures
│ │ │ │ ├── application.ts
│ │ │ │ ├── dummy-socket.ts
│ │ │ │ ├── helpers.ts
│ │ │ │ └── ws-controllers
│ │ │ │ │ ├── chat.controller.ts
│ │ │ │ │ ├── decorator-test.controller.ts
│ │ │ │ │ ├── dummy-test.controller.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── methods-test.controller.ts
│ │ │ │ │ ├── sample-test.controller.ts
│ │ │ │ │ └── sequence-test.controller.ts
│ │ │ └── unit
│ │ │ │ ├── socketio-controller-factory.test.ts
│ │ │ │ ├── socketio.application.test.ts
│ │ │ │ ├── socketio.booter.test.ts
│ │ │ │ ├── socketio.decorator.test.ts
│ │ │ │ ├── socketio.sequence.test.ts
│ │ │ │ └── socketio.server.test.ts
│ │ ├── booters
│ │ │ ├── index.ts
│ │ │ └── socketio.booter.ts
│ │ ├── decorators
│ │ │ ├── index.ts
│ │ │ └── socketio.decorator.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── providers
│ │ │ ├── index.ts
│ │ │ ├── invoke-method.provider.ts
│ │ │ ├── reject-method.provider.ts
│ │ │ └── send-method.provider.ts
│ │ ├── socketio-controller-factory.ts
│ │ ├── socketio.application.ts
│ │ ├── socketio.component.ts
│ │ ├── socketio.sequence.ts
│ │ ├── socketio.server.ts
│ │ └── types.ts
│ └── tsconfig.json
└── typeorm
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ ├── __tests__
│ │ ├── fixtures
│ │ │ ├── application.ts
│ │ │ ├── controllers
│ │ │ │ └── book.controller.ts
│ │ │ ├── typeorm-connections
│ │ │ │ └── sqlite.connection.ts
│ │ │ └── typeorm-entities
│ │ │ │ └── book.entity.ts
│ │ ├── integration
│ │ │ ├── booter.integration.ts
│ │ │ └── rest.integration.ts
│ │ └── unit
│ │ │ ├── booter.unit.ts
│ │ │ └── mixin.unit.ts
│ ├── index.ts
│ ├── typeorm-connection.booter.ts
│ ├── typeorm.decorators.ts
│ ├── typeorm.keys.ts
│ ├── typeorm.mixin.ts
│ ├── typeorm.types.ts
│ └── typeorm.utils.ts
│ └── tsconfig.json
├── fixtures
├── mock-oauth2-provider
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── mock-oauth2.acceptance.ts
│ │ ├── index.ts
│ │ ├── mock-oauth2-social-app.ts
│ │ └── user-repository.ts
│ └── tsconfig.json
└── tsdocs-monorepo
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── lerna.json
│ ├── package.json
│ ├── packages
│ ├── pkg1
│ │ ├── dist
│ │ │ ├── index.d.ts
│ │ │ ├── index.js
│ │ │ └── index.js.map
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── pkg2
│ │ ├── dist
│ │ │ ├── index.d.ts
│ │ │ ├── index.js
│ │ │ └── index.js.map
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── pkg3-non-ts
│ │ ├── index.js
│ │ └── package.json
│ └── pkg4-private
│ │ ├── index.js
│ │ └── package.json
│ └── tsconfig.json
├── lerna.json
├── package-lock.json
├── package.json
├── packages
├── authentication
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── docs
│ │ ├── authentication-action.md
│ │ ├── authentication-strategy.md
│ │ ├── authentication-system.md
│ │ ├── controller-functions.md
│ │ ├── imgs
│ │ │ ├── API-flow-(JWT).png
│ │ │ ├── auth-framework-architecture.png
│ │ │ ├── authentication_overview_highlevel.png
│ │ │ ├── multiple-auth-strategies-login.png
│ │ │ └── multiple-auth-strategies-verify.png
│ │ ├── strategies
│ │ │ ├── basic-auth.md
│ │ │ ├── jwt.md
│ │ │ ├── oauth2.md
│ │ │ ├── openid.md
│ │ │ └── saml.md
│ │ ├── track-user-profile
│ │ │ ├── session-based-auth.md
│ │ │ └── token-based-auth.md
│ │ └── transport-layer-based-extraction
│ │ │ └── extract-current-user.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── basic-auth-extension.acceptance.ts
│ │ │ │ ├── basic-auth-extension.middleware.acceptance.ts
│ │ │ │ ├── jwt-auth-extension.acceptance.ts
│ │ │ │ └── jwt-auth-extension.middleware.acceptance.ts
│ │ │ ├── fixtures
│ │ │ │ ├── helper.ts
│ │ │ │ ├── keys.ts
│ │ │ │ ├── sequences
│ │ │ │ │ ├── authentication.middleware.sequence.ts
│ │ │ │ │ └── authentication.sequence.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── basic-auth-user-service.ts
│ │ │ │ │ └── jwt-service.ts
│ │ │ │ ├── strategies
│ │ │ │ │ ├── basic-strategy.ts
│ │ │ │ │ └── jwt-strategy.ts
│ │ │ │ └── users
│ │ │ │ │ ├── user.repository.ts
│ │ │ │ │ └── user.ts
│ │ │ ├── integration
│ │ │ │ └── smoke.integration.ts
│ │ │ └── unit
│ │ │ │ ├── decorators
│ │ │ │ └── authenticate.decorator.unit.ts
│ │ │ │ ├── fixtures
│ │ │ │ ├── mock-metadata.ts
│ │ │ │ └── mock-strategy.ts
│ │ │ │ ├── providers
│ │ │ │ ├── auth-metadata.provider.unit.ts
│ │ │ │ ├── auth-strategy.provider.unit.ts
│ │ │ │ └── authentication.provider.unit.ts
│ │ │ │ └── types
│ │ │ │ ├── authentication-metadata-for-strategy.unit.ts
│ │ │ │ ├── register-authentication-strategy.unit.ts
│ │ │ │ └── user-profile-factory.unit.ts
│ │ ├── authentication.component.ts
│ │ ├── decorators
│ │ │ ├── authenticate.decorator.ts
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── providers
│ │ │ ├── auth-action.provider.ts
│ │ │ ├── auth-metadata.provider.ts
│ │ │ ├── auth-strategy.provider.ts
│ │ │ └── index.ts
│ │ ├── services
│ │ │ ├── index.ts
│ │ │ ├── token.service.ts
│ │ │ ├── user-identity.service.ts
│ │ │ └── user.service.ts
│ │ └── types.ts
│ └── tsconfig.json
├── authorization
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ └── casbin
│ │ │ ├── rbac_model.conf
│ │ │ └── rbac_policy.csv
│ ├── imgs
│ │ ├── authorization.png
│ │ ├── responsibilities.png
│ │ └── use-case.png
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── authorization-casbin.acceptance.ts
│ │ │ │ ├── authorization.acceptance.ts
│ │ │ │ └── authorization.options.acceptance.ts
│ │ │ └── unit
│ │ │ │ ├── authorize-decorator.test.ts
│ │ │ │ └── util.test.ts
│ │ ├── authorization-component.ts
│ │ ├── authorize-interceptor.ts
│ │ ├── decorators
│ │ │ └── authorize.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── types.ts
│ │ └── util.ts
│ └── tsconfig.json
├── boot
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── application-metadata.booter.acceptance.ts
│ │ │ │ ├── component-application.booter.acceptance.ts
│ │ │ │ ├── controller.booter.acceptance.ts
│ │ │ │ ├── crud-rest.api-builder.acceptance.ts
│ │ │ │ └── model-api.booter.acceptance.ts
│ │ │ ├── fixtures
│ │ │ │ ├── application.ts
│ │ │ │ ├── bindable-classes.artifact.ts
│ │ │ │ ├── datasource.artifact.ts
│ │ │ │ ├── empty.artifact.ts
│ │ │ │ ├── interceptor.artifact.ts
│ │ │ │ ├── lifecycle-observer.artifact.ts
│ │ │ │ ├── multiple-models.model.ts
│ │ │ │ ├── multiple.artifact.ts
│ │ │ │ ├── no-entity.model.ts
│ │ │ │ ├── non-global-interceptor.artifact.ts
│ │ │ │ ├── package.json
│ │ │ │ ├── product.model.ts
│ │ │ │ ├── product.repository.ts
│ │ │ │ ├── service-class.artifact.ts
│ │ │ │ ├── service-dynamic-value-provider.artifact.ts
│ │ │ │ ├── service-provider.artifact.ts
│ │ │ │ └── stub-model-api-builder.ts
│ │ │ ├── integration
│ │ │ │ ├── controller.booter.integration.ts
│ │ │ │ ├── datasource.booter.integration.ts
│ │ │ │ ├── interceptor.booter.integration.ts
│ │ │ │ ├── lifecycle-observer.booter.integration.ts
│ │ │ │ ├── model.booter.integration.ts
│ │ │ │ ├── repository.booter.integration.ts
│ │ │ │ └── service.booter.integration.ts
│ │ │ └── unit
│ │ │ │ ├── boot.component.unit.ts
│ │ │ │ ├── boot.custom-binding.component.unit.ts
│ │ │ │ ├── booters
│ │ │ │ ├── base-artifact.booter.unit.ts
│ │ │ │ ├── booter-utils.unit.ts
│ │ │ │ ├── controller.booter.unit.ts
│ │ │ │ ├── datasource.booter.unit.ts
│ │ │ │ ├── repository.booter.unit.ts
│ │ │ │ └── service.booter.unit.ts
│ │ │ │ ├── bootstrapper.unit.ts
│ │ │ │ └── mixins
│ │ │ │ └── boot.mixin.unit.ts
│ │ ├── boot.component.ts
│ │ ├── booters
│ │ │ ├── application-metadata.booter.ts
│ │ │ ├── base-artifact.booter.ts
│ │ │ ├── booter-utils.ts
│ │ │ ├── component-application.booter.ts
│ │ │ ├── controller.booter.ts
│ │ │ ├── datasource.booter.ts
│ │ │ ├── index.ts
│ │ │ ├── interceptor.booter.ts
│ │ │ ├── lifecyle-observer.booter.ts
│ │ │ ├── model-api.booter.ts
│ │ │ ├── model.booter.ts
│ │ │ ├── repository.booter.ts
│ │ │ └── service.booter.ts
│ │ ├── bootstrapper.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── mixins
│ │ │ ├── boot.mixin.ts
│ │ │ └── index.ts
│ │ └── types.ts
│ └── tsconfig.json
├── booter-lb3app
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── app-with-model.js
│ │ ├── lb3app
│ │ │ ├── common
│ │ │ │ └── models
│ │ │ │ │ ├── coffee-shop.js
│ │ │ │ │ ├── coffee-shop.json
│ │ │ │ │ ├── coffee.js
│ │ │ │ │ └── coffee.json
│ │ │ └── server
│ │ │ │ ├── boot
│ │ │ │ ├── authentication.js
│ │ │ │ ├── create-sample-models.js
│ │ │ │ └── routes.js
│ │ │ │ ├── config.json
│ │ │ │ ├── datasources.json
│ │ │ │ ├── middleware.json
│ │ │ │ ├── model-config.json
│ │ │ │ └── server.js
│ │ └── minimal-app.js
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── booter-lb3app.acceptance.ts
│ │ │ └── test-helper.ts
│ │ ├── index.ts
│ │ ├── lb3app.booter.component.ts
│ │ └── lb3app.booter.ts
│ └── tsconfig.json
├── build
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ ├── compile-package.js
│ │ ├── run-clean.js
│ │ ├── run-eslint.js
│ │ ├── run-mocha.js
│ │ ├── run-nyc.js
│ │ ├── run-prettier.js
│ │ └── utils.js
│ ├── config
│ │ ├── .eslintignore
│ │ ├── .eslintrc.js
│ │ ├── .mocharc.json
│ │ ├── .nycrc
│ │ ├── .prettierrc
│ │ ├── tsconfig.build.json
│ │ └── tsconfig.common.json
│ ├── index.js
│ ├── package.json
│ ├── src
│ │ ├── fail-on-console-logs.js
│ │ └── merge-mocha-configs.js
│ └── test
│ │ ├── integration
│ │ ├── fixtures
│ │ │ ├── .gitignore
│ │ │ ├── docs.json
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ └── index.ts
│ │ │ └── test
│ │ │ │ └── .gitkeep
│ │ └── scripts.integration.js
│ │ └── unit
│ │ └── utils.unit.js
├── cli
│ ├── .mocharc.js
│ ├── .npmrc
│ ├── .yo-rc.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ │ └── cli-main.js
│ ├── generators
│ │ ├── app
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ ├── .dockerignore
│ │ │ │ ├── Dockerfile
│ │ │ │ ├── README.md.ejs
│ │ │ │ ├── public
│ │ │ │ └── index.html.ejs
│ │ │ │ └── src
│ │ │ │ ├── __tests__
│ │ │ │ ├── README.md
│ │ │ │ └── acceptance
│ │ │ │ │ ├── home-page.acceptance.ts.ejs
│ │ │ │ │ ├── ping.controller.acceptance.ts.ejs
│ │ │ │ │ └── test-helper.ts.ejs
│ │ │ │ ├── application.ts.ejs
│ │ │ │ ├── controllers
│ │ │ │ ├── README.md
│ │ │ │ ├── index.ts.ejs
│ │ │ │ └── ping.controller.ts.ejs
│ │ │ │ ├── datasources
│ │ │ │ └── README.md
│ │ │ │ ├── index.ts.ejs
│ │ │ │ ├── migrate.ts.ejs
│ │ │ │ ├── models
│ │ │ │ └── README.md
│ │ │ │ ├── openapi-spec.ts.ejs
│ │ │ │ ├── repositories
│ │ │ │ └── README.md
│ │ │ │ └── sequence.ts.ejs
│ │ ├── controller
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── src
│ │ │ │ └── controllers
│ │ │ │ ├── controller-rest-template.ts.ejs
│ │ │ │ └── controller-template.ts.ejs
│ │ ├── copyright
│ │ │ ├── fs.js
│ │ │ ├── git.js
│ │ │ ├── header.js
│ │ │ ├── index.js
│ │ │ └── license.js
│ │ ├── datasource
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── datasource.ts.ejs
│ │ ├── discover
│ │ │ ├── import-discovered-model.js
│ │ │ └── index.js
│ │ ├── example
│ │ │ ├── downloader.js
│ │ │ └── index.js
│ │ ├── extension
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ ├── README.md.ejs
│ │ │ │ └── src
│ │ │ │ ├── __tests__
│ │ │ │ ├── acceptance
│ │ │ │ │ └── README.md
│ │ │ │ ├── integration
│ │ │ │ │ └── README.md
│ │ │ │ └── unit
│ │ │ │ │ └── README.md
│ │ │ │ ├── component.ts.ejs
│ │ │ │ ├── controllers
│ │ │ │ └── README.md
│ │ │ │ ├── decorators
│ │ │ │ └── README.md
│ │ │ │ ├── index.ts.ejs
│ │ │ │ ├── keys.ts.ejs
│ │ │ │ ├── mixins
│ │ │ │ └── README.md
│ │ │ │ ├── providers
│ │ │ │ └── README.md
│ │ │ │ ├── repositories
│ │ │ │ └── README.md
│ │ │ │ └── types.ts.ejs
│ │ ├── import-lb3-models
│ │ │ ├── index.js
│ │ │ ├── lb3app-loader.js
│ │ │ ├── migrate-model.js
│ │ │ └── model-names.js
│ │ ├── interceptor
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── interceptor-template.ts.ejs
│ │ ├── model
│ │ │ ├── index.js
│ │ │ ├── property-definition.js
│ │ │ └── templates
│ │ │ │ └── model.ts.ejs
│ │ ├── observer
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── observer-template.ts.ejs
│ │ ├── openapi
│ │ │ ├── README.md
│ │ │ ├── index.js
│ │ │ ├── schema-helper.js
│ │ │ ├── spec-helper.js
│ │ │ ├── spec-loader.js
│ │ │ ├── templates
│ │ │ │ └── src
│ │ │ │ │ ├── controllers
│ │ │ │ │ └── controller-template.ts.ejs
│ │ │ │ │ ├── datasources
│ │ │ │ │ └── datasource.ts.ejs
│ │ │ │ │ ├── models
│ │ │ │ │ ├── model-template.ts.ejs
│ │ │ │ │ └── type-template.ts.ejs
│ │ │ │ │ └── services
│ │ │ │ │ └── service-proxy-template.ts.ejs
│ │ │ └── utils.js
│ │ ├── project
│ │ │ └── templates
│ │ │ │ ├── .editorconfig
│ │ │ │ ├── .eslintignore
│ │ │ │ ├── .eslintrc.js.ejs
│ │ │ │ ├── .mocharc.json
│ │ │ │ ├── .npmrc
│ │ │ │ ├── .prettierignore
│ │ │ │ ├── .prettierrc
│ │ │ │ ├── .vscode
│ │ │ │ ├── launch.json
│ │ │ │ ├── settings.json
│ │ │ │ └── tasks.json
│ │ │ │ ├── DEVELOPING.md
│ │ │ │ ├── _.gitignore
│ │ │ │ ├── package.json.ejs
│ │ │ │ ├── package.plain.json.ejs
│ │ │ │ └── tsconfig.json.ejs
│ │ ├── relation
│ │ │ ├── base-relation.generator.js
│ │ │ ├── belongs-to-relation.generator.js
│ │ │ ├── has-many-relation.generator.js
│ │ │ ├── has-many-through-relation.generator.js
│ │ │ ├── has-one-relation.generator.js
│ │ │ ├── index.js
│ │ │ ├── references-many-relation.generator.js
│ │ │ ├── templates
│ │ │ │ ├── controller-relation-template-belongs-to.ts.ejs
│ │ │ │ ├── controller-relation-template-has-many-through.ts.ejs
│ │ │ │ ├── controller-relation-template-has-many.ts.ejs
│ │ │ │ └── controller-relation-template-has-one.ts.ejs
│ │ │ └── utils.generator.js
│ │ ├── repository
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── src
│ │ │ │ └── repositories
│ │ │ │ ├── repository-crud-default-template.ts.ejs
│ │ │ │ └── repository-kv-template.ts.ejs
│ │ ├── rest-crud
│ │ │ ├── crud-rest-component.js
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── src
│ │ │ │ └── model-endpoints
│ │ │ │ └── model.rest-config-template.ts.ejs
│ │ ├── service
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ ├── local-service-class-template.ts.ejs
│ │ │ │ ├── local-service-provider-template.ts.ejs
│ │ │ │ └── remote-service-proxy-template.ts.ejs
│ │ └── update
│ │ │ └── index.js
│ ├── intl
│ │ ├── cs
│ │ │ └── messages.json
│ │ ├── de
│ │ │ └── messages.json
│ │ ├── en
│ │ │ └── messages.json
│ │ ├── es
│ │ │ └── messages.json
│ │ ├── fr
│ │ │ └── messages.json
│ │ ├── it
│ │ │ └── messages.json
│ │ ├── ja
│ │ │ └── messages.json
│ │ ├── ko
│ │ │ └── messages.json
│ │ ├── nl
│ │ │ └── messages.json
│ │ ├── pl
│ │ │ └── messages.json
│ │ ├── pt
│ │ │ └── messages.json
│ │ ├── ru
│ │ │ └── messages.json
│ │ ├── tr
│ │ │ └── messages.json
│ │ ├── zh-Hans
│ │ │ └── messages.json
│ │ └── zh-Hant
│ │ │ └── messages.json
│ ├── lib
│ │ ├── artifact-generator.js
│ │ ├── ast-helper.js
│ │ ├── base-generator.js
│ │ ├── cli.js
│ │ ├── connectors.json
│ │ ├── debug.js
│ │ ├── globalize.js
│ │ ├── model-discoverer.js
│ │ ├── project-generator.js
│ │ ├── tab-completion.js
│ │ ├── update-index.js
│ │ ├── utils.js
│ │ └── version-helper.js
│ ├── package.json
│ ├── smoke-test
│ │ └── openapi
│ │ │ ├── README.md
│ │ │ ├── code-gen-utils.js
│ │ │ └── real-world-apis.smoke.js
│ ├── snapshots
│ │ ├── integration
│ │ │ ├── cli
│ │ │ │ └── cli.integration.snapshots.js
│ │ │ ├── generators
│ │ │ │ ├── app.integration.snapshots.js
│ │ │ │ ├── controller.integration.snapshots.js
│ │ │ │ ├── datasource.integration.snapshots.js
│ │ │ │ ├── discover.integration.snapshots.js
│ │ │ │ ├── import-lb3-models.integration.snapshots.js
│ │ │ │ ├── interceptor.integration.snapshots.js
│ │ │ │ ├── model.integration.snapshots.js
│ │ │ │ ├── observer.integration.snapshots.js
│ │ │ │ ├── openapi-client.integration.snapshots.js
│ │ │ │ ├── openapi-petstore.integration.snapshots.js
│ │ │ │ ├── openapi-uspto-with-anonymous.integration.snapshots.js
│ │ │ │ ├── openapi-uspto.integration.snapshots.js
│ │ │ │ ├── relation.belongs-to.integration.snapshots.js
│ │ │ │ ├── relation.has-many-through.integration.snapshots.js
│ │ │ │ ├── relation.has-many.integration.snapshots.js
│ │ │ │ ├── relation.has-one.integration.snapshots.js
│ │ │ │ ├── relation.integration.snapshots.js
│ │ │ │ ├── relation.references-many.integration.snapshots.js
│ │ │ │ ├── remote-service.integration.snapshots.js
│ │ │ │ ├── rest-crud.integration.snapshots.js
│ │ │ │ └── swagger-petstore.integration.snapshots.js
│ │ │ └── snapshot-matcher
│ │ │ │ ├── suite-first-run.integration.snapshots.js
│ │ │ │ └── suite-second-run.integration.snapshots.js
│ │ └── unit
│ │ │ └── openapi
│ │ │ ├── controller-spec.unit.snapshots.js
│ │ │ └── schema-model.unit.snapshots.js
│ └── test
│ │ ├── acceptance
│ │ └── app-run.acceptance.js-bkp
│ │ ├── fixtures
│ │ ├── copyright
│ │ │ ├── index.js
│ │ │ ├── monorepo
│ │ │ │ ├── index.js
│ │ │ │ ├── lerna.json
│ │ │ │ ├── lib
│ │ │ │ │ └── no-header.js
│ │ │ │ ├── package.json
│ │ │ │ └── packages
│ │ │ │ │ ├── pkg1
│ │ │ │ │ ├── lib
│ │ │ │ │ │ └── no-header.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ │ └── application.ts
│ │ │ │ │ └── pkg2
│ │ │ │ │ ├── lib
│ │ │ │ │ └── no-header.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ └── src
│ │ │ │ │ └── application.ts
│ │ │ └── single-package
│ │ │ │ ├── .yo-rc.json
│ │ │ │ ├── index.js
│ │ │ │ ├── lib
│ │ │ │ └── no-header.js
│ │ │ │ ├── package.json
│ │ │ │ └── src
│ │ │ │ └── application.ts
│ │ ├── discover
│ │ │ ├── index.js
│ │ │ └── mem.datasource.js.txt
│ │ ├── import-lb3-models
│ │ │ └── app-using-model-inheritance.js
│ │ ├── interceptor
│ │ │ └── index.js
│ │ ├── observer
│ │ │ └── index.js
│ │ ├── openapi
│ │ │ ├── 2.0
│ │ │ │ └── petstore-expanded-swagger.json
│ │ │ └── 3.0
│ │ │ │ ├── customer.yaml
│ │ │ │ ├── index.js
│ │ │ │ ├── petstore-expanded.yaml
│ │ │ │ ├── src
│ │ │ │ └── datasources
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── pet-store.datasource.ts
│ │ │ │ └── uspto.yaml
│ │ ├── relation
│ │ │ ├── controllers
│ │ │ │ ├── account.controller.ts
│ │ │ │ ├── address-customer.controller.ts
│ │ │ │ ├── customer.controller.ts
│ │ │ │ ├── doctor-patient.controller.ts
│ │ │ │ ├── employee.controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── index4.ts
│ │ │ │ ├── order-customer.controller.ts
│ │ │ │ └── user-user.controller.ts
│ │ │ ├── index.js
│ │ │ ├── models
│ │ │ │ ├── account.model.ts
│ │ │ │ ├── address-with-fk.model.ts
│ │ │ │ ├── address.model.ts
│ │ │ │ ├── appointment.model.ts
│ │ │ │ ├── customer-inhe.model.ts
│ │ │ │ ├── customer.model.ts
│ │ │ │ ├── customer5.model.ts
│ │ │ │ ├── customer6.model.ts
│ │ │ │ ├── customer7.model.ts
│ │ │ │ ├── doctor.model.ts
│ │ │ │ ├── employee.model.ts
│ │ │ │ ├── friend.model.ts
│ │ │ │ ├── id-model.model.ts
│ │ │ │ ├── no-repo.model.ts
│ │ │ │ ├── order-inhe.model.ts
│ │ │ │ ├── order-with-fk.model.ts
│ │ │ │ ├── order.model.ts
│ │ │ │ ├── patient.model.ts
│ │ │ │ └── user.model.ts
│ │ │ └── repositories
│ │ │ │ ├── account.repository.ts
│ │ │ │ ├── address.repository.ts
│ │ │ │ ├── appointment.repository.ts
│ │ │ │ ├── customer-inhe.repository.ts
│ │ │ │ ├── customer.repository.ts
│ │ │ │ ├── doctor.repository.ts
│ │ │ │ ├── employee.repository.ts
│ │ │ │ ├── friend.repository.ts
│ │ │ │ ├── order-inhe.repository.ts
│ │ │ │ ├── order.repository.ts
│ │ │ │ ├── patient.repository.ts
│ │ │ │ └── user.repository.ts
│ │ ├── repository
│ │ │ ├── index.js
│ │ │ ├── models
│ │ │ │ ├── decorator-defined.model.txt
│ │ │ │ ├── default-model.model.txt
│ │ │ │ ├── invalid-id.model.txt
│ │ │ │ ├── model-1-name-with-num1.model.txt
│ │ │ │ └── multi-word.model.txt
│ │ │ └── repositories
│ │ │ │ └── default-model.repository.base.ts
│ │ ├── rest-crud
│ │ │ ├── application.ts
│ │ │ ├── index.js
│ │ │ └── models
│ │ │ │ ├── decorator-defined.model.txt
│ │ │ │ ├── default-model.model.txt
│ │ │ │ └── multi-word.model.txt
│ │ └── service
│ │ │ └── index.js
│ │ ├── integration
│ │ ├── cli
│ │ │ └── cli.integration.js
│ │ ├── generators
│ │ │ ├── app.integration.js
│ │ │ ├── clone-example.integration.js
│ │ │ ├── controller.integration.js
│ │ │ ├── copyright-git.integration.js
│ │ │ ├── copyright-monorepo.integration.js
│ │ │ ├── copyright.integration.js
│ │ │ ├── datasource.integration.js
│ │ │ ├── discover.integration.js
│ │ │ ├── example.integration.js
│ │ │ ├── extension.integration.js
│ │ │ ├── import-lb3-models.integration.js
│ │ │ ├── interceptor.integration.js
│ │ │ ├── local-service.integration.js
│ │ │ ├── model.integration.js
│ │ │ ├── observer.integration.js
│ │ │ ├── openapi-client.integration.js
│ │ │ ├── openapi-petstore.integration.js
│ │ │ ├── openapi-uspto-with-anonymous.integration.js
│ │ │ ├── openapi-uspto.integration.js
│ │ │ ├── relation.belongs-to.integration.js
│ │ │ ├── relation.has-many-through.integration.js
│ │ │ ├── relation.has-many.integration.js
│ │ │ ├── relation.has-one.integration.js
│ │ │ ├── relation.integration.js
│ │ │ ├── relation.references-many.integration.js
│ │ │ ├── remote-service.integration.js
│ │ │ ├── repository.integration.js
│ │ │ ├── rest-crud.integration.js
│ │ │ └── swagger-petstore.integration.js
│ │ ├── lib
│ │ │ ├── artifact-generator.js
│ │ │ ├── base-config.json
│ │ │ ├── base-generator.js
│ │ │ ├── check-loopback-project.suite.js
│ │ │ ├── file-check.js
│ │ │ └── project-generator.js
│ │ └── snapshot-matcher
│ │ │ ├── common.suite.js
│ │ │ ├── suite-first-run.integration.js
│ │ │ └── suite-second-run.integration.js
│ │ ├── snapshot-matcher.js
│ │ ├── snapshots.js
│ │ ├── test-utils.js
│ │ └── unit
│ │ ├── ast-helper
│ │ └── get-id-from-model.unit.js
│ │ ├── discover
│ │ └── import-discovered-model.test.js
│ │ ├── import-lb3-model
│ │ ├── migrate-model.test.js
│ │ └── model-names.test.js
│ │ ├── openapi
│ │ ├── controller-spec.unit.js
│ │ ├── openapi-utils.unit.js
│ │ ├── schema-helper.unit.js
│ │ ├── schema-model.unit.js
│ │ └── spec-helper.unit.js
│ │ ├── tab-completion.unit.js
│ │ ├── update-index.unit.js
│ │ └── utils.unit.js
├── context
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── 1-feature.md
│ │ │ │ ├── bind-decorator.acceptance.ts
│ │ │ │ ├── binding-config.acceptance.ts
│ │ │ │ ├── binding-config.feature.md
│ │ │ │ ├── binding-decorator.feature.md
│ │ │ │ ├── child-context.acceptance.ts
│ │ │ │ ├── class-level-bindings.acceptance.ts
│ │ │ │ ├── class-level-bindings.feature.md
│ │ │ │ ├── context-event-observer.acceptance.ts
│ │ │ │ ├── context-view.acceptance.ts
│ │ │ │ ├── creating-and-resolving-bindings.acceptance.ts
│ │ │ │ ├── creating-and-resolving-bindings.feature.md
│ │ │ │ ├── finding-bindings.acceptance.ts
│ │ │ │ ├── finding-bindings.feature.md
│ │ │ │ ├── inject-multiple-values.acceptance.ts
│ │ │ │ ├── interception-proxy.acceptance.ts
│ │ │ │ ├── interceptor.acceptance.ts
│ │ │ │ ├── locking-bindings.acceptance.ts
│ │ │ │ ├── locking-bindings.feature.md
│ │ │ │ ├── method-level-bindings.acceptance.ts
│ │ │ │ ├── method-level-bindings.feature.md
│ │ │ │ ├── tagged-bindings.acceptance.ts
│ │ │ │ ├── tagged-bindings.feature.md
│ │ │ │ ├── unlocking-bindings.acceptance.ts
│ │ │ │ └── unlocking-bindings.feature.md
│ │ │ ├── integration
│ │ │ │ ├── inject-view.integration.ts
│ │ │ │ └── inject.integration.ts
│ │ │ └── unit
│ │ │ │ ├── binding-decorator.unit.ts
│ │ │ │ ├── binding-filter.unit.ts
│ │ │ │ ├── binding-inspector.unit.ts
│ │ │ │ ├── binding-key.unit.ts
│ │ │ │ ├── binding-sorter.unit.ts
│ │ │ │ ├── binding.unit.ts
│ │ │ │ ├── context-config.unit.ts
│ │ │ │ ├── context-observer.unit.ts
│ │ │ │ ├── context-tag-indexer.unit.ts
│ │ │ │ ├── context-view.unit.ts
│ │ │ │ ├── context.unit.ts
│ │ │ │ ├── inject.unit.ts
│ │ │ │ ├── interceptor-chain.unit.ts
│ │ │ │ ├── interceptor.unit.ts
│ │ │ │ ├── invocation-context.unit.ts
│ │ │ │ ├── is-promise.unit.ts
│ │ │ │ ├── provider.unit.ts
│ │ │ │ ├── resolution-session.unit.ts
│ │ │ │ ├── resolver.unit.ts
│ │ │ │ ├── try-catch-finally.unit.ts
│ │ │ │ └── value-promise.unit.ts
│ │ ├── binding-config.ts
│ │ ├── binding-decorator.ts
│ │ ├── binding-filter.ts
│ │ ├── binding-inspector.ts
│ │ ├── binding-key.ts
│ │ ├── binding-sorter.ts
│ │ ├── binding.ts
│ │ ├── context-event.ts
│ │ ├── context-observer.ts
│ │ ├── context-subscription.ts
│ │ ├── context-tag-indexer.ts
│ │ ├── context-view.ts
│ │ ├── context.ts
│ │ ├── index.ts
│ │ ├── inject-config.ts
│ │ ├── inject.ts
│ │ ├── interception-proxy.ts
│ │ ├── interceptor-chain.ts
│ │ ├── interceptor.ts
│ │ ├── invocation.ts
│ │ ├── json-types.ts
│ │ ├── keys.ts
│ │ ├── provider.ts
│ │ ├── resolution-session.ts
│ │ ├── resolver.ts
│ │ ├── unique-id.ts
│ │ └── value-promise.ts
│ └── tsconfig.json
├── core
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── application-with-shutdown.ts
│ │ │ │ ├── application.acceptance.ts
│ │ │ │ ├── application.feature.md
│ │ │ │ ├── application.shutdown.acceptance.ts
│ │ │ │ ├── extension-point.acceptance.ts
│ │ │ │ └── service.acceptance.ts
│ │ │ └── unit
│ │ │ │ ├── application-lifecycle.unit.ts
│ │ │ │ ├── application.unit.ts
│ │ │ │ └── lifecycle-registry.unit.ts
│ │ ├── application.ts
│ │ ├── component.ts
│ │ ├── extension-point.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── lifecycle-registry.ts
│ │ ├── lifecycle.ts
│ │ ├── mixin-target.ts
│ │ ├── server.ts
│ │ └── service.ts
│ └── tsconfig.json
├── eslint-config
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── eslintrc.js
│ └── package.json
├── express
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── invoke-middleware.acceptance.ts
│ │ │ │ ├── middleware-action.acceptance.ts
│ │ │ │ ├── middleware-interceptor.acceptance.ts
│ │ │ │ ├── middleware-registeration.acceptance.ts
│ │ │ │ └── test-helpers.ts
│ │ │ ├── fixtures
│ │ │ │ ├── spy-config.ts
│ │ │ │ └── spy.middleware.ts
│ │ │ └── unit
│ │ │ │ └── group-order.unit.ts
│ │ ├── express.application.ts
│ │ ├── express.server.ts
│ │ ├── group-sorter.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── middleware-interceptor.ts
│ │ ├── middleware-registry.ts
│ │ ├── middleware.ts
│ │ ├── mixins
│ │ │ └── middleware.mixin.ts
│ │ ├── providers
│ │ │ └── invoke-middleware.provider.ts
│ │ └── types.ts
│ └── tsconfig.json
├── filter
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── query-builder.acceptance.ts
│ │ ├── index.ts
│ │ ├── query.ts
│ │ └── types.ts
│ └── tsconfig.json
├── http-caching-proxy
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── integration
│ │ │ │ └── http-caching-proxy.integration.ts
│ │ │ └── unit
│ │ │ │ └── http-caching-proxy.test.ts
│ │ ├── http-caching-proxy.ts
│ │ └── index.ts
│ └── tsconfig.json
├── http-server
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── cert.pem
│ │ ├── key.pem
│ │ └── pfx.pfx
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── integration
│ │ │ │ └── http-server.integration.ts
│ │ ├── http-server.ts
│ │ └── index.ts
│ └── tsconfig.json
├── metadata
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── unit
│ │ │ │ ├── decorator-factory.unit.ts
│ │ │ │ ├── inspector.unit.ts
│ │ │ │ ├── metadata-accessor.test.ts
│ │ │ │ └── reflect.unit.ts
│ │ ├── decorator-factory.ts
│ │ ├── index.ts
│ │ ├── inspector.ts
│ │ ├── reflect.ts
│ │ └── types.ts
│ └── tsconfig.json
├── model-api-builder
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── index.ts
│ │ ├── model-api-builder.ts
│ │ └── model-api-config.ts
│ └── tsconfig.json
├── openapi-spec-builder
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── unit
│ │ │ │ └── openapi-spec-builder.unit.ts
│ │ ├── index.ts
│ │ └── openapi-spec-builder.ts
│ └── tsconfig.json
├── openapi-v3
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── integration
│ │ │ │ ├── controller-spec.integration.ts
│ │ │ │ └── operation-spec.integration.ts
│ │ │ └── unit
│ │ │ │ ├── create-empty-spec.unit.ts
│ │ │ │ ├── decorators
│ │ │ │ ├── deprecated.decorator.unit.ts
│ │ │ │ ├── operation.decorator.unit.ts
│ │ │ │ ├── param
│ │ │ │ │ ├── param-header.decorator.unit.ts
│ │ │ │ │ ├── param-path.decorator.unit.ts
│ │ │ │ │ ├── param-query.decorator.unit.ts
│ │ │ │ │ └── param.decorator.unit.ts
│ │ │ │ ├── query.decorator.unit.ts
│ │ │ │ ├── request-body
│ │ │ │ │ ├── request-body-primitives.decorator.unit.ts
│ │ │ │ │ ├── request-body-shortcut.decorator.unit.ts
│ │ │ │ │ └── request-body.decorator.unit.ts
│ │ │ │ ├── response.decorator.unit.ts
│ │ │ │ ├── tags.decorator.unit.ts
│ │ │ │ └── visibility.decorator.unit.ts
│ │ │ │ ├── enhancers
│ │ │ │ ├── fixtures
│ │ │ │ │ ├── application.ts
│ │ │ │ │ ├── info.spec.extension.ts
│ │ │ │ │ └── security.spec.extension.ts
│ │ │ │ └── spec-enhancer.extensions.unit.ts
│ │ │ │ ├── filter-schema.unit.ts
│ │ │ │ ├── generate-schema.unit.ts
│ │ │ │ ├── json-to-schema.unit.ts
│ │ │ │ ├── merge-security-scheme.unit.ts
│ │ │ │ └── x-ts-type.unit.ts
│ │ ├── build-responses-from-metadata.ts
│ │ ├── controller-spec.ts
│ │ ├── decorators
│ │ │ ├── api.decorator.ts
│ │ │ ├── deprecated.decorator.ts
│ │ │ ├── index.ts
│ │ │ ├── operation.decorator.ts
│ │ │ ├── parameter.decorator.ts
│ │ │ ├── request-body.decorator.ts
│ │ │ ├── response.decorator.ts
│ │ │ ├── tags.decorator.ts
│ │ │ └── visibility.decorator.ts
│ │ ├── enhancers
│ │ │ ├── index.ts
│ │ │ ├── keys.ts
│ │ │ ├── spec-enhancer.service.ts
│ │ │ └── types.ts
│ │ ├── filter-schema.ts
│ │ ├── generate-schema.ts
│ │ ├── index.ts
│ │ ├── json-to-schema.ts
│ │ ├── keys.ts
│ │ └── types.ts
│ └── tsconfig.json
├── repository-json-schema
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── helpers
│ │ │ │ └── expect-valid-json-schema.ts
│ │ │ ├── integration
│ │ │ │ ├── build-schema.integration.ts
│ │ │ │ └── schema-ref.integration.ts
│ │ │ └── unit
│ │ │ │ ├── build-schema.unit.ts
│ │ │ │ ├── filter-json-schema.unit.ts
│ │ │ │ └── json-schema.unit.ts
│ │ ├── build-schema.ts
│ │ ├── filter-json-schema.ts
│ │ ├── index.ts
│ │ └── keys.ts
│ └── tsconfig.json
├── repository-tests
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── acceptance
│ │ │ │ └── default-repository.memory.acceptance.ts
│ │ ├── crud-test-suite.ts
│ │ ├── crud
│ │ │ ├── create-retrieve.suite.ts
│ │ │ ├── freeform-properties.suite.ts
│ │ │ ├── nested-model-properties.suite.ts
│ │ │ ├── relations
│ │ │ │ ├── acceptance
│ │ │ │ │ ├── belongs-to.inclusion-resolver.polymorphic.relation.acceptance.ts
│ │ │ │ │ ├── belongs-to.inclusion-resolver.relation.acceptance.ts
│ │ │ │ │ ├── belongs-to.polymorphic.relation.acceptance.ts
│ │ │ │ │ ├── belongs-to.relation.acceptance.ts
│ │ │ │ │ ├── has-many-inclusion-resolver.relation.acceptance.ts
│ │ │ │ │ ├── has-many-through-inclusion-resolver.acceptance.ts
│ │ │ │ │ ├── has-many-through-inclusion-resolver.polymorphic.acceptance.ts
│ │ │ │ │ ├── has-many-through.relation.acceptance.ts
│ │ │ │ │ ├── has-many-through.relation.polymorphic.acceptance.ts
│ │ │ │ │ ├── has-many.relation.acceptance.ts
│ │ │ │ │ ├── has-one.inclusion-resolver.acceptance.ts
│ │ │ │ │ ├── has-one.inclusion-resolver.polymorphic.acceptance.ts
│ │ │ │ │ ├── has-one.relation.acceptance.ts
│ │ │ │ │ ├── has-one.relation.polymorphic.acceptance.ts
│ │ │ │ │ └── multi-relations-inclusion-resolver.relation.acceptance.ts
│ │ │ │ ├── fixtures
│ │ │ │ │ ├── models
│ │ │ │ │ │ ├── address.model.ts
│ │ │ │ │ │ ├── cart-item.model.ts
│ │ │ │ │ │ ├── contact.model.ts
│ │ │ │ │ │ ├── customer-cart-item-link.model.ts
│ │ │ │ │ │ ├── customer-promotion-link.model.ts
│ │ │ │ │ │ ├── customer.model.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── order.model.ts
│ │ │ │ │ │ ├── payment-method.model.ts
│ │ │ │ │ │ ├── promotion.model.ts
│ │ │ │ │ │ ├── shipment.model.ts
│ │ │ │ │ │ ├── stakeholder.model.ts
│ │ │ │ │ │ ├── supplier.model.ts
│ │ │ │ │ │ ├── user-link.model.ts
│ │ │ │ │ │ └── user.model.ts
│ │ │ │ │ └── repositories
│ │ │ │ │ │ ├── address.repository.ts
│ │ │ │ │ │ ├── cart-item.repository.ts
│ │ │ │ │ │ ├── contact.repository.ts
│ │ │ │ │ │ ├── customer-cart-item-link.repository.ts
│ │ │ │ │ │ ├── customer-promotion-link.repository.ts
│ │ │ │ │ │ ├── customer.repository.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── order.repository.ts
│ │ │ │ │ │ ├── payment-method.repository.ts
│ │ │ │ │ │ ├── promotion.repository.ts
│ │ │ │ │ │ ├── shipment.repository.ts
│ │ │ │ │ │ ├── supplier.repository.ts
│ │ │ │ │ │ ├── user-link.repository.ts
│ │ │ │ │ │ └── user.repository.ts
│ │ │ │ └── helpers.ts
│ │ │ ├── replace-by-id.suite.ts
│ │ │ └── transactions.suite.ts
│ │ ├── helpers.repository-tests.ts
│ │ ├── index.ts
│ │ └── types.repository-tests.ts
│ └── tsconfig.json
├── repository
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── DEVELOPING.md
│ ├── LICENSE
│ ├── README.md
│ ├── examples
│ │ ├── controllers
│ │ │ ├── customer-with-class-di.controller.ts
│ │ │ ├── customer-with-constructor-di.controller.ts
│ │ │ └── customer-with-property-di.controller.ts
│ │ ├── juggler-bridge
│ │ │ ├── note-with-repo-class.ts
│ │ │ └── note-with-repo-instance.ts
│ │ ├── models
│ │ │ ├── address.model.ts
│ │ │ ├── customer.definition.js
│ │ │ ├── customer.model.ts
│ │ │ └── order.model.ts
│ │ └── repositories
│ │ │ └── customer.repository.ts
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── has-many-without-di.relation.acceptance.ts
│ │ │ │ ├── operation-hooks.acceptance.ts
│ │ │ │ └── repository.acceptance.ts
│ │ │ ├── fixtures
│ │ │ │ ├── mixins
│ │ │ │ │ ├── base-entity.ts
│ │ │ │ │ ├── category-property-mixin.ts
│ │ │ │ │ └── find-by-title-repo-mixin.ts
│ │ │ │ ├── models
│ │ │ │ │ ├── note.model.ts
│ │ │ │ │ └── product.model.ts
│ │ │ │ └── repositories
│ │ │ │ │ ├── note.repository.ts
│ │ │ │ │ └── product.repository.ts
│ │ │ ├── integration
│ │ │ │ └── repositories
│ │ │ │ │ └── relation.factory.integration.ts
│ │ │ └── unit
│ │ │ │ ├── common-types.unit.ts
│ │ │ │ ├── crud-connector.stub.ts
│ │ │ │ ├── decorator
│ │ │ │ ├── metadata.unit.ts
│ │ │ │ ├── model-and-relation.decorator.unit.ts
│ │ │ │ ├── relation.decorator.unit.ts
│ │ │ │ ├── repository-with-di.decorator.unit.ts
│ │ │ │ ├── repository-with-value-provider.decorator.unit.ts
│ │ │ │ └── repository.decorator.unit.ts
│ │ │ │ ├── errors
│ │ │ │ ├── entity-not-found-error.test.ts
│ │ │ │ ├── invalid-body-error.test.ts
│ │ │ │ └── invalid-relation-error.test.ts
│ │ │ │ ├── mixins
│ │ │ │ ├── add-method-to-repository.mixin.unit.ts
│ │ │ │ ├── model.mixin.unit.ts
│ │ │ │ └── repository.mixin.unit.ts
│ │ │ │ ├── model
│ │ │ │ ├── define-model-class.unit.ts
│ │ │ │ └── model.unit.ts
│ │ │ │ ├── repositories
│ │ │ │ ├── belongs-to-repository-factory.unit.ts
│ │ │ │ ├── constraint-utils.unit.ts
│ │ │ │ ├── crud.repository.unit.ts
│ │ │ │ ├── define-repository-class.unit.ts
│ │ │ │ ├── has-many-repository-factory.unit.ts
│ │ │ │ ├── has-many-through-repository-factory.unit.ts
│ │ │ │ ├── has-one-repository-factory.unit.ts
│ │ │ │ ├── kv.repository.bridge.unit.ts
│ │ │ │ ├── legacy-juggler-bridge.unit.ts
│ │ │ │ ├── relation.repository.unit.ts
│ │ │ │ └── relations-helpers
│ │ │ │ │ ├── build-lookup-map.unit.ts
│ │ │ │ │ ├── find-by-foreign-keys.unit.ts
│ │ │ │ │ ├── flatten-targets-of-one-to-many-relation-helpers.unit.ts
│ │ │ │ │ ├── flatten-targets-of-one-to-one-relation.helpers.unit.ts
│ │ │ │ │ ├── include-field-if-not.unit.ts
│ │ │ │ │ ├── include-related-models.unit.ts
│ │ │ │ │ ├── mongo-related-helpers.unit.ts
│ │ │ │ │ ├── relations-helpers-fixtures.ts
│ │ │ │ │ ├── resolve-belongs-to-metadata.unit.ts
│ │ │ │ │ ├── resolve-has-many-metadata.unit.ts
│ │ │ │ │ ├── resolve-has-many-through-metadata.unit.ts
│ │ │ │ │ └── resolve-has-one-metadata.unit.ts
│ │ │ │ ├── type-resolver.unit.ts
│ │ │ │ └── type
│ │ │ │ └── type.unit.ts
│ │ ├── common-types.ts
│ │ ├── connectors
│ │ │ ├── connector.ts
│ │ │ ├── crud.connector.ts
│ │ │ ├── index.ts
│ │ │ └── kv.connector.ts
│ │ ├── datasource.ts
│ │ ├── decorators
│ │ │ ├── index.ts
│ │ │ ├── metadata.ts
│ │ │ ├── model.decorator.ts
│ │ │ └── repository.decorator.ts
│ │ ├── define-model-class.ts
│ │ ├── define-repository-class.ts
│ │ ├── errors
│ │ │ ├── entity-not-found.error.ts
│ │ │ ├── index.ts
│ │ │ ├── invalid-body.error.ts
│ │ │ ├── invalid-polymorphism.error.ts
│ │ │ └── invalid-relation.error.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── mixins
│ │ │ ├── index.ts
│ │ │ └── repository.mixin.ts
│ │ ├── model.ts
│ │ ├── relations
│ │ │ ├── belongs-to
│ │ │ │ ├── belongs-to.accessor.ts
│ │ │ │ ├── belongs-to.decorator.ts
│ │ │ │ ├── belongs-to.helpers.ts
│ │ │ │ ├── belongs-to.inclusion-resolver.ts
│ │ │ │ ├── belongs-to.repository.ts
│ │ │ │ └── index.ts
│ │ │ ├── has-many
│ │ │ │ ├── has-many-through.helpers.ts
│ │ │ │ ├── has-many-through.inclusion-resolver.ts
│ │ │ │ ├── has-many-through.repository-factory.ts
│ │ │ │ ├── has-many-through.repository.ts
│ │ │ │ ├── has-many.decorator.ts
│ │ │ │ ├── has-many.helpers.ts
│ │ │ │ ├── has-many.inclusion-resolver.ts
│ │ │ │ ├── has-many.repository-factory.ts
│ │ │ │ ├── has-many.repository.ts
│ │ │ │ └── index.ts
│ │ │ ├── has-one
│ │ │ │ ├── has-one.decorator.ts
│ │ │ │ ├── has-one.helpers.ts
│ │ │ │ ├── has-one.inclusion-resolver.ts
│ │ │ │ ├── has-one.repository-factory.ts
│ │ │ │ ├── has-one.repository.ts
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── references-many
│ │ │ │ ├── index.ts
│ │ │ │ ├── references-many.accessor.ts
│ │ │ │ ├── references-many.decorator.ts
│ │ │ │ ├── references-many.helpers.ts
│ │ │ │ ├── references-many.inclusion-resolver.ts
│ │ │ │ └── references-many.repository.ts
│ │ │ ├── relation.decorator.ts
│ │ │ ├── relation.filter.solver.ts
│ │ │ ├── relation.helpers.ts
│ │ │ └── relation.types.ts
│ │ ├── repositories
│ │ │ ├── constraint-utils.ts
│ │ │ ├── index.ts
│ │ │ ├── kv.repository.bridge.ts
│ │ │ ├── kv.repository.ts
│ │ │ ├── legacy-juggler-bridge.ts
│ │ │ └── repository.ts
│ │ ├── transaction.ts
│ │ ├── type-resolver.ts
│ │ └── types
│ │ │ ├── any.ts
│ │ │ ├── array.ts
│ │ │ ├── boolean.ts
│ │ │ ├── buffer.ts
│ │ │ ├── date.ts
│ │ │ ├── index.ts
│ │ │ ├── model.ts
│ │ │ ├── null.ts
│ │ │ ├── number.ts
│ │ │ ├── object.ts
│ │ │ ├── string.ts
│ │ │ ├── type.ts
│ │ │ └── union.ts
│ └── tsconfig.json
├── rest-crud
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── default-model-crud-rest.acceptance.ts
│ │ │ └── unit
│ │ │ │ ├── crud-rest-controller.unit.ts
│ │ │ │ └── define-crud-repository-class.unit.ts
│ │ ├── crud-rest.api-builder.ts
│ │ ├── crud-rest.component.ts
│ │ ├── crud-rest.controller.ts
│ │ └── index.ts
│ └── tsconfig.json
├── rest-explorer
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── rest-explorer.acceptance.ts
│ │ │ │ └── rest-explorer.express.acceptance.ts
│ │ │ └── fixtures
│ │ │ │ ├── index.html.ejs
│ │ │ │ └── theme-newspaper.css
│ │ ├── index.ts
│ │ ├── rest-explorer.component.ts
│ │ ├── rest-explorer.controller.ts
│ │ ├── rest-explorer.keys.ts
│ │ └── rest-explorer.types.ts
│ ├── templates
│ │ └── index.html.ejs
│ └── tsconfig.json
├── rest
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── assets
│ │ │ └── index.html
│ │ ├── cert.pem
│ │ ├── file-upload-test.txt
│ │ ├── key.pem
│ │ ├── other-assets
│ │ │ ├── index.html
│ │ │ └── robots.txt
│ │ └── pfx.pfx
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ ├── bootstrapping
│ │ │ │ │ └── rest.acceptance.ts
│ │ │ │ ├── caching-interceptor
│ │ │ │ │ ├── caching-interceptor.acceptance.ts
│ │ │ │ │ ├── caching-interceptor.ts
│ │ │ │ │ └── global-caching-interceptor.acceptance.ts
│ │ │ │ ├── coercion
│ │ │ │ │ └── coercion.acceptance.ts
│ │ │ │ ├── file-upload
│ │ │ │ │ ├── file-upload-with-parser.acceptance.ts
│ │ │ │ │ └── file-upload.acceptance.ts
│ │ │ │ ├── middleware
│ │ │ │ │ ├── middleware-registeration.acceptance.ts
│ │ │ │ │ ├── middleware-sequence.acceptance.ts
│ │ │ │ │ └── test-helpers.ts
│ │ │ │ ├── module-exporting
│ │ │ │ │ └── feature.md
│ │ │ │ ├── request-parsing
│ │ │ │ │ └── request-parsing.acceptance.ts
│ │ │ │ ├── routing
│ │ │ │ │ ├── feature.md
│ │ │ │ │ └── routing.acceptance.ts
│ │ │ │ ├── sequence
│ │ │ │ │ └── sequence.acceptance.ts
│ │ │ │ └── validation
│ │ │ │ │ └── validation.acceptance.ts
│ │ │ ├── fixtures
│ │ │ │ ├── controllers
│ │ │ │ │ └── note.controller.ts
│ │ │ │ ├── middleware
│ │ │ │ │ ├── spy-config.ts
│ │ │ │ │ └── spy.middleware.ts
│ │ │ │ ├── mixins
│ │ │ │ │ └── find-by-title-controller-mixin.ts
│ │ │ │ ├── models
│ │ │ │ │ ├── book.model.ts
│ │ │ │ │ └── note.model.ts
│ │ │ │ └── repositories
│ │ │ │ │ └── note.repository.ts
│ │ │ ├── helpers.ts
│ │ │ ├── integration
│ │ │ │ ├── controller.mixin.unit.ts
│ │ │ │ ├── export-openapi-spec.integration.ts
│ │ │ │ ├── express.integration.ts
│ │ │ │ ├── http-handler.integration.ts
│ │ │ │ ├── repository.integration.ts
│ │ │ │ ├── request-context.integration.ts
│ │ │ │ ├── rest.application.integration.ts
│ │ │ │ └── rest.server.integration.ts
│ │ │ └── unit
│ │ │ │ ├── ajv-factory.provider.unit.ts
│ │ │ │ ├── body-parser.unit.ts
│ │ │ │ ├── coercion
│ │ │ │ ├── invalid-spec.unit.test.ts
│ │ │ │ ├── paramObject.unit.ts
│ │ │ │ ├── paramStringToBoolean.unit.ts
│ │ │ │ ├── paramStringToBuffer.unit.ts
│ │ │ │ ├── paramStringToDate.unit.ts
│ │ │ │ ├── paramStringToInteger.unit.ts
│ │ │ │ ├── paramStringToNumber.unit.ts
│ │ │ │ ├── paramStringToString.unit.ts
│ │ │ │ ├── parseStringToDatetime.unit.ts
│ │ │ │ └── utils.ts
│ │ │ │ ├── parse-json.unit.ts
│ │ │ │ ├── parser.unit.ts
│ │ │ │ ├── re-export.unit.ts
│ │ │ │ ├── request-body.validator.test.ts
│ │ │ │ ├── rest.application
│ │ │ │ └── rest.application.unit.ts
│ │ │ │ ├── rest.component.unit.ts
│ │ │ │ ├── rest.server
│ │ │ │ ├── consolidate.spec.extension.unit.ts
│ │ │ │ ├── fixtures
│ │ │ │ │ └── info.spec.extension.ts
│ │ │ │ ├── rest.server.controller.unit.ts
│ │ │ │ ├── rest.server.open-api-spec.unit.ts
│ │ │ │ ├── rest.server.redirect.unit.ts
│ │ │ │ └── rest.server.unit.ts
│ │ │ │ ├── router
│ │ │ │ ├── assign-router-spec.unit.ts
│ │ │ │ ├── controller-factory.unit.ts
│ │ │ │ ├── controller-route.unit.ts
│ │ │ │ ├── handler-route.unit.ts
│ │ │ │ ├── openapi-path.unit.ts
│ │ │ │ ├── rebase-openapi-spec.unit.ts
│ │ │ │ ├── reject.provider.unit.ts
│ │ │ │ ├── route-sort.unit.ts
│ │ │ │ ├── routing-table.unit.ts
│ │ │ │ ├── trie-router.unit.ts
│ │ │ │ └── trie.unit.ts
│ │ │ │ └── writer.unit.ts
│ │ ├── body-parsers
│ │ │ ├── body-parser.helpers.ts
│ │ │ ├── body-parser.json.ts
│ │ │ ├── body-parser.raw.ts
│ │ │ ├── body-parser.stream.ts
│ │ │ ├── body-parser.text.ts
│ │ │ ├── body-parser.ts
│ │ │ ├── body-parser.urlencoded.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── coercion
│ │ │ ├── coerce-parameter.ts
│ │ │ ├── utils.ts
│ │ │ └── validator.ts
│ │ ├── http-handler.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ ├── parse-json.ts
│ │ ├── parser.ts
│ │ ├── providers
│ │ │ ├── find-route.provider.ts
│ │ │ ├── index.ts
│ │ │ ├── invoke-method.provider.ts
│ │ │ ├── log-error.provider.ts
│ │ │ ├── parse-params.provider.ts
│ │ │ ├── reject.provider.ts
│ │ │ └── send.provider.ts
│ │ ├── request-context.ts
│ │ ├── rest-http-error.ts
│ │ ├── rest.application.ts
│ │ ├── rest.component.ts
│ │ ├── rest.server.ts
│ │ ├── router
│ │ │ ├── base-route.ts
│ │ │ ├── controller-route.ts
│ │ │ ├── external-express-routes.ts
│ │ │ ├── handler-route.ts
│ │ │ ├── index.ts
│ │ │ ├── openapi-path.ts
│ │ │ ├── redirect-route.ts
│ │ │ ├── regexp-router.ts
│ │ │ ├── rest-router.ts
│ │ │ ├── route-entry.ts
│ │ │ ├── route-sort.ts
│ │ │ ├── router-base.ts
│ │ │ ├── router-spec.ts
│ │ │ ├── routing-table.ts
│ │ │ ├── trie-router.ts
│ │ │ └── trie.ts
│ │ ├── sequence.ts
│ │ ├── spec-enhancers
│ │ │ ├── consolidate.spec-enhancer.ts
│ │ │ └── info.spec-enhancer.ts
│ │ ├── types.ts
│ │ ├── validation
│ │ │ ├── ajv-factory.provider.ts
│ │ │ ├── openapi-formats.ts
│ │ │ └── request-body.validator.ts
│ │ └── writer.ts
│ └── tsconfig.json
├── security
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── security-overview-diagram.png
│ ├── src
│ │ ├── __tests__
│ │ │ └── unit
│ │ │ │ ├── permission.unit.ts
│ │ │ │ ├── principal.unit.ts
│ │ │ │ └── subject.unit.ts
│ │ ├── index.ts
│ │ ├── keys.ts
│ │ └── types.ts
│ └── tsconfig.json
├── service-proxy
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── package.json
│ ├── src
│ │ ├── __tests__
│ │ │ ├── acceptance
│ │ │ │ └── service.mixin.acceptance.ts
│ │ │ ├── integration
│ │ │ │ └── service-proxy.integration.ts
│ │ │ ├── mock-service.connector.ts
│ │ │ └── unit
│ │ │ │ ├── decorators
│ │ │ │ └── service-proxy.decorator.unit.ts
│ │ │ │ └── mixin
│ │ │ │ └── service.mixin.unit.ts
│ │ ├── decorators
│ │ │ └── service.decorator.ts
│ │ ├── index.ts
│ │ ├── legacy-juggler-bridge.ts
│ │ └── mixins
│ │ │ ├── index.ts
│ │ │ └── service.mixin.ts
│ └── tsconfig.json
├── testlab
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── fixtures
│ │ ├── README.md
│ │ ├── cert.pem
│ │ ├── copy-me.txt
│ │ ├── key.pem
│ │ └── pfx.pfx
│ ├── package.json
│ ├── should-as-function.d.ts
│ ├── src
│ │ ├── __tests__
│ │ │ ├── fixtures
│ │ │ │ ├── README.md
│ │ │ │ └── test.ts
│ │ │ ├── integration
│ │ │ │ ├── test-sandbox.integration.ts
│ │ │ │ └── testlab.smoke.integration.ts
│ │ │ └── unit
│ │ │ │ ├── http-server-config.test.ts
│ │ │ │ ├── test-sandbox.unit.ts
│ │ │ │ └── to-json.test.ts
│ │ ├── client.ts
│ │ ├── expect.ts
│ │ ├── http-error-logger.ts
│ │ ├── http-server-config.ts
│ │ ├── index.ts
│ │ ├── request.ts
│ │ ├── shot.ts
│ │ ├── sinon.ts
│ │ ├── skip.ts
│ │ ├── test-sandbox.ts
│ │ ├── to-json.ts
│ │ └── validate-api-spec.ts
│ └── tsconfig.json
└── tsdocs
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bin
│ ├── document-apis.js
│ ├── extract-apis.js
│ └── update-apidocs.js
│ ├── package.json
│ ├── src
│ ├── __tests__
│ │ └── acceptance
│ │ │ └── tsdocs.acceptance.ts
│ ├── helper.ts
│ ├── index.ts
│ ├── monorepo-api-extractor.ts
│ └── update-api-md-docs.ts
│ └── tsconfig.json
├── renovate.json
├── sandbox
├── README.md
└── example
│ ├── .npmrc
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── index.js
│ └── package.json
├── tsconfig.build.json
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 | /sandbox
5 | **/*.d.ts
6 | /docs/_preview
7 | /docs/_loopback.io
8 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 |
--------------------------------------------------------------------------------
/.github/codeql/codeql-config.yml:
--------------------------------------------------------------------------------
1 | paths-ignore:
2 | - '**/__tests__/**'
3 | - '**/tests/**'
4 |
--------------------------------------------------------------------------------
/.husky/.gitignore:
--------------------------------------------------------------------------------
1 | _
2 |
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | [ -n "$CI" ] && exit 0
5 |
6 | npx --no -- commitlint --edit "$1"
7 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | . "$(dirname -- "$0")/_/husky.sh"
3 |
4 | [ -n "$CI" ] && exit 0
5 | if [ "$LINT_STAGED" = "0" ]; then
6 | echo "lint-staged disabled via LINT_STAGED env var"
7 | exit 0
8 | fi
9 |
10 | npx --no lint-staged
11 |
--------------------------------------------------------------------------------
/.lintstagedrc:
--------------------------------------------------------------------------------
1 | {
2 | "*.{js,ts}": [
3 | "node packages/build/bin/run-prettier --write",
4 | "node packages/build/bin/run-eslint --fix --report-unused-disable-directives --cache"
5 | ],
6 | "*.md": "node packages/build/bin/run-prettier --write"
7 | }
8 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
4 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid",
7 | "overrides": [
8 | {
9 | "files": "**/*.md",
10 | "options": {
11 | "parser": "markdown",
12 | "proseWrap": "always"
13 | }
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # CHANGELOG
2 |
3 | CHANGELOG files are generated independently for each package and can be found at:
4 |
5 | `packages/*/CHANGELOG.md`
6 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | ./docs/CODE_OF_CONDUCT.md
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ./docs/CONTRIBUTING.md
--------------------------------------------------------------------------------
/MAINTAINING.md:
--------------------------------------------------------------------------------
1 | ./docs/MAINTAINING.md
--------------------------------------------------------------------------------
/acceptance/README.md:
--------------------------------------------------------------------------------
1 | ## Acceptance tests
2 |
3 | This directory contains packages with acceptance-level tests. These tests are
4 | not invoked as part of root `npm test`, you have to run them manually. Consult
5 | README files of individual packages for instructions on how to run the tests.
6 |
--------------------------------------------------------------------------------
/acceptance/extension-logging-fluentd/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/acceptance/extension-logging-fluentd/fixtures/etc/fluentd.conf:
--------------------------------------------------------------------------------
1 |
2 | @type http
3 | port 9880
4 | bind 0.0.0.0
5 |
6 |
7 | @type forward
8 | port 24224
9 |
10 |
11 | @type file
12 | path /fluentd/log/
13 |
14 | timekey 1d
15 | timekey_use_utc true
16 | timekey_wait 10m
17 |
18 |
19 |
--------------------------------------------------------------------------------
/acceptance/extension-logging-fluentd/fixtures/stop-fluentd.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | FLUENTD__CONTAINER_NAME="fluentd_lb4"
3 | docker rm -f $FLUENTD__CONTAINER_NAME >/dev/null 2>&1
4 |
--------------------------------------------------------------------------------
/acceptance/repository-cloudant/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/acceptance/repository-mongodb/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/acceptance/repository-mongodb/setup.sh:
--------------------------------------------------------------------------------
1 | source ./node_modules/loopback-connector-mongodb/setup.sh
2 |
--------------------------------------------------------------------------------
/acceptance/repository-mysql/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/acceptance/repository-mysql/setup.sh:
--------------------------------------------------------------------------------
1 | source ./node_modules/loopback-connector-mysql/setup.sh
2 |
--------------------------------------------------------------------------------
/acceptance/repository-mysql/test/schema.sql:
--------------------------------------------------------------------------------
1 | -- Seed database schema & data
2 | -- See https://github.com/loopbackio/loopback-connector-mysql/blob/master/test/schema.sql
3 | -- The repository test suite does not require any seed data to exist,
4 | -- we can keep this SQL file empty.
5 |
--------------------------------------------------------------------------------
/acceptance/repository-postgresql/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/acceptance/repository-postgresql/setup.sh:
--------------------------------------------------------------------------------
1 | source ./node_modules/loopback-connector-postgresql/setup.sh
2 | export POSTGRESQL_DATABASE=repository_tests
3 |
--------------------------------------------------------------------------------
/acceptance/repository-postgresql/test/schema.sql:
--------------------------------------------------------------------------------
1 | -- Seed database schema & data
2 | -- See https://github.com/loopbackio/loopback-connector-postgresql/blob/master/test/schema.sql
3 |
4 | DROP DATABASE IF EXISTS repository_tests;
5 | CREATE DATABASE repository_tests;
6 |
7 | DROP DATABASE IF EXISTS repository_tests_new;
8 | CREATE DATABASE repository_tests_new;
9 |
--------------------------------------------------------------------------------
/benchmark/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/bin/verify-doc-changes.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 |
4 | # Test LoopBack.io will build if changes made to @loopback/docs
5 | echo "TASK => VERIFY DOCS"
6 | if git diff --name-only --quiet $TRAVIS_BRANCH docs/; then
7 | echo "No changes to @loopback/docs in this PR"
8 | exit 0
9 | else
10 | echo "Testing @loopback/docs"
11 | npm run verify:docs
12 | fi
13 |
--------------------------------------------------------------------------------
/bodyparsers/rest-msgpack/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/docs/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/docs/diagrams/authentication_diagrams.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/diagrams/authentication_diagrams.pptx
--------------------------------------------------------------------------------
/docs/diagrams/loopback-docs-diagrams.key:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/diagrams/loopback-docs-diagrams.key
--------------------------------------------------------------------------------
/docs/img/domain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/img/domain.png
--------------------------------------------------------------------------------
/docs/img/request routing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/img/request routing.png
--------------------------------------------------------------------------------
/docs/site/Accepting-MessagePack-over-HTTP.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'How to accept MessagePack over HTTP'
4 | keywords: LoopBack 4.0, LoopBack 4, MessagePack
5 | sidebar: lb4_sidebar
6 | layout: readme
7 | source: loopback-next
8 | file: bodyparsers/rest-msgpack/README.md
9 | permalink: /doc/en/lb4/Accepting-messagepack-over-http.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Authentication-passport.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Passport Authentication Strategy Adapter'
4 | keywords:
5 | LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Authentication,
6 | Passport
7 | layout: readme
8 | source: loopback-next
9 | file: extensions/authentication-passport/README.md
10 | sidebar: lb4_sidebar
11 | permalink: /doc/en/lb4/Authentication-passport.html
12 | ---
13 |
--------------------------------------------------------------------------------
/docs/site/Boot-and-Mount-a-LoopBack-3-application.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Boot and Mount a LoopBack 3 Application'
4 | keywords: LoopBack 4.0, LoopBack 4, LoopBack 3, Node.js, TypeScript, OpenAPI
5 | layout: readme
6 | source: loopback-next
7 | file: packages/booter-lb3app/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Boot-and-Mount-a-LoopBack-3-application.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Cassandra-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Cassandra connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-cassandra
6 | keywords: LoopBack, connector
7 | tags: readme
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Cassandra-connector.html
10 | summary:
11 | The Cassandra connector enables LoopBack applications to connect to Cassandra
12 | data sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Context-explorer.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Context Explorer'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, Context
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/context-explorer/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Context-explorer.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Creating-decorators.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Creating decorators'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Decorators
5 | layout: readme
6 | source: loopback-next
7 | file: packages/metadata/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Creating-decorators.html
10 | summary: A tutorial to use `@loopback/core` module to create new decorators
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/DB2-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'IBM Db2 connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-db2
6 | keywords: LoopBack
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/DB2-connector.html
10 | summary:
11 | The Db2 connector enables LoopBack applications to connect to Db2 data
12 | sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/DB2-for-i-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'IBM Db2 for i connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-ibmi
6 | keywords: LoopBack
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/DB2-for-i-connector.html
10 | summary:
11 | The loopback-connector-ibmi connector enables LoopBack applications to connect
12 | to IBM® Db2® for i data sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Example-kv-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'KV connector example'
3 | lang: en
4 | layout: readme
5 | source: loopback-example-kv-connectors
6 | keywords: LoopBack
7 | tags: example_app
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Example-kv-connector.html
10 | summary: A simple example of using the LoopBack KV connectors.
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/GraphQL.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'GraphQL'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, GraphQL
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/graphql/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/GraphQL.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Health.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Health checks'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Cloud Native
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/health/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Health.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Integrating-with-api-connect.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Integrating with API Connect'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Cloud Native
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/apiconnect/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Integrating-with-api-connect.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/JSON-RPC-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'JSON-RPC connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-jsonrpc
6 | keywords: LoopBack, connector
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/JSON-RPC-connector.html
10 | summary:
11 | The LoopBack JSON-RPC Connector enables LoopBack applications to call JSON-RPC
12 | services.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/JWT-authentication-extension.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'JWT Authentication Extension'
4 | keywords: LoopBack 4.0, LoopBack 4, Authentication, JWT
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/authentication-jwt/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/JWT-authentication-extension.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Language-related-concepts.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Language-related concepts'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5 | sidebar: lb4_sidebar
6 | permalink: /doc/en/lb4/Language-related-concepts.html
7 | ---
8 |
9 | A module that exports JavaScript/TypeScript concept related functions.
10 |
11 | - [**Mixin**](Mixin.md): Add properties and methods to a class.
12 |
--------------------------------------------------------------------------------
/docs/site/Logging.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Logging'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, Logging
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/logging/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Logging.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/MQLight-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'MQLight connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-mqlight
6 | keywords: LoopBack, connector
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/MQLight-connector.html
10 | summary:
11 | The MQ Light connector enables LoopBack applications to use the MQ Light
12 | messaging API.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Metrics.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Metrics collection for Prometheus'
4 | keywords:
5 | LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Cloud Native, Metrics,
6 | Prometheus
7 | layout: readme
8 | source: loopback-next
9 | file: extensions/metrics/README.md
10 | sidebar: lb4_sidebar
11 | permalink: /doc/en/lb4/Metrics.html
12 | ---
13 |
--------------------------------------------------------------------------------
/docs/site/Migrating-from-LoopBack-3-redirect.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Migrating from LoopBack 3'
4 | keywords:
5 | LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, LoopBack 3, Migration
6 | sidebar: lb4_sidebar
7 | permalink: /doc/en/lb4/Migrating-from-LoopBack-3.html
8 | ---
9 |
10 | The migration guide was moved to a new place:
11 | [Migration guide](migration/overview.md).
12 |
--------------------------------------------------------------------------------
/docs/site/MongoDB-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'MongoDB connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-mongodb
6 | keywords: LoopBack, connector
7 | tags: readme
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/MongoDB-connector.html
10 | summary:
11 | The MongoDB connector enables LoopBack applications to connect to MongoDB data
12 | sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/OpenAPI-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'OpenAPI connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-openapi
6 | keywords: LoopBack, connector
7 | tags: readme
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/OpenAPI-connector.html
10 | summary:
11 | The OpenAPI connector enables LoopBack applications to connect to OpenAPI data
12 | sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Pooling.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Pooling'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, Pooling
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/pooling/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Pooling.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/REST-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'REST connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-rest
6 | keywords: LoopBack, REST
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/REST-connector.html
10 | summary:
11 | The REST connector enables LoopBack applications to interact with other (third
12 | party) REST APIs.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Running-cron-jobs.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Running cron jobs'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5 | layout: readme
6 | source: loopback-next
7 | file: extensions/cron/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/Running-cron-jobs.html
10 | summary: Use `@loopback/cron` module to run cron jobs
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/SQLite3.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'SQLite3 connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-sqlite3
6 | keywords: LoopBack, connector
7 | tags: readme
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/SQLite3.html
10 | summary:
11 | The SQLite3 connector enables LoopBack applications to connect to SQLite3 data
12 | sources.
13 | ---
14 |
--------------------------------------------------------------------------------
/docs/site/Team.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: Team
4 | keywords: LoopBack 4.0
5 | sidebar: lb4_sidebar
6 | permalink: /doc/en/lb4/Team.html
7 | summary: The people working on LoopBack 4
8 | ---
9 |
10 | ## IBM
11 |
12 | - Core members/leads
13 | - All internal members (including docs, etc)
14 |
15 | ## Community contributors
16 |
17 | - loopback-maintainers
18 | - loopback-swagger-maintainers
19 | - etc
20 |
--------------------------------------------------------------------------------
/docs/site/Using-Sequelize-with-LoopBack.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'How to use Sequelize with LoopBack'
4 | keywords: LoopBack 4.0, LoopBack 4, Sequelize
5 | sidebar: lb4_sidebar
6 | layout: readme
7 | source: loopback-next
8 | file: extensions/sequelize/README.md
9 | permalink: /doc/en/lb4/Using-sequelize-with-loopback.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/Using-TypeORM-with-LoopBack.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'How to use TypeORM with LoopBack'
4 | keywords: LoopBack 4.0, LoopBack 4, TypeORM
5 | sidebar: lb4_sidebar
6 | layout: readme
7 | source: loopback-next
8 | file: extensions/typeorm/README.md
9 | permalink: /doc/en/lb4/Using-typeorm-with-loopback.html
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/site/imgs/10000000.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/10000000.png
--------------------------------------------------------------------------------
/docs/site/imgs/10000001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/10000001.png
--------------------------------------------------------------------------------
/docs/site/imgs/10000002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/10000002.png
--------------------------------------------------------------------------------
/docs/site/imgs/access-databases-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/access-databases-overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/api_explorer_all_sections_lock_icons1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/api_explorer_all_sections_lock_icons1.png
--------------------------------------------------------------------------------
/docs/site/imgs/api_explorer_auth_token_dialog1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/api_explorer_auth_token_dialog1.png
--------------------------------------------------------------------------------
/docs/site/imgs/api_explorer_auth_token_dialog2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/api_explorer_auth_token_dialog2.png
--------------------------------------------------------------------------------
/docs/site/imgs/api_explorer_authorize_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/api_explorer_authorize_button.png
--------------------------------------------------------------------------------
/docs/site/imgs/api_explorer_usercontroller_section1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/api_explorer_usercontroller_section1.png
--------------------------------------------------------------------------------
/docs/site/imgs/application-states.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/application-states.png
--------------------------------------------------------------------------------
/docs/site/imgs/appsody_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/appsody_flow.png
--------------------------------------------------------------------------------
/docs/site/imgs/auth-tutorial-apiexplorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/auth-tutorial-apiexplorer.png
--------------------------------------------------------------------------------
/docs/site/imgs/auth-tutorial-auth-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/auth-tutorial-auth-button.png
--------------------------------------------------------------------------------
/docs/site/imgs/auth-tutorial-jwt-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/auth-tutorial-jwt-token.png
--------------------------------------------------------------------------------
/docs/site/imgs/authentication/authentication-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authentication/authentication-overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/authentication_overview_detailed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authentication_overview_detailed.png
--------------------------------------------------------------------------------
/docs/site/imgs/authentication_overview_highlevel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authentication_overview_highlevel.png
--------------------------------------------------------------------------------
/docs/site/imgs/authorization-rbac-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authorization-rbac-architecture.png
--------------------------------------------------------------------------------
/docs/site/imgs/authorization-rbac-user-scenario.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authorization-rbac-user-scenario.png
--------------------------------------------------------------------------------
/docs/site/imgs/authorization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/authorization.png
--------------------------------------------------------------------------------
/docs/site/imgs/belongsTo-relation-graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/belongsTo-relation-graph.png
--------------------------------------------------------------------------------
/docs/site/imgs/binding-scopes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/binding-scopes.png
--------------------------------------------------------------------------------
/docs/site/imgs/binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/binding.png
--------------------------------------------------------------------------------
/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png
--------------------------------------------------------------------------------
/docs/site/imgs/cascading-middleware.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/cascading-middleware.png
--------------------------------------------------------------------------------
/docs/site/imgs/datasource.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/datasource.png
--------------------------------------------------------------------------------
/docs/site/imgs/debug_vscode_breakpoint_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/debug_vscode_breakpoint_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/debug_vscode_breakpoint_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/debug_vscode_breakpoint_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/dependency-injection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/dependency-injection.png
--------------------------------------------------------------------------------
/docs/site/imgs/deploytocloud-createconnection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/deploytocloud-createconnection.png
--------------------------------------------------------------------------------
/docs/site/imgs/deploytocloud-createdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/deploytocloud-createdb.png
--------------------------------------------------------------------------------
/docs/site/imgs/deploytocloud-launchcdashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/deploytocloud-launchcdashboard.png
--------------------------------------------------------------------------------
/docs/site/imgs/deploytocloud-mycloudant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/deploytocloud-mycloudant.png
--------------------------------------------------------------------------------
/docs/site/imgs/example-shopping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/example-shopping.png
--------------------------------------------------------------------------------
/docs/site/imgs/hasMany-relation-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/hasMany-relation-example.png
--------------------------------------------------------------------------------
/docs/site/imgs/hasMany-relation-graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/hasMany-relation-graph.png
--------------------------------------------------------------------------------
/docs/site/imgs/hasManyThrough-relation-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/hasManyThrough-relation-example.png
--------------------------------------------------------------------------------
/docs/site/imgs/hasOne-relation-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/hasOne-relation-example.png
--------------------------------------------------------------------------------
/docs/site/imgs/hasOne-relation-graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/hasOne-relation-graph.png
--------------------------------------------------------------------------------
/docs/site/imgs/interceptors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/interceptors.png
--------------------------------------------------------------------------------
/docs/site/imgs/json_web_token_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/json_web_token_overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/key-concepts-overview-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/key-concepts-overview-diagram.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb3-req-res.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb3-req-res.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4-high-level.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4-high-level.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4-req-res.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4-req-res.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_app_website_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_app_website_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_app_website_on_cloud_k8s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_app_website_on_cloud_k8s.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_cluster_access_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_cluster_access_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_container_registry_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_container_registry_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_3.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_k8s_dashboard_4.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4_k8s_ibm_cloud_kubernetes_cluster_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4_k8s_ibm_cloud_kubernetes_cluster_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_cluster_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_cluster_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_debug_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_debug_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_debug_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_debug_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_debug_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_debug_3.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_files_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_files_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_files_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_files_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_pods_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_pods_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_webpage_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_webpage_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_webpage_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_webpage_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_webpage_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_webpage_3.png
--------------------------------------------------------------------------------
/docs/site/imgs/lb4appsody_template_webpage_cloud_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/lb4appsody_template_webpage_cloud_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-component.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-composition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-composition.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-context-hierarchy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-context-hierarchy.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-context.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-context.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-ecosystem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-ecosystem.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-example-soap-calculator_figure1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-example-soap-calculator_figure1.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-example-soap-calculator_figure2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-example-soap-calculator_figure2.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-example-soap-calculator_figure3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-example-soap-calculator_figure3.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-example-soap-calculator_figure4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-example-soap-calculator_figure4.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-extension.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-ioc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-ioc.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/loopback-stack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/loopback-stack.png
--------------------------------------------------------------------------------
/docs/site/imgs/middleware-classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/middleware-classes.png
--------------------------------------------------------------------------------
/docs/site/imgs/middleware-sequence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/middleware-sequence.png
--------------------------------------------------------------------------------
/docs/site/imgs/middleware.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/middleware.png
--------------------------------------------------------------------------------
/docs/site/imgs/relation-inclusion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/relation-inclusion.png
--------------------------------------------------------------------------------
/docs/site/imgs/repository.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/repository.png
--------------------------------------------------------------------------------
/docs/site/imgs/req-res-high-level.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/req-res-high-level.png
--------------------------------------------------------------------------------
/docs/site/imgs/sequence-details.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/sequence-details.png
--------------------------------------------------------------------------------
/docs/site/imgs/shopping-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/shopping-app.png
--------------------------------------------------------------------------------
/docs/site/imgs/shopping-business-logic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/shopping-business-logic.png
--------------------------------------------------------------------------------
/docs/site/imgs/shopping-example-model-relations.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/shopping-example-model-relations.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_create_feature_branch_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_create_feature_branch_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_create_feature_branch_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_create_feature_branch_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_create_pr_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_create_pr_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_create_pr_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_create_pr_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_final_commit_ci_jobs_pass_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_final_commit_ci_jobs_pass_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_fork_main_repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_fork_main_repo.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_git_cz_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_git_cz_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_my_forked_repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_my_forked_repo.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_pr_review_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_pr_review_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_rebase_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_rebase_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_rebase_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_rebase_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_rebase_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_rebase_3.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_2.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_3.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_4.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_5.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_6.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_squash_commits_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_squash_commits_7.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_template_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_template_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/submit_pr_travis_ci_build_page_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/submit_pr_travis_ci_build_page_1.png
--------------------------------------------------------------------------------
/docs/site/imgs/todo-list-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/todo-list-overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/todo-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/todo-overview.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_authorization_casbin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_authorization_casbin.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_casbin_model_policy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_casbin_model_policy.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_get_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_get_token.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_login.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_mechanism.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_mechanism.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_scenario_model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_scenario_model.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_set_token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_set_token.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_withdraw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_withdraw.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/access-control-migration/auth_example_withdraw_401.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/access-control-migration/auth_example_withdraw_401.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/authentication-migration/lb3-authentication-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/authentication-migration/lb3-authentication-user.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/authentication-migration/lb4-authentication-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/authentication-migration/lb4-authentication-user.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/core/greeters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/core/greeters.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/core/greeting-app-boot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/core/greeting-app-boot.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/core/greeting-app-project-layout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/core/greeting-app-project-layout.png
--------------------------------------------------------------------------------
/docs/site/imgs/tutorials/core/greeting-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/imgs/tutorials/core/greeting-app.png
--------------------------------------------------------------------------------
/docs/site/kv-redis-connector.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Redis key-value connector'
3 | lang: en
4 | layout: readme
5 | source: loopback-connector-kv-redis
6 | keywords: LoopBack, connector
7 | tags: [connectors, readme]
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/kv-redis-connector.html
10 | summary: NOTE: This documentation page is an incomplete work in progress.
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/todo-list-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'TodoList tutorial'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Tutorial
5 | layout: readme
6 | source: loopback-next
7 | file: examples/todo-list/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/todo-list-tutorial.html
10 | summary: LoopBack 4 TodoList Application Tutorial
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/todo-tutorial.md:
--------------------------------------------------------------------------------
1 | ---
2 | lang: en
3 | title: 'Todo tutorial'
4 | keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI, Tutorial
5 | layout: readme
6 | source: loopback-next
7 | file: examples/todo/README.md
8 | sidebar: lb4_sidebar
9 | permalink: /doc/en/lb4/todo-tutorial.html
10 | summary: LoopBack 4 Todo Application Tutorial
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/site/tutorials/todo-list/todo-list-tutorial-dbtables.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/docs/site/tutorials/todo-list/todo-list-tutorial-dbtables.png
--------------------------------------------------------------------------------
/docs/spikes/README.md:
--------------------------------------------------------------------------------
1 | # Spikes
2 |
3 | This folder preserves documentation created as part of our spike tasks, where we
4 | are exploring the landscape to better understand the problem at hand.
5 |
6 | Please use the following file naming convention:
7 |
8 | - `YYYY-MM-topic-in-kebab-case.md`
9 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/access-control-migration/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/access-control-migration/fixtures/casbin/rbac_model.conf:
--------------------------------------------------------------------------------
1 | [request_definition]
2 | r = sub, obj, act
3 |
4 | [policy_definition]
5 | p = sub, obj, act
6 |
7 | [role_definition]
8 | g = _, _
9 |
10 | [policy_effect]
11 | e = some(where (p.eft == allow))
12 |
13 | [matchers]
14 | m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
--------------------------------------------------------------------------------
/examples/access-control-migration/fixtures/casbin/rbac_policy.admin.csv:
--------------------------------------------------------------------------------
1 | p, admin, project*, view-all
2 | p, admin, project1, donate
3 | p, admin, project2, donate
4 | g, u3, admin
--------------------------------------------------------------------------------
/examples/access-control-migration/fixtures/casbin/rbac_policy.owner.csv:
--------------------------------------------------------------------------------
1 | p, p1_owner, project1, show-balance
2 | p, p1_owner, project1, donate
3 | p, p1_owner, project1, withdraw
4 | g, u1, p1_owner
5 | p, p2_owner, project2, show-balance
6 | p, p2_owner, project2, donate
7 | p, p2_owner, project2, withdraw
8 | g, u2, p2_owner
9 |
--------------------------------------------------------------------------------
/examples/access-control-migration/fixtures/casbin/rbac_policy.team_member.csv:
--------------------------------------------------------------------------------
1 | p, p1_team, project1, show-balance
2 | p, p1_team, project1, donate
3 | g, u1, p1_team
4 | g, u2, p1_team
5 | p, p2_team, project2, show-balance
6 | p, p2_team, project2, donate
7 | g, u2, p2_team
--------------------------------------------------------------------------------
/examples/access-control-migration/src/components/casbin-authorization/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './casbin-authorization-component';
7 | export * from './services';
8 |
--------------------------------------------------------------------------------
/examples/access-control-migration/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './project.controller';
7 | export * from './user.controller';
8 |
--------------------------------------------------------------------------------
/examples/access-control-migration/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/access-control-migration/src/keys.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {BindingKey} from '@loopback/core';
7 |
8 | export const RESOURCE_ID = BindingKey.create('resourceId');
9 |
--------------------------------------------------------------------------------
/examples/access-control-migration/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './sample.observer';
7 |
--------------------------------------------------------------------------------
/examples/access-control-migration/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-access-control-migration
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/binding-resolution/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/binding-resolution/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/examples/binding-resolution/binding-resolution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/binding-resolution/binding-resolution.png
--------------------------------------------------------------------------------
/examples/binding-resolution/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/binding-resolution/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this app.
4 |
5 | To add a new empty controller, type in `lb4 controller []` from the
6 | command-line of your application's root directory.
7 |
8 | For more information, please visit
9 | [Controller generator](http://loopback.io/doc/en/lb4/Controller-generator.html).
10 |
--------------------------------------------------------------------------------
/examples/binding-resolution/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-binding-resolution
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './ping.controller';
7 |
--------------------------------------------------------------------------------
/examples/binding-resolution/src/interceptors/index.ts:
--------------------------------------------------------------------------------
1 | export * from './spy.interceptor';
2 |
--------------------------------------------------------------------------------
/examples/binding-resolution/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-binding-resolution
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/binding-resolution/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-binding-resolution
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './counter.service';
7 | export * from './logger.service';
8 |
--------------------------------------------------------------------------------
/examples/context/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/context/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/context/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/context/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/context/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/express-composition/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/express-composition/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/express-composition/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/express-composition/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/express-composition/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/express-composition/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/express-composition/data/ds.json:
--------------------------------------------------------------------------------
1 | {
2 | "ids": {
3 | "Note": 3
4 | },
5 | "models": {
6 | "Note": {
7 | "1": "{\"title\":\"Things I need to buy\",\"content\":\"milk, cereal, and waffles\",\"id\":1}",
8 | "2": "{\"title\":\"Great frameworks\",\"content\":\"LoopBack is a great framework\",\"id\":2}"
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/examples/express-composition/src/__tests__/mocha.opts:
--------------------------------------------------------------------------------
1 | --recursive
2 | --require source-map-support/register
3 |
--------------------------------------------------------------------------------
/examples/express-composition/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './note.controller';
7 |
--------------------------------------------------------------------------------
/examples/express-composition/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './ds.datasource';
7 |
--------------------------------------------------------------------------------
/examples/express-composition/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './note.model';
7 |
--------------------------------------------------------------------------------
/examples/express-composition/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './hello.observer';
7 |
--------------------------------------------------------------------------------
/examples/express-composition/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './note.repository';
7 |
--------------------------------------------------------------------------------
/examples/express-composition/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-express-composition
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/file-transfer/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/file-transfer/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/file-transfer/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/file-transfer/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/file-transfer/fixtures/assets/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Hello, World!
7 |
8 |
9 |
--------------------------------------------------------------------------------
/examples/file-transfer/fixtures/file-upload-test.txt:
--------------------------------------------------------------------------------
1 | This file is used for file-upload acceptance test.
2 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this app.
4 |
5 | To add a new empty controller, type in `lb4 controller []` from the
6 | command-line of your application's root directory.
7 |
8 | For more information, please visit
9 | [Controller generator](http://loopback.io/doc/en/lb4/Controller-generator.html).
10 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-file-transfer
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './file-download.controller';
7 | export * from './file-upload.controller';
8 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-file-transfer
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-file-transfer
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './file-upload.service';
7 |
--------------------------------------------------------------------------------
/examples/file-transfer/src/types.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-file-transfer
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {RequestHandler} from 'express-serve-static-core';
7 |
8 | export type FileUploadHandler = RequestHandler;
9 |
--------------------------------------------------------------------------------
/examples/file-transfer/upload-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/file-transfer/upload-download.png
--------------------------------------------------------------------------------
/examples/graphql/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/graphql/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/graphql/graphql-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/graphql/graphql-demo.png
--------------------------------------------------------------------------------
/examples/graphql/src/datasources/README.md:
--------------------------------------------------------------------------------
1 | # Datasources
2 |
3 | This directory contains config for datasources used by this app.
4 |
--------------------------------------------------------------------------------
/examples/graphql/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-graphql
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './recipes.datasource';
7 |
--------------------------------------------------------------------------------
/examples/graphql/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/graphql/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-graphql
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './recipe.repository';
7 |
--------------------------------------------------------------------------------
/examples/greeter-extension/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/greeter-extension/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/greeter-extension/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/greeter-extension/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/greeter-extension/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/greeter-extension/greeters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/greeter-extension/greeters.png
--------------------------------------------------------------------------------
/examples/greeting-app/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/greeting-app/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/greeting-app/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/greeting-app/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/greeting-app/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/greeting-app/greeting-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/greeting-app/greeting-app.png
--------------------------------------------------------------------------------
/examples/greeting-app/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-greeting-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './greeting.controller';
7 |
--------------------------------------------------------------------------------
/examples/greeting-app/src/interceptors/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-greeting-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './caching.interceptor';
7 |
--------------------------------------------------------------------------------
/examples/greeting-app/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-greeting-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './cache.observer';
7 |
--------------------------------------------------------------------------------
/examples/hello-world/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/hello-world/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/hello-world/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/hello-world/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/hello-world/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/lb3-application/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/lb3-application/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/lb3-application/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/lb3-application/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/lb3-application/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/lb3-application/lb3app/server/datasources.json:
--------------------------------------------------------------------------------
1 | {
2 | "db": {
3 | "name": "db",
4 | "connector": "memory"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/lb3-application/lb3app/server/middleware.json:
--------------------------------------------------------------------------------
1 | {
2 | "routes": {
3 | "loopback#rest": {
4 | "paths": [
5 | "${restApiRoot}"
6 | ]
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/examples/lb3-application/public/lb3-index.html:
--------------------------------------------------------------------------------
1 | LoopBack
2 |
3 | LoopBack Rocks!
4 | Hello World...
5 |
6 |
--------------------------------------------------------------------------------
/examples/lb3-application/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-lb3-application
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/log-extension/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/log-extension/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/log-extension/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/log-extension/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/log-extension/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/log-extension/src/decorators/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-log-extension
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './log.decorator';
7 |
--------------------------------------------------------------------------------
/examples/log-extension/src/mixins/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-log-extension
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './log.mixin';
7 |
--------------------------------------------------------------------------------
/examples/log-extension/src/providers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-log-extension
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './log-action.provider';
7 | export * from './timer.provider';
8 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/prometheus-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/metrics-prometheus/prometheus-demo.png
--------------------------------------------------------------------------------
/examples/metrics-prometheus/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-metrics-prometheus
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './greeting.controller';
7 |
--------------------------------------------------------------------------------
/examples/metrics-prometheus/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/example-metrics-prometheus
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './greeting.service';
7 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: '@loopback/eslint-config',
8 | };
9 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "recursive": true,
3 | "require": "source-map-support/register"
4 | }
5 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "@loopback/cli": {
3 | "version": "2.3.0"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this app.
4 |
5 | To add a new empty controller, type in `lb4 controller []` from the
6 | command-line of your application's root directory.
7 |
8 | For more information, please visit
9 | [Controller generator](http://loopback.io/doc/en/lb4/Controller-generator.html).
10 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './ping.controller';
7 | export * from './user.controller';
8 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/datasources/README.md:
--------------------------------------------------------------------------------
1 | # Datasources
2 |
3 | This directory contains config for datasources used by this app.
4 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 | export * from './db1.datasource';
8 | export * from './db2.datasource';
9 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/models/README.md:
--------------------------------------------------------------------------------
1 | # Models
2 |
3 | This directory contains code for models provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './user.model';
7 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/multi-tenancy/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './keys';
7 | export * from './middleware/multi-tenancy-middleware.provider';
8 | export * from './types';
9 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './user.repository';
7 |
--------------------------------------------------------------------------------
/examples/multi-tenancy/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-multi-tenancy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/passport-login/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/passport-login/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 |
--------------------------------------------------------------------------------
/examples/passport-login/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/passport-login/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/passport-login/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/passport-login/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/passport-login/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './oauth2.controller';
7 | export * from './ping.controller';
8 | export * from './user.controller';
9 |
--------------------------------------------------------------------------------
/examples/passport-login/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/passport-login/src/model-endpoints/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './user.rest-config';
7 |
--------------------------------------------------------------------------------
/examples/passport-login/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './user-credentials.model';
7 | export * from './user-identity.model';
8 | export * from './user.model';
9 |
--------------------------------------------------------------------------------
/examples/passport-login/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './wire.observer';
7 |
--------------------------------------------------------------------------------
/examples/passport-login/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './user.repository';
7 |
--------------------------------------------------------------------------------
/examples/passport-login/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-passport-login
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './keys';
7 | export * from './user.service';
8 |
--------------------------------------------------------------------------------
/examples/passport-login/web-application/views/layouts/layout.jade:
--------------------------------------------------------------------------------
1 | doctype html
2 | html(lang="en")
3 | include ../partials/head
4 | body(style="padding-top: 70px; padding-bottom: 50px;")
5 | include ../partials/navigation
6 | include ../partials/banner
7 | include ../partials/footer
8 | block scripts
9 |
--------------------------------------------------------------------------------
/examples/passport-login/web-application/views/pages/loginProfiles.jade:
--------------------------------------------------------------------------------
1 | extends ../layouts/layout
2 |
3 | block content
4 | h2 Third Party Profile(s)
5 | p.small
6 | if user.profiles && user.profiles.length !== 0
7 | each val in user.profiles
8 | h4= val.provider + ':'
9 | p.small= JSON.stringify(val)
10 | else
11 | | NONE
12 |
--------------------------------------------------------------------------------
/examples/passport-login/web-application/views/partials/banner.jade:
--------------------------------------------------------------------------------
1 | .container
2 | if user && user.username
3 | .row
4 | .col-md-12
5 | .well
6 | h1 User Logged in!
7 | h3 Hello: #{user.username}
8 | p.small User Id: #{user.id}
9 | p.small Email: #{user.email}
10 | block content
11 |
--------------------------------------------------------------------------------
/examples/references-many/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/references-many/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/references-many/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/references-many/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/references-many/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/references-many/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/references-many/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/references-many/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2022. All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './account.controller';
7 | export * from './customer.controller';
8 |
--------------------------------------------------------------------------------
/examples/references-many/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020 All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/references-many/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020 All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './account.model';
7 | export * from './customer.model';
8 |
--------------------------------------------------------------------------------
/examples/references-many/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2022. All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './account.repository';
7 | export * from './customer.repository';
8 |
--------------------------------------------------------------------------------
/examples/references-many/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2022. All Rights Reserved.
2 | // Node module: @loopback/example-references-many
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/rest-crud/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/rest-crud/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/rest-crud/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-rest-crud
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/rest-crud/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/rest-crud/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/rest-crud/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/rest-crud/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/rest-crud/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-rest-crud
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/rest-crud/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-rest-crud
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.model';
7 |
--------------------------------------------------------------------------------
/examples/rest-crud/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-rest-crud
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/rpc-server/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/rpc-server/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/rpc-server/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/rpc-server/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/rpc-server/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/rpc-server/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/rpc-server/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-rpc-server
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './greet.controller';
7 |
--------------------------------------------------------------------------------
/examples/rpc-server/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-rpc-server
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './person.model';
7 |
--------------------------------------------------------------------------------
/examples/rpc-server/src/models/person.model.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/example-rpc-server
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | // Note that this can also be a class!
7 | export type Person = {
8 | name?: string;
9 | hobby?: string;
10 | };
11 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/soap-calculator/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/examples/soap-calculator/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-soap-calculator
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './calculator.controller';
7 |
--------------------------------------------------------------------------------
/examples/soap-calculator/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-soap-calculator
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './calculator.datasource';
7 |
--------------------------------------------------------------------------------
/examples/soap-calculator/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-soap-calculator
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/soap-calculator/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-soap-calculator
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './calculator.service';
7 |
--------------------------------------------------------------------------------
/examples/socketio/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/socketio/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "recursive": true,
3 | "require": "source-map-support/register"
4 | }
5 |
--------------------------------------------------------------------------------
/examples/socketio/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/examples/socketio/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/socketio/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/socketio/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "@loopback/cli": {
3 | "packageManager": "npm",
4 | "version": "2.15.1"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/examples/socketio/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/socketio/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this app.
4 |
5 | To add a new empty controller, type in `lb4 controller []` from the
6 | command-line of your application's root directory.
7 |
8 | For more information, please visit
9 | [Controller generator](http://loopback.io/doc/en/lb4/Controller-generator.html).
10 |
--------------------------------------------------------------------------------
/examples/socketio/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-socketio
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './socketio.controller';
7 |
--------------------------------------------------------------------------------
/examples/socketio/src/datasources/README.md:
--------------------------------------------------------------------------------
1 | # Datasources
2 |
3 | This directory contains config for datasources used by this app.
4 |
--------------------------------------------------------------------------------
/examples/socketio/src/models/README.md:
--------------------------------------------------------------------------------
1 | # Models
2 |
3 | This directory contains code for models provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/socketio/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/todo-jwt/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/todo-jwt/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/todo-jwt/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/todo-jwt/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/todo-jwt/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/todo-jwt/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.controller';
7 | export * from './user.controller';
8 |
--------------------------------------------------------------------------------
/examples/todo-jwt/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/todo-jwt/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.model';
7 |
--------------------------------------------------------------------------------
/examples/todo-jwt/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.repository';
7 |
--------------------------------------------------------------------------------
/examples/todo-jwt/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/todo-list/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/todo-list/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/todo-list/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-list
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/todo-list/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/todo-list/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/todo-list/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/todo-list/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/todo-list/imgs/todo-list-overview.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/examples/todo-list/imgs/todo-list-overview.PNG
--------------------------------------------------------------------------------
/examples/todo-list/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020 All Rights Reserved.
2 | // Node module: @loopback/example-todo-list
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 |
--------------------------------------------------------------------------------
/examples/todo-list/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020 All Rights Reserved.
2 | // Node module: @loopback/example-todo-list
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo-list-image.model';
7 | export * from './todo-list.model';
8 | export * from './todo.model';
9 |
--------------------------------------------------------------------------------
/examples/todo-list/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-list
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo-list-image.repository';
7 | export * from './todo-list.repository';
8 | export * from './todo.repository';
9 |
--------------------------------------------------------------------------------
/examples/todo-list/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo-list
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/todo/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/examples/todo/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/todo/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: ['@loopback/eslint-config'],
8 | };
9 |
--------------------------------------------------------------------------------
/examples/todo/.npmignore:
--------------------------------------------------------------------------------
1 | # Exclude *.tsbuildinfo - cache for tsc incremental builds
2 | *.tsbuildinfo
3 |
--------------------------------------------------------------------------------
/examples/todo/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/todo/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/todo/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/todo/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.controller';
7 |
--------------------------------------------------------------------------------
/examples/todo/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './db.datasource';
7 | export * from './geocoder.datasource';
8 |
--------------------------------------------------------------------------------
/examples/todo/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.model';
7 |
--------------------------------------------------------------------------------
/examples/todo/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './todo.repository';
7 |
--------------------------------------------------------------------------------
/examples/todo/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/todo/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/example-todo
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './geocoder.service';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/validation-app/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 |
--------------------------------------------------------------------------------
/examples/validation-app/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: '@loopback/eslint-config',
8 | };
9 |
--------------------------------------------------------------------------------
/examples/validation-app/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "recursive": true,
3 | "require": "source-map-support/register"
4 | }
5 |
--------------------------------------------------------------------------------
/examples/validation-app/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/validation-app/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/examples/validation-app/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/examples/validation-app/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "@loopback/cli": {
3 | "version": "2.0.1"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/examples/validation-app/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/examples/validation-app/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this app.
4 |
5 | To add a new empty controller, type in `lb4 controller []` from the
6 | command-line of your application's root directory.
7 |
8 | For more information, please visit
9 | [Controller generator](http://loopback.io/doc/en/lb4/Controller-generator.html).
10 |
--------------------------------------------------------------------------------
/examples/validation-app/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './coffee-shop.controller';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/datasources/README.md:
--------------------------------------------------------------------------------
1 | # Datasources
2 |
3 | This directory contains config for datasources used by this app.
4 |
--------------------------------------------------------------------------------
/examples/validation-app/src/datasources/ds.datasource.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ds",
3 | "connector": "memory",
4 | "localStorage": "",
5 | "file": ""
6 | }
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './ds.datasource';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/interceptors/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './validate-phone-num.interceptor';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/models/README.md:
--------------------------------------------------------------------------------
1 | # Models
2 |
3 | This directory contains code for models provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/validation-app/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './coffee-shop.model';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this app.
4 |
--------------------------------------------------------------------------------
/examples/validation-app/src/repositories/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './coffee-shop.repository';
7 |
--------------------------------------------------------------------------------
/examples/validation-app/src/sequence.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-validation-app
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {MiddlewareSequence} from '@loopback/rest';
7 |
8 | export class MySequence extends MiddlewareSequence {}
9 |
--------------------------------------------------------------------------------
/examples/webpack/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/examples/webpack/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/examples/webpack/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/example-webpack
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from '@loopback/core';
7 | export * from './dependency-injection';
8 |
--------------------------------------------------------------------------------
/extensions/apiconnect/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/apiconnect/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/apiconnect
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './apiconnect.component';
7 | export * from './apiconnect.spec-enhancer';
8 | export * from './keys';
9 |
--------------------------------------------------------------------------------
/extensions/authentication-jwt/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/authentication-jwt/authentication-jwt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/extensions/authentication-jwt/authentication-jwt.png
--------------------------------------------------------------------------------
/extensions/authentication-jwt/src/models/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/authentication-jwt
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './refresh-token.model';
7 | export * from './user-credentials.model';
8 | export * from './user.model';
9 |
--------------------------------------------------------------------------------
/extensions/authentication-passport/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/context-explorer/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/cron/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/cron/src/decorators/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/cron
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './cron-job.decorator';
7 |
--------------------------------------------------------------------------------
/extensions/cron/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/cron
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './cron.component';
7 | export * from './decorators';
8 | export * from './keys';
9 | export * from './types';
10 |
--------------------------------------------------------------------------------
/extensions/graphql/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/graphql/type-graphql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/extensions/graphql/type-graphql.png
--------------------------------------------------------------------------------
/extensions/health/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/health/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/health
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './health.controller';
7 |
--------------------------------------------------------------------------------
/extensions/health/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/health
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './health.observer';
7 |
--------------------------------------------------------------------------------
/extensions/logging/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/logging/logging-component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/extensions/logging/logging-component.png
--------------------------------------------------------------------------------
/extensions/logging/src/interceptors/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/logging
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './logging.interceptor';
7 |
--------------------------------------------------------------------------------
/extensions/metrics/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/metrics/bin/start-pushgateway.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | BASE_DIR=`dirname "$0"`
3 | $BASE_DIR/stop-pushgateway.sh
4 |
5 | PROM_PGW_CONTAINER_NAME="prom_pushgateway_lb4"
6 | docker pull prom/pushgateway:latest
7 | docker run --name $PROM_PGW_CONTAINER_NAME -p 9091:9091 -d prom/pushgateway:latest
8 |
--------------------------------------------------------------------------------
/extensions/metrics/bin/stop-pushgateway.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | PROM_PGW_CONTAINER_NAME="prom_pushgateway_lb4"
3 | docker rm -f $PROM_PGW_CONTAINER_NAME
4 |
--------------------------------------------------------------------------------
/extensions/metrics/prometheus-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/extensions/metrics/prometheus-demo.png
--------------------------------------------------------------------------------
/extensions/metrics/src/controllers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/metrics
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './metrics.controller';
7 |
--------------------------------------------------------------------------------
/extensions/metrics/src/interceptors/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/metrics
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './metrics.interceptor';
7 |
--------------------------------------------------------------------------------
/extensions/metrics/src/observers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/metrics
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './metrics.observer';
7 | export * from './metrics.push.observer';
8 |
--------------------------------------------------------------------------------
/extensions/pooling/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/pooling/pooling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/extensions/pooling/pooling.png
--------------------------------------------------------------------------------
/extensions/pooling/src/__tests__/acceptance/README.md:
--------------------------------------------------------------------------------
1 | # Acceptance tests
2 |
--------------------------------------------------------------------------------
/extensions/pooling/src/__tests__/integration/README.md:
--------------------------------------------------------------------------------
1 | # Integration tests
2 |
--------------------------------------------------------------------------------
/extensions/pooling/src/__tests__/unit/README.md:
--------------------------------------------------------------------------------
1 | # Unit tests
2 |
--------------------------------------------------------------------------------
/extensions/pooling/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/pooling
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './pooling';
7 |
--------------------------------------------------------------------------------
/extensions/sequelize/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/extensions/sequelize/src/__tests__/fixtures/observers/index.ts:
--------------------------------------------------------------------------------
1 | export * from './test.observer';
2 |
--------------------------------------------------------------------------------
/extensions/sequelize/src/__tests__/integration/README.md:
--------------------------------------------------------------------------------
1 | # Integration tests
2 |
--------------------------------------------------------------------------------
/extensions/sequelize/src/__tests__/unit/README.md:
--------------------------------------------------------------------------------
1 | # Unit tests
2 |
--------------------------------------------------------------------------------
/extensions/sequelize/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright LoopBack contributors 2022. All Rights Reserved.
2 | // Node module: @loopback/sequelize
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './component';
7 | export * from './keys';
8 | export * from './sequelize';
9 | export * from './types';
10 |
--------------------------------------------------------------------------------
/extensions/sequelize/src/sequelize/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright LoopBack contributors 2022. All Rights Reserved.
2 | // Node module: @loopback/sequelize
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './sequelize.datasource.base';
7 | export * from './sequelize.repository.base';
8 |
--------------------------------------------------------------------------------
/extensions/socketio/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/extensions/socketio/src/booters/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/socketio
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './socketio.booter';
7 |
--------------------------------------------------------------------------------
/extensions/socketio/src/decorators/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/socketio
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './socketio.decorator';
7 |
--------------------------------------------------------------------------------
/extensions/socketio/src/providers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/socketio
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './invoke-method.provider';
7 | export * from './reject-method.provider';
8 | export * from './send-method.provider';
9 |
--------------------------------------------------------------------------------
/extensions/typeorm/src/typeorm.types.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/typeorm
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | // Re-export everything from 'typeorm'
7 | export * from 'typeorm';
8 |
--------------------------------------------------------------------------------
/fixtures/mock-oauth2-provider/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/README.md:
--------------------------------------------------------------------------------
1 | # fixtures/monorepo
2 |
3 | This `monorepo` directory contains a simplified monorepo managed by lerna. It's
4 | used to mimic `loopback-next` to test `@loopback/tsdocs`.
5 |
6 | # Rebuild
7 |
8 | If you have to change the source code for the fixture, run the following command
9 | to rebuild.
10 |
11 | ```sh
12 | npm run build
13 | ```
14 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../node_modules/lerna/schemas/lerna-schema.json",
3 | "command": {
4 | "run": {
5 | "loglevel": "warn",
6 | "concurrency": 8,
7 | "prefix": false,
8 | "stream": true,
9 | "sort": true
10 | }
11 | },
12 | "version": "independent"
13 | }
14 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg1",
3 | "version": "1.0.0",
4 | "description": "Test package 1",
5 | "main": "dist/index.js",
6 | "types": "dist/index.d.ts",
7 | "license": "MIT",
8 | "scripts": {
9 | "build": "lb-tsc",
10 | "clean": "lb-clean dist *.tsbuildinfo"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg1/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "@loopback/build/config/tsconfig.common.json",
4 | "compilerOptions": {
5 | "outDir": "dist",
6 | "rootDir": "src",
7 | "composite": true
8 | },
9 | "include": ["src"],
10 | "references": [
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg2/dist/index.d.ts:
--------------------------------------------------------------------------------
1 | import { Pet } from 'pkg1';
2 | /**
3 | * Dog
4 | */
5 | export declare class Dog extends Pet {
6 | kind: string;
7 | }
8 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg2/dist/index.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,gCAAgC;AAChC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+BAAyB;AAEzB;;GAEG;AACH,MAAa,GAAI,SAAQ,UAAG;IAA5B;;QACE,SAAI,GAAG,KAAK,CAAC;IACf,CAAC;CAAA;AAFD,kBAEC"}
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg2",
3 | "version": "1.0.0",
4 | "description": "Test package 2",
5 | "main": "dist/index.js",
6 | "types": "dist/index.d.ts",
7 | "license": "MIT",
8 | "dependencies": {
9 | "pkg1": "*"
10 | },
11 | "scripts": {
12 | "build": "lb-tsc",
13 | "clean": "lb-clean dist *.tsbuildinfo"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg2/src/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
2 | // Node module: @loopback/tsdocs
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | import {Pet} from 'pkg1';
7 |
8 | /**
9 | * Dog
10 | */
11 | export class Dog extends Pet {
12 | kind = 'Dog';
13 | }
14 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg2/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "@loopback/build/config/tsconfig.common.json",
4 | "compilerOptions": {
5 | "outDir": "dist",
6 | "rootDir": "src",
7 | "composite": true
8 | },
9 | "include": ["src"],
10 | "references": [
11 | {
12 | "path": "../pkg1/tsconfig.json"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg3-non-ts/index.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
2 | // Node module: @loopback/tsdocs
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | package: 'pkg3',
8 | version: '1.0.0',
9 | };
10 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg3-non-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg3",
3 | "version": "1.0.0",
4 | "description": "Test package 3",
5 | "main": "index.js",
6 | "license": "MIT"
7 | }
8 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg4-private/index.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
2 | // Node module: @loopback/tsdocs
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | package: 'pkg4',
8 | version: '1.0.0',
9 | };
10 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/packages/pkg4-private/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg4",
3 | "version": "1.0.0",
4 | "description": "Test package 4",
5 | "private": true,
6 | "main": "index.js",
7 | "license": "MIT"
8 | }
9 |
--------------------------------------------------------------------------------
/fixtures/tsdocs-monorepo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@loopback/build/config/tsconfig.common.json",
3 | "compilerOptions": {
4 | "outDir": "dist",
5 | "composite": true
6 | },
7 | "references": [],
8 | "files": [],
9 | "include": [
10 | "src/**/*",
11 | "src/**/*.json"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/packages/authentication/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/authentication/docs/imgs/API-flow-(JWT).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authentication/docs/imgs/API-flow-(JWT).png
--------------------------------------------------------------------------------
/packages/authentication/docs/imgs/auth-framework-architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authentication/docs/imgs/auth-framework-architecture.png
--------------------------------------------------------------------------------
/packages/authentication/docs/imgs/authentication_overview_highlevel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authentication/docs/imgs/authentication_overview_highlevel.png
--------------------------------------------------------------------------------
/packages/authentication/docs/imgs/multiple-auth-strategies-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authentication/docs/imgs/multiple-auth-strategies-login.png
--------------------------------------------------------------------------------
/packages/authentication/docs/imgs/multiple-auth-strategies-verify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authentication/docs/imgs/multiple-auth-strategies-verify.png
--------------------------------------------------------------------------------
/packages/authentication/docs/strategies/oauth2.md:
--------------------------------------------------------------------------------
1 | ### OAuth2 Strategy
2 |
3 | TBD in a forthcoming PR.
4 |
--------------------------------------------------------------------------------
/packages/authentication/docs/strategies/openid.md:
--------------------------------------------------------------------------------
1 | TBD
2 |
--------------------------------------------------------------------------------
/packages/authentication/docs/strategies/saml.md:
--------------------------------------------------------------------------------
1 | TBD
2 |
--------------------------------------------------------------------------------
/packages/authentication/docs/track-user-profile/session-based-auth.md:
--------------------------------------------------------------------------------
1 | TBD
2 |
--------------------------------------------------------------------------------
/packages/authentication/docs/track-user-profile/token-based-auth.md:
--------------------------------------------------------------------------------
1 | TBD
2 |
--------------------------------------------------------------------------------
/packages/authentication/docs/transport-layer-based-extraction/extract-current-user.md:
--------------------------------------------------------------------------------
1 | ## Extracting current user
2 |
3 | - option1: session
4 | - cookie
5 | - option2: token
6 | - header
7 | - query
8 | - request body
9 | - ...
10 |
--------------------------------------------------------------------------------
/packages/authentication/src/decorators/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/authentication
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './authenticate.decorator';
7 |
--------------------------------------------------------------------------------
/packages/authentication/src/providers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2019. All Rights Reserved.
2 | // Node module: @loopback/authentication
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './auth-action.provider';
7 | export * from './auth-metadata.provider';
8 | export * from './auth-strategy.provider';
9 |
--------------------------------------------------------------------------------
/packages/authentication/src/services/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
2 | // Node module: @loopback/authentication
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './token.service';
7 | export * from './user-identity.service';
8 | export * from './user.service';
9 |
--------------------------------------------------------------------------------
/packages/authorization/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/authorization/fixtures/casbin/rbac_model.conf:
--------------------------------------------------------------------------------
1 | [request_definition]
2 | r = sub, obj, act
3 |
4 | [policy_definition]
5 | p = sub, obj, act
6 |
7 | [role_definition]
8 | g = _, _
9 |
10 | [policy_effect]
11 | e = some(where (p.eft == allow))
12 |
13 | [matchers]
14 | m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
--------------------------------------------------------------------------------
/packages/authorization/fixtures/casbin/rbac_policy.csv:
--------------------------------------------------------------------------------
1 | p, bob, order, create
2 | p, alice, order, create
3 | p, customer_service, order, read
4 | p, customer_service, order, create
5 | p, customer_service, order, delete
6 | p, customer_service, order, update
7 | g, alice, customer_service
8 |
--------------------------------------------------------------------------------
/packages/authorization/imgs/authorization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authorization/imgs/authorization.png
--------------------------------------------------------------------------------
/packages/authorization/imgs/responsibilities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authorization/imgs/responsibilities.png
--------------------------------------------------------------------------------
/packages/authorization/imgs/use-case.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/authorization/imgs/use-case.png
--------------------------------------------------------------------------------
/packages/boot/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/boot/src/__tests__/fixtures/empty.artifact.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/boot
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | // THIS FILE IS INTENTIONALLY LEFT EMPTY!
7 |
--------------------------------------------------------------------------------
/packages/boot/src/mixins/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
2 | // Node module: @loopback/boot
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './boot.mixin';
7 |
--------------------------------------------------------------------------------
/packages/booter-lb3app/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/booter-lb3app/fixtures/lb3app/server/datasources.json:
--------------------------------------------------------------------------------
1 | {
2 | "db": {
3 | "name": "db",
4 | "connector": "memory"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/packages/build/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/build/config/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 |
--------------------------------------------------------------------------------
/packages/build/config/.eslintrc.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019,2020. All Rights Reserved.
2 | // Node module: @loopback/build
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | module.exports = {
7 | extends: '@loopback/eslint-config',
8 | };
9 |
--------------------------------------------------------------------------------
/packages/build/config/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": ["source-map-support/register"],
3 | "recursive": true,
4 | "exit": true,
5 | "reporter": "dot"
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/packages/build/config/.nycrc:
--------------------------------------------------------------------------------
1 | {
2 | "extension": [".js", ".ts"],
3 | "reporter": ["html"],
4 | "exclude-after-remap": false
5 | }
6 |
--------------------------------------------------------------------------------
/packages/build/config/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/packages/build/config/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.common.json",
3 | "compilerOptions": {
4 | "rootDir": "."
5 | },
6 | "include": [
7 | "src",
8 | "test"
9 | ],
10 | "exclude": ["node_modules/**", "**/*.d.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/packages/build/test/integration/fixtures/.gitignore:
--------------------------------------------------------------------------------
1 | tsconfig.json
2 | dist*
3 |
--------------------------------------------------------------------------------
/packages/build/test/integration/fixtures/docs.json:
--------------------------------------------------------------------------------
1 | {
2 | "content": ["src/index.ts"],
3 | "codeSectionDepth": 4,
4 | "assets": {}
5 | }
6 |
--------------------------------------------------------------------------------
/packages/build/test/integration/fixtures/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@loopback/ts-test-proj",
3 | "version": "1.0.0",
4 | "description": "Test",
5 | "scripts": {
6 | "test": "echo \"Error: no test specified\" && exit 1"
7 | },
8 | "dependencies": {
9 | "typescript": "*"
10 | },
11 | "author": "IBM Corp. and LoopBack contributors",
12 | "license": "MIT"
13 | }
14 |
--------------------------------------------------------------------------------
/packages/build/test/integration/fixtures/test/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/build/test/integration/fixtures/test/.gitkeep
--------------------------------------------------------------------------------
/packages/cli/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | /dist
4 | # Cache used by TypeScript's incremental build
5 | *.tsbuildinfo
6 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/__tests__/README.md:
--------------------------------------------------------------------------------
1 | # Tests
2 |
3 | Please place your tests in this folder.
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/controllers/index.ts.ejs:
--------------------------------------------------------------------------------
1 | export * from './ping.controller';
2 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/datasources/README.md:
--------------------------------------------------------------------------------
1 | # Datasources
2 |
3 | This directory contains config for datasources used by this app.
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/models/README.md:
--------------------------------------------------------------------------------
1 | # Models
2 |
3 | This directory contains code for models provided by this app.
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this app.
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/app/templates/src/sequence.ts.ejs:
--------------------------------------------------------------------------------
1 | import {MiddlewareSequence} from '@loopback/rest';
2 |
3 | export class MySequence extends MiddlewareSequence {}
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/controller/templates/src/controllers/controller-template.ts.ejs:
--------------------------------------------------------------------------------
1 | // Uncomment these imports to begin using these cool features!
2 |
3 | // import {inject} from '@loopback/core';
4 |
5 |
6 | export class <%= className %>Controller {
7 | constructor() {}
8 | }
9 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/__tests__/acceptance/README.md:
--------------------------------------------------------------------------------
1 | # Acceptance tests
2 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/__tests__/integration/README.md:
--------------------------------------------------------------------------------
1 | # Integration tests
2 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/__tests__/unit/README.md:
--------------------------------------------------------------------------------
1 | # Unit tests
2 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/controllers/README.md:
--------------------------------------------------------------------------------
1 | # Controllers
2 |
3 | This directory contains source files for the controllers exported by this
4 | extension.
5 |
6 | For more information, see .
7 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/index.ts.ejs:
--------------------------------------------------------------------------------
1 | export * from './component';
2 | export * from './keys';
3 | export * from './types';
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/extension/templates/src/repositories/README.md:
--------------------------------------------------------------------------------
1 | # Repositories
2 |
3 | This directory contains code for repositories provided by this extension.
4 |
5 | For more information, see .
6 |
--------------------------------------------------------------------------------
/packages/cli/generators/openapi/templates/src/models/type-template.ts.ejs:
--------------------------------------------------------------------------------
1 | <%_
2 | imports.forEach(i => {
3 | -%>
4 | <%- i %>
5 | <%_
6 | });
7 | -%>
8 | /**
9 | * The model type is generated from OpenAPI schema - <%- name %>
10 | * <%- escapeComment(description) %>
11 | */
12 | export type <%- className %> = <%- declaration %>;
13 |
14 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | max_line_length = 80
10 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | coverage/
4 | .eslintrc.js
5 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.eslintrc.js.ejs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: '@loopback/eslint-config',
3 | };
4 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.mocharc.json:
--------------------------------------------------------------------------------
1 | {
2 | "exit": true,
3 | "recursive": true,
4 | "require": "source-map-support/register"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | *.json
3 |
--------------------------------------------------------------------------------
/packages/cli/generators/project/templates/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": false,
3 | "singleQuote": true,
4 | "printWidth": 80,
5 | "trailingComma": "all",
6 | "arrowParens": "avoid"
7 | }
8 |
--------------------------------------------------------------------------------
/packages/cli/generators/service/templates/local-service-class-template.ts.ejs:
--------------------------------------------------------------------------------
1 | import {injectable, /* inject, */ BindingScope} from '@loopback/core';
2 |
3 | @injectable({scope: BindingScope.TRANSIENT})
4 | export class <%= className %>Service {
5 | constructor(/* Add @inject to inject parameters */) {}
6 |
7 | /*
8 | * Add service methods here
9 | */
10 | }
11 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/index.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2020. All Rights Reserved.
2 | // Node module: @loopback/cli
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | // Use the same set of files (except index.js) in this folder
7 | exports.SANDBOX_FILES = require('../index')(__dirname);
8 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "../../../../../../node_modules/lerna/schemas/lerna-schema.json",
3 | "version": "independent"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/lib/no-header.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | // XYZ
4 | exports.xyz = {};
5 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mymonorepo",
3 | "copyright.owner": "ACME Inc.",
4 | "license": "MIT",
5 | "workspaces": ["packages/*"]
6 | }
7 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg1/lib/no-header.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | // XYZ
4 | exports.xyz = {};
5 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg1",
3 | "copyright.owner": "ACME Inc.",
4 | "license": "Apache-2.0"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg1/src/application.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: myapp
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export class MyApplication {}
7 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg2/lib/no-header.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | // XYZ
4 | exports.xyz = {};
5 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pkg2",
3 | "author": "ACME Inc.",
4 | "license": "ISC"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/monorepo/packages/pkg2/src/application.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: myapp
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export class MyApplication {}
7 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/single-package/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/single-package/lib/no-header.js:
--------------------------------------------------------------------------------
1 | // XYZ
2 | exports.xyz = {};
3 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/single-package/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "myapp",
3 | "copyright.owner": "ACME Inc.",
4 | "license": "MIT"
5 | }
6 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/copyright/single-package/src/application.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. 2020. All Rights Reserved.
2 | // Node module: myapp
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export class MyApplication {}
7 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/discover/index.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 |
3 | exports.SANDBOX_FILES = [
4 | {
5 | path: 'dist/datasources',
6 | file: 'mem.datasource.js',
7 | content: fs.readFileSync(require.resolve('./mem.datasource.js.txt')),
8 | },
9 | ];
10 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/interceptor/index.js:
--------------------------------------------------------------------------------
1 | const CONFIG_PATH = '.';
2 |
3 | exports.SANDBOX_FILES = [
4 | {
5 | path: CONFIG_PATH,
6 | file: 'myinterceptorconfig.json',
7 | content: JSON.stringify({
8 | name: 'myInterceptor',
9 | group: 'myGroup',
10 | }),
11 | },
12 | ];
13 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/observer/index.js:
--------------------------------------------------------------------------------
1 | const CONFIG_PATH = '.';
2 |
3 | exports.SANDBOX_FILES = [
4 | {
5 | path: CONFIG_PATH,
6 | file: 'myobserverconfig.json',
7 | content: JSON.stringify({
8 | name: 'myObserver',
9 | }),
10 | },
11 | ];
12 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/openapi/3.0/src/datasources/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/cli
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './pet-store.datasource';
7 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/account.controller.ts:
--------------------------------------------------------------------------------
1 | export class AccountController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/address-customer.controller.ts:
--------------------------------------------------------------------------------
1 | export class AddressCustomerController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/customer.controller.ts:
--------------------------------------------------------------------------------
1 | export class CustomerController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/doctor-patient.controller.ts:
--------------------------------------------------------------------------------
1 | export class DoctorPatientController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/employee.controller.ts:
--------------------------------------------------------------------------------
1 | export class EmployeeController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/index.ts:
--------------------------------------------------------------------------------
1 | export * from './customer.controller';
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/index4.ts:
--------------------------------------------------------------------------------
1 | export * from './order-customer.controller';
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/order-customer.controller.ts:
--------------------------------------------------------------------------------
1 | export class OrderCustomerController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/controllers/user-user.controller.ts:
--------------------------------------------------------------------------------
1 | export class UserUserController {}
2 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/models/customer-inhe.model.ts:
--------------------------------------------------------------------------------
1 | import {model, property} from '@loopback/repository';
2 | import {IdModel} from './id-model.model';
3 |
4 | @model()
5 | export class CustomerInheritance extends IdModel {
6 | @property({
7 | type: 'string',
8 | })
9 | name?: string;
10 |
11 | constructor(data?: Partial) {
12 | super(data);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/models/id-model.model.ts:
--------------------------------------------------------------------------------
1 | import {Entity, model, property} from '@loopback/repository';
2 |
3 | @model()
4 | export class IdModel extends Entity {
5 | @property({
6 | type: 'number',
7 | id: true,
8 | default: 0,
9 | })
10 | id?: string;
11 |
12 | constructor(data?: Partial) {
13 | super(data);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/packages/cli/test/fixtures/relation/models/order-inhe.model.ts:
--------------------------------------------------------------------------------
1 | import {model, property} from '@loopback/repository';
2 | import {IdModel} from './id-model.model';
3 |
4 | @model()
5 | export class OrderInheritance extends IdModel {
6 | @property({
7 | type: 'string',
8 | })
9 | des?: string;
10 |
11 | constructor(data?: Partial) {
12 | super(data);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/packages/cli/test/integration/lib/base-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "xyz",
3 | "description": "Test"
4 | }
5 |
--------------------------------------------------------------------------------
/packages/context/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/core/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/eslint-config/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/express/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/filter/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 | scripts-prepend-node-path=true
3 |
--------------------------------------------------------------------------------
/packages/filter/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "@loopback/build/config/tsconfig.common.json",
4 | "compilerOptions": {
5 | "outDir": "dist",
6 | "rootDir": "src",
7 | "composite": true
8 | },
9 | "include": [
10 | "src"
11 | ],
12 | "references": [
13 | {
14 | "path": "../testlab/tsconfig.json"
15 | }
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/packages/http-caching-proxy/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/http-server/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/http-server/fixtures/pfx.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/http-server/fixtures/pfx.pfx
--------------------------------------------------------------------------------
/packages/metadata/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/model-api-builder/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/openapi-spec-builder/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/openapi-v3/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/openapi-v3/src/enhancers/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/openapi-v3
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './keys';
7 | export * from './spec-enhancer.service';
8 | export * from './types';
9 |
--------------------------------------------------------------------------------
/packages/repository-json-schema/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/repository-tests/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/repository/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/repository/src/connectors/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/repository
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './connector';
7 | export * from './crud.connector';
8 | export * from './kv.connector';
9 |
--------------------------------------------------------------------------------
/packages/repository/src/decorators/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/repository
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './metadata';
7 | export * from './model.decorator';
8 | export * from './repository.decorator';
9 |
--------------------------------------------------------------------------------
/packages/repository/src/mixins/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/repository
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './repository.mixin';
7 |
--------------------------------------------------------------------------------
/packages/rest-crud/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/rest-explorer/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/rest/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/rest/fixtures/assets/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Hello, World!
7 |
8 |
9 |
--------------------------------------------------------------------------------
/packages/rest/fixtures/file-upload-test.txt:
--------------------------------------------------------------------------------
1 | This file is used for file-upload acceptance test.
2 |
--------------------------------------------------------------------------------
/packages/rest/fixtures/other-assets/index.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | Hello, World!
7 |
8 |
9 |
--------------------------------------------------------------------------------
/packages/rest/fixtures/other-assets/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
--------------------------------------------------------------------------------
/packages/rest/fixtures/pfx.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/rest/fixtures/pfx.pfx
--------------------------------------------------------------------------------
/packages/security/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/security/security-overview-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/security/security-overview-diagram.png
--------------------------------------------------------------------------------
/packages/service-proxy/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/service-proxy/src/mixins/index.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/service-proxy
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export * from './service.mixin';
7 |
--------------------------------------------------------------------------------
/packages/testlab/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/testlab/fixtures/README.md:
--------------------------------------------------------------------------------
1 | # Static fixtures
2 |
3 | This directory contains test fixture files that we want to use in verbatim and
4 | also files that TypeScript compiler would not copy from `src` to `dist`.
5 |
6 | For example:
7 |
8 | - text files
9 | - JSON files not imported by any `.ts` file
10 |
--------------------------------------------------------------------------------
/packages/testlab/fixtures/copy-me.txt:
--------------------------------------------------------------------------------
1 | Hello World!
--------------------------------------------------------------------------------
/packages/testlab/fixtures/pfx.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loopbackio/loopback-next/13ea0d001836c81cfb4ba6776c45b10a89cda3da/packages/testlab/fixtures/pfx.pfx
--------------------------------------------------------------------------------
/packages/testlab/src/__tests__/fixtures/README.md:
--------------------------------------------------------------------------------
1 | # Compiled fixtures
2 |
3 | This directory contains test fixture files that we want to compile by TypeScript
4 | before using in tests.
5 |
--------------------------------------------------------------------------------
/packages/testlab/src/__tests__/fixtures/test.ts:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved.
2 | // Node module: @loopback/testlab
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | export function main(): string {
7 | return 'Hello world';
8 | }
9 |
--------------------------------------------------------------------------------
/packages/testlab/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "extends": "@loopback/build/config/tsconfig.common.json",
4 | "compilerOptions": {
5 | "outDir": "dist",
6 | "rootDir": "src",
7 | "composite": true
8 | },
9 | "include": [
10 | "src"
11 | ],
12 | "references": []
13 | }
14 |
--------------------------------------------------------------------------------
/packages/tsdocs/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/packages/tsdocs/bin/document-apis.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | // Copyright IBM Corp. and LoopBack contributors 2021. All Rights Reserved.
3 | // Node module: @loopback/tsdocs
4 | // This file is licensed under the MIT License.
5 | // License text available at https://opensource.org/licenses/MIT
6 |
7 | if (require.main === module) {
8 | require('@microsoft/api-documenter/lib/start');
9 | }
10 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "github>loopbackio/cicd//shared-configs/renovate/base"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/sandbox/example/.npmrc:
--------------------------------------------------------------------------------
1 | package-lock=true
2 |
--------------------------------------------------------------------------------
/sandbox/example/index.js:
--------------------------------------------------------------------------------
1 | // Copyright IBM Corp. and LoopBack contributors 2018,2020. All Rights Reserved.
2 | // Node module: @loopback/sandbox-example
3 | // This file is licensed under the MIT License.
4 | // License text available at https://opensource.org/licenses/MIT
5 |
6 | const package = require('./package.json');
7 | console.log('Welcome to %s@%s', package.name, package.version);
8 |
--------------------------------------------------------------------------------