nodexh 2.1.1 → 2.2.1

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/lib/main.js CHANGED
@@ -1,33 +1,14 @@
1
1
  (function() {
2
2
  'use strict';
3
- var CND, FS, PATH, _get_context, alert, badge, bold, cyan, debug, echo, exit_handler, fetch_mapped_location, get_context, get_error_callsites, get_stacktracey, gold, green, grey, help, info, load_source_map, log, red, reverse, rpr, show_error_with_source_context, show_stacktracey, steel, underline, urge, warn, whisper, white, write_to_stderr, yellow;
3
+ var FS, GUY, PATH, _exit_handler, _get_context, alert, bold, cyan, debug, echo, exit_handler, fetch_mapped_location, get_context, get_error_callsites, gold, green, grey, inspect, load_source_map, log, red, reverse, rpr, show_error_with_source_context, steel, underline, white, write_to_stderr, yellow;
4
4
 
5
5
  //###########################################################################################################
6
- CND = require('cnd');
6
+ GUY = require('guy');
7
7
 
8
- rpr = CND.rpr;
8
+ ({alert, debug} = GUY.trm.get_loggers('NODEXH'));
9
9
 
10
- badge = 'nodexh';
10
+ ({rpr, inspect, echo, log} = GUY.trm);
11
11
 
12
- log = CND.get_logger('plain', badge);
13
-
14
- debug = CND.get_logger('debug', badge);
15
-
16
- info = CND.get_logger('info', badge);
17
-
18
- warn = CND.get_logger('warn', badge);
19
-
20
- alert = CND.get_logger('alert', badge);
21
-
22
- help = CND.get_logger('help', badge);
23
-
24
- urge = CND.get_logger('urge', badge);
25
-
26
- whisper = CND.get_logger('whisper', badge);
27
-
28
- echo = CND.echo.bind(CND);
29
-
30
- // stackman = ( require 'stackman' )()
31
12
  get_error_callsites = require('error-callsites');
32
13
 
33
14
  load_source_map = (require('util')).promisify(require('load-source-map'));
@@ -36,14 +17,11 @@
36
17
 
37
18
  PATH = require('path');
38
19
 
39
- ({red, green, steel, grey, cyan, bold, gold, white, yellow, reverse, underline, bold} = CND);
40
-
41
- // types = new ( require '../../intertype' ).Intertype()
42
- // { isa } = types.export()
20
+ ({red, green, steel, grey, cyan, bold, gold, white, yellow, reverse, underline, bold} = GUY.trm);
43
21
 
44
22
  //-----------------------------------------------------------------------------------------------------------
45
23
  write_to_stderr = function(...P) {
46
- return process.stderr.write(' ' + CND.pen(...P));
24
+ return process.stderr.write(' ' + (GUY.trm.pen(...P)) + '\n');
47
25
  };
48
26
 
49
27
  //-----------------------------------------------------------------------------------------------------------
@@ -57,8 +35,6 @@
57
35
  });
58
36
  } catch (error1) {
59
37
  error = error1;
60
- // warn '^7763-3^', "!!!!!!!!!!!!!!!!!", { path, }
61
- // warn '^7763-3^', "!!!!!!!!!!!!!!!!!", error.message
62
38
  return {path, linenr, colnr};
63
39
  }
64
40
  //.........................................................................................................
@@ -89,7 +65,6 @@
89
65
  };
90
66
 
91
67
  //-----------------------------------------------------------------------------------------------------------
92
- // return [ ( red "!!! #{rpr error.message} !!!" ), ]
93
68
  _get_context = function(path, linenr, colnr, width) {
94
69
  /* TAINT perform line length adjustment, hiliting in dedicated method */
95
70
  var R, c0, c1, coldelta, delta, effect, first_idx, hilite, i, idx, last_idx, len, line, lines, ref, this_linenr, this_linenr_txt, width2;
@@ -124,7 +99,6 @@
124
99
  }
125
100
  R.push(`${grey(this_linenr_txt)}${cyan(line)}`);
126
101
  }
127
- // R = R.join '\n'
128
102
  return R;
129
103
  };
130
104
 
@@ -132,10 +106,6 @@
132
106
  show_error_with_source_context = async function(error, headline) {
133
107
  /* TAINT use proper methods to format with multiple colors */
134
108
  var arrowhead, arrowshaft, callsite, callsites, colnr, context_line, fname, fname_txt, i, j, len, len1, linenr, path, ref, ref1, ref2, relpath, width, width1;
135
- /* From https://github.com/watson/stackman#gotchas: "This module works because V8 (the JavaScript engine
136
- behind Node.js) allows us to hook into the stack trace generator function before that stack trace is
137
- generated. It's triggered by accessing the .stack property on the Error object, so please don't do
138
- that before parsing the error to stackman, else this will not work!" */
139
109
  alert('^77765-1^', reverse(bold(headline)));
140
110
  arrowhead = white('▲');
141
111
  arrowshaft = white('│');
@@ -143,8 +113,8 @@
143
113
  callsites = get_error_callsites(error);
144
114
  //.........................................................................................................
145
115
  if ((callsites == null) || (callsites.length === 0)) {
146
- write_to_stderr(CND.red(CND.reverse("^455756^ error has no associated callsites:")));
147
- write_to_stderr(CND.red(CND.reverse(rpr(error))));
116
+ write_to_stderr(red(reverse("^455756^ error has no associated callsites:")));
117
+ write_to_stderr(red(reverse(rpr(error))));
148
118
  return null;
149
119
  }
150
120
  //.........................................................................................................
@@ -167,8 +137,6 @@
167
137
  continue;
168
138
  }
169
139
  //.......................................................................................................
170
- // write_to_stderr()
171
- // write_to_stderr steel bold reverse ( "#{relpath} ##{linenr}:" ).padEnd 108
172
140
  fname = (ref = (ref1 = callsite.getFunctionName()) != null ? ref1 : callsite.getMethodName()) != null ? ref : null;
173
141
  ({path, linenr, colnr} = (await fetch_mapped_location(path, linenr, colnr)));
174
142
  relpath = PATH.relative(process.cwd(), path);
@@ -186,90 +154,28 @@
186
154
  }
187
155
  }
188
156
  alert('^77765-2^', reverse(bold(headline)));
189
- // urge "^94843^ error.stack:", rpr error.stack
190
- // urge "^94843^ error.message:", rpr error.message
191
- // urge "^94843^ error.code:", rpr error.code
192
- // urge "^94843^ error.name:", rpr error.name
193
- // urge "^94843^ error.type:", rpr error.type
194
- // urge "^94843^ error.toString():", rpr error.toString()
195
- // urge "^94843^ error:", rpr error
196
- // CATALOGUING = require '../../multimix/lib/cataloguing'
197
- // urge "^94843^", ( CATALOGUING.all_keys_of error )
198
157
  return null;
199
158
  };
200
159
 
201
160
  //-----------------------------------------------------------------------------------------------------------
202
- exit_handler = async function(error, origin) {
203
- var message, ref, ref1, ref2, type;
161
+ _exit_handler = async function(error, origin) {
204
162
  /* TAINT origin never used */
205
- // show_stacktracey error
206
- // debug '^4488^', error
207
- // debug '^4488^', await origin
208
- // return null
163
+ var message, ref, ref1, ref2, type;
209
164
  type = (ref = (ref1 = error.code) != null ? ref1 : error.name) != null ? ref : 'EXCEPTION';
210
165
  message = ` ${type}: ` + ((ref2 = error != null ? error.message : void 0) != null ? ref2 : "an unrecoverable condition occurred");
211
166
  await show_error_with_source_context(error, message);
212
- setImmediate((function() {
213
- return process.exit(111);
214
- }));
215
167
  return null;
216
168
  };
217
169
 
218
- //###########################################################################################################
219
- //###########################################################################################################
220
- //###########################################################################################################
221
- get_stacktracey = function(error) {
222
- var R, StackTracey, d, i, idx, ref, s, stack;
223
- StackTracey = require('stacktracey');
224
- stack = (new StackTracey(error)).withSources();
225
- // stack = stack.clean()
226
- R = [];
227
- for (idx = i = ref = stack.items.length - 1; i >= 0; idx = i += -1) {
228
- d = stack.items[idx];
229
- // debug '^2798^', ( k for k of d )
230
- s = {
231
- // target_path: d.file
232
- relpath: d.fileRelative, // fileShort
233
- native: d.native,
234
- // is_nodejs: d.native
235
- is_other: d.thirdParty,
236
- line: d.line,
237
- column: d.column,
238
- source: d.sourceLine,
239
- error: d.error
240
- };
241
- // for k in [ 'sourceLine', 'native', 'file', 'line', 'column', 'calleeShort', 'fileRelative', 'fileShort', 'fileName', 'thirdParty', 'name',]
242
- // debug k, rpr d[ k ]
243
- R.push(s);
244
- }
245
- // info '\n' + stack.asTable()
246
- return R;
247
- };
248
-
249
- show_stacktracey = function(error) {
250
- var d, i, len, ref, ref1;
251
- ref = get_stacktracey(error);
252
- for (i = 0, len = ref.length; i < len; i++) {
253
- d = ref[i];
254
- echo(CND.steel('^44872^ ' + `${d.relpath} @ ${d.line}:${d.column}`));
255
- /* NOTE errors:
256
- ENOENT: no such file or directory
257
- EISDIR: illegal operation on a directory, read
258
- 'Cannot read property 'originalPositionFor' of undefined'
259
- */
260
- if (d.error != null) {
261
- echo(CND.red('^44873^ ' + ((ref1 = d.error.message) != null ? ref1 : "an error occurred")));
262
- } else {
263
- echo(CND.yellow('^44874^ ' + `${rpr(d.source.slice(0, 101))}`));
264
- }
265
- }
170
+ //-----------------------------------------------------------------------------------------------------------
171
+ exit_handler = async function(error, origin) {
172
+ await _exit_handler(error, origin);
173
+ setImmediate((function() {
174
+ return process.exit(111);
175
+ }));
266
176
  return null;
267
177
  };
268
178
 
269
- //###########################################################################################################
270
- //###########################################################################################################
271
- //###########################################################################################################
272
-
273
179
  //###########################################################################################################
274
180
  if (global[Symbol.for('cnd-exception-handler')] == null) {
275
181
  null;
@@ -278,33 +184,8 @@
278
184
  process.once('unhandledRejection', exit_handler);
279
185
  }
280
186
 
281
- // do =>
282
- // process.stderr.on 'data', ( data ) => debug "^6863-1^ (stderr.on 'data'):", rpr data
283
- // process.stdout.on 'data', ( data ) => debug "^6863-2^ (stdout.on 'data'):", rpr data
284
- // process.stderr.on 'end', => debug "^6863-1^ (stderr.on 'end')"
285
- // process.stdout.on 'end', => debug "^6863-2^ (stdout.on 'end')"
286
- // debug '^6456^'
287
- // echo "^4564^ echo to stdout"
288
- // warn "^4564^ warn to stderr"
289
- // process.stderr.write "this goes to stderr\n"
290
- // process.stdout.write "this goes to stdout\n"
291
- // process.on 'message', ( message ) -> debug "^6863-3^' (process.on 'message'):", rpr message
292
- // process.on 'warning', ( warning ) -> debug "^6863-3^' (process.on 'warning'):", rpr warning
293
- /*
294
- callsite.getThis() - returns the value of this
295
- callsite.getTypeName() - returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.
296
- callsite.getFunction() - returns the current function
297
- callsite.getFunctionName() - returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.
298
- callsite.getMethodName() - returns the name of the property of this or one of its prototypes that holds the current function
299
- callsite.getFileName() - if this function was defined in a script returns the name of the script
300
- callsite.getLineNumber() - if this function was defined in a script returns the current line number
301
- callsite.getColumnNumber() - if this function was defined in a script returns the current column number
302
- callsite.getEvalOrigin() - if this function was created using a call to eval returns a CallSite object representing the location where eval was called
303
- callsite.isToplevel() - is this a toplevel invocation, that is, is this the global object?
304
- callsite.isEval() - does this call take place in code defined by a call to eval?
305
- callsite.isNative() - is this call in native V8 code?
306
- callsite.isConstructor() - is this a constructor c
307
- */
187
+ //###########################################################################################################
188
+ module.exports = {exit_handler, _exit_handler};
308
189
 
309
190
  }).call(this);
310
191
 
package/lib/main.js.map CHANGED
@@ -6,8 +6,8 @@
6
6
  "../src/main.coffee"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "\n\n'use strict'\n\n\n############################################################################################################\nCND = require 'cnd'\nrpr = CND.rpr\nbadge = 'nodexh'\nlog = CND.get_logger 'plain', badge\ndebug = CND.get_logger 'debug', badge\ninfo = CND.get_logger 'info', badge\nwarn = CND.get_logger 'warn', badge\nalert = CND.get_logger 'alert', badge\nhelp = CND.get_logger 'help', badge\nurge = CND.get_logger 'urge', badge\nwhisper = CND.get_logger 'whisper', badge\necho = CND.echo.bind CND\n# stackman = ( require 'stackman' )()\nget_error_callsites = require 'error-callsites'\nload_source_map = ( require 'util' ).promisify ( require 'load-source-map' )\nFS = require 'fs'\nPATH = require 'path'\n{ red\n green\n steel\n grey\n cyan\n bold\n gold\n white\n yellow\n reverse\n underline\n bold } = CND\n# types = new ( require '../../intertype' ).Intertype()\n# { isa } = types.export()\n\n#-----------------------------------------------------------------------------------------------------------\nwrite_to_stderr = ( P... ) -> process.stderr.write ' ' + CND.pen P...\n\n#-----------------------------------------------------------------------------------------------------------\nfetch_mapped_location = ( path, linenr, colnr ) ->\n try\n sourcemap = await load_source_map path\n smp = sourcemap.originalPositionFor { line: linenr, column: colnr, }\n catch error\n # warn '^7763-3^', \"!!!!!!!!!!!!!!!!!\", { path, }\n # warn '^7763-3^', \"!!!!!!!!!!!!!!!!!\", error.message\n return { path, linenr, colnr, }\n #.........................................................................................................\n if ( smp? ) and ( smp.source? ) and ( smp.source isnt '' ) and ( smp.line? ) and ( smp.column? )\n mapped_path = PATH.join ( PATH.dirname path ), smp.source\n return { path: mapped_path, linenr: smp.line, colnr: smp.column, }\n #.........................................................................................................\n return { path, linenr, colnr, }\n\n#-----------------------------------------------------------------------------------------------------------\nget_context = ( path, linenr, colnr, width ) ->\n try return ( _get_context path, linenr, colnr, width ) catch error\n throw error unless error.code is 'ENOENT'\n # return [ ( red \"!!! #{rpr error.message} !!!\" ), ]\n return []\n\n#-----------------------------------------------------------------------------------------------------------\n_get_context = ( path, linenr, colnr, width ) ->\n lines = ( FS.readFileSync path, { encoding: 'utf-8' } ).split '\\n'\n delta = 1\n coldelta = 5\n effect = reverse\n first_idx = Math.max 0, linenr - 1 - delta\n last_idx = Math.min lines.length - 1, linenr - 1 + delta\n R = []\n for line, idx in lines[ first_idx .. last_idx ]\n this_linenr = first_idx + idx + 1\n this_linenr_txt = ( this_linenr.toString().padStart 4 ) + '│ '\n if this_linenr isnt linenr\n ### TAINT should adjust overlong context lines as well ###\n R.push \"#{grey this_linenr_txt}#{grey line}\"\n continue\n ### TAINT perform line length adjustment, hiliting in dedicated method ###\n c0 = colnr - 1\n c1 = colnr + coldelta\n hilite = effect line[ c0 ... c1 ]\n line = line[ ... c0 ] + hilite + line[ c1 .. ]\n if c1 > width\n width2 = Math.floor width / 2\n line = '... ' + line[ c1 - width2 .. c1 + hilite.length - ( c1 - c0 ) + width2 ] + ' ...'\n else\n line = line[ .. width ]\n R.push \"#{grey this_linenr_txt}#{cyan line}\"\n # R = R.join '\\n'\n return R\n\n#-----------------------------------------------------------------------------------------------------------\nshow_error_with_source_context = ( error, headline ) ->\n ### From https://github.com/watson/stackman#gotchas: \"This module works because V8 (the JavaScript engine\n behind Node.js) allows us to hook into the stack trace generator function before that stack trace is\n generated. It's triggered by accessing the .stack property on the Error object, so please don't do\n that before parsing the error to stackman, else this will not work!\" ###\n alert '^77765-1^', reverse bold headline\n arrowhead = white '▲'\n arrowshaft = white '│'\n width = process.stdout.columns\n callsites = get_error_callsites error\n #.........................................................................................................\n if ( not callsites? ) or ( callsites.length is 0 )\n write_to_stderr CND.red CND.reverse \"^455756^ error has no associated callsites:\"\n write_to_stderr CND.red CND.reverse rpr error\n return null\n #.........................................................................................................\n callsites.reverse()\n #.........................................................................................................\n for callsite in callsites\n path = callsite.getFileName()\n #.......................................................................................................\n unless path?\n write_to_stderr grey '—'.repeat 108\n continue\n #.......................................................................................................\n linenr = callsite.getLineNumber()\n colnr = callsite.getColumnNumber()\n #.......................................................................................................\n if ( path.startsWith 'node:internal/' ) or ( path.startsWith 'internal/' )\n write_to_stderr arrowhead, grey \"#{path} @ #{linenr},#{colnr}\"\n continue\n #.......................................................................................................\n # write_to_stderr()\n # write_to_stderr steel bold reverse ( \"#{relpath} ##{linenr}:\" ).padEnd 108\n fname = callsite.getFunctionName() ? callsite.getMethodName() ? null\n { path\n linenr\n colnr } = await fetch_mapped_location path, linenr, colnr\n relpath = PATH.relative process.cwd(), path\n if fname?\n ### TAINT use proper methods to format with multiple colors ###\n fname_txt = steel fname\n width1 = width + ( fname_txt.length - fname.length )\n write_to_stderr arrowhead, gold ( \"#{relpath} @ #{linenr},#{colnr}: #{fname_txt}() \\x1b[38;05;234m\".padEnd width1, '—' )\n else\n write_to_stderr arrowhead, gold ( \"#{relpath} @ #{linenr},#{colnr}: \\x1b[38;05;234m\".padEnd width, '—' )\n for context_line in await get_context path, linenr, colnr, width\n write_to_stderr arrowshaft, context_line\n alert '^77765-2^', reverse bold headline\n # urge \"^94843^ error.stack:\", rpr error.stack\n # urge \"^94843^ error.message:\", rpr error.message\n # urge \"^94843^ error.code:\", rpr error.code\n # urge \"^94843^ error.name:\", rpr error.name\n # urge \"^94843^ error.type:\", rpr error.type\n # urge \"^94843^ error.toString():\", rpr error.toString()\n # urge \"^94843^ error:\", rpr error\n # CATALOGUING = require '../../multimix/lib/cataloguing'\n # urge \"^94843^\", ( CATALOGUING.all_keys_of error )\n return null\n\n#-----------------------------------------------------------------------------------------------------------\nexit_handler = ( error, origin ) ->\n ### TAINT origin never used ###\n # show_stacktracey error\n # debug '^4488^', error\n # debug '^4488^', await origin\n # return null\n type = error.code ? error.name ? 'EXCEPTION'\n message = \" #{type}: \" + ( error?.message ? \"an unrecoverable condition occurred\" )\n await show_error_with_source_context error, message\n setImmediate ( -> process.exit 111 )\n return null\n\n############################################################################################################\n############################################################################################################\n############################################################################################################\n\nget_stacktracey = ( error ) ->\n StackTracey = require 'stacktracey'\n stack = ( new StackTracey error ).withSources()\n # stack = stack.clean()\n R = []\n for idx in [ stack.items.length - 1 .. 0 ] by -1\n d = stack.items[ idx ]\n # debug '^2798^', ( k for k of d )\n s =\n # target_path: d.file\n relpath: d.fileRelative # fileShort\n native: d.native\n # is_nodejs: d.native\n is_other: d.thirdParty\n line: d.line\n column: d.column\n source: d.sourceLine\n error: d.error\n # for k in [ 'sourceLine', 'native', 'file', 'line', 'column', 'calleeShort', 'fileRelative', 'fileShort', 'fileName', 'thirdParty', 'name',]\n # debug k, rpr d[ k ]\n R.push s\n # info '\\n' + stack.asTable()\n return R\n\nshow_stacktracey = ( error ) ->\n for d in get_stacktracey error\n echo CND.steel '^44872^ ' + \"#{d.relpath} @ #{d.line}:#{d.column}\"\n ### NOTE errors:\n ENOENT: no such file or directory\n EISDIR: illegal operation on a directory, read\n 'Cannot read property 'originalPositionFor' of undefined'\n ###\n if d.error? then echo CND.red '^44873^ ' + ( d.error.message ? \"an error occurred\" )\n else echo CND.yellow '^44874^ ' + \"#{rpr d.source[ .. 100 ]}\"\n return null\n\n############################################################################################################\n############################################################################################################\n############################################################################################################\n\n\n############################################################################################################\nunless global[ Symbol.for 'cnd-exception-handler' ]?\n null\n global[ Symbol.for 'cnd-exception-handler' ] = true\n process.once 'uncaughtException', exit_handler\n process.once 'unhandledRejection', exit_handler\n\n # do =>\n # process.stderr.on 'data', ( data ) => debug \"^6863-1^ (stderr.on 'data'):\", rpr data\n # process.stdout.on 'data', ( data ) => debug \"^6863-2^ (stdout.on 'data'):\", rpr data\n # process.stderr.on 'end', => debug \"^6863-1^ (stderr.on 'end')\"\n # process.stdout.on 'end', => debug \"^6863-2^ (stdout.on 'end')\"\n # debug '^6456^'\n # echo \"^4564^ echo to stdout\"\n # warn \"^4564^ warn to stderr\"\n # process.stderr.write \"this goes to stderr\\n\"\n # process.stdout.write \"this goes to stdout\\n\"\n # process.on 'message', ( message ) -> debug \"^6863-3^' (process.on 'message'):\", rpr message\n # process.on 'warning', ( warning ) -> debug \"^6863-3^' (process.on 'warning'):\", rpr warning\n###\ncallsite.getThis() - returns the value of this\ncallsite.getTypeName() - returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.\ncallsite.getFunction() - returns the current function\ncallsite.getFunctionName() - returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.\ncallsite.getMethodName() - returns the name of the property of this or one of its prototypes that holds the current function\ncallsite.getFileName() - if this function was defined in a script returns the name of the script\ncallsite.getLineNumber() - if this function was defined in a script returns the current line number\ncallsite.getColumnNumber() - if this function was defined in a script returns the current column number\ncallsite.getEvalOrigin() - if this function was created using a call to eval returns a CallSite object representing the location where eval was called\ncallsite.isToplevel() - is this a toplevel invocation, that is, is this the global object?\ncallsite.isEval() - does this call take place in code defined by a call to eval?\ncallsite.isNative() - is this call in native V8 code?\ncallsite.isConstructor() - is this a constructor c\n###\n\n"
11
+ "\n'use strict'\n\n\n############################################################################################################\nGUY = require 'guy'\n{ alert\n debug } = GUY.trm.get_loggers 'NODEXH'\n{ rpr\n inspect\n echo\n log } = GUY.trm\nget_error_callsites = require 'error-callsites'\nload_source_map = ( require 'util' ).promisify ( require 'load-source-map' )\nFS = require 'fs'\nPATH = require 'path'\n{ red\n green\n steel\n grey\n cyan\n bold\n gold\n white\n yellow\n reverse\n underline\n bold } = GUY.trm\n\n#-----------------------------------------------------------------------------------------------------------\nwrite_to_stderr = ( P... ) -> process.stderr.write ' ' + ( GUY.trm.pen P... ) + '\\n'\n\n#-----------------------------------------------------------------------------------------------------------\nfetch_mapped_location = ( path, linenr, colnr ) ->\n try\n sourcemap = await load_source_map path\n smp = sourcemap.originalPositionFor { line: linenr, column: colnr, }\n catch error\n return { path, linenr, colnr, }\n #.........................................................................................................\n if ( smp? ) and ( smp.source? ) and ( smp.source isnt '' ) and ( smp.line? ) and ( smp.column? )\n mapped_path = PATH.join ( PATH.dirname path ), smp.source\n return { path: mapped_path, linenr: smp.line, colnr: smp.column, }\n #.........................................................................................................\n return { path, linenr, colnr, }\n\n#-----------------------------------------------------------------------------------------------------------\nget_context = ( path, linenr, colnr, width ) ->\n try return ( _get_context path, linenr, colnr, width ) catch error\n throw error unless error.code is 'ENOENT'\n return []\n\n#-----------------------------------------------------------------------------------------------------------\n_get_context = ( path, linenr, colnr, width ) ->\n lines = ( FS.readFileSync path, { encoding: 'utf-8' } ).split '\\n'\n delta = 1\n coldelta = 5\n effect = reverse\n first_idx = Math.max 0, linenr - 1 - delta\n last_idx = Math.min lines.length - 1, linenr - 1 + delta\n R = []\n for line, idx in lines[ first_idx .. last_idx ]\n this_linenr = first_idx + idx + 1\n this_linenr_txt = ( this_linenr.toString().padStart 4 ) + '│ '\n if this_linenr isnt linenr\n ### TAINT should adjust overlong context lines as well ###\n R.push \"#{grey this_linenr_txt}#{grey line}\"\n continue\n ### TAINT perform line length adjustment, hiliting in dedicated method ###\n c0 = colnr - 1\n c1 = colnr + coldelta\n hilite = effect line[ c0 ... c1 ]\n line = line[ ... c0 ] + hilite + line[ c1 .. ]\n if c1 > width\n width2 = Math.floor width / 2\n line = '... ' + line[ c1 - width2 .. c1 + hilite.length - ( c1 - c0 ) + width2 ] + ' ...'\n else\n line = line[ .. width ]\n R.push \"#{grey this_linenr_txt}#{cyan line}\"\n return R\n\n#-----------------------------------------------------------------------------------------------------------\nshow_error_with_source_context = ( error, headline ) ->\n alert '^77765-1^', reverse bold headline\n arrowhead = white '▲'\n arrowshaft = white '│'\n width = process.stdout.columns\n callsites = get_error_callsites error\n #.........................................................................................................\n if ( not callsites? ) or ( callsites.length is 0 )\n write_to_stderr red reverse \"^455756^ error has no associated callsites:\"\n write_to_stderr red reverse rpr error\n return null\n #.........................................................................................................\n callsites.reverse()\n #.........................................................................................................\n for callsite in callsites\n path = callsite.getFileName()\n #.......................................................................................................\n unless path?\n write_to_stderr grey '—'.repeat 108\n continue\n #.......................................................................................................\n linenr = callsite.getLineNumber()\n colnr = callsite.getColumnNumber()\n #.......................................................................................................\n if ( path.startsWith 'node:internal/' ) or ( path.startsWith 'internal/' )\n write_to_stderr arrowhead, grey \"#{path} @ #{linenr},#{colnr}\"\n continue\n #.......................................................................................................\n fname = callsite.getFunctionName() ? callsite.getMethodName() ? null\n { path\n linenr\n colnr } = await fetch_mapped_location path, linenr, colnr\n relpath = PATH.relative process.cwd(), path\n if fname?\n ### TAINT use proper methods to format with multiple colors ###\n fname_txt = steel fname\n width1 = width + ( fname_txt.length - fname.length )\n write_to_stderr arrowhead, gold ( \"#{relpath} @ #{linenr},#{colnr}: #{fname_txt}() \\x1b[38;05;234m\".padEnd width1, '—' )\n else\n write_to_stderr arrowhead, gold ( \"#{relpath} @ #{linenr},#{colnr}: \\x1b[38;05;234m\".padEnd width, '—' )\n for context_line in await get_context path, linenr, colnr, width\n write_to_stderr arrowshaft, context_line\n alert '^77765-2^', reverse bold headline\n return null\n\n#-----------------------------------------------------------------------------------------------------------\n_exit_handler = ( error, origin ) ->\n ### TAINT origin never used ###\n type = error.code ? error.name ? 'EXCEPTION'\n message = \" #{type}: \" + ( error?.message ? \"an unrecoverable condition occurred\" )\n await show_error_with_source_context error, message\n return null\n\n#-----------------------------------------------------------------------------------------------------------\nexit_handler = ( error, origin ) ->\n await _exit_handler error, origin\n setImmediate ( -> process.exit 111 )\n return null\n\n\n\n############################################################################################################\nunless global[ Symbol.for 'cnd-exception-handler' ]?\n null\n global[ Symbol.for 'cnd-exception-handler' ] = true\n process.once 'uncaughtException', exit_handler\n process.once 'unhandledRejection', exit_handler\n\n\n############################################################################################################\nmodule.exports = { exit_handler, _exit_handler, }\n\n"
12
12
  ]
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodexh",
3
- "version": "2.1.1",
3
+ "version": "2.2.1",
4
4
  "description": "a wrapper around the `node` executable for better stacktraces with sourcemaps, sourcecode excerpts",
