A collection of scripts and utilities built by Alley Interactive for projects to speed up development.
This monorepo contains the following packages:
@alleyinteractive/block-editor-tools
@alleyinteractive/build-tool
@alleyinteractive/create-block
@alleyinteractive/create-entry
@alleyinteractive/create-release
@alleyinteractive/eslint-config
@alleyinteractive/scaffolder
@alleyinteractive/stylelint-config
@alleyinteractive/tsconfig
This project uses Turborepo with NPM to add and manage packages in this monorepo. To add a new package, you can add the package manually or run a command.
NOTE: If the workspace is to be created in a location other than the default packages
directory, the path to the directory needs to be provided in the root package.json
workspaces configuration.
npx turbo gen workspace --type package
The command above will walk through some prompts and create a new package in the packages
directory with a basic package.json
and README.md
file.
NOTE: The package.json
file will be scaffolded with the private
configuration set to true
. When the package is ready to be published to the public registry, this configuration should be removed.
For more information on the Turborepo
code generation, see the Turborepo Code Generation documentation.
To add a package manually you can create a new directory with the same name as the package in the packages
directory and add a package.json
file with the following content:
{
"name": "@alleyinteractive/package-name",
"version": "0.0.0",
"license": "GPL-2.0-or-later",
}
This project uses the Changesets CLI to manage versioning and publishing of packages in this monorepo. To release a new version of a package that you are working on, you can run the following command:
npx changeset
The command above will walk through some prompts and create a new changeset file in the .changeset
directory. Commit this file to version control in your feature branch and open a pull request.
Once the pull request is approved, merge the branch into the main
branch. The changeset Github actions will automatically create a new branch, e.g. changeset-release/main
and pull request titled "Version Packages". Once you are ready to release the package merge the pull request. You may need to check with other developers releasing versions for other packages as the changeset release will add all changes to that pull request. Once the changeset-release/main
branch is merged it will publish the new version of the package to the NPM registry.
You do not need to manually bump the version of the package in the package.json
file. The changeset Github actions will handle this for you.
Each package/workspace contains a changelog file that documents the changes for each version of the package. The changelog file is located in the root of the package directory and is named CHANGELOG.md
.
Feel free to dive in! Open an issue or submit PRs. Standard Readme follows the Contributor Covenant Code of Conduct.
This project is actively maintained by Alley Interactive. Like what you see? Come work with us.
The GNU General Public License (GPL) license. Please see License File for more information.