
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
loopback-with-domain
Advanced tools
run loopback server with "domain"
domain is in this context business logic, the same as Domain-Driven Design (DDD).
connection with base-domain
also, this loopback extends original loopback.
follow these section to see how to use admin and push notification
npm install loopback-with-domain
you can just run loopback without domain information by
require('loopback-with-domain').runWithoutDomain().then (lbInfo) ->
console.log lbInfo.getURL() # loopback api root
console.log lbInfo.getAccessToken() # access token of admin
then loopback server (with admin, push-notification function) runs
before running, you can prepare a directory which contains custom config information.
(config-dir) # any name is acceptable
|-- model-definitions.coffee
|-- common
| |-- server.coffee
| `-- admin.coffee
|-- development
| `-- datasources.coffee
`-- production
`-- datasources.coffee
lbWithDomain = require 'loopback-with-domain'
configDir = '/path/to/config-dir'
domain = require('base-domain').createInstance(dirname: 'domain')
lbWithDomain.runWithDomain(domain, configDir).then ->
# loopback started
(coming soon)
(coming soon)
these are the config names.
see JSON files in "default-values/non-model-configs" directory. you can set the same properties as these JSONs.
| config key | meaning |
|---|---|
| accessToken | accessToken for admin |
| config key | meaning |
|---|---|
| memory | on memory datasource |
| db | datasource for domain entities |
| config key | meaning | default |
|---|---|---|
| restApiRoot | REST api root | /api |
| port | port number | 3000 |
| config key | meaning |
|---|---|
| gcmServerApiKey | api key for Google Cloud Messaging (GCM) |
| apnsCertData | certificate pem contents for APNs |
| apnsKeyData | key pem contents for APNs |
module.exports =
player: # model name
base: 'User' # the same as loopback model settings.base
aclType: 'admin' # specific for this system
instrument:
aclType: 'owner-read'
the same format as loopback model definition except "aclType" value. name, base, relations and properties are automatically set from domain information.
loopback-with-domain generates acls from aclType.
three types are available.
| aclType | meaning |
|---|---|
| admin | only admin can CRUD the model |
| owner | admin and the owner of the model can CRUD |
| public-read | everyone can READ the model and admin can CRUD |
| none | everyone can CRUD the model |
running script with environment variable "NODE_ENV" like
$ NODE_ENV=production node app.js
"development" is selected by default.
when your config dir is
(config-dir) # any name is acceptable
|-- common
| |-- server.coffee
| `-- admin.coffee
|-- development
| `-- datasources.coffee
|-- local
| `-- datasources.coffee
|-- production
| `-- datasources.coffee
and launching script like
$ NODE_ENV=local node app.js
then, loopback-with-domain selects configs in "local" directory.
env = 'production'
lbWithDomain.runWithDomain(domain, configDir, env)
env is prior to NODE_ENV settings.
using CureApp/loopback-datasource-juggler.
this repository is almost the same as original one except 'memory' connector handles id as string (orignally integer).
FAQs
loopback-with-domain
We found that loopback-with-domain demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.