UNPKG

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