Skip to content

Commit 159f992

Browse files
authored
Don't re-write import * as ... from ... (#1083)
1 parent 0fd1f73 commit 159f992

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/nodes/ImportDirective.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,15 @@ export const ImportDirective = {
1212
let document;
1313

1414
if (node.unitAlias) {
15-
// import "./Foo.sol" as Foo;
16-
document = [importPath, ' as ', node.unitAlias];
15+
// First we look for '*' between the beginning of the import and the
16+
// beginning of the importPath
17+
document = options.originalText
18+
.slice(options.locStart(node), options.locStart(node.pathLiteral))
19+
.includes('*')
20+
? // import * as Bar from "./Bar.sol";
21+
['* as ', node.unitAlias, ' from ', importPath]
22+
: // import "./Foo.sol" as Foo;
23+
[importPath, ' as ', node.unitAlias];
1724
} else if (node.symbolAliases) {
1825
// import { Foo, Bar as Qux } from "./Foo.sol";
1926
const compiler = coerce(options.compiler);

tests/format/ImportDirective/__snapshots__/jsfmt.spec.js.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {symbol1 as alias1, symbol2 as alias2, symbol3 as alias3, symbol4} from "
1616
=====================================output=====================================
1717
import "SomeFile.sol";
1818
import "SomeFile.sol" as SomeOtherFile;
19-
import "AnotherFile.sol" as SomeSymbol;
19+
import * as SomeSymbol from "AnotherFile.sol";
2020
import { symbol1 as alias1, symbol2 } from "File.sol";
2121
import { symbol1 as alias1, symbol2 as alias2, symbol3 as alias3, symbol4 } from "File2.sol";
2222
@@ -38,7 +38,7 @@ import {symbol1 as alias1, symbol2 as alias2, symbol3 as alias3, symbol4} from "
3838
=====================================output=====================================
3939
import "SomeFile.sol";
4040
import "SomeFile.sol" as SomeOtherFile;
41-
import "AnotherFile.sol" as SomeSymbol;
41+
import * as SomeSymbol from "AnotherFile.sol";
4242
import {symbol1 as alias1, symbol2} from "File.sol";
4343
import {symbol1 as alias1, symbol2 as alias2, symbol3 as alias3, symbol4} from "File2.sol";
4444

0 commit comments

Comments
 (0)