Skip to content

VS Code auto imports are wrong for absolute paths in E2E files #12069

Closed
@ognjenkurtic

Description

@ognjenkurtic

Bug Report or Feature Request (mark with an x)

- [ x] bug report -> please search issues before submitting
- [ ] feature request

Also asked in Stack Overflow

Versions

Angular CLI: 6.0.8
Node: 8.11.1
OS: win32 x64
Angular: 6.0.9

Repro steps

  1. Create a new app using ng new

  2. Setup baseUrl:"./src" in the tsconfig file

  3. Import something to a file in src folder using autoimport
    Result: import { smt1 } from "app/core/services/smt1"; (OK)

  4. 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

  5. Setup baseUrl: "." in tsconfig.json to have a common root for both src and e2e folders

  6. Imports now look like this respectively:
    import { smt1 } from "src/app/core/services/smt1"; (OK)
    import { smt2 } from "src/e2e/smt2"; (OK)

  7. Run npm run e2e
    Cannot find name 'smt2'.

    at createTSError (\node_modules\ts-node\src\index.ts:261:12)
    at getOutput (\node_modules\ts-node\src\index.ts:367:40)
    at Object.compile (\node_modules\ts-node\src\index.ts:557:11)
    at Module.m._compile (\node_modules\ts-node\src\index.ts:439:43)
    at Module._extensions..js (module.js:663:10)
    at Object.require.extensions.(anonymous function) [as .ts] (node_modules\ts-node\src\index.ts:442:12)
    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)

Desired functionality

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions