x)- [ x] bug report -> please search issues before submitting
- [ ] feature request
Also asked in Stack Overflow
Angular CLI: 6.0.8
Node: 8.11.1
OS: win32 x64
Angular: 6.0.9
Import something to a file in e2e folder using autoimport
Result: _import { smt2 } from "../e2e/smt2";_ (NOK)
Auto import path is relative to the baseUrl of the tsconfig.json and cannot be resolved when running
the tests
Setup baseUrl: "." in tsconfig.json to have a common root for both src and e2e folders
Imports now look like this respectively:
_import { smt1 } from "src/app/core/services/smt1";_ (OK)
_import { smt2 } from "src/e2e/smt2";_ (OK)
Run npm run e2e
Cannot find name 'smt2'.
at createTSError (
at getOutput (
at Object.compile (
at Module.m._compile (
at Module._extensions..js (module.js:663:10)
at Object.require.extensions.(anonymous function) [as .ts] (
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
baseUrl: "." in tsconfig.json should enable us to have root folder of the app as the base both in e2e and src folders.
Other option would be to configure autoimports for src and e2e files separately, so that we can use absolute paths in src and relative in e2e folders.
I'm sorry, but I don't think this is an issue caused by Angular CLI. As auto imports is not an Angular CLI feature, as it's provided by TypeScript and based on your TypeScript version it might have different behaviours and some bugs might have been addressed in the latest version.
I was able to get a list of auto imports;

I think the question is how to get a tsconfig.json into the e2e directory rather than tsconfig-e2e.json since the latter isn't used by the editor, and the e2e directory really is a different root directory?
Im also having this issue.
My VS Code User Settings .json is set to non-relative paths:
"typescript.preferences.importModuleSpecifier": "non-relative",
So when I (auto) import a dependency.. the paths look like
// auto import
import { AppPage } from 'e2e/src/app.po';
// instead of (old)
import { AppPage } from './app.po';
When running
npm run e2e
I get this error:
Error: Cannot find module 'e2e/src/app.po'
How do we make e2e run with non-relative paths?
Hello I also have this issue when I run e2e test with absolute path.
We are forcing in our TsLint rules to not use relative path.
Anyone have a fix for that?
Running ng new on a new project creates an e2e/tsconfig.json, so the editor should pick that up within the e2e/ directory. The base tsconfig.json also uses baseUrl: './'.
The desire for smarter auto-import handling should be generally addressed by "solution style" tsconfigs in v10 which should make the editor a lot smarter about what files are associated with what tsconfig.json (#8138). If there is still some difficulties after upgrading to v10, then please reopen and we can take another look at this.
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
_This action has been performed automatically by a bot._
Most helpful comment
Im also having this issue.
My VS Code User Settings .json is set to non-relative paths:
So when I (auto) import a dependency.. the paths look like
When running
npm run e2eI get this error:
How do we make e2e run with
non-relativepaths?