Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" by zkat · Pull Request #152 · npm/cli · GitHub
Skip to content

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)" - #152

Merged
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch
Feb 12, 2019
Merged

Revert "install/dedupe: fix hoisting of packages with peerDeps (#147)"#152
aeschright merged 1 commit into
release-nextfrom
zkat/revert-peerdep-patch

Conversation

@zkat

@zkatzkat commented Feb 4, 2019

Copy link
Copy Markdown
Contributor

This reverts commit 91314e7.

Fixes: https://npm.community/t/npm-6-8-0-next-0-regression-in-maximally-flat-install/5118

This reverts @sokra's previous patch in #147 -- as we suspected, it fixed one set of use-cases by breaking another, and the actual fix for the peerDeps issue we've had since npm@3 is going to need to be bigger and more involved. The issue comes down to things with peerDeps having to be mutually requireable, and the shape of the tree isn't really determined by the first time we run into a peerDep, so we basically would need to reshape the tree every time we run into one, or a package that requires one. That's my understanding, at least. /cc @iarna

@zkat
zkat requested a review from a team as a code ownerFebruary 4, 2019 23:28
@aeschright
aeschright requested a review from iarnaFebruary 5, 2019 20:09
@jaydenseric

Copy link
Copy Markdown

Please don't revert a fix without having another fix ready. Until @sokra's fix landed in npm@6.8.0-next.0 we've been literally forced to use Yarn to install our Next.js project; there were no workarounds for npm getting it totally wrong resulting in bundle errors.

If this fix is reverted, I will have no choice but to use Yarn again. But for how long?

@iarna

iarna commented Feb 7, 2019

Copy link
Copy Markdown
Contributor

We're not going to ship a non-prerelease with this patch, because it causes exactly the same problem for a different set of people who haven't had it up till now. We also aren't going to let it completely halt releases just for this issue. That doesn't mean it isn't an important issue, but the solution is more complicated than it appears at first. I don't want to just play whack-a-mole swapping which group of people we break with each release.

@aeschrightaeschright left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll be reverting #147 (accepting this) to prevent shipping with a breaking change.

@alexander-akait

Copy link
Copy Markdown

A lot of peoples can't use webpack with npm, sorry but is is shame for npm organization.
I do not like to say such things, but you are a package manager, you are basis for many developers and projects.

Any ETA for this fix? It will be a month soon since issue was reported.

@iarna

iarna commented Feb 16, 2019

Copy link
Copy Markdown
Contributor

@evilebottnawi We've been aware of this for since shortly after the npm@3 launch. Of course, the situation prior to that, with npm@2, which triggered installation of peer deps, was even worse. This isn't so much a bug as a structural problem with peer dependencies. I do think we have an approach to resolve this, but it will take rewriting the tree resolver to be two pass from the current single pass. It's on our longer term roadmap, but not yet scheduled for our small team. However, this discussion does make me think that getting an RFC with our intended approach out sooner rather than later would be valuable.

@isaacs
isaacs deleted the zkat/revert-peerdep-patch branch October 2, 2020 21:55
Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
…re (npm#240)
The Windows npm installer was configured to use .tar.gz archives, which
routes through the system tar binary. In Git Bash on Windows, MSYS tar
interprets "C:" in Windows paths as a remote hostname, causing:
tar: Cannot connect to C: resolve failed
Changing to .zip routes through the existing PowerShell Expand-Archive
code path in binary-install.js, which handles Windows paths correctly
and works in both PowerShell and Git Bash.
Fixesnpm#152
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 9, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 20, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@zkat@jaydenseric@iarna@alexander-akait@aeschright