{"_id":"@canva/app-eslint-plugin","_rev":"23-7b4a843007efa151c904fda55e837bf4","name":"@canva/app-eslint-plugin","dist-tags":{"beta":"1.0.0-beta.11","latest":"1.0.1"},"versions":{"1.0.0-beta.1":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.1","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.1","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"a0f18dc020d63fdaf57ddfaa6eec33cccdee3730","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.1.tgz","fileCount":3,"integrity":"sha512-4d1YR7ou1BZWjRMkE4aBg7nXibeog5/amxkWnN7qGPRSRLvkVJtm+wqMgwNabcFjuP2ANPtxY9VdPR+dIcdavg==","signatures":[{"sig":"MEUCIEfnOrP4oQDzz4w7/y+klZdFyTmyialQbQOk6WsMVRWKAiEA14RFX4+MrnePs5TRojUYqpprRfGDV0mDrx+e3Wu1g+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9385},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/index.d.ts","default":"./src/index.js"}}},"gitHead":"b1c3e69990b73d1c92e37d03c848e2e7390eb0ef","typings":"./types/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.57.0 || ^9","@eslint/eslintrc":"^2.1.0","typescript-eslint":"^8.0.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^40.0.0","eslint-plugin-formatjs":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.1_1741643066770_0.4949164355203768","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.2","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.2","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"1cd0e4c65fdba6400f756e6e523bb05f60e4afa4","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.2.tgz","fileCount":19,"integrity":"sha512-8HmxOEGctd7+Js1XNmTln9LCDCNlTG7Ep/eSZtINSmbLh7EBxjVEDCgtFcWgRNcPLlkSiUneDyx+z6dfGMwV0A==","signatures":[{"sig":"MEUCIHSUSBHT7Dbq17crmw6narWU/BsiNgwHhcYAHr9JWAtfAiEAyYnN/KRldMb+fOjs+LJ0pFXBVS/2EaUPJ82i4Uhfdlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32824},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/index.d.ts","default":"./src/index.js"}}},"gitHead":"38569c63eeb141e5e65d486fda4db2368dc11459","typings":"./types/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^8.57.0 || ^9","@eslint/eslintrc":"^2.1.0 || ^3","typescript-eslint":"^8.0.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^50 || ^51 || ^52 || ^53 || ^54 || ^55 || ^56","eslint-plugin-formatjs":"^2 || ^3 || ^4 || ^5"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.2_1741818590197_0.739263219103097","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.3","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.3","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"67a4820daa45a103a88693d7d0596e1b1fc0c65e","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.3.tgz","fileCount":11,"integrity":"sha512-TF7V/6LFNsJO/7cGqrBbR+vjMhHuV5mIwv0XRHgCP4M5cYXQgRRDOC4beWzqceenmDVvWknNcFeXi4iaFApUXw==","signatures":[{"sig":"MEQCIDM6iBJqWoWg9waxPzoCKGfmzAsgQyuiIVRpeo4jImaWAiBhxPr86FkvDRdDohNL8y0D4qYYjPW9GBMiOAxFXh57MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25232},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/index.d.ts","default":"./src/index.js"}}},"gitHead":"2c4568748e1145ea0378f7d1147e76c37de066c1","typings":"./types/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^57","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.3_1742873995269_0.4622571910407831","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.4","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.4","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"5fa781ffc1afd1d58b694055476bad0e37358724","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.4.tgz","fileCount":11,"integrity":"sha512-9o8ntE7xzESFbiXJC71wUUGHag7WPGIf3dGctNzf5tuDbsYfI594kiXIGEomM3oJz7VvyJ2Yy8MoRwqDSSr5hg==","signatures":[{"sig":"MEYCIQC3Zp3DrdB2cXWJmlByuQsAm+00HbLR4FNic3Ljp6LZQQIhANO4Ai9mYqA80/oL0qfI9mDFGNgHEGpIntJ+SzthKQ5g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25204},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/index.d.ts","default":"./src/index.js"}}},"gitHead":"e841647c1c2161bbc6e55f5af67ed613f4b22bbc","typings":"./types/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^57","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.4_1756094483453_0.5597914526874748","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.5","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.5","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"e43c33b46f3b88fe3508407104ccc13316a71fdb","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.5.tgz","fileCount":11,"integrity":"sha512-WFbK26LlDBr2jKzg/wdPARqO3XIzyT2ICjOlw4ZACKBakox/ycXa5uqwTaQ4UjJ8dL6GqMoNmvX7UI7bW+qFGg==","signatures":[{"sig":"MEYCIQDuYJSdUkfdhDlXkFRuqo3CXOrQY75agkW9X/L7X5dk2QIhAMHQyJpsmllC7iPbB3KqTJG6OMS0QcW/jiuxql5y4VT4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27127},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"11b033ee56d7a49850ea551489adf76d2d986c83","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^57","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.5_1756275717224_0.06031352184159555","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.6","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.6","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"3f249be4bb570de25867bfc49c9be01fd55714f6","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.6.tgz","fileCount":11,"integrity":"sha512-4GVGGccXBZGW7UTLmgN47n0PLaioA54EjPE7y1e7Ns9MTuCdJCnD0Np0aYSVmdqPiW00fL0bxxymyELIs0mosA==","signatures":[{"sig":"MEYCIQDBpIlPv/kNy0DVNQ544jahx6yuEKJLKP73V5o4TcqcagIhAMdyfwLgQ2tWDNYTXkVd7EZcbp9AGCM/XSrjjXe6drOh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26760},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"ddb2d730380fdf4a2a0f69d21f5ed225e5369265","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.6_1760068282073_0.4915513145741177","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.7","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.7","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"db9ff5bff066a1b1db887ca6fd21745ebb699d05","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.7.tgz","fileCount":12,"integrity":"sha512-Qhvj4zKaIHdlKXraVpARr9lrBueibC08bgwNdTXTU/8uej3jcIf0SfYxmI7SYqq15y/J9pHYveG6Fkly+711Ng==","signatures":[{"sig":"MEUCIQDGWpKnL9/69uSn90coFBQH7qoVlm7Iwg4gjOfw1/eYJgIgHTqSK9SpDHp3wuJxdHdMqfzjMYLYZTAr8dTQYUCWR+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27329},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"f91d19b1f26b5aa91bc77f1e0e681e22a850f5d0","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"10.2.3","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.7_1760312084480_0.9509236794011686","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.8","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.8","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"30a98bafa6c41926c2b1c5b8e07167fec871094f","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.8.tgz","fileCount":12,"integrity":"sha512-+3wl+GbbeW/adK71EcOVsGjYBqyCEEkmVZdnLypR4lH3JLJC4eGlagtWkZFkIaHQ5h+CdZMdWM8KVkxSSjZslw==","signatures":[{"sig":"MEYCIQCLlruhDr6epyJSc0feh6kJ6Z12aOjkaZyyiuW+y2y0agIhAJ42aU/jnrmXALYGhsLHztHbGjmwrqpjhQJg0sVDLQZ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28363},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"5574dc3a0845119f4b8e760e76d08348432af5b4","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"11.13.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.8_1782096121580_0.5437097634179313","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.9":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.9","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.9","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"53401c242ff8ecb7a9ff7d4babbf0ffe77899cf2","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.9.tgz","fileCount":14,"integrity":"sha512-PH6MFD3V8KSsxaitzMRSDZhdErSJtqL72cQmcLvGvU1jIhR5+WsWcWTINB2UFsDde/x7bSH6QgbsHXYgF+mK9g==","signatures":[{"sig":"MEQCICbPkjGHNMEbb+qheBKMTgTQepnnzkjKRT7ybUqP4WK9AiAFEfDOc69IEoQdxKcU0uz6/kzNcinyPrmeY66xao9MiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31218},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"23d2c0cf6915ae8dddb00fd98c9f6d838e9a5dbe","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"11.16.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-testing-library":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.9_1784002437177_0.4674560040067417","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.10":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.10","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.10","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"2dc29467a4cd428eb8fc16ace271bfd3423ef0ef","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.10.tgz","fileCount":14,"integrity":"sha512-uHuSZeqW2ic3tUJIuO0pxUGJVTMkwXmAvkqmfpCyK+I4/BSzl+MBwfGUFO637+T4SHjpzC0M/kmJJpACMghJXA==","signatures":[{"sig":"MEUCIHoPeMA3CZk2LSOO9Xcz5y3UZttBOS8NZgf21y4pdE21AiEA+hqq32/6UHkEeWlTBD86iF0tXi/3KHdI+aNWcujAE5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31546},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"ed56c1817438ad8d971001c2116c1ff3643ce93d","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"11.16.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"24.18.0","dependencies":{"eslint-import-resolver-typescript":"4.4.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-testing-library":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.10_1784514630096_0.3076771588701235","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.11":{"name":"@canva/app-eslint-plugin","version":"1.0.0-beta.11","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0-beta.11","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"a10c406d22d9716815d675114aafa97f79df2fd1","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0-beta.11.tgz","fileCount":14,"integrity":"sha512-IMnnFOER36l8z3e+5KYhAWJy0rj2BiDxkbjhlBaL/0aeQMwiffh+A5zkjKLg6UkCXom8pu/kVtF0GrglsY8xFg==","signatures":[{"sig":"MEQCIAhe5MSIo0BSWxhCH/BW7VIoQhZc4ZFddPh0YnrrMR8fAiArIKBH/WrcaI/vqXMKYqL5LlY1NN8E+x5z9egCHM2QPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32035},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"0dc8cd9c9d7d668e2ac57d76e1352681d06f9ddc","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"11.16.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"24.18.0","dependencies":{"eslint-import-resolver-typescript":"4.4.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-testing-library":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0-beta.11_1784681255381_0.2065131309204935","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@canva/app-eslint-plugin","version":"1.0.0","keywords":["eslint","eslintconfig","eslintplugin"],"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","_id":"@canva/app-eslint-plugin@1.0.0","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"dist":{"shasum":"75286c475f52118f2de9ac593cb7131af690d0e6","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.0.tgz","fileCount":14,"integrity":"sha512-bB1Bs5RTc+aI8oeqfmkeU7FvNvcyQe0OaBV/EQdy4u0D4B1Hv7AO3dwo/kLH1M9GTn/vSNcJb5AWnZVw59TANw==","signatures":[{"sig":"MEQCICpInsI9syJHxKNDQbB0C3YG04Y7XmLIgOZta42ei1F6AiByHrpvM63XDmnbHKcW19G75wjnSuGUhWb7kCRMiMlDXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32690},"type":"module","module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"d9d3f389dbb787896fc33cb54d98befb4875d2e6","typings":"./types/src/index.d.ts","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"_npmVersion":"11.16.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"_nodeVersion":"24.18.0","dependencies":{"eslint-import-resolver-typescript":"4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-testing-library":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/app-eslint-plugin_1.0.0_1785306186365_0.947638947608763","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"_id":"@canva/app-eslint-plugin@1.0.1","dist":{"shasum":"42c0042dd0e99cc0955e3a72f60cdfd30626da88","tarball":"https://registry.npmjs.org/@canva/app-eslint-plugin/-/app-eslint-plugin-1.0.1.tgz","fileCount":14,"integrity":"sha512-qykZa9QCQlXjGxlmq95trhRV4em+e/tgXktQ5NfELSR1pFNCKltDBaRIn0TvJRmsD/5sGuA3vwFKRrJGE7zkVg==","signatures":[{"sig":"MEUCIFLadlfBpHaR6iqc28+mr+G/2J//zJxO06hK3/aM1KCOAiEAgXeNuyxOfZxcvQOSNwBNfXdO+ty77PDj0b2VshdJsEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHMm/M9bKd1J7Gs7nhwcvSZirjumXX15fEvnsmOWNn4WAiEA0/A81I1UT6J6tdiluhFcfOHPhTe0Ei7zlJVO4u3GGYE="}],"unpackedSize":33739},"name":"@canva/app-eslint-plugin","type":"module","author":{"name":"Canva Pty Ltd."},"module":"./src/index.js","exports":{".":{"import":{"types":"./types/src/index.d.ts","default":"./src/index.js"}}},"gitHead":"e6a8eed16f17ff729e4206c3cf262266bcddb427","license":"SEE LICENSE IN LICENSE.md","typings":"./types/src/index.d.ts","version":"1.0.1","_npmUser":{"name":"canva-dev","email":"frontend-build-team-external@canva.com"},"keywords":["eslint","eslintconfig","eslintplugin"],"_npmVersion":"11.9.0","description":"ESLint rules and shareable config for building with Canva's Apps SDK","directories":{},"maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"_nodeVersion":"24.14.0","dependencies":{"eslint-import-resolver-typescript":"4.4.4"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^9.23.0","@eslint/eslintrc":"^3.2.0","typescript-eslint":"^8.27.0","eslint-plugin-jest":"^28.0.0","eslint-plugin-react":"^7.28.0","eslint-plugin-unicorn":"^61.0.0","eslint-plugin-formatjs":"^5.3.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-jsx-a11y":"^6.0.0","eslint-plugin-react-hooks":"^5.0.0","eslint-plugin-testing-library":"^7.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/app-eslint-plugin_1.0.1_1790145333477_0.24569301635823937"}}},"time":{"created":"2025-03-10T21:44:26.679Z","modified":"2026-09-23T06:35:33.726Z","1.0.0-beta.1":"2025-03-10T21:44:26.937Z","1.0.0-beta.2":"2025-03-12T22:29:50.386Z","1.0.0-beta.3":"2025-03-25T03:39:55.485Z","1.0.0-beta.4":"2025-08-25T04:01:23.650Z","1.0.0-beta.5":"2025-08-27T06:21:57.406Z","1.0.0-beta.6":"2025-10-10T03:51:22.263Z","1.0.0-beta.7":"2025-10-12T23:34:44.669Z","1.0.0-beta.8":"2026-06-22T02:42:01.712Z","1.0.0-beta.9":"2026-07-14T04:13:57.344Z","1.0.0-beta.10":"2026-07-20T02:30:30.235Z","1.0.0-beta.11":"2026-07-22T00:47:35.518Z","1.0.0":"2026-07-29T06:23:06.501Z","1.0.1":"2026-09-23T06:35:33.565Z"},"author":{"name":"Canva Pty Ltd."},"license":"SEE LICENSE IN LICENSE.md","keywords":["eslint","eslintconfig","eslintplugin"],"description":"ESLint rules and shareable config for building with Canva's Apps SDK","maintainers":[{"name":"canva-dev","email":"frontend-build-team-external@canva.com"}],"readme":"# @canva/app-eslint-plugin\n\nESLint plugin for working with Canva.\n\n![ESLint](https://img.shields.io/badge/ESLint-3A33D1?logo=eslint) ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)\n\n## Table of contents\n\n- [Introduction](#introduction)\n- [Setup](#setup)\n  - [1. Install](#1-install)\n  - [2. Configure](#2-configure)\n- [Shareable Configuration](#shareable-configuration)\n- [Changelog](#changelog)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Introduction\n\nThe `@canva/app-eslint-plugin` package is an ESLint plugin that supplies configuration defaults and rules for working with Canva.\n\n## Setup\n\nIf you're using the [Canva Apps SDK starter kit](https://github.com/canva-sdks/canva-apps-sdk-starter-kit), or you've used the [Canva CLI](https://www.npmjs.com/package/@canva/cli) to create a Canva SDK app, the `@canva/app-eslint-plugin` package should already be installed and configured for you.\n\n### 1. Install\n\nYou can migrate an existing Canva SDK app, or use the `@canva/app-eslint-plugin` package in an app not based on the starter kit or generated from the Canva CLI. First install the package as a development dependency:\n\n```bash\nnpm install @canva/app-eslint-plugin --save-dev\n```\n\n### 2. Configure\n\nYou can use the ESLint plugin by importing the `@canva/app-eslint-plugin` package into your ESlint config, and applying the provided shareable config. To import the package to your ESlint [flat config](https://eslint.org/docs/latest/use/configure/migration-guide):\n\n```js\n// eslint.config.js\nimport canva from \"@canva/app-eslint-plugin\";\n\nexport default [\n  ...canva.configs.apps,\n  // your existing eslint config\n];\n```\n\nTo opt in to stricter linting, use the strict configuration:\n\n```js\n// eslint.config.mjs\nimport canva from \"@canva/app-eslint-plugin\";\n\nexport default [...canva.configs.apps_strict];\n```\n\nStrict linting adds import validation, React Hooks and accessibility rules,\nTesting Library rules, snake-case TypeScript filenames, and absolute imports\nbetween directories. It does not prescribe a test runner.\n\n## Shareable Configuration\n\nThis package provides the following configuration sets:\n\n- `apps` - For creating and maintaining high-quality [Canva Apps SDK](https://www.canva.dev/docs/apps/) apps.\n- `apps_strict` - The `apps` configuration with additional strict lint rules.\n- `apps_no_i18n` - This is the same as the `apps` configuration but without the requirement to translate the app. Most apps should support internationalization, however due to constraints on the number of messages some apps may not be able to be translated at this time.\n- `apps_i18n` - This is just the parts of the `apps` config that _aren't_ included in the `apps_no_i18n` configuration. Generally it's better to use the `apps` config directly.\n\nThese sets include the following configuration sets provided by other packages:\n\n- [ESLint recommended](https://eslint.org/docs/latest/use/configure/configuration-files#using-predefined-configurations).\n- [typescript-eslint recommended, stylistic, and strict](https://typescript-eslint.io/users/configs).\n- [eslint-plugin-react recommended](https://github.com/jsx-eslint/eslint-plugin-react?tab=readme-ov-file#recommended).\n- [eslint-plugin-jest recommended](https://github.com/jest-community/eslint-plugin-jest?tab=readme-ov-file#shareable-configurations).\n\nAdditionally, the following rules are configured:\n\n- 💼 Configuration sets the rule is enabled in:\n  - 📦 `apps` and `apps_no_i18n`\n  - 🌐 `apps` and `apps_i18n`\n\n| Plugin                           | Rule                          | 💼  |\n| -------------------------------- | ----------------------------- | --- |\n| @typescript-eslint/eslint-plugin | no-non-null-assertion         | 📦  |\n| @typescript-eslint/eslint-plugin | no-empty-function             | 📦  |\n| @typescript-eslint/eslint-plugin | consistent-type-imports       | 📦  |\n| @typescript-eslint/eslint-plugin | no-explicit-any               | 📦  |\n| @typescript-eslint/eslint-plugin | no-empty-interface            | 📦  |\n| @typescript-eslint/eslint-plugin | consistent-type-definitions   | 📦  |\n| @typescript-eslint/eslint-plugin | explicit-member-accessibility | 📦  |\n| @typescript-eslint/eslint-plugin | naming-convention             | 📦  |\n| eslint                           | no-invalid-this               | 📦  |\n| @typescript-eslint/eslint-plugin | no-invalid-this               | 📦  |\n| @typescript-eslint/eslint-plugin | no-unused-expressions         | 📦  |\n| eslint                           | no-unused-vars                | 📦  |\n| @typescript-eslint/eslint-plugin | no-unused-vars                | 📦  |\n| @typescript-eslint/eslint-plugin | no-require-imports            | 📦  |\n| eslint-plugin-jest               | no-restricted-matchers        | 📦  |\n| react                            | jsx-curly-brace-presence      | 📦  |\n| react                            | jsx-tag-spacing               | 📦  |\n| react                            | self-closing-comp             | 📦  |\n| react                            | no-unescaped-entities         | 📦  |\n| react                            | jsx-uses-react                | 📦  |\n| react                            | react-in-jsx-scope            | 📦  |\n| eslint                           | default-case                  | 📦  |\n| eslint                           | eqeqeq                        | 📦  |\n| eslint                           | no-caller                     | 📦  |\n| eslint                           | no-console                    | 📦  |\n| eslint                           | no-eval                       | 📦  |\n| eslint                           | no-inner-declarations         | 📦  |\n| eslint                           | no-new-wrappers               | 📦  |\n| eslint                           | no-restricted-globals         | 📦  |\n| eslint                           | no-restricted-properties      | 📦  |\n| eslint                           | no-restricted-syntax          | 📦  |\n| eslint                           | no-restricted-imports         | 📦  |\n| eslint                           | no-return-await               | 📦  |\n| eslint                           | no-throw-literal              | 📦  |\n| eslint                           | no-undef-init                 | 📦  |\n| eslint                           | no-var                        | 📦  |\n| eslint                           | object-shorthand              | 📦  |\n| eslint                           | prefer-const                  | 📦  |\n| eslint                           | prefer-object-spread          | 📦  |\n| eslint                           | prefer-rest-params            | 📦  |\n| eslint                           | prefer-spread                 | 📦  |\n| eslint                           | radix                         | 📦  |\n| eslint-plugin-unicorn            | prefer-node-protocol          | 📦  |\n| react                            | no-deprecated                 | 📦  |\n| react                            | forbid-elements               | 📦  |\n| eslint-plugin-unicorn            | filename-case                 | 📦  |\n| @typescript-eslint/eslint-plugin | no-require-imports            | 📦  |\n| eslint                           | no-console                    | 📦  |\n| eslint-plugin-formatjs           | no-invalid-icu                | 🌐  |\n| eslint-plugin-formatjs           | no-literal-string-in-jsx      | 🌐  |\n| eslint-plugin-formatjs           | enforce-description           | 🌐  |\n| eslint-plugin-formatjs           | enforce-default-message       | 🌐  |\n| eslint-plugin-formatjs           | enforce-placeholders          | 🌐  |\n| eslint-plugin-formatjs           | no-id                         | 🌐  |\n| eslint-plugin-formatjs           | no-emoji                      | 🌐  |\n| eslint-plugin-formatjs           | no-useless-message            | 🌐  |\n| eslint-plugin-formatjs           | no-multiple-plurals           | 🌐  |\n| eslint-plugin-formatjs           | no-offset                     | 🌐  |\n| eslint-plugin-formatjs           | blocklist-elements            | 🌐  |\n| eslint-plugin-formatjs           | no-complex-selectors          | 🌐  |\n| eslint-plugin-formatjs           | no-literal-string-in-object   | 🌐  |\n\n## Changelog\n\nSee the `CHANGELOG.md` file.\n\n## Contributing\n\nWe're actively developing this package but are not currently accepting third-party contributions. If you'd like to request any changes or additions to the package, submit a feature request via the [Canva Developers Community](https://community.canva.dev/).\n\n## License\n\nSee the `LICENSE.md` file.\n","readmeFilename":"README.md"}