{"_id":"@anygridtech/frappe-types","_rev":"11-7c8233a11e6a166174aeb38657003168","name":"@anygridtech/frappe-types","dist-tags":{"latest":"2.1.1"},"versions":{"1.0.0":{"name":"@anygridtech/frappe-types","version":"1.0.0","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@1.0.0","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"dist":{"shasum":"7e491624d5989a4fb85247650a47a19be73e2b00","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-1.0.0.tgz","fileCount":16,"integrity":"sha512-/EK6EOPQPlXpjWWZ00EfVBanD+1MHi71ysIkYfDCOGAxhPXxVOel3uvq2XSTvgyFdUXegsHkZMmhKLj08wYtmA==","signatures":[{"sig":"MEYCIQCi0weosrseB70vNXMvUO3Yuy9EWqrWbrVHEM1snFA16gIhAKNPxA5xpL+yY4nzaScwPC1x+ucRRi+4VaDgwvIc3ANe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132804},"types":"frappe/frappe.d.ts","gitHead":"361b08650caf7bb6acd27a9ec16ccaca7892d45a","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_1.0.0_1757354336020_0.3429921985046245","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@anygridtech/frappe-types","version":"2.0.0","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.0","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"dist":{"shasum":"cf3d9c821dac87b190d510b1a2e693bbdb74244b","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.0.tgz","fileCount":3,"integrity":"sha512-qWifszvgoLkMnYDzHQszZHLA9VWIsNHCytgv9UFwOlqCb/bCHgOLBaaCt+13wM4U/2WHhQMVbbUQx5ndbJOCFQ==","signatures":[{"sig":"MEYCIQCByWuFVuEHebGHtfQ2yIuQ00kvtzox12F9UFdln9S/aQIhAM2KtLvDrKJhhuGd3waql/t0fQbOS3q2kI4sm8O6oTUR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6646},"types":"frappe/frappe.d.ts","gitHead":"6868a81327940e729aad42424c0bfcc38b75e2aa","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.0_1758223704949_0.23643491008939743","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@anygridtech/frappe-types","version":"2.0.1","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.1","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"dist":{"shasum":"afa0efb222a1836e11fcafcca8b9ae830141d417","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.1.tgz","fileCount":20,"integrity":"sha512-vcY+OdYSbeEA3qX1GmNEakwmEGhsS6CJMnizCwBpaWM8v45fms7tjbp0EvDbmuqmYx/Vtj7/5bIxXuf30r5z9g==","signatures":[{"sig":"MEUCIAZOjbqhL+oBTIZbfvbU4Od+/J1lATbdzPaoQV8wdr6TAiEAxTmJMY5A3/UYr7wzYU5WZGTE/AST3IwvN28tnST6vE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139343},"types":"frappe/frappe.d.ts","gitHead":"ee1f4666828e6482371c13d9b739fcfc6a53e0b8","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.1_1758224383692_0.48057453313936493","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@anygridtech/frappe-types","version":"2.0.2","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.2","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"dist":{"shasum":"f07c31a55c14f25e226765e35ce5d385239e2c97","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.2.tgz","fileCount":20,"integrity":"sha512-kHGSHuCZhhx8S8+uX1doYmP9/moNAu3o8tiofknkhURiM26MhxXsQHZISvD4GSSjTmN0X/Yn402D4ViLddw2gg==","signatures":[{"sig":"MEUCIQDjT7NDZ2bHOCFDCDAv7CsKg1mvqD61XwMZBygSQYreHAIgGQs6agYoE5T/LyC36A3+0vFez8lue9b7EBfriZI/ze8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139363},"types":"frappe/frappe.d.ts","gitHead":"b1579d943126d2ee68279e794ef404018f82bc05","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.2_1758225409972_0.8542299905747519","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@anygridtech/frappe-types","version":"2.0.3","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.3","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"fb6df523b1758d1b9282c8c0081395dc5c1416a5","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.3.tgz","fileCount":20,"integrity":"sha512-u2Vr7P6rBFG2az1MsuwNPhsUUfTKO0+YmTyRB5h25fxC4e9EMRv/xR2xzewQ9Iz1ojt1jEvz2Y4KsdoB9HFW8Q==","signatures":[{"sig":"MEUCIAlFC2jzMXY/QioOxxO0TDodR3cIWMA9slBIblHy3qJ/AiEAg4gsJBB6YyCH7s8ibhZWEKmU4lTzn2cw32hCL2fX/LE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139474},"types":"frappe/frappe.d.ts","gitHead":"9bd6eee3cd47f78e9cf51f69383ead559facaf8c","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.3_1758228631422_0.147452978916794","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@anygridtech/frappe-types","version":"2.0.4","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.4","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"61b059b26511a546858a6a7a1a318d6bd4232309","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.4.tgz","fileCount":20,"integrity":"sha512-Hw+CNOT/q2E5zNiDrQ6PvyaHC5zr8BgwL/vSwoHnksjSRdXUTC/2g4P2hbVg1QiHsi8CEupOuRc2qBcFEAqy8g==","signatures":[{"sig":"MEUCIHHeamZXRwcRlacPbRSfOaUOs+XFirBn+dBoXC8qW1LFAiEAu31hcajfUp0vHsow8DOHSgS0oIFdygJ+IEuFLcUCBao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139473},"types":"client/index.d.ts","gitHead":"0d130f2163930e7c3cdaa556cacfe1f0d73c662f","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.4_1758229277003_0.9866176875799173","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@anygridtech/frappe-types","version":"2.0.5","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.5","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"db7cdb896f8f1b7913dc967813b068ad08e521d7","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.5.tgz","fileCount":24,"integrity":"sha512-/gPll8CXYRc7kEj69s/3BQzkvXlgwPo8wape8fn+jXr8ULXf6N948rs+Ndi2GkQhMNVT53Efd0jg0Cha6IBA9g==","signatures":[{"sig":"MEUCIQCoBct8tZ37n9+XlBmAKT4YUh0Ilmh6YGV6aSr2+8x+JAIgF7/m+0YRkDTByGKax6bcvSM8Fc+QM0XTdvuFlsHdDBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141765},"types":"client/index.d.ts","gitHead":"e5316c24ef4f9944d976e97cd4cd78c75fd945ed","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.5_1758375358621_0.2782493669341042","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@anygridtech/frappe-types","version":"2.0.6","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.6","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"ceb3a35eef0a3a3a04013682b7a5da65712f8386","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.6.tgz","fileCount":24,"integrity":"sha512-Fppd9TpmxeA1ulU0bWgffpjzb7cpmTqnJz5aEY8FSU0OySdv4jXqMi5sBeOeZI4g5Zez7Q/8UjQiGQvOJXegoA==","signatures":[{"sig":"MEQCIDLDPlmMjIp0nM8fyw2pp/glzQUPeOZVLSSFXvWsEXhZAiB4Tjjqeg5ojVRE9EkGvH9Wa9J9oBEi6yVHq2t4q99x7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141738},"types":"client/index.d.ts","gitHead":"a98827608a8c4a8dfd400a742744de0d1af9aa8c","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.6_1758375604774_0.31176219456493004","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@anygridtech/frappe-types","version":"2.0.7","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.0.7","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"71411bf08f535d549afae950367b21e53dfbec7d","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.0.7.tgz","fileCount":24,"integrity":"sha512-DsMTFm90x8gOCzrlkAW/Tom5MDN3X8lNT8/8i6ARFZxJtsODL8DNfnr9o245N8RHQZXAceTzgI3TXBlSTp+iBw==","signatures":[{"sig":"MEUCIQDMH5FMVIfg5ABI47GgMuM+vcBzjH0apSR1joIbh5lMyQIgP6Bnses6AuC63Wa58malG+9uyeiaKXwZKs+QzHZ0Ii8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142348},"types":"client/index.d.ts","gitHead":"77e19c191c42da978bd34f8331a7d6fee9c982e9","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.0.7_1758720511763_0.8024264238903538","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@anygridtech/frappe-types","version":"2.1.0","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","_id":"@anygridtech/frappe-types@2.1.0","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"homepage":"https://github.com/AnyGridTech/frappe-types#readme","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"dist":{"shasum":"3f3ff94480d2e52ea87bebbe632802206faa5f5f","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.1.0.tgz","fileCount":24,"integrity":"sha512-EMRUglhuU6lVpKaHsmO8CJzo1bpuw9p5MXaZBjRr7YT/zb+EOJi0qgR0aYtZSGy3mKGrUmg6HFy5xiYsnCR3rg==","signatures":[{"sig":"MEYCIQD0icowFcssjnnkxmilLkDtU3SlFhL6UklKglBuKYWSOQIhANpTJdYXts+QAOIoyfZnn2n+gNvCiJpsC4rNQ2iI+Yhe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142637},"types":"client/index.d.ts","gitHead":"9826fb8937fec5c37ae9ec225886ff62239106d4","_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"repository":{"url":"git+https://github.com/AnyGridTech/frappe-types.git","type":"git"},"_npmVersion":"10.9.2","description":"TypeScript type definitions for Frappe","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@types/jquery":"^3.5.33"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/frappe-types_2.1.0_1761242505088_0.6315208116085129","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@anygridtech/frappe-types","version":"2.1.1","description":"TypeScript type definitions for Frappe","types":"client/index.d.ts","keywords":["frappe","typescript","types"],"author":{"name":"AnyGrid Tech"},"license":"MIT","dependencies":{"@types/jquery":"^3.5.33"},"repository":{"type":"git","url":"git+https://github.com/AnyGridTech/frappe-types.git"},"_id":"@anygridtech/frappe-types@2.1.1","gitHead":"720cc9acb0ee93eaf8fe1ffa1d11835d4b48ba90","bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"homepage":"https://github.com/AnyGridTech/frappe-types#readme","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-d8cG3NI6zugo0dn3b28kAi939z3P3QpcBuL9SFZ4lj5nzzF904hc0MPQJ4K8y3iE1zqrjt3U9aeZDdjLNrmyWw==","shasum":"3239b1150cbc971587fa30af4db433674578058a","tarball":"https://registry.npmjs.org/@anygridtech/frappe-types/-/frappe-types-2.1.1.tgz","fileCount":24,"unpackedSize":142510,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD4m1HgQtpEwZ5QCfmWnCQPJk8c/fK4KQ/IW/R/SOl7MgIhAMp9cec2McjasWZVxgwJ6bSf6JQbjN/57V3z4NOFCnnB"}]},"_npmUser":{"name":"troyaks1","email":"LGOTCFG@gmail.com"},"directories":{},"maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frappe-types_2.1.1_1762957717437_0.8348166325266084"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-08T17:58:55.948Z","modified":"2025-11-12T14:28:37.816Z","1.0.0":"2025-09-08T17:58:56.209Z","2.0.0":"2025-09-18T19:28:25.125Z","2.0.1":"2025-09-18T19:39:43.913Z","2.0.2":"2025-09-18T19:56:50.148Z","2.0.3":"2025-09-18T20:50:31.635Z","2.0.4":"2025-09-18T21:01:17.187Z","2.0.5":"2025-09-20T13:35:58.818Z","2.0.6":"2025-09-20T13:40:05.001Z","2.0.7":"2025-09-24T13:28:31.967Z","2.1.0":"2025-10-23T18:01:45.302Z","2.1.1":"2025-11-12T14:28:37.611Z"},"bugs":{"url":"https://github.com/AnyGridTech/frappe-types/issues"},"author":{"name":"AnyGrid Tech"},"license":"MIT","homepage":"https://github.com/AnyGridTech/frappe-types#readme","keywords":["frappe","typescript","types"],"repository":{"type":"git","url":"git+https://github.com/AnyGridTech/frappe-types.git"},"description":"TypeScript type definitions for Frappe","maintainers":[{"name":"troyaks1","email":"LGOTCFG@gmail.com"}],"readme":"<h1 align=\"center\">\r\n  🚀 Frappe Typescript\r\n</h1>\r\n\r\n<p align=\"center\">\r\n  <a href=\"\" rel=\"noopener\">\r\n    <img width=200px height=200px src=\"LOGO.png\" alt=\"Project logo\">\r\n  </a>\r\n</p>\r\n\r\n<h3 align=\"center\">@anygridtech/frappe-types</h3>\r\n\r\n<div align=\"center\">\r\n\r\n[![Status](https://img.shields.io/badge/status-active-success.svg)]()\r\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)\r\n\r\n</div>\r\n\r\n---\r\n\r\n<p align=\"center\">\r\nComprehensive TypeScript definitions for the Frappe Framework’s client-side JavaScript API.  \r\nThis package provides fully-typed global variables and functions commonly injected by Frappe in the browser such as <strong>frappe</strong>, <strong>cur_frm</strong>, <strong>__</strong>, <strong>msgprint</strong>, and much more, allowing you to write modern, type-safe custom Frappe apps with confidence.\r\n<br>\r\n</p>\r\n\r\n---\r\n\r\n## 📝 Table of Contents\r\n\r\n- [About](#about)\r\n- [What’s Included?](#whats_included)\r\n- [Getting Started](#getting_started)\r\n- [Installation](#installation)\r\n- [Setup](#setup)\r\n- [Usage](#usage)\r\n- [Deployment](#deployment)\r\n- [Built Using](#built_using)\r\n- [Contributing](#contributing)\r\n- [Authors](#authors)\r\n- [Acknowledgments](#acknowledgement)\r\n\r\n---\r\n\r\n## 🧐 About <a name = \"about\"></a>\r\n\r\nThe Frappe Framework offers a powerful client-side API — but it’s built around plain JavaScript, which comes with common issues:\r\n\r\n- ❌ Typing mistakes (e.g. `frm.doc.customer_name` vs `frm.doc.customer_nam`)  \r\n- ❌ No clarity on the shape of API responses  \r\n- ❌ Fragile code during refactors  \r\n- ❌ Poor autocomplete and inline documentation  \r\n\r\nWith `@anygridtech/frappe-types`, you get:  \r\n\r\n- ✅ Accurate autocompletion  \r\n- ✅ Compile-time error checking  \r\n- ✅ Inline documentation support  \r\n- ✅ Improved code maintainability and developer experience  \r\n\r\n---\r\n\r\n## 📦 What’s Included? <a name = \"whats_included\"></a>\r\n\r\nType definitions for commonly used global objects:\r\n\r\n- `frappe`: `frappe.call`, `frappe.db`, `frappe.ui.form`, `frappe.msgprint`, etc.  \r\n- `cur_frm`: The current form object (`cur_frm.doc`, `cur_frm.set_value`, etc.)  \r\n- `__`: Translation function  \r\n- Utilities: `msgprint`, `cstr`, `flt`, etc.  \r\n\r\n> 🧩 The list is continuously expanding as new globals and patterns are added.\r\n\r\n---\r\n\r\n## 🏁 Getting Started <a name = \"getting_started\"></a>\r\n\r\nThese instructions will help you set up the package in a TypeScript project.\r\n\r\n### Prerequisites\r\n\r\nMake sure your project is configured for TypeScript:\r\n\r\n```bash\r\nnpm install typescript\r\nnpx tsc --init\r\n```\r\n\r\n---\r\n\r\n## 📥 Installation <a name = \"installation\"></a>\r\n\r\nInstall as a dev dependency:\r\n\r\n```bash\r\n# npm\r\nnpm install --save-dev @anygridtech/frappe-types\r\n\r\n# yarn\r\nyarn add --dev @anygridtech/frappe-types\r\n\r\n# pnpm\r\npnpm add -D @anygridtech/frappe-types\r\n```\r\n\r\n---\r\n\r\n## ⚙️ Setup <a name = \"setup\"></a>\r\n\r\nThis package is designed to work with `@anygridtech/frappe-ts-tools`. You must set up `frappe-ts-tools` first:\r\n\r\n👉 **[Follow @anygridtech/frappe-ts-tools Setup Instructions](https://github.com/AnyGridTech/frappe-ts-tools#configuration)**\r\n\r\n\r\nThe `frappe-ts-tools` package handles all TypeScript compilation and build configuration automatically.\r\n\r\n---\r\n\r\n## 🎈 Usage <a name=\"usage\"></a>\r\n\r\nAfter setup, you can use Frappe globals with full TypeScript support:\r\n\r\n```ts\r\nfrappe.call({\r\n  method: \"frappe.client.get\",\r\n  args: {\r\n    doctype: \"Customer\",\r\n    name: \"CUST-0001\"\r\n  },\r\n  callback(r) {\r\n    console.log(r.message);\r\n  }\r\n});\r\n```\r\n\r\n---\r\n\r\n## 🚀 Deployment <a name = \"deployment\"></a>\r\n\r\nThis is a type-only package. Just include it in your dev dependencies — no runtime deployment required.\r\n\r\n---\r\n\r\n## ⛏️ Built Using <a name = \"built_using\"></a>\r\n\r\n- [TypeScript](https://www.typescriptlang.org/)\r\n- [Frappe](https://frappeframework.com/)\r\n\r\n---\r\n\r\n## 🤝 Contributing <a name = \"contributing\"></a>\r\n\r\nThis project is a community effort.  \r\nContributions are welcome! Open an issue or PR if you find missing or incorrect types.\r\n\r\n---\r\n\r\n## ✍️ Authors <a name = \"authors\"></a>\r\n\r\n- [@anygridtech](https://github.com/anygridtech) – Maintainers  \r\n- Inspired by [@kylelobo](https://github.com/kylelobo) – Initial template\r\n\r\n---\r\n\r\n## 🎉 Acknowledgements <a name = \"acknowledgement\"></a>\r\n\r\n- Frappe community for documentation and examples  \r\n- Inspiration from open-source type definition projects\r\n","readmeFilename":"README.md"}