@herb-tools/node 0.8.10 → 0.9.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.
Files changed (171) hide show
  1. package/binding.gyp +27 -8
  2. package/dist/herb-node.cjs +41 -12
  3. package/dist/herb-node.cjs.map +1 -1
  4. package/dist/herb-node.esm.js +8 -1
  5. package/dist/herb-node.esm.js.map +1 -1
  6. package/dist/types/node-backend.d.ts +3 -1
  7. package/extension/error_helpers.cpp +598 -73
  8. package/extension/error_helpers.h +20 -3
  9. package/extension/extension_helpers.cpp +40 -35
  10. package/extension/extension_helpers.h +2 -2
  11. package/extension/herb.cpp +194 -64
  12. package/extension/libherb/analyze/action_view/attribute_extraction_helpers.c +303 -0
  13. package/extension/libherb/analyze/action_view/attribute_extraction_helpers.h +36 -0
  14. package/extension/libherb/analyze/action_view/content_tag.c +78 -0
  15. package/extension/libherb/analyze/action_view/link_to.c +167 -0
  16. package/extension/libherb/analyze/action_view/registry.c +83 -0
  17. package/extension/libherb/analyze/action_view/tag.c +70 -0
  18. package/extension/libherb/analyze/action_view/tag_helper_handler.h +43 -0
  19. package/extension/libherb/analyze/action_view/tag_helper_node_builders.c +305 -0
  20. package/extension/libherb/analyze/action_view/tag_helper_node_builders.h +70 -0
  21. package/extension/libherb/analyze/action_view/tag_helpers.c +815 -0
  22. package/extension/libherb/analyze/action_view/tag_helpers.h +38 -0
  23. package/extension/libherb/analyze/action_view/turbo_frame_tag.c +88 -0
  24. package/extension/libherb/analyze/analyze.c +885 -0
  25. package/extension/libherb/{include → analyze}/analyze.h +14 -4
  26. package/extension/libherb/{analyzed_ruby.c → analyze/analyzed_ruby.c} +13 -11
  27. package/extension/libherb/{analyzed_ruby.h → analyze/analyzed_ruby.h} +3 -3
  28. package/extension/libherb/analyze/builders.c +343 -0
  29. package/extension/libherb/analyze/builders.h +27 -0
  30. package/extension/libherb/analyze/conditional_elements.c +594 -0
  31. package/extension/libherb/analyze/conditional_elements.h +9 -0
  32. package/extension/libherb/analyze/conditional_open_tags.c +640 -0
  33. package/extension/libherb/analyze/conditional_open_tags.h +9 -0
  34. package/extension/libherb/analyze/control_type.c +250 -0
  35. package/extension/libherb/analyze/control_type.h +14 -0
  36. package/extension/libherb/{analyze_helpers.c → analyze/helpers.c} +48 -23
  37. package/extension/libherb/{analyze_helpers.h → analyze/helpers.h} +4 -2
  38. package/extension/libherb/analyze/invalid_structures.c +193 -0
  39. package/extension/libherb/analyze/invalid_structures.h +11 -0
  40. package/extension/libherb/{analyze_missing_end.c → analyze/missing_end.c} +33 -22
  41. package/extension/libherb/analyze/parse_errors.c +84 -0
  42. package/extension/libherb/analyze/prism_annotate.c +399 -0
  43. package/extension/libherb/analyze/prism_annotate.h +16 -0
  44. package/extension/libherb/analyze/render_nodes.c +761 -0
  45. package/extension/libherb/analyze/render_nodes.h +11 -0
  46. package/extension/libherb/{analyze_transform.c → analyze/transform.c} +24 -3
  47. package/extension/libherb/ast_node.c +17 -7
  48. package/extension/libherb/ast_node.h +11 -5
  49. package/extension/libherb/ast_nodes.c +760 -388
  50. package/extension/libherb/ast_nodes.h +155 -39
  51. package/extension/libherb/ast_pretty_print.c +265 -7
  52. package/extension/libherb/ast_pretty_print.h +6 -1
  53. package/extension/libherb/element_source.h +3 -8
  54. package/extension/libherb/errors.c +1455 -520
  55. package/extension/libherb/errors.h +207 -56
  56. package/extension/libherb/extract.c +145 -49
  57. package/extension/libherb/extract.h +21 -5
  58. package/extension/libherb/herb.c +52 -34
  59. package/extension/libherb/herb.h +18 -6
  60. package/extension/libherb/herb_prism_node.h +13 -0
  61. package/extension/libherb/html_util.c +241 -12
  62. package/extension/libherb/html_util.h +7 -2
  63. package/extension/libherb/include/analyze/action_view/attribute_extraction_helpers.h +36 -0
  64. package/extension/libherb/include/analyze/action_view/tag_helper_handler.h +43 -0
  65. package/extension/libherb/include/analyze/action_view/tag_helper_node_builders.h +70 -0
  66. package/extension/libherb/include/analyze/action_view/tag_helpers.h +38 -0
  67. package/extension/libherb/{analyze.h → include/analyze/analyze.h} +14 -4
  68. package/extension/libherb/include/{analyzed_ruby.h → analyze/analyzed_ruby.h} +3 -3
  69. package/extension/libherb/include/analyze/builders.h +27 -0
  70. package/extension/libherb/include/analyze/conditional_elements.h +9 -0
  71. package/extension/libherb/include/analyze/conditional_open_tags.h +9 -0
  72. package/extension/libherb/include/analyze/control_type.h +14 -0
  73. package/extension/libherb/include/{analyze_helpers.h → analyze/helpers.h} +4 -2
  74. package/extension/libherb/include/analyze/invalid_structures.h +11 -0
  75. package/extension/libherb/include/analyze/prism_annotate.h +16 -0
  76. package/extension/libherb/include/analyze/render_nodes.h +11 -0
  77. package/extension/libherb/include/ast_node.h +11 -5
  78. package/extension/libherb/include/ast_nodes.h +155 -39
  79. package/extension/libherb/include/ast_pretty_print.h +6 -1
  80. package/extension/libherb/include/element_source.h +3 -8
  81. package/extension/libherb/include/errors.h +207 -56
  82. package/extension/libherb/include/extract.h +21 -5
  83. package/extension/libherb/include/herb.h +18 -6
  84. package/extension/libherb/include/herb_prism_node.h +13 -0
  85. package/extension/libherb/include/html_util.h +7 -2
  86. package/extension/libherb/include/io.h +3 -1
  87. package/extension/libherb/include/lex_helpers.h +29 -0
  88. package/extension/libherb/include/lexer.h +1 -1
  89. package/extension/libherb/include/lexer_peek_helpers.h +87 -13
  90. package/extension/libherb/include/lexer_struct.h +2 -0
  91. package/extension/libherb/include/location.h +2 -1
  92. package/extension/libherb/include/parser.h +28 -2
  93. package/extension/libherb/include/parser_helpers.h +19 -3
  94. package/extension/libherb/include/pretty_print.h +10 -5
  95. package/extension/libherb/include/prism_context.h +45 -0
  96. package/extension/libherb/include/prism_helpers.h +10 -7
  97. package/extension/libherb/include/prism_serialized.h +12 -0
  98. package/extension/libherb/include/token.h +16 -4
  99. package/extension/libherb/include/token_struct.h +10 -3
  100. package/extension/libherb/include/utf8.h +2 -1
  101. package/extension/libherb/include/util/hb_allocator.h +78 -0
  102. package/extension/libherb/include/util/hb_arena.h +6 -1
  103. package/extension/libherb/include/util/hb_arena_debug.h +12 -1
  104. package/extension/libherb/include/util/hb_array.h +7 -3
  105. package/extension/libherb/include/util/hb_buffer.h +6 -4
  106. package/extension/libherb/include/util/hb_foreach.h +79 -0
  107. package/extension/libherb/include/util/hb_narray.h +8 -4
  108. package/extension/libherb/include/util/hb_string.h +56 -9
  109. package/extension/libherb/include/util.h +6 -3
  110. package/extension/libherb/include/version.h +1 -1
  111. package/extension/libherb/io.c +3 -2
  112. package/extension/libherb/io.h +3 -1
  113. package/extension/libherb/lex_helpers.h +29 -0
  114. package/extension/libherb/lexer.c +42 -30
  115. package/extension/libherb/lexer.h +1 -1
  116. package/extension/libherb/lexer_peek_helpers.c +12 -74
  117. package/extension/libherb/lexer_peek_helpers.h +87 -13
  118. package/extension/libherb/lexer_struct.h +2 -0
  119. package/extension/libherb/location.c +2 -2
  120. package/extension/libherb/location.h +2 -1
  121. package/extension/libherb/main.c +53 -28
  122. package/extension/libherb/parser.c +784 -247
  123. package/extension/libherb/parser.h +28 -2
  124. package/extension/libherb/parser_helpers.c +110 -23
  125. package/extension/libherb/parser_helpers.h +19 -3
  126. package/extension/libherb/parser_match_tags.c +130 -49
  127. package/extension/libherb/pretty_print.c +29 -24
  128. package/extension/libherb/pretty_print.h +10 -5
  129. package/extension/libherb/prism_context.h +45 -0
  130. package/extension/libherb/prism_helpers.c +30 -27
  131. package/extension/libherb/prism_helpers.h +10 -7
  132. package/extension/libherb/prism_serialized.h +12 -0
  133. package/extension/libherb/ruby_parser.c +2 -0
  134. package/extension/libherb/token.c +151 -66
  135. package/extension/libherb/token.h +16 -4
  136. package/extension/libherb/token_matchers.c +0 -1
  137. package/extension/libherb/token_struct.h +10 -3
  138. package/extension/libherb/utf8.c +7 -6
  139. package/extension/libherb/utf8.h +2 -1
  140. package/extension/libherb/util/hb_allocator.c +341 -0
  141. package/extension/libherb/util/hb_allocator.h +78 -0
  142. package/extension/libherb/util/hb_arena.c +81 -56
  143. package/extension/libherb/util/hb_arena.h +6 -1
  144. package/extension/libherb/util/hb_arena_debug.c +32 -17
  145. package/extension/libherb/util/hb_arena_debug.h +12 -1
  146. package/extension/libherb/util/hb_array.c +30 -15
  147. package/extension/libherb/util/hb_array.h +7 -3
  148. package/extension/libherb/util/hb_buffer.c +17 -21
  149. package/extension/libherb/util/hb_buffer.h +6 -4
  150. package/extension/libherb/util/hb_foreach.h +79 -0
  151. package/extension/libherb/util/hb_narray.c +22 -7
  152. package/extension/libherb/util/hb_narray.h +8 -4
  153. package/extension/libherb/util/hb_string.c +49 -35
  154. package/extension/libherb/util/hb_string.h +56 -9
  155. package/extension/libherb/util.c +21 -11
  156. package/extension/libherb/util.h +6 -3
  157. package/extension/libherb/version.h +1 -1
  158. package/extension/libherb/visitor.c +68 -1
  159. package/extension/nodes.cpp +593 -6
  160. package/extension/nodes.h +10 -1
  161. package/package.json +12 -8
  162. package/src/node-backend.ts +11 -1
  163. package/dist/types/index-cjs.d.cts +0 -1
  164. package/extension/libherb/analyze.c +0 -1608
  165. package/extension/libherb/element_source.c +0 -12
  166. package/extension/libherb/include/util/hb_system.h +0 -9
  167. package/extension/libherb/util/hb_system.c +0 -30
  168. package/extension/libherb/util/hb_system.h +0 -9
  169. package/src/index-cjs.cts +0 -22
  170. /package/dist/types/{index-esm.d.mts → index.d.ts} +0 -0
  171. /package/src/{index-esm.mts → index.ts} +0 -0
package/binding.gyp CHANGED
@@ -10,15 +10,30 @@
10
10
  "./extension/nodes.cpp",
11
11
 
12
12
  # Herb main source files
13
- "./extension/libherb/analyze_helpers.c",
14
- "./extension/libherb/analyze_missing_end.c",
15
- "./extension/libherb/analyze_transform.c",
16
- "./extension/libherb/analyze.c",
17
- "./extension/libherb/analyzed_ruby.c",
13
+ "./extension/libherb/analyze/analyze.c",
14
+ "./extension/libherb/analyze/analyzed_ruby.c",
15
+ "./extension/libherb/analyze/builders.c",
16
+ "./extension/libherb/analyze/conditional_elements.c",
17
+ "./extension/libherb/analyze/conditional_open_tags.c",
18
+ "./extension/libherb/analyze/control_type.c",
19
+ "./extension/libherb/analyze/helpers.c",
20
+ "./extension/libherb/analyze/invalid_structures.c",
21
+ "./extension/libherb/analyze/missing_end.c",
22
+ "./extension/libherb/analyze/parse_errors.c",
23
+ "./extension/libherb/analyze/prism_annotate.c",
24
+ "./extension/libherb/analyze/render_nodes.c",
25
+ "./extension/libherb/analyze/transform.c",
26
+ "./extension/libherb/analyze/action_view/attribute_extraction_helpers.c",
27
+ "./extension/libherb/analyze/action_view/content_tag.c",
28
+ "./extension/libherb/analyze/action_view/link_to.c",
29
+ "./extension/libherb/analyze/action_view/registry.c",
30
+ "./extension/libherb/analyze/action_view/tag_helper_node_builders.c",
31
+ "./extension/libherb/analyze/action_view/tag_helpers.c",
32
+ "./extension/libherb/analyze/action_view/tag.c",
33
+ "./extension/libherb/analyze/action_view/turbo_frame_tag.c",
18
34
  "./extension/libherb/ast_node.c",
