Skip to content

Module resolution doesn't look at package.json for scoped packages #18375

@jack-guy

Description

@jack-guy

TypeScript Version: 2.6.0-dev.20170909

Code

// "moduleResolution": "node"

// src/index.ts
// Cannot find module '@foo/bar'
import { qux } from '@foo/bar';

// node_modules/foo/bar/package.json
// "main": "whatever.js"

// node_modules/foo/bar/whatever.js
export function qux () { }

Expected behavior:
See the module resolution documentation

Scoped package detected, looking in 'foo__bar'
Loading module '@foo/bar' from 'node_modules' folder, target file type 'JavaScript'.
Directory 'src/node_modules' does not exist, skipping all lookups in it.
File 'node_modules/@foo/package.json' does not exist.
File 'node_modules/@foo/bar.js' does not exist.
File 'node_modules/@foo/bar.jsx' does not exist.
Found 'package.json' at 'node_modules/@foo/bar/package.json'.

Actual behavior:

Scoped package detected, looking in 'foo__bar'
Loading module '@foo/bar' from 'node_modules' folder, target file type 'JavaScript'.
Directory 'src/node_modules' does not exist, skipping all lookups in it.
File 'node_modules/@foo/package.json' does not exist.
File 'node_modules/@foo/bar.js' does not exist.
File 'node_modules/@foo/bar.jsx' does not exist.
File 'node_modules/@foo/bar/index.js' does not exist.
File 'node_modules/@foo/bar/index.jsx' does not exist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions