{"_id":"@figma/eslint-plugin-figma-plugins","_rev":"3822995","name":"@figma/eslint-plugin-figma-plugins","description":"typescript-eslint rules for Figma plugin development","dist-tags":{"latest":"0.16.1"},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"time":{"modified":"2025-08-19T03:33:47.000Z","created":"2024-02-08T21:19:10.930Z","0.16.1":"2025-02-18T18:03:33.900Z","0.16.0":"2025-02-18T17:57:22.671Z","0.15.0":"2024-03-14T18:32:56.385Z","0.14.0":"2024-02-22T22:10:40.428Z","0.13.0":"2024-02-21T23:24:02.325Z","0.12.0":"2024-02-21T18:30:14.867Z","0.11.0":"2024-02-21T00:00:21.662Z","0.10.0":"2024-02-08T21:19:10.930Z"},"users":{},"author":"","repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"versions":{"0.16.1":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.16.1","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint":"eslint .","lint:docs":"npm run update:eslint-docs -- --check","typecheck":"tsc --noEmit","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"_id":"@figma/eslint-plugin-figma-plugins@0.16.1","gitHead":"bcdbe359a8e61ce83ca174b33448c72f3bdf978d","_nodeVersion":"22.10.0","_npmVersion":"10.9.0","dist":{"shasum":"4bec2e7b40d9a3cd1b3fafbff4226dc94dd5d53f","size":11586,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.16.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.16.1.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-figma-plugins_0.16.1_1739901813707_0.23940629053902374"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-02-18T18:03:33.900Z","publish_time":1739901813900,"_source_registry_name":"default","_cnpm_publish_time":1739901813900},"0.16.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.16.0","author":"","license":"MIT","_id":"@figma/eslint-plugin-figma-plugins@0.16.0","maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"dist":{"shasum":"6bfe1e2dca6f5179f1c43ecae5954593fb0bdd60","size":11521,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.16.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.16.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"852faf3967b45445a0c21f5168e903dad9289c56","scripts":{"lint":"eslint .","test":"jest test/","build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","clean":"rm -rf dist","watch":"tsc -p tsconfig.build.json -w","lint:docs":"npm run update:eslint-docs -- --check","typecheck":"tsc --noEmit","test-workaround":"jest --detect-open-handles test/","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"repository":{"url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git","type":"git"},"_npmVersion":"10.9.0","description":"typescript-eslint rules for Figma plugin development","directories":{},"_nodeVersion":"22.10.0","dependencies":{"typescript":"^5.3.2","@typescript-eslint/utils":"^6.12.0","@typescript-eslint/typescript-estree":"^6.13.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.2","jest":"^29.7.0","eslint":"^8.54.0","ts-jest":"^29.1.1","@types/jest":"^29.5.11","@types/node":"^20.9.4","eslint-doc-generator":"^1.6.1","@tsconfig/recommended":"^1.0.3","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","@typescript-eslint/eslint-plugin":"^6.12.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-figma-plugins_0.16.0_1739901442500_0.8678591323271887","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2025-02-18T17:57:22.671Z","publish_time":1739901442671,"_source_registry_name":"default","_cnpm_publish_time":1739901442671},"0.15.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.15.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint":"eslint .","lint:docs":"npm run update:eslint-docs -- --check","typecheck":"tsc --noEmit","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"gitHead":"c330eaf969b8b7be975fa287404243fcab1ed535","_id":"@figma/eslint-plugin-figma-plugins@0.15.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"66acadd82865d7f132acbcf0cf6058fe2b258df2","size":10789,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.15.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.15.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.15.0_1710441176242_0.5107077348980593"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-14T18:32:56.385Z","publish_time":1710441176385,"_source_registry_name":"default","_cnpm_publish_time":1710441176385},"0.14.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.14.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint:eslint-docs":"npm run update:eslint-docs -- --check","lint:js":"eslint .","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"types":"./dist/index.d.ts","gitHead":"32cc1dae3af0b39e02f6f7901ba278b9d07ff638","_id":"@figma/eslint-plugin-figma-plugins@0.14.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"5a6b774d742c79e333bdc7239a249a902811978f","size":19435,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.14.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.14.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.14.0_1708639840280_0.8532919150969365"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-22T22:10:40.428Z","publish_time":1708639840428,"_source_registry_name":"default","_cnpm_publish_time":1708639840428},"0.13.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.13.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint:eslint-docs":"npm run update:eslint-docs -- --check","lint:js":"eslint .","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"types":"./dist/index.d.ts","gitHead":"c9db6a7546246990c43faae0f52e9ee1b8b8cfdb","_id":"@figma/eslint-plugin-figma-plugins@0.13.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"e7ba1265d0e8903cefcce60168dfc4fd17502d3e","size":19342,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.13.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.13.0_1708557842097_0.5508683065464932"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-21T23:24:02.325Z","publish_time":1708557842325,"_source_registry_name":"default","_cnpm_publish_time":1708557842325},"0.12.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.12.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint:eslint-docs":"npm run update:eslint-docs -- --check","lint:js":"eslint .","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"types":"./dist/index.d.ts","gitHead":"4eff1e86c8f9eeb2f8d19f533234eb2d044305b3","_id":"@figma/eslint-plugin-figma-plugins@0.12.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"5e93a8be55c317debfadbcee9a973aca654616ee","size":19039,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.12.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.12.0_1708540214713_0.8195702770308138"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-21T18:30:14.867Z","publish_time":1708540214867,"_source_registry_name":"default","_cnpm_publish_time":1708540214867},"0.11.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.11.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint:eslint-docs":"npm run update:eslint-docs -- --check","lint:js":"eslint .","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"types":"./dist/index.d.ts","gitHead":"4ac1b2c4bea766fc44fe8b8b19eb00ad82123008","_id":"@figma/eslint-plugin-figma-plugins@0.11.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"fd8dd023de3ef57003c50f18997a89f157372ce2","size":19091,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.11.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.11.0_1708473621324_0.7589848057364446"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-21T00:00:21.662Z","publish_time":1708473621662,"_source_registry_name":"default","_cnpm_publish_time":1708473621662},"0.10.0":{"name":"@figma/eslint-plugin-figma-plugins","version":"0.10.0","description":"typescript-eslint rules for Figma plugin development","main":"dist/index.js","scripts":{"build":"npm run clean && tsc -p tsconfig.build.json && npm run update:eslint-docs","watch":"tsc -p tsconfig.build.json -w","clean":"rm -rf dist","test":"jest test/","test-workaround":"jest --detect-open-handles test/","lint":"npm-run-all \"lint:*\"","lint:docs":"markdownlint \"**/*.md\"","lint:eslint-docs":"npm run update:eslint-docs -- --check","lint:js":"eslint .","update:eslint-docs":"eslint-doc-generator"},"repository":{"type":"git","url":"git+https://github.com/figma/eslint-plugin-figma-plugins.git"},"author":"","license":"MIT","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","dependencies":{"@typescript-eslint/typescript-estree":"^6.13.2","@typescript-eslint/utils":"^6.12.0","typescript":"^5.3.2"},"devDependencies":{"@tsconfig/recommended":"^1.0.3","@types/jest":"^29.5.11","@types/node":"^20.9.4","@typescript-eslint/eslint-plugin":"^6.12.0","@typescript-eslint/parser":"^6.12.0","@typescript-eslint/rule-tester":"^6.13.2","eslint":"^8.54.0","eslint-doc-generator":"^1.6.1","jest":"^29.7.0","ts-jest":"^29.1.1","tsx":"^4.6.2"},"types":"./dist/index.d.ts","gitHead":"17f991d1904f88b3c6472bf24bbac36f6961d4cd","_id":"@figma/eslint-plugin-figma-plugins@0.10.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"bd07e7a090142c57744da342d762f6a9958a3783","size":20558,"noattachment":false,"key":"/@figma/eslint-plugin-figma-plugins/-/@figma/eslint-plugin-figma-plugins-0.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@figma/eslint-plugin-figma-plugins/download/@figma/eslint-plugin-figma-plugins-0.10.0.tgz"},"_npmUser":{"name":"jefflee-figma","email":"jefflee@figma.com"},"directories":{},"maintainers":[{"name":"ahurtado-figma","email":""},{"name":"akrimont","email":""},{"name":"alvin-a","email":""},{"name":"bdrebing","email":""},{"name":"breecabiles","email":""},{"name":"bsiejka","email":""},{"name":"cjxh","email":""},{"name":"delongfu","email":""},{"name":"dmartin-figma","email":""},{"name":"efrankenberg","email":""},{"name":"ehasama-figma","email":""},{"name":"elainefigma","email":""},{"name":"figbonicus","email":""},{"name":"fszeto-figma","email":""},{"name":"griffinchoe","email":""},{"name":"islobodiuk","email":""},{"name":"iturner","email":""},{"name":"james04321","email":""},{"name":"jefflee-figma","email":""},{"name":"jennylea","email":""},{"name":"jfirebaugh","email":"john.firebaugh@gmail.com"},{"name":"jgao54","email":""},{"name":"jmacapagal","email":""},{"name":"joeyang-figma","email":""},{"name":"johndoherty13","email":""},{"name":"johnklai","email":""},{"name":"kfung","email":""},{"name":"knguyen-figma","email":""},{"name":"kpetersson","email":""},{"name":"lighthurst","email":""},{"name":"lingrace","email":""},{"name":"linzhiq","email":""},{"name":"matthewhuang","email":""},{"name":"mforsgren","email":""},{"name":"mharris-figma","email":""},{"name":"naomijung","email":""},{"name":"oliw-figma","email":""},{"name":"ptomas","email":""},{"name":"rchouhan","email":""},{"name":"reid-figma","email":""},{"name":"renisabel","email":""},{"name":"rgullyfigma","email":""},{"name":"rishir2024","email":""},{"name":"rmah-figma","email":""},{"name":"roystbeef","email":""},{"name":"rstebbingfigma","email":""},{"name":"sicking","email":""},{"name":"slees-figma","email":""},{"name":"spark.fig","email":""},{"name":"sueh","email":""},{"name":"tduncalf-figma","email":""},{"name":"trev4ev","email":""},{"name":"weeyum","email":""},{"name":"ymichael","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-figma-plugins_0.10.0_1707427150726_0.8948817776714819"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-08T21:19:10.930Z","publish_time":1707427150930,"_source_registry_name":"default","_cnpm_publish_time":1707427150930}},"readme":"# eslint-plugin-figma-plugins\n\nThis repository defines [typescript-eslint](https://typescript-eslint.io/) rules for [Figma plugin development](https://www.figma.com/plugin-docs/).\n\nThis tool helps you stay up to date with best practices and deprecations in the Figma Plugin API. You can use it to help identify, and in many cases automatically fix, issues in your plugin code. Like any ESLint plugin, it integrates with IDEs like VSCode to provide inline warnings and quick-fix functionality.\n\n### A quick look\n\n![An animation of VSCode quick fixes enabled by this plugin](./vscode-quickfix.gif)\n\n## Installation\n\n### Dependencies\n\nThis linter requires TypeScript, ESLint, typescript-eslint, and the Figma Plugin API type definitions. To install all of these, run:\n\n```\nnpm install -D typescript eslint@8 @typescript-eslint/parser@6 @typescript-eslint/eslint-plugin@6 @figma/plugin-typings\n```\n\n#### Notes on peer dependency versions\n\n- This plugin is not yet compatible with ESLint 9. Once [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) has been [upgraded to support ESLint 9](https://github.com/typescript-eslint/typescript-eslint/pull/9002), we'll update this README with example configurations that use the new ESLint 9 flat configs.\n- This plugin has only been tested with typescript-eslint version 6.\n\n### Install the ESLint plugin package\n\n```\nnpm install -D @figma/eslint-plugin-figma-plugins\n```\n\n### Configure eslint\n\nConfigure typescript-eslint as normal using [these instructions](https://typescript-eslint.io/getting-started#step-1-installation).\n\nNext, update your ESLint config's `extends` array to include the `plugin:@figma/figma-plugins/recommended` ruleset. We also recommend the following rulesets:\n\n- `eslint:recommended`,\n- `plugin:@typescript-eslint/recommended`\n\nTo work with TypeScript code, ESLint also requires the following parser settings:\n\n```\n{\n  ...\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    project: './tsconfig.json',\n  },\n  ...\n}\n```\n\nHere's a full example of `.eslintrc.js`:\n\n```\n/* eslint-env node */\nmodule.exports = {\n  extends: [\n    'eslint:recommended',\n    'plugin:@typescript-eslint/recommended',\n    'plugin:@figma/figma-plugins/recommended',\n  ],\n  parser: '@typescript-eslint/parser',\n  parserOptions: {\n    project: './tsconfig.json',\n  },\n  root: true\n}\n```\n\n### Restart the ESLint server\n\nIf you've run `npm install` and updated to a newer version of this package, remember to restart your IDE. In VSCode, you can restart the ESLint server independently by opening the command palette and choosing \"Restart ESLint Server\".\n\n## Usage\n\n### Linting and autofixing\n\nYou can lint your project using these rules by running\n\n```\nnpx eslint ./path/to/source\n```\n\nSome rules provide autofixes, which you can run using `--fix`.\n\n```\nnpx eslint --fix ./path/to/source\n```\n\nAutofixes are also available via some IDEs.\n\n### VSCode\n\nTo use ESLint with VSCode, see the [ESLint VSCode extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint). This extension will show rule violations inline, as well as provide opportunities to run autofixes directly in the IDE.\n\n## Rules\n\n<!-- begin auto-generated rules list -->\n\n???? Configurations enabled in.\\\n⚠️ Configurations set to warn in.\\\n???? Set in the `recommended` configuration.\\\n???? Set in the `recommended-problems-only` configuration.\\\n???? Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\n\n| Name                                                                                                                                       | Description                                                            | ????    | ⚠️ | ???? |\n| :----------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :---- | :- | :- |\n| [await-requires-async](docs/rules/await-requires-async.md)                                                                                 | Require functions that contain `await` to be `async`                   | ???? ???? |    | ???? |\n| [ban-deprecated-id-params](docs/rules/ban-deprecated-id-params.md)                                                                         | Ban use of deprecated string ID parameters                             | ???? ???? |    | ???? |\n| [ban-deprecated-sync-methods](docs/rules/ban-deprecated-sync-methods.md)                                                                   | Ban use of deprecated synchronous methods                              | ???? ???? |    | ???? |\n| [ban-deprecated-sync-prop-getters](docs/rules/ban-deprecated-sync-prop-getters.md)                                                         | Ban use of deprecated synchronous property getters                     | ???? ???? |    | ???? |\n| [ban-deprecated-sync-prop-setters](docs/rules/ban-deprecated-sync-prop-setters.md)                                                         | Ban use of deprecated synchronous property getters                     | ???? ???? |    | ???? |\n| [constrain-proportions-replaced-by-target-aspect-ratio-advice](docs/rules/constrain-proportions-replaced-by-target-aspect-ratio-advice.md) | Warns against using constrainProportions in favor of targetAspectRatio |       | ???? |    |\n| [dynamic-page-documentchange-event-advice](docs/rules/dynamic-page-documentchange-event-advice.md)                                         | Advice on using the `documentchange` event                             |       | ???? |    |\n| [dynamic-page-find-method-advice](docs/rules/dynamic-page-find-method-advice.md)                                                           | Advice on using the find*() family of methods                          |       | ???? |    |\n\n<!-- end auto-generated rules list -->\n\n### Contributing\n\nPlease see [CONTRIBUTING.md](./CONTRIBUTING.md)","_attachments":{},"homepage":"https://github.com/figma/eslint-plugin-figma-plugins#readme","bugs":{"url":"https://github.com/figma/eslint-plugin-figma-plugins/issues"},"license":"MIT"}