alangpierce/sucrase (sucrase)
### [`v3.35.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3350-2023-12-21)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/4bd800b513a04a0de20c9c246c72936f889c348f...ab642fe2ec4cdd8e174cc310545152b4767437bb)
- Upgrade `glob` to fix a security vulnerability in the `inflight` package. (\[[#822](https://redirect.github.com/alangpierce/sucrase/issues/822)]) (Patrick Nappa)
- **Note that the `sucrase` CLI no longer works in Node.js versions before 14.7.**
- If you use the `sucrase` CLI, you should pin to Sucrase 3.34.0 until you're able to upgrade
Node.js to a supported version. Note that all Node.js versions before 18 are end-of-life.
- If you don't use the `sucrase` CLI, you may need to silence errors related to package.json
`engines`, e.g. `yarn --ignore-engines`.
- This change is being released in a semver-minor release since it fixes a security vulnerability
and the breaking change impact is expected to be small. See [this PR comment](https://redirect.github.com/alangpierce/sucrase/pull/822#issuecomment-1867087904)
for a rationale on the release strategy.
### [`v3.34.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3340-2023-07-19)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/ceeb203185005b410a2e770a06a08ce877c33a9a...4bd800b513a04a0de20c9c246c72936f889c348f)
- Add CLI options for all remaining Sucrase options, e.g. `--disable-es-transforms` for
`disableESTransforms`. (<<-ArS, Alan Pierce) (\[[#670](https://redirect.github.com/alangpierce/sucrase/issues/670)], \[[#812](https://redirect.github.com/alangpierce/sucrase/issues/812)])
- Add `SUCRASE_OPTIONS` environment variable for configuring `sucrase/register`, `sucrase-node`,
and any programmatic require hook usages. The value must be a valid JSON object of Sucrase
options that will be merged with the usual options. (\[[#813](https://redirect.github.com/alangpierce/sucrase/issues/813)])
### [`v3.33.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3330-2023-07-14)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/2fafe71dc2df754dc7087fbea77d0672e0eb8101...ceeb203185005b410a2e770a06a08ce877c33a9a)
- Add an option `keepUnusedImports` that disables all automatic import/export
elision, equivalent to the TypeScript option `verbatimModuleSyntax`. (\[[#811](https://redirect.github.com/alangpierce/sucrase/issues/811)], \[[#615](https://redirect.github.com/alangpierce/sucrase/issues/615)]) (Kotaro Chikuba, Alan Pierce)
- Add support for the `await using` proposal and the updated import attributes proposal.
Both are preserved in the output code, not transformed. (\[[#798](https://redirect.github.com/alangpierce/sucrase/issues/798)])
- Fix some issues with TypeScript automatic export elision in `export {...} from` statements. (\[[#806](https://redirect.github.com/alangpierce/sucrase/issues/806)])
- Type names from the current file are no longer removed.
- When all exports are type exports, the entire statement is now removed.
- Fix bug where `fn(x < y, x >= y)` was incorrectly parsed as type arguments. (\[[#798](https://redirect.github.com/alangpierce/sucrase/issues/798)])
- Fix a few bugs in `enableLegacyBabel5ModuleInterop`: properly handle `as default`, and properly ignore type exports. (\[[#804](https://redirect.github.com/alangpierce/sucrase/issues/804)], \[[#807](https://redirect.github.com/alangpierce/sucrase/issues/807)]) (三咲智子 Kevin Deng, Alan Pierce)
- Fix bug where parameters inside function types could be misinterpreted as declarations and result in imports being incorrectly marked as unused. (\[[#809](https://redirect.github.com/alangpierce/sucrase/issues/809)])
- Fix bug where `import {}` and `export {}` statements were removed with the TypeScript transform disabled. (\[[#810](https://redirect.github.com/alangpierce/sucrase/issues/810)])
- Make the transform behavior more forgiving when code accidentally has a return type annotation on a constructor. (\[[#800](https://redirect.github.com/alangpierce/sucrase/issues/800)])
### [`v3.32.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3320-2023-04-08)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/c81e393ed0c45e7fda178210c8906cc1330c47fa...2fafe71dc2df754dc7087fbea77d0672e0eb8101)
- Improve source map quality by adding column information. This fixes several
source map use cases, such as Jest inline snapshots, source map composition,
and some debugger features. (\[[#759](https://redirect.github.com/alangpierce/sucrase/issues/759)]) (Emily Marigold Klassen)
- Unfortunately, this change comes at some performance cost. Previously, the
slowdown from enabling source maps was about 10%, and now it is about 30%.
In most cases, the more detailed source maps are probably still preferable,
so for configuration simplicity, there is currently no option to switch
back to source maps without column information. If you would like to still
use the faster but less accurate implementation, feel free to file an issue
to request a new config option, or create the source map yourself in
wrapper code by copying the
[original simple implementation](https://redirect.github.com/alangpierce/sucrase/blob/9b20ea57aa95d0926fcb560f1500f984d598aa00/src/computeSourceMap.ts).
### [`v3.31.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3310-2023-03-26)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/4b03ee3bd581c786791945c843c759741cbd1f4d...c81e393ed0c45e7fda178210c8906cc1330c47fa)
- Add option to recognize and preserve JSX syntax. (\[[#788](https://redirect.github.com/alangpierce/sucrase/issues/788)])
- Fix default export interop behavior when using transpiled dynamic `import()` to import a plain CJS module.
For example, if `foo.js` has `module.exports = 1;`, then `await import('foo.js')` will now evaluate to `{default: 1}`
rather than just `1`. Named exports behave the same as before.
This change matches the behavior of Node.js and other transpilers, so it is considered a bug fix rather than
breaking. If you relied on the old behavior, feel free to file an issue and it may be possible to roll back until the
next semver-major release. (\[[#789](https://redirect.github.com/alangpierce/sucrase/issues/789)], \[[#790](https://redirect.github.com/alangpierce/sucrase/issues/790)])
### [`v3.30.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3300-2023-03-20)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/0fc016d37df1a77b28473e1086365e98e5d0a8d0...4b03ee3bd581c786791945c843c759741cbd1f4d)
- Add support for new syntax in TypeScript 5.0:
- `export type *`. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)])
- `const` on type parameters. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)])
- Implement parsing for several ES proposals. These are preserved in the output code, not transformed.
- Import reflection: `import module`. (\[[#785](https://redirect.github.com/alangpierce/sucrase/issues/785)])
- Explicit resource management: `using`. (\[[#785](https://redirect.github.com/alangpierce/sucrase/issues/785)])
- Decorator after export keyword: `export @foo class ...`. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)])
- Fix parsing of `<<` within a type. (\[[#769](https://redirect.github.com/alangpierce/sucrase/issues/769)])
### [`v3.29.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3290-2022-11-16)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/7b349b1d4e50bdd11bf8733a5e4bef67266dae50...0fc016d37df1a77b28473e1086365e98e5d0a8d0)
- Add support for the TypeScript 4.9 `satisfies` operator. (\[[#766](https://redirect.github.com/alangpierce/sucrase/issues/766)])
### [`v3.28.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3280-2022-10-05)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/fb4c1c40fda5e61956d7ebc4b1c475ee969a0e17...7b349b1d4e50bdd11bf8733a5e4bef67266dae50)
- Add [ts-node](https://redirect.github.com/TypeStrong/ts-node) transpiler plugin, available as `sucrase/ts-node-plugin`.
This makes it possible to use Sucrase with all ts-node features such as an ESM loader, a REPL, and configuration
via tsconfig.json. (\[[#729](https://redirect.github.com/alangpierce/sucrase/issues/729)])
### [`v3.27.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3270-2022-09-15)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/9de939267a0fd932ba0ca177e324065d99be61d4...fb4c1c40fda5e61956d7ebc4b1c475ee969a0e17)
- Add support for `assert {type: 'json'}` in import statements. (\[[#746](https://redirect.github.com/alangpierce/sucrase/issues/746)])
### [`v3.26.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3260-2022-09-12)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/44eb2aee1ac0fb5ed88b0a3138e947b0737273bc...9de939267a0fd932ba0ca177e324065d99be61d4)
- Add support for the JSX automatic runtime, also known as the
[React 17 transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html).
It can be enabled using `jsxRuntime: true` and configured using the `production` and `jsxImportSource`
configs. (\[[#738](https://redirect.github.com/alangpierce/sucrase/issues/738)], \[[#739](https://redirect.github.com/alangpierce/sucrase/issues/739)], \[[#742](https://redirect.github.com/alangpierce/sucrase/issues/742)], \[[#740](https://redirect.github.com/alangpierce/sucrase/issues/740)])
### [`v3.25.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3250-2022-08-01)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/348e7aa0d5d7358ce45864555176d226eaae85a8...44eb2aee1ac0fb5ed88b0a3138e947b0737273bc)
- Add two new options to more closely match the `module: nodenext` option from
[TypeScript 4.7](https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#commonjs-interoperability):
- When using the `imports` transform, the new flag `preserveDynamicImport`
will leave dynamic `import()` calls alone rather than compiling them to
promise-wrapped `require`. This makes it possible to load ESM modules from
CommonJS. (\[[#727](https://redirect.github.com/alangpierce/sucrase/issues/727)])
- When *not* using the `imports` transform, the new flag `injectCreateRequireForImportRequire`
will compile `import foo = require("foo");` to use `createRequire` so that
can work in a Node ES module. (\[[#728](https://redirect.github.com/alangpierce/sucrase/issues/728)])
- When `disableESTransforms` is enabled, remove `abstract` fields in the same
way that `declare` fields are removed. This matches TypeScript's behavior. (\[[#732](https://redirect.github.com/alangpierce/sucrase/issues/732)])
### [`v3.24.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3240-2022-07-14)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/b9bce13a46883812229f63db5340d429cb8a07c7...348e7aa0d5d7358ce45864555176d226eaae85a8)
- Add support for all new syntax in TypeScript 4.7: (\[[#719](https://redirect.github.com/alangpierce/sucrase/issues/719)])
- Instantiation expressions: `const NumberSet = Set;`
- `extends` on `infer`: `T extends [infer S extends string, ...unknown[]] ? S : never;`
- Variance annotations: `type Getter = () => T;`
- Add parsing support for the `accessor` keyword in ES decorators. (\[[#716](https://redirect.github.com/alangpierce/sucrase/issues/716)])
- Fix invalid ESM output that sometimes happened when eliding TS star imports. (\[[#723](https://redirect.github.com/alangpierce/sucrase/issues/723)])
- Fix lots of parser edge case bugs. Examples of code that confused the parser before but now works:
- `a as b ?? c` (\[[#721](https://redirect.github.com/alangpierce/sucrase/issues/721)])
- `const a: Array=[];` (\[[#717](https://redirect.github.com/alangpierce/sucrase/issues/717)])
- `f<() => void>()` (\[[#716](https://redirect.github.com/alangpierce/sucrase/issues/716)])
- Some additional cases involving line break handling. (\[[#714](https://redirect.github.com/alangpierce/sucrase/issues/714)])
- Fix some edge cases with JSX entity transformation. (\[[#717](https://redirect.github.com/alangpierce/sucrase/issues/717)])
### [`v3.23.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3230-2022-07-01)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/2da78b9361596dcf01010118f07f6237d0da94b8...b9bce13a46883812229f63db5340d429cb8a07c7)
- Add support for TS 4.5 import/export type modifiers. (\[[#713](https://redirect.github.com/alangpierce/sucrase/issues/713)])
- Fix parsing bug that failed on scientific notation with dot access. (\[[#711](https://redirect.github.com/alangpierce/sucrase/issues/711)])
### [`v3.22.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3220-2022-06-27)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/489871e4071a9766223c831e78f68019e655a460...2da78b9361596dcf01010118f07f6237d0da94b8)
- Add support for Flow enums. (\[[#708](https://redirect.github.com/alangpierce/sucrase/issues/708)], \[[#709](https://redirect.github.com/alangpierce/sucrase/issues/709)])
- Fix some parser bugs when detecting arrow functions. (\[[#673](https://redirect.github.com/alangpierce/sucrase/issues/673)])
### [`v3.21.1`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3211-2022-06-21)
[Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/495ebdcea2f1fa1e62034453ea1da2029074b142...489871e4071a9766223c831e78f68019e655a460)
- Allow re-export after star export of same name. (\[[#698](https://redirect.github.com/alangpierce/sucrase/issues/698)]) (Cameron Pitt)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
3.21.0
->3.35.0
Release Notes
alangpierce/sucrase (sucrase)
### [`v3.35.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3350-2023-12-21) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/4bd800b513a04a0de20c9c246c72936f889c348f...ab642fe2ec4cdd8e174cc310545152b4767437bb) - Upgrade `glob` to fix a security vulnerability in the `inflight` package. (\[[#822](https://redirect.github.com/alangpierce/sucrase/issues/822)]) (Patrick Nappa) - **Note that the `sucrase` CLI no longer works in Node.js versions before 14.7.** - If you use the `sucrase` CLI, you should pin to Sucrase 3.34.0 until you're able to upgrade Node.js to a supported version. Note that all Node.js versions before 18 are end-of-life. - If you don't use the `sucrase` CLI, you may need to silence errors related to package.json `engines`, e.g. `yarn --ignore-engines`. - This change is being released in a semver-minor release since it fixes a security vulnerability and the breaking change impact is expected to be small. See [this PR comment](https://redirect.github.com/alangpierce/sucrase/pull/822#issuecomment-1867087904) for a rationale on the release strategy. ### [`v3.34.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3340-2023-07-19) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/ceeb203185005b410a2e770a06a08ce877c33a9a...4bd800b513a04a0de20c9c246c72936f889c348f) - Add CLI options for all remaining Sucrase options, e.g. `--disable-es-transforms` for `disableESTransforms`. (<<-ArS, Alan Pierce) (\[[#670](https://redirect.github.com/alangpierce/sucrase/issues/670)], \[[#812](https://redirect.github.com/alangpierce/sucrase/issues/812)]) - Add `SUCRASE_OPTIONS` environment variable for configuring `sucrase/register`, `sucrase-node`, and any programmatic require hook usages. The value must be a valid JSON object of Sucrase options that will be merged with the usual options. (\[[#813](https://redirect.github.com/alangpierce/sucrase/issues/813)]) ### [`v3.33.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3330-2023-07-14) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/2fafe71dc2df754dc7087fbea77d0672e0eb8101...ceeb203185005b410a2e770a06a08ce877c33a9a) - Add an option `keepUnusedImports` that disables all automatic import/export elision, equivalent to the TypeScript option `verbatimModuleSyntax`. (\[[#811](https://redirect.github.com/alangpierce/sucrase/issues/811)], \[[#615](https://redirect.github.com/alangpierce/sucrase/issues/615)]) (Kotaro Chikuba, Alan Pierce) - Add support for the `await using` proposal and the updated import attributes proposal. Both are preserved in the output code, not transformed. (\[[#798](https://redirect.github.com/alangpierce/sucrase/issues/798)]) - Fix some issues with TypeScript automatic export elision in `export {...} from` statements. (\[[#806](https://redirect.github.com/alangpierce/sucrase/issues/806)]) - Type names from the current file are no longer removed. - When all exports are type exports, the entire statement is now removed. - Fix bug where `fn(x < y, x >= y)` was incorrectly parsed as type arguments. (\[[#798](https://redirect.github.com/alangpierce/sucrase/issues/798)]) - Fix a few bugs in `enableLegacyBabel5ModuleInterop`: properly handle `as default`, and properly ignore type exports. (\[[#804](https://redirect.github.com/alangpierce/sucrase/issues/804)], \[[#807](https://redirect.github.com/alangpierce/sucrase/issues/807)]) (三咲智子 Kevin Deng, Alan Pierce) - Fix bug where parameters inside function types could be misinterpreted as declarations and result in imports being incorrectly marked as unused. (\[[#809](https://redirect.github.com/alangpierce/sucrase/issues/809)]) - Fix bug where `import {}` and `export {}` statements were removed with the TypeScript transform disabled. (\[[#810](https://redirect.github.com/alangpierce/sucrase/issues/810)]) - Make the transform behavior more forgiving when code accidentally has a return type annotation on a constructor. (\[[#800](https://redirect.github.com/alangpierce/sucrase/issues/800)]) ### [`v3.32.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3320-2023-04-08) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/c81e393ed0c45e7fda178210c8906cc1330c47fa...2fafe71dc2df754dc7087fbea77d0672e0eb8101) - Improve source map quality by adding column information. This fixes several source map use cases, such as Jest inline snapshots, source map composition, and some debugger features. (\[[#759](https://redirect.github.com/alangpierce/sucrase/issues/759)]) (Emily Marigold Klassen) - Unfortunately, this change comes at some performance cost. Previously, the slowdown from enabling source maps was about 10%, and now it is about 30%. In most cases, the more detailed source maps are probably still preferable, so for configuration simplicity, there is currently no option to switch back to source maps without column information. If you would like to still use the faster but less accurate implementation, feel free to file an issue to request a new config option, or create the source map yourself in wrapper code by copying the [original simple implementation](https://redirect.github.com/alangpierce/sucrase/blob/9b20ea57aa95d0926fcb560f1500f984d598aa00/src/computeSourceMap.ts). ### [`v3.31.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3310-2023-03-26) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/4b03ee3bd581c786791945c843c759741cbd1f4d...c81e393ed0c45e7fda178210c8906cc1330c47fa) - Add option to recognize and preserve JSX syntax. (\[[#788](https://redirect.github.com/alangpierce/sucrase/issues/788)]) - Fix default export interop behavior when using transpiled dynamic `import()` to import a plain CJS module. For example, if `foo.js` has `module.exports = 1;`, then `await import('foo.js')` will now evaluate to `{default: 1}` rather than just `1`. Named exports behave the same as before. This change matches the behavior of Node.js and other transpilers, so it is considered a bug fix rather than breaking. If you relied on the old behavior, feel free to file an issue and it may be possible to roll back until the next semver-major release. (\[[#789](https://redirect.github.com/alangpierce/sucrase/issues/789)], \[[#790](https://redirect.github.com/alangpierce/sucrase/issues/790)]) ### [`v3.30.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3300-2023-03-20) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/0fc016d37df1a77b28473e1086365e98e5d0a8d0...4b03ee3bd581c786791945c843c759741cbd1f4d) - Add support for new syntax in TypeScript 5.0: - `export type *`. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)]) - `const` on type parameters. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)]) - Implement parsing for several ES proposals. These are preserved in the output code, not transformed. - Import reflection: `import module`. (\[[#785](https://redirect.github.com/alangpierce/sucrase/issues/785)]) - Explicit resource management: `using`. (\[[#785](https://redirect.github.com/alangpierce/sucrase/issues/785)]) - Decorator after export keyword: `export @foo class ...`. (\[[#786](https://redirect.github.com/alangpierce/sucrase/issues/786)]) - Fix parsing of `<<` within a type. (\[[#769](https://redirect.github.com/alangpierce/sucrase/issues/769)]) ### [`v3.29.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3290-2022-11-16) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/7b349b1d4e50bdd11bf8733a5e4bef67266dae50...0fc016d37df1a77b28473e1086365e98e5d0a8d0) - Add support for the TypeScript 4.9 `satisfies` operator. (\[[#766](https://redirect.github.com/alangpierce/sucrase/issues/766)]) ### [`v3.28.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3280-2022-10-05) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/fb4c1c40fda5e61956d7ebc4b1c475ee969a0e17...7b349b1d4e50bdd11bf8733a5e4bef67266dae50) - Add [ts-node](https://redirect.github.com/TypeStrong/ts-node) transpiler plugin, available as `sucrase/ts-node-plugin`. This makes it possible to use Sucrase with all ts-node features such as an ESM loader, a REPL, and configuration via tsconfig.json. (\[[#729](https://redirect.github.com/alangpierce/sucrase/issues/729)]) ### [`v3.27.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3270-2022-09-15) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/9de939267a0fd932ba0ca177e324065d99be61d4...fb4c1c40fda5e61956d7ebc4b1c475ee969a0e17) - Add support for `assert {type: 'json'}` in import statements. (\[[#746](https://redirect.github.com/alangpierce/sucrase/issues/746)]) ### [`v3.26.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3260-2022-09-12) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/44eb2aee1ac0fb5ed88b0a3138e947b0737273bc...9de939267a0fd932ba0ca177e324065d99be61d4) - Add support for the JSX automatic runtime, also known as the [React 17 transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). It can be enabled using `jsxRuntime: true` and configured using the `production` and `jsxImportSource` configs. (\[[#738](https://redirect.github.com/alangpierce/sucrase/issues/738)], \[[#739](https://redirect.github.com/alangpierce/sucrase/issues/739)], \[[#742](https://redirect.github.com/alangpierce/sucrase/issues/742)], \[[#740](https://redirect.github.com/alangpierce/sucrase/issues/740)]) ### [`v3.25.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3250-2022-08-01) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/348e7aa0d5d7358ce45864555176d226eaae85a8...44eb2aee1ac0fb5ed88b0a3138e947b0737273bc) - Add two new options to more closely match the `module: nodenext` option from [TypeScript 4.7](https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#commonjs-interoperability): - When using the `imports` transform, the new flag `preserveDynamicImport` will leave dynamic `import()` calls alone rather than compiling them to promise-wrapped `require`. This makes it possible to load ESM modules from CommonJS. (\[[#727](https://redirect.github.com/alangpierce/sucrase/issues/727)]) - When *not* using the `imports` transform, the new flag `injectCreateRequireForImportRequire` will compile `import foo = require("foo");` to use `createRequire` so that can work in a Node ES module. (\[[#728](https://redirect.github.com/alangpierce/sucrase/issues/728)]) - When `disableESTransforms` is enabled, remove `abstract` fields in the same way that `declare` fields are removed. This matches TypeScript's behavior. (\[[#732](https://redirect.github.com/alangpierce/sucrase/issues/732)]) ### [`v3.24.0`](https://redirect.github.com/alangpierce/sucrase/blob/HEAD/CHANGELOG.md#3240-2022-07-14) [Compare Source](https://redirect.github.com/alangpierce/sucrase/compare/b9bce13a46883812229f63db5340d429cb8a07c7...348e7aa0d5d7358ce45864555176d226eaae85a8) - Add support for all new syntax in TypeScript 4.7: (\[[#719](https://redirect.github.com/alangpierce/sucrase/issues/719)]) - Instantiation expressions: `const NumberSet = SetConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.