@latticexyz/cli 2.2.15-841a74b149ebb80e4337c8fcf9f38035fb897d6f → 2.2.15-c75aa2008da7b0484ed97b05a5d17ab94c886c93

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.
@@ -28,7 +28,7 @@ Resolved config:
28
28
  Run 'echo "PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" > .env'
29
29
  in your contracts directory to use the default anvil private key.`);return fs(c)}})(),u=ls({transport:ms(i,{batch:e.rpcBatch?{batchSize:100,wait:1e3}:void 0}),account:m}),w=await hs(u),v=e.indexerUrl??Ae.find(c=>c.id===w)?.indexerUrl;console.log("Deploying from",u.account.address);let k=await et(u),P=Date.now(),b=await zo({config:n,deployerAddress:e.deployerAddress,salt:o,worldAddress:e.worldAddress,client:u,tables:y,systems:l,libraries:d,modules:g,artifacts:f,indexerUrl:v,chainId:w});(e.worldAddress==null||e.alwaysRunPostDeploy)&&await Yo(n.deploy.postDeployScript,b.address,i,t,e.forgeScriptOptions,!!e.kms),await k?.reset(),console.log(q.green("Deployment completed in",(Date.now()-P)/1e3,"seconds"));let h={worldAddress:b.address,blockNumber:Number(b.deployBlock)};if(e.saveDeployment){let c=Se.join(n.deploy.deploysDirectory,w.toString());ds(c,{recursive:!0}),je(Se.join(c,"latest.json"),JSON.stringify(h,null,2)),je(Se.join(c,Date.now()+".json"),JSON.stringify(h,null,2));let x=[1337,31337],T=is(n.deploy.worldsFile)?JSON.parse(cs(n.deploy.worldsFile,"utf-8")):{};T[w]={address:h.worldAddress,blockNumber:x.includes(w)?void 0:h.blockNumber},je(n.deploy.worldsFile,JSON.stringify(T,null,2)),console.log(q.bgGreen(q.whiteBright(`
30
30
  Deployment result (written to ${n.deploy.worldsFile} and ${c}):
31
- `)))}return console.log(h),b}var Cs={command:"deploy",describe:"Deploy MUD contracts",builder(e){return e.options(I)},async handler(e){try{await Y(e)}catch(o){ae(o),process.exit(1)}process.exit(0)}},ot=Cs;import vs from"node:path";import{loadConfig as As,resolveConfigPath as Ss}from"@latticexyz/config/node";import{worldgen as Ds}from"@latticexyz/world/node";var ks={command:"worldgen",describe:"Autogenerate interfaces for Systems and World based on existing contracts and the config file",builder(e){return e.options({configPath:{type:"string",desc:"Path to the MUD config file"},clean:{type:"boolean",desc:"Clear the worldgen directory before generating new interfaces (defaults to true)",default:!0}})},async handler(e){await Ts(e),process.exit(0)}};async function Ts(e){let o=await Ss(e.configPath),t=await As(o),r=vs.dirname(o);await Ds({rootDir:r,config:t,clean:e.clean})}var tt=ks;import te from"chalk";import{readFileSync as Hs,writeFileSync as Rs}from"fs";import Fe from"path";import{MUDError as G}from"@latticexyz/common/errors";var rt={name:"@latticexyz/cli",version:"2.2.14",description:"Command line interface for mud",repository:{type:"git",url:"https://github.com/latticexyz/mud.git",directory:"packages/cli"},license:"MIT",type:"module",exports:{".":"./dist/index.js"},typesVersions:{"*":{index:["./dist/index.d.ts"]}},bin:{mud:"./bin/mud.js"},files:["bin","dist"],scripts:{build:"pnpm run build:js && pnpm run build:test-tables","build:js":"tsup && chmod +x ./dist/mud.js","build:test-tables":"tsx ./scripts/generate-test-tables.ts",clean:"pnpm run clean:js && pnpm run clean:test-tables","clean:js":"shx rm -rf dist","clean:test-tables":"shx rm -rf src/**/codegen",dev:"tsup --watch",lint:"eslint . --ext .ts",test:"tsc --noEmit && forge test","test:ci":"pnpm run test"},dependencies:{"@ark/util":"catalog:","@aws-sdk/client-kms":"^3.556.0","@latticexyz/abi-ts":"workspace:*","@latticexyz/block-logs-stream":"workspace:*","@latticexyz/common":"workspace:*","@latticexyz/config":"workspace:*","@latticexyz/gas-report":"workspace:*","@latticexyz/protocol-parser":"workspace:*","@latticexyz/schema-type":"workspace:*","@latticexyz/store":"workspace:*","@latticexyz/store-sync":"workspace:*","@latticexyz/utils":"workspace:*","@latticexyz/world":"workspace:*","@latticexyz/world-module-metadata":"workspace:*",abitype:"catalog:","asn1.js":"^5.4.1",chalk:"^5.0.1",chokidar:"^3.5.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.0.0","find-up":"^6.3.0",glob:"^10.4.2",openurl:"^1.1.1","p-queue":"^7.4.1","p-retry":"^5.1.2",path:"^0.12.7",rxjs:"7.5.5","throttle-debounce":"^5.0.0",toposort:"^2.0.2",typescript:"5.4.2",viem:"catalog:",yargs:"^17.7.1",zod:"3.23.8","zod-validation-error":"^1.3.0"},devDependencies:{"@types/debug":"^4.1.7","@types/ejs":"^3.1.1","@types/node":"^18.15.11","@types/openurl":"^1.0.0","@types/throttle-debounce":"^5.0.0","@types/toposort":"^2.0.6","@types/yargs":"^17.0.10","ds-test":"https://github.com/dapphub/ds-test.git#e282159d5170298eb2455a6c05280ab5a73a4ef0","forge-std":"https://github.com/foundry-rs/forge-std.git#74cfb77e308dd188d2f58864aaf44963ae6b88b1",tsup:"^6.7.0",vitest:"0.34.6"}};import{globSync as Is}from"glob";import{ZodError as Os,z as nt}from"zod";var Ms=nt.object({MUD_PACKAGES:nt.string().transform(e=>JSON.parse(e))});function Bs(){try{return Ms.parse({MUD_PACKAGES:'{"@latticexyz/abi-ts":{"localPath":"packages/abi-ts"},"@latticexyz/block-logs-stream":{"localPath":"packages/block-logs-stream"},"@latticexyz/cli":{"localPath":"packages/cli"},"@latticexyz/common":{"localPath":"packages/common"},"@latticexyz/config":{"localPath":"packages/config"},"create-mud":{"localPath":"packages/create-mud"},"@latticexyz/dev-tools":{"localPath":"packages/dev-tools"},"@latticexyz/explorer":{"localPath":"packages/explorer"},"@latticexyz/faucet":{"localPath":"packages/faucet"},"@latticexyz/gas-report":{"localPath":"packages/gas-report"},"@latticexyz/protocol-parser":{"localPath":"packages/protocol-parser"},"@latticexyz/react":{"localPath":"packages/react"},"@latticexyz/recs":{"localPath":"packages/recs"},"@latticexyz/schema-type":{"localPath":"packages/schema-type"},"solhint-config-mud":{"localPath":"packages/solhint-config-mud"},"solhint-plugin-mud":{"localPath":"packages/solhint-plugin-mud"},"@latticexyz/stash":{"localPath":"packages/stash"},"@latticexyz/store-consumer":{"localPath":"packages/store-consumer"},"@latticexyz/store-indexer":{"localPath":"packages/store-indexer"},"@latticexyz/store-sync":{"localPath":"packages/store-sync"},"@latticexyz/store":{"localPath":"packages/store"},"@latticexyz/utils":{"localPath":"packages/utils"},"@latticexyz/world-module-erc20":{"localPath":"packages/world-module-erc20"},"@latticexyz/world-module-metadata":{"localPath":"packages/world-module-metadata"},"@latticexyz/world-modules":{"localPath":"packages/world-modules"},"@latticexyz/world":{"localPath":"packages/world"}}'})}catch(e){if(e instanceof Os){let{...o}=e.format();console.error(`
31
+ `)))}return console.log(h),b}var Cs={command:"deploy",describe:"Deploy MUD contracts",builder(e){return e.options(I)},async handler(e){try{await Y(e)}catch(o){ae(o),process.exit(1)}process.exit(0)}},ot=Cs;import vs from"node:path";import{loadConfig as As,resolveConfigPath as Ss}from"@latticexyz/config/node";import{worldgen as Ds}from"@latticexyz/world/node";var ks={command:"worldgen",describe:"Autogenerate interfaces for Systems and World based on existing contracts and the config file",builder(e){return e.options({configPath:{type:"string",desc:"Path to the MUD config file"},clean:{type:"boolean",desc:"Clear the worldgen directory before generating new interfaces (defaults to true)",default:!0}})},async handler(e){await Ts(e),process.exit(0)}};async function Ts(e){let o=await Ss(e.configPath),t=await As(o),r=vs.dirname(o);await Ds({rootDir:r,config:t,clean:e.clean})}var tt=ks;import te from"chalk";import{readFileSync as Hs,writeFileSync as Rs}from"fs";import Fe from"path";import{MUDError as G}from"@latticexyz/common/errors";var rt={name:"@latticexyz/cli",version:"2.2.14",description:"Command line interface for mud",repository:{type:"git",url:"https://github.com/latticexyz/mud.git",directory:"packages/cli"},license:"MIT",type:"module",exports:{".":"./dist/index.js"},typesVersions:{"*":{index:["./dist/index.d.ts"]}},bin:{mud:"./bin/mud.js"},files:["bin","dist"],scripts:{build:"pnpm run build:js && pnpm run build:test-tables","build:js":"tsup && chmod +x ./dist/mud.js","build:test-tables":"tsx ./scripts/generate-test-tables.ts",clean:"pnpm run clean:js && pnpm run clean:test-tables","clean:js":"shx rm -rf dist","clean:test-tables":"shx rm -rf src/**/codegen",dev:"tsup --watch",lint:"eslint . --ext .ts",test:"tsc --noEmit && forge test","test:ci":"pnpm run test"},dependencies:{"@ark/util":"0.2.2","@aws-sdk/client-kms":"^3.556.0","@latticexyz/abi-ts":"workspace:*","@latticexyz/block-logs-stream":"workspace:*","@latticexyz/common":"workspace:*","@latticexyz/config":"workspace:*","@latticexyz/gas-report":"workspace:*","@latticexyz/protocol-parser":"workspace:*","@latticexyz/schema-type":"workspace:*","@latticexyz/store":"workspace:*","@latticexyz/store-sync":"workspace:*","@latticexyz/utils":"workspace:*","@latticexyz/world":"workspace:*","@latticexyz/world-module-metadata":"workspace:*",abitype:"1.0.6","asn1.js":"^5.4.1",chalk:"^5.0.1",chokidar:"^3.5.3",debug:"^4.3.4",dotenv:"^16.0.3",execa:"^7.0.0","find-up":"^6.3.0",glob:"^10.4.2",openurl:"^1.1.1","p-queue":"^7.4.1","p-retry":"^5.1.2",path:"^0.12.7",rxjs:"7.5.5","throttle-debounce":"^5.0.0",toposort:"^2.0.2",typescript:"5.4.2",viem:"2.21.19",yargs:"^17.7.1",zod:"3.23.8","zod-validation-error":"^1.3.0"},devDependencies:{"@types/debug":"^4.1.7","@types/ejs":"^3.1.1","@types/node":"^18.15.11","@types/openurl":"^1.0.0","@types/throttle-debounce":"^5.0.0","@types/toposort":"^2.0.6","@types/yargs":"^17.0.10","ds-test":"https://github.com/dapphub/ds-test.git#e282159d5170298eb2455a6c05280ab5a73a4ef0","forge-std":"https://github.com/foundry-rs/forge-std.git#74cfb77e308dd188d2f58864aaf44963ae6b88b1",tsup:"^6.7.0",vitest:"0.34.6"}};import{globSync as Is}from"glob";import{ZodError as Os,z as nt}from"zod";var Ms=nt.object({MUD_PACKAGES:nt.string().transform(e=>JSON.parse(e))});function Bs(){try{return Ms.parse({MUD_PACKAGES:'{"@latticexyz/abi-ts":{"localPath":"packages/abi-ts"},"@latticexyz/block-logs-stream":{"localPath":"packages/block-logs-stream"},"@latticexyz/cli":{"localPath":"packages/cli"},"@latticexyz/common":{"localPath":"packages/common"},"@latticexyz/config":{"localPath":"packages/config"},"create-mud":{"localPath":"packages/create-mud"},"@latticexyz/dev-tools":{"localPath":"packages/dev-tools"},"@latticexyz/explorer":{"localPath":"packages/explorer"},"@latticexyz/faucet":{"localPath":"packages/faucet"},"@latticexyz/gas-report":{"localPath":"packages/gas-report"},"@latticexyz/protocol-parser":{"localPath":"packages/protocol-parser"},"@latticexyz/react":{"localPath":"packages/react"},"@latticexyz/recs":{"localPath":"packages/recs"},"@latticexyz/schema-type":{"localPath":"packages/schema-type"},"solhint-config-mud":{"localPath":"packages/solhint-config-mud"},"solhint-plugin-mud":{"localPath":"packages/solhint-plugin-mud"},"@latticexyz/stash":{"localPath":"packages/stash"},"@latticexyz/store-consumer":{"localPath":"packages/store-consumer"},"@latticexyz/store-indexer":{"localPath":"packages/store-indexer"},"@latticexyz/store-sync":{"localPath":"packages/store-sync"},"@latticexyz/store":{"localPath":"packages/store"},"@latticexyz/utils":{"localPath":"packages/utils"},"@latticexyz/world-module-erc20":{"localPath":"packages/world-module-erc20"},"@latticexyz/world-module-metadata":{"localPath":"packages/world-module-metadata"},"@latticexyz/world-modules":{"localPath":"packages/world-modules"},"@latticexyz/world":{"localPath":"packages/world"}}'})}catch(e){if(e instanceof Os){let{...o}=e.format();console.error(`
32
32
  Missing or invalid environment variables:
