Skip to content

Commit b7e27ef

Browse files
authored
Merge pull request #437 from 07akioni/fix-dts-import
Fix import .d.ts as dependency
2 parents 0fb19ea + 59c6401 commit b7e27ef

File tree

4 files changed

+18
-9
lines changed

4 files changed

+18
-9
lines changed

examples/angular2/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"karma-typescript": "latest",
3131
"karma-typescript-angular2-transform": "latest",
3232
"rxjs": "^6.5.4",
33+
"csstype": "^3.0.7",
3334
"typescript": "latest"
3435
}
3536
}

examples/angular2/src/app/hello.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { Component } from "@angular/core";
2+
// Testing a type only import
3+
import { Properties } from 'csstype'
24

35
@Component({
46
selector: "app-hello",

packages/karma-typescript/src/bundler/bundle-item.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export class BundleItem {
1515
}
1616

1717
public isScript(): boolean {
18-
return (this.filename && /\.(js|jsx|mjs|ts|tsx)$/.test(this.filename))
18+
return (this.filename && !this.isTypingsFile() && /\.(js|jsx|mjs|ts|tsx)$/.test(this.filename))
1919
|| this.transformedScript;
2020
}
2121

packages/karma-typescript/src/bundler/resolve/resolver.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,14 +195,20 @@ export class Resolver {
195195
return onFilenameResolved();
196196
}
197197

198-
// This is probably a compiler path module (.d.ts)
199-
if (bundleItem.isNpmModule() && bundleItem.isTypingsFile() &&
200-
bundleItem.filename.indexOf(bundleItem.moduleName) === -1) {
201-
const filepath = PathTool.fixWindowsPath(bundleItem.filename);
202-
const matches = filepath.match(/\/node_modules\/(.*)\//);
203-
if (matches && matches[1]) {
204-
moduleName = matches[1];
205-
this.log.debug("Resolved module name [%s] to [%s]", bundleItem.moduleName, moduleName);
198+
199+
if (bundleItem.isNpmModule() && bundleItem.isTypingsFile()) {
200+
// This is probably a compiler path module (.d.ts)
201+
if (bundleItem.filename.indexOf(bundleItem.moduleName) === -1) {
202+
const filepath = PathTool.fixWindowsPath(bundleItem.filename);
203+
const matches = filepath.match(/\/node_modules\/(.*)\//);
204+
if (matches && matches[1]) {
205+
moduleName = matches[1];
206+
this.log.debug("Resolved module name [%s] to [%s]", bundleItem.moduleName, moduleName);
207+
}
208+
}
209+
// This is probably a type only module import
210+
else {
211+
return onFilenameResolved()
206212
}
207213
}
208214

0 commit comments

Comments
 (0)