from './foo' import './foo';
Personally I like this syntax better, but feel that changing or adding import syntax at this point I'd a non-starter... Not sure what others feel about this one.
I had the same idea coming from Python to JS. Current import syntax doesn’t allow IDE’s to hint which functions/modules are available for import.
Please see my proposal and let me know your thoughts
vladi-dev/proposal-reverse-import-syntax, vladi-dev/proposal-reverse-import-syntax
You're seriously underestimating how smart IDEs are or can be.
Some IDEs are already suggesting the entire import statement when a symbol
is used, based on what's in other modules, package.json, etc.
There's no reason why an IDE can't auto-suggest the import name based on
undefined symbols in the file, among other things.
There's also no compelling reason why you can't type import {} from "module";
, then go back and fill in the symbol name inside the {}
.
You could use a snippet manager to make this semi-painless, defining the
snippet as something like import {$2} from "$1";
.
Bob
I already use a similar snippet for const foo = require("bar")
,
since not all module names are valid identifiers (think: anything with
a hyphen), and sometimes I prefer to destructure. In Atom, I currently
have a snippet for const ${2:$1} = require("$1")
and import ${2:$1} from "$1"
that I personally use*, which are incredibly useful (I
don't have to specify whether I'm using named, default, or namespace
imports, and can just type them as I go, and I also get a helpful
default name in the process).
* Well...not currently, thanks to this ugly bug in a recent update: atom/snippets#266
Isiah Meadows me at isiahmeadows.com
Looking for web consulting? Or a new website? Send me an email and we can get started. www.isiahmeadows.com
Could
from 'name' import something;
be added to ES module grammar?
which would work like the current
import something from 'name';
The advantage is to sort more easily import, and have autocompletion of imported identifiers
edit: Arg, I messed up the title