UNPKG

1.02 kBJavaScriptView Raw
1var loaderUtils = require("loader-utils");
2
3module.exports = function() {};
4module.exports.pitch = function(remainingRequest) {
5 this.cacheable && this.cacheable();
6 var query = loaderUtils.parseQuery(this.query);
7 var moduleRequest = "!!" + remainingRequest;
8
9 return [
10 'var React = require("react");',
11 'var component;',
12 'var desc = {',
13 ' loadComponent: function(callback) {',
14 ' if(!component) {',
15 ' require.ensure([], function() {',
16 ' component = require(' + loaderUtils.stringifyRequest(this, moduleRequest) + ');',
17 ' if(callback) callback(component);',
18 ' }' + (query.name ? ', ' + JSON.stringify(query.name) : '') + ');',
19 ' } else if(callback) callback(component);',
20 ' return component;',
21 ' },',
22 '};',
23 'var mixinReactProxy = require(' + loaderUtils.stringifyRequest(this, require.resolve("./mixinReactProxy")) + ');',
24 'mixinReactProxy(React, desc);',
25 'module.exports = React.createClass(desc);',
26 'module.exports.Mixin = desc;'
27 ].join("\n");
28};