Skip to content

Skip file write if file content isn't changed #320

Description

@MartijnCuppens

If the input is the same as the output CSS and the --replace flag is passed, the file is always overridden. Can we somehow prevent this from happening?

The issue I have now is that I have another watcher on these files which detect file changes even if the content is not changed.

postcss-cli/index.js

Lines 222 to 227 in 42fc85e

tasks.push(fs.outputFile(options.to, result.css))
if (result.map) {
const mapfile = getMapfile(options)
tasks.push(fs.outputFile(mapfile, result.map))
}

We could wrap these lines with a simple check to prevent the file write from happening:

if (result.css !== css.toString('utf8')) {
  tasks.push(fs.outputFile(options.to, result.css))

  if (result.map) {
    const mapfile = getMapfile(options)
    tasks.push(fs.outputFile(mapfile, result.map))
  }
}

Not sure if we can better add a new option or do this check by default, what do you think?

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions