claude-notification-plugin 1.0.88 → 1.0.90
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/.claude-plugin/plugin.json +13 -13
- package/bin/uninstall.js +35 -8
- package/package.json +60 -60
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-notification-plugin",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Claude Code task-completion notifications: Telegram, desktop notifications (Windows/macOS/Linux), sound, and voice",
|
|
5
|
-
"author": {
|
|
6
|
-
"name": "Viacheslav Makarov",
|
|
7
|
-
"email": "npmjs@bazilio.ru"
|
|
8
|
-
},
|
|
9
|
-
"homepage": "https://github.com/Bazilio-san/claude-notification-plugin#readme",
|
|
10
|
-
"repository": "https://github.com/Bazilio-san/claude-notification-plugin",
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"keywords": ["notification", "telegram", "windows", "sound", "voice", "hooks"]
|
|
13
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-notification-plugin",
|
|
3
|
+
"version": "1.0.90",
|
|
4
|
+
"description": "Claude Code task-completion notifications: Telegram, desktop notifications (Windows/macOS/Linux), sound, and voice",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Viacheslav Makarov",
|
|
7
|
+
"email": "npmjs@bazilio.ru"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Bazilio-san/claude-notification-plugin#readme",
|
|
10
|
+
"repository": "https://github.com/Bazilio-san/claude-notification-plugin",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"keywords": ["notification", "telegram", "windows", "sound", "voice", "hooks"]
|
|
13
|
+
}
|
package/bin/uninstall.js
CHANGED
|
@@ -51,24 +51,51 @@ for (const file of [configPath, statePath, resolverPath]) {
|
|
|
51
51
|
// Remove CLI wrapper scripts
|
|
52
52
|
const CLI_BINS = ['claude-notify-listener', 'claude-notify-install', 'claude-notify-uninstall'];
|
|
53
53
|
let cliBinsRemoved = false;
|
|
54
|
+
const ext = process.platform === 'win32' ? '.cmd' : '';
|
|
55
|
+
|
|
56
|
+
// Collect directories to check for wrapper scripts
|
|
57
|
+
const wrapperDirs = new Set();
|
|
58
|
+
|
|
59
|
+
// Directory next to claude binary
|
|
54
60
|
try {
|
|
55
61
|
const cmd = process.platform === 'win32' ? 'where claude' : 'which claude';
|
|
56
62
|
const claudeBin = execSync(cmd, { encoding: 'utf-8', windowsHide: true }).trim().split('\n')[0].trim();
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
wrapperDirs.add(path.dirname(claudeBin));
|
|
64
|
+
} catch {
|
|
65
|
+
// claude not in PATH
|
|
66
|
+
}
|
|
59
67
|
|
|
68
|
+
// ~/.local/bin (common on Linux/macOS, also used on Windows)
|
|
69
|
+
wrapperDirs.add(path.join(home, '.local', 'bin'));
|
|
70
|
+
|
|
71
|
+
for (const dir of wrapperDirs) {
|
|
60
72
|
for (const name of CLI_BINS) {
|
|
61
|
-
const filePath = path.join(
|
|
73
|
+
const filePath = path.join(dir, `${name}${ext}`);
|
|
62
74
|
if (fs.existsSync(filePath)) {
|
|
63
75
|
fs.unlinkSync(filePath);
|
|
64
76
|
cliBinsRemoved = true;
|
|
65
77
|
}
|
|
66
78
|
}
|
|
67
|
-
} catch {
|
|
68
|
-
// claude not in PATH — nothing to remove
|
|
69
79
|
}
|
|
70
80
|
|
|
71
|
-
// Remove
|
|
81
|
+
// Remove from installed_plugins.json
|
|
82
|
+
const PLUGIN_KEY = 'claude-notification-plugin@bazilio-plugins';
|
|
83
|
+
const installedPluginsPath = path.join(claudeDir, 'plugins', 'installed_plugins.json');
|
|
84
|
+
let pluginEntryRemoved = false;
|
|
85
|
+
if (fs.existsSync(installedPluginsPath)) {
|
|
86
|
+
try {
|
|
87
|
+
const data = JSON.parse(fs.readFileSync(installedPluginsPath, 'utf-8'));
|
|
88
|
+
if (data.plugins?.[PLUGIN_KEY]) {
|
|
89
|
+
delete data.plugins[PLUGIN_KEY];
|
|
90
|
+
fs.writeFileSync(installedPluginsPath, JSON.stringify(data, null, 2));
|
|
91
|
+
pluginEntryRemoved = true;
|
|
92
|
+
}
|
|
93
|
+
} catch {
|
|
94
|
+
// ignore
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Remove plugin cache
|
|
72
99
|
const pluginCacheDir = path.join(claudeDir, 'plugins', 'cache', 'bazilio-plugins', 'claude-notification-plugin');
|
|
73
100
|
let cacheRemoved = false;
|
|
74
101
|
if (fs.existsSync(pluginCacheDir)) {
|
|
@@ -80,8 +107,8 @@ console.log('');
|
|
|
80
107
|
console.log('Claude Notification Plugin uninstalled.');
|
|
81
108
|
console.log('Hooks removed from settings.json');
|
|
82
109
|
console.log('Config files deleted.');
|
|
83
|
-
if (cacheRemoved) {
|
|
84
|
-
console.log('Plugin
|
|
110
|
+
if (pluginEntryRemoved || cacheRemoved) {
|
|
111
|
+
console.log('Plugin registration cleaned.');
|
|
85
112
|
}
|
|
86
113
|
if (cliBinsRemoved) {
|
|
87
114
|
console.log('CLI wrapper scripts removed.');
|
package/package.json
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "claude-notification-plugin",
|
|
3
|
-
"productName": "claude-notification-plugin",
|
|
4
|
-
"version": "1.0.
|
|
5
|
-
"description": "Claude Code task-completion notifications: Telegram, desktop notifications (Windows/macOS/Linux), sound, and voice",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"engines": {
|
|
8
|
-
"node": ">=18.0.0"
|
|
9
|
-
},
|
|
10
|
-
"files": [
|
|
11
|
-
".claude-plugin/",
|
|
12
|
-
"bin/",
|
|
13
|
-
"hooks/",
|
|
14
|
-
"listener/",
|
|
15
|
-
"notifier/",
|
|
16
|
-
"README.md",
|
|
17
|
-
"LICENSE"
|
|
18
|
-
],
|
|
19
|
-
"bin": {
|
|
20
|
-
"claude-notify-install": "bin/install.js",
|
|
21
|
-
"claude-notify-uninstall": "bin/uninstall.js",
|
|
22
|
-
"claude-notifier": "notifier/notifier.js",
|
|
23
|
-
"claude-notify-listener": "bin/listener-cli.js"
|
|
24
|
-
},
|
|
25
|
-
"scripts": {
|
|
26
|
-
"preuninstall": "node bin/uninstall.js",
|
|
27
|
-
"postinstall": "node bin/install.js",
|
|
28
|
-
"lint": "eslint .",
|
|
29
|
-
"lint:fix": "eslint --fix ."
|
|
30
|
-
},
|
|
31
|
-
"keywords": [
|
|
32
|
-
"claude",
|
|
33
|
-
"claude-code",
|
|
34
|
-
"notifications",
|
|
35
|
-
"telegram",
|
|
36
|
-
"hooks",
|
|
37
|
-
"macos",
|
|
38
|
-
"linux",
|
|
39
|
-
"cross-platform"
|
|
40
|
-
],
|
|
41
|
-
"author": {
|
|
42
|
-
"name": "Viacheslav Makarov",
|
|
43
|
-
"email": "npmjs@bazilio.ru"
|
|
44
|
-
},
|
|
45
|
-
"license": "MIT",
|
|
46
|
-
"repository": {
|
|
47
|
-
"type": "git",
|
|
48
|
-
"url": "git+https://github.com/Bazilio-san/claude-notification-plugin.git"
|
|
49
|
-
},
|
|
50
|
-
"homepage": "https://github.com/Bazilio-san/claude-notification-plugin#readme",
|
|
51
|
-
"publishConfig": {
|
|
52
|
-
"access": "public"
|
|
53
|
-
},
|
|
54
|
-
"dependencies": {
|
|
55
|
-
"node-notifier": "^10.0.1"
|
|
56
|
-
},
|
|
57
|
-
"devDependencies": {
|
|
58
|
-
"eslint-plugin-import": "^2.31.0"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-notification-plugin",
|
|
3
|
+
"productName": "claude-notification-plugin",
|
|
4
|
+
"version": "1.0.90",
|
|
5
|
+
"description": "Claude Code task-completion notifications: Telegram, desktop notifications (Windows/macOS/Linux), sound, and voice",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=18.0.0"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
".claude-plugin/",
|
|
12
|
+
"bin/",
|
|
13
|
+
"hooks/",
|
|
14
|
+
"listener/",
|
|
15
|
+
"notifier/",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"bin": {
|
|
20
|
+
"claude-notify-install": "bin/install.js",
|
|
21
|
+
"claude-notify-uninstall": "bin/uninstall.js",
|
|
22
|
+
"claude-notifier": "notifier/notifier.js",
|
|
23
|
+
"claude-notify-listener": "bin/listener-cli.js"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"preuninstall": "node bin/uninstall.js",
|
|
27
|
+
"postinstall": "node bin/install.js",
|
|
28
|
+
"lint": "eslint .",
|
|
29
|
+
"lint:fix": "eslint --fix ."
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"claude",
|
|
33
|
+
"claude-code",
|
|
34
|
+
"notifications",
|
|
35
|
+
"telegram",
|
|
36
|
+
"hooks",
|
|
37
|
+
"macos",
|
|
38
|
+
"linux",
|
|
39
|
+
"cross-platform"
|
|
40
|
+
],
|
|
41
|
+
"author": {
|
|
42
|
+
"name": "Viacheslav Makarov",
|
|
43
|
+
"email": "npmjs@bazilio.ru"
|
|
44
|
+
},
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "git+https://github.com/Bazilio-san/claude-notification-plugin.git"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://github.com/Bazilio-san/claude-notification-plugin#readme",
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"node-notifier": "^10.0.1"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"eslint-plugin-import": "^2.31.0"
|
|
59
|
+
}
|
|
60
|
+
}
|