microsoft / microsoft/TypeScript

Filename with two dollar signs ($$) behaves differently when using paths config

Open
#61,538 0 comments 2 reactions 1 assignee Claimed by @andrewbranch View on GitHub
Needs Investigation
Dominant language
Go
Stars
111k
Forks
14.3k
Avg merge
2d 4h
Merged PRs (30d)
132

Description

### 🔎 Search Terms

"dollar signs", "two dollar signs", "$$", "paths config"

### 🕗 Version & Regression Information

- This is the behavior in every version I tried, and I reviewed the FAQ for entries about (nothing relevant found in FAQ)

### ⏯ Playground Link

https://github.com/its-jman/ts-dollar-import-repro

### 💻 Code

```ts
// The files: "code", "$code", and "$$code" all exist. "$$$$code" does not.
// However, the first line is the only one that has an error:
// "'"~server/$$code"' has no exported member named 'test2'. Did you mean 'test1'?"
import {test2 as test2_error} from "~server/$$code"
import {test2 as test2_working} from "~server/$$$$code"
import {test1} from "~server/$code"
import {test0} from "~server/code"

import {test2 as test2_2} from "./server/$$code"
import {test1 as test1_2} from "./server/$code"
import {test0 as test0_2} from "./server/code"
```

### 🙁 Actual behavior

It appears that `$$` gets escaped / interpreted as reduced to a single `$` but ONLY when using paths config.

### 🙂 Expected behavior

The filename imported matches the filename that you've written.

### Additional information about the issue

Suggested cause / solution mentioned in responses on TS Discord here: https://discord.com/channels/508357248330760243/1357697438990995488/1357697438990995488

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.