cerner / terra-toolkit

Terra Toolkit is a monorepo that contains utility modules for use when developing using Terra components
https://engineering.cerner.com/terra-toolkit
Apache License 2.0
32 stars 37 forks source link

Update all packages for isolated development #811

Closed sdadn closed 1 year ago

sdadn commented 1 year ago

Summary

What was changed: This PR updates the package setup for the individual packages so that they can be independently worked on. This will allow engineers to go into a package and install all the needed devDependencies and run scripts for development as an alternative to doing them at the root level.

Why it was changed: This change is so that developers can work on packages in isolation if they may choose so. Working on a package in isolation is useful as that developers can ignore the other packages that are not part of their current work. And it results in faster installation and test execution which may help speed up development. For example, running npm install may take a few minutes at the repo level but <30seconds at the package level.

This will also help maintenance in the long run by making it clear what dev tools are needed for each individual package. Relying solely on the root level obfuscates which devDependencies are needed for a particular package and can make it difficult to relocate or move that package to another repo.

Note There will be additional PRs to help refine this setup as the work effort to properly isolate packages is considerable. The current status of the packages are:

Future Work

Testing

This change was tested using:

This was tested by running the linter and jest tests for each individual package and at the root level to ensure the existing setup is not broken.

Reviews

In addition to engineering reviews, this PR needs:

Additional Details


Thank you for contributing to Terra. @cerner/terra

github-actions[bot] commented 1 year ago
Fails
:no_entry_sign: Please include a CHANGELOG entry for each changed package on this PR. Looks like a CHANGELOG entry is missing for: - terra-aggregate-translations - terra-toolkit-docs - browserslist-config-terra - duplicate-package-checker-webpack-plugin - eslint-config-terra - jest-config-terra - package-json-lint-config-terra - package-json-lint - stylelint-config-terra - terra-cli - terra-enzyme-intl - terra-functional-testing - terra-open-source-scripts - webpack-config-terra

Generated by :no_entry_sign: dangerJS against cfe3f021e36c0d59aa90acf7647cda690e1b48dd

kenk2 commented 1 year ago

Fails 🚫 Please include a CHANGELOG entry for each changed package on this PR. Looks like a CHANGELOG entry is missing for:

  • terra-aggregate-translations
  • terra-toolkit-docs
  • browserslist-config-terra
  • duplicate-package-checker-webpack-plugin
  • eslint-config-terra
  • jest-config-terra
  • package-json-lint-config-terra
  • package-json-lint
  • stylelint-config-terra
  • terra-cli
  • terra-enzyme-intl
  • terra-functional-testing
  • terra-open-source-scripts
  • webpack-config-terra

Generated by 🚫 dangerJS against 544207c

No consumer-related changes, no changelog is necessary.