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

New project structure #189

Merged
merged 9 commits into from
Jan 29, 2023
Merged

New project structure #189

merged 9 commits into from
Jan 29, 2023

Conversation

matthewp
Copy link
Owner

@matthewp matthewp commented Jan 28, 2023

This updates the project structure, adding newer CI features and automating releases.

Project structure

This updates the project to use npm workspaces. Packages will go in the packages/ folder. So far there is only core, but the plan is to move the integrations into this repo.

Builds and testing

The repo now uses wireit to handle building and dependencies. This means if you need to check the bundle size you can just run:

npm run --workspace=packages/core bundlesize

And wireit will handle calling the minify task before bundlesize is run. This is true of all of the commands.

The contributing document goes over how you can run tests and do releases.

CI tasks

CI automates most things now:

  • Releases are done through github actions.
  • The site is deployed any time you merge to main with a change to the docs.

This should make day-to-day maintenance of the project much less tedious.

Breaking changes

This includes a new minor changeset because it drops support for Node 14. This is mostly because npm didn't support workspaces in that version. Also Node 14 is end of life in a couple of months anyways.

@matthewp matthewp marked this pull request as draft January 28, 2023 13:59
With the bot
@changeset-bot
Copy link

changeset-bot bot commented Jan 28, 2023

🦋 Changeset detected

Latest commit: 92c596e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
robot3 Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@matthewp matthewp marked this pull request as ready for review January 28, 2023 18:34
@matthewp matthewp requested a review from gkiely January 28, 2023 18:35
@matthewp
Copy link
Owner Author

@gkiely this is ready for review.

If you would, let me merge this one after approved, as I would like to keep on an eye on CI and make sure everything works since this is the first time CI will handle the release (I always did it manually before).

Copy link
Contributor

@gkiely gkiely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The npm commands work locally and the code looks good to me. Just a small typo.

packages/core/package.json Outdated Show resolved Hide resolved
Co-authored-by: Grant Kiely <grant.kiely@gmail.com>
@matthewp matthewp merged commit cce2ae6 into main Jan 29, 2023
@matthewp matthewp deleted the new-build branch January 29, 2023 02:36
masto pushed a commit to masto/robot that referenced this pull request Mar 26, 2023
* New project structure

* Fix yaml syntax error

* Drop Node 14 from CI

* Add changesets

With the bot

* Add docs deploy to CI

* Update lockfile

* Add an export map

* Update the contributing guide

* Update packages/core/package.json

Co-authored-by: Grant Kiely <grant.kiely@gmail.com>

---------

Co-authored-by: Grant Kiely <grant.kiely@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automate release process Get CI setup
2 participants