Code Monkey home page Code Monkey logo

Comments (7)

TulioPintoNeto avatar TulioPintoNeto commented on April 27, 2024 2

@abarghoud according to the repository CONTRIBUTING any issue with the label "Help wanted" is allowed to be worked by anyone.

Also, is important to avoid Issue Claiming.

Please feel free to start working in this, you don't have to ask permission as it's labelled with "Help wanted"

from typescript.

abarghoud avatar abarghoud commented on April 27, 2024 2

@TulioPintoNeto Thanks for pointing it out, I did not know about the issue claiming thing. I forgot to read the contribution guide 🤦‍♂️

from typescript.

TulioPintoNeto avatar TulioPintoNeto commented on April 27, 2024 1

Sorry, I was supposed to mention @andrewbranch.

But to answer you, @abarghoud :

  • This is a experience enhancement, not a bug (not that the nomenclature for this case matters too much hehe);
  • Probably it is possible to achieve this using the TypeScript compiler. The responsibility for intellisense refactorings/formatting/codefixes is within the TypeScript compiler itself. You may find most of the intellisense things in the src/services/ folder;

But the main thing I'm calling out here is that reordering lines when renaming will not always give a consistent output with Eslint (which is the desired according to the use cases provided in the description of this issue). This happens due to the fact that each codebase can set up its own rules for ordering imports.

from typescript.

abarghoud avatar abarghoud commented on April 27, 2024

@RyanCavanaugh I'm interested in tackling this. Is this something I can jump in on?

from typescript.

TulioPintoNeto avatar TulioPintoNeto commented on April 27, 2024

Context

@abarghoud I was checking about the way we sort when adding an import (the suggestion on this issue)

Seems like we are sorting by the folder structure, not by the variable name, while Eslint rule is sorting by variable name.

TypeScript import (please note that we have an error in line 2 due to sort-import rule from eslint):

Screen.Recording.2024-03-29.at.21.17.08.mov

Next steps?

With that in mind:

  • Should we use the same order the import command does?;
    OR
  • Should we use the same order as the Eslint rule?

I think it's pertinent, so I'm also bringing this:

Eslint team chose not to auto-fix the order of imports in --fix because this change the way the code could behaviour:
eslint/eslint#11542

I mean, by implementing this behaviour (of reording lines) we can even increase the amount of conflicts with Eslint, as the order of lines could be defined differently for each project on the eslint config. So I'm advocating against it based on the use cases given

from typescript.

abarghoud avatar abarghoud commented on April 27, 2024

@TulioPintoNeto I support the notion of retaining TypeScript's team's design for auto-import ordering. This is especially pertinent considering the availability of multiple ESLint rules that can be configured to alter the sorting method.

I believe the bug that needs fixing is the failure to reorder file names when renaming them. However, I'm concerned that it may not be possible because I think IDEs handle it rather than TypeScript itself.

Wdyt?

from typescript.

andrewbranch avatar andrewbranch commented on April 27, 2024

There are TS Server preferences that control the sort order, and a lot of utilities under ts.OrganizeImports to detect and apply those preferences.

from typescript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.