Build scripts and dependencies for IOP's WordPress development environments.
These tools were migrated from our Docker-based WordPress build tools to speed up development and began the process of moving our build tools away from webpack. Gathering dependencies also simplifies the package.json and configuration files in host projects, making those slightly more manageable.
IOP versions our themes so every release creates a clear rollback snapshot. To accomplish this, every milestone build is generated into a versioned directory. This works well for themes where only one can be active, but fails for plugins where multiple versions can be simultaneously enabled so long as their directory names are different.
To work around this, a type
property can be added to the config file. When type
is plugin
, builds will not add the version to directory names.
Each project may optionally include an ideasonpurpose.config.js file in the same directory as package.json. Any settings in this file will override the defaults.
This project expects an entirely ES Module based environment and specifies all dependencies using standard ESM import syntax. Projects importing this file should set "type": "module"
in their package.json files.
Publishing to npm
A GitHub action will auto-publish version-tagged releases to npm. In order to publish, the repository must have an NPM_TOKEN
secret set with the token from npm. Log into npmjs.org with a publish-authorized account, then find the token page linked from the Profile page sidebar. Generate a new token and update the repository secret.
This project is actively developed and used in production at Ideas On Purpose.