UNPKG

2.98 kBTypeScriptView Raw
1import { SourceMap } from "magic-string";
2
3export interface TransformOptions {
4 // source: https://github.com/Rich-Harris/buble/blob/master/src/support.js
5 target?: {
6 chrome?:
7 | 48
8 | 49
9 | 50
10 | 51
11 | 52
12 | 53
13 | 54
14 | 55
15 | 56
16 | 57
17 | 58
18 | 59
19 | 60
20 | 61
21 | 62
22 | 63
23 | 64
24 | 65
25 | 66
26 | 67
27 | 68
28 | 69
29 | 70
30 | 71
31 | undefined;
32 firefox?:
33 | 43
34 | 44
35 | 45
36 | 46
37 | 47
38 | 48
39 | 49
40 | 50
41 | 51
42 | 52
43 | 53
44 | 54
45 | 55
46 | 56
47 | 57
48 | 58
49 | 59
50 | 60
51 | 61
52 | 62
53 | 63
54 | 64
55 | undefined;
56 safari?: 8 | 9 | 10 | 10.1 | 11 | 11.1 | 12 | undefined;
57 ie?: 8 | 9 | 10 | 11 | undefined;
58 edge?: 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | undefined;
59 node?: 0.10 | 0.12 | 4 | 5 | 6 | 8 | 8.3 | 8.7 | 8.10 | undefined;
60 } | undefined;
61
62 // used for sourcemaps
63 source?: string | undefined; // input
64 file?: string | undefined; // output
65 includeContent?: boolean | undefined;
66
67 // custom JSX pragma (https://buble.surge.sh/guide/#jsx)
68 jsx?: string | undefined; // default: 'React.createElement'
69
70 // custom `Object.assign` (https://buble.surge.sh/guide/#object-spread-and-rest)
71 objectAssign?: string | boolean | undefined;
72
73 // transforms
74 transforms?: {
75 arrow?: boolean | undefined;
76 classes?: boolean | undefined;
77 computedProperty?: boolean | undefined;
78 conciseMethodProperty?: boolean | undefined;
79 dangerousForOf?: boolean | undefined;
80 dangerousTaggedTemplateString?: boolean | undefined;
81 defaultParameter?: boolean | undefined;
82 destructuring?: boolean | undefined;
83 exponentiation?: boolean | undefined;
84 forOf?: boolean | undefined;
85 generator?: boolean | undefined;
86 letConst?: boolean | undefined;
87 modules?: boolean | undefined;
88 numericLiteral?: boolean | undefined;
89 objectRestSpread?: boolean | undefined;
90 parameterDestructuring?: boolean | undefined;
91 reservedProperties?: boolean | undefined;
92 spreadRest?: boolean | undefined;
93 templateString?: boolean | undefined;
94 trailingFunctionCommas?: boolean | undefined;
95 unicodeRegExp?: boolean | undefined;
96 } | undefined;
97
98 // others
99 namedFunctionExpressions?: boolean | undefined;
100}
101
102export interface TransformOutput {
103 code: string;
104 map: SourceMap;
105}
106
107export function transform(content: string, options?: TransformOptions): TransformOutput;