From 2a2ff96be13047cb50612fde0f12e5f6df374ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 26 Jun 2024 23:17:00 +0100 Subject: fix(ext/node): discover .npmrc in user's homedir (#24021) This commit adds discovery of `.npmrc` files in user's homedir. This is not a perfect fix as it doesn't merge multiple `.npmrc` files together as per https://github.com/denoland/deno/issues/23954 but allows to fallback if no `.npmrc` file is discovered in the project root. --- tests/specs/npm/npmrc_homedir/.npmrc | 4 ++++ tests/specs/npm/npmrc_homedir/__test__.jsonc | 11 +++++++++++ tests/specs/npm/npmrc_homedir/install.out | 9 +++++++++ tests/specs/npm/npmrc_homedir/subdir/main.js | 8 ++++++++ tests/specs/npm/npmrc_homedir/subdir/package.json | 8 ++++++++ 5 files changed, 40 insertions(+) create mode 100644 tests/specs/npm/npmrc_homedir/.npmrc create mode 100644 tests/specs/npm/npmrc_homedir/__test__.jsonc create mode 100644 tests/specs/npm/npmrc_homedir/install.out create mode 100644 tests/specs/npm/npmrc_homedir/subdir/main.js create mode 100644 tests/specs/npm/npmrc_homedir/subdir/package.json (limited to 'tests/specs') diff --git a/tests/specs/npm/npmrc_homedir/.npmrc b/tests/specs/npm/npmrc_homedir/.npmrc new file mode 100644 index 000000000..13552ad61 --- /dev/null +++ b/tests/specs/npm/npmrc_homedir/.npmrc @@ -0,0 +1,4 @@ +@denotest:registry=http://localhost:4261/ +//localhost:4261/:_authToken=private-reg-token +@denotest2:registry=http://localhost:4262/ +//localhost:4262/:_authToken=private-reg-token2 diff --git a/tests/specs/npm/npmrc_homedir/__test__.jsonc b/tests/specs/npm/npmrc_homedir/__test__.jsonc new file mode 100644 index 000000000..26fce7fd8 --- /dev/null +++ b/tests/specs/npm/npmrc_homedir/__test__.jsonc @@ -0,0 +1,11 @@ +{ + "if": "unix", + "tempDir": true, + "envs": { + "DENO_FUTURE": "1", + "HOME": "$PWD/../" + }, + "cwd": "subdir", + "args": "install", + "output": "install.out" +} diff --git a/tests/specs/npm/npmrc_homedir/install.out b/tests/specs/npm/npmrc_homedir/install.out new file mode 100644 index 000000000..5c2ff3562 --- /dev/null +++ b/tests/specs/npm/npmrc_homedir/install.out @@ -0,0 +1,9 @@ +⚠️ `deno install` behavior will change in Deno 2. To preserve the current behavior use the `-g` or `--global` flag. +[UNORDERED_START] +Download http://localhost:4261/@denotest/basic +Download http://localhost:4262/@denotest2/basic +Download http://localhost:4261/@denotest/basic/1.0.0.tgz +Download http://localhost:4262/@denotest2/basic/1.0.0.tgz +Initialize @denotest2/basic@1.0.0 +Initialize @denotest/basic@1.0.0 +[UNORDERED_END] diff --git a/tests/specs/npm/npmrc_homedir/subdir/main.js b/tests/specs/npm/npmrc_homedir/subdir/main.js new file mode 100644 index 000000000..66b393636 --- /dev/null +++ b/tests/specs/npm/npmrc_homedir/subdir/main.js @@ -0,0 +1,8 @@ +import { getValue, setValue } from "@denotest/basic"; +import * as test from "@denotest2/basic"; + +console.log(getValue()); +setValue(42); +console.log(getValue()); + +console.log(test.getValue()); diff --git a/tests/specs/npm/npmrc_homedir/subdir/package.json b/tests/specs/npm/npmrc_homedir/subdir/package.json new file mode 100644 index 000000000..274d1ed7f --- /dev/null +++ b/tests/specs/npm/npmrc_homedir/subdir/package.json @@ -0,0 +1,8 @@ +{ + "name": "npmrc_test", + "version": "0.0.1", + "dependencies": { + "@denotest/basic": "1.0.0", + "@denotest2/basic": "1.0.0" + } +} -- cgit v1.2.3