UNPKG

@sencha/reext

Version:

ReExt - Sencha Ext JS components in React

2 lines (1 loc) 4.2 kB
var h=Object.create;var $=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var v=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var N=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of D(t))!w.call(e,o)&&o!==n&&$(e,o,{get:()=>t[o],enumerable:!(s=R(t,o))||s.enumerable});return e};var U=(e,t,n)=>(n=e!=null?h(k(e)):{},N(t||!e||!e.__esModule?$(n,"default",{value:e,enumerable:!0}):n,e));var y=S((C,b)=>{var m={yellow:e=>`\x1B[33m${e}\x1B[0m`,green:e=>`\x1B[32m${e}\x1B[0m`,blue:e=>`\x1B[34m${e}\x1B[0m`,red:e=>`\x1B[31m${e}\x1B[0m`,purple:e=>`\x1B[35m${e}\x1B[0m`,orange:e=>`\x1B[30m${e}\x1B[0m`},J=async(e,t)=>{t===void 0&&(t="blue");var n="* ReExt: ";console.log(m[t](n+e)+" ")};function _(e){try{let{execSync:t}=v("child_process");return t(`npm get ${e}:registry`).toString().trim()||"https://registry.npmjs.org/"}catch(t){return console.error("Error fetching registry URL:",t),null}}b.exports={log:J,chalk:m,getRegistryUrl:_}});var r=U(y(),1);import{createMin as j}from"@sencha/reext";import{execSync as E}from"child_process";import d from"fs";import O from"path";var i=!1;async function P(e){let t="reext.config.js",n=`${process.cwd()}/src/ReExtData.js`;i&&(0,r.log)(`ReExtData.js path: ${r.chalk.purple(n)}`,"green");let o=(await import(`${n}`)).default;if(e==="build"&&o.location==="remote")throw new Error("\u274C Cannot build when ReExtData.location is set to remote.");if(i&&(0,r.log)(`ReExtData.location: ${r.chalk.purple(o.location)}`,"green"),i&&(0,r.log)(`ReExtData.sdkfolder: ${r.chalk.purple(o.sdkfolder)}`,"green"),i&&(0,r.log)(`ReExtData.sdkversion: ${r.chalk.purple(o.sdkversion)}`,"green"),o.location==="remote"){i&&(0,r.log)("no commands executed for remote...","yellow"),(0,r.log)(`Using remote ${r.chalk.purple(`ext-${o.sdkversion}`)}`,"green");return}let l=o.sdkfolder;if(d.existsSync(l))i&&(0,r.log)("\u2705 SDK folder found","green");else throw new Error("\u274C ReExtData.location is 'local' but sdkfolder is not found");let a=O.join(l,"ext-"+o.sdkversion);if(d.existsSync(a))i&&(0,r.log)(`\u2705 SDK version folder found: ${r.chalk.purple(a)}`,"green");else throw new Error(`\u274C ReExtData.location is 'local' but ${a} is not found`);let p=!1,g="Created",c=`${process.cwd()}/public/ext-${o.sdkversion}/${t}`;if(d.existsSync(c)){g="Recreated",i&&(0,r.log)(`\u2705 public version folder found: ${r.chalk.purple(c)}`,"green");let u=(await import(`${c}`)).default;JSON.stringify(u)!==JSON.stringify(o)&&(p=!0)}else p=!0,i&&(0,r.log)(`public version folder file not found: ${r.chalk.purple(c)}`,"green");if(p===!0){let f=await j(o,i);if(f===null)throw new Error("\u274C createMin returned null. Please check your ReExtData configuration and ensure the SDK folder is present if location is set to local.");if(f.length===0)throw new Error("\u274C No commands to execute. Please check your ReExtData sdkversion and location configurations.");f.forEach(x=>{i&&(0,r.log)(`${r.chalk.purple(x)}`,"green"),E(x,{stdio:"inherit"})});let u="cp "+n+" "+c;i&&(0,r.log)(`\u2705 ${r.chalk.purple(u)}`,"green"),E(u,{stdio:"inherit"}),(0,r.log)(`${g} ${r.chalk.purple(`/public/ext-${o.sdkversion}`)}`,"green")}else(0,r.log)(`Using existing ${r.chalk.purple(`/public/ext-${o.sdkversion}`)}`,"green")}function I(e={}){let{debug:t=!1}=e;i=t;var n="";return{name:"reextplugin",async config(s,{mode:o,command:l}){try{console.log(""),(0,r.log)(`reextplugin options: ${JSON.stringify(e)}`,"green"),i&&(0,r.log)(`Ext JS minify for vite:${l} in ${r.chalk.purple(o)} ${r.chalk.green("started")}`,"green"),await P(l),s.define={...s.define,__IS_REEXT_RUNNING__:JSON.stringify(n)},i&&(0,r.log)(`Ext JS minify for vite:${l} in ${r.chalk.purple(o)} ${r.chalk.green("ended")}`,"green"),console.log("")}catch(a){console.log(""),(0,r.log)(r.chalk.red(a.message),"red"),console.log(""),process.exit(1)}}}}export{I as default};