flint-compiler 4.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/optimizer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import * as acorn from 'acorn';
2
+ export interface ParseOptions {
3
+ sourceType?: 'module' | 'script';
4
+ ecmaVersion?: number;
5
+ /** Filename (or virtual id) — used to detect TypeScript deterministically */
6
+ filename?: string;
7
+ }
8
+ export interface ParseResult {
9
+ ast: acorn.Node;
10
+ code: string;
11
+ }
12
+ /**
13
+ * Parse JSX/JavaScript/TypeScript source code into an AST.
14
+ *
15
+ * Strategy:
16
+ * 1. `.ts/.tsx/.mts/.cts` filename → strip TypeScript, then parse.
17
+ * 2. Otherwise parse as plain JS/JSX first (zero transformation cost,
18
+ * original offsets preserved).
19
+ * 3. If plain parsing fails, retry once with TS stripping (handles
20
+ * JSX-in-JS files mislabeled as .js, or snippets without filenames).
21
+ * 4. If that also fails, rethrow the ORIGINAL error — it points at the
22
+ * real problem, not at the stripped copy.
23
+ */
24
+ export declare function parse(code: string, options?: ParseOptions): ParseResult;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,KAAK,CAAC,IAAI,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAyB3E"}
@@ -0,0 +1,93 @@
1
+ // Flint Compiler — JSX Parser using Acorn
2
+ // Parses JavaScript/JSX (and TypeScript via pre-stripping) into AST
3
+ //
4
+ // TypeScript detection is DETERMINISTIC (by file extension) when a filename
5
+ // is provided. Without a filename we try plain JS first and only fall back
6
+ // to TS stripping if that fails — never the other way around. The old
7
+ // regex-based sniffing misfired on plain JS (e.g. `a != b`, object literals
8
+ // like `{ id: 5 }`, or even template literals containing English text like
9
+ // "as well"), silently re-printing files through esbuild for no reason.
10
+ import * as acorn from 'acorn';
11
+ import jsx from 'acorn-jsx';
12
+ import { transformSync } from 'esbuild';
13
+ const flintParser = acorn.Parser.extend(jsx());
14
+ const TS_EXTENSIONS = ['.ts', '.tsx', '.mts', '.cts'];
15
+ /**
16
+ * Detect whether a filename refers to a TypeScript file.
17
+ */
18
+ function isTypeScriptFile(filename) {
19
+ if (!filename)
20
+ return false;
21
+ const clean = filename.split('?')[0].toLowerCase();
22
+ return TS_EXTENSIONS.some((ext) => clean.endsWith(ext));
23
+ }
24
+ /**
25
+ * Strip TypeScript syntax from source code using esbuild.
26
+ * Converts TSX/TS to plain JSX/JS while keeping JSX intact
27
+ * for the Flint transformer to handle.
28
+ */
29
+ function stripTypeScript(code) {
30
+ const result = transformSync(code, {
31
+ loader: 'tsx',
32
+ format: 'esm',
33
+ target: 'esnext',
34
+ jsx: 'preserve',
35
+ // Keep JSX as-is for Flint compiler to handle
36
+ treeShaking: false,
37
+ minify: false,
38
+ });
39
+ return result.code;
40
+ }
41
+ /**
42
+ * Parse JSX/JavaScript source into an AST.
43
+ */
44
+ function parseJSX(code, options) {
45
+ return flintParser.parse(code, {
46
+ sourceType: options.sourceType ?? 'module',
47
+ ecmaVersion: (options.ecmaVersion ?? 'latest'),
48
+ locations: true,
49
+ allowImportExportEverywhere: true,
50
+ allowReturnOutsideFunction: true,
51
+ });
52
+ }
53
+ /**
54
+ * Parse JSX/JavaScript/TypeScript source code into an AST.
55
+ *
56
+ * Strategy:
57
+ * 1. `.ts/.tsx/.mts/.cts` filename → strip TypeScript, then parse.
58
+ * 2. Otherwise parse as plain JS/JSX first (zero transformation cost,
59
+ * original offsets preserved).
60
+ * 3. If plain parsing fails, retry once with TS stripping (handles
61
+ * JSX-in-JS files mislabeled as .js, or snippets without filenames).
62
+ * 4. If that also fails, rethrow the ORIGINAL error — it points at the
63
+ * real problem, not at the stripped copy.
64
+ */
65
+ export function parse(code, options = {}) {
66
+ // Known TypeScript file: strip deterministically.
67
+ if (isTypeScriptFile(options.filename)) {
68
+ let parseCode = code;
69
+ try {
70
+ parseCode = stripTypeScript(code);
71
+ }
72
+ catch {
73
+ // Stripping failed — try parsing as-is before giving up.
74
+ }
75
+ return { ast: parseJSX(parseCode, options), code: parseCode };
76
+ }
77
+ // Plain JS/JSX (or unknown): parse directly first.
78
+ try {
79
+ return { ast: parseJSX(code, options), code };
80
+ }
81
+ catch (originalError) {
82
+ // One fallback: maybe the "JS" file actually contains TypeScript.
83
+ try {
84
+ const stripped = stripTypeScript(code);
85
+ return { ast: parseJSX(stripped, options), code: stripped };
86
+ }
87
+ catch {
88
+ // Neither worked — surface the original error with real positions.
89
+ throw originalError;
90
+ }
91
+ }
92
+ }
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,oEAAoE;AACpE,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AAExE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,GAAG,MAAM,WAAW,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAcvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;AAE9C,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAErD;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAiB;IACzC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAClD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,UAAU;QACf,8CAA8C;QAC9C,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAqB;IACnD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;QAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ;QAC1C,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAQ;QACrD,SAAS,EAAE,IAAI;QACf,2BAA2B,EAAE,IAAI;QACjC,0BAA0B,EAAE,IAAI;KACjC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,kDAAkD;IAClD,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC/D,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAA;IAC/C,CAAC;IAAC,OAAO,aAAa,EAAE,CAAC;QACvB,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YACtC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,MAAM,aAAa,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ interface ASTNode {
2
+ type: string;
3
+ start: number;
4
+ end: number;
5
+ [key: string]: any;
6
+ }
7
+ export interface TransformOptions {
8
+ filename?: string;
9
+ dev?: boolean;
10
+ sourceMaps?: boolean;
11
+ /** Auto-import flint functions (default: true) */
12
+ autoImport?: boolean;
13
+ }
14
+ export interface TransformResult {
15
+ code: string;
16
+ ast: ASTNode;
17
+ map?: SourceMap;
18
+ /** List of auto-imported symbols */
19
+ imports?: string[];
20
+ }
21
+ export interface SourceMap {
22
+ version: 3;
23
+ file?: string;
24
+ sourceRoot?: string;
25
+ sources: string[];
26
+ sourcesContent?: (string | null)[];
27
+ names: string[];
28
+ mappings: string;
29
+ }
30
+ export declare function transform(ast: ASTNode, code: string, options?: TransformOptions): TransformResult;
31
+ export {};
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"AAQA,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AA6ED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,CAAC,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAClC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AA+gBD,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,eAAe,CA0FrG"}