Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

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

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

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

Release/v7.6.1 - #2825

Merged
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1
Mar 4, 2021
Merged

Release/v7.6.1#2825
ruyadorno merged 15 commits into
latestfrom
release/v7.6.1

Conversation

@ruyadorno

Copy link
Copy Markdown
Contributor

v7.6.1 (2021-03-04)

BUG FIXES

DOCUMENTATION

DEPENDENCIES

wraithgarand others added 14 commits March 4, 2021 15:54
The lifecycle events section was very out of date, and lots
of other cleanup needed to happen too
PR-URL: #2690
Credit: @wraithgarClose: #2690
Reviewed-by: @ruyadorno
I checked cli's code with Typescript using the tsconfig below. The
compiler found a few arguments that are not used, so I removed them. In
the case of `npm whoami`, it is clearer that it ignores its `args`
and instead relies on `npm.flatOptions`.
```json
{
"compilerOptions": {
"moduleResolution": "node",
"module": "commonjs",
"resolveJsonModule": true,
"target": "es2019",
"noImplicitAny": false,
"noImplicitThis": true,
"strict": true,
"maxNodeModuleJsDepth": 0,
"noEmit": true,
"allowJs": true,
"checkJs": true,
"types": ["node"],
"lib": ["esnext"]
},
"include": ["lib"]
}
```
PR-URL: #2766
Credit: @sandersnClose: #2766
Reviewed-by: @nlf, @ruyadorno, @Matausi29
Instead of files randomly requiring the npm singleton,
we pass it where it needs to go so that tests don't need
to do so much require mocking everywhere
PR-URL: #2772
Credit: @wraithgarClose: #2772
Reviewed-by: @ruyadorno
1. Set the shebang to /usr/bin/env bash instead of /bin/sh (which might
be dash or some other shell)
2. Use Unix-style line endings, not Windows-style (Cygwin accepts
either, but mingw bash sometimes objects, and WSL bash always does)
3. Test against paths using wslpath if available, but still pass win32
paths to node.exe, since it is a Windows binary that only knows how
to handle Windows paths.
This makes npm as installed by the Node.js Windows MSI installer behave
properly under WSL, Cygwin, MINGW Git Bash, and the internal MINGW Git
Bash when posix CLI utilities are exposed to the cmd.exe shell.
The test is not quite as comprehensive as I'd like. It runs on the
various Windows bash implementations if they are found in their expected
locations, skipping any that are not installed. Short of shipping
mingw, cygwin, and wsl as test fixtures, I'm not sure how we could do
much better, however. At least, we can use this test to assist debug
and catch issues on Windows machines (ours or users who report
problems).
PR-URL: #2789
Credit: @isaacsClose: #2789
Reviewed-by: @nlf
The searchopts get parsed and added to the query elsewhere, they're not
part of the `include` array they are an extra querystring that is added
to the search request.
PR-URL: #2803
Credit: @wraithgarClose: #2803
Reviewed-by: @ruyadorno
pacote expects a **where** option that sets the cwd for all its
operations, ref: https://github.com/npm/pacote#options
This change properly sets that option in libnpmdiff options that will
then properly forward it to pacote, this is specially important for when
reading local file system specs.
PR-URL: #2822
Credit: @ruyadornoClose: #2822
Reviewed-by: @wraithgar
This causes a `cb() not called` error as the promisified
function explodes silently.
PR-URL: #2824
Credit: @wraithgarClose: #2824
Reviewed-by: @ruyadorno
@ruyadorno
ruyadorno requested a review from a team as a code ownerMarch 4, 2021 21:55
@ljharb

Copy link
Copy Markdown
Contributor

Shouldn't 3c9a589 be semver-minor?

@ruyadorno

Copy link
Copy Markdown
ContributorAuthor

Shouldn't 3c9a589 be semver-minor?

Wasn't so sure about it so I decided to go with a semver-patch under the light that npm explain should have been explaining this since its inception 😅 but I def see the case for it to also be considered a new feature... anyways the release is already out, it's done, sorry if I bothered anyone ❤️

@ruyadorno
ruyadorno merged commit 8806015 into latestMar 4, 2021
@nlf
nlf deleted the release/v7.6.1 branch March 28, 2022 20:49
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.

7 participants

@ruyadorno@ljharb@wraithgar@sandersn@isaacs@kumavis@BAJ-