-
Notifications
You must be signed in to change notification settings - Fork 166
gitignore output bundle in angular adpater builds #390
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: main
Are you sure you want to change the base?
Conversation
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.
Summary of Changes
Hello @annajowang, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request refines the Angular adapter's build process by introducing better management of generated output files. It ensures that the adapter does not inadvertently overwrite build artifacts from other meta-frameworks and automatically adds its own generated output directory to .gitignore
. These changes enhance compatibility, prevent unnecessary version control tracking of build outputs, and improve the overall robustness of the build process.
Highlights
- Enhanced Output Directory Configuration: The
OutputBundleOptions
interface now includesoutputDirectoryBasePath
, providing a clear and explicit way to define the base directory for generated build artifacts. - Smarter Build Output Overwrite Prevention: The logic for checking existing build bundles has been refined. The
metaFrameworkOutputBundleExists
function now intelligently prevents the Angular adapter from overwriting bundles produced by other meta-frameworks, ensuring compatibility and avoiding build conflicts. - Automatic Gitignore for Build Artifacts: The generated
.apphosting
output directory is now automatically added to the project's.gitignore
file. This prevents build artifacts from being accidentally committed to version control, maintaining a clean repository. - Improved Directory Creation Robustness: The
mkdir
function has been replaced withensureDir
for creating directories, which is more robust as it ensures that all necessary parent directories exist before attempting to create the target directory.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
This pull request introduces a mechanism to avoid overwriting an existing App Hosting output bundle if it was generated by a different meta-framework. This is done by inspecting the bundle.yaml
file. The changes also ensure that the output directory is added to .gitignore
. My review includes a suggestion to improve the robustness of the function that checks for an existing bundle to prevent potential crashes during the build process if bundle.yaml
is missing or invalid.
/gemini review |
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.
Code Review
This pull request introduces two significant improvements to the Angular adapter. First, it intelligently avoids overwriting existing App Hosting configurations from other meta-frameworks by inspecting bundle.yaml
before generation. Second, it now automatically adds the .apphosting
output directory to .gitignore
, which is a great developer experience improvement.
The implementation looks solid. I have one suggestion to improve type safety when parsing bundle.yaml
.
Also, there's a small typo in the pull request title ('adpater' should be 'adapter').
/gemini review |
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.
Code Review
This pull request updates the Angular adapter to gitignore the output bundle directory and introduces a check to avoid overwriting bundles created by other meta-frameworks. The changes are generally good, but I've identified a critical issue in a new test file where a type is used without being imported, which will cause a compilation failure. I've also found a minor typo in a test description. My review includes suggestions to fix both issues.
/gemini review |
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.
Code Review
This pull request introduces two main improvements to the Angular adapter. First, it now automatically adds the .apphosting
output directory to the .gitignore
file, preventing generated bundles from being committed to source control. Second, it intelligently avoids overwriting an existing bundle.yaml
if it was created by a different meta-framework adapter, which is a great enhancement for projects using frameworks like Nitro or AnalogJS on top of Angular. The implementation is solid, with new utility functions and corresponding unit tests. I've added a few minor suggestions to improve code consistency in the new test file.
makes
npm exec apphosting-adapter-angular-build
re-execuable