UNPKG

export-loader

Version:

A webpack loader that allowes to write a Golang style exports.

1 lines 4.71 kB
module.exports=function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t){e.exports=require("debug")},function(e,t,n){"use strict";function r(e){try{var t=this.resourcePath||u.resolve("./test-utils/resourcePath.js"),n=i(s)(t,l(t,"utf8")),r=n.finalExports;o("finalExports is: "+r),e=e.replace(/export function/g,"function").replace(/export (let|const|var)/g,"let").replace(/export async function/g,"async function").replace(/^export\s*{([\s\S]*?)}$/gm,"").concat("\n").concat(r),o(e)}catch(e){o("Failed on export loader main func with error:"+e)}return e}var a=n(2),i=a.generateExports,o=n(0)("norequire"),s=n(10),c=n(11),l=c.readFileSync,u=n(12);e.exports=r,e.exports.default=r},function(e,t,n){"use strict";function r(e){return function(t,n){if(!n)throw new Error("No data was received!");var r={},o=a(r),c=e.parse(n,{sourceType:"module"}),u=c.body,f=!0,d=!1,h=void 0;try{for(var v,y=u[Symbol.iterator]();!(f=(v=y.next()).done);f=!0){var E=v.value,b=E.type;switch(i(b),b){case"ExportNamedDeclaration":s(o,i,E);break;case"ClassDeclaration":l(o,i,E);break;case"ExpressionStatement":p(o,i,E);break;case"VariableDeclaration":x(o,i,E);break;case"FunctionDeclaration":m(o,i,E);break;case"ExportDefaultDeclaration":i("Export default received, need to think what to do with it");break;default:i("An unhandled declaration type received: "+b)}}}catch(e){d=!0,h=e}finally{try{!f&&y.return&&y.return()}finally{if(d)throw h}}i("names:"+JSON.stringify(r));var D=Object.keys(r);return{finalExports:"export {\n"+D+"\n}",fileName:t,names:D}}}function a(e){return function(t,n){"string"!=typeof t&&i("name: "+JSON.stringify(t)+" is not a string!!!"),(t[0]===t[0].toUpperCase()||n)&&(e[t]?d("key:"+t+" already exists!"):e[t]=t)}}var i=n(0)("parser"),o=n(3),s=o.handleExportNamedDeclaration,c=n(4),l=c.handleClassDeclaration,u=n(5),p=u.handleExpressionStatement,f=n(8),x=f.handleVariableDeclaration,h=n(9),m=h.handleFunctionDeclaration;e.exports={generateExports:r,hashMapToInject:a}},function(e,t,n){"use strict";function r(e,t,n){var r=n.declaration,a=n.specifiers,i=void 0,o=void 0,s=void 0;if(t("DECLERATION FROM EXPROT NAMED IS :"+JSON.stringify(r)),r&&(o=r.type,s=r.id),r&&r.declarations)return r.declarations.map(function(t){return e(t.id.name,!0)});if(o&&"FunctionDeclaration"===o)return i=s.name,e(i,!0);try{a.map(function(t){return e(t.exported.name,!0)})}catch(e){t("error in handleExportNamed:"+e)}}e.exports={handleExportNamedDeclaration:r}},function(e,t,n){"use strict";function r(e,t,n){var r=n.id;if(!r)throw new Error("handleClassDeclaration:id was not passed");var a=r.name;t("Class: "+a),e(a)}e.exports={handleClassDeclaration:r}},function(e,t,n){"use strict";function r(e,t,n){var r=n.expression;if(t("expression from handler is "+JSON.stringify(r)),r.callee&&"MemberExpression"===r.callee.type);else switch(r.type){case"AssignmentExpression":i(e,t,r);break;default:s(e,t,r)}}var a=n(6),i=a.handleAssignmentExpression,o=n(7),s=o.handleDefaultExpression;e.exports={handleExpressionStatement:r}},function(e,t,n){"use strict";function r(e,t,n){var r=void 0;try{n&&n.left&&n.left.name?r=n.left.name:n&&n.left&&n.left.object&&n.left.object.name&&"exports"===n.left.object.name?(r="ignoring for now...",t("received exports object:"+r)):r="ignoring..."}catch(e){r=n.callee.name}t("Expression: "+r),e(r)}e.exports={handleAssignmentExpression:r}},function(e,t,n){"use strict";function r(e,t,n){var r=void 0;try{r=n.callee.id.name}catch(e){r=n.callee.name}t("Expression: "+r),e(r)}e.exports={handleDefaultExpression:r}},function(e,t,n){"use strict";function r(e,t,n){var r=n.declarations,a=void 0;switch(r[0].init&&r[0].init.type?r[0].init.type:r[0].type){case"NewExpression":case"CallExpression":case"VariableDeclarator":case"VariableDeclaration":a=r[0].id.name;break;default:try{a=r[0].init.callee.name}catch(e){a=r[0].id.name}}t("Variable: "+a),e(a)}e.exports={handleVariableDeclaration:r}},function(e,t,n){"use strict";function r(e,t,n){var r=n.id,a=n.declarations;if(!r&&!a)throw new Error("handleFunctionDeclaration:id or declarations were not passed");var i=void 0;r?i=r.name:a&&(i=a[0].init.callee.name),t("Function: "+i),e(i)}e.exports={handleFunctionDeclaration:r}},function(e,t){e.exports=require("esprima")},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("path")}]);