There are two ways to get started with the Next WordPress Starter:
Option 1: Use create-next-app
- In your terminal, run the following command:
npx create-next-app -e https://github.com/pantheon-systems/next-wordpress-starter --use-npm
- Follow the prompts in your terminal to complete the setup.
Option 2: Clone the repo
- Clone this repo:
git clone [email protected]:pantheon-systems/next-wordpress-starter.git
- Install node modules
cd next-wordpress-starter && npm install
For either option, create a .env.development.local
file and update it with the
following: (See .env.example for an example)
WPGRAPHQL_URL=
IMAGE_DOMAIN=
-
Run
npm run dev
to start in dev mode, ornpm run build && npm start
to start in production mode. -
Open a browser and navigate to
http://localhost:3000
.
The Pantheon @pantheon-systems/wordpress-kit is included as a dependency in this project. This allows developers to make use of utility functions to simplify the process of building and maintaining a Front-End site on Pantheon.
The tailwindcssPlugin
is included in this project and is used to map WordPress
Block Editor styles to Tailwind styles.
Full documentation can be found at: https://github.com/pantheon-systems/decoupled-kit-js/tree/canary/web/docs/Packages/wordpress-kit
Tests are written with vitest
. All new functionality
should have unit tests or snapshot tests where applicable. Snapshot tests are
using
@testing-library/react
.
This section assumes the package manager in use is npm
. If you are not using
npm
, replace npm
with the name of your package manager.
To run the tests:
npm test
To run the tests in watch mode:
npm run test:watch
Snapshots should be updated when presentational changes are made. If a new page route is added, create a new snapshot test for it, and include any data needed to run that test successfully. Please commit the updated snapshots along with your changes.
To update a snapshot:
Run the following helper command:
npm run update-snapshots
Or, run the test for a single profile in watch mode (see above), then in the terminal press the u key. This will update the snapshot for the running profile Be sure to update the snapshot for both profiles.