Suggestion
π Search Terms
jsdoc typedef export
β
Viability Checklist
My suggestion meets these guidelines:
β Suggestion
Keep @typedef and @type local to file (or scope?) unless exported (at top-level of file).
π Motivating Example
I've come to find JSDoc + VS Code the best way to use TypeScript:
- There's no compile-phase
- Code is always valid as-is
- Forgetting to build isn't fatal
- Often vastly simplifies tool chain
- You just use it within VS Code
- Let it show in-IDE errors
- Let it install/run TypeScript for you
- Still provides autocompletion and everything
- Encourages avoiding insanely complex types
- You can still make complex types via index.d.ts if really necessary
- You usually already want to document function parameters anyway, might as well use JSDoc
- Function declaration lines don't end up being 500 characters, since you can put each parameter on each line
It's overall a pretty good alternative to TypeScript in small/medium projects.
But it has this one big caveat: All types/typedefs in any files are visible in all files.
- This means you can't cleanly have helper types encapsulated to a file.
- And you can't mark types as being exportable, which means you can't have multiple types with the same name.
Fixing this would make JSDoc an extremely useful way to use TypeScript with the "almost zero config" VS Code approach.
(There's also #42949 which is unrelated to this except that it's one small but fixable thing making JSDoc support not as useful as TypeScript syntax.)
π» Use Cases
^
Suggestion
π Search Terms
jsdoc typedef export
β Viability Checklist
My suggestion meets these guidelines:
β Suggestion
Keep
@typedefand@typelocal to file (or scope?) unless exported (at top-level of file).π Motivating Example
I've come to find JSDoc + VS Code the best way to use TypeScript:
It's overall a pretty good alternative to TypeScript in small/medium projects.
But it has this one big caveat: All types/typedefs in any files are visible in all files.
Fixing this would make JSDoc an extremely useful way to use TypeScript with the "almost zero config" VS Code approach.
(There's also #42949 which is unrelated to this except that it's one small but fixable thing making JSDoc support not as useful as TypeScript syntax.)
π» Use Cases
^