UNPKG

sprockets-preloader

Version:

Webpack pre-loader to easily translate sprockets require directives into JavaScript module dependencies

31 lines (25 loc) 1.09 kB
var path = require('path'); var importsDecorator = require('./decorators/imports.js'); var requireDecorator = require('./decorators/require.js'); var pathIndication = 'assets/javascripts'; module.exports = function(context, file, options) { options = options || {}; if (/.eco$/.exec(file)) { // There is a better way to do this... // - get root path for rails javascript assets from context var assetsRoot = context.slice(0, context.indexOf(pathIndication) + pathIndication.length); var relativePathFromAssetsRoot = path.relative(assetsRoot, file); var relativePath = path.relative(context, file); var lines = [ 'window.JST = window.JST || {};', 'window.JST[\'' + relativePathFromAssetsRoot.slice(0, -8) + '\'] = ' + requireDecorator(importsDecorator(relativePath, { module: true, require: true })) ]; return lines; } else { if (file.indexOf('app/assets') !== -1) { options.module = true; } file = path.relative(context, file); file = importsDecorator(file, options); file = requireDecorator(file); return file; } };