Nest Devtools
The NestJS core team have built a powerful set of dev tools which can be used to inspect, analyze and debug NestJS applications. Since a Vendure server is a NestJS application, these tools can be used to debug your Vendure application.
Nest Devtools is a paid service. You can sign up for a free trial.
Installation
First you'll need to install the @nestjs/devtools-integration
package:
npm i @nestjs/devtools-integration
Configuration
Next you need to create a plugin which imports the DevToolsModule
and adds it to the imports
array:
import { VendurePlugin } from '@vendure/core';
import { DevtoolsModule } from '@nestjs/devtools-integration';
@VendurePlugin({
imports: [
DevtoolsModule.register({
// The reason we are checking the NODE_ENV environment
// variable here is that you should never use this module in production!
http: process.env.NODE_ENV !== 'production',
}),
],
})
class DevtoolsPlugin {}
Now we need to add this plugin to the plugins
array in the VendureConfig
. We need to make sure we are
only adding it to the server config, and not the worker, otherwise we will get a port config when
running the server and worker at the same time.
Lastly we must set the snapshot
option when bootstrapping the server. Note: this is only possible
with Vendure v2.2 or later.
import { bootstrap } from '@vendure/core';
import { config } from './vendure-config';
const configWithDevtools = {
...config,
plugins: [
...config.plugins,
DevtoolsPlugin,
],
};
bootstrap(configWithDevtools, {
nestApplicationOptions: { snapshot: true }
})
.catch(err => {
console.log(err);
process.exit(1);
});
Usage
Now you can start the server, and navigate to devtools.nestjs.com to start view your Vendure server in the Nest Devtools dashboard.