@bobfrankston/mailx 1.0.8 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.tswalk.json +4050 -20
- package/bin/mailx.js +4 -4
- package/bin/postinstall.js +41 -0
- package/client/package.json +4 -0
- package/launch.ps1 +6 -3
- package/launcher/bin/mailx-app.exe +0 -0
- package/launcher/mailx.ico +0 -0
- package/launcher/release.cmd +4 -0
- package/npmg.bat +6 -0
- package/package.json +15 -4
- package/packages/mailx-api/package.json +5 -1
- package/packages/mailx-compose/package.json +5 -1
- package/packages/mailx-imap/package.json +5 -1
- package/packages/mailx-send/package.json +12 -2
- package/packages/mailx-server/package.json +5 -1
- package/packages/mailx-settings/package.json +5 -1
- package/packages/mailx-store/package.json +5 -1
- package/packages/mailx-types/package.json +6 -2
package/bin/mailx.js
CHANGED
|
@@ -37,15 +37,15 @@ async function main() {
|
|
|
37
37
|
|
|
38
38
|
const inUse = await isPortInUse(PORT);
|
|
39
39
|
if (inUse) {
|
|
40
|
-
console.log(
|
|
40
|
+
console.log("mailx is already running");
|
|
41
41
|
if (!noBrowser) {
|
|
42
42
|
openBrowser(`http://localhost:${PORT}`);
|
|
43
|
-
console.log(
|
|
43
|
+
console.log("mailx opened");
|
|
44
44
|
}
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
console.log(
|
|
48
|
+
console.log("Starting mailx...");
|
|
49
49
|
|
|
50
50
|
if (args.includes("--external")) process.argv.push("--external");
|
|
51
51
|
|
|
@@ -58,7 +58,7 @@ async function main() {
|
|
|
58
58
|
if (await isPortInUse(PORT)) break;
|
|
59
59
|
}
|
|
60
60
|
openBrowser(`http://localhost:${PORT}`);
|
|
61
|
-
console.log(
|
|
61
|
+
console.log("mailx opened");
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Post-install script: creates symlinks for workspace packages
|
|
4
|
+
* so they resolve as @bobfrankston/mailx-* in node_modules.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import fs from "node:fs";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
|
|
10
|
+
const root = path.resolve(import.meta.dirname, "..");
|
|
11
|
+
const packagesDir = path.join(root, "packages");
|
|
12
|
+
const nmDir = path.join(root, "node_modules", "@bobfrankston");
|
|
13
|
+
|
|
14
|
+
if (!fs.existsSync(packagesDir)) process.exit(0); // not in workspace layout
|
|
15
|
+
|
|
16
|
+
fs.mkdirSync(nmDir, { recursive: true });
|
|
17
|
+
|
|
18
|
+
for (const dir of fs.readdirSync(packagesDir)) {
|
|
19
|
+
const pkgPath = path.join(packagesDir, dir, "package.json");
|
|
20
|
+
if (!fs.existsSync(pkgPath)) continue;
|
|
21
|
+
|
|
22
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
|
|
23
|
+
const name = pkg.name?.split("/")[1]; // e.g., "mailx-store" from "@bobfrankston/mailx-store"
|
|
24
|
+
if (!name) continue;
|
|
25
|
+
|
|
26
|
+
const linkPath = path.join(nmDir, name);
|
|
27
|
+
const targetPath = path.join(packagesDir, dir);
|
|
28
|
+
|
|
29
|
+
if (fs.existsSync(linkPath)) continue; // already linked
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
// Use junction on Windows (no admin needed), symlink on Unix
|
|
33
|
+
if (process.platform === "win32") {
|
|
34
|
+
fs.symlinkSync(targetPath, linkPath, "junction");
|
|
35
|
+
} else {
|
|
36
|
+
fs.symlinkSync(targetPath, linkPath, "dir");
|
|
37
|
+
}
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.error(`Failed to link ${name}: ${e.message}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
package/client/package.json
CHANGED
package/launch.ps1
CHANGED
|
@@ -10,10 +10,13 @@
|
|
|
10
10
|
# Log: mailx.log
|
|
11
11
|
# Data: ~/.mailx/ (DB, store, settings pointer)
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
# Try pre-built binary first, then dev build
|
|
14
|
+
$exe = "$PSScriptRoot\launcher\bin\mailx-app.exe"
|
|
15
|
+
if (-not (Test-Path $exe)) {
|
|
16
|
+
$exe = "$PSScriptRoot\launcher\target\debug\mailx-app.exe"
|
|
17
|
+
}
|
|
15
18
|
if (-not (Test-Path $exe)) {
|
|
16
|
-
Write-Host "Launcher not
|
|
19
|
+
Write-Host "Launcher not found. Run: launcher\build.cmd"
|
|
17
20
|
exit 1
|
|
18
21
|
}
|
|
19
22
|
|
|
Binary file
|
|
Binary file
|
package/npmg.bat
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Local-first email client with IMAP sync and standalone native app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/mailx.js",
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"watch": "tsc -w",
|
|
17
17
|
"start": "node --watch packages/mailx-server/index.js",
|
|
18
18
|
"start:prod": "node packages/mailx-server/index.js",
|
|
19
|
-
"release": "npmglobalize"
|
|
19
|
+
"release": "npmglobalize",
|
|
20
|
+
"postinstall": "node bin/postinstall.js"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"@bobfrankston/iflow": "^1.0.2",
|
|
@@ -24,7 +25,12 @@
|
|
|
24
25
|
"@bobfrankston/oauthsupport": "^1.0.10",
|
|
25
26
|
"@bobfrankston/certsupport": "^1.0.35",
|
|
26
27
|
"mailparser": "^3.7.2",
|
|
27
|
-
"quill": "^2.0.3"
|
|
28
|
+
"quill": "^2.0.3",
|
|
29
|
+
"express": "^4.21.0",
|
|
30
|
+
"nodemailer": "^7.0.0",
|
|
31
|
+
"ws": "^8.18.0",
|
|
32
|
+
"jsonc-parser": "^3.3.1",
|
|
33
|
+
"better-sqlite3": "^11.7.0"
|
|
28
34
|
},
|
|
29
35
|
"devDependencies": {
|
|
30
36
|
"@types/mailparser": "^3.4.6"
|
|
@@ -48,6 +54,11 @@
|
|
|
48
54
|
"@bobfrankston/oauthsupport": "file:../../projects/oauth/oauthsupport",
|
|
49
55
|
"@bobfrankston/certsupport": "file:../../projects/nodejs/certsupport",
|
|
50
56
|
"mailparser": "^3.7.2",
|
|
51
|
-
"quill": "^2.0.3"
|
|
57
|
+
"quill": "^2.0.3",
|
|
58
|
+
"express": "^4.21.0",
|
|
59
|
+
"nodemailer": "^7.0.0",
|
|
60
|
+
"ws": "^8.18.0",
|
|
61
|
+
"jsonc-parser": "^3.3.1",
|
|
62
|
+
"better-sqlite3": "^11.7.0"
|
|
52
63
|
}
|
|
53
64
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-api",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -20,5 +20,9 @@
|
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/express": "^5.0.0",
|
|
22
22
|
"@types/nodemailer": "^6.4.0"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/BobFrankston/mailx-api.git"
|
|
23
27
|
}
|
|
24
28
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-compose",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -10,5 +10,9 @@
|
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@bobfrankston/mailx-types": "file:../mailx-types"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/BobFrankston/mailx-compose.git"
|
|
13
17
|
}
|
|
14
18
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-imap",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -15,5 +15,9 @@
|
|
|
15
15
|
"@bobfrankston/iflow": "file:../../../MailApps/iflow",
|
|
16
16
|
"@bobfrankston/oauthsupport": "file:../../../../projects/oauth/oauthsupport",
|
|
17
17
|
"nodemailer": "^7.0.0"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/BobFrankston/mailx-imap.git"
|
|
18
22
|
}
|
|
19
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-send",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Queue-based mail sender with SMTP and OAuth2 support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"release": "npmglobalize"
|
|
15
15
|
},
|
|
16
|
-
"keywords": [
|
|
16
|
+
"keywords": [
|
|
17
|
+
"email",
|
|
18
|
+
"smtp",
|
|
19
|
+
"queue",
|
|
20
|
+
"oauth2",
|
|
21
|
+
"gmail"
|
|
22
|
+
],
|
|
17
23
|
"author": "Bob Frankston",
|
|
18
24
|
"license": "MIT",
|
|
19
25
|
"dependencies": {
|
|
@@ -23,5 +29,9 @@
|
|
|
23
29
|
"devDependencies": {
|
|
24
30
|
"@types/nodemailer": "^6.4.0",
|
|
25
31
|
"@types/node": "^22.0.0"
|
|
32
|
+
},
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://github.com/BobFrankston/mailx-send.git"
|
|
26
36
|
}
|
|
27
37
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -21,5 +21,9 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/express": "^5.0.0",
|
|
23
23
|
"@types/ws": "^8.5.13"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/BobFrankston/mailx-server.git"
|
|
24
28
|
}
|
|
25
29
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-settings",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -12,5 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@bobfrankston/mailx-types": "file:../mailx-types",
|
|
14
14
|
"jsonc-parser": "^3.3.1"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/BobFrankston/mailx-settings.git"
|
|
15
19
|
}
|
|
16
20
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-store",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -15,5 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/better-sqlite3": "^7.6.12"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/BobFrankston/mailx-store.git"
|
|
18
22
|
}
|
|
19
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-types",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -8,5 +8,9 @@
|
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"release": "npmglobalize"
|
|
10
10
|
},
|
|
11
|
-
"license": "ISC"
|
|
11
|
+
"license": "ISC",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "https://github.com/BobFrankston/mailx-types.git"
|
|
15
|
+
}
|
|
12
16
|
}
|