Files
smartfile/changelog.md

12 KiB

Changelog

2025-08-18 - 11.2.6 - fix(fs)

Improve fs and stream handling, enhance SmartFile/StreamFile, update tests and CI configs

  • Fix listFileTree to correctly handle '**/' patterns by running both root and nested patterns and deduplicating results.
  • Enhance waitForFileToBeReady: support directory paths (wait for first file) and improved file-stability checks with timeouts and retries.
  • StreamFile improvements: support Web ReadableStream -> Node Readable conversion, better multi-use buffering, more robust fromUrl/fromBuffer/fromStream implementations, and accurate byte-length computation.
  • SmartFile updates: switch fromUrl to SmartRequest, robust rename (optional on-disk rename), safer read/write paths and consistent Buffer handling for hashing and content edits.
  • fs module tweaks: copy/copySync gained replaceTargetDir option, improved toObjectSync error messages, toReadStream now validates existence, and various synchronous/async API consistency fixes.
  • memory module: consistent async/sync write APIs and smartfileArrayToFs formatting/behavior fixes.
  • fsstream: improved stream processing and SmartReadStream robustness (error handling, read logic and watcher improvements).
  • Tests: reformatted and strengthened tests (more explicit assertions, added tests for '/*.ts' and '/*' edge cases, updated imports to tapbundle usage).
  • CI/workflows: updated IMAGE and NPMCI_COMPUTED_REPOURL values and switched npmci package install to @ship.zone/npmci in workflow files.
  • package.json: bumped various dependencies, updated test script (timeout, logfile), added typings/main fields, homepage fix, pnpm overrides and minor metadata fixes.
  • .gitignore: added entries for AI tool folders (.claude/, .serena/).
  • Docs/readme: expanded README with clearer examples, features and TypeScript usage; updated readme hints for listFileTree behavior.

2025-05-26 - 11.2.5 - fix(dev)

Update dev dependencies and add local permission settings

  • Bump @git.zone/tsbuild from 2.5.2 to 2.6.4
  • Bump @git.zone/tstest from 1.9.0 to 2.2.5
  • Add .claude/settings.local.json to configure permissions for Bash(pnpm test:*)

2025-05-24 - 11.2.4 - fix(config)

Add local permissions configuration for pnpm test commands in .claude/settings.local.json

  • Introduced .claude/settings.local.json to allow Bash(pnpm test:*) permissions
  • Ensured local testing commands have proper execution rights

2025-05-21 - 11.2.2 - fix(tests/settings)

Improve test assertions and update local settings permissions

  • Refactor StreamFile tests to assert content string type using toBeTypeofString
  • Update file existence tests to use resolves.toBeTrue and resolves.toBeFalse for cleaner promise handling
  • Add .claude/settings.local.json to allow specific Bash permissions for pnpm test commands

2025-05-21 - 11.2.1 - fix(fs)

Fix inconsistent glob matching in listFileTree and update test imports and dependency versions for enhanced stability.

  • Enhanced listFileTree to support **/ patterns by using dual patterns (root and nested) with deduplication.
  • Updated test imports to use '@git.zone/tstest/tapbundle' for consistency across test files.
  • Bumped dependency versions (@push.rocks/lik, smartpromise, smartrequest, glob) in package.json.
  • Added npm configuration (.npmrc) and local settings for improved test verbosity.

2025-01-29 - 11.2.0 - feat(fs)

Enhanced copy method with optional replaceTargetDir option for directory replacement

  • Added optional 'replaceTargetDir' option to 'copy' and 'copySync' methods in 'fs.ts'.
  • The 'replaceTargetDir' option allows replacing the target directory if both source and target are directories.

2025-01-29 - 11.1.9 - fix(fs)

Fix directory handling in copy and copySync functions

  • Ensured existing directories at destination are removed before copying over them in async copy.
  • Added a similar check and handling for synchronous copySync when destination is a directory.

2025-01-29 - 11.1.8 - fix(fs)

Fixed copy and copySync functions to ensure they always overwrite files.

  • Fixed bug in copy function where files were not being overwritten when they already existed at the destination.
  • Fixed bug in copySync function to ensure files are overwritten to match the async function's behavior.

2025-01-29 - 11.1.7 - fix(fs)

Refactor copy and copySync functions to simplify return type

  • Changed the return type of fs.copy and fs.copySync from boolean to void.
  • Removed unnecessary promise handling in fs.copy.

