Title: @wordpress/warning
Published: March 9, 2021
Last modified: October 9, 2026

---

# @wordpress/warning

## In this article

 * [Installation](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#installation)
 * [Reducing bundle size](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#reducing-bundle-size)
 * [API](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#api)
    - [default](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#default)
 * [Contributing to this package](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#contributing-to-this-package)

[ Back to top](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#wp--skip-link--target)

Utility for warning messages to the console based on a passed condition.

## 󠀁[Installation](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#installation)󠁿

Install the module

    ```bash
    npm install @wordpress/warning --save
    ```

_This package assumes that your code will run in an **ES2015+** environment. If 
you’re using an environment that has limited or no support for such language features
and APIs, you should include [the polyfill shipped in `@wordpress/babel-preset-default`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default#polyfill)
in your code._

## 󠀁[Reducing bundle size](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#reducing-bundle-size)󠁿

Literal strings aren’t minified. Keeping them in your production bundle may increase
the bundle size significantly.

To prevent that, you should:

 1. Put `@wordpress/warning/babel-plugin` into your [babel config](https://babeljs.io/docs/plugins#plugin-options)
    or use [`@wordpress/babel-preset-default`](https://www.npmjs.com/package/@wordpress/babel-preset-default),
    which already includes the babel plugin.
 2. This will make sure your `warning` calls are wrapped within a condition that checks
    if `SCRIPT_DEBUG === true`.
 3. Use [UglifyJS](https://github.com/mishoo/UglifyJS2), [Terser](https://github.com/terser/terser)
    or any other JavaScript parser that performs [dead code elimination](https://en.wikipedia.org/wiki/Dead_code_elimination).
    This is usually used in conjunction with JavaScript bundlers, such as [webpack](https://github.com/webpack/webpack).
 4. When parsing the code in `production` mode, the `warning` call will be removed 
    altogether.

## 󠀁[API](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#api)󠁿

### 󠀁[default](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#default)󠁿

Shows a warning with `message` if environment is not `production`.

_Usage_

    ```javascript
    import warning from '@wordpress/warning';

    function MyComponent( props ) {
      if ( ! props.title ) {
        warning( '`props.title` was not passed' );
      }
      ...
    }
    ```

_Parameters_

 * _message_ `string`: Message to show in the warning.

## 󠀁[Contributing to this package](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-warning/?output_format=md#contributing-to-this-package)󠁿

This is an individual package that’s part of the Gutenberg project. The project 
is organized as a monorepo. It’s made up of multiple self-contained software packages,
each with a specific purpose. The packages in this monorepo are published to [npm](https://www.npmjs.com/)
and used by [WordPress](https://make.wordpress.org/core/) as well as other software
projects.

To find out more about contributing to this package or Gutenberg as a whole, please
read the project’s main [contributor guide](https://github.com/WordPress/gutenberg/tree/HEAD/CONTRIBUTING.md).

First published

March 9, 2021

Last updated

October 9, 2026

Edit article

[ Improve it on GitHub: @wordpress/warning ](https://github.com/WordPress/gutenberg/edit/trunk/packages/warning/README.md)

[  Previous: @wordpress/vips](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-vips/)

[  Next: @wordpress/widget-dashboard](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-widget-dashboard/)