19
35
  "./extension/libherb/ast_nodes.c",
20
36
  "./extension/libherb/ast_pretty_print.c",
21
- "./extension/libherb/element_source.c",
22
37
  "./extension/libherb/errors.c",
23
38
  "./extension/libherb/extract.c",
24
39
  "./extension/libherb/herb.c",
@@ -38,12 +53,12 @@
38
53
  "./extension/libherb/token.c",
39
54
  "./extension/libherb/utf8.c",
40
55
  "./extension/libherb/util.c",
56
+ "./extension/libherb/util/hb_allocator.c",
41
57
  "./extension/libherb/util/hb_arena.c",
42
58
  "./extension/libherb/util/hb_array.c",
43
59
  "./extension/libherb/util/hb_narray.c",
44
60
  "./extension/libherb/util/hb_buffer.c",
45
61
  "./extension/libherb/util/hb_string.c",
46
- "./extension/libherb/util/hb_system.c",
47
62
  "./extension/libherb/visitor.c",
48
63
 
49
64
  # Prism main source files
@@ -84,7 +99,11 @@
84
99
  ],
85
100
  "defines": [
86
101
  "PRISM_EXPORT_SYMBOLS=static",
87
- "PRISM_STATIC=1"
102
+ "PRISM_STATIC=1",
103
+ "HERB_EXCLUDE_PRETTYPRINT",
104
+ "PRISM_EXCLUDE_PRETTYPRINT",
105
+ "PRISM_EXCLUDE_JSON",
106
+ "PRISM_EXCLUDE_PACK"
88
107
  ],