5
5
  "main": "lib/main.js",
6
6
  "bin": {
@@ -23,8 +23,8 @@
23
23
  },
24
24
  "homepage": "https://github.com/loveencounterflow/nodexh",
25
25
  "dependencies": {
26
- "cnd": "^9.1.0",
27
26
  "error-callsites": "^2.0.3",
27
+ "guy": "^13.7.1",
28
28
  "load-source-map": "3.0.1",
29
29
  "stacktracey": "^2.0.14"
30
30
  },
package/src/main.coffee CHANGED
@@ -1,22 +1,15 @@
1
1
 
2
-
3
2
  'use strict'
4
3
 
5
4
 
6
5
  ############################################################################################################
7
- CND = require 'cnd'
8
- rpr = CND.rpr
9
- badge = 'nodexh'
10
- log = CND.get_logger 'plain', badge
11
- debug = CND.get_logger 'debug', badge
12
- info = CND.get_logger 'info', badge
13
- warn = CND.get_logger 'warn', badge
14
- alert = CND.get_logger 'alert', badge
15
- help = CND.get_logger 'help', badge
16
- urge = CND.get_logger 'urge', badge
17
- whisper = CND.get_logger 'whisper', badge
18
- echo = CND.echo.bind CND
19
- # stackman = ( require 'stackman' )()
6
+ GUY = require 'guy'
7
+ { alert
8
+ debug } = GUY.trm.get_loggers 'NODEXH'
9
+ { rpr
10
+ inspect
11
+ echo
12
+ log } = GUY.trm
20
13
  get_error_callsites = require 'error-callsites'
21
14
  load_source_map = ( require 'util' ).promisify ( require 'load-source-map' )
22
15
  FS = require 'fs'
@@ -32,12 +25,10 @@ PATH = require 'path'
32
25
  yellow
33
26
  reverse
34
27
  underline
35
- bold } = CND
36
- # types = new ( require '../../intertype' ).Intertype()
37
- # { isa } = types.export()
28
+ bold } = GUY.trm
38
29
 
39
30
  #-----------------------------------------------------------------------------------------------------------
40
- write_to_stderr = ( P... ) -> process.stderr.write ' ' + CND.pen P...
31
+ write_to_stderr = ( P... ) -> process.stderr.write ' ' + ( GUY.trm.pen P... ) + '\n'
41
32
 
42
33
  #-----------------------------------------------------------------------------------------------------------
43
34
  fetch_mapped_location = ( path, linenr, colnr ) ->
@@ -45,8 +36,6 @@ fetch_mapped_location = ( path, linenr, colnr ) ->
45
36
  sourcemap = await load_source_map path
46
37
  smp = sourcemap.originalPositionFor { line: linenr, column: colnr, }
47
38
  catch error
48
- # warn '^7763-3^', "!!!!!!!!!!!!!!!!!", { path, }
49
- # warn '^7763-3^', "!!!!!!!!!!!!!!!!!", error.message
50
39
  return { path, linenr, colnr, }
51
40
  #.........................................................................................................
52
41
  if ( smp? ) and ( smp.source? ) and ( smp.source isnt '' ) and ( smp.line? ) and ( smp.column? )
@@ -59,7 +48,6 @@ fetch_mapped_location = ( path, linenr, colnr ) ->
59
48
  get_context = ( path, linenr, colnr, width ) ->
60
49
  try return ( _get_context path, linenr, colnr, width ) catch error
61
50
  throw error unless error.code is 'ENOENT'
62
- # return [ ( red "!!! #{rpr error.message} !!!" ), ]
63
51
  return []
64
52
 
65
53
  #-----------------------------------------------------------------------------------------------------------
@@ -89,15 +77,10 @@ _get_context = ( path, linenr, colnr, width ) ->
89
77
  else
90
78
  line = line[ .. width ]
91
79
  R.push "#{grey this_linenr_txt}#{cyan line}"
92
- # R = R.join '\n'
93
80
  return R
94
81
 
95
82
  #-----------------------------------------------------------------------------------------------------------
96
83
  show_error_with_source_context = ( error, headline ) ->
