UNPKG

@wordpress/deprecated

Version:
81 lines (50 loc) 2.67 kB
# Deprecated Deprecation utility for WordPress. Logs a message to notify developers about a deprecated feature. ## Installation Install the module ```bash npm install @wordpress/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 `@wordpress/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>