89
108
  "cflags": [
90
109
  "-Wall",
@@ -1,20 +1,49 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const path = require("path");
5
- const binary = require("@mapbox/node-pre-gyp");
6
- const { Visitor } = require("@herb-tools/core");
7
- const { HerbBackendNode } = require("./node-backend.js");
8
- const packagePath = path.resolve(__dirname, "../package.json");
3
+ var core = require('@herb-tools/core');
4
+ var path = require('path');
5
+ var binary = require('@mapbox/node-pre-gyp');
6
+ var module$1 = require('module');
7
+ var url = require('url');
8
+ var node_fs = require('node:fs');
9
+
10
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
11
+ var name = "@herb-tools/node";
12
+ var version = "0.9.1";
13
+ var packageJSON = {
14
+ name: name,
15
+ version: version};
16
+
17
+ class HerbBackendNode extends core.HerbBackend {
18
+ lexFile(path) {
19
+ return this.lex(node_fs.readFileSync(path, "utf-8"));
20
+ }
21
+ parseFile(path) {
22
+ return this.parse(node_fs.readFileSync(path, "utf-8"));
23
+ }
24
+ backendVersion() {
25
+ return `${packageJSON.name}@${packageJSON.version}`;
26
+ }
27
+ }
28
+
29
+ const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('herb-node.cjs', document.baseURI).href)));
30
+ const __dirname$1 = path.dirname(__filename$1);
31
+ const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('herb-node.cjs', document.baseURI).href)));
32
+ const packagePath = path.resolve(__dirname$1, "../package.json");
9
33
  const libherbPath = binary.find(packagePath);
10
- const libHerbBinary = require(libherbPath);
34
+ const libHerbBinary = require$1(libherbPath);
11
35
  /**
12
36
  * An instance of the `Herb` class using a Node.js backend.
13
37
  * This loads `libherb` in a Node.js C++ native extension.
14
38
  */
15
- const Herb = new HerbBackendNode(new Promise((resolve, _reject) => resolve(libHerbBinary)));
16
- module.exports = {
17
- Herb: Herb,
18
- Visitor: Visitor,
19
- };
39
+ const Herb = new HerbBackendNode(() => new Promise((resolve, _reject) => resolve(libHerbBinary)));
40
+
41
+ exports.Herb = Herb;
42
+ exports.HerbBackendNode = HerbBackendNode;
43
+ Object.keys(core).forEach(function (k) {
44
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
45
+ enumerable: true,
46
+ get: function () { return core[k]; }
47
+ });
48
+ });
20
49
  //# sourceMappingURL=herb-node.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"herb-node.cjs","sources":["../src/index-cjs.cts"],"sourcesContent":["const path = require(\"path\")\nconst binary = require(\"@mapbox/node-pre-gyp\")\n\nconst { Visitor } = require(\"@herb-tools/core\")\nconst { HerbBackendNode } = require(\"./node-backend.js\")\n\nconst packagePath = path.resolve(__dirname, \"../package.json\")\nconst libherbPath = binary.find(packagePath)\nconst libHerbBinary = require(libherbPath)\n\n/**\n * An instance of the `Herb` class using a Node.js backend.\n * This loads `libherb` in a Node.js C++ native extension.\n */\nconst Herb = new HerbBackendNode(\n new Promise((resolve, _reject) => resolve(libHerbBinary)),\n)\n\nmodule.exports = {\n Herb: Herb,\n Visitor: Visitor,\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;AAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;AAE9C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;AAExD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;AAE1C;;;AAGG;AACH,MAAM,IAAI,GAAG,IAAI,eAAe,CAC9B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAC1D;AAED,MAAM,CAAC,OAAO,GAAG;AACf,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,OAAO;CACjB;;"}