97
- ### From https://github.com/watson/stackman#gotchas: "This module works because V8 (the JavaScript engine
98
- behind Node.js) allows us to hook into the stack trace generator function before that stack trace is
99
- generated. It's triggered by accessing the .stack property on the Error object, so please don't do
100
- that before parsing the error to stackman, else this will not work!" ###
101
84
  alert '^77765-1^', reverse bold headline
102
85
  arrowhead = white '▲'
103
86
  arrowshaft = white '│'
@@ -105,8 +88,8 @@ show_error_with_source_context = ( error, headline ) ->
105
88
  callsites = get_error_callsites error
106
89
  #.........................................................................................................
107
90
  if ( not callsites? ) or ( callsites.length is 0 )
108
- write_to_stderr CND.red CND.reverse "^455756^ error has no associated callsites:"
109
- write_to_stderr CND.red CND.reverse rpr error
91
+ write_to_stderr red reverse "^455756^ error has no associated callsites:"
92
+ write_to_stderr red reverse rpr error
110
93
  return null
111
94
  #.........................................................................................................
112
95
  callsites.reverse()
@@ -125,8 +108,6 @@ show_error_with_source_context = ( error, headline ) ->
125
108
  write_to_stderr arrowhead, grey "#{path} @ #{linenr},#{colnr}"
126
109
  continue
127
110
  #.......................................................................................................
128
- # write_to_stderr()
129
- # write_to_stderr steel bold reverse ( "#{relpath} ##{linenr}:" ).padEnd 108
130
111
  fname = callsite.getFunctionName() ? callsite.getMethodName() ? null
