-
Notifications
You must be signed in to change notification settings - Fork 0
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
feat: adds new form component and monorepo structure #16
Conversation
Reviewer's Guide by SourceryThis PR implements a monorepo structure for form-related components and adds initial implementations of auro-form, auro-input, and auro-dropdown components. The changes focus on establishing the monorepo architecture while migrating and adapting existing components to work within this new structure. Class diagram for new form componentsclassDiagram
class AuroForm {
+registerComponent(name)
}
class AuroDropdown {
+show()
+hide()
}
class AuroInput {
+validate()
}
class MySelect {
+configureBibContent()
+firstUpdated()
+updated(changedProperties)
}
AuroForm --> AuroDropdown
AuroForm --> AuroInput
AuroDropdown --> MySelect
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @chrisfalaska - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider implementing a more scalable build process using glob patterns or automation rather than manually listing each component in the build commands
- Look into consolidating duplicated utility code and version files into shared locations within the monorepo structure
Here's what I looked at during the review
- 🟡 General issues: 1 issue found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟡 Complexity: 2 issues found
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
2b52ee0
to
9606a75
Compare
9606a75
to
db5461a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @chrisfalaska - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider automating the build process to avoid manually listing components in package.json scripts. This will improve maintainability as more components are added to the monorepo.
Here's what I looked at during the review
- 🟡 General issues: 1 issue found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟡 Complexity: 1 issue found
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have skipped reviewing this pull request. It looks like we've already reviewed the commit dabec23 in this pull request.
b0aa09a
to
6e007c4
Compare
Chris Friedberg seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
FYI, |
Thanks, I made a ticket to track it: #30 |
🎉 This PR is included in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Alaska Airlines Pull Request
Creates a new
auro-form
component that will eventually incorporate allform
components within it as part of a monorepo.This pull request integrates 3 initial form components:
input
dropdown
form
Summary of Major Changes
/components/
folderpackage.json
&node_modules
package.json
to accommodate the new monorepo structure (2d01cb2) | (96bbadb)auro-library
scripts now reference the ESM import, rather than local copiesformVersionWriter
(formerly ofauro-library
) an exception to overcome challenges with monorepo folder structure (with potential to be moved back toauro-library
if a solution can be found to manage both folder structures)npm
tasks tobuild
,test
&lint
individual componentsgitignore
updated with patterns in/components/
directorydropdown
component added as a work-in-progress (5806718)input
component migrated as a work-in-progress (266aeb8)form
component migrated as a work-in-progresstsconfig
to work with/components/
web-test-runner.config.mjs
to work with/components/
demo
pages to refer to scripts in the new/components/
directory (550c274)Summary of component changes
/components/
folder and renamed to its elemental name (auro-input
is now simplyinput
)package.json
now refer toauro-library
innode_modules
as opposed to locally in their respective repositorybuild
,lint
&test
scripts removed from componentpackage.json
(TBD if this should be the final solution. See "Challenges" below)import './notificationIcons';
{component}/src/scripts/version.mjs
updated to point to new local file,formVersionWriter.js
Intentions
Component code as a starting point
The
input
anddropdown
code featured in this PR reflects the state as of the initial integration intoauro-form
. In other words, it is already outdated.Once the
auro-form
component is ready forv1
, the plan is to migrate all Auro form components into the monorepo and deprecate their current repositories. This work is still to be determined and is out of scope for this PR.Success Criteria
input
shouldbuild
,test
&lint
as expected, without error.dropdown
as a component was added toform
in a work-in-progress state and will fail duringtest
. However, it shouldbuild
& run indev
without error.Development
From the
form
root, components can be run indev
individually:Building, Testing & Linting
All
build
,test
&lint
tasks are executed from theauro-form
root.auro-form
components canbuild
,test
&lint
collectively, or individually by component:Challenges
There are challenges with this approach.
Maintaining so many individual tasks in the root
package.json
could become difficult to scale and maintain over time.For example,
building
all commands currently requires each component to be manually listed in the respective command:An alternative approach may be to keep each component's tasks within its respective
package.json
, while tasks for running all form components together as a group could be stored in the rootpackage.json
with a more scalable solution.Resolves
This PR resolves these issues:
Supporting Tickets
The following tickets were merged to facilitate these updates:
Related Tickets
The following tickets were merged to support this PR:
Summary by Sourcery
Add a new form component with advanced input features and a dropdown component with interactive capabilities. Organize the project into a monorepo structure for better management. Include detailed documentation and extensive test coverage for the new components.
New Features:
Enhancements:
Documentation:
Tests:
Summary by Sourcery
Add a new form component with advanced input features and a dropdown component with interactive capabilities. Organize the project into a monorepo structure for better management. Include detailed documentation and extensive test coverage for the new components.
New Features:
Enhancements:
Documentation:
Tests:
Summary by Sourcery
Add a new form component with advanced input features and a dropdown component with interactive capabilities. Organize the project into a monorepo structure for better management. Include detailed documentation and extensive test coverage for the new components.
New Features:
Enhancements:
Documentation:
Tests:
Summary by Sourcery
Add a new form component with integrated input and dropdown elements, organized within a monorepo structure. Update build and TypeScript configurations to support the new structure. Enhance documentation and test coverage for the new components.
New Features:
Enhancements:
Build:
Documentation:
Tests: