replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke
, '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

replace update-notifier - #61

Closed
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier
Closed

replace update-notifier#61
olore wants to merge 3 commits into
npm:latestfrom
olore:remove-update-notifier

Conversation

@olore

@oloreolore commented Aug 28, 2018

Copy link
Copy Markdown
Contributor

See discussion on npm community

  • Use a detached process
    • I think because it's using a separate process, we don't need a timeout, but please let me know.
  • Ignore errors
  • Limit how often it does these checks. update-notifier does this by using configstore to write a lastUpdateCheck date and then compares it to opts.updateCheckInterval.
  • Remove update-notifier dependencies from git
    • I removed update-notifier from package.json, but I am not sure how to cleanly remove it and its dependencies because it's in bundleDependencies
  • update-notifier uses boxen to create the nice output, I am not sure we want to add it as a dependency
  • Fix up after 6.4.1 is released (has CI checks prior to running update-notifier)

I tested this by changing package.json version to 6.3.0 :

$ ./bin/npm-cli.js --version
6.3.0
$ ./bin/npm-cli.js uninstall test-version-checker
audited 8072 packages in 9.318s
found 0 vulnerabilities
New minor version of npm available! 6.3.0 → 6.4.0
Changelog: https://github.com/npm/cli/releases/tag/v6.4.0
Run npm install -g npm to update!

@olore
olore requested a review from a team as a code ownerAugust 28, 2018 23:55
@zkat

zkat commented Aug 29, 2018

Copy link
Copy Markdown
Contributor

@olore some pointers wrt your remaining items, in case it helps:

  1. This is super straightforward to do if you use cacache directly. Something like:
constcacache=require('cacache')constcache=path.join(npm.config.get('cache'),'_cacache')// I know, it's weird. It'll be better soon.// writingcacache.put(cache,'update-notifier:last-check',Date.toUTCString()).then(....)// readingcacache.get(cache,'update-notifier:last-check').then(time=>{console.log('last check time was',newDate(time.toString('utf8')))})
  1. Just npm rm update-notifier && git add -A package* node_modules && git commit-m 'update-notifier@REMOVED' and you're all set. It'll remove it from bundleDeps and take care of everything for you.

  2. I think it's fine to keep the boxen dependency. It'll still be a net loss in package size since it was already there. I have no beef with boxen itself.

@olore

Copy link
Copy Markdown
ContributorAuthor

Thanks @zkat ! This will definitely help.

  1. When I run uninstall there are no changes made to package.json, or anything that I can add/rm/commit
$ npm uninstall update-notifier
npm WARN npm@6.4.0 Non-dependency in bundleDependencies: update-notifier
audited 7968 packages in 8.778s
found 0 vulnerabilities
$ git st
On branch remove-update-notifier
Your branch is up to date with 'olore/remove-update-notifier'.
nothing to commit, working tree clean

I feel like I am just missing something simple 😃

@olore
oloreforce-pushed the remove-update-notifier branch from 90db349 to 228abd0CompareAugust 29, 2018 02:57
@zkatzkat added in-progress semver:patch semver patch level for changes labels Aug 29, 2018
@olore
oloreforce-pushed the remove-update-notifier branch from 228abd0 to 9902590CompareAugust 31, 2018 22:13
@olore

olore commented Sep 1, 2018

Copy link
Copy Markdown
ContributorAuthor

I think I got everything, it's ready for review.

I still don't think I properly removed update-notifier (it's still in node_modules). Any pointers are appreciated.

@ewanharris

Copy link
Copy Markdown

Would it be possible to have a way to make sure that this doesn't get run, similar to how the --no-update-notifier flag or the NO_UPDATE_NOTIFIER env var can be used today?

@olore

Copy link
Copy Markdown
ContributorAuthor

@ewanharris - yes the previous flag is still supported

@olore

Copy link
Copy Markdown
ContributorAuthor

I don't know how to successfully complete the final task (I created for myself!)
Is it possible this gets taken care of by the build?

If so, this should be good to go. Let me know if there is anything else to do here.

@zkat

zkat commented Nov 13, 2018

Copy link
Copy Markdown
Contributor

Hey, sorry for taking so long to get back to this.

I have one last request: Can you write a basic test for this? I realize it's gotten big enough that I'm anxious about merging without at least a basic stability check.

@olore

Copy link
Copy Markdown
ContributorAuthor

@zkat yes I will see what I can do. Back when I started this, I was looking for any tests in this area and came up empty. I'll give it another look. Thanks.

@olore
oloreforce-pushed the remove-update-notifier branch from a40ed02 to f6c6883CompareDecember 29, 2018 02:20
@darcyclarkedarcyclarke added the Release 7.x work is associated with a specific npm 7 release label Nov 19, 2019
@mikemimik

Copy link
Copy Markdown
Contributor

@olore we're going to address this in npm@7.x. Our initial thought is to gut that dep out of the cli. We're really focused on performance in npm@7.x, and this seems like some great low hanging fruit!

@darcyclarkedarcyclarke added the semver:major backwards-incompatible breaking changes label Mar 3, 2020
@darcyclarke

Copy link
Copy Markdown
Contributor

@olore sorry for the very long wait here for any updates. We're going to review how we approach this prompt in the next ~month & so I'm going to closing this PR for not but will be reference your work in a net-new issue: #1592

@olore

Copy link
Copy Markdown
ContributorAuthor

@darcyclarke it's all good! Thanks for the link to the new issue

Jah-yee pushed a commit to Jah-yee/cli that referenced this pull request Apr 16, 2026
* chore: release versions
* chore: regenerate skills [skip ci]
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jun 19, 2026
github-actionsBot added a commit to Kevinlee7250/cli that referenced this pull request Jul 1, 2026
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 30, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Release 7.xwork is associated with a specific npm 7 releasesemver:majorbackwards-incompatible breaking changessemver:patchsemver patch level for changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@olore@zkat@ewanharris@mikemimik@darcyclarke