Skip to content

Conversation

@firestar300
Copy link
Contributor

@firestar300 firestar300 commented Dec 3, 2025

Description

Ce fix apporte une configuration sur le plugin CleanWebpackPlugin pour préserver le dossier images et ses contenus durant le processus. Cela évite la suppression des images par défaut notamment.

Lignes réellement modifiées

			new CleanWebpackPlugin(),
			new CleanWebpackPlugin({
				cleanOnceBeforeBuildPatterns: ['**/*', '!images', '!images/**'],
			}),

Summary by Sourcery

Bug Fixes:

  • Prevent CleanWebpackPlugin from removing the dist/images directory and its contents during the build process.

Configures CleanWebpackPlugin to preserve the images directory and its contents during the cleaning process. This prevents the deletion of images when cleaning the dist folder.
@sourcery-ai
Copy link

sourcery-ai bot commented Dec 3, 2025

Reviewer's Guide

Adds configuration to CleanWebpackPlugin so that the dist/images directory and its contents are preserved during builds, preventing default images from being deleted, with no behavioral changes to other Webpack plugins.

Sequence diagram for Webpack build with preserved dist/images

sequenceDiagram
  actor Developer
  participant Webpack
  participant CleanWebpackPlugin
  participant WebpackImageSizesPlugin
  participant DistFolder as dist
  participant ImagesFolder as dist_images

  Developer->>Webpack: run build
  Webpack->>CleanWebpackPlugin: initialize with patterns
  CleanWebpackPlugin->>DistFolder: remove files matching **/*
  CleanWebpackPlugin-->>ImagesFolder: skip images and images/**
  CleanWebpackPlugin-->>Webpack: cleaning complete
  Webpack->>WebpackImageSizesPlugin: run plugin
  WebpackImageSizesPlugin->>ImagesFolder: generate default images
  WebpackImageSizesPlugin-->>Webpack: generation complete
  Webpack-->>Developer: build finished with images preserved
Loading

File-Level Changes

Change Details Files
Configure CleanWebpackPlugin to preserve the images directory during cleanup.
  • Replace the default CleanWebpackPlugin instantiation with one that sets cleanOnceBeforeBuildPatterns to remove all files except the images directory and its contents
  • Retain existing configuration for ESLint, SpriteLoader, StyleLint, WebpackBar, DependencyExtractionWebpackPlugin, WebpackImageSizesPlugin, BundleAnalyzerPlugin, WebpackManifestPlugin, and MiniCssExtractPlugin
config/plugins.js

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

  • The change from two-space indentation to tabs in config/plugins.js makes the file formatting inconsistent with the previous style; consider reverting to the original indentation to keep the file uniform.
  • The CleanWebpackPlugin exclusion ['**/*', '!images', '!images/**'] will preserve the entire images directory and all its contents; if the goal is only to protect specific default assets, consider narrowing the pattern to those files (e.g., !images/default-*.jpg) to avoid retaining stale or unused images between builds.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The change from two-space indentation to tabs in `config/plugins.js` makes the file formatting inconsistent with the previous style; consider reverting to the original indentation to keep the file uniform.
- The CleanWebpackPlugin exclusion `['**/*', '!images', '!images/**']` will preserve the entire `images` directory and all its contents; if the goal is only to protect specific default assets, consider narrowing the pattern to those files (e.g., `!images/default-*.jpg`) to avoid retaining stale or unused images between builds.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants