1 | # 3.11.0 (2019-12-22)
|
2 |
|
3 | * Add runtime validation for options. ([#468])
|
4 | * Allow `.tsx` and `.jsx` options when running `sucrase` from the command line. ([#448]) (Ricardo Tomasi, Alexander Mextner)
|
5 | * Fix bug where generator markers in methods were removed. ([#463]) (Bjørn Tore Håvie)
|
6 |
|
7 | # 3.10.1 (2019-03-31)
|
8 |
|
9 | * Fix parsing of `a<b>c` in TypeScript. ([#438])
|
10 | * Add support for new TypeScript 3.4 syntax, other parser improvements. ([#439], [#440])
|
11 | * Elide TS `import =` statements that are only used as a type. ([#441])
|
12 | * Properly handle async arrow functions with multiline type parameters. ([#443])
|
13 |
|
14 | # 3.10.0 (2019-03-11)
|
15 |
|
16 | * Fix bug where `/*/` was being parsed incorrectly. ([#430])
|
17 | * Properly parse and compile JSX spread children. ([#431])
|
18 | * Implement TypeScript export elision for exported types. ([#433])
|
19 |
|
20 | # 3.9.6 (2019-03-01)
|
21 |
|
22 | * Fix Flow bug where `implements` caused the class name to be incorrectly recognized. ([#409])
|
23 | * Correctly handle `!:` in TS variable declarations. ([#410])
|
24 | * Move more import code into helper functions in prep for some upcoming changes.
|
25 | * Fix bug where some JSX component names were incorrectly turned into strings. ([#425]) (Yang Zhang)
|
26 |
|
27 | # 3.9.5 (2019-01-13)
|
28 |
|
29 | * Fix bug when processing a declaration that looks like an export assignment. ([#402])
|
30 | * Fix TS import elision for JSX fragments and custom pragmas. ([#403])
|
31 | * Treat reserved words as invalid identifiers when handling enums. ([#405])
|
32 |
|
33 | # 3.9.4 (2019-01-07)
|
34 |
|
35 | * Avoid false positive when detecting if a class has a superclass. ([#399])
|
36 |
|
37 | # 3.9.3 (2019-01-06)
|
38 |
|
39 | * Fix syntax error on arrow functions with multiline return types. ([#393])
|
40 |
|
41 | # 3.9.2 (2019-01-02)
|
42 |
|
43 | * Fix crash on optional arrow function params without type annotations. ([#389])
|
44 | * Usability bug fixes for website. ([#390])
|
45 |
|
46 | # 3.9.1 (2018-12-31)
|
47 |
|
48 | * Fix react-hot-loader transform syntax error with some export styles. ([#384])
|
49 | * Fix website to properly show react-hot-loader Babel transform output. ([#386])
|
50 |
|
51 | # 3.9.0 (2018-12-30)
|
52 |
|
53 | * Add a react-hot-loader transform. ([#376])
|
54 | * Add support for dynamic `import()` syntax in TS types. ([#380])
|
55 | * Many improvements to the website, including faster initial pageloads.
|
56 | * Small performance improvements.
|
57 |
|
58 | # 3.8.1 (2018-12-03)
|
59 |
|
60 | * Fix infinite loop when a file ends with a short identifier ([#363])
|
61 | * Small perf improvements.
|
62 |
|
63 | # 3.8.0 (2018-11-25)
|
64 |
|
65 | * Various simplifications in prep for compiling the project with AssemblyScript.
|
66 | * Performance improvements, varying from 10% to 70% better performance depending
|
67 | on use case.
|
68 | * Fix infinite loop in flow `declare module` parsing ([#359])
|
69 |
|
70 | # 3.7.1 (2018-11-18)
|
71 |
|
72 | * Fix crash on empty export expressions ([#338])
|
73 | * Fix crash on TypeScript `declare global` ([#339])
|
74 | * Fix crash when using overloaded constructors in TypeScript ([#340])
|
75 | * Fix TypeScript import elision when imported names are shadowed by variables
|
76 | ([#342])
|
77 | * Fix import name transform to work in code without semicolons ([#337])
|
78 | (Alec Larson)
|
79 |
|
80 | # 3.7.0 (2018-11-11)
|
81 |
|
82 | * Fix perf regression in TypeScript parsing ([#327])
|
83 | * Fix broken line numbers in syntax errors, improve parser backtracking
|
84 | performance ([#331])
|
85 | * Add Parser features and bugfixes from the Babel parser, including TypeScript
|
86 | 3.0 support ([#333])
|
87 |
|
88 | # 3.6.0 (2018-10-29)
|
89 |
|
90 | * Add CLI support for jsx pragmas ([#321]) (Josiah Savary)
|
91 | * Allow super.method() calls in constructor ([#324]) (Erik Arvidsson)
|
92 |
|
93 | # 3.5.0 (2018-09-30)
|
94 |
|
95 | * Change class field implementation to use initializer methods ([#313])
|
96 | * Update TypeScript and Flow support to include new language features recently
|
97 | supported by Babel. ([#314], [#315], [#316])
|
98 | * Properly handle function name inference in named exports ([#317])
|
99 |
|
100 | # 3.4.2 (2018-08-27)
|
101 |
|
102 | * Implement destructuring in export declarations ([#305])
|
103 | * Properly handle function name inference in named exports ([#308])
|
104 |
|
105 | # 3.4.1 (2018-07-06)
|
106 |
|
107 | * Quote shorthand prop keys that contain a hyphen ([#292]) (Kevin Gao)
|
108 | * Fix infinite loop on incomplete JSX. ([#296])
|
109 |
|
110 | # 3.4.0 (2018-07-01)
|
111 |
|
112 | * Add a sucrase-node CLI that wraps node. ([#288])
|
113 | * Allow exported generator functions. ([#290])
|
114 |
|
115 | # 3.3.0 (2018-06-28)
|
116 |
|
117 | * Add a --out-extension option to the CLI. ([#282])
|
118 | * Add a -q/--quiet option in the CLI and use it in the build script. ([#284])
|
119 | * Don't emit semicolons in class bodies. ([#285])
|
120 | * Fix ugly emitted comments when removing code between tokens. ([#286])
|
121 |
|
122 | # 3.2.1 (2018-06-27)
|
123 |
|
124 | * Allow TS type parameters on object member methods. ([#276])
|
125 | * Simplify identity source map generator. ([#265])
|
126 | * Fix crash on destructured params in arrow function types. ([#278])
|
127 | * Remove @flow directives from comments when the flow transform is enabled.
|
128 | ([#279])
|
129 |
|
130 | # 3.2.0 (2018-06-25)
|
131 |
|
132 | * Fix crash when using JSX elements as props. ([#268]) (Erik Arvidsson)
|
133 | * Fix incorrect compilation of TypeScript optional class properties with an
|
134 | initializer. ([#264])
|
135 | * Fix crash on class fields that don't end in a semicolon. ([#271])
|
136 | * Allow trailing commas after rest elements. ([#272])
|
137 | * Don't crash on class bodies with an index signature. ([#273])
|
138 | * Allow member expression identifiers when determining React displayName.
|
139 | ([#274])
|
140 | * Add production option and use it for JSX. ([#270]) (Erik Arvidsson)
|
141 | * Fix off-by-one error in parsing JSX fragments. ([#275])
|
142 |
|
143 | # 3.1.0 (2018-06-18)
|
144 |
|
145 | * Add basic support for source maps ([#257], [#261])
|
146 |
|
147 | # 3.0.1 (2018-06-11)
|
148 |
|
149 | * Fix crash in `getVersion`.
|
150 |
|
151 | # 3.0.0 (2018-06-10)
|
152 |
|
153 | ### Breaking Changes
|
154 |
|
155 | * `transform` now returns an object ([#244]). You now should write
|
156 | `transform(...).code` instead of just `transform(...)`. `code` is the only
|
157 | property for now, but this allows Sucrase to return source maps and possibly
|
158 | other values.
|
159 | * The package's `dist` folder has been restructured, so direct internal module
|
160 | imports may break.
|
161 |
|
162 | ### Other changes
|
163 |
|
164 | * Overhaul build system to use Sucrase for everything ([#243])
|
165 | * Omit import helpers when unused ([#237]) (Alec Larson)
|
166 | * Fix files accidentally included in final package ([#233])
|
167 | * Various refactors and performance improvements.
|
168 |
|
169 | # 2.2.0 (2018-05-19)
|
170 |
|
171 | * Add support for JSX fragment syntax.
|
172 | * Add support for custom JSX pragmas rather than defaulting to
|
173 | `React.createElement` and `React.Fragment`.
|
174 |
|
175 | [#233]: https://github.com/alangpierce/sucrase/pull/233
|
176 | [#237]: https://github.com/alangpierce/sucrase/pull/237
|
177 | [#243]: https://github.com/alangpierce/sucrase/pull/243
|
178 | [#244]: https://github.com/alangpierce/sucrase/pull/244
|
179 | [#257]: https://github.com/alangpierce/sucrase/pull/257
|
180 | [#261]: https://github.com/alangpierce/sucrase/pull/261
|
181 | [#264]: https://github.com/alangpierce/sucrase/pull/264
|
182 | [#265]: https://github.com/alangpierce/sucrase/pull/265
|
183 | [#268]: https://github.com/alangpierce/sucrase/pull/268
|
184 | [#270]: https://github.com/alangpierce/sucrase/pull/270
|
185 | [#271]: https://github.com/alangpierce/sucrase/pull/271
|
186 | [#272]: https://github.com/alangpierce/sucrase/pull/272
|
187 | [#273]: https://github.com/alangpierce/sucrase/pull/273
|
188 | [#274]: https://github.com/alangpierce/sucrase/pull/274
|
189 | [#275]: https://github.com/alangpierce/sucrase/pull/275
|
190 | [#276]: https://github.com/alangpierce/sucrase/pull/276
|
191 | [#278]: https://github.com/alangpierce/sucrase/pull/278
|
192 | [#279]: https://github.com/alangpierce/sucrase/pull/279
|
193 | [#282]: https://github.com/alangpierce/sucrase/pull/282
|
194 | [#284]: https://github.com/alangpierce/sucrase/pull/284
|
195 | [#285]: https://github.com/alangpierce/sucrase/pull/285
|
196 | [#286]: https://github.com/alangpierce/sucrase/pull/286
|
197 | [#288]: https://github.com/alangpierce/sucrase/pull/288
|
198 | [#290]: https://github.com/alangpierce/sucrase/pull/290
|
199 | [#292]: https://github.com/alangpierce/sucrase/pull/292
|
200 | [#296]: https://github.com/alangpierce/sucrase/pull/296
|
201 | [#305]: https://github.com/alangpierce/sucrase/pull/305
|
202 | [#308]: https://github.com/alangpierce/sucrase/pull/308
|
203 | [#313]: https://github.com/alangpierce/sucrase/pull/313
|
204 | [#314]: https://github.com/alangpierce/sucrase/pull/314
|
205 | [#315]: https://github.com/alangpierce/sucrase/pull/315
|
206 | [#316]: https://github.com/alangpierce/sucrase/pull/316
|
207 | [#317]: https://github.com/alangpierce/sucrase/pull/317
|
208 | [#321]: https://github.com/alangpierce/sucrase/pull/321
|
209 | [#324]: https://github.com/alangpierce/sucrase/pull/324
|
210 | [#327]: https://github.com/alangpierce/sucrase/pull/327
|
211 | [#331]: https://github.com/alangpierce/sucrase/pull/331
|
212 | [#333]: https://github.com/alangpierce/sucrase/pull/333
|
213 | [#337]: https://github.com/alangpierce/sucrase/pull/337
|
214 | [#338]: https://github.com/alangpierce/sucrase/pull/338
|
215 | [#339]: https://github.com/alangpierce/sucrase/pull/339
|
216 | [#340]: https://github.com/alangpierce/sucrase/pull/340
|
217 | [#342]: https://github.com/alangpierce/sucrase/pull/342
|
218 | [#359]: https://github.com/alangpierce/sucrase/pull/359
|
219 | [#363]: https://github.com/alangpierce/sucrase/pull/363
|
220 | [#376]: https://github.com/alangpierce/sucrase/pull/376
|
221 | [#380]: https://github.com/alangpierce/sucrase/pull/380
|
222 | [#384]: https://github.com/alangpierce/sucrase/pull/384
|
223 | [#386]: https://github.com/alangpierce/sucrase/pull/386
|
224 | [#389]: https://github.com/alangpierce/sucrase/pull/389
|
225 | [#390]: https://github.com/alangpierce/sucrase/pull/390
|
226 | [#393]: https://github.com/alangpierce/sucrase/pull/393
|
227 | [#399]: https://github.com/alangpierce/sucrase/pull/399
|
228 | [#402]: https://github.com/alangpierce/sucrase/pull/402
|
229 | [#403]: https://github.com/alangpierce/sucrase/pull/403
|
230 | [#405]: https://github.com/alangpierce/sucrase/pull/405
|
231 | [#409]: https://github.com/alangpierce/sucrase/pull/409
|
232 | [#410]: https://github.com/alangpierce/sucrase/pull/410
|
233 | [#425]: https://github.com/alangpierce/sucrase/pull/425
|
234 | [#430]: https://github.com/alangpierce/sucrase/pull/430
|
235 | [#431]: https://github.com/alangpierce/sucrase/pull/431
|
236 | [#433]: https://github.com/alangpierce/sucrase/pull/433
|
237 | [#438]: https://github.com/alangpierce/sucrase/pull/438
|
238 | [#439]: https://github.com/alangpierce/sucrase/pull/439
|
239 | [#440]: https://github.com/alangpierce/sucrase/pull/440
|
240 | [#441]: https://github.com/alangpierce/sucrase/pull/441
|
241 | [#443]: https://github.com/alangpierce/sucrase/pull/443
|