-
Notifications
You must be signed in to change notification settings - Fork 13k
Description
import.meta
does not parse. import.meta
is stage 3 and implemented in Chrome/V8. See the TC39 proposal here: https://github.com/tc39/proposal-import-meta
TypeScript Version: 2.7.0-dev.201xxxxx
Search Terms:
import.meta
Code
const u = import.meta.url;
Expected behavior:
import.meta
at least parses when output is esnext.
For downlevel emit, specific meta-properties like import.meta.url
, would presumably have to be handled differently. For import.meta.url
a project could be given a base URL from which module base URLs are calculated from given their path.
Or a custom transform could be used. Any solution requires that import.meta
parse though.
Actual behavior:
Syntax error.
Playground Link:
http://www.typescriptlang.org/play/#src=const%20i%20%3D%20import.meta.url%3B
Related Issues:
Activity
DanielRosenwasser commentedon Mar 25, 2018
What would the type be?
any
? Changing it after the fact would be breaking.justinfagnani commentedon Mar 25, 2018
As far as I know,
import.meta
is host defined, so by default I don't think it could be anything other thanobject
. The node and dom typings should defineimport.meta.url
as string.mhegazy commentedon Mar 26, 2018
I would say the type should be:
This allows say node to define some well-known import.meta fields.
justinfagnani commentedon Mar 26, 2018
I guess there are two options:
and
The latter would require that you import some typings that define specific fields, or cast your way out of an error.