codeb / wp-feature-flags
Allows developers to enable / disable features based on flags.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 7
Language:TypeScript
Type:wordpress-plugin
Requires
- php: >=8.1
Requires (Dev)
- brain/monkey: ^2.6
- newsuk/nuk-wp-phpcs-config: ^0.2.0
- newsuk/nuk-wp-phpmd-config: ^0.1.0
- newsuk/nuk-wp-phpstan-config: ^0.1.0
- phpunit/phpunit: ^9.4
- yoast/wp-test-utils: ^1.2
- dev-main
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.0
- v0.1.0
- dev-dependabot/npm_and_yarn/wordpress/eslint-plugin-21.5.0
- dev-dependabot/npm_and_yarn/wordpress/components-28.12.0
- dev-dependabot/npm_and_yarn/wordpress/eslint-plugin-21.4.0
- dev-dependabot/npm_and_yarn/wordpress/components-28.11.0
- dev-dependabot/npm_and_yarn/playwright/test-1.48.2
- dev-dependabot/npm_and_yarn/types/jest-29.5.14
- dev-dependabot/composer/brain/monkey-2.6.2
- dev-dependabot/npm_and_yarn/eslint-plugin-cypress-3.6.0
- dev-dependabot/npm_and_yarn/npm_and_yarn-08f7098d0c
- dev-main-built
- dev-chore/wp-6.6-compatibility
- dev-chore/plugin-improv
- dev-chore/components-perf
- dev-feat/perf-tests
This package is auto-updated.
Last update: 2024-11-18 14:18:17 UTC
README
Stable tag: 0.3.2 Requires at least: 6.2 Tested up to: 6.6 Requires PHP: 8.1
WordPress Feature flags plugin allow developers to configure features in plugins/themes behind the feature flags on both the server (PHP) and client (JS/TS) side.
Installation
composer require codeb/wp-feature-flags
Packagist: https://packagist.org/packages/codeb/wp-feature-flags
Hooks
PHP filters
codeb_feature_flags_max_allowed
Filter to define the maximum number of allowed flags. It is recommended to keep this to default value, which is 20.
Example usage:
add_filter( 'codeb_feature_flags_max_allowed', static function () { return 10; } );
JS filters
codebFeatureFlags.newFlag.defaultStatus
The filter controls whether the new flag is enabled by default or not. Default true
Example usage:
addFilter( 'codebFeatureFlags.newFlag.defaultStatus', 'codeb-feature-flags', () => { return false; } );
Development setup
To build the plugin
PHP setup
composer install
JS setup
yarn install
yarn build
to create the buildyarn start
to start the watch mode
wp-env
This plugin uses wp-env
setup to for local environment.
wp-env start
to start the containerswp-env stop
to stop the containers
More details on how to access local environment can be found here.
Linting and formatting
PHP
composer lint
composer lint:fix
to auto fix PHP linting errors.
JS
yarn lint:js
yarn lint:js:fix
to auto fix JS linting errors.
CSS
yarn lint:css
yarn lint:css:fix
to auto fix CSS linting errors.
Testing
PHP
The WordPress unit and integration tests depends on wp-env
setup. Ensure you run yarn wp-env:coverage
before running
the tests.
- To run unit tests
yarn php:unit
- To run integrations tests
yarn php:integration
- To run integrations tests as multisite
yarn php:multisite
JS
- Run
yarn test:js
to run all Jest and React Testing Library tests
E2E
The E2E tests depends on wp-env
setup. Ensure you run wp-env start
before running the tests.
- Run
yarn test:e2e
to run all Playwright e2e tests.
Contributing
Code contributions, feedback, issue reporting and feature suggestions are welcome. See CONTRIBUTING.md for more details.