@wordpress/deprecated
Version:
Deprecation utility for WordPress.
81 lines (50 loc) • 2.67 kB
Markdown
# Deprecated
Deprecation utility for WordPress. Logs a message to notify developers about a deprecated feature.
## Installation
Install the module
```bash
npm install /deprecated --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 `/babel-preset-default`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default#polyfill) in your code._
## Hook
The `deprecated` action is fired with three parameters: the name of the deprecated feature, the options object passed to deprecated, and the message sent to the console.
_Example:_
```js
import { addAction } from '@wordpress/hooks';
function addDeprecationAlert( message, { version } ) {
alert( `Deprecation: ${ message }. Version: ${ version }` );
}
addAction(
'deprecated',
'my-plugin/add-deprecation-alert',
addDeprecationAlert
);
```
## API
<!-- START TOKEN(Autogenerated API docs) -->
### default
Logs a message to notify developers about a deprecated feature.
_Usage_
```js
import deprecated from '@wordpress/deprecated';
deprecated( 'Eating meat', {
since: '2019.01.01',
version: '2020.01.01',
alternative: 'vegetables',
plugin: 'the earth',
hint: 'You may find it beneficial to transition gradually.',
} );
// Logs: 'Eating meat is deprecated since version 2019.01.01 and will be removed from the earth in version 2020.01.01. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'
```
_Parameters_
- _feature_ `string`: Name of the deprecated feature.
- _options_ `[DeprecatedOptions]`: Personalisation options
### logged
Object map tracking messages which have been logged, for use in ensuring a message is only logged once.
_Type_
- `Record< string, true >`
<!-- END TOKEN(Autogenerated API docs) -->
## 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).
<br /><br /><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>