@mercurjs/cli 2.0.0-canary.18 → 2.0.0-canary.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +19 -19
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {Command}from'commander';import*as k from'path';import k__default,{join,basename}from'path';import
|
|
2
|
+
import {Command}from'commander';import*as k from'path';import k__default,{join,basename}from'path';import lt from'prompts';import {z as z$1}from'zod';import {promises,existsSync,statSync}from'fs';import {cosmiconfig}from'cosmiconfig';import {loadConfig,createMatchPath}from'tsconfig-paths';import A from'fs-extra';import'typescript';import st from'fast-glob';import {createHash}from'crypto';import or from'deepmerge';import*as L from'fs/promises';import L__default from'fs/promises';import go,{tmpdir,homedir}from'os';import {Project,ScriptKind}from'ts-morph';import le from'kleur';import Gi from'ora';import {execa}from'execa';import {detect}from'@antfu/ni';import {diffLines}from'diff';import {exec,execSync}from'child_process';import Qo from'chokidar';import {Readable}from'stream';import {pipeline}from'stream/promises';import St from'pg';import fs from'open';import {x as x$1}from'tar';import ys from'terminal-link';import hs from'validate-npm-package-name';import ws from'wait-on';var Ot={version:"2.0.0-canary.19"};var Nt="MISSING_DIR_OR_EMPTY_PROJECT",S="MISSING_CONFIG",z="BUILD_MISSING_REGISTRY_FILE";var Xr=z$1.enum(["registry:workflow","registry:api","registry:link","registry:module","registry:vendor","registry:admin","registry:lib"]),At=z$1.object({path:z$1.string(),content:z$1.string().optional(),type:Xr,target:z$1.string().optional()}),Lt=z$1.object({$schema:z$1.string().optional(),name:z$1.string(),title:z$1.string().optional(),author:z$1.string().min(2).optional(),description:z$1.string().optional(),dependencies:z$1.array(z$1.string()).optional(),devDependencies:z$1.array(z$1.string()).optional(),registryDependencies:z$1.array(z$1.string()).optional(),meta:z$1.record(z$1.string(),z$1.any()).optional(),docs:z$1.string().optional(),categories:z$1.array(z$1.string()).optional()}),T=Lt.extend({files:z$1.array(At)}),Y=z$1.object({name:z$1.string(),homepage:z$1.string(),items:z$1.array(T)}),Ks=z$1.array(Lt),Mt=T.pick({dependencies:true,devDependencies:true,files:true,docs:true}),ei=z$1.union([z$1.string(),z$1.object({url:z$1.string(),params:z$1.record(z$1.string(),z$1.string()).optional(),headers:z$1.record(z$1.string(),z$1.string()).optional()})]),Ut=z$1.record(z$1.string().refine(e=>e.startsWith("@"),{message:"Registry names must start with @ (e.g., @mercurjs)"}),ei);var $e="https://registry.mercurjs.com/registry.json",zt="https://registry.mercurjs.com/registry-item.json",fe=process.env.REGISTRY_URL??"https://raw.githubusercontent.com/mercurjs/mercur/new/packages/registry/r",I={"@mercurjs":`${fe}/{name}.json`};var $={NOT_FOUND:"NOT_FOUND",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",FETCH_ERROR:"FETCH_ERROR",NOT_CONFIGURED:"NOT_CONFIGURED",INVALID_CONFIG:"INVALID_CONFIG",MISSING_ENV_VARS:"MISSING_ENV_VARS",LOCAL_FILE_ERROR:"LOCAL_FILE_ERROR",PARSE_ERROR:"PARSE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"},_=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||$.UNKNOWN_ERROR,this.statusCode=r.statusCode,this.cause=r.cause,this.context=r.context,this.suggestion=r.suggestion,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);}},oe=class extends _{constructor(r,i){let o=`The item at ${r} was not found. It may not exist at the registry.`;super(o,{code:$.NOT_FOUND,statusCode:404,cause:i,context:{url:r},suggestion:"Check if the item name is correct and the registry URL is accessible."});this.url=r;this.name="RegistryNotFoundError";}},De=class extends _{constructor(r,i){let o=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(o,{code:$.UNAUTHORIZED,statusCode:401,cause:i,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},Fe=class extends _{constructor(r,i){let o=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(o,{code:$.FORBIDDEN,statusCode:403,cause:i,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},Oe=class extends _{constructor(r,i,o,s){let n=i?`Failed to fetch from registry (${i}): ${r}`:`Failed to fetch from registry: ${r}`,p=typeof s=="string"&&s?`${n} - ${s}`:n,m="Check your network connection and try again.";i===404?m="The requested resource was not found. Check the URL or item name.":i===500?m="The registry server encountered an error. Try again later.":i&&i>=400&&i<500&&(m="There was a client error. Check your request parameters.");super(p,{code:$.FETCH_ERROR,statusCode:i,cause:s,context:{url:r,responseBody:o},suggestion:m});this.url=r;this.responseBody=o;this.name="RegistryFetchError";}},J=class extends _{constructor(r){let i=r?`Unknown registry "${r}". Make sure it is defined in agents.json as follows:
|
|
3
3
|
{
|
|
4
4
|
"registries": {
|
|
5
5
|
"${r}": "[URL_TO_REGISTRY]"
|
|
@@ -11,34 +11,34 @@ ${i.issues.map(s=>` - ${s.path.join(".")}: ${s.message}`).join(`
|
|
|
11
11
|
`+i.map(s=>` \u2022 ${s}`).join(`
|
|
12
12
|
`);super(o,{code:$.MISSING_ENV_VARS,context:{registryName:r,missingVars:i},suggestion:"Set the required environment variables to your .env or .env.local file."});this.registryName=r;this.missingVars=i;this.name="RegistryMissingEnvironmentVariablesError";}},Ae=class extends _{constructor(r){let i=`Invalid registry namespace: "${r}". Registry names must start with @ (e.g., @mercurjs).`;super(i,{code:$.VALIDATION_ERROR,context:{name:r},suggestion:"Use a valid registry name starting with @ or provide a direct URL to the registry."});this.name=r;this.name="RegistryInvalidNamespaceError";}};var Le=class extends _{constructor(r,i){let o=`Invalid blocks.json configuration in ${r}.`;i instanceof z$1.ZodError&&(o=`Invalid blocks.json configuration in ${r}:
|
|
13
13
|
${i.issues.map(s=>` - ${s.path.join(".")}: ${s.message}`).join(`
|
|
14
|
-
`)}`);super(o,{code:$.INVALID_CONFIG,cause:i,context:{cwd:r},suggestion:"Check your blocks.json file for syntax errors or invalid configuration. Run '@mercurjs/cli init' to regenerate a valid configuration."});this.cwd=r;this.name="ConfigParseError";}};var W=z$1.object({$schema:z$1.string().optional(),aliases:z$1.object({workflows:z$1.string(),api:z$1.string(),links:z$1.string(),modules:z$1.string(),vendor:z$1.string(),admin:z$1.string(),lib:z$1.string()}),registries:Lt.optional()}).strict(),zt=W.extend({resolvedPaths:z$1.object({cwd:z$1.string(),workflows:z$1.string(),api:z$1.string(),links:z$1.string(),modules:z$1.string(),vendor:z$1.string(),admin:z$1.string(),lib:z$1.string()})});async function O(e,t){return createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx"])}var oi="packages/api/src/workflows",si="packages/api/src/api",ni="packages/api/src/links",ai="packages/api/src/modules",di="apps/vendor/src",pi="apps/admin/src",mi="packages/api/src/lib",ci=cosmiconfig("blocks",{searchPlaces:["blocks.json"]});async function j(e){let t=await ui(e);return t?await it(e,t):null}async function it(e,t){t.registries={...t.registries||{},...I};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${r.message??""}`.trim());return zt.parse({...t,resolvedPaths:{cwd:e,workflows:await O(t.aliases.workflows,r),api:await O(t.aliases.api,r),links:await O(t.aliases.links,r),modules:await O(t.aliases.modules,r),vendor:await O(t.aliases.vendor,r),admin:await O(t.aliases.admin,r),lib:await O(t.aliases.lib,r)}})}async function ui(e){try{let t=await ci.search(e);if(!t)return null;let r=W.parse(t.config);if(r.registries){for(let i of Object.keys(r.registries))if(i in I)throw new Error(`"${i}" is a built-in registry and cannot be overridden.`)}return r}catch(t){throw t instanceof Error&&t.message.includes("reserved registry")?t:new Le(e,t)}}function B(e){let t={resolvedPaths:{cwd:process.cwd(),admin:"",lib:"",links:"",modules:"",vendor:"",workflows:"",api:""},aliases:{workflows:oi,api:si,links:ni,modules:ai,vendor:di,admin:pi,lib:mi},registries:{...I}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var st=["**/node_modules/**","public","dist"];async function E(e){let[t,r,i,o,s,n]=await Promise.all([A.pathExists(k__default.resolve(e,"src")),fi(e),fe(e),gi(e),yi(e),hi(e)]);return {isSrcDir:t,aliasPrefix:r,packageJson:i,medusaConfigFile:o?.file??null,medusaVersion:s,mercurVersion:n}}async function fi(e){let t=loadConfig(e);if(t.resultType==="failed")return null;let r=t.paths||{},i=Object.keys(r);if(i.length===0)return null;let o=i[0];return o?.includes("*")?o.replace("/*",""):o?.replace("/","")??null}function fe(e="",t=true){let r=k__default.join(e,"package.json");return A.readJSONSync(r,{throws:t})}async function gi(e){let t=await ot.glob("medusa-config.*",{cwd:e,deep:3,ignore:st});if(!t.length)return null;let r=t[0];return {file:r,dir:k__default.resolve(e,k__default.dirname(r))}}async function yi(e){let r=fe(e,false)?.dependencies?.["@medusajs/framework"];if(r)return r;let i=await ot.glob("**/package.json",{cwd:e,deep:3,ignore:st});for(let o of i){let n=fe(k__default.join(e,k__default.dirname(o)),false)?.dependencies?.["@medusajs/framework"];if(n)return n}return null}async function hi(e){let r=fe(e,false)?.dependencies?.["@mercurjs/cli"];if(r)return r;let i=await ot.glob("**/package.json",{cwd:e,deep:3,ignore:st});for(let o of i){let n=fe(k__default.join(e,k__default.dirname(o)),false)?.dependencies?.["@mercurjs/cli"];if(n)return n}return null}z$1.object({cwd:z$1.string(),blocks:z$1.array(z$1.string()).optional(),yes:z$1.boolean(),overwrite:z$1.boolean(),silent:z$1.boolean()});async function Bt(e){let t={},r=k__default.resolve(e.cwd);if(!existsSync(r))return t[Ft]=true,{errors:t,config:null};let i=await j(r);if(!i)return t[S]=true,{errors:t,config:null};let o=await E(r);return {errors:t,config:i,projectInfo:o}}var Me={headers:{}};function nt(e){Me.headers={...Me.headers,...e};}function Gt(e){return Me.headers[e]||{}}function x(){Me.headers={};}function se(e){let t={aliases:{workflows:"packages/api/src/workflows",api:"packages/api/src/api",links:"packages/api/src/links",modules:"packages/api/src/modules",vendor:"apps/vendor/src",admin:"apps/admin/src",lib:"packages/api/src/lib"},registries:I};return {...t,...e||{},aliases:{...t.aliases,...e?.aliases||{}},registries:{...e?.registries||{},...I}}}function ge(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function ye(e){let t=[],r=/\${(\w+)}/g,i=r.exec(e);for(;i!==null;){let o=i[1];o&&t.push(o),i=r.exec(e);}return t}var ji=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function ne(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(ji);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var Vt=[".tsx",".ts"],qt=["lib/utils.ts"],_i=[/^(react|react-dom)(\/.*)?$/,/^(node|jsr|npm):.*$/],Ei=new Project({compilerOptions:{}});function Si(e){if(_i.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function at(e,t,r,i=new Set){let o=k.resolve(t.resolvedPaths.cwd,e),s=k.relative(t.resolvedPaths.cwd,o);if(qt.includes(s))return {dependencies:[],files:[]};let n=k.extname(e);if(!Vt.includes(n))return {dependencies:[],files:[]};if(i.has(s))return {dependencies:[],files:[]};i.add(s);try{if(!(await L.stat(o)).isFile())return {dependencies:[],files:[]}}catch{return {dependencies:[],files:[]}}let p=await L.readFile(o,"utf-8"),m=await Ii(k.basename(o)),a=Ei.createSourceFile(m,p,{scriptKind:ScriptKind.TSX}),c=await loadConfig(t.resolvedPaths.cwd);if(c.resultType==="failed")return {dependencies:[],files:[]};let l=[],f=new Set,y=Ht(e),v={path:s,type:y,target:"",content:""};l.push(v);let R=a.getImportDeclarations();for(let M of R){let U=M.getModuleSpecifierValue(),Ce=U.startsWith(".");if(!(r.aliasPrefix&&U.startsWith(`${r.aliasPrefix}/`))&&!Ce){let F=Si(U);F&&f.add(F);continue}let re=await O(U,c);if(Ce&&(re=k.resolve(k.dirname(o),U)),!re)continue;if(!k.extname(re))for(let F of Vt){let $t=`${re}${F}`;try{await L.access($t),re=$t;break}catch{continue}}let Pe=k.relative(t.resolvedPaths.cwd,re);if(i.has(Pe)||qt.includes(Pe))continue;let Kr=Ht(U),Zr={path:Pe,type:Kr,target:"",content:""};l.push(Zr);let Te=await at(Pe,t,r,i);if(Te.files)for(let F of Te.files)i.has(F.path)||(i.add(F.path),l.push(F));Te.dependencies&&Te.dependencies.forEach(F=>f.add(F));}let D=Array.from(new Map(l.map(M=>[M.path,M])).values());return {dependencies:Array.from(f),files:D}}async function Ii(e){let t=await L.mkdtemp(k.join(tmpdir(),"mercur-"));return k.join(t,e)}function Ht(e){return e.includes("/workflows/")?"registry:workflow":e.includes("/api/")?"registry:api":e.includes("/links/")?"registry:link":e.includes("/modules/")?"registry:module":e.includes("/vendor")?"registry:vendor":e.includes("/admin")?"registry:admin":(e.includes("/lib/"),"registry:lib")}function q(e){try{return new URL(e),!0}catch{return false}}function Q(e){return e.endsWith(".json")&&!q(e)}function Ci(e){let t=new Set;if(typeof e=="string")for(let r of ye(e))t.add(r);else {for(let r of ye(e.url))t.add(r);if(e.params)for(let r of Object.values(e.params))for(let i of ye(r))t.add(i);if(e.headers)for(let r of Object.values(e.headers))for(let i of ye(r))t.add(i);}return Array.from(t)}function Yt(e,t){let i=Ci(t).filter(o=>!process.env[o]);if(i.length>0)throw new Ne(e,i)}var Ue="{name}",Pi=`${Ue}.json`,Jt=/\${(\w+)}/g,Kt="?",Ti="&";function $i(e){return e.includes(Ue)}function Zt(e){return $i(e)?e:`${e.endsWith("/")?e:`${e}/`}${Pi}`}function he(e,t){let{registry:r,item:i}=ne(e);if(!r)return null;let s=(t?.registries||{})[r];if(!s)throw new J(r);return Yt(r,s),{url:Di(i,s),headers:Fi(s)}}function Di(e,t,r){if(typeof t=="string"){let n=Zt(t).replace(Ue,e);return ge(n)}let o=Zt(t.url).replace(Ue,e);return o=ge(o),t.params?Oi(o,t.params):o}function Fi(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,i]of Object.entries(e.headers)){let o=ge(i);Ni(i,o)&&(t[r]=o);}return t}function Oi(e,t){let r=new URLSearchParams;for(let[s,n]of Object.entries(t)){let p=ge(n);p&&r.append(s,p);}let i=r.toString();if(!i)return e;let o=e.includes(Kt)?Ti:Kt;return `${e}${o}${i}`}function Ni(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(Jt)){let o=e.replace(Jt,"").trim();return r!==o}return true}function Qt(e){return q(e)||Q(e)?e:`${le}/${e}`}var ze=new Map;async function Ai(e){let t=e;t.startsWith("file://")&&(t=t.slice(7)),t.startsWith("~/")&&(t=k__default.join(homedir(),t.slice(2)));let r=k__default.resolve(t);try{let i=await promises.readFile(r,"utf8");return JSON.parse(i)}catch(i){throw i instanceof Error&&(i.message.includes("ENOENT")||i.message.includes("no such file"))?new K(e,i):new K(e,i)}}async function X(e){return await Promise.all(e.map(async r=>{let i=Qt(r);if(ze.has(i))return ze.get(i);if(Q(i)){let s=Ai(i);return ze.set(i,s),s}let o=(async()=>{let s=Gt(i),n=await fetch(i,{headers:{...s}});if(!n.ok){let p;if(n.headers.get("content-type")?.includes("application/json")){let m=await n.json(),a=z$1.object({detail:z$1.string().optional(),title:z$1.string().optional(),message:z$1.string().optional(),error:z$1.string().optional()}).safeParse(m);a.success&&(p=a.data.detail||a.data.message,a.data.error&&(p=`[${a.data.error}] ${p}`));}throw n.status===401?new De(i,p):n.status===404?new oe(i,p):n.status===403?new Fe(i,p):new Oe(i,n.status,p)}return n.json()})();return ze.set(i,o),o}))}async function tr(e){try{let t=e;e.startsWith("~/")&&(t=k__default.join(homedir(),e.slice(2)));let r=k__default.resolve(t),i=await promises.readFile(r,"utf8"),o=JSON.parse(i);try{return T.parse(o)}catch(s){throw new C(e,s)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new K(e,t):t instanceof C?t:new K(e,t)}}T.extend({_source:z$1.string().optional()});function dt(e,t){let r={},i=[...e];if(!t?.registries)return nt({}),i;for(let o=0;o<i.length;o++){let s=he(i[o],t);s&&(i[o]=s.url,Object.keys(s.headers).length>0&&(r[s.url]=s.headers));}return nt(r),i}async function Be(e,t){return await Promise.all(e.map(async i=>{if(Q(i))return tr(i);if(q(i)){let[n]=await X([i]);try{return T.parse(n)}catch(p){throw new C(i,p)}}if(i.startsWith("@")&&t?.registries){let n=dt([i],t),[p]=await X(n);try{return T.parse(p)}catch(m){throw new C(i,m)}}let o=`${le}/${i}.json`,[s]=await X([o]);try{return T.parse(s)}catch(n){throw new C(i,n)}}))}async function pt(e,t){let r=[],i=[],o=Array.from(new Set(e)),s=await Be(o,t),n=new Map;for(let a=0;a<s.length;a++)s[a]&&n.set(o[a],s[a]);for(let[a,c]of Array.from(n.entries())){let l={...c,_source:a};if(r.push(l),c.registryDependencies){let f=c.registryDependencies;if(t?.registries)f=dt(c.registryDependencies,t);else {let v=c.registryDependencies.filter(R=>R.startsWith("@"));if(v.length>0){let{registry:R}=ne(v[0]);throw new J(R)}}let{blocks:y}=await or(f,t,new Set(o));i.push(...y);}}r.push(...i);let p=new Map;for(let a of r){let c=a._source||a.name;p.set(a,c);}return r=zi(r,p),At.parse({dependencies:rr.all(r.map(a=>a.dependencies??[])),devDependencies:rr.all(r.map(a=>a.devDependencies??[])),files:Wi(r.map(a=>a.files??[])),docs:r.map(a=>a.docs).filter(Boolean).join(`
|
|
15
|
-
`)})}async function
|
|
14
|
+
`)}`);super(o,{code:$.INVALID_CONFIG,cause:i,context:{cwd:r},suggestion:"Check your blocks.json file for syntax errors or invalid configuration. Run '@mercurjs/cli init' to regenerate a valid configuration."});this.cwd=r;this.name="ConfigParseError";}};var W=z$1.object({$schema:z$1.string().optional(),aliases:z$1.object({workflows:z$1.string(),api:z$1.string(),links:z$1.string(),modules:z$1.string(),vendor:z$1.string(),admin:z$1.string(),lib:z$1.string()}),registries:Ut.optional()}).strict(),Bt=W.extend({resolvedPaths:z$1.object({cwd:z$1.string(),workflows:z$1.string(),api:z$1.string(),links:z$1.string(),modules:z$1.string(),vendor:z$1.string(),admin:z$1.string(),lib:z$1.string()})});async function O(e,t){return createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx"])}var oi="packages/api/src/workflows",si="packages/api/src/api",ni="packages/api/src/links",ai="packages/api/src/modules",di="apps/vendor/src",pi="apps/admin/src",mi="packages/api/src/lib",ci=cosmiconfig("blocks",{searchPlaces:["blocks.json"]});async function j(e){let t=await ui(e);return t?await ot(e,t):null}async function ot(e,t){t.registries={...t.registries||{},...I};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${r.message??""}`.trim());return Bt.parse({...t,resolvedPaths:{cwd:e,workflows:await O(t.aliases.workflows,r),api:await O(t.aliases.api,r),links:await O(t.aliases.links,r),modules:await O(t.aliases.modules,r),vendor:await O(t.aliases.vendor,r),admin:await O(t.aliases.admin,r),lib:await O(t.aliases.lib,r)}})}async function ui(e){try{let t=await ci.search(e);if(!t)return null;let r=W.parse(t.config);if(r.registries){for(let i of Object.keys(r.registries))if(i in I)throw new Error(`"${i}" is a built-in registry and cannot be overridden.`)}return r}catch(t){throw t instanceof Error&&t.message.includes("reserved registry")?t:new Le(e,t)}}function B(e){let t={resolvedPaths:{cwd:process.cwd(),admin:"",lib:"",links:"",modules:"",vendor:"",workflows:"",api:""},aliases:{workflows:oi,api:si,links:ni,modules:ai,vendor:di,admin:pi,lib:mi},registries:{...I}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var nt=["**/node_modules/**","public","dist"];async function E(e){let[t,r,i,o,s,n]=await Promise.all([A.pathExists(k__default.resolve(e,"src")),fi(e),ge(e),gi(e),yi(e),hi(e)]);return {isSrcDir:t,aliasPrefix:r,packageJson:i,medusaConfigFile:o?.file??null,medusaVersion:s,mercurVersion:n}}async function fi(e){let t=loadConfig(e);if(t.resultType==="failed")return null;let r=t.paths||{},i=Object.keys(r);if(i.length===0)return null;let o=i[0];return o?.includes("*")?o.replace("/*",""):o?.replace("/","")??null}function ge(e="",t=true){let r=k__default.join(e,"package.json");return A.readJSONSync(r,{throws:t})}async function gi(e){let t=await st.glob("medusa-config.*",{cwd:e,deep:3,ignore:nt});if(!t.length)return null;let r=t[0];return {file:r,dir:k__default.resolve(e,k__default.dirname(r))}}async function yi(e){let r=ge(e,false)?.dependencies?.["@medusajs/framework"];if(r)return r;let i=await st.glob("**/package.json",{cwd:e,deep:3,ignore:nt});for(let o of i){let n=ge(k__default.join(e,k__default.dirname(o)),false)?.dependencies?.["@medusajs/framework"];if(n)return n}return null}async function hi(e){let r=ge(e,false)?.dependencies?.["@mercurjs/cli"];if(r)return r;let i=await st.glob("**/package.json",{cwd:e,deep:3,ignore:nt});for(let o of i){let n=ge(k__default.join(e,k__default.dirname(o)),false)?.dependencies?.["@mercurjs/cli"];if(n)return n}return null}z$1.object({cwd:z$1.string(),blocks:z$1.array(z$1.string()).optional(),yes:z$1.boolean(),overwrite:z$1.boolean(),silent:z$1.boolean()});async function Vt(e){let t={},r=k__default.resolve(e.cwd);if(!existsSync(r))return t[Nt]=true,{errors:t,config:null};let i=await j(r);if(!i)return t[S]=true,{errors:t,config:null};let o=await E(r);return {errors:t,config:i,projectInfo:o}}var Me={headers:{}};function at(e){Me.headers={...Me.headers,...e};}function qt(e){return Me.headers[e]||{}}function x(){Me.headers={};}function se(e){let t={aliases:{workflows:"packages/api/src/workflows",api:"packages/api/src/api",links:"packages/api/src/links",modules:"packages/api/src/modules",vendor:"apps/vendor/src",admin:"apps/admin/src",lib:"packages/api/src/lib"},registries:I};return {...t,...e||{},aliases:{...t.aliases,...e?.aliases||{}},registries:{...e?.registries||{},...I}}}function ye(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function he(e){let t=[],r=/\${(\w+)}/g,i=r.exec(e);for(;i!==null;){let o=i[1];o&&t.push(o),i=r.exec(e);}return t}var ji=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function ne(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(ji);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var Ht=[".tsx",".ts"],Yt=["lib/utils.ts"],_i=[/^(react|react-dom)(\/.*)?$/,/^(node|jsr|npm):.*$/],Ei=new Project({compilerOptions:{}});function Si(e){if(_i.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function dt(e,t,r,i=new Set){let o=k.resolve(t.resolvedPaths.cwd,e),s=k.relative(t.resolvedPaths.cwd,o);if(Yt.includes(s))return {dependencies:[],files:[]};let n=k.extname(e);if(!Ht.includes(n))return {dependencies:[],files:[]};if(i.has(s))return {dependencies:[],files:[]};i.add(s);try{if(!(await L.stat(o)).isFile())return {dependencies:[],files:[]}}catch{return {dependencies:[],files:[]}}let p=await L.readFile(o,"utf-8"),m=await Ii(k.basename(o)),a=Ei.createSourceFile(m,p,{scriptKind:ScriptKind.TSX}),c=await loadConfig(t.resolvedPaths.cwd);if(c.resultType==="failed")return {dependencies:[],files:[]};let l=[],f=new Set,y=Jt(e),v={path:s,type:y,target:"",content:""};l.push(v);let R=a.getImportDeclarations();for(let M of R){let U=M.getModuleSpecifierValue(),Ce=U.startsWith(".");if(!(r.aliasPrefix&&U.startsWith(`${r.aliasPrefix}/`))&&!Ce){let F=Si(U);F&&f.add(F);continue}let re=await O(U,c);if(Ce&&(re=k.resolve(k.dirname(o),U)),!re)continue;if(!k.extname(re))for(let F of Ht){let Ft=`${re}${F}`;try{await L.access(Ft),re=Ft;break}catch{continue}}let Pe=k.relative(t.resolvedPaths.cwd,re);if(i.has(Pe)||Yt.includes(Pe))continue;let Kr=Jt(U),Zr={path:Pe,type:Kr,target:"",content:""};l.push(Zr);let Te=await dt(Pe,t,r,i);if(Te.files)for(let F of Te.files)i.has(F.path)||(i.add(F.path),l.push(F));Te.dependencies&&Te.dependencies.forEach(F=>f.add(F));}let D=Array.from(new Map(l.map(M=>[M.path,M])).values());return {dependencies:Array.from(f),files:D}}async function Ii(e){let t=await L.mkdtemp(k.join(tmpdir(),"mercur-"));return k.join(t,e)}function Jt(e){return e.includes("/workflows/")?"registry:workflow":e.includes("/api/")?"registry:api":e.includes("/links/")?"registry:link":e.includes("/modules/")?"registry:module":e.includes("/vendor")?"registry:vendor":e.includes("/admin")?"registry:admin":(e.includes("/lib/"),"registry:lib")}function q(e){try{return new URL(e),!0}catch{return false}}function Q(e){return e.endsWith(".json")&&!q(e)}function Ci(e){let t=new Set;if(typeof e=="string")for(let r of he(e))t.add(r);else {for(let r of he(e.url))t.add(r);if(e.params)for(let r of Object.values(e.params))for(let i of he(r))t.add(i);if(e.headers)for(let r of Object.values(e.headers))for(let i of he(r))t.add(i);}return Array.from(t)}function Kt(e,t){let i=Ci(t).filter(o=>!process.env[o]);if(i.length>0)throw new Ne(e,i)}var Ue="{name}",Pi=`${Ue}.json`,Zt=/\${(\w+)}/g,Qt="?",Ti="&";function $i(e){return e.includes(Ue)}function Xt(e){return $i(e)?e:`${e.endsWith("/")?e:`${e}/`}${Pi}`}function we(e,t){let{registry:r,item:i}=ne(e);if(!r)return null;let s=(t?.registries||{})[r];if(!s)throw new J(r);return Kt(r,s),{url:Di(i,s),headers:Fi(s)}}function Di(e,t,r){if(typeof t=="string"){let n=Xt(t).replace(Ue,e);return ye(n)}let o=Xt(t.url).replace(Ue,e);return o=ye(o),t.params?Oi(o,t.params):o}function Fi(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,i]of Object.entries(e.headers)){let o=ye(i);Ni(i,o)&&(t[r]=o);}return t}function Oi(e,t){let r=new URLSearchParams;for(let[s,n]of Object.entries(t)){let p=ye(n);p&&r.append(s,p);}let i=r.toString();if(!i)return e;let o=e.includes(Qt)?Ti:Qt;return `${e}${o}${i}`}function Ni(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(Zt)){let o=e.replace(Zt,"").trim();return r!==o}return true}function er(e){return q(e)||Q(e)?e:`${fe}/${e}`}var ze=new Map;async function Ai(e){let t=e;t.startsWith("file://")&&(t=t.slice(7)),t.startsWith("~/")&&(t=k__default.join(homedir(),t.slice(2)));let r=k__default.resolve(t);try{let i=await promises.readFile(r,"utf8");return JSON.parse(i)}catch(i){throw i instanceof Error&&(i.message.includes("ENOENT")||i.message.includes("no such file"))?new K(e,i):new K(e,i)}}async function X(e){return await Promise.all(e.map(async r=>{let i=er(r);if(ze.has(i))return ze.get(i);if(Q(i)){let s=Ai(i);return ze.set(i,s),s}let o=(async()=>{let s=qt(i),n=await fetch(i,{headers:{...s}});if(!n.ok){let p;if(n.headers.get("content-type")?.includes("application/json")){let m=await n.json(),a=z$1.object({detail:z$1.string().optional(),title:z$1.string().optional(),message:z$1.string().optional(),error:z$1.string().optional()}).safeParse(m);a.success&&(p=a.data.detail||a.data.message,a.data.error&&(p=`[${a.data.error}] ${p}`));}throw n.status===401?new De(i,p):n.status===404?new oe(i,p):n.status===403?new Fe(i,p):new Oe(i,n.status,p)}return n.json()})();return ze.set(i,o),o}))}async function ir(e){try{let t=e;e.startsWith("~/")&&(t=k__default.join(homedir(),e.slice(2)));let r=k__default.resolve(t),i=await promises.readFile(r,"utf8"),o=JSON.parse(i);try{return T.parse(o)}catch(s){throw new C(e,s)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new K(e,t):t instanceof C?t:new K(e,t)}}T.extend({_source:z$1.string().optional()});function pt(e,t){let r={},i=[...e];if(!t?.registries)return at({}),i;for(let o=0;o<i.length;o++){let s=we(i[o],t);s&&(i[o]=s.url,Object.keys(s.headers).length>0&&(r[s.url]=s.headers));}return at(r),i}async function Be(e,t){return await Promise.all(e.map(async i=>{if(Q(i))return ir(i);if(q(i)){let[n]=await X([i]);try{return T.parse(n)}catch(p){throw new C(i,p)}}if(i.startsWith("@")&&t?.registries){let n=pt([i],t),[p]=await X(n);try{return T.parse(p)}catch(m){throw new C(i,m)}}let o=`${fe}/${i}.json`,[s]=await X([o]);try{return T.parse(s)}catch(n){throw new C(i,n)}}))}async function mt(e,t){let r=[],i=[],o=Array.from(new Set(e)),s=await Be(o,t),n=new Map;for(let a=0;a<s.length;a++)s[a]&&n.set(o[a],s[a]);for(let[a,c]of Array.from(n.entries())){let l={...c,_source:a};if(r.push(l),c.registryDependencies){let f=c.registryDependencies;if(t?.registries)f=pt(c.registryDependencies,t);else {let v=c.registryDependencies.filter(R=>R.startsWith("@"));if(v.length>0){let{registry:R}=ne(v[0]);throw new J(R)}}let{blocks:y}=await nr(f,t,new Set(o));i.push(...y);}}r.push(...i);let p=new Map;for(let a of r){let c=a._source||a.name;p.set(a,c);}return r=zi(r,p),Mt.parse({dependencies:or.all(r.map(a=>a.dependencies??[])),devDependencies:or.all(r.map(a=>a.devDependencies??[])),files:Wi(r.map(a=>a.files??[])),docs:r.map(a=>a.docs).filter(Boolean).join(`
|
|
15
|
+
`)})}async function nr(e,t,r=new Set){let i=[];for(let o of e){if(r.has(o))continue;if(r.add(o),o.startsWith("@")&&t?.registries){let{registry:n}=ne(o);if(n&&!(n in t.registries))throw new J(n)}let[s]=await Be([o],t);if(s&&(i.push({...s,_source:o}),s.registryDependencies)){let n=t?.registries?pt(s.registryDependencies,t):s.registryDependencies,p=await nr(n,t,r);i.push(...p.blocks);}}return {blocks:i}}function H(e,t){let r=t||e.name,i=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${i}`}function Ui(e){if(q(e)){let i=new URL(e).pathname,o=i.match(/\/([^/]+)\.json$/),s=o?o[1]:k__default.basename(i,".json");return {name:s,hash:H({name:s},e)}}if(Q(e)){let r=e.match(/\/([^/]+)\.json$/),i=r?r[1]:k__default.basename(e,".json");return {name:i,hash:H({name:i},e)}}let{item:t}=ne(e);return {name:t,hash:H({name:t},e)}}function zi(e,t){let r=new Map,i=new Map,o=new Map,s=new Map;for(let a of e){let c=t.get(a)||a.name,l=H(a,c);r.set(l,a),i.set(l,a),o.set(l,0),s.set(l,[]);}let n=new Map;for(let a of e){let c=t.get(a)||a.name,l=H(a,c);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push(l),c!==a.name&&(n.has(c)||n.set(c,[]),n.get(c).push(l));}for(let a of e){let c=t.get(a)||a.name,l=H(a,c);if(a.registryDependencies)for(let f of a.registryDependencies){let y,v=n.get(f)||[];if(v.length===1)y=v[0];else if(v.length>1)y=v[0];else {let{name:R}=Ui(f),D=n.get(R)||[];D.length>0&&(y=D[0]);}y&&r.has(y)&&(s.get(y).push(l),o.set(l,o.get(l)+1));}}let p=[],m=[];for(let[a,c]of o)c===0&&p.push(a);for(;p.length>0;){let a=p.shift(),c=r.get(a);m.push(c);for(let l of s.get(a)){let f=o.get(l)-1;o.set(l,f),f===0&&p.push(l);}}if(m.length!==e.length){let a=Array.from(r.keys()).filter(c=>!m.some(l=>H(l,t.get(l))===c));console.warn(`Warning: Circular dependencies detected. Some items may not be sorted correctly: ${a.join(", ")}`);for(let[c,l]of r.entries())m.some(f=>H(f,t.get(f))===c)||m.push(l);}return m}function Wi(e){let t=new Map,r=[];for(let i of e)if(i)for(let o of i){let s=o.target||o.path;t.has(s)||(t.set(s,o),r.push(o));}return r}var u={error:e=>le.red(e),warn:e=>le.yellow(e),info:e=>le.blue(e),success:e=>le.green(e),dim:e=>le.cyan(e)};var d={error(...e){console.log(u.error(e.join(" ")));},warn(...e){console.log(u.warn(e.join(" ")));},info(...e){console.log(u.info(e.join(" ")));},success(...e){console.log(u.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};function w(e){if(d.break(),d.error("Something went wrong. Please check the error below for more details."),d.error("If the problem persists, please open an issue on GitHub."),d.error(""),typeof e=="string"&&(d.error(e),d.break(),process.exit(1)),e instanceof _&&(e.message&&(d.error(e.cause?"Error:":"Message:"),d.error(e.message)),e.cause&&(d.error(`
|
|
16
16
|
Message:`),d.error(e.cause)),e.suggestion&&(d.error(`
|
|
17
|
-
Suggestion:`),d.error(e.suggestion)),d.break(),process.exit(1)),e instanceof z$1.ZodError){d.error("Validation failed:");for(let t of e.issues){let r=t.path.join(".")||"root";d.error(`- ${u.info(r)}: ${t.message}`);}d.break(),process.exit(1);}e instanceof Error&&(d.error(e.message),d.break(),process.exit(1)),d.break(),process.exit(1);}function h(e,t){return Gi({text:e,isSilent:t?.silent??false})}async function N(e){let t=await detect({programmatic:true,cwd:e});if(t?.startsWith("bun"))return "bun";if(t?.startsWith("yarn"))return "yarn";if(t?.startsWith("pnpm"))return "pnpm";if(t?.startsWith("deno"))return "deno";if(t?.startsWith("npm"))return "npm";let r=process.env.npm_config_user_agent||"";return r.startsWith("bun")?"bun":r.startsWith("yarn")?"yarn":r.startsWith("pnpm")?"pnpm":r.startsWith("deno")?"deno":"npm"}async function
|
|
17
|
+
Suggestion:`),d.error(e.suggestion)),d.break(),process.exit(1)),e instanceof z$1.ZodError){d.error("Validation failed:");for(let t of e.issues){let r=t.path.join(".")||"root";d.error(`- ${u.info(r)}: ${t.message}`);}d.break(),process.exit(1);}e instanceof Error&&(d.error(e.message),d.break(),process.exit(1)),d.break(),process.exit(1);}function h(e,t){return Gi({text:e,isSilent:t?.silent??false})}async function N(e){let t=await detect({programmatic:true,cwd:e});if(t?.startsWith("bun"))return "bun";if(t?.startsWith("yarn"))return "yarn";if(t?.startsWith("pnpm"))return "pnpm";if(t?.startsWith("deno"))return "deno";if(t?.startsWith("npm"))return "npm";let r=process.env.npm_config_user_agent||"";return r.startsWith("bun")?"bun":r.startsWith("yarn")?"yarn":r.startsWith("pnpm")?"pnpm":r.startsWith("deno")?"deno":"npm"}async function ar(e,t,r,i={}){if(e=Array.from(new Set(e||[])),t=Array.from(new Set(t||[])),!e?.length&&!t?.length)return;i={silent:false,...i};let o=h("Installing dependencies.",{silent:i.silent})?.start(),s=await N(r.resolvedPaths.cwd);o?.start(),await qi(s,e,t,r.resolvedPaths.cwd),o?.succeed();}async function qi(e,t,r,i){if(e==="npm")return Hi(t,r,i);if(e==="deno")return Yi(t,r,i);t?.length&&await execa(e,["add",...t],{cwd:i}),r?.length&&await execa(e,["add","-D",...r],{cwd:i});}async function Hi(e,t,r){e.length&&await execa("npm",["install",...e],{cwd:r}),t.length&&await execa("npm",["install","-D",...t],{cwd:r});}async function Yi(e,t,r){e?.length&&await execa("deno",["add",...e.map(i=>`npm:${i}`)],{cwd:r}),t?.length&&await execa("deno",["add","-D",...t.map(i=>`npm:${i}`)],{cwd:r});}function dr(e,t,r={}){let{ignoreImports:i=false}=r,o=e.replace(/\r\n/g,`
|
|
18
18
|
`).trim(),s=t.replace(/\r\n/g,`
|
|
19
|
-
`).trim();if(o===s)return true;if(!i)return false;let n=/^(import\s+(?:type\s+)?(?:\*\s+as\s+\w+|\{[^}]*\}|\w+)?(?:\s*,\s*(?:\{[^}]*\}|\w+))?\s+from\s+["'])([^"']+)(["'])/gm,p=c=>c.replace(n,(l,f,y,v)=>{if(y.startsWith("."))return `${f}${y}${v}`;let R=y.split("/"),D=R[R.length-1];return `${f}@normalized/${D}${v}`}),m=p(o),a=p(s);return m===a}function Ki(e,t){if(e.type==="registry:workflow")return t.resolvedPaths.workflows;if(e.type==="registry:api")return t.resolvedPaths.api;if(e.type==="registry:link")return t.resolvedPaths.links;if(e.type==="registry:module")return t.resolvedPaths.modules;if(e.type==="registry:vendor")return t.resolvedPaths.vendor;if(e.type==="registry:admin")return t.resolvedPaths.admin;if(e.type==="registry:lib")return t.resolvedPaths.lib;throw new Error(`Unknown file type: ${e.type}`)}function Ge(e,t,r){let i=Ki(e,t),o=Zi(e.path,i);return k__default.join(i,o)}function Zi(e,t){let r=e.replace(/^\/|\/$/g,""),i=t.replace(/^\/|\/$/g,""),o=r.split("/"),s=i.split("/");for(let n=s.length-1;n>=0;n--){let p=o.findIndex(m=>m===s[n]);if(p!==-1)return o.slice(p+1).join("/")}return o[o.length-1]}var to=new Project({compilerOptions:{}});async function ro(e){let t=await promises.mkdtemp(k__default.join(tmpdir(),"mercurjs-")),r=k__default.basename(e,k__default.extname(e));return k__default.join(t,`${r}.ts`)}function io(e){switch(k__default.extname(e).toLowerCase()){case ".tsx":case ".ts":return ScriptKind.TS;default:return ScriptKind.Unknown}}async function Ve(e){let t=k__default.extname(e.filename).toLowerCase();if(![".tsx",".ts"].includes(t))return e.raw;let r=io(e.filename),i=await ro(e.filename),o=to.createSourceFile(i,e.raw,{scriptKind:r});for(let s of o.getImportStringLiterals()){let n=oo(s.getLiteralValue(),e.config);s.setLiteralValue(n);}return o.getText()}function oo(e,t){if(e.startsWith("@/workflows/")){let r=e.replace(/^@\/workflows\//,"");return `${t.aliases.workflows}/${r}`}if(e==="@/workflows")return t.aliases.workflows;if(e.startsWith("@/api/")){let r=e.replace(/^@\/api\//,"");return `${t.aliases.api}/${r}`}if(e==="@/api")return t.aliases.api;if(e.startsWith("@/links/")){let r=e.replace(/^@\/links\//,"");return `${t.aliases.links}/${r}`}if(e==="@/links")return t.aliases.links;if(e.startsWith("@/modules/")){let r=e.replace(/^@\/modules\//,"");return `${t.aliases.modules}/${r}`}if(e==="@/modules")return t.aliases.modules;if(e.startsWith("@/vendor/")){let r=e.replace(/^@\/vendor\//,"");return `${t.aliases.vendor}/${r}`}if(e==="@/vendor")return t.aliases.vendor;if(e.startsWith("@/admin/")){let r=e.replace(/^@\/admin\//,"");return `${t.aliases.admin}/${r}`}if(e==="@/admin")return t.aliases.admin;if(e.startsWith("@/lib/")){let r=e.replace(/^@\/lib\//,"");return `${t.aliases.lib}/${r}`}return e==="@/lib"?t.aliases.lib:e}async function
|
|
20
|
-
File: ${u.info(y)}`),uo(U);let{overwrite:Ce}=await
|
|
19
|
+
`).trim();if(o===s)return true;if(!i)return false;let n=/^(import\s+(?:type\s+)?(?:\*\s+as\s+\w+|\{[^}]*\}|\w+)?(?:\s*,\s*(?:\{[^}]*\}|\w+))?\s+from\s+["'])([^"']+)(["'])/gm,p=c=>c.replace(n,(l,f,y,v)=>{if(y.startsWith("."))return `${f}${y}${v}`;let R=y.split("/"),D=R[R.length-1];return `${f}@normalized/${D}${v}`}),m=p(o),a=p(s);return m===a}function Ki(e,t){if(e.type==="registry:workflow")return t.resolvedPaths.workflows;if(e.type==="registry:api")return t.resolvedPaths.api;if(e.type==="registry:link")return t.resolvedPaths.links;if(e.type==="registry:module")return t.resolvedPaths.modules;if(e.type==="registry:vendor")return t.resolvedPaths.vendor;if(e.type==="registry:admin")return t.resolvedPaths.admin;if(e.type==="registry:lib")return t.resolvedPaths.lib;throw new Error(`Unknown file type: ${e.type}`)}function Ge(e,t,r){let i=Ki(e,t),o=Zi(e.path,i);return k__default.join(i,o)}function Zi(e,t){let r=e.replace(/^\/|\/$/g,""),i=t.replace(/^\/|\/$/g,""),o=r.split("/"),s=i.split("/");for(let n=s.length-1;n>=0;n--){let p=o.findIndex(m=>m===s[n]);if(p!==-1)return o.slice(p+1).join("/")}return o[o.length-1]}var to=new Project({compilerOptions:{}});async function ro(e){let t=await promises.mkdtemp(k__default.join(tmpdir(),"mercurjs-")),r=k__default.basename(e,k__default.extname(e));return k__default.join(t,`${r}.ts`)}function io(e){switch(k__default.extname(e).toLowerCase()){case ".tsx":case ".ts":return ScriptKind.TS;default:return ScriptKind.Unknown}}async function Ve(e){let t=k__default.extname(e.filename).toLowerCase();if(![".tsx",".ts"].includes(t))return e.raw;let r=io(e.filename),i=await ro(e.filename),o=to.createSourceFile(i,e.raw,{scriptKind:r});for(let s of o.getImportStringLiterals()){let n=oo(s.getLiteralValue(),e.config);s.setLiteralValue(n);}return o.getText()}function oo(e,t){if(e.startsWith("@/workflows/")){let r=e.replace(/^@\/workflows\//,"");return `${t.aliases.workflows}/${r}`}if(e==="@/workflows")return t.aliases.workflows;if(e.startsWith("@/api/")){let r=e.replace(/^@\/api\//,"");return `${t.aliases.api}/${r}`}if(e==="@/api")return t.aliases.api;if(e.startsWith("@/links/")){let r=e.replace(/^@\/links\//,"");return `${t.aliases.links}/${r}`}if(e==="@/links")return t.aliases.links;if(e.startsWith("@/modules/")){let r=e.replace(/^@\/modules\//,"");return `${t.aliases.modules}/${r}`}if(e==="@/modules")return t.aliases.modules;if(e.startsWith("@/vendor/")){let r=e.replace(/^@\/vendor\//,"");return `${t.aliases.vendor}/${r}`}if(e==="@/vendor")return t.aliases.vendor;if(e.startsWith("@/admin/")){let r=e.replace(/^@\/admin\//,"");return `${t.aliases.admin}/${r}`}if(e==="@/admin")return t.aliases.admin;if(e.startsWith("@/lib/")){let r=e.replace(/^@\/lib\//,"");return `${t.aliases.lib}/${r}`}return e==="@/lib"?t.aliases.lib:e}async function cr(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[],filesDeclined:[]};r={overwrite:false,silent:false,yes:false,...r};let i=h("Updating files.",{silent:r.silent})?.start(),o=await E(t.resolvedPaths.cwd),s=[],n=[],p=[],m=[];for(let l of e){let f=Ge(l,t,{isSrcDir:o?.isSrcDir??false,path:r.path??""}),y=basename(l.path),v=k__default.dirname(f),R=existsSync(f);if(R&&statSync(f).isDirectory())throw new Error(`Cannot write to ${f}: path exists and is a directory. Please provide a file path instead.`);let D=await Ve({filename:l.path,raw:l.content,config:t});if(R&&!r.overwrite){let M=await promises.readFile(f,"utf-8");if(dr(M,D)){p.push(k__default.relative(t.resolvedPaths.cwd,f));continue}if(!r.yes){i.stop();let U=diffLines(M,D);d.info(`
|
|
20
|
+
File: ${u.info(y)}`),uo(U);let{overwrite:Ce}=await lt({type:"confirm",name:"overwrite",message:`The file ${u.info(y)} already exists. Would you like to overwrite?`,initial:false});if(!Ce){m.push(k__default.relative(t.resolvedPaths.cwd,f));continue}}}existsSync(v)||await promises.mkdir(v,{recursive:true}),await promises.writeFile(f,D,"utf-8"),R?n.push(k__default.relative(t.resolvedPaths.cwd,f)):s.push(k__default.relative(t.resolvedPaths.cwd,f));}let a=s.length+n.length,c=p.length+m.length;if(a>0){if(i?.succeed(),c>0&&!r.silent){let l=[];a===1?l.push("1 file updated"):l.push(`${a} files updated`),c===1?l.push("1 file skipped"):l.push(`${c} files skipped`),d.info(`${l.join(", ")}.`);}}else m.length?i?.info("No files were updated."):p.length?i?.info("Already up to date."):i?.info("No files to update.");return {filesCreated:s,filesUpdated:n,filesSkipped:p,filesDeclined:m}}var mo=3;function co(e,t=mo){let r=[],i=new Set;for(let s=0;s<e.length;s++)(e[s]?.added||e[s]?.removed)&&i.add(s);if(i.size===0)return r;let o=new Map;for(let s=0;s<e.length;s++){let n=e[s];if(n)if(n.added||n.removed)o.set(s,"full");else {let p=i.has(s-1),m=i.has(s+1);p&&m?o.set(s,"both"):p?o.set(s,"start"):m&&o.set(s,"end");}}for(let s=0;s<e.length;s++){let n=e[s],p=o.get(s);if(!(!n||!p))if(n.added){let m=n.value.split(`
|
|
21
21
|
`);m[m.length-1]===""&&m.pop();for(let a of m)r.push(`+ ${a}`);}else if(n.removed){let m=n.value.split(`
|
|
22
22
|
`);m[m.length-1]===""&&m.pop();for(let a of m)r.push(`- ${a}`);}else {let m=n.value.split(`
|
|
23
23
|
`);m[m.length-1]===""&&m.pop();let a=[];p==="full"||m.length<=t*2+1?a=m.map(c=>` ${c}`):p==="start"?(a=m.slice(0,t).map(c=>` ${c}`),m.length>t&&a.push(` ... ${m.length-t} lines hidden ...`)):p==="end"?(m.length>t&&a.push(` ... ${m.length-t} lines hidden ...`),a.push(...m.slice(-t).map(c=>` ${c}`))):p==="both"&&(m.length<=t*2+1?a=m.map(c=>` ${c}`):a=[...m.slice(0,t).map(c=>` ${c}`),` ... ${m.length-t*2} lines hidden ...`,...m.slice(-t).map(c=>` ${c}`)]),r.push(...a);}}return r}function uo(e){let t=co(e);if(t.length!==0)for(let r of t)r.startsWith("+ ")?process.stdout.write(`${u.success(r)}
|
|
24
24
|
`):r.startsWith("- ")?process.stdout.write(`${u.error(r)}
|
|
25
25
|
`):r.includes("lines hidden")?process.stdout.write(`${u.info(r)}
|
|
26
26
|
`):process.stdout.write(`${r}
|
|
27
|
-
`);}async function
|
|
28
|
-
You may now add blocks.`),d.break(),await P({type:"init",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){d.break(),w(t);}finally{x();}});async function
|
|
29
|
-
`,"utf8"),i.succeed(),await
|
|
30
|
-
Before you can build the registry, you must create a valid ${u.info("blocks.json")} file by running the ${u.info("init")} command.`),d.break(),process.exit(1);}}var Uo=z$1.object({cwd:z$1.string(),registryFile:z$1.string(),outputDir:z$1.string(),verbose:z$1.boolean().optional().default(false)}),br=new Command().name("registry:build").description("builds the registry").argument("[registry]","path to registry.json file","./registry.json").option("-o, --output <path>","destination directory for json files","./r").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-v, --verbose","verbose output").action(async(e,t)=>{await zo({cwd:k.resolve(t.cwd),registryFile:e,outputDir:t.output,verbose:t.verbose});});async function zo(e){try{let t=Uo.parse(e),[{errors:r,resolvePaths:i,config:o},s]=await Promise.all([jr(t),E(t.cwd)]);(r[S]||!s)&&(d.error(`A ${u.info("blocks.json")} file is required to build the registry. Run ${u.info("mercur init")} to create one.`),d.break(),await P({type:"build",payload:{outcome:"missing_config"}},{cwd:t.cwd}),process.exit(1)),(r[z]||!i)&&(d.error(`We could not find a registry file at ${u.info(k.resolve(t.cwd,t.registryFile))}.`),d.break(),await P({type:"build",payload:{outcome:"missing_registry_file"}},{cwd:t.cwd}),process.exit(1));let n=await L.readFile(i.registryFile,"utf-8"),p=Y.safeParse(JSON.parse(n));p.success||(d.error(`Invalid registry file found at ${u.info(i.registryFile)}.`),d.break(),process.exit(1));let m=h("Building registry..."),a=await Wo(p.data,o,s);for(let c of a.items)c.files=c.files?.filter((l,f,y)=>f===y.findIndex(v=>v.path===l.path)),c.dependencies&&(c.dependencies=c.dependencies.filter((l,f,y)=>f===y.findIndex(v=>v===l)));for(let c of a.items){if(!c.files)continue;m.start(`Building ${c.name}...`),c.$schema=Mt;for(let f of c.files){let y=s.isSrcDir?"src":"",v=k.resolve(i.cwd,y,f.path);try{if(!(await L.stat(v)).isFile())continue;f.content=await L.readFile(v,"utf-8");}catch(R){console.error("Error reading file in registry build:",v,R);continue}}let l=T.safeParse(c);if(!l.success){d.error(`Invalid registry item found for ${u.info(c.name)}.`);continue}await L.writeFile(k.resolve(i.outputDir,`${l.data.name}.json`),JSON.stringify(l.data,null,2));}if(await L.copyFile(i.registryFile,k.resolve(i.outputDir,"registry.json")),m.succeed("Building registry."),t.verbose){h(`The registry has ${u.info(a.items.length.toString())} items:`).succeed();for(let c of a.items){d.log(` - ${c.name}`);for(let l of c.files??[])d.log(` - ${l.path}`);}}await P({type:"build",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){d.break(),w(t);}}async function Wo(e,t,r){for(let i of e.items)if(i.files?.length)for(let o of i.files){let s=await at(o.path,t,r);s.files=s.files?.filter(n=>n.path!==o.path),s.files&&i.files.push(...s.files),s.dependencies&&(i.dependencies=i.dependencies?i.dependencies.concat(s.dependencies):s.dependencies);}return e}var He=".mercur/_generated",te=/route\.(ts|js)$/,Rr={"/admin/api-keys":'typeof import("@medusajs/medusa/api/admin/api-keys/route")',"/admin/api-keys/:id":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/route")',"/admin/api-keys/:id/revoke":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/revoke/route")',"/admin/api-keys/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/sales-channels/route")',"/admin/campaigns":'typeof import("@medusajs/medusa/api/admin/campaigns/route")',"/admin/campaigns/:id":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/route")',"/admin/campaigns/:id/promotions":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/promotions/route")',"/admin/claims":'typeof import("@medusajs/medusa/api/admin/claims/route")',"/admin/claims/:id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/route")',"/admin/claims/:id/cancel":'typeof import("@medusajs/medusa/api/admin/claims/[id]/cancel/route")',"/admin/claims/:id/claim-items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/route")',"/admin/claims/:id/claim-items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/[action_id]/route")',"/admin/claims/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/route")',"/admin/claims/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/[action_id]/route")',"/admin/claims/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/route")',"/admin/claims/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route")',"/admin/claims/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/route")',"/admin/claims/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/[action_id]/route")',"/admin/claims/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/route")',"/admin/claims/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route")',"/admin/claims/:id/request":'typeof import("@medusajs/medusa/api/admin/claims/[id]/request/route")',"/admin/collections":'typeof import("@medusajs/medusa/api/admin/collections/route")',"/admin/collections/:id":'typeof import("@medusajs/medusa/api/admin/collections/[id]/route")',"/admin/collections/:id/products":'typeof import("@medusajs/medusa/api/admin/collections/[id]/products/route")',"/admin/currencies":'typeof import("@medusajs/medusa/api/admin/currencies/route")',"/admin/currencies/:code":'typeof import("@medusajs/medusa/api/admin/currencies/[code]/route")',"/admin/customer-groups":'typeof import("@medusajs/medusa/api/admin/customer-groups/route")',"/admin/customer-groups/:id":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/route")',"/admin/customer-groups/:id/customers":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/customers/route")',"/admin/customers":'typeof import("@medusajs/medusa/api/admin/customers/route")',"/admin/customers/:id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/route")',"/admin/customers/:id/addresses":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/route")',"/admin/customers/:id/addresses/:address_id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/[address_id]/route")',"/admin/customers/:id/customer-groups":'typeof import("@medusajs/medusa/api/admin/customers/[id]/customer-groups/route")',"/admin/draft-orders":'typeof import("@medusajs/medusa/api/admin/draft-orders/route")',"/admin/draft-orders/:id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/route")',"/admin/draft-orders/:id/convert-to-order":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/convert-to-order/route")',"/admin/draft-orders/:id/edit":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/route")',"/admin/draft-orders/:id/edit/confirm":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/confirm/route")',"/admin/draft-orders/:id/edit/items":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/route")',"/admin/draft-orders/:id/edit/items/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/[action_id]/route")',"/admin/draft-orders/:id/edit/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/item/[item_id]/route")',"/admin/draft-orders/:id/edit/promotions":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/promotions/route")',"/admin/draft-orders/:id/edit/request":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/request/route")',"/admin/draft-orders/:id/edit/shipping-methods":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/route")',"/admin/draft-orders/:id/edit/shipping-methods/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/[action_id]/route")',"/admin/draft-orders/:id/edit/shipping-methods/method/:method_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/method/[method_id]/route")',"/admin/exchanges":'typeof import("@medusajs/medusa/api/admin/exchanges/route")',"/admin/exchanges/:id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/route")',"/admin/exchanges/:id/cancel":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/cancel/route")',"/admin/exchanges/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/route")',"/admin/exchanges/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/[action_id]/route")',"/admin/exchanges/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/route")',"/admin/exchanges/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/route")',"/admin/exchanges/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/[action_id]/route")',"/admin/exchanges/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/route")',"/admin/exchanges/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/request":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/request/route")',"/admin/feature-flags":'typeof import("@medusajs/medusa/api/admin/feature-flags/route")',"/admin/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/route")',"/admin/fulfillment-providers/:id/options":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/[id]/options/route")',"/admin/fulfillment-sets/:id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/route")',"/admin/fulfillment-sets/:id/service-zones":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/route")',"/admin/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/admin/fulfillments":'typeof import("@medusajs/medusa/api/admin/fulfillments/route")',"/admin/fulfillments/:id/cancel":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/cancel/route")',"/admin/fulfillments/:id/shipment":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/shipment/route")',"/admin/index/details":'typeof import("@medusajs/medusa/api/admin/index/details/route")',"/admin/index/sync":'typeof import("@medusajs/medusa/api/admin/index/sync/route")',"/admin/inventory-items":'typeof import("@medusajs/medusa/api/admin/inventory-items/route")',"/admin/inventory-items/:id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/route")',"/admin/inventory-items/:id/location-levels":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/route")',"/admin/inventory-items/:id/location-levels/:location_id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/[location_id]/route")',"/admin/inventory-items/:id/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/batch/route")',"/admin/inventory-items/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/location-levels/batch/route")',"/admin/invites":'typeof import("@medusajs/medusa/api/admin/invites/route")',"/admin/invites/:id":'typeof import("@medusajs/medusa/api/admin/invites/[id]/route")',"/admin/invites/:id/resend":'typeof import("@medusajs/medusa/api/admin/invites/[id]/resend/route")',"/admin/invites/accept":'typeof import("@medusajs/medusa/api/admin/invites/accept/route")',"/admin/locales":'typeof import("@medusajs/medusa/api/admin/locales/route")',"/admin/locales/:code":'typeof import("@medusajs/medusa/api/admin/locales/[code]/route")',"/admin/notifications":'typeof import("@medusajs/medusa/api/admin/notifications/route")',"/admin/notifications/:id":'typeof import("@medusajs/medusa/api/admin/notifications/[id]/route")',"/admin/order-changes/:id":'typeof import("@medusajs/medusa/api/admin/order-changes/[id]/route")',"/admin/order-edits":'typeof import("@medusajs/medusa/api/admin/order-edits/route")',"/admin/order-edits/:id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/route")',"/admin/order-edits/:id/confirm":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/confirm/route")',"/admin/order-edits/:id/items":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/route")',"/admin/order-edits/:id/items/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/[action_id]/route")',"/admin/order-edits/:id/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/item/[item_id]/route")',"/admin/order-edits/:id/request":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/request/route")',"/admin/order-edits/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/route")',"/admin/order-edits/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/[action_id]/route")',"/admin/orders":'typeof import("@medusajs/medusa/api/admin/orders/route")',"/admin/orders/:id":'typeof import("@medusajs/medusa/api/admin/orders/[id]/route")',"/admin/orders/:id/archive":'typeof import("@medusajs/medusa/api/admin/orders/[id]/archive/route")',"/admin/orders/:id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/cancel/route")',"/admin/orders/:id/changes":'typeof import("@medusajs/medusa/api/admin/orders/[id]/changes/route")',"/admin/orders/:id/complete":'typeof import("@medusajs/medusa/api/admin/orders/[id]/complete/route")',"/admin/orders/:id/credit-lines":'typeof import("@medusajs/medusa/api/admin/orders/[id]/credit-lines/route")',"/admin/orders/:id/fulfillments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/admin/orders/:id/line-items":'typeof import("@medusajs/medusa/api/admin/orders/[id]/line-items/route")',"/admin/orders/:id/preview":'typeof import("@medusajs/medusa/api/admin/orders/[id]/preview/route")',"/admin/orders/:id/shipping-options":'typeof import("@medusajs/medusa/api/admin/orders/[id]/shipping-options/route")',"/admin/orders/:id/transfer":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/route")',"/admin/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/cancel/route")',"/admin/orders/export":'typeof import("@medusajs/medusa/api/admin/orders/export/route")',"/admin/payment-collections":'typeof import("@medusajs/medusa/api/admin/payment-collections/route")',"/admin/payment-collections/:id":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/route")',"/admin/payment-collections/:id/mark-as-paid":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/mark-as-paid/route")',"/admin/payments":'typeof import("@medusajs/medusa/api/admin/payments/route")',"/admin/payments/:id":'typeof import("@medusajs/medusa/api/admin/payments/[id]/route")',"/admin/payments/:id/capture":'typeof import("@medusajs/medusa/api/admin/payments/[id]/capture/route")',"/admin/payments/:id/refund":'typeof import("@medusajs/medusa/api/admin/payments/[id]/refund/route")',"/admin/payments/payment-providers":'typeof import("@medusajs/medusa/api/admin/payments/payment-providers/route")',"/admin/plugins":'typeof import("@medusajs/medusa/api/admin/plugins/route")',"/admin/price-lists":'typeof import("@medusajs/medusa/api/admin/price-lists/route")',"/admin/price-lists/:id":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/route")',"/admin/price-lists/:id/prices":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/route")',"/admin/price-lists/:id/prices/batch":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/batch/route")',"/admin/price-lists/:id/products":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/products/route")',"/admin/price-preferences":'typeof import("@medusajs/medusa/api/admin/price-preferences/route")',"/admin/price-preferences/:id":'typeof import("@medusajs/medusa/api/admin/price-preferences/[id]/route")',"/admin/product-categories":'typeof import("@medusajs/medusa/api/admin/product-categories/route")',"/admin/product-categories/:id":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/route")',"/admin/product-categories/:id/products":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/products/route")',"/admin/product-tags":'typeof import("@medusajs/medusa/api/admin/product-tags/route")',"/admin/product-tags/:id":'typeof import("@medusajs/medusa/api/admin/product-tags/[id]/route")',"/admin/product-types":'typeof import("@medusajs/medusa/api/admin/product-types/route")',"/admin/product-types/:id":'typeof import("@medusajs/medusa/api/admin/product-types/[id]/route")',"/admin/product-variants":'typeof import("@medusajs/medusa/api/admin/product-variants/route")',"/admin/products":'typeof import("@medusajs/medusa/api/admin/products/route")',"/admin/products/:id":'typeof import("@medusajs/medusa/api/admin/products/[id]/route")',"/admin/products/:id/images/:image_id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/images/[image_id]/variants/batch/route")',"/admin/products/:id/options":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/route")',"/admin/products/:id/options/:option_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/[option_id]/route")',"/admin/products/:id/variants":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/route")',"/admin/products/:id/variants/:variant_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/route")',"/admin/products/:id/variants/:variant_id/images/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/images/batch/route")',"/admin/products/:id/variants/:variant_id/inventory-items":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/route")',"/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/[inventory_item_id]/route")',"/admin/products/:id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/batch/route")',"/admin/products/:id/variants/inventory-items/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/inventory-items/batch/route")',"/admin/products/batch":'typeof import("@medusajs/medusa/api/admin/products/batch/route")',"/admin/products/export":'typeof import("@medusajs/medusa/api/admin/products/export/route")',"/admin/products/import":'typeof import("@medusajs/medusa/api/admin/products/import/route")',"/admin/products/import/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/import/[transaction_id]/confirm/route")',"/admin/products/imports":'typeof import("@medusajs/medusa/api/admin/products/imports/route")',"/admin/products/imports/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/imports/[transaction_id]/confirm/route")',"/admin/promotions":'typeof import("@medusajs/medusa/api/admin/promotions/route")',"/admin/promotions/:id":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/route")',"/admin/promotions/:id/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/[rule_type]/route")',"/admin/promotions/:id/buy-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/buy-rules/batch/route")',"/admin/promotions/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/rules/batch/route")',"/admin/promotions/:id/target-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/target-rules/batch/route")',"/admin/promotions/rule-attribute-options/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/rule-attribute-options/[rule_type]/route")',"/admin/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@medusajs/medusa/api/admin/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/admin/rbac/policies":'typeof import("@medusajs/medusa/api/admin/rbac/policies/route")',"/admin/rbac/policies/:id":'typeof import("@medusajs/medusa/api/admin/rbac/policies/[id]/route")',"/admin/rbac/roles":'typeof import("@medusajs/medusa/api/admin/rbac/roles/route")',"/admin/rbac/roles/:id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/route")',"/admin/rbac/roles/:id/policies":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/route")',"/admin/rbac/roles/:id/policies/:policy_id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/[policy_id]/route")',"/admin/refund-reasons":'typeof import("@medusajs/medusa/api/admin/refund-reasons/route")',"/admin/refund-reasons/:id":'typeof import("@medusajs/medusa/api/admin/refund-reasons/[id]/route")',"/admin/regions":'typeof import("@medusajs/medusa/api/admin/regions/route")',"/admin/regions/:id":'typeof import("@medusajs/medusa/api/admin/regions/[id]/route")',"/admin/reservations":'typeof import("@medusajs/medusa/api/admin/reservations/route")',"/admin/reservations/:id":'typeof import("@medusajs/medusa/api/admin/reservations/[id]/route")',"/admin/return-reasons":'typeof import("@medusajs/medusa/api/admin/return-reasons/route")',"/admin/return-reasons/:id":'typeof import("@medusajs/medusa/api/admin/return-reasons/[id]/route")',"/admin/returns":'typeof import("@medusajs/medusa/api/admin/returns/route")',"/admin/returns/:id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/route")',"/admin/returns/:id/cancel":'typeof import("@medusajs/medusa/api/admin/returns/[id]/cancel/route")',"/admin/returns/:id/dismiss-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/route")',"/admin/returns/:id/dismiss-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/[action_id]/route")',"/admin/returns/:id/receive":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/route")',"/admin/returns/:id/receive-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/route")',"/admin/returns/:id/receive-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/[action_id]/route")',"/admin/returns/:id/receive/confirm":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/confirm/route")',"/admin/returns/:id/request":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request/route")',"/admin/returns/:id/request-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/route")',"/admin/returns/:id/request-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/[action_id]/route")',"/admin/returns/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/route")',"/admin/returns/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/[action_id]/route")',"/admin/sales-channels":'typeof import("@medusajs/medusa/api/admin/sales-channels/route")',"/admin/sales-channels/:id":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/route")',"/admin/sales-channels/:id/products":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/products/route")',"/admin/shipping-option-types":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/route")',"/admin/shipping-option-types/:id":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/[id]/route")',"/admin/shipping-options":'typeof import("@medusajs/medusa/api/admin/shipping-options/route")',"/admin/shipping-options/:id":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/route")',"/admin/shipping-options/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/rules/batch/route")',"/admin/shipping-profiles":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/route")',"/admin/shipping-profiles/:id":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/[id]/route")',"/admin/stock-locations":'typeof import("@medusajs/medusa/api/admin/stock-locations/route")',"/admin/stock-locations/:id":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/route")',"/admin/stock-locations/:id/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-providers/route")',"/admin/stock-locations/:id/fulfillment-sets":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-sets/route")',"/admin/stock-locations/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/sales-channels/route")',"/admin/stores":'typeof import("@medusajs/medusa/api/admin/stores/route")',"/admin/stores/:id":'typeof import("@medusajs/medusa/api/admin/stores/[id]/route")',"/admin/tax-providers":'typeof import("@medusajs/medusa/api/admin/tax-providers/route")',"/admin/tax-rates":'typeof import("@medusajs/medusa/api/admin/tax-rates/route")',"/admin/tax-rates/:id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/route")',"/admin/tax-rates/:id/rules":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/route")',"/admin/tax-rates/:id/rules/:rule_id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/[rule_id]/route")',"/admin/tax-regions":'typeof import("@medusajs/medusa/api/admin/tax-regions/route")',"/admin/tax-regions/:id":'typeof import("@medusajs/medusa/api/admin/tax-regions/[id]/route")',"/admin/translations":'typeof import("@medusajs/medusa/api/admin/translations/route")',"/admin/translations/batch":'typeof import("@medusajs/medusa/api/admin/translations/batch/route")',"/admin/translations/entities":'typeof import("@medusajs/medusa/api/admin/translations/entities/route")',"/admin/translations/settings":'typeof import("@medusajs/medusa/api/admin/translations/settings/route")',"/admin/translations/settings/batch":'typeof import("@medusajs/medusa/api/admin/translations/settings/batch/route")',"/admin/translations/statistics":'typeof import("@medusajs/medusa/api/admin/translations/statistics/route")',"/admin/uploads":'typeof import("@medusajs/medusa/api/admin/uploads/route")',"/admin/uploads/:id":'typeof import("@medusajs/medusa/api/admin/uploads/[id]/route")',"/admin/uploads/presigned-urls":'typeof import("@medusajs/medusa/api/admin/uploads/presigned-urls/route")',"/admin/users":'typeof import("@medusajs/medusa/api/admin/users/route")',"/admin/users/:id":'typeof import("@medusajs/medusa/api/admin/users/[id]/route")',"/admin/users/me":'typeof import("@medusajs/medusa/api/admin/users/me/route")',"/admin/views/:entity/columns":'typeof import("@medusajs/medusa/api/admin/views/[entity]/columns/route")',"/admin/views/:entity/configurations":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/route")',"/admin/views/:entity/configurations/:id":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/[id]/route")',"/admin/views/:entity/configurations/active":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/active/route")',"/admin/workflows-executions":'typeof import("@medusajs/medusa/api/admin/workflows-executions/route")',"/admin/workflows-executions/:id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id/:step_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/[step_id]/subscribe/route")',"/admin/workflows-executions/:workflow_id/run":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/run/route")',"/admin/workflows-executions/:workflow_id/steps/failure":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/failure/route")',"/admin/workflows-executions/:workflow_id/steps/success":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/success/route")',"/admin/workflows-executions/:workflow_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/subscribe/route")',"/auth/:actor_type/:auth_provider":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/route")',"/auth/:actor_type/:auth_provider/callback":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/callback/route")',"/auth/:actor_type/:auth_provider/register":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/register/route")',"/auth/:actor_type/:auth_provider/reset-password":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/reset-password/route")',"/auth/:actor_type/:auth_provider/update":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/update/route")',"/auth/session":'typeof import("@medusajs/medusa/api/auth/session/route")',"/auth/token/refresh":'typeof import("@medusajs/medusa/api/auth/token/refresh/route")',"/store/carts":'typeof import("@medusajs/medusa/api/store/carts/route")',"/store/carts/:id":'typeof import("@medusajs/medusa/api/store/carts/[id]/route")',"/store/carts/:id/complete":'typeof import("@medusajs/medusa/api/store/carts/[id]/complete/route")',"/store/carts/:id/customer":'typeof import("@medusajs/medusa/api/store/carts/[id]/customer/route")',"/store/carts/:id/line-items":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/route")',"/store/carts/:id/line-items/:line_id":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/[line_id]/route")',"/store/carts/:id/promotions":'typeof import("@medusajs/medusa/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@medusajs/medusa/api/store/carts/[id]/shipping-methods/route")',"/store/carts/:id/taxes":'typeof import("@medusajs/medusa/api/store/carts/[id]/taxes/route")',"/store/collections":'typeof import("@medusajs/medusa/api/store/collections/route")',"/store/collections/:id":'typeof import("@medusajs/medusa/api/store/collections/[id]/route")',"/store/currencies":'typeof import("@medusajs/medusa/api/store/currencies/route")',"/store/currencies/:code":'typeof import("@medusajs/medusa/api/store/currencies/[code]/route")',"/store/customers":'typeof import("@medusajs/medusa/api/store/customers/route")',"/store/customers/me":'typeof import("@medusajs/medusa/api/store/customers/me/route")',"/store/customers/me/addresses":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/route")',"/store/customers/me/addresses/:address_id":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/[address_id]/route")',"/store/locales":'typeof import("@medusajs/medusa/api/store/locales/route")',"/store/orders":'typeof import("@medusajs/medusa/api/store/orders/route")',"/store/orders/:id":'typeof import("@medusajs/medusa/api/store/orders/[id]/route")',"/store/orders/:id/transfer/accept":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/accept/route")',"/store/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/cancel/route")',"/store/orders/:id/transfer/decline":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/decline/route")',"/store/orders/:id/transfer/request":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/request/route")',"/store/payment-collections":'typeof import("@medusajs/medusa/api/store/payment-collections/route")',"/store/payment-collections/:id/payment-sessions":'typeof import("@medusajs/medusa/api/store/payment-collections/[id]/payment-sessions/route")',"/store/payment-providers":'typeof import("@medusajs/medusa/api/store/payment-providers/route")',"/store/product-categories":'typeof import("@medusajs/medusa/api/store/product-categories/route")',"/store/product-categories/:id":'typeof import("@medusajs/medusa/api/store/product-categories/[id]/route")',"/store/product-tags":'typeof import("@medusajs/medusa/api/store/product-tags/route")',"/store/product-tags/:id":'typeof import("@medusajs/medusa/api/store/product-tags/[id]/route")',"/store/product-types":'typeof import("@medusajs/medusa/api/store/product-types/route")',"/store/product-types/:id":'typeof import("@medusajs/medusa/api/store/product-types/[id]/route")',"/store/product-variants":'typeof import("@medusajs/medusa/api/store/product-variants/route")',"/store/product-variants/:id":'typeof import("@medusajs/medusa/api/store/product-variants/[id]/route")',"/store/products":'typeof import("@medusajs/medusa/api/store/products/route")',"/store/products/:id":'typeof import("@medusajs/medusa/api/store/products/[id]/route")',"/store/regions":'typeof import("@medusajs/medusa/api/store/regions/route")',"/store/regions/:id":'typeof import("@medusajs/medusa/api/store/regions/[id]/route")',"/store/return-reasons":'typeof import("@medusajs/medusa/api/store/return-reasons/route")',"/store/return-reasons/:id":'typeof import("@medusajs/medusa/api/store/return-reasons/[id]/route")',"/store/returns":'typeof import("@medusajs/medusa/api/store/returns/route")',"/store/shipping-options":'typeof import("@medusajs/medusa/api/store/shipping-options/route")',"/store/shipping-options/:id/calculate":'typeof import("@medusajs/medusa/api/store/shipping-options/[id]/calculate/route")'},kr={"/admin/commission-rates":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/route")',"/admin/commission-rates/:id":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/[id]/route")',"/admin/commission-rates/:id/rules":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/[id]/rules/route")',"/admin/order-groups":'typeof import("@mercurjs/core-plugin/api/admin/order-groups/route")',"/admin/order-groups/:id":'typeof import("@mercurjs/core-plugin/api/admin/order-groups/[id]/route")',"/admin/payouts":'typeof import("@mercurjs/core-plugin/api/admin/payouts/route")',"/admin/payouts/:id":'typeof import("@mercurjs/core-plugin/api/admin/payouts/[id]/route")',"/admin/sellers":'typeof import("@mercurjs/core-plugin/api/admin/sellers/route")',"/admin/sellers/:id":'typeof import("@mercurjs/core-plugin/api/admin/sellers/[id]/route")',"/store/carts/:id/complete":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/complete/route")',"/store/carts/:id/promotions":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/shipping-methods/route")',"/store/order-groups":'typeof import("@mercurjs/core-plugin/api/store/order-groups/route")',"/store/order-groups/:id":'typeof import("@mercurjs/core-plugin/api/store/order-groups/[id]/route")',"/store/sellers":'typeof import("@mercurjs/core-plugin/api/store/sellers/route")',"/store/sellers/:id":'typeof import("@mercurjs/core-plugin/api/store/sellers/[id]/route")',"/store/shipping-options":'typeof import("@mercurjs/core-plugin/api/store/shipping-options/route")',"/vendor/campaigns":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/route")',"/vendor/campaigns/:id":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/[id]/route")',"/vendor/campaigns/:id/promotions":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/[id]/promotions/route")',"/vendor/collections":'typeof import("@mercurjs/core-plugin/api/vendor/collections/route")',"/vendor/collections/:id":'typeof import("@mercurjs/core-plugin/api/vendor/collections/[id]/route")',"/vendor/collections/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/collections/[id]/products/route")',"/vendor/currencies":'typeof import("@mercurjs/core-plugin/api/vendor/currencies/route")',"/vendor/currencies/:code":'typeof import("@mercurjs/core-plugin/api/vendor/currencies/[code]/route")',"/vendor/customers":'typeof import("@mercurjs/core-plugin/api/vendor/customers/route")',"/vendor/customers/:id":'typeof import("@mercurjs/core-plugin/api/vendor/customers/[id]/route")',"/vendor/fulfillment-sets/:id":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/route")',"/vendor/fulfillment-sets/:id/service-zones":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/service-zones/route")',"/vendor/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/vendor/inventory-items":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/route")',"/vendor/inventory-items/:id":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/route")',"/vendor/inventory-items/:id/location-levels":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/route")',"/vendor/inventory-items/:id/location-levels/:location_id":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/[location_id]/route")',"/vendor/inventory-items/:id/location-levels/batch":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/batch/route")',"/vendor/orders":'typeof import("@mercurjs/core-plugin/api/vendor/orders/route")',"/vendor/orders/:id":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/route")',"/vendor/orders/:id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/cancel/route")',"/vendor/orders/:id/changes":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/changes/route")',"/vendor/orders/:id/complete":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/complete/route")',"/vendor/orders/:id/fulfillments":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/vendor/orders/:id/preview":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/preview/route")',"/vendor/payments":'typeof import("@mercurjs/core-plugin/api/vendor/payments/route")',"/vendor/payments/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/route")',"/vendor/payments/:id/capture":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/capture/route")',"/vendor/payments/:id/refund":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/refund/route")',"/vendor/payments/payment-providers":'typeof import("@mercurjs/core-plugin/api/vendor/payments/payment-providers/route")',"/vendor/payout-accounts":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/route")',"/vendor/payout-accounts/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/[id]/route")',"/vendor/payout-accounts/:id/onboarding":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/[id]/onboarding/route")',"/vendor/payouts":'typeof import("@mercurjs/core-plugin/api/vendor/payouts/route")',"/vendor/payouts/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payouts/[id]/route")',"/vendor/price-lists":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/route")',"/vendor/price-lists/:id":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/[id]/route")',"/vendor/price-lists/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/[id]/products/route")',"/vendor/price-preferences":'typeof import("@mercurjs/core-plugin/api/vendor/price-preferences/route")',"/vendor/price-preferences/:id":'typeof import("@mercurjs/core-plugin/api/vendor/price-preferences/[id]/route")',"/vendor/product-categories":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/route")',"/vendor/product-categories/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/[id]/route")',"/vendor/product-categories/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/[id]/products/route")',"/vendor/product-tags":'typeof import("@mercurjs/core-plugin/api/vendor/product-tags/route")',"/vendor/product-tags/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-tags/[id]/route")',"/vendor/product-types":'typeof import("@mercurjs/core-plugin/api/vendor/product-types/route")',"/vendor/product-types/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-types/[id]/route")',"/vendor/products":'typeof import("@mercurjs/core-plugin/api/vendor/products/route")',"/vendor/products/:id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/route")',"/vendor/products/:id/options":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/options/route")',"/vendor/products/:id/options/:option_id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/options/[option_id]/route")',"/vendor/products/:id/variants":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/variants/route")',"/vendor/products/:id/variants/:variant_id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/variants/[variant_id]/route")',"/vendor/promotions":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/route")',"/vendor/promotions/:id":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/route")',"/vendor/promotions/:id/:rule_type":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/[rule_type]/route")',"/vendor/promotions/:id/buy-rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/buy-rules/batch/route")',"/vendor/promotions/:id/rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/rules/batch/route")',"/vendor/promotions/:id/target-rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/target-rules/batch/route")',"/vendor/promotions/rule-attribute-options/:rule_type":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/rule-attribute-options/[rule_type]/route")',"/vendor/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/vendor/refund-reasons":'typeof import("@mercurjs/core-plugin/api/vendor/refund-reasons/route")',"/vendor/refund-reasons/:id":'typeof import("@mercurjs/core-plugin/api/vendor/refund-reasons/[id]/route")',"/vendor/regions":'typeof import("@mercurjs/core-plugin/api/vendor/regions/route")',"/vendor/regions/:id":'typeof import("@mercurjs/core-plugin/api/vendor/regions/[id]/route")',"/vendor/return-reasons":'typeof import("@mercurjs/core-plugin/api/vendor/return-reasons/route")',"/vendor/return-reasons/:id":'typeof import("@mercurjs/core-plugin/api/vendor/return-reasons/[id]/route")',"/vendor/returns":'typeof import("@mercurjs/core-plugin/api/vendor/returns/route")',"/vendor/returns/:id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/route")',"/vendor/returns/:id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/cancel/route")',"/vendor/returns/:id/dismiss-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/dismiss-items/route")',"/vendor/returns/:id/dismiss-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/dismiss-items/[action_id]/route")',"/vendor/returns/:id/receive":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive/route")',"/vendor/returns/:id/receive-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive-items/route")',"/vendor/returns/:id/receive-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive-items/[action_id]/route")',"/vendor/returns/:id/receive/confirm":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive/confirm/route")',"/vendor/returns/:id/request":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request/route")',"/vendor/returns/:id/request-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request-items/route")',"/vendor/returns/:id/request-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request-items/[action_id]/route")',"/vendor/returns/:id/shipping-method":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/shipping-method/route")',"/vendor/returns/:id/shipping-method/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/shipping-method/[action_id]/route")',"/vendor/sales-channels":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/route")',"/vendor/sales-channels/:id":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/[id]/route")',"/vendor/sales-channels/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/[id]/products/route")',"/vendor/sellers":'typeof import("@mercurjs/core-plugin/api/vendor/sellers/route")',"/vendor/sellers/me":'typeof import("@mercurjs/core-plugin/api/vendor/sellers/me/route")',"/vendor/shipping-option-types":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-option-types/route")',"/vendor/shipping-option-types/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-option-types/[id]/route")',"/vendor/shipping-options":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/route")',"/vendor/shipping-options/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/[id]/route")',"/vendor/shipping-options/:id/rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/[id]/rules/batch/route")',"/vendor/shipping-profiles":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-profiles/route")',"/vendor/shipping-profiles/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-profiles/[id]/route")',"/vendor/stock-locations":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/route")',"/vendor/stock-locations/:id":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/route")',"/vendor/stock-locations/:id/fulfillment-providers":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/fulfillment-providers/route")',"/vendor/stock-locations/:id/fulfillment-sets":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/fulfillment-sets/route")',"/vendor/stock-locations/:id/sales-channels":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/sales-channels/route")',"/vendor/uploads":'typeof import("@mercurjs/core-plugin/api/vendor/uploads/route")'};async function ht(e,t={}){let{pathnameFilter:r,ignoreFilter:i,ignorePartFilter:o,sortPathnames:s=true}=t,n=[],p=[e];for(;p.length>0;){let m=await Promise.all(p.map(async a=>{let c={directories:[],pathnames:[]};try{let l=await L__default.readdir(a,{withFileTypes:!0});for(let f of l){if(o&&o(f.name))continue;let y=k__default.join(a,f.name);i&&i(y)||(f.isDirectory()?c.directories.push(y):(!r||r(y))&&c.pathnames.push(y));}}catch(l){if(l.code!=="ENOENT"||a===e)throw l;return null}return c}));p=[];for(let a of m)a&&(p.push(...a.directories),n.push(...a.pathnames));}return s&&n.sort(),n}async function Ye(e){return await L__default.stat(e).catch(()=>null)!==null}async function Je(e){await Ye(e)||await L__default.mkdir(e,{recursive:true});}function ce(e){return e.replace(/\\/g,"/")}function _e(e){return e.split("/").reduce((r,i)=>{if(!i||te.test(i))return r;if(i.startsWith("[")&&i.endsWith("]")){let o=i.slice(1,-1);return `${r}/:${o}`}return `${r}/${i}`},"")||"/"}async function wt(e){return await Ye(e)?(await ht(e,{pathnameFilter:i=>te.test(i),ignorePartFilter:i=>i.startsWith("_")||i==="node_modules"})).map(i=>{let o=k__default.relative(e,i);return {filePath:ce(o),route:_e(ce(o))}}):[]}function vt(e){return e.replace(/[-_]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^[A-Z]/,t=>t.toLowerCase())}function Vo(e){return `../../src/api/${e.replace(/\.ts$/,"")}`}function qo(e){return e.startsWith(":")?`$${vt(e.slice(1))}`:vt(e)}function xr(){return {children:new Map}}function Ho(e){let t=xr();for(let[r,i]of e){let o=r.split("/").filter(Boolean),s=t;for(let n of o){let p=qo(n);s.children.has(p)||s.children.set(p,xr()),s=s.children.get(p);}s.importType=i;}return t}function Er(e,t=" "){let r=[];if(e.importType&&r.push(e.importType),e.children.size>0){let i=[];for(let[o,s]of e.children){let n=Er(s,t+" ");i.push(`${t} ${o}: ${n}`);}r.push(`{
|
|
27
|
+
`);}async function ur(e,t,r){if(r={overwrite:false,silent:false,yes:false,...r},!e.length)return;let i=h("Checking registry.",{silent:r.silent})?.start(),o=await mt(e,se(t));if(!o)return i?.fail(),w(new Error("Failed to fetch items from registry."));i?.succeed();let{filesCreated:s,filesUpdated:n}=await cr(o.files,t,{overwrite:r.overwrite,silent:r.silent,path:r.path,yes:r.yes});(s.length||n.length)&&await ar(o.dependencies,o.devDependencies,t,{silent:r.silent}),o.docs&&d.info(o.docs);}z$1.object({cwd:z$1.string(),yes:z$1.boolean(),defaults:z$1.boolean(),silent:z$1.boolean()});async function lr(e){let t={},r=k__default.resolve(e.cwd);existsSync(r)||(t.MISSING_DIR=true);let i=await E(r);return {errors:t,projectInfo:i}}var ut=class{config;path=join(go.tmpdir(),"mercur");constructor(){this.config=this.createBaseConfig();}createBaseConfig(){return {telemetry_enabled:true,telemetry_email:null}}get(t){return this.config[t]}set(t,r){this.config[t]=r;}all(){return this.config}size(){return Object.keys(this.config).length}has(t){return t in this.config&&this.config[t]!==void 0}del(t){delete this.config[t];}clear(){this.config=this.createBaseConfig();}},ke=new ut;var pe=e=>Function("mm","return import(mm)")(e);function ho(){let e=(...t)=>t.some(r=>!!process.env[r]);return e("MEDUSA_CLOUD_ENVIRONMENT_HANDLE","MEDUSA_CLOUD_SANDBOX_HANDLE","MEDUSA_CLOUD_API_KEY")?"medusa-cloud":e("RENDER","RENDER_URL","RENDER_INTERNAL_HOSTNAME","RENDER_SERVICE_ID")?"render":e("FLY_APP_NAME","FLY_REGION","FLY_ALLOC_ID")?"fly-io":e("RAILWAY_STATIC_URL","RAILWAY_ENVIRONMENT_NAME")?"railway":e("DYNO","HEROKU_APP_NAME")?"heroku":e("DO_DEPLOYMENT_ID","DO_APP_NAME","DIGITALOCEAN")?"digitalocean":e("KOYEB","KOYEB_DEPLOYMENT_ID","KOYEB_APP_NAME")?"koyeb":null}async function gr(){try{let e=await pe("os"),t=e.cpus();return {deploymentVendor:ho(),systemPlatform:e.platform(),systemRelease:e.release(),systemArchitecture:e.arch(),cpuCount:t.length,cpuModel:t.length?t[0].model:null,cpuSpeed:t.length?t[0].speed:null,memory:e.totalmem(),isWSL:await wo(),isDocker:await yr(),isTTY:typeof process<"u"&&process.stdout?process.stdout.isTTY:null}}catch{return {systemPlatform:null,systemRelease:null,systemArchitecture:null,cpuCount:null,cpuModel:null,cpuSpeed:null,memory:null,isWSL:null,isDocker:null,isTTY:null}}}async function wo(){try{if(typeof process>"u"||process?.platform!=="linux")return !1;let e=await pe("fs");return (await pe("os")).release().toLowerCase().includes("microsoft")?!await fr():e.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!await fr():!1}catch{return false}}var vo=async()=>{try{return (await pe("fs")).statSync("/run/.containerenv"),!0}catch{return false}};async function yr(){return await jo()||await bo()}async function jo(){try{return (await pe("fs")).statSync("/.dockerenv"),!0}catch{return false}}async function bo(){try{return (await pe("fs")).readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return false}}async function fr(){return await vo()||await yr()}var qe=e=>createHash("sha256").update(e).digest("base64");var xo=process.env.MERCUR_TELEMETRY_PROXY_URL||"https://telemetry.mercurjs.com/api/v1/events",hr=e=>{ke.set("telemetry_email",e);},wr=e=>{ke.set("telemetry_enabled",e);},_o=()=>ke.get("telemetry_enabled")&&process.env.MERCUR_DISABLE_TELEMETRY!=="true",P=async(e,t)=>{try{if(!_o())return;let r=await E(t.cwd),{projectId:i}=Io(r.packageJson),o={nodeEnv:Eo(),nodeVersion:process.version,mercurVersion:r.mercurVersion,medusaVersion:r.medusaVersion,isSrcDir:r.isSrcDir,aliasPrefix:r.aliasPrefix,config:await j(t.cwd),projectId:i,systemInfo:await gr(),packageManager:await N(t.cwd),email:Co()};await fetch(xo,{body:JSON.stringify({...o,...e}),headers:{"Content-Type":"application/json"},method:"post"});}catch{}};function Eo(){return process.env.NODE_ENV||"development"}var So=()=>{try{let e=execSync("git config --local --get remote.origin.url",{stdio:"pipe",timeout:1e3});return String(e).trim()}catch{return null}},Io=e=>{let t=So();if(t)return {projectId:qe(t)};let r=e.name;if(r)return {projectId:qe(r)};let i=process.cwd();return {projectId:qe(i)}},Co=()=>ke.get("telemetry_email")||void 0;var $o=z$1.object({cwd:z$1.string(),yes:z$1.boolean(),defaults:z$1.boolean(),silent:z$1.boolean()}),jr=new Command().name("init").description("initialize your project and install dependencies").option("-y, --yes","skip confirmation prompt.",true).option("-d, --defaults","use default configuration.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async e=>{try{let t=$o.parse({cwd:k__default.resolve(e.cwd),...e});await ft(t),d.log(`${u.success("Success!")} Project initialization completed.
|
|
28
|
+
You may now add blocks.`),d.break(),await P({type:"init",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){d.break(),w(t);}finally{x();}});async function ft(e){await lr(e);let t=await j(e.cwd),r=t?await Fo(t,e):await Do(e);if(!e.yes){let{proceed:s}=await lt({type:"confirm",name:"proceed",message:`Write configuration to ${u.info("blocks.json")}. Proceed?`,initial:true});s||process.exit(0);}let i=h("Writing blocks.json.").start(),o=k__default.resolve(e.cwd,"blocks.json");return r.registries=Object.fromEntries(Object.entries(r.registries||{}).filter(([s])=>!Object.keys(I).includes(s))),await promises.writeFile(o,`${JSON.stringify(r,null,2)}
|
|
29
|
+
`,"utf8"),i.succeed(),await ot(e.cwd,r)}async function Do(e){if(e.defaults)return W.parse({$schema:$e,aliases:{workflows:"packages/api/src/workflows",api:"packages/api/src/api",links:"packages/api/src/links",modules:"packages/api/src/modules",vendor:"apps/vendor/src",admin:"apps/admin/src",lib:"packages/api/src/lib"},registries:I});d.info("");let t=await lt([{type:"text",name:"workflows",message:`Configure the import alias for ${u.info("workflows")}:`,initial:"packages/api/src/workflows"},{type:"text",name:"api",message:`Configure the import alias for ${u.info("api")}:`,initial:"packages/api/src/api"},{type:"text",name:"links",message:`Configure the import alias for ${u.info("links")}:`,initial:"packages/api/src/links"},{type:"text",name:"modules",message:`Configure the import alias for ${u.info("modules")}:`,initial:"packages/api/src/modules"},{type:"text",name:"vendor",message:`Configure the import alias for ${u.info("vendor")}:`,initial:"apps/vendor/src"},{type:"text",name:"admin",message:`Configure the import alias for ${u.info("admin")}:`,initial:"packages/api/src/admin"},{type:"text",name:"lib",message:`Configure the import alias for ${u.info("lib")}:`,initial:"packages/api/src/lib"}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:$e,aliases:{workflows:t.workflows??"packages/api/src/workflows",api:t.api??"packages/api/src/api",links:t.links??"packages/api/src/links",modules:t.modules??"packages/api/src/modules",vendor:t.vendor??"apps/vendor/src",admin:t.admin??"packages/api/src/admin",lib:t.lib??"packages/api/src/lib"},registries:I})}async function Fo(e,t){if(t.defaults)return W.parse({$schema:$e,aliases:{workflows:"packages/api/src/workflows",api:"packages/api/src/api",links:"packages/api/src/links",modules:"packages/api/src/modules",vendor:"apps/vendor/src",admin:"apps/admin/src",lib:"packages/api/src/lib"},registries:I});let r=await lt([{type:"text",name:"workflows",message:`Configure the import alias for ${u.info("workflows")}:`,initial:e.aliases.workflows},{type:"text",name:"api",message:`Configure the import alias for ${u.info("api")}:`,initial:e.aliases.api},{type:"text",name:"links",message:`Configure the import alias for ${u.info("links")}:`,initial:e.aliases.links},{type:"text",name:"modules",message:`Configure the import alias for ${u.info("modules")}:`,initial:e.aliases.modules},{type:"text",name:"vendor",message:`Configure the import alias for ${u.info("vendor")}:`,initial:e.aliases.vendor},{type:"text",name:"admin",message:`Configure the import alias for ${u.info("admin")}:`,initial:e.aliases.admin},{type:"text",name:"lib",message:`Configure the import alias for ${u.info("lib")}:`,initial:e.aliases.lib}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:e.$schema,aliases:{workflows:r.workflows??e.aliases.workflows,api:r.api??e.aliases.api,links:r.links??e.aliases.links,modules:r.modules??e.aliases.modules,vendor:r.vendor??e.aliases.vendor,admin:r.admin??e.aliases.admin,lib:r.lib??e.aliases.lib}})}var Lo=z$1.object({blocks:z$1.array(z$1.string()).optional(),yes:z$1.boolean(),overwrite:z$1.boolean(),cwd:z$1.string(),silent:z$1.boolean()}),br=new Command().name("add").description("add blocks to your project").argument("[blocks...]","names of blocks to add").option("-y, --yes","skip confirmation prompt.",false).option("-o, --overwrite","overwrite existing files.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async(e,t)=>{try{let r=Lo.parse({blocks:e,cwd:k__default.resolve(t.cwd),...t}),i=await j(r.cwd);i||(i=B({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(d.error("Please specify at least one item to add."),process.exit(1));let{errors:o}=await Vt(r);if(o[S]){let{proceed:s}=await lt({type:"confirm",name:"proceed",message:`You need to create a ${u.info("blocks.json")} file to add items. Proceed?`,initial:!0});s||(d.break(),process.exit(1)),i=await ft({cwd:r.cwd,yes:!0,defaults:!1,silent:r.silent});}if(!i)throw new Error(`Failed to read config at ${u.info(r.cwd)}.`);await ur(r.blocks,i,{overwrite:r.overwrite,silent:r.silent,yes:r.yes,path:r.cwd}),await P({type:"add",payload:{outcome:"success",blocks:r.blocks}},{cwd:r.cwd});}catch(r){d.break(),w(r);}finally{x();}});async function Rr(e){let t={},r={cwd:e.cwd,registryFile:k__default.resolve(e.cwd,e.registryFile),outputDir:k__default.resolve(e.cwd,e.outputDir)};if(!A.existsSync(r.registryFile))return t[z]=true,{errors:t,resolvePaths:null,config:null};if(!A.existsSync(k__default.resolve(e.cwd,"blocks.json")))return t[S]=true,{errors:t,resolvePaths:null,config:null};await A.mkdir(r.outputDir,{recursive:true});try{let i=await j(e.cwd);return {errors:t,config:i,resolvePaths:r}}catch{d.break(),d.error(`An invalid ${u.info("blocks.json")} file was found at ${u.info(e.cwd)}.
|
|
30
|
+
Before you can build the registry, you must create a valid ${u.info("blocks.json")} file by running the ${u.info("init")} command.`),d.break(),process.exit(1);}}var Uo=z$1.object({cwd:z$1.string(),registryFile:z$1.string(),outputDir:z$1.string(),verbose:z$1.boolean().optional().default(false)}),kr=new Command().name("registry:build").description("builds the registry").argument("[registry]","path to registry.json file","./registry.json").option("-o, --output <path>","destination directory for json files","./r").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-v, --verbose","verbose output").action(async(e,t)=>{await zo({cwd:k.resolve(t.cwd),registryFile:e,outputDir:t.output,verbose:t.verbose});});async function zo(e){try{let t=Uo.parse(e),[{errors:r,resolvePaths:i,config:o},s]=await Promise.all([Rr(t),E(t.cwd)]);(r[S]||!s)&&(d.error(`A ${u.info("blocks.json")} file is required to build the registry. Run ${u.info("mercur init")} to create one.`),d.break(),await P({type:"build",payload:{outcome:"missing_config"}},{cwd:t.cwd}),process.exit(1)),(r[z]||!i)&&(d.error(`We could not find a registry file at ${u.info(k.resolve(t.cwd,t.registryFile))}.`),d.break(),await P({type:"build",payload:{outcome:"missing_registry_file"}},{cwd:t.cwd}),process.exit(1));let n=await L.readFile(i.registryFile,"utf-8"),p=Y.safeParse(JSON.parse(n));p.success||(d.error(`Invalid registry file found at ${u.info(i.registryFile)}.`),d.break(),process.exit(1));let m=h("Building registry..."),a=await Wo(p.data,o,s);for(let c of a.items)c.files=c.files?.filter((l,f,y)=>f===y.findIndex(v=>v.path===l.path)),c.dependencies&&(c.dependencies=c.dependencies.filter((l,f,y)=>f===y.findIndex(v=>v===l)));for(let c of a.items){if(!c.files)continue;m.start(`Building ${c.name}...`),c.$schema=zt;for(let f of c.files){let y=s.isSrcDir?"src":"",v=k.resolve(i.cwd,y,f.path);try{if(!(await L.stat(v)).isFile())continue;f.content=await L.readFile(v,"utf-8");}catch(R){console.error("Error reading file in registry build:",v,R);continue}}let l=T.safeParse(c);if(!l.success){d.error(`Invalid registry item found for ${u.info(c.name)}.`);continue}await L.writeFile(k.resolve(i.outputDir,`${l.data.name}.json`),JSON.stringify(l.data,null,2));}if(await L.copyFile(i.registryFile,k.resolve(i.outputDir,"registry.json")),m.succeed("Building registry."),t.verbose){h(`The registry has ${u.info(a.items.length.toString())} items:`).succeed();for(let c of a.items){d.log(` - ${c.name}`);for(let l of c.files??[])d.log(` - ${l.path}`);}}await P({type:"build",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){d.break(),w(t);}}async function Wo(e,t,r){for(let i of e.items)if(i.files?.length)for(let o of i.files){let s=await dt(o.path,t,r);s.files=s.files?.filter(n=>n.path!==o.path),s.files&&i.files.push(...s.files),s.dependencies&&(i.dependencies=i.dependencies?i.dependencies.concat(s.dependencies):s.dependencies);}return e}var He=".mercur/_generated",te=/route\.(ts|js)$/,xr={"/admin/api-keys":'typeof import("@medusajs/medusa/api/admin/api-keys/route")',"/admin/api-keys/:id":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/route")',"/admin/api-keys/:id/revoke":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/revoke/route")',"/admin/api-keys/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/sales-channels/route")',"/admin/campaigns":'typeof import("@medusajs/medusa/api/admin/campaigns/route")',"/admin/campaigns/:id":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/route")',"/admin/campaigns/:id/promotions":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/promotions/route")',"/admin/claims":'typeof import("@medusajs/medusa/api/admin/claims/route")',"/admin/claims/:id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/route")',"/admin/claims/:id/cancel":'typeof import("@medusajs/medusa/api/admin/claims/[id]/cancel/route")',"/admin/claims/:id/claim-items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/route")',"/admin/claims/:id/claim-items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/[action_id]/route")',"/admin/claims/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/route")',"/admin/claims/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/[action_id]/route")',"/admin/claims/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/route")',"/admin/claims/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route")',"/admin/claims/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/route")',"/admin/claims/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/[action_id]/route")',"/admin/claims/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/route")',"/admin/claims/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route")',"/admin/claims/:id/request":'typeof import("@medusajs/medusa/api/admin/claims/[id]/request/route")',"/admin/collections":'typeof import("@medusajs/medusa/api/admin/collections/route")',"/admin/collections/:id":'typeof import("@medusajs/medusa/api/admin/collections/[id]/route")',"/admin/collections/:id/products":'typeof import("@medusajs/medusa/api/admin/collections/[id]/products/route")',"/admin/currencies":'typeof import("@medusajs/medusa/api/admin/currencies/route")',"/admin/currencies/:code":'typeof import("@medusajs/medusa/api/admin/currencies/[code]/route")',"/admin/customer-groups":'typeof import("@medusajs/medusa/api/admin/customer-groups/route")',"/admin/customer-groups/:id":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/route")',"/admin/customer-groups/:id/customers":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/customers/route")',"/admin/customers":'typeof import("@medusajs/medusa/api/admin/customers/route")',"/admin/customers/:id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/route")',"/admin/customers/:id/addresses":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/route")',"/admin/customers/:id/addresses/:address_id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/[address_id]/route")',"/admin/customers/:id/customer-groups":'typeof import("@medusajs/medusa/api/admin/customers/[id]/customer-groups/route")',"/admin/draft-orders":'typeof import("@medusajs/medusa/api/admin/draft-orders/route")',"/admin/draft-orders/:id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/route")',"/admin/draft-orders/:id/convert-to-order":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/convert-to-order/route")',"/admin/draft-orders/:id/edit":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/route")',"/admin/draft-orders/:id/edit/confirm":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/confirm/route")',"/admin/draft-orders/:id/edit/items":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/route")',"/admin/draft-orders/:id/edit/items/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/[action_id]/route")',"/admin/draft-orders/:id/edit/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/item/[item_id]/route")',"/admin/draft-orders/:id/edit/promotions":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/promotions/route")',"/admin/draft-orders/:id/edit/request":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/request/route")',"/admin/draft-orders/:id/edit/shipping-methods":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/route")',"/admin/draft-orders/:id/edit/shipping-methods/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/[action_id]/route")',"/admin/draft-orders/:id/edit/shipping-methods/method/:method_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/method/[method_id]/route")',"/admin/exchanges":'typeof import("@medusajs/medusa/api/admin/exchanges/route")',"/admin/exchanges/:id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/route")',"/admin/exchanges/:id/cancel":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/cancel/route")',"/admin/exchanges/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/route")',"/admin/exchanges/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/[action_id]/route")',"/admin/exchanges/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/route")',"/admin/exchanges/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/route")',"/admin/exchanges/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/[action_id]/route")',"/admin/exchanges/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/route")',"/admin/exchanges/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/request":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/request/route")',"/admin/feature-flags":'typeof import("@medusajs/medusa/api/admin/feature-flags/route")',"/admin/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/route")',"/admin/fulfillment-providers/:id/options":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/[id]/options/route")',"/admin/fulfillment-sets/:id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/route")',"/admin/fulfillment-sets/:id/service-zones":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/route")',"/admin/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/admin/fulfillments":'typeof import("@medusajs/medusa/api/admin/fulfillments/route")',"/admin/fulfillments/:id/cancel":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/cancel/route")',"/admin/fulfillments/:id/shipment":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/shipment/route")',"/admin/index/details":'typeof import("@medusajs/medusa/api/admin/index/details/route")',"/admin/index/sync":'typeof import("@medusajs/medusa/api/admin/index/sync/route")',"/admin/inventory-items":'typeof import("@medusajs/medusa/api/admin/inventory-items/route")',"/admin/inventory-items/:id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/route")',"/admin/inventory-items/:id/location-levels":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/route")',"/admin/inventory-items/:id/location-levels/:location_id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/[location_id]/route")',"/admin/inventory-items/:id/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/batch/route")',"/admin/inventory-items/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/location-levels/batch/route")',"/admin/invites":'typeof import("@medusajs/medusa/api/admin/invites/route")',"/admin/invites/:id":'typeof import("@medusajs/medusa/api/admin/invites/[id]/route")',"/admin/invites/:id/resend":'typeof import("@medusajs/medusa/api/admin/invites/[id]/resend/route")',"/admin/invites/accept":'typeof import("@medusajs/medusa/api/admin/invites/accept/route")',"/admin/locales":'typeof import("@medusajs/medusa/api/admin/locales/route")',"/admin/locales/:code":'typeof import("@medusajs/medusa/api/admin/locales/[code]/route")',"/admin/notifications":'typeof import("@medusajs/medusa/api/admin/notifications/route")',"/admin/notifications/:id":'typeof import("@medusajs/medusa/api/admin/notifications/[id]/route")',"/admin/order-changes/:id":'typeof import("@medusajs/medusa/api/admin/order-changes/[id]/route")',"/admin/order-edits":'typeof import("@medusajs/medusa/api/admin/order-edits/route")',"/admin/order-edits/:id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/route")',"/admin/order-edits/:id/confirm":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/confirm/route")',"/admin/order-edits/:id/items":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/route")',"/admin/order-edits/:id/items/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/[action_id]/route")',"/admin/order-edits/:id/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/item/[item_id]/route")',"/admin/order-edits/:id/request":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/request/route")',"/admin/order-edits/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/route")',"/admin/order-edits/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/[action_id]/route")',"/admin/orders":'typeof import("@medusajs/medusa/api/admin/orders/route")',"/admin/orders/:id":'typeof import("@medusajs/medusa/api/admin/orders/[id]/route")',"/admin/orders/:id/archive":'typeof import("@medusajs/medusa/api/admin/orders/[id]/archive/route")',"/admin/orders/:id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/cancel/route")',"/admin/orders/:id/changes":'typeof import("@medusajs/medusa/api/admin/orders/[id]/changes/route")',"/admin/orders/:id/complete":'typeof import("@medusajs/medusa/api/admin/orders/[id]/complete/route")',"/admin/orders/:id/credit-lines":'typeof import("@medusajs/medusa/api/admin/orders/[id]/credit-lines/route")',"/admin/orders/:id/fulfillments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/admin/orders/:id/line-items":'typeof import("@medusajs/medusa/api/admin/orders/[id]/line-items/route")',"/admin/orders/:id/preview":'typeof import("@medusajs/medusa/api/admin/orders/[id]/preview/route")',"/admin/orders/:id/shipping-options":'typeof import("@medusajs/medusa/api/admin/orders/[id]/shipping-options/route")',"/admin/orders/:id/transfer":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/route")',"/admin/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/cancel/route")',"/admin/orders/export":'typeof import("@medusajs/medusa/api/admin/orders/export/route")',"/admin/payment-collections":'typeof import("@medusajs/medusa/api/admin/payment-collections/route")',"/admin/payment-collections/:id":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/route")',"/admin/payment-collections/:id/mark-as-paid":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/mark-as-paid/route")',"/admin/payments":'typeof import("@medusajs/medusa/api/admin/payments/route")',"/admin/payments/:id":'typeof import("@medusajs/medusa/api/admin/payments/[id]/route")',"/admin/payments/:id/capture":'typeof import("@medusajs/medusa/api/admin/payments/[id]/capture/route")',"/admin/payments/:id/refund":'typeof import("@medusajs/medusa/api/admin/payments/[id]/refund/route")',"/admin/payments/payment-providers":'typeof import("@medusajs/medusa/api/admin/payments/payment-providers/route")',"/admin/plugins":'typeof import("@medusajs/medusa/api/admin/plugins/route")',"/admin/price-lists":'typeof import("@medusajs/medusa/api/admin/price-lists/route")',"/admin/price-lists/:id":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/route")',"/admin/price-lists/:id/prices":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/route")',"/admin/price-lists/:id/prices/batch":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/batch/route")',"/admin/price-lists/:id/products":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/products/route")',"/admin/price-preferences":'typeof import("@medusajs/medusa/api/admin/price-preferences/route")',"/admin/price-preferences/:id":'typeof import("@medusajs/medusa/api/admin/price-preferences/[id]/route")',"/admin/product-categories":'typeof import("@medusajs/medusa/api/admin/product-categories/route")',"/admin/product-categories/:id":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/route")',"/admin/product-categories/:id/products":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/products/route")',"/admin/product-tags":'typeof import("@medusajs/medusa/api/admin/product-tags/route")',"/admin/product-tags/:id":'typeof import("@medusajs/medusa/api/admin/product-tags/[id]/route")',"/admin/product-types":'typeof import("@medusajs/medusa/api/admin/product-types/route")',"/admin/product-types/:id":'typeof import("@medusajs/medusa/api/admin/product-types/[id]/route")',"/admin/product-variants":'typeof import("@medusajs/medusa/api/admin/product-variants/route")',"/admin/products":'typeof import("@medusajs/medusa/api/admin/products/route")',"/admin/products/:id":'typeof import("@medusajs/medusa/api/admin/products/[id]/route")',"/admin/products/:id/images/:image_id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/images/[image_id]/variants/batch/route")',"/admin/products/:id/options":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/route")',"/admin/products/:id/options/:option_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/[option_id]/route")',"/admin/products/:id/variants":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/route")',"/admin/products/:id/variants/:variant_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/route")',"/admin/products/:id/variants/:variant_id/images/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/images/batch/route")',"/admin/products/:id/variants/:variant_id/inventory-items":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/route")',"/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/[inventory_item_id]/route")',"/admin/products/:id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/batch/route")',"/admin/products/:id/variants/inventory-items/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/inventory-items/batch/route")',"/admin/products/batch":'typeof import("@medusajs/medusa/api/admin/products/batch/route")',"/admin/products/export":'typeof import("@medusajs/medusa/api/admin/products/export/route")',"/admin/products/import":'typeof import("@medusajs/medusa/api/admin/products/import/route")',"/admin/products/import/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/import/[transaction_id]/confirm/route")',"/admin/products/imports":'typeof import("@medusajs/medusa/api/admin/products/imports/route")',"/admin/products/imports/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/imports/[transaction_id]/confirm/route")',"/admin/promotions":'typeof import("@medusajs/medusa/api/admin/promotions/route")',"/admin/promotions/:id":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/route")',"/admin/promotions/:id/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/[rule_type]/route")',"/admin/promotions/:id/buy-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/buy-rules/batch/route")',"/admin/promotions/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/rules/batch/route")',"/admin/promotions/:id/target-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/target-rules/batch/route")',"/admin/promotions/rule-attribute-options/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/rule-attribute-options/[rule_type]/route")',"/admin/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@medusajs/medusa/api/admin/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/admin/rbac/policies":'typeof import("@medusajs/medusa/api/admin/rbac/policies/route")',"/admin/rbac/policies/:id":'typeof import("@medusajs/medusa/api/admin/rbac/policies/[id]/route")',"/admin/rbac/roles":'typeof import("@medusajs/medusa/api/admin/rbac/roles/route")',"/admin/rbac/roles/:id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/route")',"/admin/rbac/roles/:id/policies":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/route")',"/admin/rbac/roles/:id/policies/:policy_id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/[policy_id]/route")',"/admin/refund-reasons":'typeof import("@medusajs/medusa/api/admin/refund-reasons/route")',"/admin/refund-reasons/:id":'typeof import("@medusajs/medusa/api/admin/refund-reasons/[id]/route")',"/admin/regions":'typeof import("@medusajs/medusa/api/admin/regions/route")',"/admin/regions/:id":'typeof import("@medusajs/medusa/api/admin/regions/[id]/route")',"/admin/reservations":'typeof import("@medusajs/medusa/api/admin/reservations/route")',"/admin/reservations/:id":'typeof import("@medusajs/medusa/api/admin/reservations/[id]/route")',"/admin/return-reasons":'typeof import("@medusajs/medusa/api/admin/return-reasons/route")',"/admin/return-reasons/:id":'typeof import("@medusajs/medusa/api/admin/return-reasons/[id]/route")',"/admin/returns":'typeof import("@medusajs/medusa/api/admin/returns/route")',"/admin/returns/:id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/route")',"/admin/returns/:id/cancel":'typeof import("@medusajs/medusa/api/admin/returns/[id]/cancel/route")',"/admin/returns/:id/dismiss-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/route")',"/admin/returns/:id/dismiss-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/[action_id]/route")',"/admin/returns/:id/receive":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/route")',"/admin/returns/:id/receive-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/route")',"/admin/returns/:id/receive-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/[action_id]/route")',"/admin/returns/:id/receive/confirm":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/confirm/route")',"/admin/returns/:id/request":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request/route")',"/admin/returns/:id/request-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/route")',"/admin/returns/:id/request-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/[action_id]/route")',"/admin/returns/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/route")',"/admin/returns/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/[action_id]/route")',"/admin/sales-channels":'typeof import("@medusajs/medusa/api/admin/sales-channels/route")',"/admin/sales-channels/:id":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/route")',"/admin/sales-channels/:id/products":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/products/route")',"/admin/shipping-option-types":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/route")',"/admin/shipping-option-types/:id":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/[id]/route")',"/admin/shipping-options":'typeof import("@medusajs/medusa/api/admin/shipping-options/route")',"/admin/shipping-options/:id":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/route")',"/admin/shipping-options/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/rules/batch/route")',"/admin/shipping-profiles":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/route")',"/admin/shipping-profiles/:id":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/[id]/route")',"/admin/stock-locations":'typeof import("@medusajs/medusa/api/admin/stock-locations/route")',"/admin/stock-locations/:id":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/route")',"/admin/stock-locations/:id/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-providers/route")',"/admin/stock-locations/:id/fulfillment-sets":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-sets/route")',"/admin/stock-locations/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/sales-channels/route")',"/admin/stores":'typeof import("@medusajs/medusa/api/admin/stores/route")',"/admin/stores/:id":'typeof import("@medusajs/medusa/api/admin/stores/[id]/route")',"/admin/tax-providers":'typeof import("@medusajs/medusa/api/admin/tax-providers/route")',"/admin/tax-rates":'typeof import("@medusajs/medusa/api/admin/tax-rates/route")',"/admin/tax-rates/:id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/route")',"/admin/tax-rates/:id/rules":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/route")',"/admin/tax-rates/:id/rules/:rule_id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/[rule_id]/route")',"/admin/tax-regions":'typeof import("@medusajs/medusa/api/admin/tax-regions/route")',"/admin/tax-regions/:id":'typeof import("@medusajs/medusa/api/admin/tax-regions/[id]/route")',"/admin/translations":'typeof import("@medusajs/medusa/api/admin/translations/route")',"/admin/translations/batch":'typeof import("@medusajs/medusa/api/admin/translations/batch/route")',"/admin/translations/entities":'typeof import("@medusajs/medusa/api/admin/translations/entities/route")',"/admin/translations/settings":'typeof import("@medusajs/medusa/api/admin/translations/settings/route")',"/admin/translations/settings/batch":'typeof import("@medusajs/medusa/api/admin/translations/settings/batch/route")',"/admin/translations/statistics":'typeof import("@medusajs/medusa/api/admin/translations/statistics/route")',"/admin/uploads":'typeof import("@medusajs/medusa/api/admin/uploads/route")',"/admin/uploads/:id":'typeof import("@medusajs/medusa/api/admin/uploads/[id]/route")',"/admin/uploads/presigned-urls":'typeof import("@medusajs/medusa/api/admin/uploads/presigned-urls/route")',"/admin/users":'typeof import("@medusajs/medusa/api/admin/users/route")',"/admin/users/:id":'typeof import("@medusajs/medusa/api/admin/users/[id]/route")',"/admin/users/me":'typeof import("@medusajs/medusa/api/admin/users/me/route")',"/admin/views/:entity/columns":'typeof import("@medusajs/medusa/api/admin/views/[entity]/columns/route")',"/admin/views/:entity/configurations":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/route")',"/admin/views/:entity/configurations/:id":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/[id]/route")',"/admin/views/:entity/configurations/active":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/active/route")',"/admin/workflows-executions":'typeof import("@medusajs/medusa/api/admin/workflows-executions/route")',"/admin/workflows-executions/:id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id/:step_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/[step_id]/subscribe/route")',"/admin/workflows-executions/:workflow_id/run":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/run/route")',"/admin/workflows-executions/:workflow_id/steps/failure":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/failure/route")',"/admin/workflows-executions/:workflow_id/steps/success":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/success/route")',"/admin/workflows-executions/:workflow_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/subscribe/route")',"/auth/:actor_type/:auth_provider":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/route")',"/auth/:actor_type/:auth_provider/callback":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/callback/route")',"/auth/:actor_type/:auth_provider/register":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/register/route")',"/auth/:actor_type/:auth_provider/reset-password":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/reset-password/route")',"/auth/:actor_type/:auth_provider/update":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/update/route")',"/auth/session":'typeof import("@medusajs/medusa/api/auth/session/route")',"/auth/token/refresh":'typeof import("@medusajs/medusa/api/auth/token/refresh/route")',"/store/carts":'typeof import("@medusajs/medusa/api/store/carts/route")',"/store/carts/:id":'typeof import("@medusajs/medusa/api/store/carts/[id]/route")',"/store/carts/:id/complete":'typeof import("@medusajs/medusa/api/store/carts/[id]/complete/route")',"/store/carts/:id/customer":'typeof import("@medusajs/medusa/api/store/carts/[id]/customer/route")',"/store/carts/:id/line-items":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/route")',"/store/carts/:id/line-items/:line_id":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/[line_id]/route")',"/store/carts/:id/promotions":'typeof import("@medusajs/medusa/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@medusajs/medusa/api/store/carts/[id]/shipping-methods/route")',"/store/carts/:id/taxes":'typeof import("@medusajs/medusa/api/store/carts/[id]/taxes/route")',"/store/collections":'typeof import("@medusajs/medusa/api/store/collections/route")',"/store/collections/:id":'typeof import("@medusajs/medusa/api/store/collections/[id]/route")',"/store/currencies":'typeof import("@medusajs/medusa/api/store/currencies/route")',"/store/currencies/:code":'typeof import("@medusajs/medusa/api/store/currencies/[code]/route")',"/store/customers":'typeof import("@medusajs/medusa/api/store/customers/route")',"/store/customers/me":'typeof import("@medusajs/medusa/api/store/customers/me/route")',"/store/customers/me/addresses":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/route")',"/store/customers/me/addresses/:address_id":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/[address_id]/route")',"/store/locales":'typeof import("@medusajs/medusa/api/store/locales/route")',"/store/orders":'typeof import("@medusajs/medusa/api/store/orders/route")',"/store/orders/:id":'typeof import("@medusajs/medusa/api/store/orders/[id]/route")',"/store/orders/:id/transfer/accept":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/accept/route")',"/store/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/cancel/route")',"/store/orders/:id/transfer/decline":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/decline/route")',"/store/orders/:id/transfer/request":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/request/route")',"/store/payment-collections":'typeof import("@medusajs/medusa/api/store/payment-collections/route")',"/store/payment-collections/:id/payment-sessions":'typeof import("@medusajs/medusa/api/store/payment-collections/[id]/payment-sessions/route")',"/store/payment-providers":'typeof import("@medusajs/medusa/api/store/payment-providers/route")',"/store/product-categories":'typeof import("@medusajs/medusa/api/store/product-categories/route")',"/store/product-categories/:id":'typeof import("@medusajs/medusa/api/store/product-categories/[id]/route")',"/store/product-tags":'typeof import("@medusajs/medusa/api/store/product-tags/route")',"/store/product-tags/:id":'typeof import("@medusajs/medusa/api/store/product-tags/[id]/route")',"/store/product-types":'typeof import("@medusajs/medusa/api/store/product-types/route")',"/store/product-types/:id":'typeof import("@medusajs/medusa/api/store/product-types/[id]/route")',"/store/product-variants":'typeof import("@medusajs/medusa/api/store/product-variants/route")',"/store/product-variants/:id":'typeof import("@medusajs/medusa/api/store/product-variants/[id]/route")',"/store/products":'typeof import("@medusajs/medusa/api/store/products/route")',"/store/products/:id":'typeof import("@medusajs/medusa/api/store/products/[id]/route")',"/store/regions":'typeof import("@medusajs/medusa/api/store/regions/route")',"/store/regions/:id":'typeof import("@medusajs/medusa/api/store/regions/[id]/route")',"/store/return-reasons":'typeof import("@medusajs/medusa/api/store/return-reasons/route")',"/store/return-reasons/:id":'typeof import("@medusajs/medusa/api/store/return-reasons/[id]/route")',"/store/returns":'typeof import("@medusajs/medusa/api/store/returns/route")',"/store/shipping-options":'typeof import("@medusajs/medusa/api/store/shipping-options/route")',"/store/shipping-options/:id/calculate":'typeof import("@medusajs/medusa/api/store/shipping-options/[id]/calculate/route")'},_r={"/admin/commission-rates":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/route")',"/admin/commission-rates/:id":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/[id]/route")',"/admin/commission-rates/:id/rules":'typeof import("@mercurjs/core-plugin/api/admin/commission-rates/[id]/rules/route")',"/admin/order-groups":'typeof import("@mercurjs/core-plugin/api/admin/order-groups/route")',"/admin/order-groups/:id":'typeof import("@mercurjs/core-plugin/api/admin/order-groups/[id]/route")',"/admin/payouts":'typeof import("@mercurjs/core-plugin/api/admin/payouts/route")',"/admin/payouts/:id":'typeof import("@mercurjs/core-plugin/api/admin/payouts/[id]/route")',"/admin/sellers":'typeof import("@mercurjs/core-plugin/api/admin/sellers/route")',"/admin/sellers/:id":'typeof import("@mercurjs/core-plugin/api/admin/sellers/[id]/route")',"/store/carts/:id/complete":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/complete/route")',"/store/carts/:id/promotions":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@mercurjs/core-plugin/api/store/carts/[id]/shipping-methods/route")',"/store/order-groups":'typeof import("@mercurjs/core-plugin/api/store/order-groups/route")',"/store/order-groups/:id":'typeof import("@mercurjs/core-plugin/api/store/order-groups/[id]/route")',"/store/sellers":'typeof import("@mercurjs/core-plugin/api/store/sellers/route")',"/store/sellers/:id":'typeof import("@mercurjs/core-plugin/api/store/sellers/[id]/route")',"/store/shipping-options":'typeof import("@mercurjs/core-plugin/api/store/shipping-options/route")',"/vendor/campaigns":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/route")',"/vendor/campaigns/:id":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/[id]/route")',"/vendor/campaigns/:id/promotions":'typeof import("@mercurjs/core-plugin/api/vendor/campaigns/[id]/promotions/route")',"/vendor/collections":'typeof import("@mercurjs/core-plugin/api/vendor/collections/route")',"/vendor/collections/:id":'typeof import("@mercurjs/core-plugin/api/vendor/collections/[id]/route")',"/vendor/collections/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/collections/[id]/products/route")',"/vendor/currencies":'typeof import("@mercurjs/core-plugin/api/vendor/currencies/route")',"/vendor/currencies/:code":'typeof import("@mercurjs/core-plugin/api/vendor/currencies/[code]/route")',"/vendor/customers":'typeof import("@mercurjs/core-plugin/api/vendor/customers/route")',"/vendor/customers/:id":'typeof import("@mercurjs/core-plugin/api/vendor/customers/[id]/route")',"/vendor/fulfillment-sets/:id":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/route")',"/vendor/fulfillment-sets/:id/service-zones":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/service-zones/route")',"/vendor/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@mercurjs/core-plugin/api/vendor/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/vendor/inventory-items":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/route")',"/vendor/inventory-items/:id":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/route")',"/vendor/inventory-items/:id/location-levels":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/route")',"/vendor/inventory-items/:id/location-levels/:location_id":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/[location_id]/route")',"/vendor/inventory-items/:id/location-levels/batch":'typeof import("@mercurjs/core-plugin/api/vendor/inventory-items/[id]/location-levels/batch/route")',"/vendor/orders":'typeof import("@mercurjs/core-plugin/api/vendor/orders/route")',"/vendor/orders/:id":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/route")',"/vendor/orders/:id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/cancel/route")',"/vendor/orders/:id/changes":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/changes/route")',"/vendor/orders/:id/complete":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/complete/route")',"/vendor/orders/:id/fulfillments":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/vendor/orders/:id/preview":'typeof import("@mercurjs/core-plugin/api/vendor/orders/[id]/preview/route")',"/vendor/payments":'typeof import("@mercurjs/core-plugin/api/vendor/payments/route")',"/vendor/payments/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/route")',"/vendor/payments/:id/capture":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/capture/route")',"/vendor/payments/:id/refund":'typeof import("@mercurjs/core-plugin/api/vendor/payments/[id]/refund/route")',"/vendor/payments/payment-providers":'typeof import("@mercurjs/core-plugin/api/vendor/payments/payment-providers/route")',"/vendor/payout-accounts":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/route")',"/vendor/payout-accounts/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/[id]/route")',"/vendor/payout-accounts/:id/onboarding":'typeof import("@mercurjs/core-plugin/api/vendor/payout-accounts/[id]/onboarding/route")',"/vendor/payouts":'typeof import("@mercurjs/core-plugin/api/vendor/payouts/route")',"/vendor/payouts/:id":'typeof import("@mercurjs/core-plugin/api/vendor/payouts/[id]/route")',"/vendor/price-lists":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/route")',"/vendor/price-lists/:id":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/[id]/route")',"/vendor/price-lists/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/price-lists/[id]/products/route")',"/vendor/price-preferences":'typeof import("@mercurjs/core-plugin/api/vendor/price-preferences/route")',"/vendor/price-preferences/:id":'typeof import("@mercurjs/core-plugin/api/vendor/price-preferences/[id]/route")',"/vendor/product-categories":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/route")',"/vendor/product-categories/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/[id]/route")',"/vendor/product-categories/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/product-categories/[id]/products/route")',"/vendor/product-tags":'typeof import("@mercurjs/core-plugin/api/vendor/product-tags/route")',"/vendor/product-tags/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-tags/[id]/route")',"/vendor/product-types":'typeof import("@mercurjs/core-plugin/api/vendor/product-types/route")',"/vendor/product-types/:id":'typeof import("@mercurjs/core-plugin/api/vendor/product-types/[id]/route")',"/vendor/products":'typeof import("@mercurjs/core-plugin/api/vendor/products/route")',"/vendor/products/:id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/route")',"/vendor/products/:id/options":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/options/route")',"/vendor/products/:id/options/:option_id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/options/[option_id]/route")',"/vendor/products/:id/variants":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/variants/route")',"/vendor/products/:id/variants/:variant_id":'typeof import("@mercurjs/core-plugin/api/vendor/products/[id]/variants/[variant_id]/route")',"/vendor/promotions":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/route")',"/vendor/promotions/:id":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/route")',"/vendor/promotions/:id/:rule_type":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/[rule_type]/route")',"/vendor/promotions/:id/buy-rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/buy-rules/batch/route")',"/vendor/promotions/:id/rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/rules/batch/route")',"/vendor/promotions/:id/target-rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/[id]/target-rules/batch/route")',"/vendor/promotions/rule-attribute-options/:rule_type":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/rule-attribute-options/[rule_type]/route")',"/vendor/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@mercurjs/core-plugin/api/vendor/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/vendor/refund-reasons":'typeof import("@mercurjs/core-plugin/api/vendor/refund-reasons/route")',"/vendor/refund-reasons/:id":'typeof import("@mercurjs/core-plugin/api/vendor/refund-reasons/[id]/route")',"/vendor/regions":'typeof import("@mercurjs/core-plugin/api/vendor/regions/route")',"/vendor/regions/:id":'typeof import("@mercurjs/core-plugin/api/vendor/regions/[id]/route")',"/vendor/return-reasons":'typeof import("@mercurjs/core-plugin/api/vendor/return-reasons/route")',"/vendor/return-reasons/:id":'typeof import("@mercurjs/core-plugin/api/vendor/return-reasons/[id]/route")',"/vendor/returns":'typeof import("@mercurjs/core-plugin/api/vendor/returns/route")',"/vendor/returns/:id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/route")',"/vendor/returns/:id/cancel":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/cancel/route")',"/vendor/returns/:id/dismiss-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/dismiss-items/route")',"/vendor/returns/:id/dismiss-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/dismiss-items/[action_id]/route")',"/vendor/returns/:id/receive":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive/route")',"/vendor/returns/:id/receive-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive-items/route")',"/vendor/returns/:id/receive-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive-items/[action_id]/route")',"/vendor/returns/:id/receive/confirm":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/receive/confirm/route")',"/vendor/returns/:id/request":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request/route")',"/vendor/returns/:id/request-items":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request-items/route")',"/vendor/returns/:id/request-items/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/request-items/[action_id]/route")',"/vendor/returns/:id/shipping-method":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/shipping-method/route")',"/vendor/returns/:id/shipping-method/:action_id":'typeof import("@mercurjs/core-plugin/api/vendor/returns/[id]/shipping-method/[action_id]/route")',"/vendor/sales-channels":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/route")',"/vendor/sales-channels/:id":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/[id]/route")',"/vendor/sales-channels/:id/products":'typeof import("@mercurjs/core-plugin/api/vendor/sales-channels/[id]/products/route")',"/vendor/sellers":'typeof import("@mercurjs/core-plugin/api/vendor/sellers/route")',"/vendor/sellers/me":'typeof import("@mercurjs/core-plugin/api/vendor/sellers/me/route")',"/vendor/shipping-option-types":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-option-types/route")',"/vendor/shipping-option-types/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-option-types/[id]/route")',"/vendor/shipping-options":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/route")',"/vendor/shipping-options/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/[id]/route")',"/vendor/shipping-options/:id/rules/batch":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-options/[id]/rules/batch/route")',"/vendor/shipping-profiles":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-profiles/route")',"/vendor/shipping-profiles/:id":'typeof import("@mercurjs/core-plugin/api/vendor/shipping-profiles/[id]/route")',"/vendor/stock-locations":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/route")',"/vendor/stock-locations/:id":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/route")',"/vendor/stock-locations/:id/fulfillment-providers":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/fulfillment-providers/route")',"/vendor/stock-locations/:id/fulfillment-sets":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/fulfillment-sets/route")',"/vendor/stock-locations/:id/sales-channels":'typeof import("@mercurjs/core-plugin/api/vendor/stock-locations/[id]/sales-channels/route")',"/vendor/uploads":'typeof import("@mercurjs/core-plugin/api/vendor/uploads/route")'};async function wt(e,t={}){let{pathnameFilter:r,ignoreFilter:i,ignorePartFilter:o,sortPathnames:s=true}=t,n=[],p=[e];for(;p.length>0;){let m=await Promise.all(p.map(async a=>{let c={directories:[],pathnames:[]};try{let l=await L__default.readdir(a,{withFileTypes:!0});for(let f of l){if(o&&o(f.name))continue;let y=k__default.join(a,f.name);i&&i(y)||(f.isDirectory()?c.directories.push(y):(!r||r(y))&&c.pathnames.push(y));}}catch(l){if(l.code!=="ENOENT"||a===e)throw l;return null}return c}));p=[];for(let a of m)a&&(p.push(...a.directories),n.push(...a.pathnames));}return s&&n.sort(),n}async function Ye(e){return await L__default.stat(e).catch(()=>null)!==null}async function Je(e){await Ye(e)||await L__default.mkdir(e,{recursive:true});}function ce(e){return e.replace(/\\/g,"/")}function Ee(e){return e.split("/").reduce((r,i)=>{if(!i||te.test(i))return r;if(i.startsWith("[")&&i.endsWith("]")){let o=i.slice(1,-1);return `${r}/:${o}`}return `${r}/${i}`},"")||"/"}async function vt(e){return await Ye(e)?(await wt(e,{pathnameFilter:i=>te.test(i),ignorePartFilter:i=>i.startsWith("_")||i==="node_modules"})).map(i=>{let o=k__default.relative(e,i);return {filePath:ce(o),route:Ee(ce(o))}}):[]}function jt(e){return e.replace(/[-_]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^[A-Z]/,t=>t.toLowerCase())}function Vo(e){return `../../src/api/${e.replace(/\.ts$/,"")}`}function qo(e){return e.startsWith(":")?`$${jt(e.slice(1))}`:jt(e)}function Er(){return {children:new Map}}function Ho(e){let t=Er();for(let[r,i]of e){let o=r.split("/").filter(Boolean),s=t;for(let n of o){let p=qo(n);s.children.has(p)||s.children.set(p,Er()),s=s.children.get(p);}s.importType=i;}return t}function Ir(e,t=" "){let r=[];if(e.importType&&r.push(e.importType),e.children.size>0){let i=[];for(let[o,s]of e.children){let n=Ir(s,t+" ");i.push(`${t} ${o}: ${n}`);}r.push(`{
|
|
31
31
|
${i.join(`;
|
|
32
32
|
`)};
|
|
33
|
-
${t}}`);}return r.length===0?"{}":r.length===1?r[0]:r.join(" & ")}function
|
|
33
|
+
${t}}`);}return r.length===0?"{}":r.length===1?r[0]:r.join(" & ")}function Cr(e,t){let r=new Map;for(let[n,p]of Object.entries(xr))r.set(n,p);for(let[n,p]of Object.entries(_r))r.set(n,p);let i=t??Vo;for(let n of e){let p=i(n.filePath);r.set(n.route,`typeof import("${p}")`);}let o=Ho(r);return `// This file is generated automatically by Mercur CLI
|
|
34
34
|
// Do not edit this file manually
|
|
35
35
|
|
|
36
|
-
export type Routes = ${
|
|
37
|
-
`}async function
|
|
38
|
-
Before you can run registry:codegen, you must create a valid ${u.info("blocks.json")} file by running the ${u.info("init")} command.`),d.break(),process.exit(1);}}var Jo=z$1.object({cwd:z$1.string(),registryFile:z$1.string()}),
|
|
36
|
+
export type Routes = ${Ir(o,"")};
|
|
37
|
+
`}async function bt(e){let t=k__default.join(e,He,"index.ts"),r=k__default.join(e,"src","api"),i=k__default.dirname(t);await Je(i);let o=await vt(r),s=Cr(o);await L__default.writeFile(t,s,"utf-8");}async function Pr(e,t){let r=k__default.join(e,He,"index.ts"),i=k__default.dirname(r);await Je(i);let o=t.map(p=>{let m=p.indexOf("/api/"),a=m!==-1?p.slice(m+5):p;return {filePath:p,route:Ee(ce(a))}}),n=Cr(o,p=>`../../src/${p.replace(/\.ts$/,"")}`);await L__default.writeFile(r,n,"utf-8");}async function Dr(e){let t={},r={cwd:e.cwd,registryFile:k__default.resolve(e.cwd,e.registryFile)};if(!A.existsSync(r.registryFile))return t[z]=true,{errors:t,resolvePaths:null,config:null};if(!A.existsSync(k__default.resolve(e.cwd,"blocks.json")))return t[S]=true,{errors:t,resolvePaths:null,config:null};try{let i=await j(e.cwd);return {errors:t,config:i,resolvePaths:r}}catch{d.break(),d.error(`An invalid ${u.info("blocks.json")} file was found at ${u.info(e.cwd)}.
|
|
38
|
+
Before you can run registry:codegen, you must create a valid ${u.info("blocks.json")} file by running the ${u.info("init")} command.`),d.break(),process.exit(1);}}var Jo=z$1.object({cwd:z$1.string(),registryFile:z$1.string()}),Or=new Command().name("registry:codegen").description("generate type definitions for registry block API routes").argument("[registry]","path to registry.json file","./registry.json").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{await Ko({cwd:k.resolve(t.cwd),registryFile:e});});async function Ko(e){try{let t=Jo.parse(e),{errors:r,resolvePaths:i}=await Dr(t);r[S]&&(d.error(`A ${u.info("blocks.json")} file is required to run registry:codegen. Run ${u.info("mercur init")} to create one.`),d.break(),process.exit(1)),(r[z]||!i)&&(d.error(`Could not find a registry file at ${u.info(k.resolve(t.cwd,t.registryFile))}.`),d.break(),process.exit(1));let o=await L.readFile(i.registryFile,"utf-8"),s=Y.safeParse(JSON.parse(o));s.success||(d.error(`Invalid registry file at ${u.info(i.registryFile)}.`),d.break(),process.exit(1));let n=[];for(let m of s.data.items)if(m.files)for(let a of m.files)a.type==="registry:api"&&te.test(a.path)&&n.push(a.path);if(n.length===0){d.warn("No API route files found in registry.");return}let p=h("Generating registry route types...");await Pr(t.cwd,n),p.succeed("Registry route types generated successfully."),d.break();}catch(t){d.break(),w(t);}}var Xo=z$1.object({cwd:z$1.string(),watch:z$1.boolean().default(false)}),Nr=new Command().name("codegen").description("generate type definitions for API routes").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-w, --watch","watch for changes and regenerate types",false).action(async e=>{await es({cwd:k.resolve(e.cwd),watch:e.watch});});async function es(e){try{let t=Xo.parse(e),r=h("Generating route types...");await bt(t.cwd),r.succeed("Route types generated successfully."),t.watch?await ts(t.cwd):d.break();}catch(t){d.break(),w(t);}}async function ts(e){let t=k.join(e,"src","api"),r=Qo.watch(".",{cwd:t,persistent:true,ignoreInitial:true}),i=null,o=async()=>{i&&(clearTimeout(i),i=null),await r.close(),d.break(),d.info("Watcher stopped.");},s=async p=>{d.info(`Change detected in ${u.info(p)}. Regenerating...`);try{await bt(e);}catch(m){d.error("Failed to regenerate route types:",m),d.break();}},n=p=>{i&&clearTimeout(i),i=setTimeout(()=>s(p),100);};r.on("add",n).on("change",n).on("unlink",n).on("ready",()=>{d.info("Watching for changes... (Press Ctrl+C to stop)");}).on("error",p=>{d.error("Watcher error:",p),d.break();}),await new Promise(p=>{let m=()=>{o().then(p);};process.once("SIGINT",m),process.once("SIGTERM",m);});}var Et=({contents:e,databaseUri:t})=>{let r=new Set,i=e;return e.includes("DATABASE_URL")||(i+=`
|
|
39
39
|
DATABASE_URL=your-connection-string-here`),i.split(`
|
|
40
40
|
`).map(s=>{if(s.startsWith("#")||!s.includes("="))return s;let[n]=s.split("=");if(n)return n==="DATABASE_URL"&&(s=`DATABASE_URL=${t||"postgresql://localhost:5432/your-database-name"}`),r.has(n)?null:(r.add(n),s)}).filter(Boolean).join(`
|
|
41
|
-
`)},rs=[{path:"packages/api"},{path:"apps/vendor"},{path:"apps/admin"}];async function Ze({projectDir:e,databaseUri:t}){try{await Promise.all(rs.map(async({path:r})=>{let i=k__default.join(e,r);if(!A.existsSync(i))return;let o=k__default.join(i,".env.template"),s=k__default.join(i,".env");if(!r.includes("api")){A.existsSync(o)&&!A.existsSync(s)&&await A.copy(o,s);return}let p="";if(A.existsSync(o)){let m=await A.readFile(o,"utf8");p=
|
|
41
|
+
`)},rs=[{path:"packages/api"},{path:"apps/vendor"},{path:"apps/admin"}];async function Ze({projectDir:e,databaseUri:t}){try{await Promise.all(rs.map(async({path:r})=>{let i=k__default.join(e,r);if(!A.existsSync(i))return;let o=k__default.join(i,".env.template"),s=k__default.join(i,".env");if(!r.includes("api")){A.existsSync(o)&&!A.existsSync(s)&&await A.copy(o,s);return}let p="";if(A.existsSync(o)){let m=await A.readFile(o,"utf8");p=Et({contents:m,databaseUri:t});}if(A.existsSync(s)){let m=await A.readFile(s,"utf8"),a=Et({contents:m,databaseUri:t});await A.writeFile(s,a);}else {let m=Et({contents:p,databaseUri:t});await A.writeFile(s,m);}}));}catch(r){d.error("Unable to manage environment files"),r instanceof Error&&d.error(r.message),process.exit(1);}}var Qe="localhost",Ie=5432,Ct="packages/api",os="admin@mercur-test.com";async function Mr(e){let t=e.projectName.replace(/[^a-zA-Z0-9]/g,"-"),{client:r,dbConnectionString:i}=await ss({dbConnectionString:e.dbConnectionString,dbName:t,spinner:e.spinner});if(!r||!i)return {success:false,dbName:t,connectionString:null};try{return e.spinner&&(e.spinner.text="Checking if database exists..."),await ns(r,t)?(await r.end(),Ar({...e,dbName:t,connectionString:i,alreadyExists:!0})):(e.spinner&&(e.spinner.text=`Creating database "${t}"...`),await r.query(`CREATE DATABASE "${t}"`),await r.end(),Ar({...e,dbName:t,connectionString:i,alreadyExists:!1}))}catch(o){return d.error(`Error creating database${o instanceof Error?`: ${o.message}`:""}.`),await r.end().catch(()=>{}),{success:false,dbName:t,connectionString:null}}}async function Ar(e){let{projectDir:t,spinner:r,dbName:i,connectionString:o,alreadyExists:s}=e;if(await Ze({projectDir:t,databaseUri:o}),!await as({projectDir:t,spinner:r}))return {success:false,dbName:i,connectionString:null};if(!await ps({projectDir:t,spinner:r}))return {success:false,dbName:i,connectionString:null};let m=await ds({projectDir:t});return {success:true,dbName:i,connectionString:o,alreadyExists:s,inviteToken:m}}async function ss({dbConnectionString:e,dbName:t,spinner:r}){if(e)try{let s=new St.Client({connectionString:e});return await s.connect(),{client:s,dbConnectionString:e}}catch(s){return d.error(`Invalid database connection string${s instanceof Error?`: ${s.message}`:""}.`),{client:null,dbConnectionString:null}}let i="postgres",o="";try{let s=new St.Client({user:i,password:o,host:Qe,port:Ie,database:"postgres"});return await s.connect(),{client:s,dbConnectionString:Lr({user:i,password:o,host:Qe,port:Ie,db:t})}}catch{r?.stop();let s=await lt([{type:"text",name:"postgresUsername",message:"Enter your Postgres username",initial:"postgres"},{type:"password",name:"postgresPassword",message:"Enter your Postgres password"}]);if(!s.postgresUsername)return {client:null,dbConnectionString:null};i=s.postgresUsername,o=s.postgresPassword||"",r?.start("Connecting to database...");try{let n=new St.Client({user:i,password:o,host:Qe,port:Ie,database:i});return await n.connect(),{client:n,dbConnectionString:Lr({user:i,password:o,host:Qe,port:Ie,db:t})}}catch(n){return d.error(`Couldn't connect to PostgreSQL${n instanceof Error?`: ${n.message}`:""}.`),{client:null,dbConnectionString:null}}}}async function ns(e,t){return ((await e.query(`SELECT datname FROM pg_catalog.pg_database WHERE datname='${t}';`)).rowCount??0)>0}function Lr({user:e,password:t,host:r,port:i=Ie,db:o}){let s=encodeURIComponent(t);return `postgresql://${e}:${s}@${r}:${i}/${o}`}async function as({projectDir:e,spinner:t}){let r=k__default.join(e,Ct),i=await N(r),o=t||h("Running migrations...").start(),s=i==="yarn"?["yarn","run","build"]:i==="pnpm"?["pnpm","run","build"]:i==="bun"?["bun","run","build"]:["npm","run","build"],n=i==="pnpm"?["pnpm","dlx"]:i==="bun"?["bunx"]:["npx"];try{return o.text="Building project...",await execa(s[0],s.slice(1),{cwd:r}),o.text="Running database migrations...",await execa(n[0],[...n.slice(1),"medusa","db:migrate"],{cwd:r}),t||o.succeed("Migrations completed successfully."),!0}catch(p){return o.fail("Failed to run migrations."),d.error(`Error running migrations${p instanceof Error?`: ${p.message}`:""}.`),false}}async function ds({projectDir:e}){let t=k__default.join(e,Ct),r=await N(t),i=r==="pnpm"?["pnpm","dlx"]:r==="bun"?["bunx"]:["npx"];try{return (await execa(i[0],[...i.slice(1),"medusa","user","-e",os,"--invite"],{cwd:t})).stdout.match(/Invite token: (?<token>.+)/)?.groups?.token||null}catch(o){return d.error(`Error creating admin invite${o instanceof Error?`: ${o.message}`:""}.`),null}}async function ps({projectDir:e,spinner:t}){let r=k__default.join(e,Ct),i=await N(r),o=t||h("Seeding database...").start();try{let s=i==="yarn"?["yarn","seed"]:i==="pnpm"?["pnpm","run","seed"]:i==="bun"?["bun","run","seed"]:["npm","run","seed"];return o.text="Seeding database...",await execa(s[0],s.slice(1),{cwd:r}),t||o.succeed("Database seeded successfully."),!0}catch(s){return o.fail("Failed to seed database."),d.error(`Error seeding database${s instanceof Error?`: ${s.message}`:""}.`),false}}var Ur="canary",Tt=20,vs={basic:"basic"},Wr=new Command().name("create").description("create a new Mercur project").argument("[name]","the name of your project").option("-t, --template <template>","the template to use. e.g. basic or registry").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("--no-deps","skip installing dependencies.").option("--skip-db","skip database configuration.",false).option("--skip-email","skip email prompt.",false).option("--db-connection-string <string>","PostgreSQL connection string.").action(async(e,t)=>{try{Is();let r=e;if(!r){let{enteredName:i}=await lt({type:"text",name:"enteredName",message:"What is your project named?",initial:t.template?`${t.template}-app`:"my-mercur",format:c=>c.trim(),validate:c=>hs(k__default.basename(k__default.resolve(c))).validForNewPackages?!0:"Invalid project name. Name should be lowercase, URL-friendly, and not start with a period or underscore."});i||process.exit(0),r=i;let o=t.template||"basic";if(!t.skipEmail){let{wantsEmail:c}=await lt({type:"confirm",name:"wantsEmail",message:"Mind sharing your email? We reach out for priority support, community events, and invite-only meetups. We never spam.",initial:!1});if(c){let{email:l}=await lt({type:"text",name:"email",message:"Enter your email:",format:f=>f.trim()});l&&hr(l);}}let s=k__default.resolve(t.cwd,r);await js(s);let n=h("Downloading template...").start();await bs({projectDir:s,template:o}),n.succeed("Template downloaded successfully.");let p=await N(s);if(await _s(s,p),!t.deps)h("Dependency installation skipped.").warn();else {let c=h("Installing dependencies...").start(),l=Date.now(),f=await ks({projectDir:s,packageManager:p}),y=((Date.now()-l)/1e3).toFixed(1);f?c.succeed(`Dependencies installed successfully in ${y}s.`):(c.fail("Failed to install dependencies"),await P({type:"create",payload:{outcome:"dependency_installation_failed",packageManager:p}},{cwd:s}),process.exit(1));}let m=t.dbConnectionString,a;if(t.skipDb)h("Database setup skipped.").warn();else {let c=h("Setting up database...").start();a=await Mr({projectDir:s,projectName:r,dbConnectionString:m,spinner:c}),a.success?(a.alreadyExists?c.warn(`Database ${u.info(a.dbName)} already exists. Skipping database creation.`):c.succeed(`Database ${u.info(a.dbName)} setup successfully.`),m=a.connectionString):(c.fail("Failed to setup database."),d.log(zr()),await P({type:"create",payload:{outcome:"database_setup_failed"}},{cwd:s}),process.exit(1));}if(await Ze({projectDir:s,databaseUri:m}),await Es(s),await P({type:"create",payload:{outcome:"created"}},{cwd:s}),h("Mercur project successfully created!").succeed(),a?.success){h("Starting development server...").info();let c=a.inviteToken?`http://localhost:9000/app/invite?token=${a.inviteToken}&first_run=true`:"http://localhost:9000/app",l=exec(`${p==="npm"?"npm run":p} dev`,{cwd:s,env:process.env});l.stdout?.pipe(process.stdout),l.stderr?.pipe(process.stderr),ws({resources:["http://localhost:9000/health"],timeout:6e4}).then(async()=>{try{await fs(c);}catch{h("Open this URL in your browser to create your admin account:").info(),d.log(u.info(c));}}).catch(()=>{h("To create your admin account, visit:").info(),d.log(u.info(c));});}else d.log(le.bgGreen(le.black(" Next Steps "))),d.log(xs(s,p)),d.log(zr()),d.break();}}catch(r){d.break(),w(r);}finally{x();}});async function js(e){await A.pathExists(e)||await A.mkdir(e);}async function bs({projectDir:e,template:t}){let r=`https://codeload.github.com/mercurjs/mercur/tar.gz/${Ur}`,i=vs[t],o=`mercur-${Ur.replace(/^v/,"").replaceAll("/","-")}/templates/${i}/`;await pipeline(await Rs(r),x$1({cwd:e,filter:s=>s.includes(o),strip:2+i.split("/").length}));}async function Rs(e){let t=await fetch(e);if(!t.body)throw new Error(`Failed to download: ${e}`);return Readable.from(t.body)}async function ks({projectDir:e,packageManager:t}){let r="npm",i=["install"];t==="yarn"?(r="yarn",i=[]):t==="pnpm"?(r="pnpm",i=["install"]):t==="bun"&&(r="bun",i=["install"]);try{return await execa(r,i,{cwd:k__default.resolve(e),stdin:"inherit",stdout:"inherit",stderr:"inherit",env:{...process.env,npm_config_yes:"true"}}),!0}catch(o){return d.error(`Error installing dependencies${o instanceof Error?`: ${o.message}`:""}.`),false}}function xs(e,t){let r=k__default.relative(process.cwd(),e),i=o=>le.bold(o);return `
|
|
42
42
|
${i("Launch Application:")}
|
|
43
43
|
|
|
44
44
|
- cd ./${r}
|
|
@@ -46,8 +46,8 @@ ${i("Launch Application:")}
|
|
|
46
46
|
|
|
47
47
|
${i("Documentation:")}
|
|
48
48
|
|
|
49
|
-
- ${
|
|
50
|
-
- ${
|
|
51
|
-
`}function
|
|
52
|
-
File: ${u.info(m.path)}`),
|
|
49
|
+
- ${$t("Getting Started","https://mercurjs.com/docs/getting-started")}
|
|
50
|
+
- ${$t("Configuration","https://mercurjs.com/docs/configuration")}
|
|
51
|
+
`}function zr(){return `${le.bgCyan(le.black(" Have feedback? "))} Visit us on ${$t("GitHub","https://github.com/mercurjs/mercur")}.`}function $t(e,t){return ys(e,t,{fallback:(r,i)=>`${r}: ${le.cyan().underline(i)}`})}async function _s(e,t){let r=k__default.join(e,"package.json"),i=await A.readJSON(r),{stdout:o}=await execa(t,["--version"]);i.packageManager=`${t}@${o.trim()}`,await A.writeJSON(r,i,{spaces:2});}async function Es(e){try{await execa("git",["init"],{cwd:e}),d.info("Initialized a git repository.");}catch{throw new Error("Failed to initialize git repository.")}}function Ss(){let[e]=process.versions.node.split(".").map(Number);return e}function Is(){let e=Ss();if(e<Tt)throw new Error(`Mercur requires at least v${Tt} of Node.js. You're using v${e}. Please install at least v${Tt} and try again: https://nodejs.org/en/download`)}async function Br(e,t){let{config:r}=t||{};if(q(e)){let[n]=await X([e]);try{return Y.parse(n)}catch(p){throw new C(e,p)}}if(!e.startsWith("@"))throw new Ae(e);let i=e;i.endsWith("/registry")||(i=`${i}/registry`);let o=we(i,se(r));if(!o?.url)throw new oe(i);let[s]=await X([o.url]);try{return Y.parse(s)}catch(n){throw new C(i,n)}}async function tt(e,t){let{config:r}=t||{};return x(),Be(e,se(r))}var Fs=z$1.object({blocks:z$1.array(z$1.string()).optional(),cwd:z$1.string()}),Gr=new Command().name("diff").description("check for updates against the registry").argument("[blocks...]","the block names to diff").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=Fs.parse({blocks:e,cwd:k__default.resolve(t.cwd),type:t.type}),i=await j(r.cwd);i||(i=B({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(d.error("Please specify at least one block to diff."),process.exit(1));let o=await tt(r.blocks,{config:i}),s=r.blocks.filter(p=>!o.some(m=>m.name===p));s.length>0&&(d.error(`Blocks ${s.join(", ")} not found in registry.`),process.exit(1));let n=await E(i.resolvedPaths.cwd);for(let p of o)for(let m of p.files){let a=Ge(m,i,{isSrcDir:n?.isSrcDir??!1,path:r.cwd});if(!existsSync(a)){d.info(`File ${a} does not exist locally.`);continue}let c=await promises.readFile(a,"utf-8"),l=await Ve({filename:m.path,raw:m.content,config:i,isRemote:!1}),f=diffLines(c,l);f.length>1&&(d.info(`
|
|
52
|
+
File: ${u.info(m.path)}`),Os(f));}}catch(r){w(r);}finally{x();}});function Os(e){for(let t of e)t&&(t.added?process.stdout.write(u.success(t.value)):t.removed?process.stdout.write(u.error(t.value)):process.stdout.write(t.value));}var Vr=new Command().name("info").description("get information about your project").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{try{d.info("> project info"),console.log(await E(e.cwd)),d.break(),d.info("> blocks.json"),console.log(await j(e.cwd));}catch(t){w(t);}});var Ms=z$1.object({cwd:z$1.string(),query:z$1.string().optional(),registry:z$1.string().optional()}),qr=new Command().name("search").description("search blocks from registries").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-q, --query <query>","query string").option("-r, --registry <registry>","the registry to search from (default: @mercurjs)","@mercurjs").action(async e=>{try{let t=Ms.parse({cwd:k__default.resolve(e.cwd),query:e.query,type:e.type,registry:e.registry}),r=await j(t.cwd);r||(r=B({resolvedPaths:{cwd:t.cwd}}));let o=(await Br(t.registry??"@mercurjs",{config:r})).items;if(t.query){let s=t.query.toLowerCase();o=o.filter(n=>n.name.toLowerCase().includes(s)||n.description?.toLowerCase().includes(s));}console.log(JSON.stringify(o,null,2)),process.exit(0);}catch(t){w(t);}finally{x();}});var Hr=new Command().name("telemetry").description("enable or disable the collection of anonymous usage data. If no option is provided, the command enables the collection of anonymous usage data.").option("--enable","enable telemetry (default)").option("--disable","disable telemetry").action(async e=>{try{let t=!e.disable;wr(t),t?d.success("Telemetry enabled."):d.success("Telemetry disabled.");}catch(t){w(t);}});var Bs=z$1.object({cwd:z$1.string()}),Jr=new Command().name("view").description("view block details from the registry").argument("<blocks...>","the block names to view").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=Bs.parse({cwd:k__default.resolve(t.cwd),type:t.type}),i=await j(r.cwd);i||(i=B({resolvedPaths:{cwd:r.cwd}}));let o=await tt(e,{config:i});console.log(JSON.stringify(o,null,2)),process.exit(0);}catch(r){w(r);}finally{x();}});process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function Vs(){let e=new Command().name("@mercurjs/cli").description("Add blocks from registries to your project").version(Ot.version,"-v, --version","display the version number");e.addCommand(br).addCommand(kr).addCommand(Or).addCommand(Nr).addCommand(Wr).addCommand(Gr).addCommand(Vr).addCommand(jr).addCommand(qr).addCommand(Hr).addCommand(Jr),e.parse();}Vs();export{ei as registryConfigItemSchema,Ut as registryConfigSchema,Ks as registryIndexSchema,At as registryItemFileSchema,T as registryItemSchema,Xr as registryItemTypeSchema,Mt as registryResolvedItemsTreeSchema,Y as registrySchema};//# sourceMappingURL=index.js.map
|
|
53
53
|
//# sourceMappingURL=index.js.map
|