Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading
, '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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
90b0ce5
feat: modernize tooling stack
vmaerten Dec 31, 2025
b6f5ee4
fix: markdownlint exec name and ignore npmjs.com
vmaerten Dec 31, 2025
009eeaa
fix: use pnpm source for licensed
vmaerten Dec 31, 2025
ab4bfd9
fix: ajv executable name
vmaerten Dec 31, 2025
a497ec7
fix: strip-json-comments executable name
vmaerten Dec 31, 2025
e929742
build: rebuild dist bundle
vmaerten Dec 31, 2025
7514c30
chore: remove npm license cache, will be regenerated for pnpm in CI
vmaerten Dec 31, 2025
36b7397
fix: downgrade nock to 13.x for test compatibility
vmaerten Dec 31, 2025
6d9fef2
fix: update license cache for pnpm source format
vmaerten Dec 31, 2025
6d81d6e
feat: revert to npm from pnpm
vmaerten Dec 31, 2025
7e5bcfc
fix: replace typed-rest-client with @actions/http-client
vmaerten Apr 18, 2026
bd20fa8
chore: bump minor and patch dependencies
vmaerten Apr 18, 2026
c0912cb
chore: upgrade major deps and migrate to ESM
vmaerten Apr 18, 2026
38c0549
refactor: use named imports throughout
vmaerten Apr 18, 2026
cdc3f90
chore: fix workflow failures (prettier, codespell, license cache)
vmaerten Apr 18, 2026
0455213
ci: consolidate 11 workflows into a single ci.yml
vmaerten Apr 18, 2026
a3a48a6
chore: switch from prettier to oxfmt
vmaerten Apr 18, 2026
5914f4a
build: rebuild dist bundle after oxfmt reformat of installer.ts
vmaerten Apr 18, 2026
7dd0e2b
docs: update README badges for consolidated ci.yml
vmaerten Apr 18, 2026
dca61da
fix(ci): add nodemon.json schema reference for npm:validate
vmaerten Apr 18, 2026
a3ec89e
docs: update taskfile.dev links to new URL structure
vmaerten Apr 18, 2026
aa35b2f
chore: bump go-task/setup-task references from v1 to v2
vmaerten Apr 18, 2026
caa506b
ci: bump actions/checkout to v6 and drop Task 2.x from integration ma…
vmaerten Apr 18, 2026
a7344dd
ci: only run on push to main, avoid duplicate runs on PR branches
vmaerten Apr 18, 2026
6ce70eb
ci: single push trigger, drop pull_request
vmaerten Apr 18, 2026
9bee4c9
docs: move unreleased modernization entries out of v2.0.0 section
vmaerten Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
skip = ./.git,./dist,./go.mod,./go.sum,./package-lock.json,./pnpm-lock.yaml,./poetry.lock,./yarn.lock,./node_modules,./__tests__/testdata
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

30 changes: 0 additions & 30 deletions .eslintrc.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/check-action-metadata-task.yml

This file was deleted.

67 changes: 0 additions & 67 deletions .github/workflows/check-license.yml

This file was deleted.

82 changes: 0 additions & 82 deletions .github/workflows/check-markdown-task.yml

This file was deleted.

151 changes: 0 additions & 151 deletions .github/workflows/check-npm-dependencies-task.yml

This file was deleted.

Loading
Loading