/poc-web-configs

Proof of concept of a repo containing Common configurations for building web apps at ShareGate

Primary LanguageTypeScriptApache License 2.0Apache-2.0

poc-web-configs

Proof of concept of a repo containing common configurations for building web apps at ShareGate

License CI

Content of this POC

  • 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.
  • 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:

Usage

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.

Packages

Name NPM
browserslist-config npm version
eslint-config npm version
postcss-plugin npm version
stylelint-config npm version
typescript-configs npm version

Contributing

Make changes locally

  1. Fork the repository.
  1. Install or update to Node.js v16.

  2. Create a working branch and start with your changes!

Commit your update

Commit the changes once you are happy with them.

Pull Request

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.

License

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.