@herb-tools/node 0.8.10 → 0.9.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.
Files changed (169) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/binding.gyp +26 -8
  3. package/dist/herb-node.cjs +41 -12
  4. package/dist/herb-node.cjs.map +1 -1
  5. package/dist/herb-node.esm.js +8 -1
  6. package/dist/herb-node.esm.js.map +1 -1
  7. package/dist/types/node-backend.d.ts +3 -1
  8. package/extension/error_helpers.cpp +395 -73
  9. package/extension/error_helpers.h +13 -3
  10. package/extension/extension_helpers.cpp +38 -35
  11. package/extension/extension_helpers.h +2 -2
  12. package/extension/herb.cpp +183 -64
  13. package/extension/libherb/analyze/action_view/attribute_extraction_helpers.c +290 -0
  14. package/extension/libherb/analyze/action_view/attribute_extraction_helpers.h +36 -0
  15. package/extension/libherb/analyze/action_view/content_tag.c +70 -0
  16. package/extension/libherb/analyze/action_view/link_to.c +143 -0
  17. package/extension/libherb/analyze/action_view/registry.c +60 -0
  18. package/extension/libherb/analyze/action_view/tag.c +64 -0
  19. package/extension/libherb/analyze/action_view/tag_helper_handler.h +41 -0
  20. package/extension/libherb/analyze/action_view/tag_helper_node_builders.c +305 -0
  21. package/extension/libherb/analyze/action_view/tag_helper_node_builders.h +70 -0
  22. package/extension/libherb/analyze/action_view/tag_helpers.c +748 -0
  23. package/extension/libherb/analyze/action_view/tag_helpers.h +38 -0
  24. package/extension/libherb/analyze/action_view/turbo_frame_tag.c +88 -0
  25. package/extension/libherb/analyze/analyze.c +882 -0
  26. package/extension/libherb/{include → analyze}/analyze.h +14 -4
  27. package/extension/libherb/{analyzed_ruby.c → analyze/analyzed_ruby.c} +13 -11
  28. package/extension/libherb/{analyzed_ruby.h → analyze/analyzed_ruby.h} +3 -3
  29. package/extension/libherb/analyze/builders.c +343 -0
  30. package/extension/libherb/analyze/builders.h +27 -0
  31. package/extension/libherb/analyze/conditional_elements.c +594 -0
  32. package/extension/libherb/analyze/conditional_elements.h +9 -0
  33. package/extension/libherb/analyze/conditional_open_tags.c +640 -0
  34. package/extension/libherb/analyze/conditional_open_tags.h +9 -0
  35. package/extension/libherb/analyze/control_type.c +250 -0
  36. package/extension/libherb/analyze/control_type.h +14 -0
  37. package/extension/libherb/{analyze_helpers.c → analyze/helpers.c} +48 -23
  38. package/extension/libherb/{analyze_helpers.h → analyze/helpers.h} +4 -2
  39. package/extension/libherb/analyze/invalid_structures.c +193 -0
  40. package/extension/libherb/analyze/invalid_structures.h +11 -0
  41. package/extension/libherb/{analyze_missing_end.c → analyze/missing_end.c} +33 -22
  42. package/extension/libherb/analyze/parse_errors.c +84 -0
  43. package/extension/libherb/analyze/prism_annotate.c +397 -0
  44. package/extension/libherb/analyze/prism_annotate.h +16 -0
  45. package/extension/libherb/{analyze_transform.c → analyze/transform.c} +17 -3
  46. package/extension/libherb/ast_node.c +17 -7
  47. package/extension/libherb/ast_node.h +11 -5
  48. package/extension/libherb/ast_nodes.c +663 -388
  49. package/extension/libherb/ast_nodes.h +118 -39
  50. package/extension/libherb/ast_pretty_print.c +191 -7
  51. package/extension/libherb/ast_pretty_print.h +6 -1
  52. package/extension/libherb/element_source.h +3 -8
  53. package/extension/libherb/errors.c +1077 -521
  54. package/extension/libherb/errors.h +149 -56
  55. package/extension/libherb/extract.c +145 -49
  56. package/extension/libherb/extract.h +21 -5
  57. package/extension/libherb/herb.c +52 -34
  58. package/extension/libherb/herb.h +18 -6
  59. package/extension/libherb/herb_prism_node.h +13 -0
  60. package/extension/libherb/html_util.c +241 -12
  61. package/extension/libherb/html_util.h +7 -2
  62. package/extension/libherb/include/analyze/action_view/attribute_extraction_helpers.h +36 -0
  63. package/extension/libherb/include/analyze/action_view/tag_helper_handler.h +41 -0
  64. package/extension/libherb/include/analyze/action_view/tag_helper_node_builders.h +70 -0
  65. package/extension/libherb/include/analyze/action_view/tag_helpers.h +38 -0
  66. package/extension/libherb/{analyze.h → include/analyze/analyze.h} +14 -4
  67. package/extension/libherb/include/{analyzed_ruby.h → analyze/analyzed_ruby.h} +3 -3
  68. package/extension/libherb/include/analyze/builders.h +27 -0
  69. package/extension/libherb/include/analyze/conditional_elements.h +9 -0
  70. package/extension/libherb/include/analyze/conditional_open_tags.h +9 -0
  71. package/extension/libherb/include/analyze/control_type.h +14 -0
  72. package/extension/libherb/include/{analyze_helpers.h → analyze/helpers.h} +4 -2
  73. package/extension/libherb/include/analyze/invalid_structures.h +11 -0
  74. package/extension/libherb/include/analyze/prism_annotate.h +16 -0
  75. package/extension/libherb/include/ast_node.h +11 -5
  76. package/extension/libherb/include/ast_nodes.h +118 -39
  77. package/extension/libherb/include/ast_pretty_print.h +6 -1
  78. package/extension/libherb/include/element_source.h +3 -8
  79. package/extension/libherb/include/errors.h +149 -56
  80. package/extension/libherb/include/extract.h +21 -5
  81. package/extension/libherb/include/herb.h +18 -6
  82. package/extension/libherb/include/herb_prism_node.h +13 -0
  83. package/extension/libherb/include/html_util.h +7 -2
  84. package/extension/libherb/include/io.h +3 -1
  85. package/extension/libherb/include/lex_helpers.h +29 -0
  86. package/extension/libherb/include/lexer.h +1 -1
  87. package/extension/libherb/include/lexer_peek_helpers.h +87 -13
  88. package/extension/libherb/include/lexer_struct.h +2 -0
  89. package/extension/libherb/include/location.h +2 -1
  90. package/extension/libherb/include/parser.h +27 -2
  91. package/extension/libherb/include/parser_helpers.h +19 -3
  92. package/extension/libherb/include/pretty_print.h +10 -5
  93. package/extension/libherb/include/prism_context.h +45 -0
  94. package/extension/libherb/include/prism_helpers.h +10 -7
  95. package/extension/libherb/include/prism_serialized.h +12 -0
  96. package/extension/libherb/include/token.h +16 -4
  97. package/extension/libherb/include/token_struct.h +10 -3
  98. package/extension/libherb/include/utf8.h +2 -1
  99. package/extension/libherb/include/util/hb_allocator.h +78 -0
  100. package/extension/libherb/include/util/hb_arena.h +6 -1
  101. package/extension/libherb/include/util/hb_arena_debug.h +12 -1
  102. package/extension/libherb/include/util/hb_array.h +7 -3
  103. package/extension/libherb/include/util/hb_buffer.h +6 -4
  104. package/extension/libherb/include/util/hb_foreach.h +79 -0
  105. package/extension/libherb/include/util/hb_narray.h +8 -4
  106. package/extension/libherb/include/util/hb_string.h +56 -9
  107. package/extension/libherb/include/util.h +6 -3
  108. package/extension/libherb/include/version.h +1 -1
  109. package/extension/libherb/io.c +3 -2
  110. package/extension/libherb/io.h +3 -1
  111. package/extension/libherb/lex_helpers.h +29 -0
  112. package/extension/libherb/lexer.c +42 -30
  113. package/extension/libherb/lexer.h +1 -1
  114. package/extension/libherb/lexer_peek_helpers.c +12 -74
  115. package/extension/libherb/lexer_peek_helpers.h +87 -13
  116. package/extension/libherb/lexer_struct.h +2 -0
  117. package/extension/libherb/location.c +2 -2
  118. package/extension/libherb/location.h +2 -1
  119. package/extension/libherb/main.c +53 -28
  120. package/extension/libherb/parser.c +783 -247
  121. package/extension/libherb/parser.h +27 -2
  122. package/extension/libherb/parser_helpers.c +110 -23
  123. package/extension/libherb/parser_helpers.h +19 -3
  124. package/extension/libherb/parser_match_tags.c +110 -49
  125. package/extension/libherb/pretty_print.c +29 -24
  126. package/extension/libherb/pretty_print.h +10 -5
  127. package/extension/libherb/prism_context.h +45 -0
  128. package/extension/libherb/prism_helpers.c +30 -27
  129. package/extension/libherb/prism_helpers.h +10 -7
  130. package/extension/libherb/prism_serialized.h +12 -0
  131. package/extension/libherb/ruby_parser.c +2 -0
  132. package/extension/libherb/token.c +151 -66
  133. package/extension/libherb/token.h +16 -4
  134. package/extension/libherb/token_matchers.c +0 -1
  135. package/extension/libherb/token_struct.h +10 -3
  136. package/extension/libherb/utf8.c +7 -6
  137. package/extension/libherb/utf8.h +2 -1
  138. package/extension/libherb/util/hb_allocator.c +341 -0
  139. package/extension/libherb/util/hb_allocator.h +78 -0
  140. package/extension/libherb/util/hb_arena.c +81 -56
  141. package/extension/libherb/util/hb_arena.h +6 -1
  142. package/extension/libherb/util/hb_arena_debug.c +32 -17
  143. package/extension/libherb/util/hb_arena_debug.h +12 -1
  144. package/extension/libherb/util/hb_array.c +30 -15
  145. package/extension/libherb/util/hb_array.h +7 -3
  146. package/extension/libherb/util/hb_buffer.c +17 -21
  147. package/extension/libherb/util/hb_buffer.h +6 -4
  148. package/extension/libherb/util/hb_foreach.h +79 -0
  149. package/extension/libherb/util/hb_narray.c +22 -7
  150. package/extension/libherb/util/hb_narray.h +8 -4
  151. package/extension/libherb/util/hb_string.c +49 -35
  152. package/extension/libherb/util/hb_string.h +56 -9
  153. package/extension/libherb/util.c +21 -11
  154. package/extension/libherb/util.h +6 -3
  155. package/extension/libherb/version.h +1 -1
  156. package/extension/libherb/visitor.c +48 -1
  157. package/extension/nodes.cpp +451 -6
  158. package/extension/nodes.h +8 -1
  159. package/package.json +12 -8
  160. package/src/node-backend.ts +11 -1
  161. package/dist/types/index-cjs.d.cts +0 -1
  162. package/extension/libherb/analyze.c +0 -1608
  163. package/extension/libherb/element_source.c +0 -12
  164. package/extension/libherb/include/util/hb_system.h +0 -9
  165. package/extension/libherb/util/hb_system.c +0 -30
  166. package/extension/libherb/util/hb_system.h +0 -9
  167. package/src/index-cjs.cts +0 -22
  168. /package/dist/types/{index-esm.d.mts → index.d.ts} +0 -0
  169. /package/src/{index-esm.mts → index.ts} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ ## 0.3.1 (2025-06-23)
