-
Notifications
You must be signed in to change notification settings - Fork 2
SureMail onboarding connect template #342
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
base: staging
Are you sure you want to change the base?
Conversation
component-data.json
Outdated
@@ -0,0 +1,3069 @@ | |||
{ |
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.
What: This component-data.json is quite large with 3069 lines of code. It's important to ensure the data structure is efficient and semantically clear.
Why: Handling large JSON files can significantly impact performance, especially if it is being parsed or manipulated in a client-side application. An optimized structure can improve loading times and reduce resource consumption.
How: Consider breaking down this JSON data into multiple smaller related components or files, or introducing pagination if applicable. This helps in reducing the payload size and can improve performance.
component-data.json
Outdated
"props": { | ||
"onClick": { | ||
"type": "() => void", | ||
"required": false, |
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.
What: Check for any sensitive information that could inadvertently be included in this JSON file.
Why: Security is a major concern and any hardcoded sensitive info (like API keys or personal data) in JSON can lead to security vulnerabilities if this file is publicly accessible.
How: Perform a review of the data structure to ensure no sensitive information is contained within and ensure that any sensitive configurations are separated and secured appropriately.
component-data.json
Outdated
} | ||
} | ||
} | ||
}, |
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.
What: Ensure the structure of the JSON follows a predictable schema that is well documented.
Why: A well-defined schema helps with reliability and maintainability of the component data. It assists developers in keeping code consistent and reducing errors when accessing or modifying the data.
How: Consider using a schema validation tool (like JSON Schema) to document the data structure and enforce rules on what data is valid. This provides clarity and facilitates easier validation during development.
component-data.json
Outdated
}, | ||
"showTooltip": { | ||
"type": "boolean", | ||
"required": false, |
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.
What: If this JSON structure is going to be consumed by client applications, evaluate the data response size and optimize it for network transfers.
Why: Reducing the amount of data transferred can significantly improve loading times and enhance the user experience, especially for users with slow internet connections.
How: Consider compressing the JSON response or using a more efficient data serialization format (like Protocol Buffers or MessagePack) if supported by the client applications.
component-data.json
Outdated
}, | ||
"xAxisFontSize": { | ||
"type": "'sm' | 'md' | 'lg'", | ||
"required": false, |
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.
What: Add comments or documentation for future developers to understand intricacies of data relationships and intent behind the data configuration.
Why: Clear documentation aids in maintaining the codebase and helps onboard new developers more quickly. It also reduces the learning curve and minimizes the risk of misinterpretation.
How: Include a README or comments directly in the JSON file that provides context, usage examples, and explanations of significant sections or data points that may not be immediately clear.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ |
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.
What: Version bump from 1.5.0 to 1.7.4 could potentially introduce breaking changes.
Why: Updating to a higher version increases the risk of encountering new bugs or breaking changes that can affect application stability.
How: Ensure that integration tests are run thoroughly post-update to identify potential issues. Review the changelogs of the new versions for any breaking changes that might need adjustments in the application code.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ |
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.
What: Dependencies are updated to significantly higher versions without reviewing security implications.
Why: Upgrading libraries can introduce security vulnerabilities if the new versions have not been audited for security issues. This could make the application susceptible to attacks through libraries that have unresolved vulnerabilities.
How: Before finalizing the merge, check for known vulnerabilities in the upgraded packages using tools like npm audit or Snyk. Consider keeping an eye on the security changelogs of specific packages you are updating.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ |
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.
What: Packages are updating a lot of @lexical dependencies together which can complicate package resolution.
Why: Updating many packages at once can make tracking issues down harder if any problems arise. Additionally, it may lead to version mismatches that could impact compatibility.
How: Consider updating related packages in smaller increments or batch them together where necessary to ensure stability and ease of debugging.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ |
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.
What: Increased versions from various packages like lexical can lead to larger bundle sizes.
Why: Higher bundle sizes may lead to longer loading times and degraded application performance, negatively affecting user experience.
How: Perform a build and analyze the final bundle sizes using tools like webpack bundle analyzer to ensure that the application remains optimized. Consider tree-shaking or code-splitting if the bundle size increases significantly.
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", |
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.
What: Ensure that the updated package versions do not introduce any breaking changes.
Why: Upgrading package versions can bring new features or fixes but may also lead to breaking changes in dependencies. It is crucial for project stability and compatibility.
How: Before merging, check the CHANGELOG or release notes of each updated package for breaking changes that could affect your project. If you find any, evaluate whether to update now or wait until adjustments can be made.
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"description": "Library of components for the BSF project", | |||
"main": "./dist/force-ui.cjs.js", |
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.
What: Consider pinning and validating the version of major dependencies before deployment.
Why: Using caret version ranges can lead to unexpected updates at install time, which could introduce bugs or vulnerabilities into your code. Ensuring that you are using known, stable versions improves predictability.
How: Consider changing the dependency versions to fixed versions (e.g., "@floating-ui/react": "0.26.28" to @floating-ui/react": "0.26.28" without the caret), ensuring that installations will always pull the exact specified version.
component-data.json
Outdated
@@ -0,0 +1,3069 @@ | |||
{ |
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.
What: The component-data.json file is quite large, with 3069 lines of code. This may lead to wider issues including manageability, maintainability, and potential performance issues when loading and parsing the file.
Why: Large JSON files can be cumbersome to work with and may impact the application's performance, especially if they need to be parsed frequently. Keeping files smaller can improve load times and reduce the risk of errors.
How: Consider breaking this JSON data into smaller, more manageable files or structures. You could modularize the components logically, for example, categorizing by certain types or features, and then loading only the necessary components dynamically as needed.
component-data.json
Outdated
"components": { | ||
"Accordion": { | ||
"props": { | ||
"className": { |
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.
What: There are no comments or documentation within the JSON which makes it difficult to understand the purpose or structure of the data.
Why: Without documentation, it becomes hard for other developers to understand the specific purpose of each field or component in the JSON, which can hinder collaboration and future maintenance.
How: It would be beneficial to include a brief comment at the top of the file explaining its purpose and structure. For example, indicating what types of components are listed, how they relate, and what each key represents.
component-data.json
Outdated
"required": false, | ||
"description": "Custom class names for additional styling" | ||
}, | ||
"disabled": { |
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.
What: The structure of the JSON appears to be deeply nested, which can lead to performance issues and makes it harder to navigate.
Why: Deeply nested structures can complicate data access, slow down performance, and may lead to errors when trying to parse or manipulate data. Simplifying structure improves both readability and efficiency.
How: You may consider flattening some of the structures where appropriate or using references between components instead of deeply nested objects. This would make it easier to access specific components and their data.
component-data.json
Outdated
"props": { | ||
"onClick": { | ||
"type": "() => void", | ||
"required": false, |
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.
What: Ensure the JSON data does not contain any sensitive or unnecessary data that could pose a security risk if exposed publicly.
Why: Exposing sensitive data (like API keys, personal information, etc.) can lead to vulnerabilities and data leaks, which compromise user security and trust.
How: Review the content of the JSON file and remove any sensitive information or unnecessary data. Ensure that any public data conforms to least privilege and does not expose more data than required.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ |
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.
What: The line number indicates the version has been updated without a corresponding update in the 'version' field of the package.json file.
Why: It's important to maintain consistency between the version in package-lock.json and package.json to avoid discrepancies when deploying or using dependencies.
How: Ensure that the version in your package.json file is updated to '1.7.4' to match the changes made in package-lock.json.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", |
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.
What: Multiple library dependencies have been updated — verify if any breaking changes affect your app's functionality.
Why: Incompatible package updates can lead to runtime errors or unexpected behaviors, which must be tested thoroughly after upgrading dependencies.
How: Check the release notes or changelogs for the updated packages and run tests on your application to confirm that it operates as expected with the new versions.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"lockfileVersion": 3, |
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.
What: You have updated numerous dependencies to major versions (e.g., from 0.17.1 to 0.31.2 for many @lexical packages).
Why: While this can fix bugs and introduce new features, major version updates often contain breaking changes that can impact the stability of your project.
How: After updating, please review the related migration guides and carefully conduct integration and unit tests to identify any potential issues.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"lockfileVersion": 3, |
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.
What: Ensure you've performed a comprehensive security audit of your updated packages using npm audit
.
Why: Dependencies can introduce vulnerabilities, especially after updates. Keeping track of security metrics is crucial for maintaining secure software.
How: Run npm audit
and address any vulnerabilities that are returned. This could include updating or replacing packages.
package-lock.json
Outdated
@@ -1,23 +1,24 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"lockfileVersion": 3, |
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.
What: There are multiple dependencies related to lexical library being upgraded. It’s crucial to verify the compatibility of '@lexical/react' with other packages in use.
Why: Compatibility issues can manifest in runtime errors, particularly in UI components that are dependent on each other.
How: Refer to the documentation of the '@lexical' packages to identify compatibility, and test the affected areas of your application.
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@bsf/force-ui", |
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.
What: Dependency versions have been updated to newer releases.
Why: Keeping dependencies up to date can resolve security vulnerabilities, improve performance, and enhance features, but it's important to verify that new releases do not introduce breaking changes or bugs.
How: Test the application thoroughly after dependency updates to ensure that no breaking changes occur. Review the release notes for each updated package to confirm compatibility and address any deprecated features.
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"description": "Library of components for the BSF project", | |||
"main": "./dist/force-ui.cjs.js", |
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.
What: The version of the library has been updated from "1.5.0" to "1.7.4".
Why: Version updates can bring critical security fixes and performance improvements, but it’s vital to ensure that all aspects of the application function correctly with newer versions of the libraries.
How: After updating the version number, ensure to run all tests, including integration and end-to-end tests, to ensure that the application works as expected with the new version.
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@bsf/force-ui", | |||
"version": "1.5.0", | |||
"version": "1.7.4", | |||
"description": "Library of components for the BSF project", | |||
"main": "./dist/force-ui.cjs.js", | |||
"module": "./dist/force-ui.es.js", |
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.
What: New dependencies such as "@lexical/selection" have been added without a clear explanation.
Why: Adding new dependencies increases the complexity of your application and potential security risks. It's important to document why each dependency is needed and what functionality it brings.
How: Add comments to the package.json
or maintain a changelog detailing the reasoning behind new dependencies and their intended use in the application.
package.json
Outdated
@@ -58,14 +58,15 @@ | |||
}, |
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.
What: Ensure that the updated dependencies are necessary and used in the codebase.
Why: It is essential to minimize the number of dependencies to reduce the attack surface and improve maintainability. Unused dependencies can lead to unnecessary bloat.
How: Run a dependency analysis tool or a linting tool to identify any unused dependencies and consider removing them, if they are not required.
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.
Some connection provider icons are not visible: https://d.pr/i/PKSiWS
We can create those icons in the same template file and use them in the template.
Description
This PR implements the design for this figma design ->
https://www.figma.com/design/5PxINaOCAK9NdEHMlQk382/Force-UI-Components?node-id=8125-159902&t=B4FbuyEBGCQdYcpP-4
Screenshots
https://tinyurl.com/yokytcm4
https://tinyurl.com/2x74ycad
Types of changes
How has this been tested?
Checklist: