UNPKG

bun-plugin-glsl

Version:

Import, inline (and minify) GLSL/WGSL shader files

59 lines (43 loc) 1.99 kB
# Bun Plugin GLSL > Import, inline (and minify) GLSL/WGSL shader files ![npm](https://img.shields.io/npm/dt/bun-plugin-glsl?style=flat-square) ![GitHub package.json version](https://img.shields.io/github/package-json/v/UstymUkhman/bun-plugin-glsl?color=brightgreen&style=flat-square) ![GitHub](https://img.shields.io/github/license/UstymUkhman/bun-plugin-glsl?color=brightgreen&style=flat-square) _Inspired by [vite-plugin-glsl](https://github.com/UstymUkhman/vite-plugin-glsl), compatible with [Babylon.js](https://www.babylonjs.com/), [three.js](https://threejs.org/) and [lygia](https://lygia.xyz/)._ ## Installation ## ```bash bun add bun-plugin-glsl --dev ``` ## Usage ## ```js import glsl from 'bun-plugin-glsl'; Bun.plugin(glsl()); ``` ### With TypeScript ### Add extension declarations to your [`types`](https://www.typescriptlang.org/tsconfig#types) in `tsconfig.json`: ```json { "compilerOptions": { "types": [ "bun-plugin-glsl/ext" ] } } ``` or as a [package dependency directive](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#-reference-types-) to your global types: ```ts /// <reference types="bun-plugin-glsl/ext" /> ``` ## Default Options ## ```js glsl({ include: /\.(glsl|wgsl|vert|frag|vs|fs)$/, // RegExp of file extensions to import removeDuplicatedImports: false, // Automatically remove an already imported chunk warnDuplicatedImports: true, // Warn if the same chunk was imported multiple times defaultExtension: 'glsl', // Shader suffix to use when no extension is specified importKeyword: '#include', // Keyword used to import shader chunks minify: false, // Minify/optimize output shader code watch: true, // Recompile shader on change root: '/' // Directory for root imports }) ```