A startup kit for WordPress plugin developer
- WordPress Rest API
- WP-script Setup
- React
- React Router
- TypeScript
- Tailwind CSS [Nested + ]
- SCSS
- PostCSS
- Eslint
- WP-Data
- WP-Data Redux Store [Redux Saga, Generator function, Thunk, Saga Middleware]
- React Components
- React CRUD Operations - Create, Read, Update, Delete, Status changes and so many...
- Internationalization - WP i18n
- PHPUnit Test [Test + Fix]
- JestUnit Test
- WordPress Playwright e2e Test
- PHP OOP plugin architecture [Traits + Interfaces + Abstract Classes]
- Gutenberg blocks, Dynamic blocks
# Clone the Git repository
git clone https://github.com/therakib7/wp-plugin-kit.git
# Install PHP-composer dependencies [It's empty]
composer install
# Install node module packages
npm i
# Start development mode
npm start
# Start development with hot reload (Frontend components will be updated automatically if any changes are made)
npm run start:hot
# To run in production
npm run build
After running start
, or build
command, there will be a folder called /build
will be generated at the root directory.
You need activate the plugin from plugin list page.
# One by one.
npm run build
npm run makepot
npm run version
npm run zip
# Single release command - which actually will run the above all in single command.
npm run release
After running release
command, there will be a folder called /dist
will be generated at the root directory with wp-plugin-kit.zip
project files.
wp wp_plugin_kit_refresh
Before run test, check file wp-config
from /tests/phpunit
composer run test
composer run test:all
npm run test:unit
Get all errors of the project:
composer run phpcs
Fix all errors of the project:
composer run phpcs:fix
Full Composer test run:
composer run test:all
Format code according to WordPress standards:
npm run format
Linting JavaScript:
npm run lint:js
Linting CSS:
npm run lint:css
Linting Markdown (Docs):
npm run lint:md:docs
To Update NPM Packages:
npm run packages-update
Ensure licenses compatibility:
npm run check-licenses
Playwright doc link: https://playwright.dev/docs/running-tests
Requirements:
Must have docker installed and running by ensuring these commands
npm run env:stop
npm run env:start
Normal e2e test:
npm run test:e2e
Interactive e2e test:
npm run test:e2e:watch
For more about e2e Tests running please check - https://playwright.dev/docs/running-tests