@reactra/babel-plugin 0.1.0-alpha.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.
- package/LICENSE +21 -0
- package/README.md +17 -0
- package/dist/ast/index.d.ts +2 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +3 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/ast/nodes.d.ts +437 -0
- package/dist/ast/nodes.d.ts.map +1 -0
- package/dist/ast/nodes.js +35 -0
- package/dist/ast/nodes.js.map +1 -0
- package/dist/behaviours/index.d.ts +18 -0
- package/dist/behaviours/index.d.ts.map +1 -0
- package/dist/behaviours/index.js +36 -0
- package/dist/behaviours/index.js.map +1 -0
- package/dist/behaviours/plugin.d.ts +22 -0
- package/dist/behaviours/plugin.d.ts.map +1 -0
- package/dist/behaviours/plugin.js +70 -0
- package/dist/behaviours/plugin.js.map +1 -0
- package/dist/behaviours/replayable.d.ts +10 -0
- package/dist/behaviours/replayable.d.ts.map +1 -0
- package/dist/behaviours/replayable.js +86 -0
- package/dist/behaviours/replayable.js.map +1 -0
- package/dist/behaviours/types.d.ts +77 -0
- package/dist/behaviours/types.d.ts.map +1 -0
- package/dist/behaviours/types.js +10 -0
- package/dist/behaviours/types.js.map +1 -0
- package/dist/behaviours/undoable.d.ts +10 -0
- package/dist/behaviours/undoable.d.ts.map +1 -0
- package/dist/behaviours/undoable.js +62 -0
- package/dist/behaviours/undoable.js.map +1 -0
- package/dist/compile.d.ts +69 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +75 -0
- package/dist/compile.js.map +1 -0
- package/dist/conventions/index.d.ts +110 -0
- package/dist/conventions/index.d.ts.map +1 -0
- package/dist/conventions/index.js +193 -0
- package/dist/conventions/index.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/passes/index.d.ts +5 -0
- package/dist/passes/index.d.ts.map +1 -0
- package/dist/passes/index.js +6 -0
- package/dist/passes/index.js.map +1 -0
- package/dist/passes/pass-1-parse.d.ts +3 -0
- package/dist/passes/pass-1-parse.d.ts.map +1 -0
- package/dist/passes/pass-1-parse.js +21 -0
- package/dist/passes/pass-1-parse.js.map +1 -0
- package/dist/passes/pass-2-extract.d.ts +4 -0
- package/dist/passes/pass-2-extract.d.ts.map +1 -0
- package/dist/passes/pass-2-extract.js +762 -0
- package/dist/passes/pass-2-extract.js.map +1 -0
- package/dist/passes/pass-3-readset.d.ts +11 -0
- package/dist/passes/pass-3-readset.d.ts.map +1 -0
- package/dist/passes/pass-3-readset.js +338 -0
- package/dist/passes/pass-3-readset.js.map +1 -0
- package/dist/passes/pass-9-codegen.d.ts +27 -0
- package/dist/passes/pass-9-codegen.d.ts.map +1 -0
- package/dist/passes/pass-9-codegen.js +2755 -0
- package/dist/passes/pass-9-codegen.js.map +1 -0
- package/dist/preprocess/helpers.d.ts +71 -0
- package/dist/preprocess/helpers.d.ts.map +1 -0
- package/dist/preprocess/helpers.js +342 -0
- package/dist/preprocess/helpers.js.map +1 -0
- package/dist/preprocess/index.d.ts +6 -0
- package/dist/preprocess/index.d.ts.map +1 -0
- package/dist/preprocess/index.js +11 -0
- package/dist/preprocess/index.js.map +1 -0
- package/dist/preprocess/keywords.d.ts +28 -0
- package/dist/preprocess/keywords.d.ts.map +1 -0
- package/dist/preprocess/keywords.js +99 -0
- package/dist/preprocess/keywords.js.map +1 -0
- package/dist/preprocess/lexer.d.ts +8 -0
- package/dist/preprocess/lexer.d.ts.map +1 -0
- package/dist/preprocess/lexer.js +143 -0
- package/dist/preprocess/lexer.js.map +1 -0
- package/dist/preprocess/preprocess.d.ts +3 -0
- package/dist/preprocess/preprocess.d.ts.map +1 -0
- package/dist/preprocess/preprocess.js +568 -0
- package/dist/preprocess/preprocess.js.map +1 -0
- package/dist/preprocess/rewriters.d.ts +35 -0
- package/dist/preprocess/rewriters.d.ts.map +1 -0
- package/dist/preprocess/rewriters.js +1391 -0
- package/dist/preprocess/rewriters.js.map +1 -0
- package/dist/preprocess/source-map.d.ts +70 -0
- package/dist/preprocess/source-map.d.ts.map +1 -0
- package/dist/preprocess/source-map.js +253 -0
- package/dist/preprocess/source-map.js.map +1 -0
- package/dist/preprocess/types.d.ts +57 -0
- package/dist/preprocess/types.d.ts.map +1 -0
- package/dist/preprocess/types.js +7 -0
- package/dist/preprocess/types.js.map +1 -0
- package/dist/sidecar.d.ts +137 -0
- package/dist/sidecar.d.ts.map +1 -0
- package/dist/sidecar.js +172 -0
- package/dist/sidecar.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/preprocess/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { preprocess } from "./preprocess.ts";
|
|
2
|
+
export { lex, skipTrivia } from "./lexer.ts";
|
|
3
|
+
export type { Token, TokenKind, Rewrite, Span, PreprocessResult } from "./types.ts";
|
|
4
|
+
export { ALL_RESERVED_KEYWORDS, KEYWORDS_BY_SCOPE, CONTAINER_KEYWORDS } from "./keywords.ts";
|
|
5
|
+
export { generatePreprocessSourceMap, composeSourceMap, buildPreprocessLineTable, type RawSourceMap, } from "./source-map.ts";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preprocess/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Public API for the Reactra pre-processor (Compiler §4 Pass 1.1).
|
|
2
|
+
//
|
|
3
|
+
// Usage:
|
|
4
|
+
// import { preprocess } from "@reactra/babel-plugin/preprocess"
|
|
5
|
+
// const { code, rewrites } = preprocess(sourceText)
|
|
6
|
+
// // feed `code` to Babel; `rewrites` is the original-range list for source maps
|
|
7
|
+
export { preprocess } from "./preprocess.js";
|
|
8
|
+
export { lex, skipTrivia } from "./lexer.js";
|
|
9
|
+
export { ALL_RESERVED_KEYWORDS, KEYWORDS_BY_SCOPE, CONTAINER_KEYWORDS } from "./keywords.js";
|
|
10
|
+
export { generatePreprocessSourceMap, composeSourceMap, buildPreprocessLineTable, } from "./source-map.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preprocess/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,SAAS;AACT,kEAAkE;AAClE,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC5F,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,GAEzB,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type ScopeKind = "module" | "component-body" | "store-body" | "view-body";
|
|
2
|
+
/**
|
|
3
|
+
* Which DSL keywords are recognised in which scope.
|
|
4
|
+
* Inside JSX, strings, comments, or template literals, NO DSL keyword
|
|
5
|
+
* is recognised — the lexer represents these regions as opaque tokens
|
|
6
|
+
* and the transducer never inspects their inner content.
|
|
7
|
+
*/
|
|
8
|
+
export declare const KEYWORDS_BY_SCOPE: Record<ScopeKind, Set<string>>;
|
|
9
|
+
/**
|
|
10
|
+
* The full 25-keyword reserved set (Requirements §3, v14 — `use` retired;
|
|
11
|
+
* v3.0 — `cleanup` retired; forms — `command` added, the scalpel 24→25 bump).
|
|
12
|
+
* `app`/`subtree` are contextual lifetime words (store headers only), NOT reserved
|
|
13
|
+
* keywords. Teardown is a `return` inside `mount`/`effect on`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const ALL_RESERVED_KEYWORDS: ReadonlySet<string>;
|
|
16
|
+
/**
|
|
17
|
+
* The container-declaration openers — the keywords that begin a top-level
|
|
18
|
+
* Reactra block. `store` and `service` are also in `ALL_RESERVED_KEYWORDS`
|
|
19
|
+
* (they appear in store/service bodies too); `component` is *only* an opener,
|
|
20
|
+
* so it isn't in the reserved-body set. The preprocessor recognises these in
|
|
21
|
+
* `preprocess.ts` to enter a container scope.
|
|
22
|
+
*
|
|
23
|
+
* Exported as the single source of truth for tooling that needs the block
|
|
24
|
+
* openers — e.g. the LSP-0 grammar generator + diagnostic-suppression plugin
|
|
25
|
+
* (`@reactra/vscode-extension`), which must not redefine this list.
|
|
26
|
+
*/
|
|
27
|
+
export declare const CONTAINER_KEYWORDS: ReadonlySet<string>;
|
|
28
|
+
//# sourceMappingURL=keywords.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/preprocess/keywords.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAA;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAmC5D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CA0BpD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAIjD,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// DSL keyword set + scope-allow rules for the pre-processor.
|
|
2
|
+
// Source of truth: Requirements §3 (25 reserved keywords — v14 retired `use`;
|
|
3
|
+
// v3.0 retired `cleanup`; the forms work adds `command`, the single async-write
|
|
4
|
+
// primitive, via the scalpel 24→25 cap bump; store/service acquisition is
|
|
5
|
+
// `inject store` / `inject service`, both via the `inject` keyword) and
|
|
6
|
+
// Compiler §4 Pass 1.1. (The Requirements §3 + audit ADR for the bump is a
|
|
7
|
+
// follow-up doc slice; the keyword is implemented here.)
|
|
8
|
+
/**
|
|
9
|
+
* Which DSL keywords are recognised in which scope.
|
|
10
|
+
* Inside JSX, strings, comments, or template literals, NO DSL keyword
|
|
11
|
+
* is recognised — the lexer represents these regions as opaque tokens
|
|
12
|
+
* and the transducer never inspects their inner content.
|
|
13
|
+
*/
|
|
14
|
+
export const KEYWORDS_BY_SCOPE = {
|
|
15
|
+
module: new Set(["export"]),
|
|
16
|
+
"component-body": new Set([
|
|
17
|
+
"state",
|
|
18
|
+
"derived",
|
|
19
|
+
"action",
|
|
20
|
+
"command",
|
|
21
|
+
"resource",
|
|
22
|
+
"effect",
|
|
23
|
+
"mount",
|
|
24
|
+
"ref",
|
|
25
|
+
"view",
|
|
26
|
+
"uses",
|
|
27
|
+
"inject",
|
|
28
|
+
"provide",
|
|
29
|
+
"param",
|
|
30
|
+
"query",
|
|
31
|
+
"meta",
|
|
32
|
+
"prefetch",
|
|
33
|
+
"transition",
|
|
34
|
+
"errorBoundary",
|
|
35
|
+
"suspense",
|
|
36
|
+
]),
|
|
37
|
+
"store-body": new Set([
|
|
38
|
+
"state",
|
|
39
|
+
"derived",
|
|
40
|
+
"action",
|
|
41
|
+
"resource",
|
|
42
|
+
"input",
|
|
43
|
+
"preserved",
|
|
44
|
+
"uses",
|
|
45
|
+
"inject",
|
|
46
|
+
"provide",
|
|
47
|
+
]),
|
|
48
|
+
"view-body": new Set(["await", "pending", "error"]),
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* The full 25-keyword reserved set (Requirements §3, v14 — `use` retired;
|
|
52
|
+
* v3.0 — `cleanup` retired; forms — `command` added, the scalpel 24→25 bump).
|
|
53
|
+
* `app`/`subtree` are contextual lifetime words (store headers only), NOT reserved
|
|
54
|
+
* keywords. Teardown is a `return` inside `mount`/`effect on`.
|
|
55
|
+
*/
|
|
56
|
+
export const ALL_RESERVED_KEYWORDS = new Set([
|
|
57
|
+
"state",
|
|
58
|
+
"derived",
|
|
59
|
+
"action",
|
|
60
|
+
"command",
|
|
61
|
+
"resource",
|
|
62
|
+
"effect",
|
|
63
|
+
"mount",
|
|
64
|
+
"ref",
|
|
65
|
+
"view",
|
|
66
|
+
"await",
|
|
67
|
+
"uses",
|
|
68
|
+
"store",
|
|
69
|
+
"input",
|
|
70
|
+
"preserved",
|
|
71
|
+
"service",
|
|
72
|
+
"inject",
|
|
73
|
+
"provide",
|
|
74
|
+
"implements",
|
|
75
|
+
"param",
|
|
76
|
+
"query",
|
|
77
|
+
"meta",
|
|
78
|
+
"prefetch",
|
|
79
|
+
"transition",
|
|
80
|
+
"errorBoundary",
|
|
81
|
+
"suspense",
|
|
82
|
+
]);
|
|
83
|
+
/**
|
|
84
|
+
* The container-declaration openers — the keywords that begin a top-level
|
|
85
|
+
* Reactra block. `store` and `service` are also in `ALL_RESERVED_KEYWORDS`
|
|
86
|
+
* (they appear in store/service bodies too); `component` is *only* an opener,
|
|
87
|
+
* so it isn't in the reserved-body set. The preprocessor recognises these in
|
|
88
|
+
* `preprocess.ts` to enter a container scope.
|
|
89
|
+
*
|
|
90
|
+
* Exported as the single source of truth for tooling that needs the block
|
|
91
|
+
* openers — e.g. the LSP-0 grammar generator + diagnostic-suppression plugin
|
|
92
|
+
* (`@reactra/vscode-extension`), which must not redefine this list.
|
|
93
|
+
*/
|
|
94
|
+
export const CONTAINER_KEYWORDS = new Set([
|
|
95
|
+
"component",
|
|
96
|
+
"store",
|
|
97
|
+
"service",
|
|
98
|
+
]);
|
|
99
|
+
//# sourceMappingURL=keywords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../src/preprocess/keywords.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,wEAAwE;AACxE,2EAA2E;AAC3E,yDAAyD;AAIzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3B,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,OAAO;QACP,SAAS;QACT,QAAQ;QACR,SAAS;QACT,UAAU;QACV,QAAQ;QACR,OAAO;QACP,KAAK;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,SAAS;QACT,OAAO;QACP,OAAO;QACP,MAAM;QACN,UAAU;QACV,YAAY;QACZ,eAAe;QACf,UAAU;KACX,CAAC;IACF,YAAY,EAAE,IAAI,GAAG,CAAC;QACpB,OAAO;QACP,SAAS;QACT,QAAQ;QACR,UAAU;QACV,OAAO;QACP,WAAW;QACX,MAAM;QACN,QAAQ;QACR,SAAS;KACV,CAAC;IACF,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;CACpD,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IAChE,OAAO;IACP,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,SAAS;IACT,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,YAAY;IACZ,eAAe;IACf,UAAU;CACX,CAAC,CAAA;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,WAAW;IACX,OAAO;IACP,SAAS;CACV,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Token } from "./types.ts";
|
|
2
|
+
/** Tokenize a source string. Returns tokens in source order, ending with EOF. */
|
|
3
|
+
export declare const lex: (source: string) => Token[];
|
|
4
|
+
/** Find the next non-trivia (non-whitespace, non-comment) token index from `from` (inclusive). */
|
|
5
|
+
export declare const skipTrivia: (tokens: Token[], from: number) => number;
|
|
6
|
+
/** Find the previous non-trivia token index from `from` (inclusive). Returns -1 if none. */
|
|
7
|
+
export declare const skipTriviaBack: (tokens: Token[], from: number) => number;
|
|
8
|
+
//# sourceMappingURL=lexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/preprocess/lexer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,YAAY,CAAA;AAalD,iFAAiF;AACjF,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,KAAG,KAAK,EA+GzC,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK,EAAE,EAAE,MAAM,MAAM,KAAG,MAW1D,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,cAAc,GAAI,QAAQ,KAAK,EAAE,EAAE,MAAM,MAAM,KAAG,MAW9D,CAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// JS-aware lexer for the Reactra pre-processor (Compiler §4 Pass 1.1).
|
|
2
|
+
//
|
|
3
|
+
// Scope: just enough JavaScript awareness to know when a DSL keyword
|
|
4
|
+
// sits at a statement position vs. inside a string/comment/regex.
|
|
5
|
+
// We are NOT building a full JS parser — Babel does that on the
|
|
6
|
+
// post-preprocess output. The lexer's job is to produce a token stream
|
|
7
|
+
// that the scope tracker (see preprocess.ts) can walk.
|
|
8
|
+
const isIdentStart = (c) => (c >= "a" && c <= "z") || (c >= "A" && c <= "Z") || c === "_" || c === "$";
|
|
9
|
+
const isIdentCont = (c) => isIdentStart(c) || (c >= "0" && c <= "9");
|
|
10
|
+
const isDigit = (c) => c >= "0" && c <= "9";
|
|
11
|
+
const isWhitespace = (c) => c === " " || c === "\t" || c === "\n" || c === "\r";
|
|
12
|
+
/** Tokenize a source string. Returns tokens in source order, ending with EOF. */
|
|
13
|
+
export const lex = (source) => {
|
|
14
|
+
const tokens = [];
|
|
15
|
+
let i = 0;
|
|
16
|
+
const n = source.length;
|
|
17
|
+
const push = (kind, start, end) => {
|
|
18
|
+
tokens.push({ kind, text: source.slice(start, end), start, end });
|
|
19
|
+
};
|
|
20
|
+
while (i < n) {
|
|
21
|
+
const start = i;
|
|
22
|
+
const c = source[i];
|
|
23
|
+
// Whitespace
|
|
24
|
+
if (isWhitespace(c)) {
|
|
25
|
+
while (i < n && isWhitespace(source[i]))
|
|
26
|
+
i++;
|
|
27
|
+
push("whitespace", start, i);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
// Line comment
|
|
31
|
+
if (c === "/" && source[i + 1] === "/") {
|
|
32
|
+
while (i < n && source[i] !== "\n")
|
|
33
|
+
i++;
|
|
34
|
+
push("comment-line", start, i);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
// Block comment
|
|
38
|
+
if (c === "/" && source[i + 1] === "*") {
|
|
39
|
+
i += 2;
|
|
40
|
+
while (i < n && !(source[i] === "*" && source[i + 1] === "/"))
|
|
41
|
+
i++;
|
|
42
|
+
if (i < n)
|
|
43
|
+
i += 2; // consume closing */
|
|
44
|
+
push("comment-block", start, i);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
// String literal (single or double quote)
|
|
48
|
+
if (c === '"' || c === "'") {
|
|
49
|
+
const quote = c;
|
|
50
|
+
i++;
|
|
51
|
+
while (i < n) {
|
|
52
|
+
const ch = source[i];
|
|
53
|
+
if (ch === "\\") {
|
|
54
|
+
i += 2;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (ch === quote) {
|
|
58
|
+
i++;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
if (ch === "\n")
|
|
62
|
+
break; // unterminated — let Babel report
|
|
63
|
+
i++;
|
|
64
|
+
}
|
|
65
|
+
push("string", start, i);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
// Template literal — we treat as one "template" token covering
|
|
69
|
+
// the whole thing, including ${...} expressions. The transducer
|
|
70
|
+
// doesn't peek inside templates anyway.
|
|
71
|
+
if (c === "`") {
|
|
72
|
+
i++;
|
|
73
|
+
let depth = 0;
|
|
74
|
+
while (i < n) {
|
|
75
|
+
const ch = source[i];
|
|
76
|
+
if (ch === "\\") {
|
|
77
|
+
i += 2;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (ch === "$" && source[i + 1] === "{") {
|
|
81
|
+
depth++;
|
|
82
|
+
i += 2;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (ch === "}" && depth > 0) {
|
|
86
|
+
depth--;
|
|
87
|
+
i++;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (ch === "`" && depth === 0) {
|
|
91
|
+
i++;
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
i++;
|
|
95
|
+
}
|
|
96
|
+
push("template", start, i);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Identifier or keyword
|
|
100
|
+
if (isIdentStart(c)) {
|
|
101
|
+
while (i < n && isIdentCont(source[i]))
|
|
102
|
+
i++;
|
|
103
|
+
push("ident", start, i);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// Number — naive: digit followed by alnum / dot
|
|
107
|
+
if (isDigit(c)) {
|
|
108
|
+
while (i < n && (isIdentCont(source[i]) || source[i] === "."))
|
|
109
|
+
i++;
|
|
110
|
+
push("number", start, i);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
// Punctuation / operator — emit single char and advance.
|
|
114
|
+
// Multi-char operators are still parseable as a sequence.
|
|
115
|
+
i++;
|
|
116
|
+
push("punct", start, i);
|
|
117
|
+
}
|
|
118
|
+
push("eof", i, i);
|
|
119
|
+
return tokens;
|
|
120
|
+
};
|
|
121
|
+
/** Find the next non-trivia (non-whitespace, non-comment) token index from `from` (inclusive). */
|
|
122
|
+
export const skipTrivia = (tokens, from) => {
|
|
123
|
+
let i = from;
|
|
124
|
+
while (i < tokens.length &&
|
|
125
|
+
(tokens[i].kind === "whitespace" ||
|
|
126
|
+
tokens[i].kind === "comment-line" ||
|
|
127
|
+
tokens[i].kind === "comment-block")) {
|
|
128
|
+
i++;
|
|
129
|
+
}
|
|
130
|
+
return i;
|
|
131
|
+
};
|
|
132
|
+
/** Find the previous non-trivia token index from `from` (inclusive). Returns -1 if none. */
|
|
133
|
+
export const skipTriviaBack = (tokens, from) => {
|
|
134
|
+
let i = from;
|
|
135
|
+
while (i >= 0 &&
|
|
136
|
+
(tokens[i].kind === "whitespace" ||
|
|
137
|
+
tokens[i].kind === "comment-line" ||
|
|
138
|
+
tokens[i].kind === "comment-block")) {
|
|
139
|
+
i--;
|
|
140
|
+
}
|
|
141
|
+
return i;
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=lexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/preprocess/lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../src/preprocess/preprocess.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,YAAY,CAAA;AAwElE,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,gBA8D3C,CAAA"}
|