babel-plugin-remove-glsl-comments

1.0.0 • Public • Published

babel-plugin-remove-glsl-comments

Remove comments in glsl shader source.

Example

in

// vertex.glsl.js
const vs = `
/* Projection uniforms */
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat3 modelMatrix;
 
/* Attributes */
attribute vec3 positions;
attribute vec3 instancePositions;
 
main() {
  vec4 worldPosition = vec4(instancePositions + modelMatrix * positions, 1.); // resolved position of the current vertex
  gl_Position = projectionMatrix * viewMatrix * worldPosition;
}
`;

out

// vertex.glsl.js
const vs = '\nuniform mat4 viewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat3 modelMatrix;\n\nattribute vec3 positions;\nattribute vec3 instancePositions;\n\nmain() {\n  vec4 worldPosition = vec4(instancePositions + modelMatrix * positions, 1.);\n  gl_Position = projectionMatrix * viewMatrix * worldPosition;\n}\n';

Note: for safety, this plugin does not remove dynamically generated comments, e.g.

const vs = `/* MODULE ${name} STARTS */`;
const vs = `// END OF ${name}`;

Installation

$ npm install --save-dev babel-plugin-remove-glsl-comments

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["remove-glsl-comments"]
}

With options:

{
  "plugins": [["remove-glsl-comments", {
    "patterns": ["*.glsl.js"]
  }]]
}

Via CLI

$ babel --plugins remove-glsl-comments script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["remove-glsl-comments"]
});

Options

patterns (Array)

An array of glob expressions that specify which files to apply this plugin to. Default ['*.js'].

Readme

Keywords

Package Sidebar

Install

npm i babel-plugin-remove-glsl-comments

Weekly Downloads

15

Version

1.0.0

License

MIT

Unpacked Size

3.27 kB

Total Files

3

Last publish

Collaborators

  • donmccurdy
  • felixpalmer
  • pessimistress
  • ibgreen
  • dryabinin
  • belom88