Shared utilities for Obsidian plugins
npm install @real1ty-obsidian-plugins/utilsShared utilities for Obsidian plugins - a comprehensive collection of reusable functions and helpers to streamline Obsidian plugin development.
``bash`
npm install @real1ty-obsidian-plugins/utilsor
pnpm add @real1ty-obsidian-plugins/utilsor
yarn add @real1ty-obsidian-plugins/utils
- Date & Time Utilities: Recurrence handling, date formatting, and time operations
- File Operations: File system helpers, path utilities, and content manipulation
- String Utilities: Text processing, sanitization, and formatting functions
- Async Utilities: Promise helpers and async operation management
- Batch Operations: Efficient bulk processing utilities
- Settings Store: Reactive settings management with RxJS
- Testing Utilities: Mock factories and test helpers for Obsidian plugins
- Link Parser: Markdown link parsing and manipulation
- Child Reference Utils: Hierarchical content reference management
`typescript
import {
formatDateTimeForInput,
generateUniqueFilePath,
SettingsStore
} from '@real1ty-obsidian-plugins/utils';
// Date utilities
const formattedDate = formatDateTimeForInput('2023-12-25T10:30:00');
// File operations
const uniquePath = await generateUniqueFilePath(app, folder, 'my-file');
// Settings management
const settingsStore = new SettingsStore(defaultSettings);
settingsStore.settings$.subscribe(settings => {
// React to settings changes
});
`
For testing your Obsidian plugins:
`typescript
import {
createMockApp,
createMockFile,
setupTestEnvironment
} from '@real1ty-obsidian-plugins/utils/testing';
// Set up test environment
setupTestEnvironment();
// Create mock Obsidian instances
const mockApp = createMockApp();
const mockFile = createMockFile('test.md');
`
The package is organized by domain/module:
Settings
- settings-store - Reactive settings management with Zod validationsettings-ui-builder
- - Declarative UI builder for settings tabs
File Operations
- file - File path utilities, folder notes, and file contextfile-operations
- - File system operations and helperschild-reference
- - Hierarchical reference managementfrontmatter
- - Frontmatter parsing and serializationlink-parser
- - Wiki link parsing utilitiestemplater
- - Templater plugin integration
Date Operations
- date - Date/time formatting and manipulationdate-recurrence
- - Recurrence pattern handling
Async Utilities
- async - Promise utilities and async helpersbatch-operations
- - Bulk processing functions
String Utilities
- string - String processing functions
Core Utilities
- evaluator-base - Base evaluator classgenerate
- - ID generation utilities
Testing
- testing` - Testing mocks and utilities
This package is written in TypeScript and includes full type definitions. All utilities are properly typed for the best development experience.
MIT