Skip to content

Commit b54c1e8

Browse files
committed
docs: Improve documentation trust and impact
- Remove self-deprecating language ("lazy maintainer") that hurts trust - Remove version numbers that will get outdated (ts-morph v27, TS 5.7) - Update blog URL to 2025-12 - Make README opening punchier: "One keystroke. One click. Hundreds of files organized." - Simplify narrative to "picked it up and modernized"
1 parent ef8a134 commit b54c1e8

2 files changed

Lines changed: 30 additions & 14 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
# Mini TypeScript Hero – Small hero. Big cleanup!
66

7-
**Sorts and organizes TypeScript/JavaScript imports** — A lightweight, modern VSCode extension that automatically manages your import statements.
7+
**One keystroke. One click. Hundreds of files organized.** — A lightweight, modern VSCode extension that sorts and organizes your TypeScript/JavaScript imports.
88

9-
This extension is a modernized extraction of the "Organize Imports" feature from the original [TypeScript Hero](https://github.com/buehler/typescript-hero) extension, rebuilt with modern best practices.
9+
[TypeScript Hero](https://github.com/buehler/typescript-hero) was well-known for its import organizer, but it went unmaintained. We picked it up, modernized everything, and added new features.
1010

11-
**Read the full story:** [TypeScript Hero is dead (is yet another VS Code extension gone forever?)](https://angular.schule/blog/2025-10-mini-typescript-hero)
11+
**Read the full story:** [TypeScript Hero is dead (is yet another VS Code extension gone forever?)](https://angular.schule/blog/2025-12-mini-typescript-hero)
1212

1313
## Features
1414

@@ -252,7 +252,7 @@ New users get `legacyMode: false` by default. You can toggle this setting anytim
252252

253253
## Credits
254254

255-
This extension is based on the "Organize Imports" feature from [TypeScript Hero](https://github.com/buehler/typescript-hero) by Christoph Bühler. The original TypeScript Hero is no longer maintained, so we've extracted and modernized this valuable feature.
255+
This extension continues [TypeScript Hero](https://github.com/buehler/typescript-hero) by Christoph Bühler. The original went unmaintained, so we picked it up and modernized it.
256256

257257
## License
258258

blog-post.md

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,28 @@ Angular libraries grouped together and automatically merged into one import. RxJ
4545
[Christoph Bühler](https://me.cbue.ch/), the original author of TypeScript Hero, no longer had time to maintain the extension. He's moved on from TypeScript work, which is totally fair. We all have our seasons with different technologies.
4646

4747
But I needed this feature. Every. Single. Day.
48-
So I reached out to Christoph with a simple question: Could I rescue the import organizer and release it as a new extension?
48+
So I reached out to Christoph with a simple question: Could I pick up TypeScript Hero and release it as a new extension?
4949
His response was incredibly kind and supportive. He gave me his blessing, shared what code he still had, and even said he'd be excited to see the work continue.
5050

5151
**My mission was simple**: Preserve this feature for myself. And hopefully, other people will like it too.
5252

53+
## Cool New Features
54+
55+
While modernizing, we added some features that the original never had:
56+
57+
**🗂️ Organize entire folders or your whole workspace at once!**
58+
59+
Right-click any folder in the Explorer → "Organize imports in folder". Or run "Organize imports in workspace" from the Command Palette. Perfect for:
60+
- Cleaning up after major refactorings
61+
- Onboarding legacy projects to your team's import style
62+
- Enforcing consistent imports across hundreds of files
63+
64+
The extension intelligently skips `node_modules`, `dist`, `build`, and other artifacts. You can also configure custom exclude patterns for auto-generated files your team shouldn't touch.
65+
66+
**⚠️ Conflict detection**
67+
68+
Using Prettier or ESLint plugins that also sort imports? Run "Check for configuration conflicts" to detect if multiple tools are fighting over your imports.
69+
5370
## Wait, Doesn't VS Code Already Have This?
5471

5572
**Yes, but no.** VS Code has a built-in "Organize Imports" feature that removes unused imports, sorts alphabetically, and merges duplicate imports. Since TypeScript 4.7+, it preserves blank lines you manually add between import groups. The fundamental difference is **how groups are created**: you manually type blank lines (VS Code preserves them), versus automatic grouping (Mini TypeScript Hero creates them).
@@ -78,16 +95,15 @@ For a tool I rely on daily, that was a ticking time bomb.
7895
- Complex codebase from 2018
7996

8097
**The new engine:**
81-
- [`ts-morph`](https://github.com/dsherret/ts-morph) v27 (actively maintained, modern)
82-
- TypeScript 5.7 with strict mode
98+
- [`ts-morph`](https://github.com/dsherret/ts-morph) (actively maintained, modern)
99+
- TypeScript with strict mode
83100
- Simpler, cleaner architecture, everything new
84101
- No deprecated dependencies
85102

86-
**Key improvements:**
87-
- **Smart blank line handling**: Choose how many blank lines you want after imports. The new default is 1 blank line (standard from ESLint), but you can configure it to 2 lines, preserve existing spacing, or use the old TypeScript Hero behavior. Honestly, I always felt that 1 line would be better than the old behavior where blank lines would sometimes "move" around unpredictably. Now everyone can decide what preference they have!
88-
- **Configurable import merging**: The extension can combine multiple imports from the same module (like two `@angular/core` imports) into one clean statement. This is now a configurable option, and migrated users automatically get their original behavior preserved while new users benefit from modern best practices.
89-
- **Workspace-wide organization**: Beyond the familiar single-file shortcut, you can now organize imports across your entire workspace or within specific folders via the context menu. Useful for cleaning up after major refactorings or onboarding new projects. The extension intelligently skips build artifacts and includes configurable exclude patterns for auto-generated files.
90-
- **Modern TypeScript support**: Full support for TypeScript 3.8+ `import type` syntax and import attributes (`with { type: 'json' }`), preserving semantic import behavior for better type safety and tree-shaking. Legacy mode available for compatibility with older TypeScript versions.
103+
**Other improvements:**
104+
- **Smart blank line handling**: Choose how many blank lines you want after imports (1, 2, or preserve existing). The old behavior where blank lines would sometimes "move" unpredictably is now configurable.
105+
- **Configurable import merging**: Combine multiple imports from the same module into one clean statement. Migrated users keep their original behavior; new users get modern best practices.
106+
- **Modern TypeScript support**: Full support for `import type` syntax and import attributes (`with { type: 'json' }`).
91107

92108
The goal was simple: **Future-proof**. Make sure this tool keeps working for years to come, without depending on abandoned libraries.
93109

@@ -108,7 +124,7 @@ This extension is **MIT licensed and free for everyone**.
108124

109125
I'm incredibly grateful to Christoph Bühler for creating TypeScript Hero in the first place, and for being so generous in allowing this work to continue. The original code, the design decisions, the thoughtful features: all of that came from Christoph.
110126

111-
I'm just keeping the lights on and making sure it stays maintained, though I'm known for being a lazy maintainer. Feel free to fork it when I ever abandon it.
127+
I'm committed to keeping this tool maintained and working for the community.
112128

113129
## Install Mini TypeScript Hero Now
114130

@@ -129,6 +145,6 @@ Ready to organize your imports with a single keystroke?
129145

130146
---
131147

132-
**TL;DR:** TypeScript Hero isn't dead. It's been rescued and modernized as Mini TypeScript Hero. VS Code has basic organize imports, but Mini TypeScript Hero gives you custom grouping patterns, formatting control, and import organization that can match your team's style guide.
148+
**TL;DR:** TypeScript Hero isn't dead. We picked it up and modernized it as Mini TypeScript Hero. VS Code has basic organize imports, but Mini TypeScript Hero gives you custom grouping patterns, formatting control, and import organization that can match your team's style guide.
133149

134150
Happy coding! ✨

0 commit comments

Comments
 (0)