131
112
  { path
132
113
  linenr
@@ -142,73 +123,22 @@ show_error_with_source_context = ( error, headline ) ->
142
123
  for context_line in await get_context path, linenr, colnr, width
143
124
  write_to_stderr arrowshaft, context_line
144
125
  alert '^77765-2^', reverse bold headline
145
- # urge "^94843^ error.stack:", rpr error.stack
146
- # urge "^94843^ error.message:", rpr error.message
147
- # urge "^94843^ error.code:", rpr error.code
148
- # urge "^94843^ error.name:", rpr error.name
149
- # urge "^94843^ error.type:", rpr error.type
150
- # urge "^94843^ error.toString():", rpr error.toString()
151
- # urge "^94843^ error:", rpr error
152
- # CATALOGUING = require '../../multimix/lib/cataloguing'
153
- # urge "^94843^", ( CATALOGUING.all_keys_of error )
154
126
  return null
155
127
 
156
128
  #-----------------------------------------------------------------------------------------------------------
157
- exit_handler = ( error, origin ) ->
129
+ _exit_handler = ( error, origin ) ->
158
130
  ### TAINT origin never used ###
159
- # show_stacktracey error
160
- # debug '^4488^', error
161
- # debug '^4488^', await origin
162
- # return null
163
131
  type = error.code ? error.name ? 'EXCEPTION'
164
132
  message = " #{type}: " + ( error?.message ? "an unrecoverable condition occurred" )
165
133
  await show_error_with_source_context error, message
166
- setImmediate ( -> process.exit 111 )
167
134
  return null
168
135
 
169
- ############################################################################################################
170
- ############################################################################################################
171
- ############################################################################################################
172
-
173
- get_stacktracey = ( error ) ->
174
- StackTracey = require 'stacktracey'
175
- stack = ( new StackTracey error ).withSources()
176
- # stack = stack.clean()
177
- R = []
178
- for idx in [ stack.items.length - 1 .. 0 ] by -1
179
- d = stack.items[ idx ]
180
- # debug '^2798^', ( k for k of d )
181
- s =
182
- # target_path: d.file
183
- relpath: d.fileRelative # fileShort
184
- native: d.native
185
- # is_nodejs: d.native
186
- is_other: d.thirdParty
187
- line: d.line
188
- column: d.column
189
- source: d.sourceLine
190
- error: d.error
191
- # for k in [ 'sourceLine', 'native', 'file', 'line', 'column', 'calleeShort', 'fileRelative', 'fileShort', 'fileName', 'thirdParty', 'name',]
192
- # debug k, rpr d[ k ]
193
- R.push s
194
- # info '\n' + stack.asTable()
195
- return R
196
-
197
- show_stacktracey = ( error ) ->
198
- for d in get_stacktracey error
199
- echo CND.steel '^44872^ ' + "#{d.relpath} @ #{d.line}:#{d.column}"
200
- ### NOTE errors:
201
- ENOENT: no such file or directory
202
- EISDIR: illegal operation on a directory, read
203
- 'Cannot read property 'originalPositionFor' of undefined'
204
- ###
205
- if d.error? then echo CND.red '^44873^ ' + ( d.error.message ? "an error occurred" )
206
- else echo CND.yellow '^44874^ ' + "#{rpr d.source[ .. 100 ]}"
136
+ #-----------------------------------------------------------------------------------------------------------
137
+ exit_handler = ( error, origin ) ->
138
+ await _exit_handler error, origin
139
+ setImmediate ( -> process.exit 111 )
207
140
  return null
208
141
 
209
- ############################################################################################################
210
- ############################################################################################################
211
- ############################################################################################################
212
142
 
213
143
 
214
144
  ############################################################################################################
@@ -218,31 +148,7 @@ unless global[ Symbol.for 'cnd-exception-handler' ]?
218
148
  process.once 'uncaughtException', exit_handler
219
149
  process.once 'unhandledRejection', exit_handler
220
150
 
221
- # do =>
222
- # process.stderr.on 'data', ( data ) => debug "^6863-1^ (stderr.on 'data'):", rpr data
223
- # process.stdout.on 'data', ( data ) => debug "^6863-2^ (stdout.on 'data'):", rpr data
224
- # process.stderr.on 'end', => debug "^6863-1^ (stderr.on 'end')"
225
- # process.stdout.on 'end', => debug "^6863-2^ (stdout.on 'end')"
226
- # debug '^6456^'
227
- # echo "^4564^ echo to stdout"
228
- # warn "^4564^ warn to stderr"
229
- # process.stderr.write "this goes to stderr\n"
230
- # process.stdout.write "this goes to stdout\n"
231
- # process.on 'message', ( message ) -> debug "^6863-3^' (process.on 'message'):", rpr message
232
- # process.on 'warning', ( warning ) -> debug "^6863-3^' (process.on 'warning'):", rpr warning
233
- ###
234
- callsite.getThis() - returns the value of this
235
- callsite.getTypeName() - returns the type of this as a string. This is the name of the function stored in the constructor field of this, if available, otherwise the object's [[Class]] internal property.
236
- callsite.getFunction() - returns the current function
237
- callsite.getFunctionName() - returns the name of the current function, typically its name property. If a name property is not available an attempt will be made to try to infer a name from the function's context.
238
- callsite.getMethodName() - returns the name of the property of this or one of its prototypes that holds the current function
239
- callsite.getFileName() - if this function was defined in a script returns the name of the script
240
- callsite.getLineNumber() - if this function was defined in a script returns the current line number
241
- callsite.getColumnNumber() - if this function was defined in a script returns the current column number
242
- callsite.getEvalOrigin() - if this function was created using a call to eval returns a CallSite object representing the location where eval was called
243
- callsite.isToplevel() - is this a toplevel invocation, that is, is this the global object?
244
- callsite.isEval() - does this call take place in code defined by a call to eval?
245
- callsite.isNative() - is this call in native V8 code?
246
- callsite.isConstructor() - is this a constructor c
247
- ###
151
+
152
+ ############################################################################################################
153
+ module.exports = { exit_handler, _exit_handler, }
248
154
 
package/pnpm-lock.yaml DELETED
@@ -1,105 +0,0 @@
1
- lockfileVersion: 5.4
2
-
3
- specifiers:
4
- cnd: ^9.1.0
5
- error-callsites: ^2.0.3
6
- load-source-map: 3.0.1
7
- stacktracey: ^2.0.14
8
-
9
- dependencies:
10
- cnd: 9.2.2
11
- error-callsites: 2.0.4
12
- load-source-map: 3.0.1
13
- stacktracey: 2.1.8
14
-
15
- packages:
16
-
17
- /as-table/1.0.55:
18
- resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
19
- dependencies:
20
- printable-characters: 1.0.42
21
- dev: false
22
-
23
- /cnd/9.2.2:
24
- resolution: {integrity: sha512-F+/H+7luk4fZkvN0+MT0I2nwn80YM/EtfMttNUFxENR50XJH4g0KgQevzeyEJ8B6t6l8Tb4Xti6QAksa8DmePA==}
25
- hasBin: true
26
- dependencies:
27
- jsx-number-format: 0.1.4
28
- dev: false
29
-
30
- /data-uri-to-buffer/2.0.2:
31
- resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
32
- dev: false
33
-
34
- /error-callsites/2.0.4:
35
- resolution: {integrity: sha512-V877Ch4FC4FN178fDK1fsrHN4I1YQIBdtjKrHh3BUHMnh3SMvwUVrqkaOgDpUuevgSNna0RBq6Ox9SGlxYrigA==}
36
- engines: {node: '>=6.x'}
37
- dev: false
38
-
39
- /get-source/2.0.12:
40
- resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
41
- dependencies:
42
- data-uri-to-buffer: 2.0.2
43
- source-map: 0.6.1
44
- dev: false
45
-
46
- /jsx-number-format/0.1.4:
47
- resolution: {integrity: sha512-uPc/Q90XqZoRE7Cu1OLFQB2cSrA2Dy8+okzPOtML8vbagNFDSipbndIPme+q0odBjEhL+wf3WH3Wo52was4Tsg==}
48
- dev: false
49
-
50
- /load-source-map/3.0.1:
51
- resolution: {integrity: sha512-TMYgVXwivT/VeOk0h+chnlhgCclG9xaB8v0Z07gOGDuvE1Vg60fW4NOIPMQ+h64jYYgfgenp0AsdczQWfRAoVw==}
52
- engines: {node: '>=12'}
53
- dependencies:
54
- source-map: 0.8.0-beta.0
55
- dev: false
56
-
57
- /lodash.sortby/4.7.0:
58
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
59
- dev: false
60
-
61
- /printable-characters/1.0.42:
62
- resolution: {integrity: sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=}
63
- dev: false
64
-
65
- /punycode/2.1.1:
66
- resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
67
- engines: {node: '>=6'}
68
- dev: false
69
-
70
- /source-map/0.6.1:
71
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
72
- engines: {node: '>=0.10.0'}
73
- dev: false
74
-
75
- /source-map/0.8.0-beta.0:
76
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
77
- engines: {node: '>= 8'}
78
- dependencies:
79
- whatwg-url: 7.1.0
80
- dev: false
81
-
82
- /stacktracey/2.1.8:
83
- resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
84
- dependencies:
85
- as-table: 1.0.55
86
- get-source: 2.0.12
87
- dev: false
88
-
89
- /tr46/1.0.1:
90
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
91
- dependencies:
92
- punycode: 2.1.1
93
- dev: false
94
-
95
- /webidl-conversions/4.0.2:
96
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
97
- dev: false
98
-
99
- /whatwg-url/7.1.0:
100
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
101
- dependencies:
102
- lodash.sortby: 4.7.0
103
- tr46: 1.0.1
104
- webidl-conversions: 4.0.2
105
- dev: false