From 31154ff95899166a2535fc859c1fca2cbf19d422 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sat, 8 Jun 2024 20:05:28 -0400 Subject: fix(check): attempt to resolve types from pkg before `@types` pkg (#24152) I've been meaning to fix this for ages, but I finally ran into it here: https://github.com/dsherret/ts-ast-viewer/actions/runs/9432038675/job/25981325408 We need to resolve the `@types` package as a fallback instead of eagerly resolving it. --- .../npm/check_prefers_non_types_node_pkg/__test__.jsonc | 7 +++++++ tests/specs/npm/check_prefers_non_types_node_pkg/main.ts | 3 +++ .../node_modules/@types/lz-string/package.json | 12 ++++++++++++ .../node_modules/lz-string/index.d.ts | 1 + .../node_modules/lz-string/index.js | 1 + .../node_modules/lz-string/package.json | 4 ++++ .../specs/npm/check_prefers_non_types_node_pkg/package.json | 6 ++++++ 7 files changed, 34 insertions(+) create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/__test__.jsonc create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/main.ts create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/@types/lz-string/package.json create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.d.ts create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.js create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/package.json create mode 100644 tests/specs/npm/check_prefers_non_types_node_pkg/package.json (limited to 'tests/specs/npm') diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/__test__.jsonc b/tests/specs/npm/check_prefers_non_types_node_pkg/__test__.jsonc new file mode 100644 index 000000000..ed3827ef6 --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/__test__.jsonc @@ -0,0 +1,7 @@ +{ + "envs": { + "DENO_FUTURE": "1" + }, + "args": "check --quiet main.ts", + "output": "" +} diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/main.ts b/tests/specs/npm/check_prefers_non_types_node_pkg/main.ts new file mode 100644 index 000000000..8774bdbfc --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/main.ts @@ -0,0 +1,3 @@ +import { compressToEncodedURIComponent } from "lz-string"; + +console.log(compressToEncodedURIComponent("Hello, World!")); diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/@types/lz-string/package.json b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/@types/lz-string/package.json new file mode 100644 index 000000000..afe623e00 --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/@types/lz-string/package.json @@ -0,0 +1,12 @@ +{ + "name": "@types/lz-string", + "version": "1.5.0", + "description": "Stub TypeScript definitions entry for lz-string, which provides its own types definitions", + "main": "", + "scripts": {}, + "license": "MIT", + "dependencies": { + "lz-string": "*" + }, + "deprecated": "This is a stub types definition. lz-string provides its own type definitions, so you do not need this installed." +} diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.d.ts b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.d.ts new file mode 100644 index 000000000..b6abfd8ba --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.d.ts @@ -0,0 +1 @@ +export function compressToEncodedURIComponent(input: string): string; diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.js b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.js new file mode 100644 index 000000000..603b710ba --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/index.js @@ -0,0 +1 @@ +module.exports.compressToEncodedURIComponent = (a) => a; diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/package.json b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/package.json new file mode 100644 index 000000000..f8bfd5d98 --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/node_modules/lz-string/package.json @@ -0,0 +1,4 @@ +{ + "name": "lz-string", + "version": "1.5.0" +} \ No newline at end of file diff --git a/tests/specs/npm/check_prefers_non_types_node_pkg/package.json b/tests/specs/npm/check_prefers_non_types_node_pkg/package.json new file mode 100644 index 000000000..ea3b2d26f --- /dev/null +++ b/tests/specs/npm/check_prefers_non_types_node_pkg/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "lz-string": "*", + "@types/lz-string": "*" + } +} -- cgit v1.2.3