33
33
 
34
34
  ${Object.keys(o).join(`
@@ -51,4 +51,4 @@ Waiting for file changes\u2026
51
51
  `),{overwrite:s});let k=z.join(v.sourceDirectory,"remote");s&&await ke.rm(k,{recursive:!0,force:!0});for(let b of u.filter(h=>h.abi.length)){let h=`I${b.label}`,c=z.join(k,"namespaces",b.namespaceLabel,`${h}.sol`);j("writing system interface",h,"to",c);let x=bt({name:h,systemId:b.systemId,abi:b.abi});await _e(z.join(e,c),await ht(x),{overwrite:s})}let P=u.flatMap(b=>b.worldAbi);if(P.length){let b="IWorldSystems",h=z.join(k,`${b}.sol`);j("writing world systems interface to",h);let c=bt({name:b,abi:P});await _e(z.join(e,h),await ht(c),{overwrite:s})}return{config:v}}async function ei(e){return ke.access(e).then(()=>!0,()=>!1)}async function _e(e,o,t={}){if(!t.overwrite&&await ei(e))throw new re(e);await ke.mkdir(z.dirname(e),{recursive:!0}),await ke.writeFile(e,o)}import ni from"node:path";import{getChainId as si}from"viem/actions";var ai={worldAddress:{type:"string",required:!0,desc:"Remote world address"},profile:{type:"string",desc:"The foundry profile to use"},rpc:{type:"string",desc:"The RPC URL to use. Defaults to the RPC url from the local foundry.toml"},rpcBatch:{type:"boolean",desc:"Enable batch processing of RPC requests in viem client (defaults to batch size of 100 and wait of 1s)"},replace:{type:"boolean",desc:"Replace existing files and directories with data from remote world."},indexerUrl:{type:"string",desc:"The indexer URL to pull from.",required:!1}},ii={command:"pull",describe:"Pull mud.config.ts and interfaces from an existing world.",builder(e){return e.options(ai)},async handler(e){let o=e.profile??process.env.FOUNDRY_PROFILE,t=e.rpc??await oi(o),r=ti({transport:ri(t,{batch:e.rpcBatch?{batchSize:100,wait:1e3}:void 0})}),n=await si(r),a=e.indexerUrl??Ae.find(i=>i.id===n)?.indexerUrl;console.log(Te.bgBlue(Te.whiteBright(`
52
52
  Pulling MUD config from world at ${e.worldAddress}
53
53
  `)));let s=process.cwd();try{let{config:i}=await Ct({rootDir:s,client:r,worldAddress:e.worldAddress,indexerUrl:a,chainId:n,replace:e.replace});await N({rootDir:s,config:i,foundryProfile:o})}catch(i){if(i instanceof re){console.log(),console.log(Te.bgRed(Te.whiteBright(" Error "))),console.log(` Attempted to write file at "${ni.relative(s,i.filename)}", but it already exists.`),console.log(),console.log(" To overwrite files, use `--replace` when running this command."),console.log();return}throw i}}},vt=ii;var lg=[Ve,ot,Ke,di,Je,qe,tt,at,it,lt,mt,ci,ut,vt];export{lg as commands};
54
- //# sourceMappingURL=commands-6JZRMGVT.js.map
54
+ //# sourceMappingURL=commands-7OJSBNTI.js.map