Skip to content

Latest commit

 

History

406 提交

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

仓库 files navigation

WordPress Feature Flags

PHP lint & test JS lint & test E2E Tests codecov

Stable tag: 0.3.2 Requires at least: 6.2 Tested up to: 6.8 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 build
  • yarn start to start the watch mode

wp-env

This plugin uses wp-env setup to for local environment.

  • wp-env start to start the containers
  • wp-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.

关于

Feature flags for WordPress plugins and themes

Topics

Resources

Contributing

Stars

2 stars

关注者

1 watching

复刻s

发布

Used by

贡献者

Languages