2
+
3
+ This was a version bump only for @herb-tools/node to align it with other projects, there were no code changes.
4
+
5
+ ## 0.3.0 (2025-06-21)
6
+
7
+ This was a version bump only for @herb-tools/node to align it with other projects, there were no code changes.
8
+
9
+ ## 0.2.0 (2025-06-11)
10
+
11
+ This was a version bump only for @herb-tools/node to align it with other projects, there were no code changes.
12
+
13
+ ## 0.1.1 (2025-04-20)
14
+
15
+ This was a version bump only for @herb-tools/node to align it with other projects, there were no code changes.
16
+
17
+ ## 0.1.0 (2025-04-15)
18
+
19
+ This was a version bump only for @herb-tools/node to align it with other projects, there were no code changes.
package/binding.gyp CHANGED
@@ -10,15 +10,29 @@
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/transform.c",
25
+ "./extension/libherb/analyze/action_view/attribute_extraction_helpers.c",
26
+ "./extension/libherb/analyze/action_view/content_tag.c",
27
+ "./extension/libherb/analyze/action_view/link_to.c",
28
+ "./extension/libherb/analyze/action_view/registry.c",
29
+ "./extension/libherb/analyze/action_view/tag_helper_node_builders.c",
30
+ "./extension/libherb/analyze/action_view/tag_helpers.c",
31
+ "./extension/libherb/analyze/action_view/tag.c",
32
+ "./extension/libherb/analyze/action_view/turbo_frame_tag.c",
18
33
  "./extension/libherb/ast_node.c",
