UNPKG

uni-plugin-light

Version:

uni-app相关插件、loader及webpack基础配置

2 lines (1 loc) 9.57 kB
"use strict";var t=require("path"),e=require("loader-utils"),n=require("fs"),r=require("os"),c=require("xregexp");function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function o(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var a=o(t),u=i(e),s=o(n),f=o(r),l=o(c);function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}var p={simple:{echo:"^#echo[ \t]+(.*?)[ \t]*$",exec:"^#exec[ \t]+(\\S+)[ \t]*\\((.*)\\)[ \t]*$",include:"^(.*)#include(?!-)[ \t]+(.*?)[ \t]*$","include-static":"^(.*)#include-static[ \t]+(.*?)[ \t]*$"},html:{echo:"\x3c!--[ \t]*#echo[ \t]+(.*?)[ \t]*(?:--\x3e|!>)",exec:"\x3c!--[ \t]*#exec[ \t]+(\\S+)[ \t]*\\((.*)\\)[ \t]*(?:--\x3e|!>)",include:"(.*)\x3c!--[ \t]*#include(?!-)[ \t]+(.*?)[ \t]*(?:--\x3e|!>)","include-static":"(.*)\x3c!--[ \t]*#include-static[ \t]+(.*?)[ \t]*(?:--\x3e|!>)",exclude:{start:"[ \t]*\x3c!--[ \t]*#exclude(?:[ \t]+(.*?))?[ \t]*(?:--\x3e|!>)(?:[ \t]*\n+)?",end:"[ \t]*\x3c!--[ \t]*#endexclude[ \t]*(?:--\x3e|!>)(?:[ \t]*\n)?"},extend:{start:"[ \t]*\x3c!--[ \t]*#extend(?!able)[ \t]+(.*?)[ \t]*(?:--\x3e|!>)(?:[ \t]*\n+)?",end:"[ \t]*\x3c!--[ \t]*#endextend[ \t]*(?:--\x3e|!>)(?:[ \t]*\n)?"},extendable:"\x3c!--[ \t]*#extendable[ \t]*(?:--\x3e|!>)",if:{start:"[ \t]*\x3c!--[ \t]*#(ifndef|ifdef|if)[ \t]+(.*?)[ \t]*(?:--\x3e|!>)(?:[ \t]*\n+)?",end:"[ \t]*<!(?:--)?[ \t]*#endif[ \t]*(?:--\x3e|!>)(?:[ \t]*\n)?"},foreach:{start:"[ \t]*\x3c!--[ \t]*#foreach[ \t]+(.*?)[ \t]*(?:--\x3e|!>)(?:[ \t]*\n+)?",end:"[ \t]*<!(?:--)?[ \t]*#endfor[ \t]*(?:--\x3e|!>)(?:[ \t]*\n)?"}},js:{echo:["/\\*[ \t]*#echo[ \t]+(.*?)[ \t]*\\*(?:\\*|/)","//[ \t]*#echo[ \t]+(.*?)[ \t]*$"],exec:"(?://|/\\*)[ \t]*#exec[ \t]+(\\S+)[ \t]*\\((.*)\\)[ \t]*(?:\\*(?:\\*|/))?",include:["^(.*)/\\*[ \t]*#include(?!-)[ \t]+(.*?)[ \t]*\\*(?:\\*|/)","^(.*)//[ \t]*#include(?!-)[ \t]+(.*?)[ \t]*$"],"include-static":["^(.*)/\\*[ \t]*#include-static[ \t]+(.*?)[ \t]*\\*(?:\\*|/)","^(.*)//[ \t]*#include-static[ \t]+(.*?)[ \t]*$"],exclude:{start:"[ \t]*(?://|/\\*)[ \t]*#exclude(?:[ \t]+([^\n*]*))?[ \t]*(?:\\*(?:\\*|/))?(?:[ \t]*\n+)?",end:"[ \t]*(?://|/\\*)[ \t]*#endexclude[ \t]*(?:\\*(?:\\*|/))?(?:[ \t]*\n)?"},extend:{start:"[ \t]*(?://|/\\*)[ \t]*#extend(?!able)[ \t]+([^\n*]*)(?:\\*(?:\\*|/))?(?:[ \t]*\n+)?",end:"[ \t]*(?://|/\\*)[ \t]*#endextend[ \t]*(?:\\*(?:\\*|/))?(?:[ \t]*\n)?"},extendable:"[ \t]*(?://|/\\*)[ \t]*#extendable[ \t]*(?:\\*/)?",if:{start:"[ \t]*(?://|/\\*)[ \t]*#(ifndef|ifdef|if)[ \t]+([^\n*]*)(?:\\*(?:\\*|/))?(?:[ \t]*\n+)?",end:"[ \t]*(?://|/\\*)[ \t]*#endif[ \t]*(?:\\*(?:\\*|/))?(?:[ \t]*\n)?"},foreach:{start:"[ \t]*(?://|/\\*)[ \t]*#foreach[ \t]+([^\n*]*)(?:\\*(?:\\*|/))?(?:[ \t]*\n+)?",end:"[ \t]*(?://|/\\*)[ \t]*#endfor[ \t]*(?:\\*(?:\\*|/))?(?:[ \t]*\n)?"}},coffee:{echo:"#+[ \t]*@echo[ \t]+(.*?)[ \t]*$",exec:"#+[ \t]*@exec[ \t]+(\\S+)[ \t]*\\((.*)\\)[ \t]*$",include:"^(.*?)#+[ \t]*@include(?!-)[ \t]+(.*?)[ \t]*$","include-static":"^(.*?)#+[ \t]*@include-static[ \t]+(.*?)[ \t]*$",exclude:{start:"^[ \t]*#+[ \t]*@exclude(?:[ \t]+(.*?))?[ \t]*\n+",end:"^[ \t]*#+[ \t]*@endexclude[ \t]*\n?"},extend:{start:"^[ \t]*#+[ \t]*@extend(?!able)[ \t]+(.*?)\n+",end:"^[ \t]*#+[ \t]*@endextend[ \t]*\n?"},extendable:"^[ \t]*#+[ \t]*@extendable[ \t]*$",if:{start:"^[ \t]*#+[ \t]*@(ifndef|ifdef|if)[ \t]+(.*?)[ \t]*\n+",end:"^[ \t]*#+[ \t]*@endif[ \t]*\n?"},foreach:{start:"^[ \t]*#+[ \t]*@foreach[ \t]+(.*?)[ \t]*\n+",end:"^[ \t]*#+[ \t]*@endfor[ \t]*\n?"}}};function x(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],c=t=v(t);return c=g(c,n.type.include,b.bind(null,!1,e,n)),n.type.extend&&(c=j(c,n.type.extend,(function(t,r,c,i){var o=(t[1]||"").trim(),u=$(e),s=$(n);u.src=a.join(n.srcDir,o),s.srcDir=a.dirname(u.src);var f=S(u.src,n.fileNotFoundSilentFail,e.src);if(f.error)return f.contents;var l=x(f.contents,u,s,!0).trim();return l?(c=c.replace(/^\n?|\n?$/g,""),g(l,n.type.extendable,i(c))):""}))),n.type.foreach&&(c=j(c,n.type.foreach,(function(t,n,r,c){var i=(t[1]||"").trim().split(" ");if(3===i.length){var o,a=i[2],u=E(e,a);o=u.match(/\{(.*)\}/)?JSON.parse(u):u.match(/\[(.*)\]/)?(o=(o=u.slice(1,-1)).split(",")).map((function(t){return t.replace(/\s*(['"])(.*)\1\s*/,"$2")})):u.split(",");var s=new RegExp(l.escape(i[0]),"g"),f=c(r);return Object.keys(o).reduce((function(t,e){var n=o[e];return t+f.replace(s,n)}),"")}return""}))),n.type.exclude&&(c=j(c,n.type.exclude,(function(t,n,r,c){return w((t[1]||"").trim(),e)?"":c(r)}))),n.type.if&&(c=j(c,n.type.if,(function(t,n,r,c){var i=t[1],o=(t[2]||"").trim();switch(i){case"if":case"ifdef":return w(o,e)?y(t.input)+c(r)+y(n.input):y(t.input+r+n.input);case"ifndef":return w(o,e)?y(t.input+r+n.input):y(t.input)+c(r)+y(n.input);default:throw new Error("Unknown if variant ".concat(i,"."))}}))),c=g(c,n.type.echo,(function(t,n){var r=(n=(n||"").trim()).match(/^(['"])(.*)\1$/);return r?r[2]:E(e,(n||"").trim())})),c=g(c,n.type.exec,(function(t,n,r){n=(n||"").trim();var c=(r=r||"").split(","),i=/^['"](.*)['"]$/;c=c.map((function(t){return t=t.trim(),i.test(t)?t.replace(i,"$1"):E(e,t)}));var o=E(e,n);return o&&"function"==typeof o?o.apply(e,c):""})),c=g(c,n.type["include-static"],b.bind(null,!0,e,n)),r||(c=function(t,e){"\n"!==e&&(t=t.replace(/\n/g,e));return t}(c,n.srcEol)),c}p.xml=p.html,p.javascript=p.js,p.jsx=p.js,p.c=p.js,p.cc=p.js,p.cpp=p.js,p.cs=p.js,p.csharp=p.js,p.java=p.js,p.less=p.js,p.sass=p.js,p.scss=p.js,p.css=p.js,p.php=p.js,p.ts=p.js,p.tsx=p.js,p.peg=p.js,p.pegjs=p.js,p.jade=p.js,p.styl=p.js,p.go=p.js,p.bash=p.coffee,p.shell=p.coffee,p.sh=p.coffee;var h=/\r?\n/g;function y(t){return Array(t.split(h).length).join("\n")}function m(t){var e,n=0;return t.indexOf("\r\n")>=0&&(e="\r\n",n+=1),/\r[^\n]/.test(t)&&(e="\r",n+=1),/[^\r]\n/.test(t)&&(e="\n",n+=1),(null==e||n>1)&&(e=f.EOL),e}function v(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t=e?t.replace(/(?:\r?\n)|\r/g,"\n".concat(e)):t.replace(/(?:\r\n)|\r/g,"\n")}function g(t,e,n){var r="string"==typeof e||e instanceof RegExp,c=Array.isArray(e);if(r)e=[new RegExp(e,"gmi")];else{if(!c)throw new Error("Rule must be a String, a RegExp, or an Array.");e=e.map((function(t){return new RegExp(t,"gmi")}))}return e.reduce((function(t,e){return t.replace(e,n)}),t)}function j(t,e,n){if(!e.start||!e.end)throw new Error("Recursive rule must have start and end.");var r=new RegExp(e.start,"mi"),c=new RegExp(e.end,"mi");return function t(i){var o=l.matchRecursive(i,e.start,e.end,"gmi",{valueNames:["between","left","match","right"]}),a={left:null,match:null,right:null};return o.reduce((function(e,i){switch(i.name){case"between":e+=i.value;break;case"left":a.left=r.exec(i.value);break;case"match":a.match=i.value;break;case"right":a.right=c.exec(i.value),e+=n(a.left,a.right,a.match,t)}return e}),"")}(t)}function b(t,e,n,r,c,i){i=(i||"").trim();var o=c.replace(/\S/g," "),u=$(e),s=$(n);u.src=a.join(n.srcDir,i),s.srcDir=a.dirname(u.src);var f=S(u.src,n.fileNotFoundSilentFail,e.src);if(f.error)return c+f.contents;var l=f.contents;return(l=v(l=t?f.contents:x(f.contents,u,s,!0),o))?c+l:c}function w(t,e){var n=function(t){return t=(t=(t=(t=t||"true").trim()).replace(/([^=!])=([^=])/g,"$1==$2")).replace(/-/g,"_"),new Function("context","with (context||{}){ return ( ".concat(t," ); }"))}(t);try{return n(e,E)}catch(t){}return!1}function S(t,e,n){try{s.statSync(t)}catch(c){if(e)return{error:!0,contents:"".concat(t," not found!")};var r=t;throw r=n?"".concat(r," requested from ").concat(n):r,r+=" not found!",new Error(r)}return{error:!1,contents:s.readFileSync(t).toString()}}function $(t){return Object.keys(t).reduce((function(e,n){return e[n]=t[n],e}),{})}function E(t,e){return e.replace(/\[([^\]+?])\]/g,".$1"),1===(e=e.split(".")).length?t[e[0]]:(e.some((function(e){return null==(t=t[e])})),t)}var O={html:"条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):\n\x3c!-- #ifdef %PLATFORM% --\x3e\n模板代码\n\x3c!-- #endif --\x3e\n",js:"条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):\n// #ifdef %PLATFORM%\njs代码\n// #endif\n",css:"条件编译失败,参考示例(注意 ifdef 与 endif 必须配对使用):\n/* #ifdef %PLATFORM% */\ncss代码\n/* #endif */\n"},F={html:"template",js:"script",css:"style"};module.exports=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(t.indexOf("#ifdef")<0&&t.indexOf("#ifndef")<0)return t;var e=u.default.getOptions(this),n=e.type,r=e.context,c=void 0===r?{}:r,i=e.log,o=void 0!==i&&i,s=n;Array.isArray(s)||(s=[s]);var f=this.resourcePath;return o&&console.log("[ifdef-loader]正在处理: ",f),s.forEach((function(e){try{t=function(t,e,n){t=t.toString(),e=e||process.env;var r={fileNotFoundSilentFail:!1,srcDir:process.cwd(),srcEol:m(t),type:p.html};return"string"==typeof n&&(n={type:n}),"string"==typeof e.srcDir&&((n=n||{}).srcDir=e.srcDir),n&&"object"===d(n)&&(r.srcDir=n.srcDir||r.srcDir,r.fileNotFoundSilentFail=n.fileNotFoundSilentFail||r.fileNotFoundSilentFail,r.srcEol=n.srcEol||r.srcEol,r.type=p[n.type]||r.type),x(t,e=$(e),r)}(t,c,{type:e})}catch(t){~[".nvue",".vue"].indexOf(a.extname(f))?console.error("".concat(F[e],"节点 ").concat(O[e])):console.error("".concat(O[e]))}})),t};