Skip to content

Release v0.3.0 — Export Decorators + Storage Drivers#17

Merged
khatabwedaa merged 2 commits into
mainfrom
release/v0.3.0
Mar 25, 2026
Merged

Release v0.3.0 — Export Decorators + Storage Drivers#17
khatabwedaa merged 2 commits into
mainfrom
release/v0.3.0

Conversation

@khatabwedaa
Copy link
Copy Markdown
Contributor

Summary

  • Bumps version from 0.2.00.3.0
  • Moves changelog entries from Unreleased to v0.3.0
  • Updates README service method tables with disk parameter
  • Adds disks and defaultDisk to the Configuration Options table

What's in v0.3.0

Export Decorators

  • @Exportable(), @ExportColumn(), @ExportIgnore() — decorator-based export API
  • buildExportFromEntity() + 4 new ExcelService entity methods
  • Full inheritance support for decorator columns

Storage Drivers

  • StorageDriver interface with put(), get(), delete(), exists()
  • LocalDriver — local filesystem (default, zero-config)
  • S3Driver — AWS S3 + S3-compatible services (MinIO, R2, DigitalOcean Spaces)
  • GCSDriver — Google Cloud Storage
  • AzureDriver — Azure Blob Storage
  • DiskManager — injectable service for named storage backends
  • Three credential strategies: SDK defaults, inline config, pre-configured client injection
  • All cloud SDKs are optional peer dependencies
  • Path traversal protection on LocalDriver
  • Async I/O (non-blocking) on LocalDriver

Test Coverage

  • 234 tests, all passing
  • 99.33% statements, 100% functions, 100% lines

Test plan

  • All 234 tests pass
  • Coverage ≥ 99%
  • CHANGELOG updated for v0.3.0
  • README reflects new features and disk parameter
  • package.json version bumped

🤖 Generated with Claude Code

- Bump version to 0.3.0
- Move changelog entries from Unreleased to v0.3.0
- Update README service method tables with disk parameter
- Add disks/defaultDisk to configuration options table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 25, 2026 16:53
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the @nestbolt/excel package for the v0.3.0 release by bumping the published version and aligning public documentation/changelog with the new decorator export API and storage “disk” driver support.

Changes:

  • Bump npm package version from 0.2.0 to 0.3.0.
  • Promote CHANGELOG entries from Unreleased to a v0.3.0 release header.
  • Update README method signature tables and configuration options to document the new disk parameter and storage configuration.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
package.json Version bump to 0.3.0 for release.
README.md Docs updated for disk parameter and new storage configuration options.
CHANGELOG.md Rename top section to v0.3.0 — Export Decorators + Storage Drivers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
| `defaultType` | `'xlsx' \| 'csv'` | `'xlsx'` | Fallback type when extension is unrecognised |
| `tempDirectory` | `string` | OS temp dir | Directory for temporary files |
| `disks` | `Record<string, DiskConfig>` | — | Named storage backends (see Storage Drivers) |
| `defaultDisk` | `string` | — | Default disk name used when `disk` is omitted |
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Configuration Options table lists defaultDisk with default “—”, but the implementation falls back to "local" when defaultDisk is not provided (see DiskManager). Please update the Default column and/or description to reflect the actual fallback behavior so the docs don’t imply there is no default.

Suggested change
| `defaultDisk` | `string` | | Default disk name used when `disk` is omitted |
| `defaultDisk` | `string` | `'local'` | Default disk name used when `disk` is omitted |

Copilot uses AI. Check for mistakes.
The DiskManager falls back to "local" when defaultDisk is not set.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@khatabwedaa khatabwedaa merged commit 315928a into main Mar 25, 2026
@khatabwedaa khatabwedaa deleted the release/v0.3.0 branch March 25, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants