2.0.2 (2021-05-27)
- Replace watcher mechanism with new one from generic debounce-watcher. (1fcefe9)
2.0.1 (2021-05-21)
- Switch file watcher to use polling instead of more efficient methods, since polling is a lot more stable and can work with networked drives (and, presumably, Dropbox). (7a167f7)
2.0.0 (2021-05-20)
- Remove the purgeTopLevelFolders option in favor of a more surgical and understandable 'enforceSyncedBatches' option. The end effect will be the same for most use cases, but this will make external watchers more stable and reduce the liklihood of deleting things that should not be deleted. (ab16bfe)
1.8.0 (2021-05-19)
- When using the CLI 'move' option, existing subimages are deleted before being replaced. This seems to break watchers in VSCode. Simply overwriting is probably less fragile. (ea86591)
- Only show CLI logs for Sprites whose files actually got updated. This will dramatically reduce log output clutter. (30a68bf)
1.7.0 (2021-05-19)
- Spritely CLI does not properly check error cases to know which ones can be safely ignored. (3906aa3)
- The watcher is too fragile and has confusing behaviors. (df6b412)
- Add a logging utility for prettier STDOUT logs. (2004183)
- Add debug option and logging to CLI commands, and fix minor stability issues with the watcher. (08cd56c)
- Add Error codes to the Spritely error class, and a static method for testing a SpritelyError for a matching code/message. (4bcbd28)
- Have the watcher totally restart upon completion of a run. It is getting a lot of interference from Dropbox and this might help? (402859a)
- Replace console.log calls with the new loggers, where appropriate. (a998476)
- Update all deps and stop tracking the package lock file. (2ec9991)
- Use the new Spritely ErrorCodes in subimage size-checking methods. (2cf5aa2)
1.6.11 (2021-03-12)
- Swallow watcher EPERM errors and stop auto-restarting fixer on watch error. (0bfe845)
1.6.10 (2021-03-12)
- Add '--debug' CLI flag such that, when not provided, error stack traces are no longer dumped into the console. This will improve the user experience for errors that aren't a big deal. (bed5e09)
- Add watcher event to detect when the root watched directory gets deleted, so that the watcher can turn itself off (it cannot otherwise work even when the folder gets re-created). (989ea56)
1.6.9 (2021-03-12)
- Retry-able file-system functions use an error message whitelist to determine if they should retry, but this is fragile since we don't know the whole range of temporary errors caused by Dropbox interference. Instead have all errors retry, and we can build a blacklist as needed. (f9a50c2)
1.6.8 (2021-03-12)
- Add error handling to the watcher, which simply re-runs itself when an error is caught. (1c1a488)
- Add extra logging context for file system failures, since these are still plaguing production. (1e7bb78)
- Add uncaught/unhandled error catchers to the CLI, in case that provides more information about file system failures. (979cc82)
- Update all dependencies. (ca70391)
1.6.7 (2021-03-01)
- Update all dependencies. (94caf5e)
1.6.6 (2021-02-04)
- Several file operations that were not retrying on failure now are doing so. This should further reduce conflicts with Dropbox and the like. (85b1d3d)
1.6.5 (2021-02-03)
- Spritely batch operations now fully crop subimages if only the crop action is being used. If bleed is also being applied, the crop will leave behind a 1px border. (607e899)
- Spritely errors now use source maps to generate traces, making debugging in production far easier. (b581c40)
1.6.4 (2021-02-03)
- Batch errors are now logged in full to make it possible to trace them to their source. (0b45e5b)
1.6.3 (2021-01-28)
- Add 'retriable' wrapper on file system functions, and use those (8a5c405)
- Use retry-able file operations wherever possible in the Spritely main class. This should reduce conflicts with file system operations coming from other sources. (1ea55ba)
1.6.2 (2021-01-28)
1.6.1 (2021-01-27)
- The watcher is too aggressive about firing add/change events. It needs to wait until file-writing is complete and also debounce. (0f8a3b2)
1.6.0 (2021-01-27)
- Add watcher option to CLI commands, so that new/updated images can automatically be fixed. (d882e5a)
1.5.2 (2021-01-27)
- CLI commands are borked due to breaking update to underlying dependency. (1837902)
1.5.1 (2021-01-27)
- A missing 'await' can cause a sprite to be deleted before it is copied. (9269e46)
1.5.0 (2021-01-27)
- Add option to suffix sprite names with CLI method overrides. This makes it easier to add exceptions to batch operations. (57e5171)
- Have sprites that use suffixes to force CLI methods get renamed upon method application, to remove the suffix. (32346f3)
1.4.0 (2020-11-17)
- GradientMaps are now applied at the subimage level by default, but can be optionally applied at the sprite level. BREAKING. (5da798f)
1.3.1 (2020-11-16)
- Uncaught errors are no longer swallowed by Spritely. This was being used to write to errors to file for convenience, but has the side effect of swalling errors in projects depending on Spritely. (a0da00f)
1.3.0 (2020-11-13)
- The 'gradmap' CLI command is now an alias for the 'skin' command, which is easier to grok. (4f3d597)
- The gradient-map files for skinning now have a different (backwards-incompatible) format, allowing for re-use of skins based on image filename. (fe22df2), closes #19
1.2.1 (2020-11-11)
- GradientMap application will now evaluate all discovered color channels in source images. (d8cd674), closes #15
1.2.0 (2020-11-11)
- Color objects no longer expose the reference to their RGBA values array, instead always sending clones. This prevents accidental changes to color values that aren't refelected by other values in the Color instance. (57d9794)
- A 'Color' class now exits for more easily managing RGBA values. (6e7178c)
- A 'Color' class now exits for more easily managing RGBA values. (1461975)
- Allow subimage sizes to mismatch if requested. Ensure that cropping still works in this scenario. (e7764b0), closes #13
- Can now optionally delete source images upon application of Gradient Maps. (ac0facc)
- Gradient mapping can now use a manually-specified mapping file. (c24fe21)
- Gradient maps can now be applied via the CLI. (70c08f7)
- GradientMaps (as YML files) are now loaded when Spritely instances are created. (fe79ec8)
- GradientMaps (as YML files) are now loaded when Spritely instances are created. (8409504)
- Several static methods are now marked private, since there is no need to expose them outside the Spritely class. (e49dc8a)
- Several static methods are now marked private, since there is no need to expose them outside the Spritely class. (2c38913)
- Spritely instances can now apply gradient maps, creating new images as a consequence. (d76493b), closes #14
- Spritely instances now allow for an options object (backwards compatible). (08e8b3e)
- The Color class now includes a 'toJSON' method. (acc19cb)
- The Color class now includes a 'toJSON' method. (0e520de)
- The test samples now include images for testing GradientMaps. (bd94100)
- The test samples now include images for testing GradientMaps. (84fdb41)
1.1.2 (2020-10-26)
- The now-unused 'chokidar' is no longer a dependency. (0663120)
1.1.1 (2020-10-16)
1.1.0 (2020-10-16)
- Thrown errors are now logged prior to crashing Spritely, so that error data is not lost when pipelines complete. (35523bd)
1.0.0 (2020-10-16)
- 'Alphaline' is now rnamed to 'bleed' in all contexts to match industry terminology. Breaking change. (1bfa8ed)
0.9.0 (2020-10-15)
- CLI commands now include the if-match option to only perform tasks on sprites matching a search filter. (227be13)
0.8.2 (2020-10-15)
- Purging top level folders no longer crashes when those folders don't exist in the move target. (0bfe821)
0.8.1 (2020-10-15)
- CLI tools now properly clean up empty folders after moving sprite images. (671c920)
0.8.0 (2020-10-14)
- CLI commands now include the option to purge top-level folders prior to moving modified images. Closes #9 (223d799)
0.7.0 (2020-10-14)
- CLI commands now include an option to move root-level images into sprite folders. Closes #6 (b669c39)
- The --watch option is no longer available for CLI commands. It's behavior was too fragile and it added too much complexity to be worth keeping around. (e8664b2)
0.6.0 (2020-10-13)
- A new SpritelyBatch class allows for easy conversion of a folder of sprite resources into a colletion of Spritely instances. (429fa1a)
0.5.0 (2020-10-12)
- Moving a sprite now cleans up empty directories left behind, and ensures there aren't any unexpected images in the destination. (5209447)
0.4.2 (2020-10-12)
- CLI users can now use the --move option for all commands. (60ec154)
- Spritely instances can now move and delete their subimages. (cb17b47)
- The 'fix' subcommand now allows the --move option, moving fixed images to a different file location. (72935c8)
0.4.1 (2020-10-12)
0.4.0 (2020-10-12)
0.3.3 (2020-10-12)
- The recursion CLI flag will actually allow for recursion. (79f2f7b)
- Include sample images with nesting to test against recursion. (0216178)
- Spritely can now compute checksums based on pixel data, ignoring metadata, to make image comparison meaningful. (0d109de)
0.3.2 (2020-10-12)
- Commandline options will not longer fail due to missing chokidar error. (3e66f14)
0.3.1 (2020-10-09)
0.3.0 (2020-10-09)
- Change how image foreground is detected so that alphalining the same image twice has the same result as doing so once. Closes #3. (3d3ea0a)
- Add watcher option to sprite-alphaline command. (cdf1fbc)
- Add watcher option to sprite-crop command. (e994c65)
- Add watcher option to spritely-fix CLI command. (2ce71ee)
0.2.0 (2020-10-09)
- Add static method to Spritely class for checking two images for equality. (7887862)
- Add tests to ensure that cropping and alphalining actually do what they're supposed to. Closes #1. (d6e2ff7)
- Create funding file. (1cf2e7e)
- Replace Sharp-based cropping with custom cropping using image-js, using alpha-zero pixels to define background. Closes #2 (05d1300)
0.1.3 (2020-10-08)
- The alphaline script is calling crop instead of alphaline. (e86968d)
0.1.2 (2020-10-08)
0.1.1 (2020-10-08)
0.1.0 (2020-10-08)
- Add CLI command for alphaling sprites. (b40575a)
- Add CLI command for cropping sprites, allowing it to work recursively for batching. (27d2ccf)
- Add CLI command for generally fixing sprites (performing all tasks at once). (0d3b061)
- Draft the main 'Spritely' class that can be pointed at a folder of images and get information about those images, while failing if there is anything weird detected. (1b5cca4)
- Implement cropping that takes subimages into account for consistent cross-subimage cropping. (3d26e00)
- Implement fixing sprite edges. (c7e1ccb)
- Initialize project with drafted README as reference. (9b6be8d)