@latticexyz/cli 2.2.12 → 2.2.13-main-b3b4c559e57286e7ee58c8c079c6093835944d04

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.
@@ -24,7 +24,7 @@ Resolved config:
24
24
  Run 'echo "PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" > .env'
25
25
  in your contracts directory to use the default anvil private key.`);return xs(m)}})(),x=bs({transport:hs(i,{batch:e.rpcBatch?{batchSize:100,wait:1e3}:void 0}),account:w});console.log("Deploying from",x.account.address);let S=await qo(x),T=Date.now(),f=await jo({config:n,deployerAddress:e.deployerAddress,salt:o,worldAddress:e.worldAddress,client:x,tables:u,systems:c,libraries:l,modules:d,artifacts:y});(e.worldAddress==null||e.alwaysRunPostDeploy)&&await Uo(n.deploy.postDeployScript,f.address,i,t,e.forgeScriptOptions,!!e.kms),await S?.reset(),console.log(J.green("Deployment completed in",(Date.now()-T)/1e3,"seconds"));let h={worldAddress:f.address,blockNumber:Number(f.deployBlock)};if(e.saveDeployment){let m=await Ds(x),g=we.join(n.deploy.deploysDirectory,m.toString());us(g,{recursive:!0}),We(we.join(g,"latest.json"),JSON.stringify(h,null,2)),We(we.join(g,Date.now()+".json"),JSON.stringify(h,null,2));let D=[1337,31337],b=ys(n.deploy.worldsFile)?JSON.parse(gs(n.deploy.worldsFile,"utf-8")):{};b[m]={address:h.worldAddress,blockNumber:D.includes(m)?void 0:h.blockNumber},We(n.deploy.worldsFile,JSON.stringify(b,null,2)),console.log(J.bgGreen(J.whiteBright(`
26
26
  Deployment result (written to ${n.deploy.worldsFile} and ${g}):
27
- `)))}return console.log(h),f}var Ps={command:"deploy",describe:"Deploy MUD contracts",builder(e){return e.options(I)},async handler(e){try{await q(e)}catch(o){ne(o),process.exit(1)}process.exit(0)}},Yo=Ps;import Ms from"node:path";import{loadConfig as Bs,resolveConfigPath as Os}from"@latticexyz/config/node";import{worldgen as Is}from"@latticexyz/world/node";var Ws={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 Rs(e),process.exit(0)}};async function Rs(e){let o=await Os(e.configPath),t=await Bs(o),r=Ms.dirname(o);await Is({rootDir:r,config:t,clean:e.clean})}var Go=Ws;import te from"chalk";import{readFileSync as Ls,writeFileSync as Fs}from"fs";import je from"path";import{MUDError as Y}from"@latticexyz/common/errors";var Qo={name:"@latticexyz/cli",version:"2.2.12",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/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 zs}from"glob";import{ZodError as js,z as Zo}from"zod";var $s=Zo.object({MUD_PACKAGES:Zo.string().transform(e=>JSON.parse(e))});function Es(){try{return $s.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-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-metadata":{"localPath":"packages/world-module-metadata"},"@latticexyz/world-modules":{"localPath":"packages/world-modules"},"@latticexyz/world":{"localPath":"packages/world"}}'})}catch(e){if(e instanceof js){let{...o}=e.format();console.error(`
27
+ `)))}return console.log(h),f}var Ps={command:"deploy",describe:"Deploy MUD contracts",builder(e){return e.options(I)},async handler(e){try{await q(e)}catch(o){ne(o),process.exit(1)}process.exit(0)}},Yo=Ps;import Ms from"node:path";import{loadConfig as Bs,resolveConfigPath as Os}from"@latticexyz/config/node";import{worldgen as Is}from"@latticexyz/world/node";var Ws={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 Rs(e),process.exit(0)}};async function Rs(e){let o=await Os(e.configPath),t=await Bs(o),r=Ms.dirname(o);await Is({rootDir:r,config:t,clean:e.clean})}var Go=Ws;import te from"chalk";import{readFileSync as Ls,writeFileSync as Fs}from"fs";import je from"path";import{MUDError as Y}from"@latticexyz/common/errors";var Qo={name:"@latticexyz/cli",version:"2.2.12",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/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 zs}from"glob";import{ZodError as js,z as Zo}from"zod";var $s=Zo.object({MUD_PACKAGES:Zo.string().transform(e=>JSON.parse(e))});function Es(){try{return $s.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-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 js){let{...o}=e.format();console.error(`
28
28
  Missing or invalid environment variables:
29
29
 
30
30
  ${Object.keys(o).join(`
@@ -47,4 +47,4 @@ Waiting for file changes\u2026
47
47
  `),{overwrite:n});let S=L.join(x.sourceDirectory,"remote");n&&await xe.rm(S,{recursive:!0,force:!0});for(let f of u.filter(h=>h.abi.length)){let h=`I${f.label}`,m=L.join(S,"namespaces",f.namespaceLabel,`${h}.sol`);R("writing system interface",h,"to",m);let g=mt({name:h,systemId:f.systemId,abi:f.abi});await ze(L.join(e,m),await pt(g),{overwrite:n})}let T=u.flatMap(f=>f.worldAbi);if(T.length){let f="IWorldSystems",h=L.join(S,`${f}.sol`);R("writing world systems interface to",h);let m=mt({name:f,abi:T});await ze(L.join(e,h),await pt(m),{overwrite:n})}return{config:x}}async function oi(e){return xe.access(e).then(()=>!0,()=>!1)}async function ze(e,o,t={}){if(!t.overwrite&&await oi(e))throw new re(e);await xe.mkdir(L.dirname(e),{recursive:!0}),await xe.writeFile(e,o)}import si from"node:path";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."}},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 ti(o),r=ri({transport:ni(t,{batch:e.rpcBatch?{batchSize:100,wait:1e3}:void 0})});console.log(Ce.bgBlue(Ce.whiteBright(`
48
48
  Pulling MUD config from world at ${e.worldAddress}
49
49
  `)));let n=process.cwd();try{let{config:s}=await ut({rootDir:n,client:r,worldAddress:e.worldAddress,replace:e.replace});await F({rootDir:n,config:s,foundryProfile:o})}catch(s){if(s instanceof re){console.log(),console.log(Ce.bgRed(Ce.whiteBright(" Error "))),console.log(` Attempted to write file at "${si.relative(n,s.filename)}", but it already exists.`),console.log(),console.log(" To overwrite files, use `--replace` when running this command."),console.log();return}throw s}}},gt=ii;var ug=[Ne,Yo,Ue,di,Ve,_e,Go,et,ot,nt,st,li,lt,gt];export{ug as commands};
50
- //# sourceMappingURL=commands-BVYRGSY6.js.map
50
+ //# sourceMappingURL=commands-VFC6TAUD.js.map