Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman
, '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

Added --treat-source-as-minified option for sourcemaps inject command - #1956

Closed
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified
Closed

Added --treat-source-as-minified option for sourcemaps inject command#1956
Zozman wants to merge 3 commits into
getsentry:masterfrom
Zozman:injectTreatSourceAsMinified

Conversation

@Zozman

Copy link
Copy Markdown

Issue

As described in #1955, the sourcemaps inject command cannot handle certain minified files if it has particular syntax (template literals without a sourceMappingURL for example) and will be unable to tell that a file is a minified file that needs to have Debug IDs injected. Users should be able to say "hey I know everything in this directory is something that I want IDs injected into".

Therefore this PR is a proposal for adding a --treat-source-as-minified option that will force sentry-cli to override the is_likely_minified_js check and instead treat the imput as if it was minified. Then the tool will inject Debug IDs no matter what.

Example Usage And Output

sentry-cli sourcemaps inject ./dist --treat-source-as-minified --log-level=debug
DEBUG 2024-02-22 04:42:05.930388638 +00:00 sentry-cli version: 2.28.6, platform: "linux", architecture: "x86_64"
INFO 2024-02-22 04:42:05.932234263 +00:00 sentry-cli was invoked with the following command line: "/bin/sentry-cli" "sourcemaps" "inject" "./dist" "--treat-source-as-minified" "--log-level=debug"
> Searching ./dist
> Found 2 files
> Analyzing 2 sources
> Injecting debug ids
Source Map Debug ID Injection Report
Modified: The following source files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js
Modified: The following sourcemap files have been modified to have debug ids
1f7a44af-c70b-599e-b3bc-e021cb2d7bfa - ./dist/bundle.js.map

This PR is provided merely as a proposal as y'all might want to handle this a different way / syntax / methodology and is merely presented as one idea for dealing with #1955.

@Zozman

Copy link
Copy Markdown
Author

Closing as #1958 takes care of #1955 in a more generic manor.

@ZozmanZozman closed this Mar 4, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Zozman