Proof of concept of a repo containing common configurations for building web apps at ShareGate
- All 5 ShareGate web configs
- All converted to typescript
- Use lerna for mono repo scripting
- Use changesets to add versioning
- Use github ci
- Use github ci on pull request
- Use github action for release
Excluded from POC:
- Build in esm and cjs:
- Fairly easy to do with
tsup
, but eslint doesn't support esm yet, so doesn't seem worth it.
- Fairly easy to do with
- Add nx caching to speed up build/test
- Not sure if it's worth it, since the build is pretty fast. But it might be a good idea to have it in the future.
- Replace lerna with pnpm?
- i've created a pr where i replaced lerna with pnpm, and the perfomance is betetr. I've stashed this for now, since using a new package manager would mean forcing all devs to use it. I think it's better to keep lerna for now, and maybe switch to pnpm in the future.
Notes are located in the documentation folder:
This repo is managed as a monorepo that is composed of many npm packages, where each package has its own README and documentation describing usage.
Name | NPM |
---|---|
browserslist-config | |
eslint-config | |
postcss-plugin | |
stylelint-config | |
typescript-configs |
- Fork the repository.
-
Using GitHub Desktop:
- Getting started with GitHub Desktop will guide you through setting up Desktop.
- Once Desktop is set up, you can use it to fork the repo!
-
Using the command line:
- Fork the repo so that you can make your changes without affecting the original project until you're ready to merge them.
-
GitHub Codespaces:
- Fork, edit, and preview using GitHub Codespaces without having to install and run the project locally.
-
Install or update to Node.js v16.
-
Create a working branch and start with your changes!
Commit the changes once you are happy with them.
When you're finished with the changes, create a pull request, also known as a PR.
- Run
npm run changeset
and follow the steps to generate a changeset file (that needs to be committed with your PR). - Don't forget to link PR to issue if you are solving one.
Once you submit your PR, a GSoft team member will review your proposal. We may ask questions or request for additional information.
- We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
- As you update your PR and apply changes, mark each conversation as resolved.
- If you run into any merge issues, checkout this git tutorial to help you resolve merge conflicts and other issues.
Copyright © 2023, GSoft inc. This code is licensed under the Apache License, Version 2.0. You may obtain a copy of this license at https://github.com/gsoft-inc/gsoft-license/blob/master/LICENSE.