manageos 1.0.2 → 2.0.2

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.
Files changed (88) hide show
  1. package/dist/Android/adb.d.ts +221 -0
  2. package/dist/Android/adb.d.ts.map +1 -0
  3. package/dist/Android/adb.js +1153 -0
  4. package/dist/Android/adb.js.map +1 -0
  5. package/dist/Android/fastboot.d.ts +48 -0
  6. package/dist/Android/fastboot.d.ts.map +1 -0
  7. package/dist/Android/fastboot.js +173 -0
  8. package/dist/Android/fastboot.js.map +1 -0
  9. package/dist/Android/index.d.ts +7 -0
  10. package/dist/Android/index.d.ts.map +1 -0
  11. package/dist/Android/index.js +7 -0
  12. package/dist/Android/index.js.map +1 -0
  13. package/dist/antivirus.d.ts +23 -0
  14. package/dist/antivirus.d.ts.map +1 -0
  15. package/dist/antivirus.js +124 -0
  16. package/dist/antivirus.js.map +1 -0
  17. package/dist/audio.js +18 -24
  18. package/dist/audio.js.map +1 -1
  19. package/dist/bitlocker.d.ts +43 -0
  20. package/dist/bitlocker.d.ts.map +1 -0
  21. package/dist/bitlocker.js +212 -0
  22. package/dist/bitlocker.js.map +1 -0
  23. package/dist/clipboard.js +6 -12
  24. package/dist/clipboard.js.map +1 -1
  25. package/dist/encryption.js +10 -16
  26. package/dist/encryption.js.map +1 -1
  27. package/dist/eventlogs.d.ts +34 -0
  28. package/dist/eventlogs.d.ts.map +1 -0
  29. package/dist/eventlogs.js +125 -0
  30. package/dist/eventlogs.js.map +1 -0
  31. package/dist/filesystem.js +17 -23
  32. package/dist/filesystem.js.map +1 -1
  33. package/dist/firewall.js +6 -9
  34. package/dist/firewall.js.map +1 -1
  35. package/dist/index.d.ts +38 -18
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +51 -37
  38. package/dist/index.js.map +1 -1
  39. package/dist/localization.d.ts +22 -0
  40. package/dist/localization.d.ts.map +1 -0
  41. package/dist/localization.js +102 -0
  42. package/dist/localization.js.map +1 -0
  43. package/dist/msconfig.d.ts +32 -0
  44. package/dist/msconfig.d.ts.map +1 -0
  45. package/dist/msconfig.js +192 -0
  46. package/dist/msconfig.js.map +1 -0
  47. package/dist/network.js +17 -23
  48. package/dist/network.js.map +1 -1
  49. package/dist/notification.js +17 -23
  50. package/dist/notification.js.map +1 -1
  51. package/dist/power.d.ts +2 -2
  52. package/dist/power.d.ts.map +1 -1
  53. package/dist/power.js +12 -15
  54. package/dist/power.js.map +1 -1
  55. package/dist/regedit.js +2 -38
  56. package/dist/regedit.js.map +1 -1
  57. package/dist/scheduler.d.ts +39 -0
  58. package/dist/scheduler.d.ts.map +1 -0
  59. package/dist/scheduler.js +116 -0
  60. package/dist/scheduler.js.map +1 -0
  61. package/dist/screen.d.ts +223 -0
  62. package/dist/screen.d.ts.map +1 -1
  63. package/dist/screen.js +936 -7
  64. package/dist/screen.js.map +1 -1
  65. package/dist/secpol.d.ts +22 -0
  66. package/dist/secpol.d.ts.map +1 -0
  67. package/dist/secpol.js +88 -0
  68. package/dist/secpol.js.map +1 -0
  69. package/dist/services.js +24 -60
  70. package/dist/services.js.map +1 -1
  71. package/dist/systeminfo.js +15 -21
  72. package/dist/systeminfo.js.map +1 -1
  73. package/dist/taskmgr.js +8 -11
  74. package/dist/taskmgr.js.map +1 -1
  75. package/dist/taskscheduler.d.ts +58 -0
  76. package/dist/taskscheduler.d.ts.map +1 -0
  77. package/dist/taskscheduler.js +332 -0
  78. package/dist/taskscheduler.js.map +1 -0
  79. package/dist/uac.js +7 -10
  80. package/dist/uac.js.map +1 -1
  81. package/dist/users.js +3 -6
  82. package/dist/users.js.map +1 -1
  83. package/dist/windowsupdate.d.ts +26 -0
  84. package/dist/windowsupdate.d.ts.map +1 -0
  85. package/dist/windowsupdate.js +120 -0
  86. package/dist/windowsupdate.js.map +1 -0
  87. package/package.json +11 -2
  88. package/README.md +0 -142
