Package Exports
- @breadstone/archipel-platform-resources
- @breadstone/archipel-platform-resources/blob
- @breadstone/archipel-platform-resources/blob/index
- @breadstone/archipel-platform-resources/embedded
- @breadstone/archipel-platform-resources/embedded/index
- @breadstone/archipel-platform-resources/file
- @breadstone/archipel-platform-resources/file/index
- @breadstone/archipel-platform-resources/package.json
Readme
@breadstone/archipel-platform-resources
Multi-strategy resource management for NestJS applications. Loads files from the file system, embedded buffers, or blob storage with MIME type detection and optional caching.
Quick Start
import { ResourceModule, ResourceManager } from '@breadstone/archipel-platform-resources';
import { FileResourceStrategy } from '@breadstone/archipel-platform-resources';
// Register the module
@Module({
imports: [
ResourceModule.forRoot({
strategies: [new FileResourceStrategy({ basePath: './assets' })],
}),
],
})
export class AppModule {}
// Use in a service
const result = await resourceManager.get('logo.png');
// result.buffer — file content
// result.metadata.mimeType — 'image/png'Strategies
| Strategy | Description |
|---|---|
FileResourceStrategy |
Loads resources from the local file system with glob support |
BlobResourceStrategy |
Loads resources from a blob storage adapter (Vercel, Azure, S3) |
EmbeddedResourceStrategy |
Serves pre-loaded in-memory buffers |
Features
- Pluggable strategies — file system, blob storage, or embedded buffers
- MIME type detection — automatic via the
mime-typeslibrary - Optional caching — integrates with
@breadstone/archipel-platform-caching - NestJS integration — global
ResourceModule.forRoot()with injectableResourceManager
Documentation
📖 Package Docs: .docs/packages/platform-resources/index.md
Development
# Build
yarn nx build platform-resources
# Test
yarn nx test platform-resources
# Lint
yarn nx lint platform-resources