@herb-tools/core 0.1.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 (49) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +9 -0
  3. package/dist/herb-core.browser.js +2704 -0
  4. package/dist/herb-core.browser.js.map +1 -0
  5. package/dist/herb-core.cjs +2759 -0
  6. package/dist/herb-core.cjs.map +1 -0
  7. package/dist/herb-core.esm.js +2704 -0
  8. package/dist/herb-core.esm.js.map +1 -0
  9. package/dist/herb-core.umd.js +2765 -0
  10. package/dist/herb-core.umd.js.map +1 -0
  11. package/dist/types/ast.d.ts +4 -0
  12. package/dist/types/backend.d.ts +24 -0
  13. package/dist/types/error.d.ts +16 -0
  14. package/dist/types/errors.d.ts +222 -0
  15. package/dist/types/herb-backend.d.ts +87 -0
  16. package/dist/types/index.d.ts +15 -0
  17. package/dist/types/lex-result.d.ts +50 -0
  18. package/dist/types/location.d.ts +18 -0
  19. package/dist/types/node.d.ts +27 -0
  20. package/dist/types/nodes.d.ts +682 -0
  21. package/dist/types/parse-result.d.ts +62 -0
  22. package/dist/types/position.d.ts +15 -0
  23. package/dist/types/range.d.ts +12 -0
  24. package/dist/types/result.d.ts +10 -0
  25. package/dist/types/token-list.d.ts +16 -0
  26. package/dist/types/token.d.ts +22 -0
  27. package/dist/types/util.d.ts +2 -0
  28. package/dist/types/visitor.d.ts +11 -0
  29. package/dist/types/warning.d.ts +11 -0
  30. package/package.json +49 -0
  31. package/src/ast.ts +7 -0
  32. package/src/backend.ts +85 -0
  33. package/src/error.ts +38 -0
  34. package/src/errors.ts +820 -0
  35. package/src/herb-backend.ts +152 -0
  36. package/src/index.ts +15 -0
  37. package/src/lex-result.ts +78 -0
  38. package/src/location.ts +51 -0
  39. package/src/node.ts +106 -0
  40. package/src/nodes.ts +2294 -0
  41. package/src/parse-result.ts +101 -0
  42. package/src/position.ts +38 -0
  43. package/src/range.ts +35 -0
  44. package/src/result.ts +26 -0
  45. package/src/token-list.ts +57 -0
  46. package/src/token.ts +63 -0
  47. package/src/util.ts +19 -0
  48. package/src/visitor.ts +14 -0
  49. package/src/warning.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herb-core.umd.js","sources":["../src/ast.ts","../src/backend.ts","../src/position.ts","../src/location.ts","../src/range.ts","../src/token.ts","../src/error.ts","../src/errors.ts","../src/util.ts","../src/result.ts","../src/token-list.ts","../src/lex-result.ts","../src/node.ts","../src/nodes.ts","../src/warning.ts","../src/parse-result.ts","../src/herb-backend.ts","../src/visitor.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class ASTNode {
2
+ readonly errors: any[];
3
+ constructor();
4
+ }
@@ -0,0 +1,24 @@
1
+ import type { SerializedParseResult } from "./parse-result.js";
2
+ import type { SerializedLexResult } from "./lex-result.js";
3
+ interface LibHerbBackendFunctions {
4
+ lex: (source: string) => SerializedLexResult;
5
+ lexFile: (path: string) => SerializedLexResult;
6
+ parse: (source: string) => SerializedParseResult;
7
+ parseFile: (path: string) => SerializedParseResult;
8
+ extractRuby: (source: string) => string;
9
+ extractHTML: (source: string) => string;
10
+ version: () => string;
11
+ }
12
+ export type BackendPromise = () => Promise<LibHerbBackend>;
13
+ declare const expectedFunctions: readonly ["parse", "lex", "parseFile", "lexFile", "extractRuby", "extractHTML", "version"];
14
+ type LibHerbBackendFunctionName = (typeof expectedFunctions)[number];
15
+ export declare function _TYPECHECK(): {
16
+ checkFunctionsExist: true;
17
+ checkInterfaceComplete: true;
18
+ };
19
+ export type LibHerbBackend = {
20
+ [K in LibHerbBackendFunctionName]: LibHerbBackendFunctions[K];
21
+ };
22
+ export declare function isLibHerbBackend(object: any, libherbpath?: string): object is LibHerbBackend;
23
+ export declare function ensureLibHerbBackend(object: any, libherbpath?: string): LibHerbBackend;
24
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Location, SerializedLocation } from "./location.js";
2
+ export interface SerializedHerbError {
3
+ type: string;
4
+ message: string;
5
+ location: SerializedLocation;
6
+ }
7
+ export declare abstract class HerbError {
8
+ readonly type: string;
9
+ readonly message: string;
10
+ readonly location: Location;
11
+ static from(error: SerializedHerbError): HerbError;
12
+ constructor(type: string, message: string, location: Location);
13
+ toJSON(): SerializedHerbError;
14
+ inspect(): string;
15
+ abstract treeInspect(indent?: number): string;
16
+ }
@@ -0,0 +1,222 @@
1
+ import { Location, SerializedLocation } from "./location.js";
2
+ import { Token, SerializedToken } from "./token.js";
3
+ import { HerbError, SerializedHerbError } from "./error.js";
4
+ type HerbDiagnostic = {
5
+ line: number;
6
+ column: number;
7
+ endLine: number;
8
+ endColumn: number;
9
+ message: string;
10
+ severity: "error" | "warning" | "info";
11
+ };
12
+ export type HerbErrorType = "UNEXPECTED_ERROR" | "UNEXPECTED_TOKEN_ERROR" | "MISSING_OPENING_TAG_ERROR" | "MISSING_CLOSING_TAG_ERROR" | "TAG_NAMES_MISMATCH_ERROR" | "QUOTES_MISMATCH_ERROR" | "VOID_ELEMENT_CLOSING_TAG_ERROR" | "UNCLOSED_ELEMENT_ERROR" | "RUBY_PARSE_ERROR";
13
+ export type SerializedErrorType = string;
14
+ export declare function fromSerializedError(error: SerializedHerbError): HerbError;
15
+ export interface SerializedUnexpectedError {
16
+ type: "UNEXPECTED_ERROR";
17
+ message: string;
18
+ location: SerializedLocation;
19
+ description: string;
20
+ expected: string;
21
+ found: string;
22
+ }
23
+ export interface UnexpectedErrorProps {
24
+ type: string;
25
+ message: string;
26
+ location: Location;
27
+ description: string;
28
+ expected: string;
29
+ found: string;
30
+ }
31
+ export declare class UnexpectedError extends HerbError {
32
+ readonly description: string;
33
+ readonly expected: string;
34
+ readonly found: string;
35
+ static from(data: SerializedUnexpectedError): UnexpectedError;
36
+ constructor(props: UnexpectedErrorProps);
37
+ toJSON(): SerializedUnexpectedError;
38
+ toDiagnostics(): HerbDiagnostic[];
39
+ treeInspect(): string;
40
+ }
41
+ export interface SerializedUnexpectedTokenError {
42
+ type: "UNEXPECTED_TOKEN_ERROR";
43
+ message: string;
44
+ location: SerializedLocation;
45
+ expected_type: string | null;
46
+ found: SerializedToken | null;
47
+ }
48
+ export interface UnexpectedTokenErrorProps {
49
+ type: string;
50
+ message: string;
51
+ location: Location;
52
+ expected_type: string | null;
53
+ found: Token | null;
54
+ }
55
+ export declare class UnexpectedTokenError extends HerbError {
56
+ readonly expected_type: string | null;
57
+ readonly found: Token | null;
58
+ static from(data: SerializedUnexpectedTokenError): UnexpectedTokenError;
59
+ constructor(props: UnexpectedTokenErrorProps);
60
+ toJSON(): SerializedUnexpectedTokenError;
61
+ toDiagnostics(): HerbDiagnostic[];
62
+ treeInspect(): string;
63
+ }
64
+ export interface SerializedMissingOpeningTagError {
65
+ type: "MISSING_OPENING_TAG_ERROR";
66
+ message: string;
67
+ location: SerializedLocation;
68
+ closing_tag: SerializedToken | null;
69
+ }
70
+ export interface MissingOpeningTagErrorProps {
71
+ type: string;
72
+ message: string;
73
+ location: Location;
74
+ closing_tag: Token | null;
75
+ }
76
+ export declare class MissingOpeningTagError extends HerbError {
77
+ readonly closing_tag: Token | null;
78
+ static from(data: SerializedMissingOpeningTagError): MissingOpeningTagError;
79
+ constructor(props: MissingOpeningTagErrorProps);
80
+ toJSON(): SerializedMissingOpeningTagError;
81
+ toDiagnostics(): HerbDiagnostic[];
82
+ treeInspect(): string;
83
+ }
84
+ export interface SerializedMissingClosingTagError {
85
+ type: "MISSING_CLOSING_TAG_ERROR";
86
+ message: string;
87
+ location: SerializedLocation;
88
+ opening_tag: SerializedToken | null;
89
+ }
90
+ export interface MissingClosingTagErrorProps {
91
+ type: string;
92
+ message: string;
93
+ location: Location;
94
+ opening_tag: Token | null;
95
+ }
96
+ export declare class MissingClosingTagError extends HerbError {
97
+ readonly opening_tag: Token | null;
98
+ static from(data: SerializedMissingClosingTagError): MissingClosingTagError;
99
+ constructor(props: MissingClosingTagErrorProps);
100
+ toJSON(): SerializedMissingClosingTagError;
101
+ toDiagnostics(): HerbDiagnostic[];
102
+ treeInspect(): string;
103
+ }
104
+ export interface SerializedTagNamesMismatchError {
105
+ type: "TAG_NAMES_MISMATCH_ERROR";
106
+ message: string;
107
+ location: SerializedLocation;
108
+ opening_tag: SerializedToken | null;
109
+ closing_tag: SerializedToken | null;
110
+ }
111
+ export interface TagNamesMismatchErrorProps {
112
+ type: string;
113
+ message: string;
114
+ location: Location;
115
+ opening_tag: Token | null;
116
+ closing_tag: Token | null;
117
+ }
118
+ export declare class TagNamesMismatchError extends HerbError {
119
+ readonly opening_tag: Token | null;
120
+ readonly closing_tag: Token | null;
121
+ static from(data: SerializedTagNamesMismatchError): TagNamesMismatchError;
122
+ constructor(props: TagNamesMismatchErrorProps);
123
+ toJSON(): SerializedTagNamesMismatchError;
124
+ toDiagnostics(): HerbDiagnostic[];
125
+ treeInspect(): string;
126
+ }
127
+ export interface SerializedQuotesMismatchError {
128
+ type: "QUOTES_MISMATCH_ERROR";
129
+ message: string;
130
+ location: SerializedLocation;
131
+ opening_quote: SerializedToken | null;
132
+ closing_quote: SerializedToken | null;
133
+ }
134
+ export interface QuotesMismatchErrorProps {
135
+ type: string;
136
+ message: string;
137
+ location: Location;
138
+ opening_quote: Token | null;
139
+ closing_quote: Token | null;
140
+ }
141
+ export declare class QuotesMismatchError extends HerbError {
142
+ readonly opening_quote: Token | null;
143
+ readonly closing_quote: Token | null;
144
+ static from(data: SerializedQuotesMismatchError): QuotesMismatchError;
145
+ constructor(props: QuotesMismatchErrorProps);
146
+ toJSON(): SerializedQuotesMismatchError;
147
+ toDiagnostics(): HerbDiagnostic[];
148
+ treeInspect(): string;
149
+ }
150
+ export interface SerializedVoidElementClosingTagError {
151
+ type: "VOID_ELEMENT_CLOSING_TAG_ERROR";
152
+ message: string;
153
+ location: SerializedLocation;
154
+ tag_name: SerializedToken | null;
155
+ expected: string;
156
+ found: string;
157
+ }
158
+ export interface VoidElementClosingTagErrorProps {
159
+ type: string;
160
+ message: string;
161
+ location: Location;
162
+ tag_name: Token | null;
163
+ expected: string;
164
+ found: string;
165
+ }
166
+ export declare class VoidElementClosingTagError extends HerbError {
167
+ readonly tag_name: Token | null;
168
+ readonly expected: string;
169
+ readonly found: string;
170
+ static from(data: SerializedVoidElementClosingTagError): VoidElementClosingTagError;
171
+ constructor(props: VoidElementClosingTagErrorProps);
172
+ toJSON(): SerializedVoidElementClosingTagError;
173
+ toDiagnostics(): HerbDiagnostic[];
174
+ treeInspect(): string;
175
+ }
176
+ export interface SerializedUnclosedElementError {
177
+ type: "UNCLOSED_ELEMENT_ERROR";
178
+ message: string;
179
+ location: SerializedLocation;
180
+ opening_tag: SerializedToken | null;
181
+ }
182
+ export interface UnclosedElementErrorProps {
183
+ type: string;
184
+ message: string;
185
+ location: Location;
186
+ opening_tag: Token | null;
187
+ }
188
+ export declare class UnclosedElementError extends HerbError {
189
+ readonly opening_tag: Token | null;
190
+ static from(data: SerializedUnclosedElementError): UnclosedElementError;
191
+ constructor(props: UnclosedElementErrorProps);
192
+ toJSON(): SerializedUnclosedElementError;
193
+ toDiagnostics(): HerbDiagnostic[];
194
+ treeInspect(): string;
195
+ }
196
+ export interface SerializedRubyParseError {
197
+ type: "RUBY_PARSE_ERROR";
198
+ message: string;
199
+ location: SerializedLocation;
200
+ error_message: string;
201
+ diagnostic_id: string;
202
+ level: string;
203
+ }
204
+ export interface RubyParseErrorProps {
205
+ type: string;
206
+ message: string;
207
+ location: Location;
208
+ error_message: string;
209
+ diagnostic_id: string;
210
+ level: string;
211
+ }
212
+ export declare class RubyParseError extends HerbError {
213
+ readonly error_message: string;
214
+ readonly diagnostic_id: string;
215
+ readonly level: string;
216
+ static from(data: SerializedRubyParseError): RubyParseError;
217
+ constructor(props: RubyParseErrorProps);
218
+ toJSON(): SerializedRubyParseError;
219
+ toDiagnostics(): HerbDiagnostic[];
220
+ treeInspect(): string;
221
+ }
222
+ export {};
@@ -0,0 +1,87 @@
1
+ import { LexResult } from "./lex-result.js";
2
+ import { ParseResult } from "./parse-result.js";
3
+ import type { LibHerbBackend, BackendPromise } from "./backend.js";
4
+ /**
5
+ * The main Herb parser interface, providing methods to lex and parse input.
6
+ */
7
+ export declare abstract class HerbBackend {
8
+ /** The backend instance handling lexing and parsing. */
9
+ backend: LibHerbBackend | undefined;
10
+ readonly backendPromise: BackendPromise;
11
+ /**
12
+ * Creates a new Herb instance.
13
+ * @param backendPromise - A promise resolving to a `LibHerbBackend` implementation for lexing and parsing.
14
+ * @throws Error if no valid backend is provided.
15
+ */
16
+ constructor(backendPromise: BackendPromise);
17
+ /**
18
+ * Loads the backend by resolving the backend promise.
19
+ * @returns A promise containing the resolved `HerbBackend` instance after loading it.
20
+ */
21
+ load(): Promise<HerbBackend>;
22
+ /**
23
+ * Lexes the given source string into a `LexResult`.
24
+ * @param source - The source code to lex.
25
+ * @returns A `LexResult` instance.
26
+ * @throws Error if the backend is not loaded.
27
+ */
28
+ lex(source: string): LexResult;
29
+ /**
30
+ * Lexes a file.
31
+ * @param path - The file path to lex.
32
+ * @returns A `LexResult` instance.
33
+ * @throws Error if the backend is not loaded.
34
+ */
35
+ lexFile(path: string): LexResult;
36
+ /**
37
+ * Parses the given source string into a `ParseResult`.
38
+ * @param source - The source code to parse.
39
+ * @returns A `ParseResult` instance.
40
+ * @throws Error if the backend is not loaded.
41
+ */
42
+ parse(source: string): ParseResult;
43
+ /**
44
+ * Parses a file.
45
+ * @param path - The file path to parse.
46
+ * @returns A `ParseResult` instance.
47
+ * @throws Error if the backend is not loaded.
48
+ */
49
+ parseFile(path: string): ParseResult;
50
+ /**
51
+ * Extracts embedded Ruby code from the given source.
52
+ * @param source - The source code to extract Ruby from.
53
+ * @returns The extracted Ruby code as a string.
54
+ * @throws Error if the backend is not loaded.
55
+ */
56
+ extractRuby(source: string): string;
57
+ /**
58
+ * Extracts HTML from the given source.
59
+ * @param source - The source code to extract HTML from.
60
+ * @returns The extracted HTML as a string.
61
+ * @throws Error if the backend is not loaded.
62
+ */
63
+ extractHTML(source: string): string;
64
+ /**
65
+ * Gets the Herb version information, including the core and backend versions.
66
+ * @returns A version string containing backend, core, and libherb versions.
67
+ * @throws Error if the backend is not loaded.
68
+ */
69
+ get version(): string;
70
+ /**
71
+ * Ensures that the backend is loaded.
72
+ * @throws Error if the backend is not loaded.
73
+ */
74
+ ensureBackend(): asserts this is {
75
+ backend: LibHerbBackend;
76
+ };
77
+ /**
78
+ * Checks if the backend is loaded.
79
+ * @returns True if the backend is loaded, false otherwise.
80
+ */
81
+ get isLoaded(): boolean;
82
+ /**
83
+ * Abstract method to get the backend version.
84
+ * @returns A string representing the backend version.
85
+ */
86
+ abstract backendVersion(): string;
87
+ }
@@ -0,0 +1,15 @@
1
+ export * from "./ast.js";
2
+ export * from "./backend.js";
3
+ export * from "./errors.js";
4
+ export * from "./herb-backend.js";
5
+ export * from "./lex-result.js";
6
+ export * from "./location.js";
7
+ export * from "./nodes.js";
8
+ export * from "./parse-result.js";
9
+ export * from "./position.js";
10
+ export * from "./range.js";
11
+ export * from "./result.js";
12
+ export * from "./token-list.js";
13
+ export * from "./token.js";
14
+ export * from "./util.js";
15
+ export * from "./visitor.js";
@@ -0,0 +1,50 @@
1
+ import { Result } from "./result.js";
2
+ import { TokenList, SerializedTokenList } from "./token-list.js";
3
+ export type SerializedLexResult = {
4
+ tokens: SerializedTokenList;
5
+ source: string;
6
+ warnings: any[];
7
+ errors: any[];
8
+ };
9
+ /**
10
+ * Represents the result of a lexical analysis, extending the base `Result` class.
11
+ * It contains the token list, source code, warnings, and errors.
12
+ */
13
+ export declare class LexResult extends Result {
14
+ /** The list of tokens generated from the source code. */
15
+ readonly value: TokenList;
16
+ /**
17
+ * Creates a `LexResult` instance from a serialized result.
18
+ * @param result - The serialized lexical result containing tokens, source, warnings, and errors.
19
+ * @returns A new `LexResult` instance.
20
+ */
21
+ static from(result: SerializedLexResult): LexResult;
22
+ /**
23
+ * Constructs a new `LexResult`.
24
+ * @param value - The list of tokens.
25
+ * @param source - The source code that was lexed.
26
+ * @param warnings - An array of warnings encountered during lexing.
27
+ * @param errors - An array of errors encountered during lexing.
28
+ */
29
+ constructor(value: TokenList, source: string, warnings?: any[], errors?: any[]);
30
+ /**
31
+ * Determines if the lexing was successful.
32
+ * @returns `true` if there are no errors, otherwise `false`.
33
+ */
34
+ success(): boolean;
35
+ /**
36
+ * Determines if the lexing failed.
37
+ * @returns `true` if there are errors, otherwise `false`.
38
+ */
39
+ failed(): boolean;
40
+ /**
41
+ * Converts the `LexResult` to a JSON representation.
42
+ * @returns An object containing the token list, source, warnings, and errors.
43
+ */
44
+ toJSON(): {
45
+ value: TokenList;
46
+ source: string;
47
+ warnings: import("./warning.js").HerbWarning[];
48
+ errors: import("./error.js").HerbError[];
49
+ };
50
+ }