19
34
  "./extension/libherb/ast_nodes.c",
20
35
  "./extension/libherb/ast_pretty_print.c",
21
- "./extension/libherb/element_source.c",
22
36
  "./extension/libherb/errors.c",
23
37
  "./extension/libherb/extract.c",
24
38
  "./extension/libherb/herb.c",
@@ -38,12 +52,12 @@
38
52
  "./extension/libherb/token.c",
39
53
  "./extension/libherb/utf8.c",
40
54
  "./extension/libherb/util.c",
55
+ "./extension/libherb/util/hb_allocator.c",
41
56
  "./extension/libherb/util/hb_arena.c",
42
57
  "./extension/libherb/util/hb_array.c",
43
58
  "./extension/libherb/util/hb_narray.c",
44
59
  "./extension/libherb/util/hb_buffer.c",
45
60
  "./extension/libherb/util/hb_string.c",
46
- "./extension/libherb/util/hb_system.c",
47
61
  "./extension/libherb/visitor.c",
48
62
 
49
63
  # Prism main source files
@@ -84,7 +98,11 @@
84
98
  ],
85
99
  "defines": [
86
100
  "PRISM_EXPORT_SYMBOLS=static",
87
- "PRISM_STATIC=1"
101
+ "PRISM_STATIC=1",
102
+ "HERB_EXCLUDE_PRETTYPRINT",
103
+ "PRISM_EXCLUDE_PRETTYPRINT",
104
+ "PRISM_EXCLUDE_JSON",
105
+ "PRISM_EXCLUDE_PACK"
88
106
  ],
89
107
  "cflags": [
90
108
  "-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.0";
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.0";
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
  }