* chore(update): move to FF 117

* chore(pre-commit): update pre-commit

* chore(changelog): create changelog for v0.24.0

* fix(Extension): fix Extension dependency spec

* fix(extension): use ESModules and remove Services import

* refactor(Extension): remove unneeded imports
This commit is contained in:
Stefan Zabka 2023-09-05 23:01:20 +02:00 коммит произвёл GitHub
Родитель 256b015e4a
Коммит f0a800ae29
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
16 изменённых файлов: 5163 добавлений и 5096 удалений

Просмотреть файл

@ -4,12 +4,12 @@ repos:
hooks: hooks:
- id: isort - id: isort
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 23.3.0 rev: 23.7.0
hooks: hooks:
- id: black - id: black
language_version: python3 language_version: python3
- repo: https://github.com/pre-commit/mirrors-mypy - repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.3.0 rev: v1.5.1
hooks: hooks:
- id: mypy - id: mypy
additional_dependencies: additional_dependencies:

Просмотреть файл

@ -1,5 +1,10 @@
# Changelog # Changelog
## v0.24.0 - 2023-09-05
Bump to Firefox 117
Upgrade to Selenium 4.11 (Fixing the logs)
## v0.23.0 - 2023-08-03 ## v0.23.0 - 2023-08-03
Bump to Firefox 115.0.3 Bump to Firefox 115.0.3

Просмотреть файл

@ -48,8 +48,8 @@ module.exports = {
"jsdoc/check-alignment": "error", "jsdoc/check-alignment": "error",
"jsdoc/check-indentation": "error", "jsdoc/check-indentation": "error",
"jsdoc/tag-lines": [ "jsdoc/tag-lines": [
'error', "error",
'any', "any",
{ {
startLines: 1, startLines: 1,
}, },
@ -115,15 +115,31 @@ module.exports = {
"mozilla/browser-window": true, "mozilla/browser-window": true,
"mozilla/privileged": true, "mozilla/privileged": true,
}, },
globals: { /** See https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webextensions/basics.html#globals-available-in-the-api-scripts-global */
Cu: "readonly", globals: [
Ci: "readonly", "AppConstants",
Cc: "readonly", "console",
Cr: "readonly", "Cu",
ExtensionAPI: "readonly", "Ci",
Services: "readonly", "Cc",
OS: "readonly", "Cr",
}, "ChromeWorker",
"extensions",
"ExtensionAPI",
"ExtensionCommon",
"ExtensionUtils",
"ExtensionUtils",
"MatchGlob",
"MatchPattern",
"MatchPatternSet",
"Services",
"StructuredCloneHolder",
"OS",
"XPCOMUtils",
].reduce((acc, e) => {
acc[e] = "readonly";
return acc;
}, {}),
}, },
{ {
files: ["*.ts"], files: ["*.ts"],

Просмотреть файл

@ -15,3 +15,4 @@ dist
openwpm.xpi openwpm.xpi
bundled/content.js bundled/content.js
bundled/feature.js bundled/feature.js
bundled/privileged/sockets/bufferpack.js

Просмотреть файл

@ -4,9 +4,7 @@
"version": "1.0", "version": "1.0",
"description": "OpenWPM Client Extension", "description": "OpenWPM Client Extension",
"background": { "background": {
"scripts": [ "scripts": ["feature.js"]
"feature.js"
]
}, },
"content_scripts": [], "content_scripts": [],
"applications": { "applications": {
@ -34,44 +32,26 @@
"sockets": { "sockets": {
"schema": "./privileged/sockets/schema.json", "schema": "./privileged/sockets/schema.json",
"parent": { "parent": {
"scopes": [ "scopes": ["addon_parent"],
"addon_parent"
],
"script": "./privileged/sockets/api.js", "script": "./privileged/sockets/api.js",
"paths": [ "paths": [["sockets"]]
[
"sockets"
]
]
} }
}, },
"profileDirIO": { "profileDirIO": {
"schema": "./privileged/profileDirIO/schema.json", "schema": "./privileged/profileDirIO/schema.json",
"parent": { "parent": {
"scopes": [ "scopes": ["addon_parent"],
"addon_parent"
],
"script": "./privileged/profileDirIO/api.js", "script": "./privileged/profileDirIO/api.js",
"paths": [ "paths": [["profileDirIO"]]
[
"profileDirIO"
]
]
} }
}, },
"stackDump": { "stackDump": {
"schema": "./privileged/stackDump/schema.json", "schema": "./privileged/stackDump/schema.json",
"parent": { "parent": {
"scopes": [ "scopes": ["addon_parent"],
"addon_parent"
],
"script": "./privileged/stackDump/api.js", "script": "./privileged/stackDump/api.js",
"paths": [ "paths": [["stackDump"]]
[
"stackDump"
]
]
} }
} }
} }
} }

