JS/TS
For Javascript only ECMAScript modules are supported at the moment. Hence the import statements are taken into account.
// Named imports are trackedimport { export1 } from "module-name"; // Tracked ✅import { export1 as alias1 } from "module-name"; // ?
// Those kind of import are not supported yetimport message from "./message.js";import * as name from "module-name";import defaultExport, { export1 /* … */ } from "module-name";import "module-name";Supported: This should over the majorities of the cases.
- Default imports
- Named imports (single and multiple)
- Named imports with aliases
default as aliaspattern- Dynamic imports (
import("module-name"))
Ignored at the moment:
- Namespace imports (
* as name) - Mixed default + named imports (
defaultExport, { ... }) - Mixed default + namespace imports (
defaultExport, * as name) - String literal export names (
{ "string name" as alias }) - Side-effect-only imports (
import "module-name")
File Extensions
Section titled “File Extensions”.js- JavaScript.jsx- JavaScript with JSX.ts- TypeScript.tsx- TypeScript with JSX
Abstraction Level Mapping
Section titled “Abstraction Level Mapping”Same like in Rust, packages are the top level abstraction, followed by the modules.
| Level | Component |
|---|---|
| L1 | Packages |
| L2 | Modules |