2025-01-29 - 11.1.6 - fix(fs)

Fix issues with fs file copy functions.

  • Updated dependencies in package.json.
  • Corrected comments for asynchronous and synchronous file copy functions in fs.ts.

2025-01-07 - 11.1.5 - fix(fs)

Improve waitForFileToBeReady function to handle directories and file stabilization

  • Enhanced the waitForFileToBeReady to handle directory paths by checking for file existence within directories and waiting for stabilization.
  • Modified the watcher logic to cater to changes when monitoring directories for file appearance.
  • Introduced a helper function to ensure paths exist and another to resolve the first file in directories.
  • Corrected logic for polling and stabilizing files within directories.

2025-01-07 - 11.1.4 - fix(fs)

Fix file existence check in waitForFileToBeReady method.

  • Ensured that the directory and file exist before setting up the watcher in waitForFileToBeReady.
  • Changed ensureDirectoryExists to ensureFileExists for correct file path verification.
  • Handled ENOENT errors correctly to retry file existence checks until timeout is reached.

2025-01-07 - 11.1.3 - fix(fs)

Fix TypeScript type issue in fs module

  • Corrected a TypeScript type in the fs module's checkFileStability function.

2025-01-07 - 11.1.2 - fix(fs)

Fix issues in file stability check and directory existence verification in fs module

  • Removed unused variable 'isFileAvailable' in 'waitForFileToBeReady'.
  • Fixed logic for ensuring the target directory exists before setting up file stability watcher.
  • Refactored directory existence logic into 'ensureDirectoryExists' function.

2025-01-07 - 11.1.1 - fix(fs)

Improve waitForFileToBeReady function for file stability detection

  • Enhanced error handling and file stability checks in waitForFileToBeReady function
  • Added timeout feature for file readiness check
  • Improved directory access check before file availability check

2025-01-07 - 11.1.0 - feat(SmartFile)

Add rename functionality to SmartFile class

  • Implemented a new method to rename a file within the SmartFile class.
  • The rename method updates the file path and optionally writes the renamed file to the disk.

2024-12-15 - 11.0.23 - fix(fs)

Handle errors in toObjectSync method

  • Added error handling in toObjectSync function to capture and provide more informative error messages.

2024-06-23 - 11.0.22 - fix(core)

Update dependencies and changelog

  • Updated @push.rocks/smartstream to ^3.0.44
  • Updated glob to ^10.4.2
  • Updated @types/node to ^20.14.8

2024-06-23 - 11.0.21 - fix(dependencies)

Update dependencies to latest versions

  • Updated @push.rocks/smartpromise to ^4.0.4
  • Updated @push.rocks/smartstream to ^3.0.44
  • Updated glob to ^10.4.2
  • Updated @types/node to ^20.14.8

2024-06-07 - 11.0.20 - Changelog

11.0.20

2024-06-07 - 11.0.19 - fix(core): update

11.0.19

  • fix(core): update

2024-06-07 - 11.0.18 - fix(core): update

11.0.18

  • fix(core): update

2024-06-06 - 11.0.17 - fix(core): update

11.0.17

  • fix(core): update

2024-06-06 - 11.0.16 - fix(core): update

11.0.16

  • fix(core): update

2024-05-29 - 11.0.16 - update description

11.0.16

  • update description

2024-05-17 - 11.0.15 - fix(core): update

11.0.15

  • fix(core): update

2024-04-14 - 11.0.14 - update tsconfig

11.0.14

  • update tsconfig

2024-04-12 - 11.0.13 - fix(core): update

11.0.13

  • fix(core): update

2024-04-12 - 11.0.12 - fix(core): update

11.0.12

  • fix(core): update

2024-04-12 - 11.0.11 - fix(core): update

11.0.11

  • fix(core): update

2024-04-03 - 11.0.10 - fix(core): update

11.0.10

  • fix(core): update

2024-04-03 - 11.0.9 - fix(core): update

11.0.9

  • fix(core): update

2024-04-02 - 11.0.8 - fix(core): update

11.0.8

  • fix(core): update

2024-04-02 - 11.0.7 - fix(core): update

11.0.7

  • fix(core): update

2024-04-02 - 11.0.6 - fix(core): update

11.0.6

  • fix(core): update

