@adobe/helix-universal-devserver
v1.1.143
Published
Helic Universal Development Server
Maintainers
Keywords
Readme
Helic Universal Development Server
Development server for local development of helix universal functions
Status
Installation
$ npm install @adobe/helix-universal-devserverUsage
// test/dev.js
import { DevelopmentServer } from '@adobe/helix-universal-devserver';
import { main } from '../src/index.js';
async function run() {
const devServer = await new DevelopmentServer(main).init();
await devServer.start();
}
run().then(process.stdout).catch(process.stderr);Test Helix Deploy Bundle
sometimes it is useful to test a bundled universal function directly, for example to verify that
all imports are properly resolved. This can be achieved by setting the adapter, either to
lambda or lambda.raw. the later bypasses loading of the secrets.
import { lambda } from '../../dist/helix-services/[email protected]';
async function run() {
const devServer = await new DevelopmentServer()
.withHeader('x-forwarded-host', 'localhost:{port}')
.withAdapter(lambda.raw) // use raw adapter and don't load secrets
.init();
await devServer.start();
}Using development params with the server
Sometimes it might be useful to specify action params that would be provided during deployment
but are not available during development. Those can be specified using the hlx configuration
in your package.json. The development server will load parameters from:
hlx.package.params-fileandhlx.package.paramshlx.params-fileandhlx.paramshlx.dev.params-fileandhlx.dev.params(overrides the above)
Example using hlx (recommended):
{
// ...
"hlx": {
"name": "my-action@${version}",
"params-file": [
"secrets.env"
],
"params": {
"MY_PARAM": "value"
},
"package": {
"params-file": [
"package-secrets.env"
],
"params": {
"PACKAGE_PARAM": "package-value"
}
},
"dev": {
"params-file": [
".dev-secrets.env"
],
"params": {
"DEV_PARAM": "dev-value"
}
}
}
// ...
}Note: The deprecated wsk configuration key is still supported for backwards compatibility,
but hlx is now the recommended standard. If both are present, hlx takes precedence.
See the helix-deploy documentation for more details.
Development
Build
$ npm installTest
$ npm testLint
$ npm run lint