Skip to content

Commit 5802584

Browse files
authored
Merge pull request #133 from ony3000/support-babel-ts
Support babel-ts
2 parents d9717e6 + 2508017 commit 5802584

159 files changed

Lines changed: 10530 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ declare global {
3737

3838
type SupportedParserNames =
3939
| 'babel'
40+
| 'babel-ts'
4041
| 'typescript'
4142
| 'angular'
4243
| 'html'

src/core-parts/experimental.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ function formatTokens(
378378
if (isMultiLineClassName && options.syntaxTransformation) {
379379
switch (options.parser) {
380380
case 'babel':
381+
case 'babel-ts':
381382
case 'typescript':
382383
case 'oxc':
383384
case 'oxc-ts':

src/core-parts/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ export async function parseLineByLineAndReplaceAsync({
4444
targetClassNameNodes = findTargetClassNameNodesForSvelte(formattedText, ast, options);
4545
break;
4646
}
47-
case 'babel': {
47+
case 'babel':
48+
case 'babel-ts': {
4849
targetClassNameNodes = findTargetClassNameNodesForBabel(ast, options);
4950
break;
5051
}

src/parsers.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ export const parsers: { [parserName: string]: Parser } = {
193193
babel: transformParser('babel', {
194194
defaultParser: babelParsers.babel,
195195
}),
196+
'babel-ts': transformParser('babel-ts', {
197+
defaultParser: babelParsers['babel-ts'],
198+
}),
196199
typescript: transformParser('typescript', {
197200
defaultParser: typescriptParsers.typescript,
198201
}),
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2+
3+
exports[`'long enough (1) - single line with no…' > expectation 1`] = `
4+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
5+
export function Foo({ children }) {
6+
return (
7+
<div
8+
dir="ltr"
9+
id="lorem-ipsum"
10+
title="lorem ipsum"
11+
className="lorem ipsum dolor sit amet consectetur
12+
adipiscing elit proin ex massa hendrerit eu posuere
13+
eu volutpat id neque pellentesque"
14+
>
15+
{children}
16+
</div>
17+
);
18+
}
19+
"
20+
`;
21+
22+
exports[`'long enough (2) - single line with sp…' > expectation 1`] = `
23+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
24+
export function Foo({ children }) {
25+
return (
26+
<div
27+
dir="ltr"
28+
id="lorem-ipsum"
29+
title="lorem ipsum"
30+
className="lorem ipsum dolor sit amet consectetur
31+
adipiscing elit proin ex massa hendrerit eu posuere
32+
eu volutpat id neque pellentesque"
33+
>
34+
{children}
35+
</div>
36+
);
37+
}
38+
"
39+
`;
40+
41+
exports[`'long enough (3) - multiple lines' > expectation 1`] = `
42+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
43+
export function Foo({ children }) {
44+
return (
45+
<div
46+
dir="ltr"
47+
id="lorem-ipsum"
48+
title="lorem ipsum"
49+
className="lorem ipsum dolor sit amet consectetur
50+
adipiscing elit proin ex massa hendrerit eu posuere
51+
eu volutpat id neque pellentesque"
52+
>
53+
{children}
54+
</div>
55+
);
56+
}
57+
"
58+
`;
59+
60+
exports[`'near boundary (1) - single line with …' > expectation 1`] = `
61+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
62+
export function Foo({ children }) {
63+
return (
64+
<div
65+
dir="ltr"
66+
id="lorem-ipsum"
67+
title="lorem ipsum"
68+
className="lorem ipsum dolor sit amet consectetur
69+
adipiscing elit proin"
70+
>
71+
{children}
72+
</div>
73+
);
74+
}
75+
"
76+
`;
77+
78+
exports[`'near boundary (2) - single line with …' > expectation 1`] = `
79+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
80+
export function Foo({ children }) {
81+
return (
82+
<div
83+
dir="ltr"
84+
id="lorem-ipsum"
85+
title="lorem ipsum"
86+
className="lorem ipsum dolor sit amet consectetur
87+
adipiscing elit proin"
88+
>
89+
{children}
90+
</div>
91+
);
92+
}
93+
"
94+
`;
95+
96+
exports[`'near boundary (3) - multiple lines' > expectation 1`] = `
97+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
98+
export function Foo({ children }) {
99+
return (
100+
<div
101+
dir="ltr"
102+
id="lorem-ipsum"
103+
title="lorem ipsum"
104+
className="lorem ipsum dolor sit amet consectetur
105+
adipiscing elit proin"
106+
>
107+
{children}
108+
</div>
109+
);
110+
}
111+
"
112+
`;
113+
114+
exports[`'short enough (1) - single line with n…' > expectation 1`] = `
115+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
116+
export function Foo({ children }) {
117+
return (
118+
<div
119+
dir="ltr"
120+
id="lorem-ipsum"
121+
title="lorem ipsum"
122+
className="lorem ipsum dolor sit amet"
123+
>
124+
{children}
125+
</div>
126+
);
127+
}
128+
"
129+
`;
130+
131+
exports[`'short enough (2) - single line with s…' > expectation 1`] = `
132+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
133+
export function Foo({ children }) {
134+
return (
135+
<div
136+
dir="ltr"
137+
id="lorem-ipsum"
138+
title="lorem ipsum"
139+
className="lorem ipsum dolor sit amet"
140+
>
141+
{children}
142+
</div>
143+
);
144+
}
145+
"
146+
`;
147+
148+
exports[`'short enough (3) - multiple lines' > expectation 1`] = `
149+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
150+
export function Foo({ children }) {
151+
return (
152+
<div
153+
dir="ltr"
154+
id="lorem-ipsum"
155+
title="lorem ipsum"
156+
className="lorem ipsum dolor sit amet"
157+
>
158+
{children}
159+
</div>
160+
);
161+
}
162+
"
163+
`;
164+
165+
exports[`'syntax variants - component' > expectation 1`] = `
166+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
167+
export function Foo({ children }) {
168+
return (
169+
<Box
170+
dir="ltr"
171+
id="lorem-ipsum"
172+
title="lorem ipsum"
173+
className="lorem ipsum dolor sit amet consectetur
174+
adipiscing elit proin ex massa hendrerit eu posuere"
175+
>
176+
{children}
177+
</Box>
178+
);
179+
}
180+
"
181+
`;
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2+
3+
exports[`'long enough (1) - single line with no…' > expectation 1`] = `
4+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
5+
export function Foo({ children }) {
6+
return (
7+
<div
8+
dir="ltr"
9+
id="lorem-ipsum"
10+
title="lorem ipsum"
11+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin
12+
ex massa hendrerit eu posuere eu volutpat id neque
13+
pellentesque"
14+
>
15+
{children}
16+
</div>
17+
);
18+
}
19+
"
20+
`;
21+
22+
exports[`'long enough (2) - single line with sp…' > expectation 1`] = `
23+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
24+
export function Foo({ children }) {
25+
return (
26+
<div
27+
dir="ltr"
28+
id="lorem-ipsum"
29+
title="lorem ipsum"
30+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin
31+
ex massa hendrerit eu posuere eu volutpat id neque
32+
pellentesque"
33+
>
34+
{children}
35+
</div>
36+
);
37+
}
38+
"
39+
`;
40+
41+
exports[`'long enough (3) - multiple lines' > expectation 1`] = `
42+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
43+
export function Foo({ children }) {
44+
return (
45+
<div
46+
dir="ltr"
47+
id="lorem-ipsum"
48+
title="lorem ipsum"
49+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin
50+
ex massa hendrerit eu posuere eu volutpat id neque
51+
pellentesque"
52+
>
53+
{children}
54+
</div>
55+
);
56+
}
57+
"
58+
`;
59+
60+
exports[`'near boundary (1) - single line with …' > expectation 1`] = `
61+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
62+
export function Foo({ children }) {
63+
return (
64+
<div
65+
dir="ltr"
66+
id="lorem-ipsum"
67+
title="lorem ipsum"
68+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin"
69+
>
70+
{children}
71+
</div>
72+
);
73+
}
74+
"
75+
`;
76+
77+
exports[`'near boundary (2) - single line with …' > expectation 1`] = `
78+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
79+
export function Foo({ children }) {
80+
return (
81+
<div
82+
dir="ltr"
83+
id="lorem-ipsum"
84+
title="lorem ipsum"
85+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin"
86+
>
87+
{children}
88+
</div>
89+
);
90+
}
91+
"
92+
`;
93+
94+
exports[`'near boundary (3) - multiple lines' > expectation 1`] = `
95+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
96+
export function Foo({ children }) {
97+
return (
98+
<div
99+
dir="ltr"
100+
id="lorem-ipsum"
101+
title="lorem ipsum"
102+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin"
103+
>
104+
{children}
105+
</div>
106+
);
107+
}
108+
"
109+
`;
110+
111+
exports[`'short enough (1) - single line with n…' > expectation 1`] = `
112+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
113+
export function Foo({ children }) {
114+
return (
115+
<div
116+
dir="ltr"
117+
id="lorem-ipsum"
118+
title="lorem ipsum"
119+
className="lorem ipsum dolor sit amet"
120+
>
121+
{children}
122+
</div>
123+
);
124+
}
125+
"
126+
`;
127+
128+
exports[`'short enough (2) - single line with s…' > expectation 1`] = `
129+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
130+
export function Foo({ children }) {
131+
return (
132+
<div
133+
dir="ltr"
134+
id="lorem-ipsum"
135+
title="lorem ipsum"
136+
className="lorem ipsum dolor sit amet"
137+
>
138+
{children}
139+
</div>
140+
);
141+
}
142+
"
143+
`;
144+
145+
exports[`'short enough (3) - multiple lines' > expectation 1`] = `
146+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
147+
export function Foo({ children }) {
148+
return (
149+
<div
150+
dir="ltr"
151+
id="lorem-ipsum"
152+
title="lorem ipsum"
153+
className="lorem ipsum dolor sit amet"
154+
>
155+
{children}
156+
</div>
157+
);
158+
}
159+
"
160+
`;
161+
162+
exports[`'syntax variants - component' > expectation 1`] = `
163+
"//---------------------------------------------------------| printWidth=60 (in snapshot)
164+
export function Foo({ children }) {
165+
return (
166+
<Box
167+
dir="ltr"
168+
id="lorem-ipsum"
169+
title="lorem ipsum"
170+
className="lorem ipsum dolor sit amet consectetur adipiscing elit proin
171+
ex massa hendrerit eu posuere"
172+
>
173+
{children}
174+
</Box>
175+
);
176+
}
177+
"
178+
`;

0 commit comments

Comments
 (0)