{"_id":"@anvil-works/anvil-sync","_rev":"39-73b79f1a1872d849bfcb399eb68aec11","name":"@anvil-works/anvil-sync","dist-tags":{"beta":"0.3.1-beta.1","canary":"0.3.7-canary.0","latest":"0.3.7"},"versions":{"0.0.1":{"name":"@anvil-works/anvil-sync","version":"0.0.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.0.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"8632ba4cc21a0f72c5dce991782a28ad6ee81fd3","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.0.1.tgz","fileCount":5,"integrity":"sha512-Y56eSU9gkRPGuNXiKmqtS6eBgEhWPjGX0+i1u3SVrDgnr0fc8hLaIclfPHnedDY+wNbhXmSAXtw4w/1A3sQFhA==","signatures":[{"sig":"MEQCIFzOqEwUKxbNJsF8CHcxP7S9sFfEkdTLOSszHCPLOmT9AiBDRHJd1TAZPdwG7ChudCXIv/mp8JyXt3fNgyygEYKCTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1593726},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2762a42d5ad5a53bf0a853dc2920b232e23cb077","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/chalk":"^2.2.4","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748","devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.0.1_1760590856942_0.11144644491677469","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@anvil-works/anvil-sync","version":"0.0.2","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.0.2","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"feb79fadab42b3f22875d4bf9edbb9628d1feff4","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.0.2.tgz","fileCount":5,"integrity":"sha512-abwsgt1VYctv2K5YCZwzH0wSgX/F6NK6foOBj6cQ4EBcjejl0xxizDpNTnDWKpHpsHiiN2G/wY8KFKpLLZl2aw==","signatures":[{"sig":"MEUCIQDgD0q66dkqZi0qzutFJ0ZL1HitjCmKdJOjkzsUMlkrQQIgbgEBYea1qCyf4AAbPnHeLlE65eAVE4i+HNHAJJjvNwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595047},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a3d296b04f8f83ffcc0d73763b6981e0cf45941c","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.14.0+sha512.ad27a79641b49c3e481a16a805baa71817a04bbe06a38d17e60e2eaee83f6a146c6a688125f5792e48dd5ba30e7da52a5cda4c3992b9ccf333f9ce223af84748","devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.0.2_1760603382920_0.499313638637751","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@anvil-works/anvil-sync","version":"0.1.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.1.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"cead660385e48c668b4f872306589835069dffeb","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.1.0.tgz","fileCount":5,"integrity":"sha512-C/vDB2SHPe3r0wQMiNIWOMw7ruD6DwaYG+C/1sQjqvDaHtG5yCVG/t8YDc8txb2+RKw9MOzcr0YIdzm0H7Df3w==","signatures":[{"sig":"MEUCIQCNaUEauIHnhwujeDDAsWUAnhZnlA4Q9K2X/9GV+zixvAIgY7ZqXW+/AHxYaBehgNJXmn+8NAk0rOTrjYF1vGTef6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1544441},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.1.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/816dd4a8277765688cbf6af691741d20/anvil-works-anvil-sync-0.1.0.tgz","_integrity":"sha512-C/vDB2SHPe3r0wQMiNIWOMw7ruD6DwaYG+C/1sQjqvDaHtG5yCVG/t8YDc8txb2+RKw9MOzcr0YIdzm0H7Df3w==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.1.0_1761192972906_0.5259608218596221","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anvil-works/anvil-sync","version":"0.1.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.1.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"a883384d91bc1d966db55a777031b6aa7ba2e2cf","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.1.1.tgz","fileCount":5,"integrity":"sha512-C9o2Yy1Nbvx/IkHZYyL3fGdN2f4If/QQ3JFR2rF+RUO9yyInSJ8uoz0RQoc9i1cnzjJbz01f17a+OI0NAkM4vA==","signatures":[{"sig":"MEQCIAtrhSx5fUG8yvGVSwyJ7ryEYUa/jioDjAGF/ZaDUOZqAiBHR/8SoQxmyCi3suGu7kg05XQrcnGeFYp2Q+g3t2qLtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1546649},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.1.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/8548e500877ddbcd683033028377933f/anvil-works-anvil-sync-0.1.1.tgz","_integrity":"sha512-C9o2Yy1Nbvx/IkHZYyL3fGdN2f4If/QQ3JFR2rF+RUO9yyInSJ8uoz0RQoc9i1cnzjJbz01f17a+OI0NAkM4vA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.1.1_1761876664446_0.4912220609402218","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anvil-works/anvil-sync","version":"0.1.2","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.1.2","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"55422210af1ba89eefae4c6082e96110e09a3a48","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.1.2.tgz","fileCount":5,"integrity":"sha512-iIKYKmdWvcd7DQw2ZbEw5aiCUPGWkUoEMtj3LXTcuFNW6thdTHDHqjNsWSWNZ9UueOEVp0gMCeTRneECyCsh/Q==","signatures":[{"sig":"MEUCIHzZMPkEjmvw37ccxPxiwsh32PUSi4KqAYoBs6OwttvIAiEAvIA0evDX8WaTB++ShR9171TSpz+gGe6Ho/JuLXNiiCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1547907},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.1.2.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/e56733bc0bfec9933a9fc98d5f28cd53/anvil-works-anvil-sync-0.1.2.tgz","_integrity":"sha512-iIKYKmdWvcd7DQw2ZbEw5aiCUPGWkUoEMtj3LXTcuFNW6thdTHDHqjNsWSWNZ9UueOEVp0gMCeTRneECyCsh/Q==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.1.2_1761889407908_0.31134235133933275","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-beta.1":{"name":"@anvil-works/anvil-sync","version":"0.1.3-beta.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.1.3-beta.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"b17412178bb0308b13720c6b7d8865002353addc","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.1.3-beta.1.tgz","fileCount":5,"integrity":"sha512-2CAWjWEMdnvsiyU49ZrSj0WPV0zOCkgkFzdAH7mk2TtO9SrjtyKgk+CXVDJIQv5V3OoY25MhWjOp1XSuZC3fWw==","signatures":[{"sig":"MEUCIA8+xrFI1d6dNtPKfbYwTpQmdU+t5Km73s3DTnLMkjKkAiEA2/PO6UMAlcfwAp3e4FpaAYZt4B5aIMZJ3+yBBTTUpRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543976},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.1.3-beta.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/e9046e38a3c7a361889c774cdee227a1/anvil-works-anvil-sync-0.1.3-beta.1.tgz","_integrity":"sha512-2CAWjWEMdnvsiyU49ZrSj0WPV0zOCkgkFzdAH7mk2TtO9SrjtyKgk+CXVDJIQv5V3OoY25MhWjOp1XSuZC3fWw==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.1.3-beta.1_1762245654655_0.4726096644998894","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anvil-works/anvil-sync","version":"0.2.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"7d119226d7de7d9e0312a12e10ec4f0f1238003a","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.0.tgz","fileCount":5,"integrity":"sha512-103EDbMYLXVZZTfMFIxY+JawzXaeG6Jog75ZQeixH1sU/w3kybaos3JLHxHiNAHks3L4OCyZiB6WKFCKul8BfA==","signatures":[{"sig":"MEUCIQD5S90Vz6emAiP1dXsdo1CtPk2OirrKHnHUQ0Yk1gTW1AIgcQgJUuhhkdXKNl+dC2l97+a47+txUl/wuKM71Hz1x78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1553909},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/4efcf0337d8c7cdf41cbb41e14f406b3/anvil-works-anvil-sync-0.2.0.tgz","_integrity":"sha512-103EDbMYLXVZZTfMFIxY+JawzXaeG6Jog75ZQeixH1sU/w3kybaos3JLHxHiNAHks3L4OCyZiB6WKFCKul8BfA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","tough-cookie":"^6.0.0","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.0_1762357291727_0.30376956719864867","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@anvil-works/anvil-sync","version":"0.2.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"7f62b142c589225de23f81b50d58dd4b6f6fd7f7","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.1.tgz","fileCount":5,"integrity":"sha512-vsX8VoV+Vo1WOWQd6zdT2A9K1v8wco/DimWa1Os1IhYLDD//zNywENpFtoKfXfqhCRagnA9npYZCMXR8H9k99Q==","signatures":[{"sig":"MEUCIFsgq2PMta2+FdU/zxkT+dAeozHVgtm4nLtIuiRaCxDuAiEA7uUSPgHVLfqVo3HaWN55854lotRXeloo4R/F5Nj2AzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1558477},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/28fabf263bc98826f042ca7d31e34dd0/anvil-works-anvil-sync-0.2.1.tgz","_integrity":"sha512-vsX8VoV+Vo1WOWQd6zdT2A9K1v8wco/DimWa1Os1IhYLDD//zNywENpFtoKfXfqhCRagnA9npYZCMXR8H9k99Q==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.11.0","chalk":"^5.6.2","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.9.4","@types/ws":"^8.18.1","commander":"^14.0.1","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.0.1","conf":"^14.0.0","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.28.0","typescript":"^5.0.0","@rslib/core":"^0.13.0","@types/node":"^20.0.0","@rstest/core":"^0.3.4","tough-cookie":"^6.0.0","@types/commander":"^2.12.5","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.1_1762396189667_0.0961381222110782","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@anvil-works/anvil-sync","version":"0.2.2","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.2","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"4e52f1b1aedb0b77e48745699d02361611e551c7","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.2.tgz","fileCount":5,"integrity":"sha512-TGu4brCy2/cHNZN8f0jNCf75HTQ1AtAl9HKw2JvaUjV8PYhVd2hRXZroT0YA6tkEiC+OQ5YAi7TeF0hqRPacgA==","signatures":[{"sig":"MEUCIQDDDP7+BHRD/PnsqASTYm2lD3uJrpLohu2OBAgGrZcF5QIgBFMf3XZF+LLO+N+otue76063EaEa++XwwmjSt19zRdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1430524},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.2.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/c1638fcf1dc7406e095af4abf9c35359/anvil-works-anvil-sync-0.2.2.tgz","_integrity":"sha512-TGu4brCy2/cHNZN8f0jNCf75HTQ1AtAl9HKw2JvaUjV8PYhVd2hRXZroT0YA6tkEiC+OQ5YAi7TeF0hqRPacgA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.2_1762402471421_0.9324870848724678","host":"s3://npm-registry-packages-npm-production"}},"0.2.3-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.3-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.3-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"20b9a21ba66377afa35d979d42a79b5fac9cb66e","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.3-canary.0.tgz","fileCount":5,"integrity":"sha512-ZLxZdVgwlMB5qqbPD8yIJElWqtYfqdJb5ec1173PL4NmbWmlyiHZrqlz7nMvCHC5HpFF+3tPTNY5u91dA70Drg==","signatures":[{"sig":"MEYCIQCoMVAKhzOZUZAEsIkSQLbgsZ5oBUI+QO3ztGLGyOsGeAIhAKbGSOdqJUaAy5l1Q2XxRsXFseAzRcSZD1T5fEWjTii4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1438375},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.3-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/8c3e197e5d222022a065c24d8293cbff/anvil-works-anvil-sync-0.2.3-canary.0.tgz","_integrity":"sha512-ZLxZdVgwlMB5qqbPD8yIJElWqtYfqdJb5ec1173PL4NmbWmlyiHZrqlz7nMvCHC5HpFF+3tPTNY5u91dA70Drg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.3-canary.0_1762409908983_0.3478099123083984","host":"s3://npm-registry-packages-npm-production"}},"0.2.3-canary.1":{"name":"@anvil-works/anvil-sync","version":"0.2.3-canary.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.3-canary.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"9dd081cbfd17c3d4fd83347d52e02354da895495","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.3-canary.1.tgz","fileCount":5,"integrity":"sha512-QbwonR4eVgwIh1ynOeig/TIJico/Xcid0GzAdr9aWfFpdtrq/I7mv1sR2+tlJEnhmC3mdkzbs+S4hQH1Gpwp1A==","signatures":[{"sig":"MEUCIB0RsVO8jUpYSml/sHl65bS3aHYikJlvjtiC99FKMM0OAiEAliWwtBgwKL1gv4VhHOeY+CEPQTzMQgSIUzVxYY9IRu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1438367},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.3-canary.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/ccfe83de57fb473b16614dc22a964260/anvil-works-anvil-sync-0.2.3-canary.1.tgz","_integrity":"sha512-QbwonR4eVgwIh1ynOeig/TIJico/Xcid0GzAdr9aWfFpdtrq/I7mv1sR2+tlJEnhmC3mdkzbs+S4hQH1Gpwp1A==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.3-canary.1_1762699471365_0.06265770118448688","host":"s3://npm-registry-packages-npm-production"}},"0.2.3-canary.2":{"name":"@anvil-works/anvil-sync","version":"0.2.3-canary.2","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.3-canary.2","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"0738a899994a673f6eb4cadfb1f069a7355fce57","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.3-canary.2.tgz","fileCount":5,"integrity":"sha512-gk1tk3AfwCUrPAjWWGE14B+2PtCmEe0edpxx57iT8qWEg+nVksf6TPHNVeFe3lUtPL6j2Qz1vBb55Dt3hR1YUA==","signatures":[{"sig":"MEQCICWXOoeYInD2J4c9IrzWF/1tOz6teJXJloPt11OEgCn1AiBo21sjXP6T4uBD3GYvOM+40cDC5omdF74Tcj0nUzKK4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1438261},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.3-canary.2.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/94f02fb78d2861c47f0e06be9843ae69/anvil-works-anvil-sync-0.2.3-canary.2.tgz","_integrity":"sha512-gk1tk3AfwCUrPAjWWGE14B+2PtCmEe0edpxx57iT8qWEg+nVksf6TPHNVeFe3lUtPL6j2Qz1vBb55Dt3hR1YUA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.3-canary.2_1762787713031_0.28358616910234424","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@anvil-works/anvil-sync","version":"0.2.3","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.3","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"ae178591c465f792346cfd0f337e958167d4ea50","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.3.tgz","fileCount":5,"integrity":"sha512-aQ0ypvxZ5hhggZ+EQ0uB/Ggj/GCKStO3gTaqeCM6h3mfiKqusYfjbxOjrN/zjFzletBdIuJyOjA5CE1hzmEMxg==","signatures":[{"sig":"MEYCIQDTi//flBxTlCSyCnztzLP2l9WEUAPLGhIoo32d/ah+YAIhAIIh4lfDzmHLksiBRAXd7AVUAzNn00HaYloGqSFzstZL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1430637},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.3.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/db0ad3b9aba7ae4b4874d0e0d79447db/anvil-works-anvil-sync-0.2.3.tgz","_integrity":"sha512-aQ0ypvxZ5hhggZ+EQ0uB/Ggj/GCKStO3gTaqeCM6h3mfiKqusYfjbxOjrN/zjFzletBdIuJyOjA5CE1hzmEMxg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.3_1762857963636_0.8223300650234295","host":"s3://npm-registry-packages-npm-production"}},"0.2.4-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.4-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.4-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"7a676b5177380d3e3d89bfd7e3c5d51bcfc8715b","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.4-canary.0.tgz","fileCount":5,"integrity":"sha512-pWNoBq5obEZABEhEMrndKdBszx2A1ewqRpvm4RPgfnxIkCehvX2KjC+FFhyhju0bFB8ZxKrLnk9S54m6p0VO6g==","signatures":[{"sig":"MEUCIQD8OdBOjDkdbrxsb2bWWvd7nKB7Lk5x11bzcDcgOF3LIQIgAJIEIZL5Ft1XcqO0L/mZaDvqJ5rZKpM2LCPrKObF2A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1437936},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.4-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/d5973eadb1f880202de5bb2b051e9f72/anvil-works-anvil-sync-0.2.4-canary.0.tgz","_integrity":"sha512-pWNoBq5obEZABEhEMrndKdBszx2A1ewqRpvm4RPgfnxIkCehvX2KjC+FFhyhju0bFB8ZxKrLnk9S54m6p0VO6g==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.4-canary.0_1762858038785_0.7021061722205104","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@anvil-works/anvil-sync","version":"0.2.4","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.4","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"6e6e8ade58f804d5e7469a014f681486f7847233","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.4.tgz","fileCount":5,"integrity":"sha512-qfQxmhzM5IvYngg72AMAo3CsY5x30531jJphRMGBTFPbDEW64lNZ2nNtT7sYiG7IV9TnAoqloKkbQpriIzXCkg==","signatures":[{"sig":"MEUCIQD42PNvyOXeM0rnnteA9f1bBr4rgPQnKSHH6gu5Q91ONwIgTxqNPU04RI3xTSGJkBPWCGmqppm0VWNSAZHQsHMDN6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1432442},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.4.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/80c4a3a9ecc521d741952c85718ae094/anvil-works-anvil-sync-0.2.4.tgz","_integrity":"sha512-qfQxmhzM5IvYngg72AMAo3CsY5x30531jJphRMGBTFPbDEW64lNZ2nNtT7sYiG7IV9TnAoqloKkbQpriIzXCkg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.4_1763013658805_0.9088659571063731","host":"s3://npm-registry-packages-npm-production"}},"0.2.5-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.5-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.5-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"e624dcf3cd4197eea95e4e405a9b05464e18a89b","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.5-canary.0.tgz","fileCount":5,"integrity":"sha512-M8Z322MxKg9Ck5XIzA3mHnKhSn2EsgLbQ2188aeiqlCFqHrD7/xqFQiJhnrFR3QIiNV7ryFNLRUKan/g2Bms5g==","signatures":[{"sig":"MEUCIQC8qmv/8bSjA8jnnZTfkdhw17U60wjjlgtBjKLlgIqj/wIgGKVAT1MSvWFMjevyPtviPLcCdHsOo8ePgdpKBHMWzsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1439741},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.5-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/38ea6a86dd5bfa973acb5952cb9bbaed/anvil-works-anvil-sync-0.2.5-canary.0.tgz","_integrity":"sha512-M8Z322MxKg9Ck5XIzA3mHnKhSn2EsgLbQ2188aeiqlCFqHrD7/xqFQiJhnrFR3QIiNV7ryFNLRUKan/g2Bms5g==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.5-canary.0_1763013747419_0.7364943201240242","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@anvil-works/anvil-sync","version":"0.2.5","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.5","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"808ac9cbcc26c5cc9796711028c46dd1f12dc718","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.5.tgz","fileCount":5,"integrity":"sha512-6itDXSHLuGhc2k9euHc6a3V8RIYW1qyJpzPMZfax9nPjEEnq8D/Xz2PsIFJj6IixDcfYM6MN7PXegOuLDagngQ==","signatures":[{"sig":"MEUCIDMv36v8LFsjKo70Ehz28KN8uHZd56FYgBJAkVo8Lt+OAiEAr3ols38wQ4SCRqSVfbpHWW1ripUJLFoLWAOYWZzXcgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1435124},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.5.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/27abc15f2d7754a337a038f914bf17c7/anvil-works-anvil-sync-0.2.5.tgz","_integrity":"sha512-6itDXSHLuGhc2k9euHc6a3V8RIYW1qyJpzPMZfax9nPjEEnq8D/Xz2PsIFJj6IixDcfYM6MN7PXegOuLDagngQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.5_1763034095067_0.32777895583515604","host":"s3://npm-registry-packages-npm-production"}},"0.2.6-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.6-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.6-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"832a2805f3dd4fcee04571209fcbce1db2d54a7d","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.6-canary.0.tgz","fileCount":5,"integrity":"sha512-fdJ7JPiQ6w2OflW+4p51Rhte84PKERJ9o28f3Mwr52v0D87XA5KT4aIfR4FqE9SnuCyRD+R5Z7d1DhwSeDCC5w==","signatures":[{"sig":"MEUCIF0leOsmhjakkO5HaU6oU3ft3M7xpY0FDb8ulV73PnGcAiEAluh53UksYSNTg4WvopmSDL7upvQlfORW+GS/0mLiZFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1442423},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.6-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/6c94497b311dbf4499900a0430e5c5d9/anvil-works-anvil-sync-0.2.6-canary.0.tgz","_integrity":"sha512-fdJ7JPiQ6w2OflW+4p51Rhte84PKERJ9o28f3Mwr52v0D87XA5KT4aIfR4FqE9SnuCyRD+R5Z7d1DhwSeDCC5w==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.6-canary.0_1763034140287_0.9776668301241973","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@anvil-works/anvil-sync","version":"0.2.6","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.6","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"aa40cd5dad919b41478a353251b0191a6f8a889b","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.6.tgz","fileCount":5,"integrity":"sha512-8N6Ly1AWCNV+LVK4/P81nh2yj0/Zm7DsT5fuaLs+dQngH5ocMVMfCXzK12shpqieSLq75Q+9YxXW9tGrytI7IQ==","signatures":[{"sig":"MEQCIEIELO6G1SKl6kjNONx1Ele+qgkRjki4NW+Q72k8rHC4AiBc9GG2fXwiHia2C/oAgFXIYjSPH2HOHexuEFEWeeiwGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1446648},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.6.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/c6d0228bcd4dc2dbf3bcc1c2b1dfde0e/anvil-works-anvil-sync-0.2.6.tgz","_integrity":"sha512-8N6Ly1AWCNV+LVK4/P81nh2yj0/Zm7DsT5fuaLs+dQngH5ocMVMfCXzK12shpqieSLq75Q+9YxXW9tGrytI7IQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.6_1764145310965_0.8901692987743395","host":"s3://npm-registry-packages-npm-production"}},"0.2.7-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.7-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.7-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"9a1be379dca6b41a22aa6a8818e4349eae77db3d","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.7-canary.0.tgz","fileCount":5,"integrity":"sha512-H8MmlahDRc8e9O1yDxiJeYE4vMwcFGJ5ddP4l4t30BDWpzgmL5JFhl7lZ8AhsyGt6nk7vQwf+PuCnYONGh8AHw==","signatures":[{"sig":"MEUCIDm0dl6aNqjvE+/mCtnPTiQ0DuzYsT/VzLDX131a3oRBAiEAj9TXVMl9ZcudDRx4fF88BYI0Zv2Z3iMUPJjLlRTeG38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1454529},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.7-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/a305d3a9539ad1e83e702d69c28875c8/anvil-works-anvil-sync-0.2.7-canary.0.tgz","_integrity":"sha512-H8MmlahDRc8e9O1yDxiJeYE4vMwcFGJ5ddP4l4t30BDWpzgmL5JFhl7lZ8AhsyGt6nk7vQwf+PuCnYONGh8AHw==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.7-canary.0_1764145962867_0.44751562745051987","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@anvil-works/anvil-sync","version":"0.2.7","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.7","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"f5f4a58a044de568c1e91115c45e3bdb44db86f3","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.7.tgz","fileCount":5,"integrity":"sha512-/oEpn6kw7rfiq3CxC/CX5tVLPsC5gA9eQqPj1wo3x9E5PtKhB0HvuQfJdil57LjfWuHeB8Ao+PZUukmX+fMUww==","signatures":[{"sig":"MEYCIQCAo8hkPGkum835RKtCIlhCdqIzBfTvOMG+byesVWYaVgIhAJjquaG1uWW3UE3dTz1lAijvlZLtp/vVIjqpCYFjAkOK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448007},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.7.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/e37af11348f5d57665417c24503db5be/anvil-works-anvil-sync-0.2.7.tgz","_integrity":"sha512-/oEpn6kw7rfiq3CxC/CX5tVLPsC5gA9eQqPj1wo3x9E5PtKhB0HvuQfJdil57LjfWuHeB8Ao+PZUukmX+fMUww==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.7_1764210513491_0.598098617434081","host":"s3://npm-registry-packages-npm-production"}},"0.2.8-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.2.8-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.2.8-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"8afdf770a2039b7f052e4992336be3b7361830ea","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.2.8-canary.0.tgz","fileCount":5,"integrity":"sha512-/S1l5RGRo3qsn+bmKRf/Ih2HD87X1GhVjpp8bJyQDdKD/dq6nL6HI06Bg+IHpQnv7H05cQGFV8RoXeDJbtB1CQ==","signatures":[{"sig":"MEYCIQCo3Vwy9wEVXKG4VnA9pUYXN5/rhL8d8BYEkWl39nfrMgIhAIHC43v88k47DrOL/3lVzpQ6EB9hQZyVzveRACtElX12","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1455346},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.2.8-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/359ab638eb8a2c8f77703924b4d678d1/anvil-works-anvil-sync-0.2.8-canary.0.tgz","_integrity":"sha512-/S1l5RGRo3qsn+bmKRf/Ih2HD87X1GhVjpp8bJyQDdKD/dq6nL6HI06Bg+IHpQnv7H05cQGFV8RoXeDJbtB1CQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.2.8-canary.0_1764210837489_0.2074592920988927","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anvil-works/anvil-sync","version":"0.3.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"69191ae55e4040f64f61fd492709ca119d038df9","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.0.tgz","fileCount":5,"integrity":"sha512-LcqCu3ZcLn5d6/McnBey9kOrFzDorBNiMb+CE3pSKRS7ckxoWmpCUKW/8uIbvccmHFYAfc8ajEEI1M2x8gJhBw==","signatures":[{"sig":"MEYCIQCyXlAKH9GlFlYP5vz9HZdPSeMGOabGqHatAOE+ssTcbwIhAMyf4d2SxNQND97diFM2QxKSeEOKvMkfImCmzrJ1Tzy6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1505660},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/6a4c8405a1ba46853f37873e87c13ed7/anvil-works-anvil-sync-0.3.0.tgz","_integrity":"sha512-LcqCu3ZcLn5d6/McnBey9kOrFzDorBNiMb+CE3pSKRS7ckxoWmpCUKW/8uIbvccmHFYAfc8ajEEI1M2x8gJhBw==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.0_1764598122357_0.025763451138262505","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.1-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.1-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"66bc1b9f1889c49327107c3e41f639b16dd3cd69","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.1-canary.0.tgz","fileCount":5,"integrity":"sha512-comD93AYjp75MohMeargZ/T1pu35X4WX7mc/CwGjkcF+IXohfO5yN7dbc/U8BbGS0Q7abaBF8uIzSCAk8itgYg==","signatures":[{"sig":"MEUCIEcUH2GP/hf6Sfvd6yu/xzc3haJRxc0q41pkfDt01nyLAiEA4DExHCuw+X45C9cjiTTAPR7g6X9aBW7UUnOQi4sBO/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1514233},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.1-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/bb75e162769c3e9250d857370f077e7e/anvil-works-anvil-sync-0.3.1-canary.0.tgz","_integrity":"sha512-comD93AYjp75MohMeargZ/T1pu35X4WX7mc/CwGjkcF+IXohfO5yN7dbc/U8BbGS0Q7abaBF8uIzSCAk8itgYg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.1-canary.0_1764643183525_0.9018654666510488","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-beta.1":{"name":"@anvil-works/anvil-sync","version":"0.3.1-beta.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.1-beta.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"a2de8e8766356e339adf90fb0bf2b1b80a5b0dab","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.1-beta.1.tgz","fileCount":5,"integrity":"sha512-LWVsJwzd6opBnJWSTrgYPX47dKhP8Qch0jVuiiUxKaO2donBKC0zKTKZjMUN8FdKgGkjpHzOYOkH3UOP+NTfWg==","signatures":[{"sig":"MEYCIQD7JqhHqANvuNVNA8VY4APs+Xa8QXsxY0Y/u1I2i/l9SAIhAIAzuAByBxAWTlyyy19WKU2GpXO01r69SatByvF/X88l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1525466},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.1-beta.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/25581b7061b6e60f6f5008615683efd1/anvil-works-anvil-sync-0.3.1-beta.1.tgz","_integrity":"sha512-LWVsJwzd6opBnJWSTrgYPX47dKhP8Qch0jVuiiUxKaO2donBKC0zKTKZjMUN8FdKgGkjpHzOYOkH3UOP+NTfWg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.1-beta.1_1764760857010_0.33878987490440404","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@anvil-works/anvil-sync","version":"0.3.1","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.1","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"f70b7273eebafabc8565de9809c594f9ae6f431e","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.1.tgz","fileCount":5,"integrity":"sha512-OTnUaQyuUkwACmK3vm3KUZUsD/TnelvwiTTFPUML8h3QwlzjlvmSuV3vQA+Fsbc7EOqESMGGWKSBnu1L49vmyg==","signatures":[{"sig":"MEQCICdjqP6IYK2d5OfpNttt7fQRVp60DAjcyIGuO2ZPdWhbAiBI1ngFiPMM38A6TP+F+1QWyuRhkJhfIq1L0OJyZRW1Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1525237},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.1.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/01355c90bbb8ac1ee82b5f385a383a66/anvil-works-anvil-sync-0.3.1.tgz","_integrity":"sha512-OTnUaQyuUkwACmK3vm3KUZUsD/TnelvwiTTFPUML8h3QwlzjlvmSuV3vQA+Fsbc7EOqESMGGWKSBnu1L49vmyg==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.1_1764762662261_0.4814939796715465","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@anvil-works/anvil-sync","version":"0.3.2","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.2","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"611fcd579d9dbbe59eb7a12b8d97972e49510fa8","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.2.tgz","fileCount":5,"integrity":"sha512-e1DtdaIMWAA0HHtUvnvzYro1+Vk/VInk7hN2pLlRErzVQAK54Sa6JrmqWEJRLd81o6WXc9s16VfvQlpkTTmOIw==","signatures":[{"sig":"MEUCIAQP+PfJ/u6tjYPvtB1hHlY51N26EhuwFLzSijjb/GvmAiEAnFr/obRX254jm51ehvkcnrimh+AWnFYPzZWNl7I7ONA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1526413},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.2.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/c87b65bd4b2d28f69b0f7d79a6737dd6/anvil-works-anvil-sync-0.3.2.tgz","_integrity":"sha512-e1DtdaIMWAA0HHtUvnvzYro1+Vk/VInk7hN2pLlRErzVQAK54Sa6JrmqWEJRLd81o6WXc9s16VfvQlpkTTmOIw==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.2_1764791945692_0.5944386347598858","host":"s3://npm-registry-packages-npm-production"}},"0.3.2-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.2-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.2-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"1e2ddc712dfe803916394490ca3b35c20bdba031","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.2-canary.0.tgz","fileCount":5,"integrity":"sha512-aeDt7Wueab/JT5jq2kxBtimTu/SP/q279lv9+a70c1nHCBhNSHmpyiX9Y4TephHXCVygrIj/U5EgOM0Vl775MA==","signatures":[{"sig":"MEYCIQCEa/u9bpIJL//+CfuzKXuDpgGsVuRkvHiQmFwCl+QfugIhANAtiPMHk3nKHBRdCpXrwYq3HaZeHgUHX07f+w+hgSeB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1534986},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.2-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/35dc0341d02e75ef499d20939bb0afd7/anvil-works-anvil-sync-0.3.2-canary.0.tgz","_integrity":"sha512-aeDt7Wueab/JT5jq2kxBtimTu/SP/q279lv9+a70c1nHCBhNSHmpyiX9Y4TephHXCVygrIj/U5EgOM0Vl775MA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.2-canary.0_1765668223886_0.7505545905369888","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@anvil-works/anvil-sync","version":"0.3.3","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.3","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"5ec18500a768177912e36319a48d02719eae9862","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.3.tgz","fileCount":5,"integrity":"sha512-U9sF2GUtSiTb1exwjs0fg0aqr8FdsSRh2ihaZ2S4gDzUNDr/u4jMa9fYebiI6Ci1Qfs3LbQfKNjE7ajYf/DkPw==","signatures":[{"sig":"MEYCIQD8+Cf6QG9rvznyARre2bB8lEAJ1ZtzRLhHQIb1l3Ao5gIhAPGGD+Tt1lKRCR/CgsPiE6DTRxrmG8gqbbEQcwY95p4B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1534975},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.3.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/31006305c005c486f96d7d54887956a8/anvil-works-anvil-sync-0.3.3.tgz","_integrity":"sha512-U9sF2GUtSiTb1exwjs0fg0aqr8FdsSRh2ihaZ2S4gDzUNDr/u4jMa9fYebiI6Ci1Qfs3LbQfKNjE7ajYf/DkPw==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.3_1765699237533_0.12329292176988549","host":"s3://npm-registry-packages-npm-production"}},"0.3.4-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.4-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.4-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"45e7449540544eba0658d731750d923eb62b375c","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.4-canary.0.tgz","fileCount":5,"integrity":"sha512-EwsAbryiVsc4ps6i32kpHg1a6cQOq00FQELlStLe1J9vCWzhW6JRSVrn5ct267LVe8EykYY2pAjjj360A4uXIQ==","signatures":[{"sig":"MEUCIQCD12353s6XOPWxqPWvXMwL+j8/lBSOZAuA/iriFm+zAAIgMzDMIaGJxOIlmlznaAxZjurC+mApyctlfW4jEvRSByE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543548},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.4-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/21d898acd337b8fc5e3731fd1c6103e2/anvil-works-anvil-sync-0.3.4-canary.0.tgz","_integrity":"sha512-EwsAbryiVsc4ps6i32kpHg1a6cQOq00FQELlStLe1J9vCWzhW6JRSVrn5ct267LVe8EykYY2pAjjj360A4uXIQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.4-canary.0_1765699285303_0.056971799715582305","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@anvil-works/anvil-sync","version":"0.3.4","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.4","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"ce85e752cf485742fd2a54fa31a1fab272d9001c","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.4.tgz","fileCount":5,"integrity":"sha512-OtqOHCZLUPLoxSfqyITaD3GwtZjW8IEl7d6UwKzCBHL+0VkgmH9EizkIWaRYrzaJuHb7bKI9uGviasSyGLZB5A==","signatures":[{"sig":"MEQCIEDUngO3P3yyZK81B8//WbEhx/NPgUbtP3UMt1BPNr6kAiBvR/xVgcr/SahcfyxyPOxYI8yA/6ZfuVNJ73PYWCC0Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1535031},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.4.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/36eb8b82e4cc55f4bf9508edf09ad51c/anvil-works-anvil-sync-0.3.4.tgz","_integrity":"sha512-OtqOHCZLUPLoxSfqyITaD3GwtZjW8IEl7d6UwKzCBHL+0VkgmH9EizkIWaRYrzaJuHb7bKI9uGviasSyGLZB5A==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.4_1765716099525_0.804617812747475","host":"s3://npm-registry-packages-npm-production"}},"0.3.5-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.5-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.5-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"c400e1e0da01d9318f56d14bd8d421f18869233f","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.5-canary.0.tgz","fileCount":5,"integrity":"sha512-iGWw9ZuJ4eDxLsSow0qXSsvjmDIIPjxs97crpIEGGZH8a/kWXM3eogF4q4EnWLuMXc9G0rwAACv1ruYX9Y6tdQ==","signatures":[{"sig":"MEUCIHzf1+X/OV4VTKjMnaYpUqxif/K8q1ZTGSInFyrHVcM7AiEApjSX9IV1L06snP7l0k18H8Q+N0lIBP3nRGvAdXOkuv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543604},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.5-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/44411977accbbe5676b8ebecf3058262/anvil-works-anvil-sync-0.3.5-canary.0.tgz","_integrity":"sha512-iGWw9ZuJ4eDxLsSow0qXSsvjmDIIPjxs97crpIEGGZH8a/kWXM3eogF4q4EnWLuMXc9G0rwAACv1ruYX9Y6tdQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.5-canary.0_1765716148733_0.911343456659818","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@anvil-works/anvil-sync","version":"0.3.5","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.5","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"96634484ce6a65114ac963eb17b070dbaf33e392","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.5.tgz","fileCount":5,"integrity":"sha512-5275DUZXcg8pOHb66xLbNChuSgWGZKRsxbOFbclnBeVDtGvT7Nk58M/IQ3NDKsDMeFMWvrSv1p8xFlBu7HBoEQ==","signatures":[{"sig":"MEUCIQCtKWJIcozZF3t7TCSRumfbZ96WxSXU4VEb8kUmjDVoSwIgDofNc7/83xK2081ISVnQeKKcz6IwDNrkVMypx47BQ/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1535865},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.5.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/fd5bc133f1a5f14d418ee08a950d7fb8/anvil-works-anvil-sync-0.3.5.tgz","_integrity":"sha512-5275DUZXcg8pOHb66xLbNChuSgWGZKRsxbOFbclnBeVDtGvT7Nk58M/IQ3NDKsDMeFMWvrSv1p8xFlBu7HBoEQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.5_1765935976982_0.36739804340900206","host":"s3://npm-registry-packages-npm-production"}},"0.3.6-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.6-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.6-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"2f9cabbb5799ce341bfd8da043ba16fa54a8dc69","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.6-canary.0.tgz","fileCount":5,"integrity":"sha512-vhDGKf3vBQKRLk5PSF5gYqNfY6ligOTQhNMGqH4ojnBiYPBW0YeNztDPCq1kl1+AFrnaJ3cv2Iqb3NcP3V4g8Q==","signatures":[{"sig":"MEUCIC68U8hXeqbIYDak9C4AWGxEgDm8TBk2rcLjHnp8MpvUAiEA0oVkxNtRSqzE8cpycIhU7d8TFa5bDXTlDLn1YVZwXnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1544438},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.6-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/c0fcc0d74588aa6ada1693afa8b97d45/anvil-works-anvil-sync-0.3.6-canary.0.tgz","_integrity":"sha512-vhDGKf3vBQKRLk5PSF5gYqNfY6ligOTQhNMGqH4ojnBiYPBW0YeNztDPCq1kl1+AFrnaJ3cv2Iqb3NcP3V4g8Q==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.6-canary.0_1765936041273_0.5956447723911402","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@anvil-works/anvil-sync","version":"0.3.6","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.6","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"e3a602ce688520eda18a8857dc0189b44b45b573","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.6.tgz","fileCount":5,"integrity":"sha512-YG9aqYa74duM5ss/Wp0WWBx10iXz2miwd/4MVKbKoMlx/bQ/Ix846dthsF98d/frZ+P2nbUyVAVvBhPZk7GByA==","signatures":[{"sig":"MEYCIQCex+YgzesJQvu7rmChGl7vsILnLa/rfN9kEYxryRI+ogIhAOUlaePkfjua5jLFWkRC/pEO/djP9+95QKWTbLF8Mb/z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1533913},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.6.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/0a008a61709d69de28aa03e05a0aa055/anvil-works-anvil-sync-0.3.6.tgz","_integrity":"sha512-YG9aqYa74duM5ss/Wp0WWBx10iXz2miwd/4MVKbKoMlx/bQ/Ix846dthsF98d/frZ+P2nbUyVAVvBhPZk7GByA==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.6_1767850271761_0.8496789957094499","host":"s3://npm-registry-packages-npm-production"}},"0.3.7-canary.0":{"name":"@anvil-works/anvil-sync","version":"0.3.7-canary.0","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.7-canary.0","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"89691d0192042ee869d4c9dfce80bbba27b0f064","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.7-canary.0.tgz","fileCount":5,"integrity":"sha512-r4SlRboipf5p8TmjyAgUK4WUB66vsbFWSPwsMHb3kB1W6lZXRlIYoIihe77vrPM+WIkhUoN8uOLDiSJuMZm2SQ==","signatures":[{"sig":"MEQCICF/0i+ejMI4+tVCWsAb+BlrNec4Qnq+vSJqoOOLDOrPAiAycC1QC15hHzOVpMNf0MuZ4R+AV3V1l6pVKByr4maVOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1542486},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.7-canary.0.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/c48beebfebf5fc437c6775faf1055510/anvil-works-anvil-sync-0.3.7-canary.0.tgz","_integrity":"sha512-r4SlRboipf5p8TmjyAgUK4WUB66vsbFWSPwsMHb3kB1W6lZXRlIYoIihe77vrPM+WIkhUoN8uOLDiSJuMZm2SQ==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.7-canary.0_1767963554220_0.300120888980014","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@anvil-works/anvil-sync","version":"0.3.7","keywords":["anvil","sync","cli","git","web-app","development"],"author":{"name":"Anvil Works"},"license":"MIT","_id":"@anvil-works/anvil-sync@0.3.7","maintainers":[{"name":"daviesian","email":"npmjs@iandavies.org"},{"name":"s-cork","email":"stucork@gmail.com"}],"homepage":"https://github.com/anvil-works/anvil-sync#readme","bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"bin":{"anvil-sync":"dist/cli.js"},"dist":{"shasum":"0ab32b2c9cf776e2784c42b565e0ed22ca5c2849","tarball":"https://registry.npmjs.org/@anvil-works/anvil-sync/-/anvil-sync-0.3.7.tgz","fileCount":7,"integrity":"sha512-eLfrTBQ6uP57xVYOs6pMxWBVPtYlRNh4Q2PsIeBGnHfndUSdWtT6hIbDLU7YNYJK7ZtSUglyN9mImfy4E7VI9w==","signatures":[{"sig":"MEYCIQDIoDWEXQ34Uz1kaUB6U/+BYQs16u5QwFIkVDUCPSTRswIhAM5H1xZBRN/vIxGh68ZVDBc+TtmKgARKfvxpVyXAX4dC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3619076},"main":"dist/index.js","_from":"file:anvil-works-anvil-sync-0.3.7.tgz","types":"dist/index.d.ts","scripts":{"cli":"node dist/cli.js","dev":"rslib --env-mode development build --watch","test":"rstest","build":"rslib build","test:watch":"rstest --watch"},"_npmUser":{"name":"s-cork","email":"stucork@gmail.com"},"_resolved":"/private/var/folders/lw/yfrrkrzx3d562rgprys4ptg80000gn/T/04de405838e6ccb299292c61e9c7ba19/anvil-works-anvil-sync-0.3.7.tgz","_integrity":"sha512-eLfrTBQ6uP57xVYOs6pMxWBVPtYlRNh4Q2PsIeBGnHfndUSdWtT6hIbDLU7YNYJK7ZtSUglyN9mImfy4E7VI9w==","repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"_npmVersion":"10.9.2","description":"CLI tool for syncing local Anvil apps with the Anvil platform","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.18.3","ora":"^9.0.0","open":"^10.1.0","yaml":"^2.8.1","axios":"^1.13.2","chalk":"^5.6.2","semver":"^7.7.3","js-yaml":"^4.1.0","valibot":"^1.1.0","chokidar":"^4.0.3","inquirer":"^12.10.0","@types/ws":"^8.18.1","commander":"^14.0.2","mime-types":"^3.0.1","node-forge":"^1.3.1","@types/js-yaml":"^4.0.9","@types/inquirer":"^9.0.9","@types/node-forge":"^1.3.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.16.3","chai":"^6.2.0","conf":"^15.0.2","nodemon":"^3.1.10","@types/pg":"^8.15.6","simple-git":"^3.30.0","typescript":"^5.9.3","@rslib/core":"^0.17.1","@types/node":"^24.10.0","@rstest/core":"^0.6.2","tough-cookie":"^6.0.0","@types/semver":"^7.7.1","@types/mime-types":"^3.0.1","@types/tough-cookie":"^4.0.5","axios-cookiejar-support":"^6.0.4"},"_npmOperationalInternal":{"tmp":"tmp/anvil-sync_0.3.7_1768390492512_0.16996269133111963","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-10-16T05:00:56.805Z","modified":"2026-08-27T14:54:30.375Z","0.0.1":"2025-10-16T05:00:57.223Z","0.0.2":"2025-10-16T08:29:43.220Z","0.1.0":"2025-10-23T04:16:13.168Z","0.1.1":"2025-10-31T02:11:04.701Z","0.1.2":"2025-10-31T05:43:28.403Z","0.1.3-beta.1":"2025-11-04T08:40:54.922Z","0.2.0":"2025-11-05T15:41:31.979Z","0.2.1":"2025-11-06T02:29:49.886Z","0.2.2":"2025-11-06T04:14:31.658Z","0.2.3-canary.0":"2025-11-06T06:18:29.238Z","0.2.3-canary.1":"2025-11-09T14:44:31.603Z","0.2.3-canary.2":"2025-11-10T15:15:13.258Z","0.2.3":"2025-11-11T10:46:03.852Z","0.2.4-canary.0":"2025-11-11T10:47:19.012Z","0.2.4":"2025-11-13T06:00:58.969Z","0.2.5-canary.0":"2025-11-13T06:02:27.672Z","0.2.5":"2025-11-13T11:41:35.294Z","0.2.6-canary.0":"2025-11-13T11:42:20.542Z","0.2.6":"2025-11-26T08:21:51.236Z","0.2.7-canary.0":"2025-11-26T08:32:43.093Z","0.2.7":"2025-11-27T02:28:33.738Z","0.2.8-canary.0":"2025-11-27T02:33:57.742Z","0.3.0":"2025-12-01T14:08:42.598Z","0.3.1-canary.0":"2025-12-02T02:39:43.788Z","0.3.1-beta.1":"2025-12-03T11:20:57.242Z","0.3.1":"2025-12-03T11:51:02.488Z","0.3.2":"2025-12-03T19:59:05.920Z","0.3.2-canary.0":"2025-12-13T23:23:44.067Z","0.3.3":"2025-12-14T08:00:37.789Z","0.3.4-canary.0":"2025-12-14T08:01:25.545Z","0.3.4":"2025-12-14T12:41:39.727Z","0.3.5-canary.0":"2025-12-14T12:42:28.913Z","0.3.5":"2025-12-17T01:46:17.185Z","0.3.6-canary.0":"2025-12-17T01:47:21.503Z","0.3.6":"2026-01-08T05:31:11.952Z","0.3.7-canary.0":"2026-01-09T12:59:14.407Z","0.3.7":"2026-01-14T11:34:52.740Z"},"bugs":{"url":"https://github.com/anvil-works/anvil-sync/issues"},"author":{"name":"Anvil Works"},"license":"MIT","homepage":"https://github.com/anvil-works/anvil-sync#readme","keywords":["anvil","sync","cli","git","web-app","development"],"repository":{"url":"git+https://github.com/anvil-works/anvil-sync.git","type":"git"},"description":"CLI tool for syncing local Anvil apps with the Anvil platform","maintainers":[{"email":"npmjs@iandavies.org","name":"daviesian"},{"email":"stucork@gmail.com","name":"s-cork"},{"email":"pete@anvil.works","name":"anvilpete"},{"email":"meredydd@anvil.works","name":"meredydd"}],"readme":"# anvil-sync\r\n\r\nA CLI tool for syncing Anvil apps between your local filesystem and the Anvil IDE. Edit your Anvil apps in your favorite editor and sync changes in real-time.\r\n\r\n## Features\r\n\r\n-   **Real-time Sync**: Watch for file changes and automatically sync to Anvil\r\n-   **OAuth Authentication**: Secure authentication via OAuth with automatic token refresh\r\n-   **Auto-detection**: Automatically detects app IDs from git remotes or commit history\r\n-   **Python Module Support**: Syncs server-side and client-side Python modules\r\n-   **Form Support**: Syncs forms with templates and code\r\n-   **Theme Assets**: Syncs theme assets and configuration\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install -g @anvil-works/anvil-sync\r\n```\r\n\r\n## Quick Start\r\n\r\n### 0. Clone Your App (Required)\r\n\r\n`anvil-sync` watches a local clone of your Anvil app. If you haven't cloned the\r\napp yet, follow the [cloning guide](https://anvil.works/docs/version-control/git/direct-checkout#cloning-your-app)\r\nfirst:\r\n\r\n```bash\r\ngit clone https://anvil.works/git/YOUR_APP_ID my-app\r\ncd my-app\r\n```\r\n\r\n> **SSH-only tip:** If you sign in to Anvil with Google (and therefore don't\r\n> have an Anvil password), Git requires SSH. Add your public key in the Anvil\r\n> account settings, start `ssh-agent`, run `ssh-add`, then use the `git clone`\r\n> command above.\r\n\r\n### 1. Login\r\n\r\nAuthenticate with Anvil using OAuth:\r\n\r\n```bash\r\nanvil-sync login\r\n```\r\n\r\nThis will:\r\n\r\n1. Open your browser to the Anvil OAuth authorization page\r\n2. Prompt you to authorize anvil-sync to access your Anvil account\r\n3. Automatically complete the authentication flow\r\n\r\nYour access and refresh tokens are stored in:\r\n- **macOS**: `~/Library/Preferences/anvil-sync/config.json`\r\n- **Linux**: `~/.config/anvil-sync/config.json`\r\n- **Windows**: `%APPDATA%\\anvil-sync\\Config\\config.json`\r\n\r\n**Smart URL Handling:** You can specify the Anvil server URL directly:\r\n\r\n```bash\r\n# These all work - anvil-sync automatically adds https://\r\nanvil-sync login anvil.works\r\nanvil-sync login anvil.mycompany.com\r\n\r\n# localhost automatically uses http://\r\nanvil-sync login localhost:3000\r\n\r\n# Full URLs also work\r\nanvil-sync login https://anvil.works\r\n```\r\n\r\n**Multiple Accounts:** anvil-sync supports multiple Anvil installations simultaneously. Each URL has its own authentication tokens, so you can work with different enterprise installations or switch between them easily.\r\n\r\n### 2. Watch for Changes\r\n\r\nNavigate to your local Anvil app directory and start watching:\r\n\r\n```bash\r\ncd /path/to/your/anvil/app\r\nanvil-sync\r\n```\r\n\r\nOr use the explicit `watch` command:\r\n\r\n```bash\r\nanvil-sync watch\r\n```\r\n\r\nOr use the short form:\r\n\r\n```bash\r\nanvil-sync w\r\n```\r\n\r\nYou can specify the app ID explicitly:\r\n\r\n```bash\r\nanvil-sync -A YOUR_APP_ID\r\n```\r\n\r\n**Watch Options:**\r\n\r\n-   `-A, --appid <APP_ID>` - Specify app ID directly\r\n-   `-f, --first` - Auto-select first detected app ID without confirmation\r\n-   `-s, --staged-only` - Only sync staged changes (use `git add` to stage files)\r\n-   `-a, --auto` - Auto mode: restart on branch changes and sync when behind\r\n-   `-u, --url <ANVIL_URL>` - Specify Anvil server URL (e.g., `anvil.works`, `localhost:3000`)\r\n-   `-V, --verbose` - Show detailed output\r\n\r\n**Tip:** Open your app in the [Anvil IDE](https://anvil.works) to see your local changes appear in real-time. Changes made in the IDE will also sync back to your local files.\r\n\r\n## How It Works\r\n\r\n### Architecture\r\n\r\n```\r\n┌──────────────┐      ┌──────────────┐      ┌──────────────┐      ┌──────────────┐\r\n│ Local Files  │◄────►│  anvil-sync  │◄────►│ Anvil Server │◄────►│  Anvil IDE   │\r\n│(your editor) │      │ (Node.js CLI)│      │(anvil.works) │      │  (Browser)   │\r\n└──────────────┘      └──────────────┘      └──────────────┘      └──────────────┘\r\n```\r\n\r\nThe diagram shows bidirectional sync:\r\n\r\n-   **Local → Anvil**: Your local file changes are synced to Anvil via API calls through anvil-sync\r\n-   **Anvil → Local**: Changes made in the Anvil IDE are automatically detected and synced back to your local files via git fetch through anvil-sync\r\n\r\n### CLI Commands\r\n\r\n| Command                                    | Description                                                          |\r\n| ------------------------------------------ | -------------------------------------------------------------------- |\r\n| `anvil-sync` or `anvil-sync watch [path]`  | Watch directory for changes and sync to Anvil (default)              |\r\n| `anvil-sync watch -V` or `--verbose`       | Watch with verbose logging (detailed output)                         |\r\n| `anvil-sync w [path]`                      | Short form for watch                                                 |\r\n| `anvil-sync login [anvil-server-url]`      | Authenticate with Anvil using OAuth (supports smart URL handling)    |\r\n| `anvil-sync l [anvil-server-url]`          | Short form for login                                                 |\r\n| `anvil-sync logout [anvil-server-url]`     | Logout from Anvil (optionally specify URL for specific installation) |\r\n| `anvil-sync config <action> [key] [value]` | Manage configuration (set, get, list)                                |\r\n| `anvil-sync c <action> [key] [value]`      | Short form for config                                                |\r\n| `anvil-sync version`                       | Show version information                                             |\r\n| `anvil-sync -h, --help`                    | Show help message                                                    |\r\n| `anvil-sync -v, --version`                 | Show version number                                                  |\r\n\r\n### App ID Detection\r\n\r\nanvil-sync can auto-detect your app ID using multiple strategies:\r\n\r\n1. **Git Remotes**: Checks for Anvil git remotes in the repository\r\n\r\n2. **Commit Lookup**: Queries Anvil API with current commit ID and branch to find matching app\r\n\r\nIf auto-detection fails, you can specify the app ID explicitly:\r\n\r\n```bash\r\nanvil-sync -A YOUR_APP_ID\r\n```\r\n\r\n### Anvil URL Detection\r\n\r\nanvil-sync automatically detects which Anvil server to use:\r\n\r\n1. **Explicit URL**: If you specify `--url` or `-u` flag\r\n2. **Git Remotes**: Automatically extracts URL from git remotes in your repository\r\n3. **User Prompt**: If multiple accounts are available, prompts you to select one\r\n4. **Global Config**: Falls back to `anvilUrl` in config file\r\n5. **Default**: Uses `https://anvil.works` (or `http://localhost:3000` in dev mode)\r\n\r\n**Examples:**\r\n\r\n```bash\r\n# Auto-detect from git remote\r\nanvil-sync watch\r\n\r\n# Specify URL explicitly\r\nanvil-sync watch --url anvil.works\r\nanvil-sync watch --url localhost:3000\r\nanvil-sync watch --url anvil.mycompany.com\r\n\r\n# If multiple accounts, you'll be prompted to select\r\nanvil-sync watch\r\n# ? Multiple Anvil installations found. Which one would you like to use?\r\n# ❯ https://anvil.works\r\n#   https://anvil.company.com\r\n#   Cancel\r\n```\r\n\r\n## Configuration\r\n\r\n### Config File Location\r\n\r\n-   **macOS**: `~/Library/Preferences/anvil-sync/config.json`\r\n-   **Linux**: `~/.config/anvil-sync/config.json`\r\n-   **Windows**: `%APPDATA%\\anvil-sync\\Config\\config.json`\r\n\r\n### Stored Configuration\r\n\r\n```json\r\n{\r\n    \"authTokens\": {\r\n        \"https://anvil.works\": {\r\n            \"authToken\": \"your-access-token\",\r\n            \"refreshToken\": \"your-refresh-token\",\r\n            \"authTokenExpiresAt\": 1234567890,\r\n            \"username\": \"user@example.com\"\r\n        },\r\n        \"https://anvil.company.com\": {\r\n            \"authToken\": \"another-token\",\r\n            \"refreshToken\": \"another-refresh\",\r\n            \"authTokenExpiresAt\": 1234567890,\r\n            \"username\": \"user@company.com\"\r\n        }\r\n    },\r\n    \"anvilUrl\": \"https://anvil.works\",\r\n    \"verbose\": false\r\n}\r\n```\r\n\r\n**Note:** The `authTokens` object stores tokens per URL, allowing you to work with multiple Anvil installations simultaneously. Legacy `authToken`, `refreshToken`, and `authTokenExpiresAt` fields are maintained for backward compatibility.\r\n\r\n### Verbose Logging\r\n\r\nBy default, anvil-sync shows minimal output. For more detailed logging:\r\n\r\n**One-time:** Use the `-V` or `--verbose` flag:\r\n\r\n```bash\r\nanvil-sync watch --verbose\r\n```\r\n\r\n**Persistent:** Set verbose mode in config:\r\n\r\n```bash\r\nanvil-sync config set verbose true\r\n```\r\n\r\nVerbose output is prefixed with `[VERBOSE]` and includes file routing details, sync status checks, and other internal processing information.\r\n\r\n### Enterprise Configuration\r\n\r\nIf you're using an Anvil server other than `anvil.works` (e.g., enterprise/on-premise installation), you can work with multiple installations:\r\n\r\n**Option 1: Login with URL** (recommended)\r\n\r\n```bash\r\n# Login to your enterprise installation\r\nanvil-sync login anvil.mycompany.com\r\n\r\n# Or with full URL\r\nanvil-sync login https://anvil.mycompany.com\r\n```\r\n\r\n**Option 2: Specify URL when watching**\r\n\r\n```bash\r\n# Watch with specific URL\r\nanvil-sync watch --url anvil.mycompany.com\r\n```\r\n\r\n**Option 3: Set global default**\r\n\r\n```bash\r\nanvil-sync config set anvilUrl https://anvil.mycompany.com\r\nanvil-sync login\r\n```\r\n\r\n**Multiple Installations:**\r\n\r\nanvil-sync supports multiple Anvil installations simultaneously. Each installation has its own authentication tokens:\r\n\r\n```bash\r\n# Login to multiple installations\r\nanvil-sync login anvil.works\r\nanvil-sync login anvil.company-a.com\r\nanvil-sync login anvil.company-b.com\r\n\r\n# When watching, you'll be prompted to select which one to use\r\n# Or specify explicitly:\r\nanvil-sync watch --url anvil.company-a.com\r\n```\r\n\r\n**URL Resolution Priority:**\r\n\r\n1. Explicit `--url` flag\r\n2. Git remote detection (from current repository)\r\n3. User prompt (if multiple accounts available)\r\n4. `anvilUrl` in config file\r\n5. Default based on `NODE_ENV`:\r\n    - Production: `https://anvil.works`\r\n    - Development: `http://localhost:3000`\r\n\r\nView all configuration:\r\n\r\n```bash\r\nanvil-sync config list\r\n```\r\n\r\n### Logout\r\n\r\nLogout from Anvil installations:\r\n\r\n**Logout from all accounts:**\r\n\r\n```bash\r\nanvil-sync logout\r\n```\r\n\r\n**Logout from specific installation:**\r\n\r\n```bash\r\nanvil-sync logout anvil.works\r\nanvil-sync logout anvil.mycompany.com\r\nanvil-sync logout --url localhost:3000\r\n```\r\n\r\n**Multiple accounts:** If you have multiple accounts and run `anvil-sync logout` without specifying a URL, you'll be prompted to:\r\n\r\n-   Logout from one account (then select which one)\r\n-   Logout from all accounts\r\n-   Cancel\r\n\r\n## Troubleshooting\r\n\r\n### \"No app ID found\"\r\n\r\n-   Ensure you're in an Anvil app directory with `anvil.yaml`\r\n-   Check git remotes: `git remote -v`\r\n-   Specify app ID explicitly: `anvil-sync -A YOUR_APP_ID`\r\n-   Use `-f, --first` to auto-select the first detected app ID: `anvil-sync -f`\r\n\r\n### \"Authentication failed\" or \"Not logged in to [URL]\"\r\n\r\n-   Run `anvil-sync login [url]` to authenticate with the specific Anvil installation\r\n-   If you see \"Not logged in to [URL]\", you need to login to that specific URL:\r\n\r\n```bash\r\nanvil-sync login https://anvil.mycompany.com\r\n```\r\n\r\n-   Your access token may have expired and refresh failed - re-login to get new tokens\r\n-   For multiple installations, make sure you're logged in to the correct one\r\n\r\n### Switch back to hosted Anvil\r\n\r\n-   Reset the server URL to the default cloud host:\r\n\r\n    ```bash\r\n    anvil-sync config set anvilUrl https://anvil.works\r\n    ```\r\n\r\n-   Or reset all config values (also clears custom URLs):\r\n\r\n    ```bash\r\n    anvil-sync config reset\r\n    ```\r\n\r\n## License\r\n\r\nISC\r\n","readmeFilename":"README.md"}