jopi-node-space 0.0.20 → 0.0.22

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.
@@ -120,6 +120,7 @@ export interface FileSystemImpl {
120
120
  } | Headers) => Response;
121
121
  unlink(filePath: string): Promise<void>;
122
122
  writeTextToFile(filePath: string, text: string, createDir?: boolean): Promise<void>;
123
+ writeTextSyncToFile(filePath: string, text: string, createDir?: boolean): void;
123
124
  readTextFromFile(filePath: string): Promise<string>;
124
125
  readTextSyncFromFile(filePath: string): string;
125
126
  isFile(filePath: string): Promise<boolean>;
@@ -180,7 +181,14 @@ export interface TerminalImpl {
180
181
  /**
181
182
  * Write a temporary message, which are replaced each time by the next temp message.
182
183
  */
183
- consoleLogTemp: (isTemp: boolean, ...args: unknown[]) => void;
184
+ consoleLogTemp: (isTemp: boolean, text: string) => void;
185
+ /**
186
+ * Print a console message, where the user must respond by yes (y) or no (n).
187
+ */
188
+ askYesNo(message: string, defaultValue: boolean): Promise<boolean>;
189
+ logSuccess: TermLogger;
190
+ logError: TermLogger;
191
+ logWarn: TermLogger;
184
192
  logRed: TermLogger;
185
193
  logBgRed: TermLogger;
186
194
  logGreen: TermLogger;
@@ -201,6 +209,7 @@ export interface TerminalImpl {
201
209
  C_LIGHT_BLUE: string;
202
210
  C_GREY: string;
203
211
  C_ORANGE: string;
212
+ C_WHITE: string;
204
213
  B_BLACK: string;
205
214
  B_RED: string;
206
215
  B_GREEN: string;
package/dist/_fs_s.js CHANGED
@@ -95,6 +95,15 @@ async function writeTextToFile(filePath, text, createDir = true) {
95
95
  await mkDirRec(path.dirname(filePath));
96
96
  await fs.writeFile(filePath, text, { encoding: 'utf8', flag: 'w' });
97
97
  }
98
+ function writeTextSyncToFile(filePath, text, createDir = true) {
99
+ if (createDir) {
100
+ try {
101
+ fss.mkdirSync(path.dirname(filePath), { recursive: true });
102
+ }
103
+ catch { }
104
+ }
105
+ fss.writeFileSync(filePath, text, { encoding: 'utf8', flag: 'w' });
106
+ }
98
107
  function readTextFromFile(filePath) {
99
108
  return fs.readFile(filePath, 'utf8');
100
109
  }
@@ -131,7 +140,8 @@ export function patch_fs() {
131
140
  getFileStat,
132
141
  readFileToBytes,
133
142
  nodeStreamToWebStream, webStreamToNodeStream,
134
- writeTextToFile, readTextFromFile, readTextSyncFromFile,
143
+ writeTextToFile, writeTextSyncToFile,
144
+ readTextFromFile, readTextSyncFromFile,
135
145
  isFile, isDirectory
136
146
  };
137
147
  if (isBunJs()) {
package/dist/_fs_s.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"_fs_s.js","sourceRoot":"","sources":["../src/_fs_s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_fs_s.js","sourceRoot":"","sources":["../src/_fs_s.ts"],"names":[],"mappings":"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"}
package/dist/_term.js CHANGED
@@ -12,6 +12,7 @@ const C_LIGHT_BLUE = "\x1b[96m";
12
12
  const C_GREEN = "\x1b[32m";
13
13
  const C_GREY = "\x1b[90m";
14
14
  const C_ORANGE = "\x1b[38;5;208m";
15
+ const C_WHITE = "\x1b[37m";
15
16
  const B_BLACK = "\x1b[40m";
16
17
  const B_RED = "\x1b[41m";
17
18
  const B_GREEN = "\x1b[42m";
@@ -50,21 +51,36 @@ export function init_term() {
50
51
  NodeSpace.term = {
51
52
  cssText,
52
53
  moveUp, moveDown, moveLeft, moveRight, goAt,
53
- C_RED, C_GREEN, C_BLUE, C_LIGHT_BLUE, C_GREY, C_ORANGE,
54
+ C_RED, C_GREEN, C_BLUE, C_LIGHT_BLUE, C_GREY, C_ORANGE, C_WHITE,
54
55
  B_BLACK, B_BLUE, B_CYAN, B_GREEN, B_MAGENTA, B_RED, B_WHITE, B_YELLOW,
55
56
  T_RESET, T_BOLD, T_CLEAR_SCREEN, T_UNDERLINE, T_REWRITE_LINE, T_CLEAR_LINE, T_CLEAR_LINE_END, T_LINE_START,
56
57
  colorize(...params) {
57
58
  return params.join("") + T_RESET;
58
59
  },
59
- consoleLogTemp: (isTemp, ...args) => {
60
- let first = args.shift();
61
- if (first)
62
- first = "" + first;
63
- //console.log("\r\x1B[1F\x1B[1F\x1b[K" + first, ...args);
64
- console.log(moveLeft(1000) + moveUp(1) + first, ...args);
60
+ consoleLogTemp: (isTemp, text) => {
61
+ const terminalWidth = process.stdout.columns || 80;
62
+ const maxPadding = Math.min(200, terminalWidth - 1);
63
+ const truncatedText = text.length > maxPadding ? text.substring(0, maxPadding - 3) + '...' : text;
64
+ const paddedText = truncatedText.padEnd(maxPadding);
65
+ console.log(moveLeft(1000) + moveUp(1) + paddedText);
65
66
  if (!isTemp)
66
67
  console.log();
67
68
  },
69
+ askYesNo: (message, defaultValue) => {
70
+ return new Promise((resolve) => {
71
+ const defaultText = defaultValue ? '[Y/n]' : '[y/N]';
72
+ process.stdout.write(`${message} ${defaultText} `);
73
+ process.stdin.once('data', (data) => {
74
+ const input = data.toString().trim().toLowerCase();
75
+ if (input === '') {
76
+ resolve(defaultValue);
77
+ }
78
+ else {
79
+ resolve(input === 'y');
80
+ }
81
+ });
82
+ });
83
+ },
68
84
  buildWriter: buildWriter,
69
85
  buildLogger,
70
86
  indentText(spacer, text) {
@@ -73,9 +89,18 @@ export function init_term() {
73
89
  logRed: buildLogger(C_RED),
74
90
  logBgRed: buildLogger(B_RED),
75
91
  logBlue: buildLogger(C_BLUE),
76
- logBgBlue: buildLogger(B_BLUE),
92
+ logBgBlue: buildLogger(B_BLUE, C_WHITE),
77
93
  logGreen: buildLogger(C_GREEN),
78
- logBgGreen: buildLogger(B_GREEN)
94
+ logBgGreen: buildLogger(B_GREEN, C_WHITE),
95
+ logSuccess(...args) {
96
+ console.log(C_GREEN + "[SUCCESS] " + T_RESET, ...args);
97
+ },
98
+ logError(...args) {
99
+ console.log(C_RED + "[ERROR] " + T_RESET, ...args);
100
+ },
101
+ logWarn(...args) {
102
+ console.log(C_ORANGE + "[WARN] " + T_RESET, ...args);
103
+ }
79
104
  };
80
105
  }
81
106
  //# sourceMappingURL=_term.js.map
package/dist/_term.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"_term.js","sourceRoot":"","sources":["../src/_term.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_term.js","sourceRoot":"","sources":["../src/_term.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.20",
2
+ "version": "0.0.22",
3
3
  "private": false,
4
4
  "name": "jopi-node-space",
5
5
  "license": "MIT",
@@ -35,7 +35,5 @@
35
35
  "@types/ws": "^8.18.1",
36
36
  "mime-types": "^3.0.1",
37
37
  "ws": "^8.18.3"
38
- },
39
- "nodeSwitch": true,
40
- "nodeSwitch-default": "node"
38
+ },"publishedDate": "9/25/2025","publicPublishedDate": "9/25/2025"
41
39
  }
package/src/__global.ts CHANGED
@@ -154,6 +154,8 @@ export interface FileSystemImpl {
154
154
  unlink(filePath: string): Promise<void>;
155
155
 
156
156
  writeTextToFile(filePath: string, text: string, createDir?: boolean): Promise<void>;
157
+ writeTextSyncToFile(filePath: string, text: string, createDir?: boolean): void;
158
+
157
159
  readTextFromFile(filePath: string): Promise<string>;
158
160
  readTextSyncFromFile(filePath: string): string;
159
161
 
@@ -229,7 +231,16 @@ export interface TerminalImpl {
229
231
  /**
230
232
  * Write a temporary message, which are replaced each time by the next temp message.
231
233
  */
232
- consoleLogTemp: (isTemp: boolean, ...args: unknown[]) => void,
234
+ consoleLogTemp: (isTemp: boolean, text: string) => void,
235
+
236
+ /**
237
+ * Print a console message, where the user must respond by yes (y) or no (n).
238
+ */
239
+ askYesNo(message: string, defaultValue: boolean): Promise<boolean>;
240
+
241
+ logSuccess: TermLogger;
242
+ logError: TermLogger;
243
+ logWarn: TermLogger;
233
244
 
234
245
  logRed: TermLogger,
235
246
  logBgRed: TermLogger,
@@ -255,6 +266,7 @@ export interface TerminalImpl {
255
266
  C_LIGHT_BLUE: string;
256
267
  C_GREY: string;
257
268
  C_ORANGE: string;
269
+ C_WHITE: string;
258
270
 
259
271
  B_BLACK: string;
260
272
  B_RED: string;
package/src/_fs_s.ts CHANGED
@@ -97,6 +97,15 @@ async function writeTextToFile(filePath: string, text: string, createDir: boolea
97
97
  await fs.writeFile(filePath, text, {encoding: 'utf8', flag: 'w'});
98
98
  }
99
99
 
100
+ function writeTextSyncToFile(filePath: string, text: string, createDir: boolean = true): void {
101
+ if (createDir) {
102
+ try {
103
+ fss.mkdirSync(path.dirname(filePath), {recursive: true});
104
+ } catch {}
105
+ }
106
+ fss.writeFileSync(filePath, text, {encoding: 'utf8', flag: 'w'});
107
+ }
108
+
100
109
  function readTextFromFile(filePath: string): Promise<string> {
101
110
  return fs.readFile(filePath, 'utf8');
102
111
  }
@@ -139,7 +148,8 @@ export function patch_fs() {
139
148
 
140
149
  nodeStreamToWebStream, webStreamToNodeStream,
141
150
 
142
- writeTextToFile, readTextFromFile, readTextSyncFromFile,
151
+ writeTextToFile, writeTextSyncToFile,
152
+ readTextFromFile, readTextSyncFromFile,
143
153
  isFile, isDirectory
144
154
  };
145
155
 
package/src/_term.ts CHANGED
@@ -15,6 +15,7 @@ const C_LIGHT_BLUE = "\x1b[96m";
15
15
  const C_GREEN = "\x1b[32m";
16
16
  const C_GREY = "\x1b[90m";
17
17
  const C_ORANGE = "\x1b[38;5;208m";
18
+ const C_WHITE = "\x1b[37m";
18
19
 
19
20
  const B_BLACK = "\x1b[40m";
20
21
  const B_RED = "\x1b[41m";
@@ -65,7 +66,7 @@ export function init_term() {
65
66
 
66
67
  moveUp, moveDown, moveLeft, moveRight, goAt,
67
68
 
68
- C_RED, C_GREEN, C_BLUE, C_LIGHT_BLUE, C_GREY, C_ORANGE,
69
+ C_RED, C_GREEN, C_BLUE, C_LIGHT_BLUE, C_GREY, C_ORANGE, C_WHITE,
69
70
  B_BLACK, B_BLUE, B_CYAN, B_GREEN, B_MAGENTA, B_RED, B_WHITE, B_YELLOW,
70
71
  T_RESET, T_BOLD, T_CLEAR_SCREEN, T_UNDERLINE, T_REWRITE_LINE, T_CLEAR_LINE, T_CLEAR_LINE_END, T_LINE_START,
71
72
 
@@ -73,15 +74,35 @@ export function init_term() {
73
74
  return params.join("") + T_RESET;
74
75
  },
75
76
 
76
- consoleLogTemp: (isTemp: boolean, ...args: unknown[]) => {
77
- let first = args.shift();
78
- if (first) first = "" + first;
77
+ consoleLogTemp: (isTemp: boolean, text: string) => {
78
+ const terminalWidth = process.stdout.columns || 80;
79
79
 
80
- //console.log("\r\x1B[1F\x1B[1F\x1b[K" + first, ...args);
81
- console.log(moveLeft(1000) + moveUp(1) + first, ...args);
80
+ const maxPadding = Math.min(200, terminalWidth - 1);
82
81
 
82
+ const truncatedText = text.length > maxPadding ? text.substring(0, maxPadding - 3) + '...' : text;
83
+ const paddedText = truncatedText.padEnd(maxPadding);
84
+
85
+ console.log(moveLeft(1000) + moveUp(1) + paddedText);
83
86
  if (!isTemp) console.log();
84
87
  },
88
+
89
+ askYesNo: (message: string, defaultValue: boolean): Promise<boolean> => {
90
+ return new Promise((resolve) => {
91
+ const defaultText = defaultValue ? '[Y/n]' : '[y/N]';
92
+ process.stdout.write(`${message} ${defaultText} `);
93
+
94
+ process.stdin.once('data', (data) => {
95
+ const input = data.toString().trim().toLowerCase();
96
+ if (input === '') {
97
+ resolve(defaultValue);
98
+ } else {
99
+ resolve(input === 'y');
100
+ }
101
+ });
102
+ });
103
+
104
+ },
105
+
85
106
  buildWriter: buildWriter,
86
107
 
87
108
  buildLogger,
@@ -94,9 +115,21 @@ export function init_term() {
94
115
  logBgRed: buildLogger(B_RED),
95
116
 
96
117
  logBlue: buildLogger(C_BLUE),
97
- logBgBlue: buildLogger(B_BLUE),
118
+ logBgBlue: buildLogger(B_BLUE, C_WHITE),
98
119
 
99
120
  logGreen: buildLogger(C_GREEN),
100
- logBgGreen: buildLogger(B_GREEN)
121
+ logBgGreen: buildLogger(B_GREEN, C_WHITE),
122
+
123
+ logSuccess(...args: any[]) {
124
+ console.log(C_GREEN + "[SUCCESS] " + T_RESET, ...args);
125
+ },
126
+
127
+ logError(...args: any[]) {
128
+ console.log(C_RED + "[ERROR] " + T_RESET, ...args);
129
+ },
130
+
131
+ logWarn(...args: any[]) {
132
+ console.log(C_ORANGE + "[WARN] " + T_RESET, ...args);
133
+ }
101
134
  }
102
135
  }