refactor: FileUpdater (#123)
authorRaphael von der Grün <raphinesse@gmail.com>
Wed, 18 Dec 2019 11:45:19 +0000 (12:45 +0100)
committerGitHub <noreply@github.com>
Wed, 18 Dec 2019 11:45:19 +0000 (12:45 +0100)
commit51c646b1d0a7dd73a6c5247b2b753f58a97838d6
treed0bfba0c22bc6d3f3ff2dee4c578c40339bbc412
parent485a82c7708fb4a85bd2341c33a578f5f7b79557
refactor: FileUpdater (#123)

* add missing changes from "refactor: FileUpdater"

* remove unnecessary OR expression

* remove unnecessary parent dir creation

* DRY logging function default

* test: get rid of now-obsolete nullLogger arguments

* simplify building sourceMaps in mergeAndUpdateDir

* simplify OR over all update indicators

* use fast-glob for file globbing

Until now we used our own glob implementation based on minimatch.

The only difference to the old implementation is, that not every parent
directory of a matched file is included in the result. However, since do
not pass the dirMaps out of this module and any missing dirs will be
created by fs-extra, that should be an advantage, if anything.

* Simplify mergePathMaps

* DRY file copying code

* Handle removals early & flatten logic

* Always show verbose log

* DRY file copying code further

* Improve comments

* Handle special files early & simplify

* Flatten logic

* Normalize dirMap keys to pass tests on Windows
package.json
spec/FileUpdater.spec.js
src/FileUpdater.js