Skip to content

Instantly share code, notes, and snippets.

View rpl's full-sized avatar

Luca Greco rpl

  • Mozilla
  • Lecce, Italy
View GitHub Profile
@rpl
rpl / src-cmd-create.js
Created February 14, 2017 14:03
web-ext create PR tweaks
/* @flow */
import path from 'path';
import readline from 'readline';
import tty from 'tty';
import {fs} from 'mz';
import mkdirp from 'mkdirp';
import promisify from 'es6-promisify';
import {createLogger} from '../util/logger';
@rpl
rpl / api.js
Created March 15, 2017 16:54
tabTracker snippet
const {Management} = Cu.import("resource://gre/modules/Extension.jsm", {});
....
class API extends ExtensionAPI {
getAPI(context) {
const {tabTracker} = Management.global;
return {
mynamespace: {
@rpl
rpl / sinonstubs-to-jestmocks.js
Created April 15, 2017 20:50
jscodeship transform to help me porting a bunch of tests based on sinon to jest
// BE CAREFULL: commit any changes first and run the tests, don't trust the robots ;-)
const getSinonCalls = call => ({
type: 'CallExpression',
callee: {
type: 'MemberExpression',
object: {
type: 'Identifier',
name: 'sinon'
},
@rpl
rpl / android-support-activity-diagram.plantuml
Last active July 4, 2017 16:07
web-ext Android Support diagrams
@startuml
title FirefoxAndroidExtensionRunner\n"run" Activity Diagram
partition "androidRunner.run" {
"adb.createClient" --> "this.adbDevicesDiscoveryAndSelect"
"this.adbDevicesDiscoveryAndSelect" --> "this.apkPackagesDiscoveryAndSelect"
@rpl
rpl / generate_jscov_report_from_firefox_tests.md
Last active September 7, 2017 14:28
Locally generate JS coverage reports from Firefox tests

Generate JSCOV reports from mochitest and xpcshell tests locally

  • create the directory where the lcov files will be stored
 mkdir /tmp/JSCOV 
  • generate the lcov files:
@rpl
rpl / README.md
Last active January 23, 2018 16:50
A fiction example webextension (used to design a new userScripts WE API)

TBD

@rpl
rpl / gettext.js
Last active February 13, 2018 15:35 — forked from EnTeQuAk/gettext.js
// i18n data that get's passed to jed
let DEFAULT_I18N_DATA = {
messages: {
en: {
'This is a test': 'This is a test',
},
fr: {
'This is a test': 'C\'est un test',
},
ja: {
@rpl
rpl / 1-Bug_1285500___Fix_browser_ext_browserAction_popup_intermittency_when_browserAction_is_placed_in_the_overflow_menu_.patch
Created February 27, 2019 19:02
Avoid await on promiseDocumentFlushed when the browserAction is placed in the overflow menu
# HG changeset patch
# User Luca Greco <[email protected]>
# Date 1551125488 -3600
# Mon Feb 25 21:11:28 2019 +0100
# Node ID 42519936d019a00bd9ea52dcb6acf98a7545412b
# Parent 198cd4a81bf2afa7cc79360f90da7bc91218b76d
Bug 1285500 - Fix browser_ext_browserAction_popup intermittency when browserAction is placed in the overflow menu.
diff --git a/browser/components/extensions/ExtensionPopups.jsm b/browser/components/extensions/ExtensionPopups.jsm
--- a/browser/components/extensions/ExtensionPopups.jsm
@rpl
rpl / .hgrc
Last active June 21, 2019 23:20
some useful mercurial aliases
[revsetalias]
# pending commits (used in `hg lg` and `hg lgs aliases`)
pending = ancestors(.)&draft()
# recent bookmarks (used in `hg rbm` alias)
recent_bookmarks($1) = limit(reverse(sort(bookmark())), $1)
[alias]
# log only pendings commits
lg = log -r 'pending'
@rpl
rpl / .gitignore
Last active October 24, 2019 20:31
npm audit failure - "The server said: Invalid package tree, run npm install to rebuild your package-lock.json"
node_modules