{"id":9031,"date":"2021-12-07T09:29:59","date_gmt":"2021-12-07T17:29:59","guid":{"rendered":"https:\/\/blog.mozilla.org\/addons\/?p=9031"},"modified":"2021-12-07T09:29:59","modified_gmt":"2021-12-07T17:29:59","slug":"new-javascript-syntax-support-in-add-on-developer-tools","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/","title":{"rendered":"New JavaScript syntax support in add-on developer tools"},"content":{"rendered":"<p>It\u2019s been a year since <a href=\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\">we last added support for new JavaScript syntax<\/a> to the <a href=\"https:\/\/github.com\/mozilla\/addons-linter\">add-ons linter<\/a>. In that time we&#8217;ve used it to validate over 150,000 submissions to AMO totalling hundreds of millions of lines of code. But it has been a year, and with both Javascript and Firefox are constantly and quickly evolving, the list of JavaScript features Firefox supports and what the AMO linter allows have drifted apart.<\/p>\n<p>This drift is not an accident; Firefox and AMO don&#8217;t keep the same cadence on supported features, and this is deliberate. Upcoming JavaScript features are spread across different <a href=\"https:\/\/tc39.es\/process-document\/\">EcmaScript proposal stages<\/a>, meaning different features are always in different stages of readiness. While Firefox often trials promising new JavaScript features that aren\u2019t \u201cfinished\u201d yet (stage 4 in the ECMAScript process) to better test their implementations and drive early adoption, the AMO team takes a different approach intended to minimize friction developers might face moving their addons between browsers. To that end, the AMO team only adds support for &#8220;finished&#8221;, stage 4 features to the linter.<\/p>\n<p>This hybrid approach works well for everyone; while Firefox continues to push the web ecosystem forward, AMO is making it easier for add-on developers to move laterally within that ecosystem.<\/p>\n<p>Today, we&#8217;re happy to announce that our linter has been updated to<a href=\"https:\/\/eslint.org\/\"> ESLint<\/a> v8 for JavaScript validation. This upgrades linter support to ECMAScript 2022 syntax, including features like <a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\/3062\">public field declaration<\/a> and <a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\/3741\">top-level await<\/a> that add-on developers will find particularly useful.<\/p>\n<p>If you&#8217;d like to know more about how these tools work, and maybe help us improve them, <a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\">bug reports<\/a> and <a href=\"https:\/\/wiki.mozilla.org\/Add-ons\/Contribute#Improve_addons.mozilla.org_.28AMO.29\">new contributors<\/a> are always welcome. Thank you for being a part of Mozilla, and the add-ons developer community.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s been a year since we last added support for new JavaScript syntax to the add-ons linter. In that time we&#8217;ve used it to validate over 150,000 submissions to AMO &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/\">Read more<\/a><\/p>\n","protected":false},"author":1880,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44,121,278886],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog<\/title>\n<meta name=\"description\" content=\"It\u2019s been a year since we last added support for new JavaScript syntax to the add-ons linter. In that time we&#039;ve used it to validate over 150,000 submissions to AMO totalling hundreds of millions of lines of code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Durand\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/\",\"name\":\"New JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"datePublished\":\"2021-12-07T17:29:59+00:00\",\"dateModified\":\"2021-12-07T17:29:59+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/2e8dd8558199ccf64f21510ed2e6de68\"},\"description\":\"It\u2019s been a year since we last added support for new JavaScript syntax to the add-ons linter. In that time we've used it to validate over 150,000 submissions to AMO totalling hundreds of millions of lines of code.\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/addons\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New JavaScript syntax support in add-on developer tools\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/\",\"name\":\"Mozilla Add-ons Community Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/2e8dd8558199ccf64f21510ed2e6de68\",\"name\":\"William Durand\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e2fa737f7938f690847d2f5eeea87025?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e2fa737f7938f690847d2f5eeea87025?s=96&d=mm&r=g\",\"caption\":\"William Durand\"},\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/wdurandmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog","description":"It\u2019s been a year since we last added support for new JavaScript syntax to the add-ons linter. In that time we've used it to validate over 150,000 submissions to AMO totalling hundreds of millions of lines of code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/","twitter_misc":{"Written by":"William Durand","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/","url":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/","name":"New JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"datePublished":"2021-12-07T17:29:59+00:00","dateModified":"2021-12-07T17:29:59+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/2e8dd8558199ccf64f21510ed2e6de68"},"description":"It\u2019s been a year since we last added support for new JavaScript syntax to the add-ons linter. In that time we've used it to validate over 150,000 submissions to AMO totalling hundreds of millions of lines of code.","breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2021\/12\/07\/new-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/addons\/"},{"@type":"ListItem","position":2,"name":"New JavaScript syntax support in add-on developer tools"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/addons\/#website","url":"https:\/\/blog.mozilla.org\/addons\/","name":"Mozilla Add-ons Community Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/2e8dd8558199ccf64f21510ed2e6de68","name":"William Durand","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e2fa737f7938f690847d2f5eeea87025?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e2fa737f7938f690847d2f5eeea87025?s=96&d=mm&r=g","caption":"William Durand"},"url":"https:\/\/blog.mozilla.org\/addons\/author\/wdurandmozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/9031"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/users\/1880"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=9031"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/9031\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=9031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=9031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=9031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}