Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/longlho/ts-transform-img

Allow `import * as img from 'foo.png'` in TS
https://github.com/longlho/ts-transform-img

Last synced: about 1 month ago
JSON representation

Allow `import * as img from 'foo.png'` in TS

Awesome Lists containing this project

README

        

# ts-transform-img

This is a TypeScript AST Transformer that allows you to write `import * as img from 'foo.png'`. Depending on file size, the img with be base64-inlined in the source or aggregated via `onImgExtracted`.

## Usage
First of all, you need some level of familiarity with the [TypeScript Compiler API](https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API).

`compile.ts` & tests should have examples of how this works. The available options are:

### `threshold?: number`
Threshold of img size that will be inlined, default to 10K

### `interpolateName?: InterpolateNameFn | string`
Function to generate ID for the img asset

### `onImgExtracted(id: string, filePath: string): void`
Function that gets triggered every time we found an asset