UNPKG

@rzl-zone/ziggy-route

Version:

Typed Laravel route generator for any frontend — works with React, Vue, Vanilla JS, and other JavaScript-based stacks.

11 lines (10 loc) 3.74 kB
import v from"path";import r from"chalk";import{run as A}from"vite-plugin-run";var y=t=>typeof t=="string";var s=t=>t instanceof Error;var x=Function.prototype.toString;var d={sail:!1,types:!0,typesOnly:!1,delay:100,throttle:300,only:[],except:[]};var b=(t,e)=>{let a=[e.sail&&!process.env.LARAVEL_SAIL?"sail":"php","artisan","rzl-ziggy:generate"];return e.group&&a.push("--group",e.group),e.url&&a.push("--url",e.url),["1","2"].includes(t)&&(e.types&&a.push("--types"),e.typesOnly&&a.push("--types-only"),t==="1"&&(e.only.length>0&&a.push("--only",e.only.join(",")),e.except.length>0&&a.push("--except",e.except.join(",")))),a};import{readFileSync as S}from"fs";import{resolve as j}from"path";import n from"chalk";var g={PACKAGE:{NPM_NAME:"@rzl-zone/ziggy-route",PACKAGIST_NAME:"rzl-zone/ziggy-route",PREFIX:{NAME:"RZL ZIGGY"}},REPO:{LINK:"https://github.com/rzl-zone/ziggy-route"}};var f=n.bgHex("#00bcd4").black.bold(` ${g.PACKAGE.PREFIX.NAME} `),u={info:(t,e)=>{console.log(` ${f} ${n.blueBright(t)} ${n.gray("\u2192")} ${n.white(e)}`)},success:(t,e)=>{console.log(` ${f} ${n.greenBright("\u2705 "+t)} ${n.gray("\u2192")} ${n.whiteBright(e)}`)},warn:(t,e)=>{console.warn(` ${f} ${n.yellow("\u26A0\uFE0F "+t)} ${n.gray("\u2192")} ${n.yellowBright(e)}`)},error:(t,e)=>{console.error(` ${f} ${n.redBright("\u274C "+t)} ${n.gray("\u2192")} ${n.red(e)}`)},throw:(t,e)=>{throw s(e)?(u.error(t,e.message),process.env.NODE_ENV==="development"&&e.stack&&console.error(n.gray(e.stack)),e):(u.error(t,"Unknown error occurred"),new Error(y(e)?e:"Unknown error"))},raw:t=>console.log(` ${f} ${t}`)};function l(t,e){throw u.throw(t,e),y(e)?new Error(e):e}var{PACKAGIST_NAME:p}=g.PACKAGE,w=()=>{try{let t=j(process.cwd(),"composer.json"),e=JSON.parse(S(t,"utf-8"));e.require?.[p]||l("composer.json",`${p} not found in composer.json dependencies`);let a=e.require[p],c=a.match(/^[~^><]?(\d+)/);c||l("Version Format",`Invalid version format for ${p}: ${a}`);let m=c[1];return u.success("Composer Package",`${p} v${m}`),m}catch(t){s(t)&&(t.code==="ENOENT"&&l("composer.json",`File not found in ${process.cwd()}`),l("Version Fetch Failed",t)),l("Unknown Error","Something exploded \u{1F4A3}")}};var J=(t={})=>{try{let e=w(),{delay:a,throttle:c,...m}=t,h=b(e,{...d,...m}),{configResolved:E,handleHotUpdate:N}=A(process.env.NODE_ENV==="development"?[{delay:a,throttle:c,onFileChanged:({file:o})=>{let i=v.relative(process.cwd(),o).replace(/\\/g,"/");console.log(` \u{1F6F0}\uFE0F ${r.cyanBright("Live Watcher")} ${r.gray("detected change in")} ${r.yellowBright(i)}`),console.log(`${r.hex("#ff6f00")("\u{1F501} Rerunning")} ${r.bold.cyan(h.join(" "))} ${r.gray("...syncing fresh routes \u{1F6A6}")} `)},name:"rzl-ziggy-generator",run:h,pattern:["routes/**/*.php","config/rzl-ziggy.php",".env",".env.*",".env.*.*"],condition:o=>{let i=v.relative(process.cwd(),o).replace(/\\/g,"/");return o.includes("/config/")&&o.endsWith("rzl-ziggy.php")||o.includes("/routes/")&&o.endsWith(".php")||i===".env"||i.startsWith(".env.")||/^config\/rzl-ziggy.php$/.test(i)||/^routes\/.*\.php$/.test(i)||/\.env(\..+)?$/.test(i)}}]:[]);return{name:"rzl-ziggy-plugin",configResolved:E,handleHotUpdate:N}}catch(e){if(console.error(` ${r.bgRed.white.bold(" RZL ZIGGY ERROR ")} ${r.redBright("An error occurred in")} ${r.yellow("[@rzl-zone/ziggy-route/vite-plugin]")} \u{1F6A8}`),s(e))console.error(`${r.red("\u274C Message:")} ${r.white(e.message)}`),process.env.NODE_ENV==="development"?console.error(`${r.gray("\u{1F4CD} Stack Trace:")} ${r.dim(e.stack||"")}`):console.error(`${r.gray("\u2139\uFE0F Tip:")} Run in ${r.cyan("development")} mode to see stack trace.`);else throw console.error(`${r.red("\u2753 Unknown error type thrown:")}`),e}return{}};export{J as default};