HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/releases/20210421135930Z/node_modules/snyk/dist/lib/hook.js
"use strict";
module.exports = function () {
    hookExtensions(['.js']);
};
const forEach = require('lodash').forEach;
const fs = require('fs');
let oldHandlers = {};
const snyk = require('..');
// source: https://github.com/joyent/node/blob/master/lib/module.js#L466
function stripBOM(content) {
    // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
    // because the buffer-to-string conversion in `fs.readFileSync()`
    // translates it to FEFF, the UTF-16 BOM.
    if (content.charCodeAt(0) === 0xfeff) {
        content = content.slice(1);
    }
    return content;
}
function loader(module, filename) {
    snyk.bus.emit('before:module', filename);
    const content = fs.readFileSync(filename, 'utf8');
    module._compile(stripBOM(content), filename);
    snyk.bus.emit('after:module', module);
}
function registerExtension(ext) {
    require.extensions[ext] = function (m, filename) {
        if (snyk.isolate.okay(filename)) {
            loader(m, filename);
        }
    };
}
function hookExtensions(_exts) {
    forEach(oldHandlers, (old, ext) => {
        if (old === undefined) {
            delete require.extensions[ext];
        }
        else {
            require.extensions[ext] = old;
        }
    });
    oldHandlers = {};
    forEach(_exts, (ext) => {
        oldHandlers[ext] = require.extensions[ext];
        registerExtension(ext);
    });
}
// TODO: unhook
//# sourceMappingURL=hook.js.map