Sha256: 658b9681a9a75addf7754e7a6090fb07c9ec51ecc10e4ab2b14c6269abcd3adc

Contents?: true

Size: 1.04 KB

Versions: 438

Compression:

Stored size: 1.04 KB

Contents

/*jshint node: true */
var inserted,
    Module = require('module'),
    fs = require('fs'),
    existingExtFn = Module._extensions['.js'],
    amdefineRegExp = /amdefine\.js/;

inserted  = "if (typeof define !== 'function') {var define = require('amdefine')(module)}";

//From the node/lib/module.js source:
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;
}

//Also adapted from the node/lib/module.js source:
function intercept(module, filename) {
    var content = stripBOM(fs.readFileSync(filename, 'utf8'));

    if (!amdefineRegExp.test(module.id)) {
        content = inserted + content;
    }

    module._compile(content, filename);
}

intercept._id = 'amdefine/intercept';

if (!existingExtFn._id || existingExtFn._id !== intercept._id) {
    Module._extensions['.js'] = intercept;
}

Version data entries

438 entries across 223 versions & 32 rubygems

Version Path
trusty-festivity-extension-2.3.25 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.24 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.23 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
es6_tilt-0.1.2 test/dummy/app/assets/javascripts/node_modules/amdefine/intercept.js
es6_tilt-0.1.2 test/dummy/node_modules/amdefine/intercept.js
es6_tilt-0.1.1 test/dummy/app/assets/javascripts/node_modules/amdefine/intercept.js
es6_tilt-0.1.1 test/dummy/node_modules/amdefine/intercept.js
es6_tilt-0.1.0 test/dummy/app/assets/javascripts/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.22 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.21 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.20 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.19 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.18 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.17 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.16 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.15 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.14 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.13 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.12 node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js
trusty-festivity-extension-2.3.11g node_modules/bower/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js