diff --git a/.github/actions/pnpm/action.yml b/.github/actions/pnpm/action.yml index 3fbc55a4..566c3096 100644 --- a/.github/actions/pnpm/action.yml +++ b/.github/actions/pnpm/action.yml @@ -28,9 +28,16 @@ runs: corepack enable pnpm install - - name: yarn + - name: yarn pnp shell: bash run: | cd fixtures/pnp corepack enable yarn install + + - name: nested-package-json + shell: bash + run: | + cd fixtures/misc/nested-package-json + corepack enable + yarn install diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 154e7ff9..b460c033 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: components: clippy rust-docs - run: cargo clippy --all-features --all-targets -- -D warnings - run: RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features - - uses: crate-ci/typos@d08e4083f112e684fb88f6babd9ae60a1f1cd84f # v1 + - uses: crate-ci/typos@718c4ff697435edabd4f1c52c3775521adbb33a3 # v1 with: files: . diff --git a/.github/workflows/release-napi.yml b/.github/workflows/release-napi.yml index 7119f257..db4a5e4f 100644 --- a/.github/workflows/release-napi.yml +++ b/.github/workflows/release-napi.yml @@ -110,7 +110,7 @@ jobs: version: 0.13.0 - name: Install cargo-zigbuild - uses: taiki-e/install-action@5651179950649c44da31d346537e20c0534f0f25 # v2 + uses: taiki-e/install-action@1c861c252bd329898ca0817dc2913d5963834965 # v2 if: ${{ contains(matrix.target, 'musl') }} env: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/release-plz.yml b/.github/workflows/release-plz.yml index 7402d6cb..a64b2b60 100644 --- a/.github/workflows/release-plz.yml +++ b/.github/workflows/release-plz.yml @@ -25,7 +25,7 @@ jobs: - name: Run release-plz id: release-plz - uses: MarcoIeni/release-plz-action@4cd77ee4d22f0cdb1a461e6eb3591cddc5e1f665 # v0.5 + uses: MarcoIeni/release-plz-action@8e91c71a60327f76b30233d17e3cabb316522e8f # v0.5 env: GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }} CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index 9221471e..c74f37e5 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -28,7 +28,7 @@ jobs: steps: - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1 - - uses: taiki-e/install-action@5651179950649c44da31d346537e20c0534f0f25 # v2 + - uses: taiki-e/install-action@1c861c252bd329898ca0817dc2913d5963834965 # v2 with: tool: zizmor diff --git a/CHANGELOG.md b/CHANGELOG.md index 992dd18c..68954ce6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.3.3](https://github.com/unrs/unrs-resolver/compare/v1.3.2...v1.3.3) - 2025-03-29 + +### Build + +- build: remove `--strip` flag ([#44](https://github.com/unrs/unrs-resolver/pull/44)) + +### Testing + +- add nested package json case ([#40](https://github.com/unrs/unrs-resolver/pull/40)) + ## [1.3.2](https://github.com/unrs/unrs-resolver/compare/unrs_resolver-v1.3.1...v1.3.2) - 2025-03-26 ### Bug Fixes diff --git a/Cargo.lock b/Cargo.lock index bc335591..3702a679 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1190,7 +1190,7 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unrs_resolver" -version = "1.3.2" +version = "1.3.3" dependencies = [ "cfg-if", "criterion2", diff --git a/Cargo.toml b/Cargo.toml index 2fb9230c..6e2bd916 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [package] name = "unrs_resolver" -version = "1.3.2" +version = "1.3.3" authors = ["UnRS"] categories = ["development-tools"] edition = "2024" diff --git a/fixtures/misc/nested-package-json/.gitignore b/fixtures/misc/nested-package-json/.gitignore new file mode 100644 index 00000000..ab2197f6 --- /dev/null +++ b/fixtures/misc/nested-package-json/.gitignore @@ -0,0 +1,6 @@ +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/fixtures/misc/nested-package-json/.yarnrc.yml b/fixtures/misc/nested-package-json/.yarnrc.yml new file mode 100644 index 00000000..4553d9d5 --- /dev/null +++ b/fixtures/misc/nested-package-json/.yarnrc.yml @@ -0,0 +1,3 @@ +enableTelemetry: false + +nodeLinker: node-modules diff --git a/fixtures/misc/nested-package-json/package.json b/fixtures/misc/nested-package-json/package.json new file mode 100644 index 00000000..eefad5e2 --- /dev/null +++ b/fixtures/misc/nested-package-json/package.json @@ -0,0 +1,7 @@ +{ + "name": "nested-test", + "packageManager": "yarn@4.8.0", + "dependencies": { + "@root/package": "link:./package" + } +} diff --git a/fixtures/misc/nested-package-json/package/nested/package.json b/fixtures/misc/nested-package-json/package/nested/package.json new file mode 100644 index 00000000..6433e5d8 --- /dev/null +++ b/fixtures/misc/nested-package-json/package/nested/package.json @@ -0,0 +1,4 @@ +{ + "main": "../output/nested.js", + "types": "../output/nested.d.ts" +} diff --git a/fixtures/misc/nested-package-json/package/output/index.d.ts b/fixtures/misc/nested-package-json/package/output/index.d.ts new file mode 100644 index 00000000..e69de29b diff --git a/fixtures/misc/nested-package-json/package/output/index.js b/fixtures/misc/nested-package-json/package/output/index.js new file mode 100644 index 00000000..e69de29b diff --git a/fixtures/misc/nested-package-json/package/output/nested.d.ts b/fixtures/misc/nested-package-json/package/output/nested.d.ts new file mode 100644 index 00000000..e69de29b diff --git a/fixtures/misc/nested-package-json/package/output/nested.js b/fixtures/misc/nested-package-json/package/output/nested.js new file mode 100644 index 00000000..e69de29b diff --git a/fixtures/misc/nested-package-json/package/package.json b/fixtures/misc/nested-package-json/package/package.json new file mode 100644 index 00000000..34016d1c --- /dev/null +++ b/fixtures/misc/nested-package-json/package/package.json @@ -0,0 +1,6 @@ +{ + "name": "@root/package", + "version": "0.0.1", + "main": "./output/index.js", + "types": "./output/index.d.ts" +} diff --git a/fixtures/misc/nested-package-json/yarn.lock b/fixtures/misc/nested-package-json/yarn.lock new file mode 100644 index 00000000..13a497c2 --- /dev/null +++ b/fixtures/misc/nested-package-json/yarn.lock @@ -0,0 +1,20 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@root/package@link:./package::locator=nested-test%40workspace%3A.": + version: 0.0.0-use.local + resolution: "@root/package@link:./package::locator=nested-test%40workspace%3A." + languageName: node + linkType: soft + +"nested-test@workspace:.": + version: 0.0.0-use.local + resolution: "nested-test@workspace:." + dependencies: + "@root/package": "link:./package" + languageName: unknown + linkType: soft diff --git a/fixtures/pnp/package.json b/fixtures/pnp/package.json index 556be923..fb808bd3 100644 --- a/fixtures/pnp/package.json +++ b/fixtures/pnp/package.json @@ -1,6 +1,6 @@ { "name": "pnp", - "packageManager": "yarn@4.7.0", + "packageManager": "yarn@4.8.0", "dependencies": { "beachball": "^2.51.0", "is-even": "^1.0.0", diff --git a/justfile b/justfile index 64da352c..e4bd7d38 100644 --- a/justfile +++ b/justfile @@ -15,6 +15,7 @@ init: install: pnpm install cd fixtures/pnp && yarn + cd fixtures/misc/nested-package-json && yarn # When ready, run the same CI commands ready: diff --git a/npm/package.json b/npm/package.json index 3b8403bf..e8321921 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "unrs-resolver", - "version": "1.3.2", + "version": "1.3.3", "description": "Oxc Resolver Node API with PNP support", "main": "index.js", "browser": "browser.js", diff --git a/package.json b/package.json index b63df44e..739c5ace 100644 --- a/package.json +++ b/package.json @@ -10,18 +10,18 @@ "url": "https://github.com/sponsors/JounQin" }, "scripts": { - "build": "napi build --platform --release --strip --package-json-path npm/package.json --manifest-path napi/Cargo.toml", - "build:debug": "napi build --platform --strip --package-json-path npm/package.json --manifest-path napi/Cargo.toml", + "build": "napi build --platform --release --package-json-path npm/package.json --manifest-path napi/Cargo.toml", + "build:debug": "napi build --platform --package-json-path npm/package.json --manifest-path napi/Cargo.toml", "prepublishOnly": "napi pre-publish -t npm", "test": "vitest run -r ./napi" }, "devDependencies": { "@napi-rs/cli": "3.0.0-alpha.76", "@napi-rs/wasm-runtime": "^0.2.7", - "@types/node": "^22.13.10", - "emnapi": "^1.3.1", + "@types/node": "^22.13.14", + "emnapi": "^1.4.0", "typescript": "^5.8.2", "vitest": "^3.0.9" }, - "packageManager": "pnpm@10.6.5" + "packageManager": "pnpm@10.7.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8890ede9..2dd4cd5e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,22 @@ importers: devDependencies: '@napi-rs/cli': specifier: 3.0.0-alpha.76 - version: 3.0.0-alpha.76(@emnapi/runtime@1.3.1)(@types/node@22.13.10)(emnapi@1.3.1) + version: 3.0.0-alpha.76(@emnapi/runtime@1.3.1)(@types/node@22.13.14)(emnapi@1.4.0) '@napi-rs/wasm-runtime': specifier: ^0.2.7 version: 0.2.7 '@types/node': - specifier: ^22.13.10 - version: 22.13.10 + specifier: ^22.13.14 + version: 22.13.14 emnapi: - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.4.0 + version: 1.4.0 typescript: specifier: ^5.8.2 version: 5.8.2 vitest: specifier: ^3.0.9 - version: 3.0.9(@types/node@22.13.10) + version: 3.0.9(@types/node@22.13.14) fixtures/pnpm: devDependencies: @@ -907,8 +907,8 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/node@22.13.10': - resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} + '@types/node@22.13.14': + resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} '@types/stylis@4.2.5': resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} @@ -1052,8 +1052,8 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - emnapi@1.3.1: - resolution: {integrity: sha512-8rnw2VLJmHAXBSyhtrL9O5aW1VdbXA1ovRslp0IyTwnM62Fz83jQIo+VaIObgzdo6r1A98J9AHEq4KTqIR67Aw==} + emnapi@1.4.0: + resolution: {integrity: sha512-lFEJ8CYuJd6+L8GIqfI9VosM2n4ADuw0mUDq3m6ePfSJBh/1F14lWpyikZLuMHKeM3KXxBhWJLvw8yPIkzd8Ew==} peerDependencies: node-addon-api: '>= 6.1.0' peerDependenciesMeta: @@ -1568,27 +1568,27 @@ snapshots: '@esbuild/win32-x64@0.25.1': optional: true - '@inquirer/checkbox@4.1.4(@types/node@22.13.10)': + '@inquirer/checkbox@4.1.4(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/type': 3.0.5(@types/node@22.13.14) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/confirm@5.1.8(@types/node@22.13.10)': + '@inquirer/confirm@5.1.8(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/core@10.1.9(@types/node@22.13.10)': + '@inquirer/core@10.1.9(@types/node@22.13.14)': dependencies: '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/type': 3.0.5(@types/node@22.13.14) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -1596,99 +1596,99 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/editor@4.2.9(@types/node@22.13.10)': + '@inquirer/editor@4.2.9(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) external-editor: 3.1.0 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/expand@4.0.11(@types/node@22.13.10)': + '@inquirer/expand@4.0.11(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 '@inquirer/figures@1.0.11': {} - '@inquirer/input@4.1.8(@types/node@22.13.10)': + '@inquirer/input@4.1.8(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/number@3.0.11(@types/node@22.13.10)': + '@inquirer/number@3.0.11(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/password@4.0.11(@types/node@22.13.10)': + '@inquirer/password@4.0.11(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) ansi-escapes: 4.3.2 optionalDependencies: - '@types/node': 22.13.10 - - '@inquirer/prompts@7.4.0(@types/node@22.13.10)': - dependencies: - '@inquirer/checkbox': 4.1.4(@types/node@22.13.10) - '@inquirer/confirm': 5.1.8(@types/node@22.13.10) - '@inquirer/editor': 4.2.9(@types/node@22.13.10) - '@inquirer/expand': 4.0.11(@types/node@22.13.10) - '@inquirer/input': 4.1.8(@types/node@22.13.10) - '@inquirer/number': 3.0.11(@types/node@22.13.10) - '@inquirer/password': 4.0.11(@types/node@22.13.10) - '@inquirer/rawlist': 4.0.11(@types/node@22.13.10) - '@inquirer/search': 3.0.11(@types/node@22.13.10) - '@inquirer/select': 4.1.0(@types/node@22.13.10) + '@types/node': 22.13.14 + + '@inquirer/prompts@7.4.0(@types/node@22.13.14)': + dependencies: + '@inquirer/checkbox': 4.1.4(@types/node@22.13.14) + '@inquirer/confirm': 5.1.8(@types/node@22.13.14) + '@inquirer/editor': 4.2.9(@types/node@22.13.14) + '@inquirer/expand': 4.0.11(@types/node@22.13.14) + '@inquirer/input': 4.1.8(@types/node@22.13.14) + '@inquirer/number': 3.0.11(@types/node@22.13.14) + '@inquirer/password': 4.0.11(@types/node@22.13.14) + '@inquirer/rawlist': 4.0.11(@types/node@22.13.14) + '@inquirer/search': 3.0.11(@types/node@22.13.14) + '@inquirer/select': 4.1.0(@types/node@22.13.14) optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/rawlist@4.0.11(@types/node@22.13.10)': + '@inquirer/rawlist@4.0.11(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) + '@inquirer/type': 3.0.5(@types/node@22.13.14) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/search@3.0.11(@types/node@22.13.10)': + '@inquirer/search@3.0.11(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/type': 3.0.5(@types/node@22.13.14) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/select@4.1.0(@types/node@22.13.10)': + '@inquirer/select@4.1.0(@types/node@22.13.14)': dependencies: - '@inquirer/core': 10.1.9(@types/node@22.13.10) + '@inquirer/core': 10.1.9(@types/node@22.13.14) '@inquirer/figures': 1.0.11 - '@inquirer/type': 3.0.5(@types/node@22.13.10) + '@inquirer/type': 3.0.5(@types/node@22.13.14) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 - '@inquirer/type@3.0.5(@types/node@22.13.10)': + '@inquirer/type@3.0.5(@types/node@22.13.14)': optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 '@jridgewell/sourcemap-codec@1.5.0': {} - '@napi-rs/cli@3.0.0-alpha.76(@emnapi/runtime@1.3.1)(@types/node@22.13.10)(emnapi@1.3.1)': + '@napi-rs/cli@3.0.0-alpha.76(@emnapi/runtime@1.3.1)(@types/node@22.13.14)(emnapi@1.4.0)': dependencies: - '@inquirer/prompts': 7.4.0(@types/node@22.13.10) + '@inquirer/prompts': 7.4.0(@types/node@22.13.14) '@napi-rs/cross-toolchain': 0.0.19 '@napi-rs/wasm-tools': 0.0.3 '@octokit/rest': 21.1.1 @@ -1703,7 +1703,7 @@ snapshots: wasm-sjlj: 1.0.6 optionalDependencies: '@emnapi/runtime': 1.3.1 - emnapi: 1.3.1 + emnapi: 1.4.0 transitivePeerDependencies: - '@napi-rs/cross-toolchain-arm64-target-aarch64' - '@napi-rs/cross-toolchain-arm64-target-armv7' @@ -2089,7 +2089,7 @@ snapshots: '@types/estree@1.0.6': {} - '@types/node@22.13.10': + '@types/node@22.13.14': dependencies: undici-types: 6.20.0 @@ -2102,13 +2102,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.9(vite@6.2.2(@types/node@22.13.10))': + '@vitest/mocker@3.0.9(vite@6.2.2(@types/node@22.13.14))': dependencies: '@vitest/spy': 3.0.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.2.2(@types/node@22.13.10) + vite: 6.2.2(@types/node@22.13.14) '@vitest/pretty-format@3.0.9': dependencies: @@ -2228,7 +2228,7 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - emnapi@1.3.1: {} + emnapi@1.4.0: {} emoji-regex@8.0.0: {} @@ -2548,13 +2548,13 @@ snapshots: universal-user-agent@7.0.2: {} - vite-node@3.0.9(@types/node@22.13.10): + vite-node@3.0.9(@types/node@22.13.14): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.2.2(@types/node@22.13.10) + vite: 6.2.2(@types/node@22.13.14) transitivePeerDependencies: - '@types/node' - jiti @@ -2569,19 +2569,19 @@ snapshots: - tsx - yaml - vite@6.2.2(@types/node@22.13.10): + vite@6.2.2(@types/node@22.13.14): dependencies: esbuild: 0.25.1 postcss: 8.5.3 rollup: 4.36.0 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 fsevents: 2.3.3 - vitest@3.0.9(@types/node@22.13.10): + vitest@3.0.9(@types/node@22.13.14): dependencies: '@vitest/expect': 3.0.9 - '@vitest/mocker': 3.0.9(vite@6.2.2(@types/node@22.13.10)) + '@vitest/mocker': 3.0.9(vite@6.2.2(@types/node@22.13.14)) '@vitest/pretty-format': 3.0.9 '@vitest/runner': 3.0.9 '@vitest/snapshot': 3.0.9 @@ -2597,11 +2597,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.2.2(@types/node@22.13.10) - vite-node: 3.0.9(@types/node@22.13.10) + vite: 6.2.2(@types/node@22.13.14) + vite-node: 3.0.9(@types/node@22.13.14) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.10 + '@types/node': 22.13.14 transitivePeerDependencies: - jiti - less diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 72c76da5..b81c5161 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,3 +3,5 @@ packages: - napi - fixtures/pnpm - fixtures/pnpm-workspace/** +ignoredBuiltDependencies: + - esbuild diff --git a/src/tests/resolve.rs b/src/tests/resolve.rs index 17ea7852..8dbc3b81 100644 --- a/src/tests/resolve.rs +++ b/src/tests/resolve.rs @@ -118,6 +118,23 @@ fn resolve_hash_as_module() { assert_eq!(resolution, Err(ResolveError::NotFound("#a".into()))); } +#[test] +fn resolve_nested_dir_with_package_json() { + let f = super::fixture_root().join("misc/nested-package-json"); + let resolver = Resolver::new(ResolveOptions::default()); + + #[rustfmt::skip] + let data = [ + ("normal entry", f.clone(), "@root/package", f.join("package/output/index.js")), + ("nested entry", f.clone(), "@root/package/nested", f.join("package/output/nested.js")), + ]; + + for (comment, path, request, expected) in data { + let resolved_path = resolver.resolve(&path, request).map(|r| r.full_path()); + assert_eq!(resolved_path, Ok(expected), "{comment} {path:?} {request}"); + } +} + #[cfg(windows)] #[test] fn resolve_normalized_on_windows() { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy