UNPKG

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