Skip to content

Releases: nicoespeon/abracadabra

9.4.8

29 Oct 02:47
Compare
Choose a tag to compare

Fixed

  • "Change Signature" on a nested function was not working as expected and would change the signature of the wrapping function instead of the selected one. Thanks @marabesi for reporting this one!

9.4.7

23 Oct 02:35
Compare
Choose a tag to compare

Fixed

  • Abracadabra was not working well with Vue files with content above the script tag. This has been fixed and refactorings should work fine again! Thanks @yinluobing and @acabreragnz for reporting 🙏

9.4.6

17 Aug 02:15
9f5405d
Compare
Choose a tag to compare

Fixed

  • Made Abracadabra parse <X> y type assertions on regular TS files. It was failing to handle these as it was considering them as invalid JSX code. It won't break anymore with this syntax.

9.4.5

14 Aug 15:23
Compare
Choose a tag to compare

No user-visible change. Attempting to fix CI deployments with vsce not being compatible with Yarn v4.

9.4.4

14 Aug 14:59
Compare
Choose a tag to compare

No user-visible change. Attempting to fix CI deployments with vsce not being compatible with Yarn v4.

9.4.3

14 Aug 14:26
Compare
Choose a tag to compare

No user-visible change. Attempting to fix CI deployments with vsce not being compatible with Yarn v4.

9.4.2

14 Aug 13:19
Compare
Choose a tag to compare

Fixed

Extracting a variable (Ctrl + Alt + V / ⌥ ⌘ V) while selecting a portion of the value may result in a partial selection when you get to name the extracted variable. Annoying!

Not anymore… The whole identifier is now selected, so you can just write the name right away 😉

Before:

before.mp4

After:

after.mp4

9.4.1

09 Aug 12:06
Compare
Choose a tag to compare

Fixed

The extension stopped working because the tool we are using to package it (esbuild) had a change that was incompatible with our code. The upgrade from 0.19 to 0.22 broke the extension.

Fortunately, that was fixed with esbuild 0.23, and upgrading to this latest version seems to have fixed the build.

Boolean Mine 🐘

08 Aug 18:54
Compare
Choose a tag to compare

Added

  • [New Refactoring] "Simplify Boolean" thanks to @ipanasenko suggestion. Some refactorings may left you with logical expressions that look like someCondition && true and that can be simplified. This refactoring will take care of figuring out how.

Fixed

  • @j4k0xb fixed "Inline Variable" when there was a shadowed parameter involved.

You've Got a Type in Me 🚀

15 Jun 10:33
Compare
Choose a tag to compare

Added

  • "Extract Type" can now extract type literals. This is particularly handy when you have such a union type:
type Context =
  | { state: "reading"; value: string }
  | {
      state: "editing";
      value: string;
      draftValue: string;
    };

Put your cursor wherever within { state: "reading"; value: string }, hit Ctrl+Shift+V (⌘ ⇧ V) and there you have it:

type ReadingContext = { state: "reading"; value: string };

type Context =
  | ReadingContext
  | {
      state: "editing";
      value: string;
      draftValue: string;
    };

The ReadingContext name was inferred, it it can be. In any case, you are in "rename mode" right away so you can type whatever is better, press Enter, be done.

In action:

extract.types.mp4