Skip to content

fix(cleanOutput): prevent accidental deletion when root path is '/'#7158

Merged
chenjiahan merged 3 commits intomainfrom
clean_output_0206
Feb 7, 2026
Merged

fix(cleanOutput): prevent accidental deletion when root path is '/'#7158
chenjiahan merged 3 commits intomainfrom
clean_output_0206

Conversation

@chenjiahan
Copy link
Member

Summary

Add a safety check to avoid cleaning the root directory when users mistakenly set output.distPath.root to '/'. This prevents potential data loss by throwing an error with clear instructions to update the configuration.

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

Copilot AI review requested due to automatic review settings February 7, 2026 09:56
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @chenjiahan, 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 enhances the robustness of the cleanOutput plugin by implementing a safeguard against a potentially destructive misconfiguration. It prevents the build process from attempting to clean the system's root directory, which could lead to significant data loss. Instead, it now provides an explicit error message, ensuring users are immediately aware of the issue and can take corrective action, thereby improving the overall safety and user experience of the build system.

Highlights

  • Safety Check for Root Directory Cleaning: Introduced a critical safety check within the cleanOutput plugin to prevent accidental deletion of the system's root directory (/).
  • Error Handling for Misconfiguration: If output.distPath.root is mistakenly configured to '/', the system now throws an error with clear instructions, guiding users to correct their configuration or disable the cleaning feature, rather than proceeding with a dangerous operation.
Changelog
  • packages/core/src/plugins/cleanOutput.ts
    • Added a conditional check to detect if the pathInfo.path is the root directory (/).
    • Implemented an error throw with a descriptive message and configuration guidance when the root path is identified for cleaning.
Activity
  • The pull request was created by chenjiahan with the intent to fix a potential data loss issue related to output cleaning.
  • The author has provided a summary and related links, indicating the change might stem from a discussion or user feedback.
  • The checklist for 'Tests updated' and 'Documentation updated' remains unchecked, suggesting these aspects may still need to be addressed or confirmed as not required.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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

  1. 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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 crucial safety check to prevent accidental deletion of the root directory. When output.distPath.root is configured as '/', the build process will now throw an error instead of attempting to clean the directory. This is a great improvement for user safety. I've left one minor comment to correct a typo in a code comment.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a safety guard to the cleanOutput plugin to prevent catastrophic data loss when output.distPath.root is accidentally configured as the filesystem root ('/'), by throwing a clear error instead of cleaning.

Changes:

  • Add a runtime check that refuses to run emptyDir when the computed dist path is '/'.
  • Provide an actionable error message guiding users to update output.distPath.root or disable output.cleanDistPath.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 7, 2026 10:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chenjiahan chenjiahan merged commit bf78abd into main Feb 7, 2026
5 checks passed
@chenjiahan chenjiahan deleted the clean_output_0206 branch February 7, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant