File: pathCompletionsPackageJsonExportsWildcard4.ts

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (64 lines) | stat: -rw-r--r-- 1,622 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/// <reference path="fourslash.ts" />

// @module: nodenext

// @Filename: /node_modules/foo/package.json
//// {
////   "types": "index.d.ts",
////   "exports": {
////     "./*": "dist/*",
////     "./foo/*": "dist/*",
////     "./bar/*": "dist/*",
////     "./exact-match": "dist/index.d.ts"
////   }
//// }

// @Filename: /node_modules/foo/nope.d.ts
//// export const nope = 0;

// @Filename: /node_modules/foo/dist/index.d.ts
//// export const index = 0;

// @Filename: /node_modules/foo/dist/blah.d.ts
//// export const blah = 0;

// @Filename: /node_modules/foo/dist/foo/onlyInFooFolder.d.ts
//// export const foo = 0;

// @Filename: /node_modules/foo/dist/subfolder/one.d.ts
//// export const one = 0;

// @Filename: /a.mts
//// import { } from "foo//**/";

verify.completions({
  marker: "",
  isNewIdentifierLocation: true,
  exact: [
    { name: "blah.js", kind: "script", kindModifiers: ".js" },
    { name: "index.js", kind: "script", kindModifiers: ".js" },
    { name: "foo", kind: "directory" },
    { name: "subfolder", kind: "directory" },
    { name: "bar", kind: "directory" },
    { name: "exact-match", kind: "script" },
  ],
});

edit.insert("foo/");

verify.completions({
  isNewIdentifierLocation: true,
  exact: [
    { name: "blah.js", kind: "script", kindModifiers: ".js" },
    { name: "index.js", kind: "script", kindModifiers: ".js" },
    { name: "foo", kind: "directory" },
    { name: "subfolder", kind: "directory" },
  ],
});

edit.insert("foo/");

verify.completions({
  isNewIdentifierLocation: true,
  exact: [{ name: "onlyInFooFolder.js", kind: "script", kindModifiers: ".js" }],
});