wip initiate dev environment

This commit is contained in:
lebaudantoine
2026-05-01 17:12:53 +02:00
parent 07698ddced
commit 52a9a583e8
8 changed files with 4261 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+17
View File
@@ -0,0 +1,17 @@
{
"name": "thunderbird",
"version": "1.0.0",
"main": "index.js",
"private": true,
"scripts": {
"dev": "web-ext run",
"lint": "web-ext lint --source-dir=./src"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"web-ext": "^10.1.0"
}
}
+6
View File
@@ -0,0 +1,6 @@
console.log("[meeting-link] background loaded at", new Date().toISOString());
browser.runtime.onMessage.addListener((msg, sender) => {
console.log("[meeting-link] background received bite:", msg);
return Promise.resolve({ ok: true });
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

+21
View File
@@ -0,0 +1,21 @@
{
"manifest_version": 3,
"name": "Meeting Link (dev)",
"version": "0.1.0",
"description": "Spike 0 — verifying the dev loop",
"browser_specific_settings": {
"gecko": {
"id": "meeting-link-dev@yourcompany.example",
"strict_min_version": "128.0"
}
},
"background": {
"scripts": ["background.js"]
},
"compose_action": {
"default_title": "Insert meeting link",
"default_popup": "popup/popup.html",
"default_icon": "icons/icon-32.png"
},
"permissions": ["compose"]
}
@@ -0,0 +1,12 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Meeting link</title>
</head>
<body style="font: 13px system-ui; padding: 12px; min-width: 220px;">
<button id="go">Hello from popup</button>
<div id="status" style="margin-top: 8px; color: #555;"></div>
<script src="popup.js"></script>
</body>
</html>
@@ -0,0 +1,6 @@
document.getElementById("go").addEventListener("click", async () => {
console.log("[meeting-link] popup button clicked");
const reply = await browser.runtime.sendMessage({ type: "PING" });
document.getElementById("status").textContent =
"background replied: " + JSON.stringify(reply);
});
+30
View File
@@ -0,0 +1,30 @@
// web-ext-config.cjs
const os = require("os");
const path = require("path");
function thunderbirdBinary() {
if (process.env.WEB_EXT_FIREFOX) return process.env.WEB_EXT_FIREFOX;
switch (process.platform) {
case "darwin":
return "/Applications/Thunderbird Beta.app/Contents/MacOS/thunderbird";
case "linux":
return "/usr/bin/thunderbird"; // adjust to your install
case "win32":
return "C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe";
default:
throw new Error("Unsupported platform: " + process.platform);
}
}
module.exports = {
sourceDir: "./src",
artifactsDir: "./web-ext-artifacts",
run: {
firefox: thunderbirdBinary(),
firefoxProfile: path.join(os.homedir(), ".thunderbird-dev-profile"),
profileCreateIfMissing: true,
keepProfileChanges: true,
browserConsole: true,
},
ignoreFiles: ["package-lock.json", "web-ext-config.cjs", "*.md"],
};