@@ -0,0 +1,120 @@
1
+ import { exec, execSync } from "child_process";
2
+ // Parser por defecto: intenta parsear a JSON, si falla retorna texto crudo
3
+ function defaultParser(raw) {
4
+ try {
5
+ return JSON.parse(raw);
6
+ }
7
+ catch {
8
+ return raw;
9
+ }
10
+ }
11
+ function ensurePSWindowsUpdate(options = {}) {
12
+ const { onInstallStart, onInstallSuccess, onInstallError, installCommand = 'powershell -Command "Install-Module -Name PSWindowsUpdate -Force -Confirm:$false"', } = options;
13
+ return new Promise((resolve, reject) => {
14
+ exec('powershell -Command "Get-Module -ListAvailable PSWindowsUpdate"', (error, stdout) => {
15
+ if (error)
16
+ return reject(error);
17
+ if (!stdout || !stdout.includes("PSWindowsUpdate")) {
18
+ if (onInstallStart)
19
+ onInstallStart();
20
+ exec(installCommand, (installError) => {
21
+ if (installError) {
22
+ if (onInstallError)
23
+ onInstallError(installError);
24
+ return reject(installError);
25
+ }
26
+ if (onInstallSuccess)
27
+ onInstallSuccess();
28
+ resolve();
29
+ });
30
+ }
31
+ else {
32
+ resolve();
33
+ }
34
+ });
35
+ });
36
+ }
37
+ class Async {
38
+ static async listInstalled(parser = defaultParser) {
39
+ return new Promise((resolve, reject) => {
40
+ exec('powershell -Command "Get-HotFix | ConvertTo-Json -Compress"', (error, stdout, stderr) => {
41
+ if (error)
42
+ return reject(error);
43
+ resolve(parser(stdout || stderr || ""));
44
+ });
45
+ });
46
+ }
47
+ static async check(ensureOptions, parser = defaultParser) {
48
+ await ensurePSWindowsUpdate(ensureOptions);
49
+ return new Promise((resolve, reject) => {
50
+ exec('powershell -Command "Get-WindowsUpdate | ConvertTo-Json -Compress"', (error, stdout, stderr) => {
51
+ if (error)
52
+ return reject(error);
53
+ resolve(parser(stdout || stderr || ""));
54
+ });
55
+ });
56
+ }
57
+ static async install(ensureOptions, parser = defaultParser) {
58
+ await ensurePSWindowsUpdate(ensureOptions);
59
+ return new Promise((resolve, reject) => {
60
+ exec('powershell -Command "Install-WindowsUpdate -AcceptAll -AutoReboot | ConvertTo-Json -Compress"', (error, stdout, stderr) => {
61
+ if (error)
62
+ return reject(error);
63
+ resolve(parser(stdout || stderr || ""));
64
+ });
65
+ });
66
+ }
67
+ static async uninstall(updateId, ensureOptions) {
68
+ await ensurePSWindowsUpdate(ensureOptions);
69
+ return new Promise((resolve, reject) => {
70
+ exec(`powershell -Command "wusa /uninstall /kb:${updateId} /quiet /norestart"`, (error, stdout, stderr) => {
71
+ if (error)
72
+ return reject(error);
73
+ resolve(stdout || stderr);
74
+ });
75
+ });
76
+ }
77
+ }
78
+ class Sync {
79
+ static listInstalled(parser = defaultParser) {
80
+ const raw = execSync('powershell -Command "Get-HotFix | ConvertTo-Json -Compress"').toString();
81
+ return parser(raw);
82
+ }
83
+ static ensure(options = {}) {
84
+ const { onInstallStart, onInstallSuccess, onInstallError, installCommand = 'powershell -Command "Install-Module -Name PSWindowsUpdate -Force -Confirm:$false"', } = options;
85
+ const result = execSync('powershell -Command "Get-Module -ListAvailable PSWindowsUpdate"').toString();
86
+ if (!result.includes("PSWindowsUpdate")) {
87
+ if (onInstallStart)
88
+ onInstallStart();
89
+ try {
90
+ execSync(installCommand);
91
+ if (onInstallSuccess)
92
+ onInstallSuccess();
93
+ }
94
+ catch (err) {
95
+ if (onInstallError)
96
+ onInstallError(err);
97
+ throw err;
98
+ }
99
+ }
100
+ }
101
+ static check(options, parser = defaultParser) {
102
+ this.ensure(options);
103
+ const raw = execSync('powershell -Command "Get-WindowsUpdate | ConvertTo-Json -Compress"').toString();
104
+ return parser(raw);
105
+ }
106
+ static install(options, parser = defaultParser) {
107
+ this.ensure(options);
108
+ const raw = execSync('powershell -Command "Install-WindowsUpdate -AcceptAll -AutoReboot | ConvertTo-Json -Compress"').toString();
109
+ return parser(raw);
110
+ }
111
+ static uninstall(updateId, options) {
112
+ this.ensure(options);
113
+ return execSync(`powershell -Command "wusa /uninstall /kb:${updateId} /quiet /norestart"`).toString();
114
+ }
115
+ }
116
+ export default class WindowsUpdate {
117
+ static Sync = Sync;
118
+ static Async = Async;
119
+ }
120
+ //# sourceMappingURL=windowsupdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowsupdate.js","sourceRoot":"","sources":["../src/windowsupdate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "manageos",
3
- "version": "1.0.2",
3
+ "version": "2.0.2",
4
4
  "description": "ManageOS",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "scripts": {
9
9
  "dev": "tsx watch src/index.ts",
10
- "build": "tsc"
10
+ "build": "tsc",
11
+ "build-doc": "npx typedoc"
11
12
  },
