Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update contributing and publishing steps #735

Merged
merged 2 commits into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ Please provide enough information so that others can review your pull request. T
Explain the **motivation** for making this change. What existing problem does the pull request solve?
-->

## Changelog
## Changeset

<!--
Help reviewers and the release process by writing your own changelog entry. See this project's CHANGELOG.md
for an example.
Help reviewers and the release process by included a changeset entry.
Use `npm run changeset` and follow the prompts to create a changeset.
-->

- [ ] Changeset added ([docs](https://github.com/godaddy/javascript#submit-a-changeset))

## Test Plan

<!--
Expand Down
41 changes: 19 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,48 +155,45 @@ the root of the monorepo.

### Submit a changeset

This repository utilizes [changesets] to handle versioning and publishing as you submit a pull-request. To initiate a changeset run:
This repository utilizes [changesets] to handle versioning and publishing as you submit a pull-request.
A changeset should be included with your pull-request to help the maintainers
understand the changes and to help with the release process.

To initiate a changeset run:

```bash
npm run changeset
```

After which follow the command prompts to select which packages and which version each package should receive.

### Publishing

If you are lucky enough to get to publish a new version of a package you are in luck. This monorepo is setup to independently publish packages based on changes commited. Just make sure to run:
Commit and push the changeset to your branch to be included with your pull-request.

```bash
npm version
```
## Publishing

This will run `changeset version` and will update all packages to the versions based on the changesets committed into the `.changeset` directory. After the versioning is complete to handle publishing and creating a release run:
When a pull-request is merged into the `main`, the changeset will be used
to determine the next version of the package.

```bash
npm run release
```
A "Version Packages" pull-request will be automatically created to bump the
versions.
If multiple PRs with changesets are merged, this PR will automatically update to
include all changesets.

This runs `changeset publish` under the hood and handle as mentioned above.
When all changes are ready to be published, repo admins can force squash merge
the "Version Packages" PR to main (CI worflows do not run on this automated branch).
This will trigger the CI to publish the packages to npm.

### I disagree with a specific rule
## I disagree with a specific rule

Great. We'd love to talk about it. Fork this repository and submit a pull-request.

### Help! It's not working for me
## Help! It's not working for me

No problem. Reach out to us by [opening an issue]

## Roadmap

- Consider other rules in an `eslint` only implementation:
- `computed-property-spacing`
- `generator-star-spacing`
- `semi-spacing`
- `block-spacing`
- Continue to modularize the `eslint` rules.
- Translate configuration files into more verbose written documentation.
- Add support for IDE formats (IntelliJ, Webstorm, Atom, Eclipse, Sublime, etc...)
- ESLint v9 support ([guide](https://eslint.org/docs/latest/use/migrate-to-9.0.0))

[opening an issue]: https://github.com/godaddy/javascript/issues
[`eslint-config-godaddy`]: /packages/eslint-config-godaddy
Expand Down
Loading