Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection by jacekradko · Pull Request #21 · clerk/break-check · GitHub
Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [DO NOT MERGE] test: shake up API surface to exercise breaking-change detection by jacekradko · Pull Request #21 · clerk/break-check · GitHub
Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

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

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [DO NOT MERGE] test: shake up API surface to exercise breaking-change detection by jacekradko · Pull Request #21 · clerk/break-check · GitHub
Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [DO NOT MERGE] test: shake up API surface to exercise breaking-change detection by jacekradko · Pull Request #21 · clerk/break-check · GitHub
Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [DO NOT MERGE] test: shake up API surface to exercise breaking-change detection by jacekradko · Pull Request #21 · clerk/break-check · GitHub
Skip to content

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

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

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection - #21

Closed
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection
Closed

[DO NOT MERGE] test: shake up API surface to exercise breaking-change detection#21
jacekradko wants to merge 1 commit into
mainfrom
jacek/test-breaking-detection

Conversation

@jacekradko

Copy link
Copy Markdown
Contributor

Draft PR to exercise snapi's own breaking-change detection against itself. The diff intentionally mixes breaking and non-breaking shape changes so we can see how each one is classified.

Breaking:

  • loadConfig(configPath?) is now loadConfig(configPath). The optional fallback to findConfigFile() is gone; callers must resolve the path themselves.
  • MarkdownReporter#generateJson renamed to MarkdownReporter#toJson.
  • getConfigDir export removed; the one internal caller now inlines path.dirname(path.resolve(configPath)).

Non-breaking:

  • findConfigFile gains an optional second options?: FindConfigFileOptions parameter (with noWalk), and the new type is exported.
  • DetectorOptions gains an optional silent?: boolean field.

Not for merge, just feeding the detector.

@pkg-pr-new

pkg-pr-newBot commented May 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/clerk/break-check/@clerk/break-check@21

commit: be2ce47

@github-actions

github-actionsBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by snapi on 2026-05-27T21:30:57.424Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/snapi

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Static analyzer: Removed function getConfigDir

🤖 AI review (confirmed) (100%): The getConfigDir function has been removed entirely from the public API. Any consumer importing or calling it will get a compile-time error.

Migration: Remove calls to getConfigDir or inline its logic (deriving the directory from a config path) in your own code.

Changed: loadConfig

- export declare function loadConfig(configPath?: string): SnapiConfig;+ export declare function loadConfig(configPath: string): SnapiConfig;

Static analyzer: Breaking change in function loadConfig: Parameter configPath is no longer optional

🤖 AI review (confirmed) (100%): The configPath parameter of loadConfig was previously optional (configPath?: string) and is now required (configPath: string). Any consumer calling loadConfig() without arguments will now get a type error.

Migration: Update all call sites to pass an explicit configPath string, e.g. using findConfigFile() to locate the config path first.

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Static analyzer: Removed method MarkdownReporter.generateJson

🤖 AI review (confirmed) (100%): The generateJson method on MarkdownReporter has been removed. Consumers calling reporter.generateJson(result) will get a compile-time error. The replacement appears to be the new toJson method.

Migration: Replace calls to reporter.generateJson(result) with reporter.toJson(result).

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Static analyzer: Modified function findConfigFile: Optional parameter options was added

🤖 AI review (confirmed) (100%): Adding an optional parameter options?: FindConfigFileOptions to findConfigFile is safe for existing callers — they do not need to pass it, and their call sites remain valid.

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by snapi

@github-actions

github-actionsBot commented May 30, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-05-31T00:57:36.304Z

Summary

MetricCount
Packages analyzed1
Packages with changes1
🔴 Breaking changes3
🟡 Non-breaking changes1
🟢 Additions4

Warning
3 breaking change(s) detected - Major version bump required


@clerk/break-check

Current version: 0.0.1
Recommended bump: MAJOR → 1.0.0

🔴 Breaking Changes (3)

Changed: getConfigDir

- export declare function getConfigDir(configPath: string): string;

Removed function getConfigDir

Changed: loadConfig

- export declare function loadConfig(configPath?: string): BreakCheckConfig;+ export declare function loadConfig(configPath: string): BreakCheckConfig;

Breaking change in function loadConfig: Parameter configPath is no longer optional

Changed: MarkdownReporter.generateJson

- generateJson(result: AnalysisResult): string;

Removed method MarkdownReporter.generateJson

🟡 Non-breaking Changes (1)

Modified: findConfigFile

- export declare function findConfigFile(startDir?: string): string | null;+ export declare function findConfigFile(startDir?: string, options?: FindConfigFileOptions): string | null;

Modified function findConfigFile: Optional parameter options was added

🟢 Additions (4)

Added: DetectorOptions.silent

+ silent?: boolean;

Added property DetectorOptions.silent

Added: FindConfigFileOptions

+ export interface FindConfigFileOptions

Added interface FindConfigFileOptions

Added: FindConfigFileOptions.noWalk

+ noWalk?: boolean;

Added property FindConfigFileOptions.noWalk

Added: MarkdownReporter.toJson

+ toJson(result: AnalysisResult): string;

Added method MarkdownReporter.toJson


Report generated by Break Check

@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 4289113 to 69be955CompareMay 30, 2026 15:48
- loadConfig: configPath is now required (breaking signature change)
- MarkdownReporter.generateJson -> toJson (breaking rename)
- Remove getConfigDir export (inlined into resolvePackagePaths)
- findConfigFile: add optional options arg + FindConfigFileOptions type
- DetectorOptions: add optional silent flag
@jacekradko
jacekradkoforce-pushed the jacek/test-breaking-detection branch from 69be955 to be2ce47CompareMay 31, 2026 00:57
@jacekradkojacekradko changed the title test: shake up API surface to exercise breaking-change detection[DO NOT MERGE] test: shake up API surface to exercise breaking-change detectionMay 31, 2026
@jacekradko
jacekradko deleted the jacek/test-breaking-detection branch June 2, 2026 18:48
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

@jacekradko