-
Notifications
You must be signed in to change notification settings - Fork 13k
Description
I have a "parent" app which is a base library that we use in other apps. We recently moved all the dependancies into the parent package.json, and removed them all from the children apps keeping only the parent. Making sure we had the right versions was cumbersome, and NPM would install all the dependancies of the parent app anyway so things work.
The problem we noticed is that we can only auto import from the parent (which is in the child app's package.json), and not things like Angular or RxJS.
TypeScript Version: 3.9.7 (also 3.8.3, and 4.0.0-dev.20200803 with a VS Code plugin)
Search Terms: auto import package.json dependancies types
Code
I have created an example repo here: https://github.com/cjdreiss/ts-import-error
It contains the "parent" app, and a "child" app with instructions in the readme.
Parent package.json
"dependencies": {
"@angular/animations": "~10.0.6",
"@angular/common": "~10.0.6",
"@angular/compiler": "~10.0.6",
"@angular/core": "~10.0.6",
"@angular/forms": "~10.0.6",
"@angular/platform-browser": "~10.0.6",
"@angular/platform-browser-dynamic": "~10.0.6",
"@angular/router": "~10.0.6",
"rxjs": "~6.5.5"
}
Child package.json
"dependencies": {
"@cjdreiss/ts-import-error-parent" : ">0.0.0"
}
Component trying to import things from rxjs
import { Component } from '@angular/core';
import { Observable } from 'rxjs';
import { ExampleComponent } from '@cjdreiss/ts-import-error-parent';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'child';
test: Observable<any>;
// test2: BehaviorSubject<any>; // won't auto import even though there is an rxjs import already...
parent: ExampleComponent; // auto imports because @cjdreiss/ts-import-error-parent is in package.json
}
Expected behavior:
Auto imports from things like rxjs
and @angular/xxx
should work
Actual behavior:
Only auto imports from dependancies listed in package.json work (my library as an example). If we change the TypeScript version VS Code is using to 3.6.3 it can import it.
Working import after switching the TS version to 3.6.3
Related Issues: I believe this issue might be related (although it says its in Milestone 4.0.0), and there are other related issues in that #37812
This seems to demonstrate the same issue: #37187 which was closed as a duplicate of #36042