mirror of
https://github.com/SamEyeBam/animate.git
synced 2025-09-27 22:45:25 +00:00
larry babby and threejs for glsl
This commit is contained in:
77
webGl/my-threejs-test/node_modules/@parcel/transformer-glsl/lib/GLSLTransformer.js
generated
vendored
Normal file
77
webGl/my-threejs-test/node_modules/@parcel/transformer-glsl/lib/GLSLTransformer.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
function _path() {
|
||||
const data = _interopRequireDefault(require("path"));
|
||||
_path = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _util() {
|
||||
const data = require("util");
|
||||
_util = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _plugin() {
|
||||
const data = require("@parcel/plugin");
|
||||
_plugin = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _glslifyDeps() {
|
||||
const data = _interopRequireDefault(require("glslify-deps"));
|
||||
_glslifyDeps = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _glslifyBundle() {
|
||||
const data = _interopRequireDefault(require("glslify-bundle"));
|
||||
_glslifyBundle = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
var _default = exports.default = new (_plugin().Transformer)({
|
||||
async transform({
|
||||
asset,
|
||||
resolve
|
||||
}) {
|
||||
// Parse and collect dependencies with glslify-deps
|
||||
let cwd = _path().default.dirname(asset.filePath);
|
||||
let depper = (0, _glslifyDeps().default)({
|
||||
cwd,
|
||||
resolve: async (target, opts, next) => {
|
||||
try {
|
||||
let filePath = await resolve(_path().default.join(opts.basedir, 'index.glsl'), target);
|
||||
next(null, filePath);
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
}
|
||||
});
|
||||
let ast = await (0, _util().promisify)(depper.inline.bind(depper))(await asset.getCode(), cwd);
|
||||
collectDependencies(asset, ast);
|
||||
|
||||
// Generate the bundled glsl file
|
||||
let glsl = await (0, _glslifyBundle().default)(ast);
|
||||
asset.setCode(`module.exports=${JSON.stringify(glsl)};`);
|
||||
asset.type = 'js';
|
||||
return [asset];
|
||||
}
|
||||
});
|
||||
function collectDependencies(asset, ast) {
|
||||
for (let dep of ast) {
|
||||
if (!dep.entry) {
|
||||
asset.invalidateOnFileChange(dep.file);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user