12
13
  "keywords": [],
13
14
  "author": "Tiziano Tomas Luzi Ramos",
@@ -18,16 +19,24 @@
18
19
  ],
19
20
  "devDependencies": {
20
21
  "@types/node": "^24.6.1",
22
+ "typedoc": "^0.28.13",
23
+ "typedoc-plugin-extras": "^4.0.1",
24
+ "typedoc-umlclass": "^0.10.2",
21
25
  "typescript": "^5.6.3"
22
26
  },
23
27
  "dependencies": {
24
28
  "@types/deasync": "^0.1.5",
25
29
  "@types/node-notifier": "^8.0.5",
26
30
  "@types/node-windows": "^0.1.6",
31
+ "@types/screenshot-desktop": "^1.15.0",
32
+ "@types/systeminformation": "^3.23.1",
27
33
  "deasync": "^0.1.30",
28
34
  "loudness": "^0.4.2",
29
35
  "node-notifier": "^10.0.1",
30
36
  "node-windows": "^1.0.0-beta.8",
37
+ "screenshot-desktop": "^1.15.2",
38
+ "systeminformation": "^5.27.10",
39
+ "typedoc-material-theme": "^1.4.0",
31
40
  "win-screen-resolution": "^3.0.2"
32
41
  }
33
42
  }