2024-04-01 - 11.0.5 - update npmextra.json

11.0.5

  • update npmextra.json: githost

2024-04-01 - 11.0.4 - fix(core): update

11.0.4

  • fix(core): update

2023-11-24 - 11.0.3 - fix(core): update

11.0.3

  • fix(core): update

2023-11-07 - 11.0.2 - fix(core): update

11.0.2

  • fix(core): update

2023-11-07 - 11.0.1 - fix(core): update

11.0.1

  • fix(core): update

2023-11-06 - 11.0.0 - fix(core): update

11.0.0

  • fix(core): update

2023-11-06 - 10.0.40 - BREAKING CHANGE(core): update

10.0.40

  • BREAKING CHANGE(core): update

2023-11-04 - 10.0.39 - fix(core): update

10.0.39

  • fix(core): update

2023-11-04 - 10.0.38 - fix(core): update

10.0.38

  • fix(core): update

2023-11-04 - 10.0.37 - fix(core): update

10.0.37

  • fix(core): update

2023-11-03 - 10.0.36 - fix(core): update

10.0.36

  • fix(core): update

2023-11-03 - 10.0.35 - fix(core): update

10.0.35

  • fix(core): update

2023-11-03 - 10.0.34 - fix(core): update

10.0.34

  • fix(core): update

2023-11-03 - 10.0.33 - fix(core): update

10.0.33

  • fix(core): update

2023-10-12 - 10.0.32 - fix(core): update

10.0.32

  • fix(core): update

2023-09-22 - 10.0.31 - fix(core): update

10.0.31

  • fix(core): update

2023-08-31 - 10.0.30 - fix(core): update

10.0.30

  • fix(core): update

2023-08-23 - 10.0.29 - fix(core): update

10.0.29

  • fix(core): update

2023-07-12 - 10.0.28 - fix(core): update

10.0.28

  • fix(core): update

2023-07-10 - 10.0.27 - fix(core): update

10.0.27

  • fix(core): update

2023-07-10 - 10.0.26 - fix(core): update

10.0.26

  • fix(core): update

2023-07-08 - 10.0.25 - fix(core): update

10.0.25

  • fix(core): update

2023-06-25 - 10.0.24 to 10.0.14 - Series of Fixes

10.0.24 to 10.0.14

  • Series of fixes in the core module

2023-01-09 - 10.0.13 to 10.0.6 - Series of Fixes

10.0.13 to 10.0.6

  • Series of fixes in the core module

2022-09-05 - 10.0.5 to 10.0.3 - Series of Fixes

10.0.5 to 10.0.3

  • Series of fixes in the core module

2022-06-07 - 10.0.2 to 10.0.1 - Series of Fixes

10.0.2 to 10.0.1

  • Series of fixes in the core module

2022-06-07 - 9.0.7 - BREAKING CHANGE(core): switch to esm

9.0.7

  • BREAKING CHANGE(core): switch to esm

2022-03-11 - 9.0.6 to 9.0.2 - Series of Fixes

9.0.6 to 9.0.2

  • Series of fixes in the core module

2021-12-01 - 9.0.1 - fix(core): update

9.0.1

  • fix(core): update

2021-12-01 - 9.0.0 - fix(absolute pathing)

9.0.0

  • add functions for easily getting absolute paths

2021-11-30 - 8.0.11 - BREAKING CHANGE(relative pathing)

8.0.11

  • improved relative pathing

2020-08-10 - 8.0.10 to 7.0.12 - Series of Fixes and Updates

8.0.10 to 7.0.12

  • Series of fixes in the core module
  • BREAKING CHANGE(Smartfile class): switch to a Buffer-only approach

2019-02-17 - 7.0.0 - fix(core): update dependencies

7.0.0

  • fix(core): update dependencies

2019-01-27 - 6.0.12 - BREAKING CHANGE(smartfile.fs.fileExists)

6.0.12

  • now returns a Promise

2018-08-19 - 6.0.11 to 6.0.6 - Series of Fixes

6.0.11 to 6.0.6

  • Series of fixes in core and dependencies

2018-07-03 - 6.0.5 to 5.0.0 - Series of Fixes

6.0.5 to 5.0.0

  • Series of fixes in core and dependencies

2018-02-16 - 4.2.28 - BREAKING CHANGE(scope)

4.2.28

  • switch to pushrocks scope