Просмотреть файл

@ -1,8 +1,3 @@
ChromeUtils.defineModuleGetter(
this,
"ExtensionCommon",
"resource://gre/modules/ExtensionCommon.jsm",
);
Cu.importGlobalProperties(["TextEncoder", "TextDecoder"]); Cu.importGlobalProperties(["TextEncoder", "TextDecoder"]);
this.profileDirIO = class extends ExtensionAPI { this.profileDirIO = class extends ExtensionAPI {

Просмотреть файл

@ -1,15 +1,3 @@
/* globals ExtensionCommon */
ChromeUtils.defineModuleGetter(
this,
"ExtensionCommon",
"resource://gre/modules/ExtensionCommon.jsm",
);
ChromeUtils.defineModuleGetter(
this,
"Services",
"resource://gre/modules/Services.jsm",
);
const tm = Cc["@mozilla.org/thread-manager;1"].getService(); const tm = Cc["@mozilla.org/thread-manager;1"].getService();
const socketService = Cc[ const socketService = Cc[
"@mozilla.org/network/socket-transport-service;1" "@mozilla.org/network/socket-transport-service;1"

Просмотреть файл

@ -2,7 +2,6 @@
"use strict"; "use strict";
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const EXPORTED_SYMBOLS = ["OpenWPMStackDumpChild"]; const EXPORTED_SYMBOLS = ["OpenWPMStackDumpChild"];
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
class Controller { class Controller {
constructor(actor) { constructor(actor) {
@ -25,7 +24,7 @@ class Controller {
channel.loadInfo && channel.loadInfo &&
channel.loadInfo.loadingDocument === null && channel.loadInfo.loadingDocument === null &&
channel.loadInfo.loadingPrincipal === channel.loadInfo.loadingPrincipal ===
Services.scriptSecurityManager.getSystemPrincipal() Services.scriptSecurityManager.getSystemPrincipal()
) { ) {
return false; return false;
} }
@ -134,14 +133,14 @@ class Controller {
// Format described here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack // Format described here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/Stack
stacktrace.push( stacktrace.push(
frame.name + frame.name +
"@" + "@" +
frame.filename + frame.filename +
":" + ":" +
frame.lineNumber + frame.lineNumber +
":" + ":" +
frame.columnNumber + frame.columnNumber +
";" + ";" +
frame.asyncCause, frame.asyncCause,
); );
frame = frame.caller || frame.asyncCaller; frame = frame.caller || frame.asyncCaller;
} }

Просмотреть файл

@ -1,18 +1,4 @@
/* globals resProto ExtensionCommon */ /* globals resProto*/
ChromeUtils.defineModuleGetter(
this,
"ExtensionCommon",
"resource://gre/modules/ExtensionCommon.jsm",
);
ChromeUtils.defineModuleGetter(
this,
"Services",
"resource://gre/modules/Services.jsm",
);
const { XPCOMUtils } = ChromeUtils.import(
"resource://gre/modules/XPCOMUtils.jsm",
);
XPCOMUtils.defineLazyServiceGetter( XPCOMUtils.defineLazyServiceGetter(
this, this,
"resProto", "resProto",

1587
Extension/package-lock.json сгенерированный

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -9,33 +9,33 @@
"start": "Start is required for the manual_test.py to run" "start": "Start is required for the manual_test.py to run"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.22.9", "@babel/cli": "^7.22.15",
"@babel/core": "^7.22.9", "@babel/core": "^7.22.15",
"@babel/eslint-parser": "^7.22.9", "@babel/eslint-parser": "^7.22.15",
"@babel/preset-env": "^7.22.9", "@babel/preset-env": "^7.22.15",
"@types/download": "^8.0.2", "@types/download": "^8.0.2",
"@types/firefox-webext-browser": "^111.0.1", "@types/firefox-webext-browser": "^111.0.1",
"@typescript-eslint/eslint-plugin": "^6.2.0", "@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.2.0", "@typescript-eslint/parser": "^6.6.0",
"ajv": "^8.12.0", "ajv": "^8.12.0",
"body-parser": "^1.20.2", "body-parser": "^1.20.2",
"download": "^8.0.0", "download": "^8.0.0",
"eslint": "^8.46.0", "eslint": "^8.48.0",
"eslint-config-prettier": "^8.9.0", "eslint-config-prettier": "^8.0.0",
"eslint-plugin-html": "^7.1.0", "eslint-plugin-html": "^7.1.0",
"eslint-plugin-import": "^2.28.0", "eslint-plugin-import": "^2.28.1",
"eslint-plugin-jsdoc": "^46.4.5", "eslint-plugin-jsdoc": "^46.5.1",
"eslint-plugin-json": "^3.1.0", "eslint-plugin-json": "^3.1.0",
"eslint-plugin-mozilla": "^3.1.0", "eslint-plugin-mozilla": "^3.1.0",
"eslint-plugin-no-unsanitized": "^4.0.2", "eslint-plugin-no-unsanitized": "^4.0.2",
"eslint-plugin-prettier": "^5.0.0", "eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-unicorn": "^48.0.1", "eslint-plugin-unicorn": "^48.0.1",
"express": "^4.18.2", "express": "^4.18.2",
"prettier": "^3.0.0", "prettier": "^3.0.3",
"safe-compare": "^1.1.4", "safe-compare": "^1.1.4",
"ts-loader": "^9.4.4", "ts-loader": "^9.4.4",
"typedoc": "^0.24.8", "typedoc": "^0.25.1",
"typescript": "^5.1.6", "typescript": "^5.2.2",
"web-ext": "^7.6.2", "web-ext": "^7.6.2",
"webpack": "^5.88.2", "webpack": "^5.88.2",
"webpack-cli": "^5.1.4" "webpack-cli": "^5.1.4"
@ -58,7 +58,7 @@
"lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:web-ext-lint", "lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:web-ext-lint",
"lint:eslint": "eslint .", "lint:eslint": "eslint .",
"lint:web-ext-lint": "web-ext lint --privileged", "lint:web-ext-lint": "web-ext lint --privileged",
"lint:prettier": "prettier 'src/**/*.ts' --list-different", "lint:prettier": "prettier --list-different .",
"info": "npm-scripts-info", "info": "npm-scripts-info",
"build": "npm run clean && npm run build:main && npm run build:module && npm run build:webpack && npm run build:webext", "build": "npm run clean && npm run build:main && npm run build:module && npm run build:webpack && npm run build:webext",
"build:main": "tsc -p tsconfig.json", "build:main": "tsc -p tsconfig.json",
@ -66,7 +66,7 @@
"build:webpack": "webpack", "build:webpack": "webpack",
"build:webext": "web-ext build", "build:webext": "web-ext build",
"fix": "npm run fix:prettier && npm run fix:eslint", "fix": "npm run fix:prettier && npm run fix:eslint",
"fix:prettier": "prettier 'src/**/*.ts' --write", "fix:prettier": "prettier --write .",
"fix:eslint": "eslint --fix .", "fix:eslint": "eslint --fix .",
"test": "npm run build && npm run test:lint", "test": "npm run build && npm run test:lint",
"test:lint": "eslint . && npm run lint:prettier || exit 0", "test:lint": "eslint . && npm run lint:prettier || exit 0",

Просмотреть файл

@ -1 +1 @@
0.23.0 0.24.0

Просмотреть файл

@ -4,46 +4,46 @@ channels:
dependencies: dependencies:
- beautifulsoup4=4.12.2 - beautifulsoup4=4.12.2
- black=23.7.0 - black=23.7.0
- click=8.1.6 - click=8.1.7
- codecov=2.1.13 - codecov=2.1.13
- dill=0.3.7 - dill=0.3.7
- easyprocess=1.1 - easyprocess=1.1
- gcsfs=2023.6.0 - gcsfs=2023.9.0
- geckodriver=0.33.0 - geckodriver=0.33.0
- ipython=8.14.0 - ipython=8.15.0
- isort=5.12.0 - isort=5.12.0
- leveldb=1.23 - leveldb=1.23
- multiprocess=0.70.15 - multiprocess=0.70.15
- mypy=1.4.1 - mypy=1.5.1
- nodejs=18.16.1 - nodejs=20.6.0
- pandas=2.0.3 - pandas=2.1.0
- pillow=10.0.0 - pillow=10.0.0
- pip=23.2.1 - pip=23.2.1
- pre-commit=3.3.3 - pre-commit=3.4.0
- psutil=5.9.5 - psutil=5.9.5
- pyarrow=12.0.1 - pyarrow=13.0.0
- pytest-asyncio=0.21.1 - pytest-asyncio=0.21.1
- pytest-cov=4.1.0 - pytest-cov=4.1.0
- pytest=7.4.0 - pytest=7.4.1
- python=3.11.4 - python=3.11.5
- pyvirtualdisplay=3.0 - pyvirtualdisplay=3.0
- recommonmark=0.7.1 - recommonmark=0.7.1
- redis-py=4.6.0 - redis-py=5.0.0
- s3fs=2023.6.0 - s3fs=2023.9.0
- selenium=4.11.2 - selenium=4.12.0
- sentry-sdk=1.29.2 - sentry-sdk=1.30.0
- sphinx-markdown-tables=0.0.17 - sphinx-markdown-tables=0.0.17
- sphinx=7.1.2 - sphinx=7.2.5
- tabulate=0.9.0 - tabulate=0.9.0
- tblib=1.7.0 - tblib=1.7.0
- wget=1.20.3 - wget=1.20.3
- pip: - pip:
- dataclasses-json==0.5.14 - dataclasses-json==0.6.0
- domain-utils==0.7.1 - domain-utils==0.7.1
- jsonschema==4.18.6 - jsonschema==4.19.0
- plyvel==1.5.0 - plyvel==1.5.0
- tranco==0.6 - tranco==0.6
- types-pyyaml==6.0.12.11 - types-pyyaml==6.0.12.11
- types-redis==4.6.0.3 - types-redis==4.6.0.5
- types-tabulate==0.9.0.3 - types-tabulate==0.9.0.3
name: openwpm name: openwpm

8458
package-lock.json сгенерированный

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -24,11 +24,11 @@
"homepage": "", "homepage": "",
"devDependencies": { "devDependencies": {
"@adobe/jsonschema2md": "^7.1.5", "@adobe/jsonschema2md": "^7.1.5",
"@commitlint/cli": "^17.6.7", "@commitlint/cli": "^17.7.0",
"@commitlint/config-conventional": "^17.6.7", "@commitlint/config-conventional": "^17.7.0",
"commitlint": "^17.6.7", "commitlint": "^17.7.0",
"markdown-link-check": "^3.11.2", "markdown-link-check": "^3.11.2",
"markdownlint-cli": "^0.35.0" "markdownlint-cli": "^0.36.0"
}, },
"resolutions": { "resolutions": {
"glob-parent": "^6.0.2", "glob-parent": "^6.0.2",

Просмотреть файл

@ -9,7 +9,7 @@ set -e
# Note this script is **destructive** and will # Note this script is **destructive** and will
# remove the existing Firefox in the OpenWPM directory # remove the existing Firefox in the OpenWPM directory
TAG='326212e7271a9c9f0776153095cf48d7153260aa' # FIREFOX_115_0_3_RELEASE TAG='27de51e74c19186044da535125895c96fc3a0f23' # FIREFOX_117_0_RELEASE
case "$(uname -s)" in case "$(uname -s)" in
Darwin) Darwin)