Skip to content

Releases: paulshryock/node-abstractions

v0.3.1

30 Dec 01:01
v0.3.1
a6997db
Compare
Choose a tag to compare
v0.3.1 Pre-release
Pre-release

https://www.npmjs.com/package/@paulshryock/abstractions/v/0.3.1

Summary

The streams object passed to new CommandLine(streams) used to require all three streams (stderr, stdin, and stdout) be Duplex streams. Now the types are less specific, so stdin is Readable and stderr and stdout are Writable. They all will still accept a Duplex, since that type implements both Readable and Writable.

CommandLine used to import the entire node:readline module, but it only uses createInterface from that module. Now only createInterface is imported.

There are no known breaking changes.

Changelog

Changed

  • Decrease specificity of CommandLine stream types.

Removed

  • Import less of node:readline module.

Commits

  • 10f7507 - 0.3.1
  • bb3bb56 - Decrease specificity of CommandLine stream types
  • 54d6514 - Import less of node:readline module
  • 59f07ab - Update License copyright years
  • 16e611b - Update dependency npm-check-updates to v17.1.13
  • 2cb37e2 - Remove outdated File System class diagram
  • a362e52 - Update JSDoc documentation and configuration

Contributors

v0.3.0

27 Dec 02:06
v0.3.0
c152551
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

https://www.npmjs.com/package/@paulshryock/abstractions/v/0.3.0

Summary

There is only one type of CommandLine, so that is now the class name, and it no longer implements an interface. And the first argument to CommandLine.error is now a string.

CommandLine's stability is now beta (although it isn't yet marked as such).

Breaking changes

  • CommandLine interface and NetworkInput and StackTrace classes are removed.
  • Exception class is no longer publicly exposed.
  • FileSystem interface is renamed to VirtualFileSystem.
  • LocalCommandLine class is renamed to CommandLine.
  • CommandLine.error method's first argument type is now string.

Changelog

Changed

  • Rename FileSystem interface to VirtualFileSystem to avoid conflict with File System API.
  • Rename LocalCommandLine class to CommandLine.
  • Change CommandLine.error first argument to string.

Removed

  • Do not export Exception utility class since it is for internal use.
  • Remove StackTrace utility class since it is no longer needed.
  • Remove legacy NetworkInput class.
  • Remove CommandLine interface.

Contributors

v0.2.1

23 Sep 13:14
v0.2.1
4e26208
Compare
Choose a tag to compare
v0.2.1 Pre-release
Pre-release

Summary

In v0.1.3, fs-extra was removed from the distributed bundle. Now it is completely uninstalled and no longer a dependency.

Changelog

Removed

  • Uninstall fs-extra.

Contributors

v0.2.0

22 Sep 20:17
v0.2.0
f595772
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Summary

The CommandLine and FileSystem API's are now pretty stable, and I do not expect them to change any time soon.

Examples of CommandLine might include LocalCommandLine (implemented in this release), or SshCommandLine. Examples of FileSystem might include LocalFileSystem (implemented in this release), FtpFileSystem, or AwsS3FileSystem.

The Exception class extends Error and is intended to be extended for program exceptions. StackTrace seems like a useful utility, and it's exported in this release, but I haven't decided whether or not this should be included long-term in the public API. I'm not sure how useful it really is on its own.

All other exports have been removed, to simplify and streamline the public API.

Changelog

Added

  • Export stable CommandLine and FileSystem interfaces.
  • Export stable LocalCommandLine, LocalFileSystem, StackTrace, and Exception classes.

Removed

  • Remove all other exports.

Contributors

v0.1.3

16 Nov 14:10
v0.1.3
81a7e69
Compare
Choose a tag to compare
v0.1.3 Pre-release
Pre-release

Summary

New ProcessInput class for reading program input from the command line.
LocalFileSystem.copy was rewritten using the Node standard library, and fs-extra is no longer a dependency.

  • Before: Compiled bundle: 54.1kb
  • After: Compiled bundle: 4.7kb
  • Savings: 49.4kb (over 91%)

Changelog

Added

  • Add ProcessInput.

Changed

  • Rewrite LocalFileSystem.copy with standard library.

Removed

  • Uninstall fs-extra.

Contributors

v0.1.2

16 Nov 14:04
v0.1.2
c9351d5
Compare
Choose a tag to compare
v0.1.2 Pre-release
Pre-release

Summary

Record and Storage classes and types were previously added but not exported; now they are.

Changelog

Added

  • Export Record and Storage classes with Exceptions.

Contributors

v0.1.1

16 Nov 13:49
v0.1.1
3558f68
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Summary

All Console methods now allow Stringable objects passed as the first parameter. Several new abstractions have been added, although they will likely change soon.

Changelog

Added

  • Add Exception.
  • Add FileSystem.
  • Add FileSystemException.
  • Add LocalFileSystem.
  • Add MessageStringable.
  • Add RecordStorage.
  • Add RecordStorageException.
  • Add Storage.
  • Add StorageException.
  • Add Stringable.
  • Install fs-extra.

Changed

  • Allow Output methods' first parameter to be Stringable.

Contributors

v0.1.0

09 Jun 10:54
v0.1.0
6e164d8
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

Summary

Adds Output abstraction for printing messages to output and error streams.
Adds ConsoleOutput class for printing messages to stdout and stderr streams.

Changelog

Added

  • Add Console interface.
  • Add ConsoleOutput class.

Contributors