babel-preset-jaid
Version:
These are my personal Babel presets. They aim for minimizing boilerplate for projects that need Babel.
8 lines • 4.61 kB
JavaScript
/*!
*** babel-preset-jaid 12.0.0
*** Copyright © 2021, Jaid <jaid.jsx@gmail.com> (https://github.com/Jaid)
*** @license MIT
*** See https://github.com/Jaid/babel-preset-jaid
!*/
var e,t;e=global,t=function(){return(()=>{var e={218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},682:e=>{e.exports=require("debug")}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{n.r(o),n.d(o,{default:()=>m});var e=n(218),t=n.n(e);const i=require("fs-extra");var r=n.n(i);const s=require("has-content");var p=n.n(s);const a=require("load-jest-config");var l=n.n(a);const c=require("path");var u=n.n(c);const d=require("prevent-start");var g=n.n(d);const f=require("read-pkg-up");class b{constructor(e,t=process.cwd()){this.config={presets:[],plugins:[]},this.babelApi=e,this.cwd=t;const n=(0,f.sync)(t);null!=n&&n.pkg&&(this.pkg=n.pkg,this.pkgPath=n.path,this.pkgDependencies=Object.keys({...this.pkg.dependencies,...this.pkg.peerDependencies,...this.pkg.optionalDependencies,...this.pkg.devDependencies}))}plugin(e,t){this.config.plugins.push(t?[e,t]:e)}pluginForEnv(e,t,n){this.babelApi.env(e)&&this.plugin(t,n)}pluginForEnvsBut(e,t,n){this.babelApi.env(e)||this.plugin(t,n)}pluginForDependency(e,t,n){var o;null!==(o=this.pkgDependencies)&&void 0!==o&&o.includes(e)&&this.plugin(t,n)}preset(e,t){this.config.presets.push(t?[e,t]:e)}presetForEnv(e,t,n){this.babelApi.env(e)&&this.preset(t,n)}presetForEnvsBut(e,t,n){this.babelApi.env(e)||this.preset(t,n)}presetForDependency(e,t,n){var o;null!==(o=this.pkgDependencies)&&void 0!==o&&o.includes(e)&&this.preset(t,n)}}const v=n(682)("babel-preset-jaid"),m=(e,n)=>{n={react:!1,minify:!0,runtime:!1,envOptions:null,typescript:!1,aotLoader:!0,legacyDecorators:!0,outputConfig:!1,esm:!1,loose:!1,...n},e.assertVersion("^7.11");const o=new b(e),i=[e.version,e.env(),JSON.stringify(n),"12.0.0"];if(o.pkg){const e=r().statSync(o.pkgPath);i.push(o.pkgPath),i.push(+e.mtime),v(`Loaded ${o.pkgPath}`)}else i.push(0),i.push(0);const s=i.join("|");v(`Cache identifier: ${s}`),e.cache.using((()=>s));const a={},{jestConfigPath:c,jestConfig:d}=l()({cwd:o.cwd});if(null!=d&&d.moduleNameMapper){v("Found Jest config in %s",c);for(const[e,t]of Object.entries(d.moduleNameMapper))if(/^\^\w/i.test(e)){const n=g()(e,"^"),i=u().resolve(t.replace("<rootDir>",o.cwd));a[n]=i,v("Registered alias: %s -> %s",n,i)}else v("Skipping alias: %s -> %s",e,t)}if(o.plugin("macros"),n.aotLoader&&o.plugin("aot-loader/babel"),o.plugin("@babel/plugin-proposal-decorators",{decoratorsBeforeExport:!0,legacy:!1}),o.plugin("@babel/plugin-proposal-do-expressions"),o.plugin("@babel/plugin-proposal-pipeline-operator",{proposal:"smart"}),n.typescript&&(o.preset("@babel/preset-typescript"),!n.minify&&(o.config.retainLines=!0)),n.react&&(o.preset("@babel/preset-react",{development:!e.env("production")}),o.pluginForEnv("production","transform-react-class-to-function"),o.pluginForEnv("production","transform-react-remove-prop-types"),o.pluginForEnv("production","@babel/plugin-transform-react-inline-elements")),n.runtime&&o.plugin("@babel/plugin-transform-runtime"),"react-dom"===n.react&&o.pluginForEnv("development","react-hot-loader/babel"),n.minify){const e={removeConsole:!1,removeDebugger:!0},i=t()(n.minify)?{...e,...n.minify}:e;v("Using minify options: %o",i),o.presetForEnv("production","minify",i),o.pluginForEnv("production","module:faster.js"),o.pluginForEnv("production","tailcall-optimization")}else v("Skipping minification");p()(a)&&o.plugin("module-resolver",{alias:a,cwd:o.cwd}),o.plugin("pkg",{cwd:o.cwd});const f={loose:n.loose,...n.envOptions};if(n.esm&&(f.modules=!1),o.preset("@babel/preset-env",f),v("Final config: %j",o.config),n.outputConfig||"1"===process.env.outputBabelPresetJaid){const e=u().join(o.cwd,"dist","babel-preset-jaid","config.json");r().outputJsonSync(e,o.config,{spaces:2})}return o.config}})(),o})()},"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["babel-preset-jaid"]=t():e.babelPresetJaid=t();
//# sourceMappingURL=index.js.map