1
+ {"version":3,"file":"herb-node.cjs","sources":["../src/node-backend.ts","../src/index.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\"\n\nimport packageJSON from \"../package.json\" with { type: \"json\" }\n\nimport { HerbBackend, LexResult, ParseResult } from \"@herb-tools/core\"\n\nexport class HerbBackendNode extends HerbBackend {\n lexFile(path: string): LexResult {\n return this.lex(readFileSync(path, \"utf-8\"))\n }\n\n parseFile(path: string): ParseResult {\n return this.parse(readFileSync(path, \"utf-8\"))\n }\n\n backendVersion(): string {\n return `${packageJSON.name}@${packageJSON.version}`\n }\n}\n","export * from \"@herb-tools/core\"\n\nimport path from \"path\"\nimport binary from \"@mapbox/node-pre-gyp\"\n\nimport { createRequire } from \"module\"\nimport { fileURLToPath } from \"url\"\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\nconst require = createRequire(import.meta.url)\n\nconst packagePath = path.resolve(__dirname, \"../package.json\")\nconst libherbPath = binary.find(packagePath)\n\nconst libHerbBinary = require(libherbPath)\n\nimport { HerbBackendNode } from \"./node-backend.js\"\n\n/**\n * An instance of the `Herb` class using a Node.js backend.\n * This loads `libherb` in a Node.js C++ native extension.\n */\nconst Herb = new HerbBackendNode(\n () => new Promise((resolve, _reject) => resolve(libHerbBinary)),\n)\n\nexport { Herb, HerbBackendNode }\n"],"names":["HerbBackend","readFileSync","__filename","fileURLToPath","__dirname","require","createRequire"],"mappings":";;;;;;;;;;;;;;;;AAMM,MAAO,eAAgB,SAAQA,gBAAW,CAAA;AAC9C,IAAA,OAAO,CAAC,IAAY,EAAA;QAClB,OAAO,IAAI,CAAC,GAAG,CAACC,oBAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAACA,oBAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD;IAEA,cAAc,GAAA;QACZ,OAAO,CAAA,EAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAA,CAAE;IACrD;AACD;;ACVD,MAAMC,YAAU,GAAGC,iBAAa,CAAC,+PAAe,CAAC;AACjD,MAAMC,WAAS,GAAG,IAAI,CAAC,OAAO,CAACF,YAAU,CAAC;AAC1C,MAAMG,SAAO,GAAGC,sBAAa,CAAC,+PAAe,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAACF,WAAS,EAAE,iBAAiB,CAAC;AAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5C,MAAM,aAAa,GAAGC,SAAO,CAAC,WAAW,CAAC;AAI1C;;;AAGG;AACH,MAAM,IAAI,GAAG,IAAI,eAAe,CAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;;;;;;;;;;;"}
@@ -4,14 +4,21 @@ import path from 'path';
4
4
  import binary from '@mapbox/node-pre-gyp';
5
5
  import { createRequire } from 'module';
6
6
  import { fileURLToPath } from 'url';
7
+ import { readFileSync } from 'node:fs';
7
8
 
8
9
  var name = "@herb-tools/node";
9
- var version = "0.8.10";
10
+ var version = "0.9.1";
10
11
  var packageJSON = {
11
12
  name: name,
12
13
  version: version};
13
14
 
14
15
  class HerbBackendNode extends HerbBackend {
16
+ lexFile(path) {
17
+ return this.lex(readFileSync(path, "utf-8"));
18
+ }
19
+ parseFile(path) {
20
+ return this.parse(readFileSync(path, "utf-8"));
21
+ }
15
22
  backendVersion() {
16
23
  return `${packageJSON.name}@${packageJSON.version}`;
17
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"herb-node.esm.js","sources":["../src/node-backend.ts","../src/index-esm.mts"],"sourcesContent":["import packageJSON from \"../package.json\" with { type: \"json\" }\n\nimport { HerbBackend } from \"@herb-tools/core\"\n\nexport class HerbBackendNode extends HerbBackend {\n backendVersion(): string {\n return `${packageJSON.name}@${packageJSON.version}`\n }\n}\n","export * from \"@herb-tools/core\"\n\nimport path from \"path\"\nimport binary from \"@mapbox/node-pre-gyp\"\n\nimport { createRequire } from \"module\"\nimport { fileURLToPath } from \"url\"\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\nconst require = createRequire(import.meta.url)\n\nconst packagePath = path.resolve(__dirname, \"../package.json\")\nconst libherbPath = binary.find(packagePath)\n\nconst libHerbBinary = require(libherbPath)\n\nimport { HerbBackendNode } from \"./node-backend.js\"\n\n/**\n * An instance of the `Herb` class using a Node.js backend.\n * This loads `libherb` in a Node.js C++ native extension.\n */\nconst Herb = new HerbBackendNode(\n () => new Promise((resolve, _reject) => resolve(libHerbBinary)),\n)\n\nexport { Herb, HerbBackendNode }\n"],"names":["__filename","__dirname","require"],"mappings":";;;;;;;;;;;;;AAIM,MAAO,eAAgB,SAAQ,WAAW,CAAA;IAC9C,cAAc,GAAA;QACZ,OAAO,CAAA,EAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAA,CAAE;IACrD;AACD;;ACAD,MAAMA,YAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,MAAMC,WAAS,GAAG,IAAI,CAAC,OAAO,CAACD,YAAU,CAAC;AAC1C,MAAME,SAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAACD,WAAS,EAAE,iBAAiB,CAAC;AAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5C,MAAM,aAAa,GAAGC,SAAO,CAAC,WAAW,CAAC;AAI1C;;;AAGG;AACH,MAAM,IAAI,GAAG,IAAI,eAAe,CAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"herb-node.esm.js","sources":["../src/node-backend.ts","../src/index.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\"\n\nimport packageJSON from \"../package.json\" with { type: \"json\" }\n\nimport { HerbBackend, LexResult, ParseResult } from \"@herb-tools/core\"\n\nexport class HerbBackendNode extends HerbBackend {\n lexFile(path: string): LexResult {\n return this.lex(readFileSync(path, \"utf-8\"))\n }\n\n parseFile(path: string): ParseResult {\n return this.parse(readFileSync(path, \"utf-8\"))\n }\n\n backendVersion(): string {\n return `${packageJSON.name}@${packageJSON.version}`\n }\n}\n","export * from \"@herb-tools/core\"\n\nimport path from \"path\"\nimport binary from \"@mapbox/node-pre-gyp\"\n\nimport { createRequire } from \"module\"\nimport { fileURLToPath } from \"url\"\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\nconst require = createRequire(import.meta.url)\n\nconst packagePath = path.resolve(__dirname, \"../package.json\")\nconst libherbPath = binary.find(packagePath)\n\nconst libHerbBinary = require(libherbPath)\n\nimport { HerbBackendNode } from \"./node-backend.js\"\n\n/**\n * An instance of the `Herb` class using a Node.js backend.\n * This loads `libherb` in a Node.js C++ native extension.\n */\nconst Herb = new HerbBackendNode(\n () => new Promise((resolve, _reject) => resolve(libHerbBinary)),\n)\n\nexport { Herb, HerbBackendNode }\n"],"names":["__filename","__dirname","require"],"mappings":";;;;;;;;;;;;;;AAMM,MAAO,eAAgB,SAAQ,WAAW,CAAA;AAC9C,IAAA,OAAO,CAAC,IAAY,EAAA;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD;IAEA,cAAc,GAAA;QACZ,OAAO,CAAA,EAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAA,CAAE;IACrD;AACD;;ACVD,MAAMA,YAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,MAAMC,WAAS,GAAG,IAAI,CAAC,OAAO,CAACD,YAAU,CAAC;AAC1C,MAAME,SAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAACD,WAAS,EAAE,iBAAiB,CAAC;AAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5C,MAAM,aAAa,GAAGC,SAAO,CAAC,WAAW,CAAC;AAI1C;;;AAGG;AACH,MAAM,IAAI,GAAG,IAAI,eAAe,CAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;;;;"}
@@ -1,4 +1,6 @@
1
- import { HerbBackend } from "@herb-tools/core";
1
+ import { HerbBackend, LexResult, ParseResult } from "@herb-tools/core";
2
2
  export declare class HerbBackendNode extends HerbBackend {
3
+ lexFile(path: string): LexResult;
4
+ parseFile(path: string): ParseResult;
3
5
  backendVersion(): string;
4
6
  }