UNPKG

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