Esta paginas contêm varias dicas e truques que deve ser útil para muitas pessoas devenvolvendo extensões usando WebExtension APIs.
Usando recursos avancados do ECMAScript 2015 e 2016.
Firefox suporta muitos recursos do ECMAScript 2015 fora da box. Diversas novidades e recursos experimental, contanto entretanto, não estão disponiveis por padrão para a Web ou WebExtensions. Se você quer usar esses recursos, é melhor transpilar seu codigo usando uma ferramenta como o Babel.
Cuidado que qualquer coisa abalixo desta linha é informação desatualizada e tem sido removida do Babel 6.
Babel fornece transformações para a grande maioria dos recursos do ES2015, e os habilita por padrão. Uma vez que o Firefox já suporta totalmente a maiorias dessas, é melhor configurar Babel para ignorar-lá. Nós sugerimos criando um arquivo .babelrc
, ou uma seção babel
em seu arquivo de projeto package.json
contendo o seguinte:
{
"env": {
"firefox": {
"sourceMaps": "inline",
"blacklist": [
"es5.properties.mutators",
"es6.arrowFunctions",
"es6.destructuring",
"es6.forOf",
"es6.parameters",
"es6.properties.computed",
"es6.properties.shorthand",
"es6.spec.symbols",
"es6.spread",
"es6.tailCall",
"es6.templateLiterals",
"es6.regex.sticky",
"es6.regex.unicode"
]
}
}
}
Então, para compilar um script individual simplesmente, execute:
BABEL_ENV=firefox babel <filename>
Ou, para compilar cada arquivo JavaScript dentro do diretório src
e colocar os arquivos compilados em compiled
, copiando arquivos não-JavaScript no processo, executadno:
BABEL_ENV=firefox babel -Dd compiled src