JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 801
  • Score
    100M100P100Q112981F
  • 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 with file system, blob storage, and embedded buffer support.

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

Quick Start

import { ResourceModule, ResourceManager } from '@breadstone/archipel-platform-resources';
import { FileResourceStrategy } from '@breadstone/archipel-platform-resources';

@Module({
  imports: [
    ResourceModule.forRoot({
      strategies: [new FileResourceStrategy({ basePath: './assets' })],
    }),
  ],
})
export class AppModule {}

Supported 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

Import Options

// Main import
import { ResourceModule, ResourceManager } from '@breadstone/archipel-platform-resources';

// Strategy-specific (tree-shakable sub-exports)
import { FileResourceStrategy } from '@breadstone/archipel-platform-resources/file';
import { BlobResourceStrategy } from '@breadstone/archipel-platform-resources/blob';
import { EmbeddedResourceStrategy } from '@breadstone/archipel-platform-resources/embedded';

Error Handling

Error Class When Thrown
ResourceNotFoundError Requested resource does not exist

Resource Limits

Limit Value Description
Strategy timeout 30 seconds ResourceManager aborts strategy calls after 30s

Peer Dependencies

Package Required Notes
@breadstone/archipel-platform-caching No Optional caching support
@nestjs/common Yes NestJS core
glob Yes File glob matching
mime-types Yes MIME type detection

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