Skip to main content
Version: v4.18

Build Conditionals

Build Conditionals in Stencil allow you to run specific code only when Stencil is running in development mode. This code is stripped from your bundles when doing a production build, therefore keeping your bundles as small as possible.

Using Build Conditionals

Lets dive in and look at an example of how to use our build conditional:

import { Component, Build } from '@stencil/core';

@Component({
tag: 'stencil-app',
styleUrl: 'stencil-app.css'
})
export class StencilApp {

componentDidLoad() {
if (Build.isDev) {
console.log('im in dev mode');
} else {
console.log('im running in production');
}
}
}

As you can see from this example, we just need to import Build from @stencil/core and then we can use the isDev constant to detect when we are running in dev mode or production mode.

Use Cases

Some use cases we have come up with are:

  • Diagnostics code that runs in dev to make sure logic is working like you would expect
  • console.log()'s that may be useful for debugging in dev mode but that you don't want to ship
  • Disabling auth checks when in dev mode