From 3858923f68be771fb337b26139771f97bbcff808 Mon Sep 17 00:00:00 2001 From: Koosha Paridehpour <42529354+KooshaPari@users.noreply.github.com> Date: Fri, 4 Sep 2026 22:34:41 -0700 Subject: [PATCH] fix(ci): ship .npmrc in published package so legacy-peer-deps applies to consumers (#11544) (#12699) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merged — one line, zero risk, and it costs nothing to have. One caveat recorded so nobody later reads this as "#11544 is solved": npm resolves config from the *installing* project's directory, the user config and the global config — it does not read the `.npmrc` shipped inside a dependency's tarball. So `legacy-peer-deps=true` traveling in the package will not change how `npm install -g omniroute` resolves peers on the consumer side. Our own `scripts/build/postinstall.mjs` does shell out to `npm rebuild` / `npm install better-sqlite3`, but with cwd set to `dist/`, so the package-root `.npmrc` is not in scope there either. Keeping it anyway: it makes the published tree self-documenting, and someone debugging inside an extracted package gets the same retry budget we use in CI. But #11544 (`npm install -g omniroute` failing on Windows, "root cause unclear from log") still needs the actual `npm-debug.log` from the reporter before it can be closed. Rebased onto `release/v3.8.51`; `package.json` re-parses and the `files` array kept both `config/i18n.json` and the new entry. Thanks. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index da12740fb9..f984ef4314 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "src/types/", ".env.example", "config/i18n.json", + ".npmrc", "scripts/build/postinstall.mjs", "scripts/build/fixPlaywrightAndroid.mjs", "bin/cli/runtime/",