babel-plugin-pkg
Version:
Resolves _PKG_VERSION to version from package.json - also works with any other field!
7 lines • 2.92 kB
JavaScript
/*!
*** babel-plugin-pkg 2.1.0
*** Copyright © 2020, Jaid <jaid.jsx@gmail.com> (https://github.com/Jaid)
*** @license MIT
*** See https://github.com/Jaid/babel-plugin-pkg
!*/
var e,n;e=global,n=function(){return function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},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,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=3)}([function(e,n){e.exports=require("path")},function(e,n){e.exports=require("camelcase")},function(e,n){e.exports=require("read-pkg-up")},function(e,n,t){t.r(n);var o=t(1),r=t.n(o),a=t(0),i=t.n(a),p=t(2);const u=t(4)("babel-plugin-pkg");n.default=({types:e})=>{let n;return{visitor:{MemberExpression(t,o){var a;(e=>{n||(n={cwd:e.cwd,prefix:"REPLACE_PKG_",nameFallback:!0,...e.opts},n.packageJson=Object(p.sync)(n.cwd),n.packageJson.path&&u("Got package data from %s",n.packageJson.path),n.packageJson.package&&u("Data: %o",n.packageJson.package))})(o);const c=null===(a=t.node.property)||void 0===a?void 0:a.name;if(!c)return;if(!c.startsWith(n.prefix))return;const l=t.node.object;if(null==l||!l.property)return;if("env"!==l.property.name)return;const s=l.object;if(!s)return;if("process"!==s.name)return;const f=r()(c.slice(n.prefix.length)),d=(e=>{var t,o,r,a,p,u,c;return"path"===e&&(null===(t=n.packageJson)||void 0===t?void 0:t.path)?n.packageJson.path:("title"!==e||(null===(o=n.packageJson)||void 0===o||null===(r=o.packageJson)||void 0===r?void 0:r.title)||(e="name"),!n.nameFallback||"name"!==e||null!==(a=n.packageJson)&&void 0!==a&&null!==(p=a.packageJson)&&void 0!==p&&p.name?(null===(u=n.packageJson)||void 0===u||null===(c=u.packageJson)||void 0===c?void 0:c[e])?n.packageJson.packageJson[e]:void 0:i.a.basename(i.a.dirname(n.packageJson.path)))})(f);void 0===d?u(`Requested package field ${f} in process.env.${c}, but it was not found`):(u.enabled&&u(`process.env.${c} → ${JSON.stringify(d)}`),t.replaceWith(e.valueToNode(d)))}}}}},function(e,n){e.exports=require("debug")}])},"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["babel-plugin-pkg"]=n():e.babelPluginPkg=n();