@irida-app/ts-alias-file-import
is a utility for importing files using TypeScript's paths
aliases defined in tsconfig.json
. It resolves alias paths and reads the corresponding files, returning them as Buffers.
This package is particularly useful for server-side file imports in API routes when working with Next.js App Router or Expo Router. It helps resolve file paths in your application structure by leveraging TypeScript's aliasing system.
- Resolves file paths based on TypeScript
paths
andbaseUrl
configuration. - Supports file imports using alias patterns (e.g.
@/components/*
). - Reads the matched file as a Buffer.
npm install @irida-app/ts-alias-file-import
First, make sure you have path aliases configured in your tsconfig.json
:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
Then, use @irida-app/ts-alias-file-import
to load a file using its alias:
import { importFile } from '@irida-app/ts-alias-file-import';
async function loadFile() {
const fileBuffer = await importFile('@/components/MyComponent.tsx');
if (fileBuffer) {
console.log('File loaded successfully!');
} else {
console.log('File not found or an error occurred.');
}
}
loadFile();
- aliasPath: The path using a TypeScript alias (e.g.,
@/components/MyComponent
). - Returns: A promise that resolves to the file content as a
Buffer
, ornull
if the file is not found.
- Support for prefixed
*.tsconfig.json
files: Currently, the package looks fortsconfig.json
by default. A future enhancement will allow it to handle files with custom prefixes, such asdev.tsconfig.json
orprod.tsconfig.json
, for more flexible development environments. - More features: Additional capabilities may include file caching or improved error handling.
PRs are welcome! If you have ideas or want to help implement new features, feel free to contribute.
MIT