{"id":8861,"date":"2020-07-08T08:15:20","date_gmt":"2020-07-08T15:15:20","guid":{"rendered":"http:\/\/blog.mozilla.org\/addons\/?p=8861"},"modified":"2020-07-08T10:49:26","modified_gmt":"2020-07-08T17:49:26","slug":"additional-javascript-syntax-support-in-add-on-developer-tools","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/","title":{"rendered":"Additional JavaScript syntax support in add-on developer tools"},"content":{"rendered":"<p>When an add-on is submitted to Firefox for validation, the <a href=\"https:\/\/github.com\/mozilla\/addons-linter\">add-ons linter<\/a> checks its code and displays relevant errors, warnings, or friendly messages for the developer to review. JavaScript is constantly evolving, and when the linter lags behind the language, developers may see syntax errors for code that is generally considered acceptable. These errors block developers from getting their add-on signed or listed on addons.mozilla.org.<\/p>\n<p><a href=\"https:\/\/blog.mozilla.org\/addons\/files\/2020\/07\/JS-Syntax-Error.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-8862 size-large\" src=\"https:\/\/blog.mozilla.org\/addons\/files\/2020\/07\/JS-Syntax-Error-600x116.png\" alt=\"Example of JavaScript syntax error\" width=\"600\" height=\"116\" srcset=\"https:\/\/blog.mozilla.org\/addons\/files\/2020\/07\/JS-Syntax-Error-600x116.png 600w, https:\/\/blog.mozilla.org\/addons\/files\/2020\/07\/JS-Syntax-Error-252x49.png 252w, https:\/\/blog.mozilla.org\/addons\/files\/2020\/07\/JS-Syntax-Error.png 713w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>On July 2, the linter was updated from <a href=\"https:\/\/eslint.org\/\">ESLint<\/a> 5.16 to ESLint 7.3 for JavaScript validation. This upgrades linter support to most ECMAScript 2020 syntax, including features like <a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\/3085\">optional chaining<\/a>,<a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\/3169\"> BigInt<\/a>, and<a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\/2498\"> dynamic imports<\/a>. As a quick note, the linter is still slightly behind what Firefox allows. We will post again in this blog the next time we make an update.<\/p>\n<p>Want to help us keep the linter up-to-date? We welcome <a href=\"https:\/\/wiki.mozilla.org\/Add-ons\/Contribute#Improve_addons.mozilla.org_.28AMO.29\">code contributions<\/a> and encourage developers to <a href=\"https:\/\/github.com\/mozilla\/addons-linter\/issues\">report bugs<\/a> found in our validation process.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When an add-on is submitted to Firefox for validation, the add-ons linter checks its code and displays relevant errors, warnings, or friendly messages for the developer to review. JavaScript is &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\">Read more<\/a><\/p>\n","protected":false},"author":1405,"featured_media":8167,"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>Additional JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog<\/title>\n<meta name=\"description\" content=\"The Firefox add-ons linter has been updated and now accepts most ECMAScript 2020 syntax during extension code validation.\" \/>\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\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Caitlin Neiman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\",\"name\":\"Additional JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png\",\"datePublished\":\"2020-07-08T15:15:20+00:00\",\"dateModified\":\"2020-07-08T17:49:26+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/d42e525583ec49a90da7806934fd533f\"},\"description\":\"The Firefox add-ons linter has been updated and now accepts most ECMAScript 2020 syntax during extension code validation.\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png\",\"contentUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png\",\"width\":240,\"height\":240,\"caption\":\"JavaScript logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-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\":\"Additional 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\/d42e525583ec49a90da7806934fd533f\",\"name\":\"Caitlin Neiman\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/022ba856a87c8f40739b7ef2fdcdf33c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/022ba856a87c8f40739b7ef2fdcdf33c?s=96&d=mm&r=g\",\"caption\":\"Caitlin Neiman\"},\"description\":\"Add-ons Community Manager at Mozilla.\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/cneimanmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Additional JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog","description":"The Firefox add-ons linter has been updated and now accepts most ECMAScript 2020 syntax during extension code validation.","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\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/","twitter_misc":{"Written by":"Caitlin Neiman","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/","url":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/","name":"Additional JavaScript syntax support in add-on developer tools - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png","datePublished":"2020-07-08T15:15:20+00:00","dateModified":"2020-07-08T17:49:26+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/d42e525583ec49a90da7806934fd533f"},"description":"The Firefox add-ons linter has been updated and now accepts most ECMAScript 2020 syntax during extension code validation.","breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-javascript-syntax-support-in-add-on-developer-tools\/#primaryimage","url":"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png","contentUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2017\/05\/Unofficial_JavaScript_logo_2.svg.png","width":240,"height":240,"caption":"JavaScript logo"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/07\/08\/additional-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":"Additional 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\/d42e525583ec49a90da7806934fd533f","name":"Caitlin Neiman","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/022ba856a87c8f40739b7ef2fdcdf33c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/022ba856a87c8f40739b7ef2fdcdf33c?s=96&d=mm&r=g","caption":"Caitlin Neiman"},"description":"Add-ons Community Manager at Mozilla.","url":"https:\/\/blog.mozilla.org\/addons\/author\/cneimanmozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/8861"}],"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\/1405"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=8861"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/8861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media\/8167"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=8861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=8861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=8861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}