JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 510
  • Score
    100M100P100Q118057F
  • License MIT

Strategy-based resource loading infrastructure for NestJS with file system, blob storage, and embedded resource support plus optional caching.

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-types library
  • Optional caching — integrates with @breadstone/archipel-platform-caching
  • NestJS integration — global ResourceModule.forRoot() with injectable ResourceManager

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