-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use correct parser plugins for TS and Vue #91
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commented on the two things I had concerns around!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this logic only kicked in if users omit the importOrderParserPlugins
options, or if they passed “auto-detect”
then I’d be a total thumbs up!
src/preprocessors/vue.ts
Outdated
if (!hasPlugin(newPlugins, 'typescript')) { | ||
newPlugins.push('typescript'); | ||
} | ||
|
||
if ( | ||
!hasPlugin(newPlugins, 'decorators') && | ||
!hasPlugin(newPlugins, 'decorators-legacy') | ||
) { | ||
newPlugins.push('decorators-legacy'); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m uncomfortable with injecting decorators
, because I’ve seen people fork every plugin. I worry that we’ll always be injecting decorators-legacy.
I’d be less uncomfortable if you were to shift this logic into the conditional-injection of the ‘typescript’
plugin. (Move the latter if-block to line 77).
I’d be least uncomfortable if this logic only happened if users omitted importOrderParserPlugins
entirely. Then we definitely have permission to do automatic behavior. — If users are passing us plugins, I worry that manipulating it could only lead to more, painful errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One problem we have is that we always inject typescript
and jsx
, and there's no way to know whether it was us or the user who did it. I'd like to get to the point where we can remove those defaults and be smart about when we default to various plugins, but I'm not all the way there yet. I'll see what it would take to do that as part of 4.0.
As for the decorators specifically, that was something I copied straight from vue (see vuejs/vue@326d24a). I'm not a vue user, so I'm not sure why it's important to include a decorator plugin, but I think it might be related to the older class-based component definition in Vue 2: https://v2.vuejs.org/v2/guide/typescript.html#Class-Style-Vue-Components.
So, I'm happy to remove the injection of the decorators plugin. Are you okay with the rest of it staying as-is?
…#156) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/browser-js-library-template).
…#109) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/browser-js-website-template).
…#122) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`^3.7.2` -> `^4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am every weekday,every weekend" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/js-bottomsheet).
…#79) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.0) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.0/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am on saturday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/node-ts-library-template).
…#71) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2) #### What's Changed - Account for missing filepath by [@​IanVS](https://github.com/IanVS) in [IanVS/prettier-plugin-sort-imports#104 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2 ### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1) #### What's Changed - Fix cli in Install section by [@​torn4dom4n](https://github.com/torn4dom4n) in [IanVS/prettier-plugin-sort-imports#99 - Fix dollar sign ($) issue in Vue SFC by [@​istiak-tridip](https://github.com/istiak-tridip) in [IanVS/prettier-plugin-sort-imports#101 #### New Contributors - [@​torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [IanVS/prettier-plugin-sort-imports#99 - [@​istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [IanVS/prettier-plugin-sort-imports#101 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1 ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 12am and before 5am on saturday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/node-js-library-template).
…#36) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2) #### What's Changed - Account for missing filepath by [@​IanVS](https://github.com/IanVS) in [IanVS/prettier-plugin-sort-imports#104 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2 ### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1) #### What's Changed - Fix cli in Install section by [@​torn4dom4n](https://github.com/torn4dom4n) in [IanVS/prettier-plugin-sort-imports#99 - Fix dollar sign ($) issue in Vue SFC by [@​istiak-tridip](https://github.com/istiak-tridip) in [IanVS/prettier-plugin-sort-imports#101 #### New Contributors - [@​torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [IanVS/prettier-plugin-sort-imports#99 - [@​istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [IanVS/prettier-plugin-sort-imports#101 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1 ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) ##### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/bookmark-tags).
…#161) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | [`3.7.2` -> `4.0.2`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/3.7.2/4.0.2) | [![age](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/compatibility-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@ianvs%2fprettier-plugin-sort-imports/4.0.2/confidence-slim/3.7.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ianvs/prettier-plugin-sort-imports</summary> ### [`v4.0.2`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.2) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.1...v4.0.2) #### What's Changed - Account for missing filepath by [@​IanVS](https://github.com/IanVS) in [IanVS/prettier-plugin-sort-imports#104 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.1...v4.0.2 ### [`v4.0.1`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.1) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.0.0...v4.0.1) #### What's Changed - Fix cli in Install section by [@​torn4dom4n](https://github.com/torn4dom4n) in [IanVS/prettier-plugin-sort-imports#99 - Fix dollar sign ($) issue in Vue SFC by [@​istiak-tridip](https://github.com/istiak-tridip) in [IanVS/prettier-plugin-sort-imports#101 #### New Contributors - [@​torn4dom4n](https://github.com/torn4dom4n) made their first contribution in [IanVS/prettier-plugin-sort-imports#99 - [@​istiak-tridip](https://github.com/istiak-tridip) made their first contribution in [IanVS/prettier-plugin-sort-imports#101 **Full Changelog**: IanVS/prettier-plugin-sort-imports@v4.0.0...v4.0.1 ### [`v4.0.0`](https://github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.0.0) [Compare Source](https://github.com/ianvs/prettier-plugin-sort-imports/compare/v3.7.2...v4.0.0) #### What's Changed This new release focuses on simplifying the plugin options, shipping more useful defaults, handling comments around import statements more reliably, and improving Vue and TypeScript compatibility. We also are targeting Node 16 syntax with our build, though older versions may continue to work (untested). See the full [migration guide](https://github.com/IanVS/prettier-plugin-sort-imports/blob/next/docs/MIGRATION.md#migrating-from-v3xx-to-v4xx) for details of the breaking changes. ##### ⬆️ Breaking Changes - Build for Node 16+ ([IanVS/prettier-plugin-sort-imports#59) - Remove `importOrderBuiltinModulesToTop` (always true) ([IanVS/prettier-plugin-sort-imports#60) - Remove `importOrderSeparation` option ([IanVS/prettier-plugin-sort-imports#62) - Remove `importOrderCaseInsensitive` option ([IanVS/prettier-plugin-sort-imports#63) - Remove `importOrderGroupNamespaceSpecifiers` option ([IanVS/prettier-plugin-sort-imports#64) - Remove `importOrderSortSpecifiers` option ([IanVS/prettier-plugin-sort-imports#65) - Remove `importOrderMergeDuplicateImports` option (always on) ([IanVS/prettier-plugin-sort-imports#66) - Replace `importOrderCombineTypeAndValueImports` with `importOrderTypeScriptVersion` ([IanVS/prettier-plugin-sort-imports#67) - Improve default sort order ([IanVS/prettier-plugin-sort-imports#83) ##### 🐛 Bug Fixes - Fix behavior around comments embedded in imports ([IanVS/prettier-plugin-sort-imports#71) - Preserve trailing comments on specifiers ([IanVS/prettier-plugin-sort-imports#80) - Preserve comments and blank lines at top-of-file (in [IanVS/prettier-plugin-sort-imports#82) - Prevent comment gap when re-arranging first import ([IanVS/prettier-plugin-sort-imports#85) - Fix: Top-of-file Comments get duplicated when moving runtime code ([IanVS/prettier-plugin-sort-imports#88) - Vue: Sort both script and setup script ([IanVS/prettier-plugin-sort-imports#90) - Vue and TypeScript: Use correct parser plugins ([IanVS/prettier-plugin-sort-imports#91) ##### ⚡️ Features - Add `<BUILTIN_MODULES>` Special Word ([IanVS/prettier-plugin-sort-imports#86) - Allow Explicit Separator after Top-of-file-comments ([IanVS/prettier-plugin-sort-imports#92) - Support babel-ts parser ([IanVS/prettier-plugin-sort-imports#97) ##### 🛠️ Repo Maintenance - Update dependencies, jest -> vitest ([IanVS/prettier-plugin-sort-imports#59) - Check formatting in CI ([IanVS/prettier-plugin-sort-imports#61) - Update to latest versions of Github Actions ([IanVS/prettier-plugin-sort-imports#73) - Add some more tests for comments ([IanVS/prettier-plugin-sort-imports#77) ##### 🧳 Dependencies - Drop javascript-natural-sort dependency ([IanVS/prettier-plugin-sort-imports#28) - Drop lodash.clone dependency ([IanVS/prettier-plugin-sort-imports#74) - Upgrade Babel to 7.21 ([IanVS/prettier-plugin-sort-imports#72) **Full Changelog**: IanVS/prettier-plugin-sort-imports@v3.7.2...v4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Asia/Kolkata, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, 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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/timelessco/next-ts-app).
This fixes a few issues with parser plugins.
It fixes #78 by removing the
jsx
parser plugin when the file is named.ts
(typescript requires the use of.tsx
extension for jsx).It also applies similar logic for .vue files, ensuring that the correct parser plugins are used, with similar logic to the vue compiler itself.