package/README.md DELETED
@@ -1,142 +0,0 @@
1
- # ManageOS
2
-
3
- **ManageOS** is a Node.js library that provides a set of tools to manage operating system resources and settings on Windows systems. It offers utilities for registry editing, process management, file system operations, system information retrieval, and user account management.
4
-
5
- ---
6
-
7
- ## 📦 Installation
8
-
9
- Install via npm:
10
-
11
- ```bash
12
- npm install manageos
13
- ```
14
-
15
- or with Yarn:
16
-
17
- ```bash
18
- yarn add manageos
19
- ```
20
-
21
- ---
22
-
23
- ## 🛠 Usage
24
-
25
- ### Import the package
26
-
27
- ```ts
28
- import ManageOS from "manageos";
29
- ```
30
-
31
- ---
32
-
33
- ### File System
34
-
35
- ```ts
36
- // Synchronous usage
37
- const files = ManageOS.FileSystem.sync.listDirectory("C:\\Path\\To\\Folder");
38
-
39
- // Asynchronous usage
40
- const filesAsync = await ManageOS.FileSystem.async.listDirectory(
41
- "C:\\Path\\To\\Folder"
42
- );
43
- ```
44
-
45
- ---
46
-
47
- ### Registry Editor
48
-
49
- ```ts
50
- await ManageOS.Regedit.createKey("HKCU\\Software\\MyApp");
51
- await ManageOS.Regedit.setValue(
52
- "HKCU\\Software\\MyApp",
53
- "TestValue",
54
- "REG_SZ",
55
- "Hello World"
56
- );
57
- const registryData = await ManageOS.Regedit.listKey("HKCU\\Software\\MyApp");
58
- await ManageOS.Regedit.deleteKey("HKCU\\Software\\MyApp");
59
- ```
60
-
61
- ---
62
-
63
- ### Process Manager
64
-
65
- ```ts
66
- const processes = ManageOS.Taskmgr.sync.listProcesses();
67
- const processCount = ManageOS.Taskmgr.sync.getProcessCount();
68
-
69
- ManageOS.Taskmgr.sync.killByName("notepad.exe", true);
70
- ```
71
-
72
- ---
73
-
74
- ### System Information
75
-
76
- ```ts
77
- const sysInfo = ManageOS.SystemInfo();
78
- console.log(sysInfo.platform, sysInfo.architecture, sysInfo.cpus);
79
- ```
80
-
81
- ---
82
-
83
- ### User Management
84
-
85
- ```ts
86
- const users = ManageOS.UserManager.listUsers();
87
- const userInfo = ManageOS.UserManager.getUserInfo("Administrator");
88
-
89
- ManageOS.UserManager.createUser("newuser", "password123");
90
- ManageOS.UserManager.deleteUser("newuser");
91
- ```
92
-
93
- ---
94
-
95
- ## 📚 API Overview
96
-
97
- - **`ManageOS.FileSystem`** – File and directory operations (sync & async versions).
98
- - **`ManageOS.Regedit`** – Create, delete, read, and modify Windows Registry keys and values.
99
- - **`ManageOS.Taskmgr`** – Process listing, monitoring, and termination.
100
- - **`ManageOS.SystemInfo`** – Retrieve system details such as OS version, CPU info, memory, and uptime.
101
- - **`ManageOS.UserManager`** – Manage Windows user accounts and groups.
102
-
103
- ---
104
-
105
- ## ⚙ Requirements
106
-
107
- - Node.js v18 or higher
108
- - Windows operating system (registry and process management are Windows-specific)
109
- - Administrative privileges for some operations
110
-
111
- ---
112
-
113
- ## 💡 Notes
114
-
115
- - Many operations require elevated privileges (Administrator mode).
116
- - Registry changes can affect system stability. Use with caution.
117
- - This library wraps built-in Windows commands, so all outputs depend on system configuration.
118
-
119
- ---
120
-
121
- ## 🔧 Development
122
-
123
- Clone the repository and install dependencies:
124
-
125
- ```bash
126
- git clone https://github.com/yourusername/manageos.git
127
- cd manageos
128
- npm install
129
- npm run build
130
- ```
131
-
132
- Run in development mode:
133
-
134
- ```bash
135
- npm run dev
136
- ```
137
-
138
- ---
139
-
140
- ## 📄 License
141
-
142
- MIT License © Tiziano Tomas Luzi Ramos