@utilix-tech/sdk 0.66.0 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.67.0
6
+ - Add `analyzeRegexGroups` (regex-groups): parse a regex pattern's capture groups (numbered and named) and backreferences, flagging any backreference pointing at a group that doesn't exist or hasn't finished being defined yet at that point in the pattern.
7
+
5
8
  ## 0.66.0
6
9
  - Add `buildXRobotsTag`, `parseXRobotsTag` (x-robots-tag-builder): build an X-Robots-Tag response header from flag directives (noindex, nofollow, etc.) plus max-snippet/max-image-preview/max-video-preview/unavailable_after value directives, optionally scoped to a crawler user-agent, or parse an existing header into the same shape.
7
10
  - Add `lookupOpcode`, `listOpcodes` (websocket-opcode-reference): look up what a WebSocket frame opcode means per RFC 6455's 4-bit opcode space, or list every opcode.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **682 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **684 developer utility functions for Node.js: runs locally, no API key required.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@utilix-tech/sdk?style=flat-square&color=cb3837)](https://www.npmjs.com/package/@utilix-tech/sdk)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@utilix-tech/sdk?style=flat-square)](https://www.npmjs.com/package/@utilix-tech/sdk)
@@ -725,7 +725,7 @@ generateCspHeader({ "default-src": ["'self'"], "script-src": ["'self'", "cdn.exa
725
725
  ```ts
726
726
  import { formatSql, minifySql, testRegex, formatHtml, formatGql,
727
727
  detectDialect, splitStatements, lookupMime, parseGithubUrl,
728
- detectRedos, testGitignorePatterns, validateEditorConfig,
728
+ detectRedos, analyzeRegexGroups, testGitignorePatterns, validateEditorConfig,
729
729
  validateTsconfig, validatePackageExports } from "@utilix-tech/sdk/code";
730
730
 
731
731
  // SQL
@@ -763,6 +763,10 @@ parseGithubUrl("https://github.com/facebook/react/pull/1234");
763
763
  detectRedos("(a+)+");
764
764
  // { risk: "high", safe: false, findings: [{ type: "nested-quantifier", ... }] }
765
765
 
766
+ // Regex capture group & backreference visualizer
767
+ analyzeRegexGroups("(a)(b)\\3");
768
+ // { groups: [{ index: 1, ... }, { index: 2, ... }], issues: [{ severity: "error", message: "Backreference \\3 ... doesn't exist ..." }] }
769
+
766
770
  // Test paths against a .gitignore file's patterns
767
771
  testGitignorePatterns("node_modules/\n*.log", ["node_modules/foo.js", "debug.log", "src/index.js"]);
768
772
  // [{ path: "node_modules/foo.js", ignored: true, matchedPattern: "node_modules/", matchedLine: 1 }, ...]
@@ -10,6 +10,7 @@ __export(code_exports, {
10
10
  MIME_TABLE: () => MIME_TABLE,
11
11
  OPERATIONS: () => OPERATIONS,
12
12
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
13
+ analyzeRegexGroups: () => analyzeRegexGroups,
13
14
  auditDependencyRanges: () => auditDependencyRanges,
14
15
  buildDockerPull: () => buildDockerPull,
15
16
  buildDockerRun: () => buildDockerRun,
@@ -3485,5 +3486,113 @@ function auditDependencyRanges(packageJsonText) {
3485
3486
  issues
3486
3487
  };
3487
3488
  }
3489
+ function analyzeRegexGroups(pattern) {
3490
+ let valid = true;
3491
+ let compileError;
3492
+ try {
3493
+ new RegExp(pattern);
3494
+ } catch (e) {
3495
+ valid = false;
3496
+ compileError = e instanceof Error ? e.message : String(e);
3497
+ }
3498
+ const groups = [];
3499
+ const openStack = [];
3500
+ const backreferences = [];
3501
+ const issues = [];
3502
+ let groupCount = 0;
3503
+ let inClass = false;
3504
+ for (let i = 0; i < pattern.length; i++) {
3505
+ const ch = pattern[i];
3506
+ if (ch === "\\" && i + 1 < pattern.length) {
3507
+ const next = pattern[i + 1];
3508
+ if (!inClass && /[1-9]/.test(next)) {
3509
+ let j = i + 1;
3510
+ while (j < pattern.length && /[0-9]/.test(pattern[j])) j++;
3511
+ const raw = pattern.slice(i, j);
3512
+ const target = parseInt(pattern.slice(i + 1, j), 10);
3513
+ backreferences.push({ raw, target, start: i, resolved: false, definedBeforeUse: false });
3514
+ i = j - 1;
3515
+ continue;
3516
+ }
3517
+ if (!inClass && next === "k" && pattern[i + 2] === "<") {
3518
+ const close = pattern.indexOf(">", i + 3);
3519
+ if (close !== -1) {
3520
+ const name = pattern.slice(i + 3, close);
3521
+ const raw = pattern.slice(i, close + 1);
3522
+ backreferences.push({ raw, target: name, start: i, resolved: false, definedBeforeUse: false });
3523
+ i = close;
3524
+ continue;
3525
+ }
3526
+ }
3527
+ i++;
3528
+ continue;
3529
+ }
3530
+ if (ch === "[" && !inClass) {
3531
+ inClass = true;
3532
+ continue;
3533
+ }
3534
+ if (ch === "]" && inClass) {
3535
+ inClass = false;
3536
+ continue;
3537
+ }
3538
+ if (inClass) continue;
3539
+ if (ch === "(") {
3540
+ if (pattern[i + 1] === "?") {
3541
+ const c2 = pattern[i + 2];
3542
+ if (c2 === ":" || c2 === "=" || c2 === "!") {
3543
+ openStack.push({ index: -1, name: null, start: i });
3544
+ continue;
3545
+ }
3546
+ if (c2 === "<" && (pattern[i + 3] === "=" || pattern[i + 3] === "!")) {
3547
+ openStack.push({ index: -1, name: null, start: i });
3548
+ continue;
3549
+ }
3550
+ if (c2 === "<") {
3551
+ const close = pattern.indexOf(">", i + 3);
3552
+ const name = close !== -1 ? pattern.slice(i + 3, close) : null;
3553
+ groupCount++;
3554
+ openStack.push({ index: groupCount, name, start: i });
3555
+ if (close !== -1) i = close;
3556
+ continue;
3557
+ }
3558
+ openStack.push({ index: -1, name: null, start: i });
3559
+ continue;
3560
+ }
3561
+ groupCount++;
3562
+ openStack.push({ index: groupCount, name: null, start: i });
3563
+ continue;
3564
+ }
3565
+ if (ch === ")") {
3566
+ const open = openStack.pop();
3567
+ if (open && open.index !== -1) {
3568
+ groups.push({ index: open.index, name: open.name, start: open.start, end: i });
3569
+ }
3570
+ continue;
3571
+ }
3572
+ }
3573
+ for (const open of openStack) {
3574
+ if (open.index !== -1) groups.push({ index: open.index, name: open.name, start: open.start, end: -1 });
3575
+ }
3576
+ groups.sort((a, b) => a.index - b.index);
3577
+ const byIndex = new Map(groups.map((g) => [g.index, g]));
3578
+ const byName = new Map(groups.filter((g) => g.name !== null).map((g) => [g.name, g]));
3579
+ for (const b of backreferences) {
3580
+ const g = typeof b.target === "number" ? byIndex.get(b.target) : byName.get(b.target);
3581
+ if (!g) {
3582
+ b.resolved = false;
3583
+ b.definedBeforeUse = false;
3584
+ const label = typeof b.target === "number" ? `group ${b.target}` : `named group "${b.target}"`;
3585
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} points to ${label}, which doesn't exist in this pattern.` });
3586
+ } else {
3587
+ b.resolved = true;
3588
+ b.definedBeforeUse = g.end !== -1 && g.end < b.start;
3589
+ if (!b.definedBeforeUse) {
3590
+ const label = `group ${g.index}${g.name ? ` ("${g.name}")` : ""}`;
3591
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} references ${label}, which hasn't finished being defined yet at that point in the pattern.` });
3592
+ }
3593
+ }
3594
+ }
3595
+ return { pattern, valid, ...compileError ? { compileError } : {}, groups, backreferences, issues };
3596
+ }
3488
3597
 
3489
- export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig };
3598
+ export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, code_exports, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig };
@@ -26,6 +26,7 @@
26
26
  * - tsconfig-validator (validateTsconfig)
27
27
  * - package-json-exports-validator (validatePackageExports)
28
28
  * - package-json-dependency-auditor (auditDependencyRanges)
29
+ * - regex-groups (analyzeRegexGroups)
29
30
  */
30
31
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
31
32
  declare const ALL_FLAGS: RegexFlag[];
@@ -511,6 +512,41 @@ interface DependencyAuditResult {
511
512
  declare function auditDependencyRanges(packageJsonText: string): DependencyAuditResult | {
512
513
  error: string;
513
514
  };
515
+ interface RegexGroupInfo {
516
+ index: number;
517
+ name: string | null;
518
+ start: number;
519
+ end: number;
520
+ }
521
+ interface RegexBackreferenceInfo {
522
+ raw: string;
523
+ target: number | string;
524
+ start: number;
525
+ resolved: boolean;
526
+ definedBeforeUse: boolean;
527
+ }
528
+ interface RegexGroupIssue {
529
+ severity: 'error' | 'warning';
530
+ message: string;
531
+ }
532
+ interface RegexGroupAnalysis {
533
+ pattern: string;
534
+ valid: boolean;
535
+ compileError?: string;
536
+ groups: RegexGroupInfo[];
537
+ backreferences: RegexBackreferenceInfo[];
538
+ issues: RegexGroupIssue[];
539
+ }
540
+ /**
541
+ * Parse a regex pattern's capture groups (numbered and named) and
542
+ * backreferences, and flag any backreference that points at a group which
543
+ * doesn't exist or hasn't finished being defined yet at that point in the
544
+ * pattern (a forward reference or a self-reference). Pass the pattern body
545
+ * only, no delimiters or flags. This is a structural, non-AI check, distinct
546
+ * from the ReDoS Detector (backtracking risk) and Regex Explainer (AI)
547
+ * (plain-English breakdown).
548
+ */
549
+ declare function analyzeRegexGroups(pattern: string): RegexGroupAnalysis;
514
550
 
515
551
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
516
552
  type code_ApiEndpoint = ApiEndpoint;
@@ -562,8 +598,12 @@ type code_ParsedSpec = ParsedSpec;
562
598
  type code_RedosFinding = RedosFinding;
563
599
  type code_RedosResult = RedosResult;
564
600
  type code_RedosSeverity = RedosSeverity;
601
+ type code_RegexBackreferenceInfo = RegexBackreferenceInfo;
565
602
  type code_RegexError = RegexError;
566
603
  type code_RegexFlag = RegexFlag;
604
+ type code_RegexGroupAnalysis = RegexGroupAnalysis;
605
+ type code_RegexGroupInfo = RegexGroupInfo;
606
+ type code_RegexGroupIssue = RegexGroupIssue;
567
607
  type code_RegexMatch = RegexMatch;
568
608
  type code_RegexResult = RegexResult;
569
609
  type code_RegexSuccess = RegexSuccess;
@@ -575,6 +615,7 @@ type code_SqlFormatOptions = SqlFormatOptions;
575
615
  type code_TestPatternResult = TestPatternResult;
576
616
  type code_TsconfigIssue = TsconfigIssue;
577
617
  type code_TsconfigValidationResult = TsconfigValidationResult;
618
+ declare const code_analyzeRegexGroups: typeof analyzeRegexGroups;
578
619
  declare const code_auditDependencyRanges: typeof auditDependencyRanges;
579
620
  declare const code_buildDockerPull: typeof buildDockerPull;
580
621
  declare const code_buildDockerRun: typeof buildDockerRun;
@@ -626,7 +667,7 @@ declare const code_validateEnvKey: typeof validateEnvKey;
626
667
  declare const code_validatePackageExports: typeof validatePackageExports;
627
668
  declare const code_validateTsconfig: typeof validateTsconfig;
628
669
  declare namespace code {
629
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
670
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
630
671
  }
631
672
 
632
- export { type RegexMatch as $, ALL_FLAGS as A, type GitCommandResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type GitOperation as F, type GitCommandConfig as G, type GithubUrlInfo as H, type GithubUrlType as I, type GitignoreTestResult as J, type GqlFormatResult as K, type HtmlFormatResult as L, type HtmlMinifyOptions as M, type HtmlMinifyResult as N, type JsMinifyOptions as O, type JsMinifyResult as P, MIME_TABLE as Q, type MatchResult as R, type MimeEntry as S, type MimeLookupResult as T, OPERATIONS as U, type ParsedSpec as V, type RedosFinding as W, type RedosResult as X, type RedosSeverity as Y, type RegexError as Z, type RegexFlag as _, type ApiEndpoint as a, type RegexResult as a0, type RegexSuccess as a1, SQL_DEFAULT_OPTIONS as a2, type Segment as a3, type SpecVersion as a4, type SqlDialect as a5, type SqlFormatOptions as a6, type TestPatternResult as a7, type TsconfigIssue as a8, type TsconfigValidationResult as a9, minifyHtml as aA, minifyJs as aB, minifySql as aC, normalizeRef as aD, parseDockerImage as aE, parseEnv as aF, parseGitCommand as aG, parseGithubUrl as aH, parseSpec as aI, removeConsoleCalls as aJ, removeEmptyAttributes as aK, removeHtmlComments as aL, removeJsComments as aM, removeRedundantAttributes as aN, searchCheatsheet as aO, searchEndpoints as aP, splitStatements as aQ, testGitignorePatterns as aR, testPattern as aS, testRegex as aT, validateEditorConfig as aU, validateEnvKey as aV, validatePackageExports as aW, validateTsconfig as aX, auditDependencyRanges as aa, buildDockerPull as ab, buildDockerRun as ac, buildGitCommand as ad, collapseHtmlWhitespace as ae, collapseJsWhitespace as af, countProperties as ag, countRules as ah, detectDialect as ai, detectOperationType as aj, detectRedos as ak, envToExport as al, envToJson as am, formatCss as an, formatGql as ao, formatHtml as ap, formatSql as aq, getEndpointsByTag as ar, getHtmlStats as as, getJsStats as at, getMethodColor as au, isValidTag as av, lintConventionalCommit as aw, lookupMime as ax, minifyCss as ay, minifyGql as az, type ApiInfo as b, code as c, type CheatsheetEntry as d, type ConventionalCommitFinding as e, type ConventionalCommitFooter as f, type ConventionalCommitOptions as g, type ConventionalCommitParsed as h, type ConventionalCommitResult as i, type ConventionalCommitSeverity as j, type CssResult as k, type DependencyAuditDuplicate as l, type DependencyAuditEntry as m, type DependencyAuditIssue as n, type DependencyAuditResult as o, type DependencyRangeType as p, type DependencySection as q, type DockerImageRef as r, type EditorConfigProperty as s, type EditorConfigSection as t, type EditorConfigValidationResult as u, type EnvEntry as v, type EnvParseResult as w, type ExportsIssue as x, type ExportsShape as y, type ExportsValidationResult as z };
673
+ export { type RegexFlag as $, ALL_FLAGS as A, type GitCommandResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type GitOperation as F, type GitCommandConfig as G, type GithubUrlInfo as H, type GithubUrlType as I, type GitignoreTestResult as J, type GqlFormatResult as K, type HtmlFormatResult as L, type HtmlMinifyOptions as M, type HtmlMinifyResult as N, type JsMinifyOptions as O, type JsMinifyResult as P, MIME_TABLE as Q, type MatchResult as R, type MimeEntry as S, type MimeLookupResult as T, OPERATIONS as U, type ParsedSpec as V, type RedosFinding as W, type RedosResult as X, type RedosSeverity as Y, type RegexBackreferenceInfo as Z, type RegexError as _, type ApiEndpoint as a, validatePackageExports as a$, type RegexGroupAnalysis as a0, type RegexGroupInfo as a1, type RegexGroupIssue as a2, type RegexMatch as a3, type RegexResult as a4, type RegexSuccess as a5, SQL_DEFAULT_OPTIONS as a6, type Segment as a7, type SpecVersion as a8, type SqlDialect as a9, isValidTag as aA, lintConventionalCommit as aB, lookupMime as aC, minifyCss as aD, minifyGql as aE, minifyHtml as aF, minifyJs as aG, minifySql as aH, normalizeRef as aI, parseDockerImage as aJ, parseEnv as aK, parseGitCommand as aL, parseGithubUrl as aM, parseSpec as aN, removeConsoleCalls as aO, removeEmptyAttributes as aP, removeHtmlComments as aQ, removeJsComments as aR, removeRedundantAttributes as aS, searchCheatsheet as aT, searchEndpoints as aU, splitStatements as aV, testGitignorePatterns as aW, testPattern as aX, testRegex as aY, validateEditorConfig as aZ, validateEnvKey as a_, type SqlFormatOptions as aa, type TestPatternResult as ab, type TsconfigIssue as ac, type TsconfigValidationResult as ad, analyzeRegexGroups as ae, auditDependencyRanges as af, buildDockerPull as ag, buildDockerRun as ah, buildGitCommand as ai, collapseHtmlWhitespace as aj, collapseJsWhitespace as ak, countProperties as al, countRules as am, detectDialect as an, detectOperationType as ao, detectRedos as ap, envToExport as aq, envToJson as ar, formatCss as as, formatGql as at, formatHtml as au, formatSql as av, getEndpointsByTag as aw, getHtmlStats as ax, getJsStats as ay, getMethodColor as az, type ApiInfo as b, validateTsconfig as b0, code as c, type CheatsheetEntry as d, type ConventionalCommitFinding as e, type ConventionalCommitFooter as f, type ConventionalCommitOptions as g, type ConventionalCommitParsed as h, type ConventionalCommitResult as i, type ConventionalCommitSeverity as j, type CssResult as k, type DependencyAuditDuplicate as l, type DependencyAuditEntry as m, type DependencyAuditIssue as n, type DependencyAuditResult as o, type DependencyRangeType as p, type DependencySection as q, type DockerImageRef as r, type EditorConfigProperty as s, type EditorConfigSection as t, type EditorConfigValidationResult as u, type EnvEntry as v, type EnvParseResult as w, type ExportsIssue as x, type ExportsShape as y, type ExportsValidationResult as z };
@@ -26,6 +26,7 @@
26
26
  * - tsconfig-validator (validateTsconfig)
27
27
  * - package-json-exports-validator (validatePackageExports)
28
28
  * - package-json-dependency-auditor (auditDependencyRanges)
29
+ * - regex-groups (analyzeRegexGroups)
29
30
  */
30
31
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
31
32
  declare const ALL_FLAGS: RegexFlag[];
@@ -511,6 +512,41 @@ interface DependencyAuditResult {
511
512
  declare function auditDependencyRanges(packageJsonText: string): DependencyAuditResult | {
512
513
  error: string;
513
514
  };
515
+ interface RegexGroupInfo {
516
+ index: number;
517
+ name: string | null;
518
+ start: number;
519
+ end: number;
520
+ }
521
+ interface RegexBackreferenceInfo {
522
+ raw: string;
523
+ target: number | string;
524
+ start: number;
525
+ resolved: boolean;
526
+ definedBeforeUse: boolean;
527
+ }
528
+ interface RegexGroupIssue {
529
+ severity: 'error' | 'warning';
530
+ message: string;
531
+ }
532
+ interface RegexGroupAnalysis {
533
+ pattern: string;
534
+ valid: boolean;
535
+ compileError?: string;
536
+ groups: RegexGroupInfo[];
537
+ backreferences: RegexBackreferenceInfo[];
538
+ issues: RegexGroupIssue[];
539
+ }
540
+ /**
541
+ * Parse a regex pattern's capture groups (numbered and named) and
542
+ * backreferences, and flag any backreference that points at a group which
543
+ * doesn't exist or hasn't finished being defined yet at that point in the
544
+ * pattern (a forward reference or a self-reference). Pass the pattern body
545
+ * only, no delimiters or flags. This is a structural, non-AI check, distinct
546
+ * from the ReDoS Detector (backtracking risk) and Regex Explainer (AI)
547
+ * (plain-English breakdown).
548
+ */
549
+ declare function analyzeRegexGroups(pattern: string): RegexGroupAnalysis;
514
550
 
515
551
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
516
552
  type code_ApiEndpoint = ApiEndpoint;
@@ -562,8 +598,12 @@ type code_ParsedSpec = ParsedSpec;
562
598
  type code_RedosFinding = RedosFinding;
563
599
  type code_RedosResult = RedosResult;
564
600
  type code_RedosSeverity = RedosSeverity;
601
+ type code_RegexBackreferenceInfo = RegexBackreferenceInfo;
565
602
  type code_RegexError = RegexError;
566
603
  type code_RegexFlag = RegexFlag;
604
+ type code_RegexGroupAnalysis = RegexGroupAnalysis;
605
+ type code_RegexGroupInfo = RegexGroupInfo;
606
+ type code_RegexGroupIssue = RegexGroupIssue;
567
607
  type code_RegexMatch = RegexMatch;
568
608
  type code_RegexResult = RegexResult;
569
609
  type code_RegexSuccess = RegexSuccess;
@@ -575,6 +615,7 @@ type code_SqlFormatOptions = SqlFormatOptions;
575
615
  type code_TestPatternResult = TestPatternResult;
576
616
  type code_TsconfigIssue = TsconfigIssue;
577
617
  type code_TsconfigValidationResult = TsconfigValidationResult;
618
+ declare const code_analyzeRegexGroups: typeof analyzeRegexGroups;
578
619
  declare const code_auditDependencyRanges: typeof auditDependencyRanges;
579
620
  declare const code_buildDockerPull: typeof buildDockerPull;
580
621
  declare const code_buildDockerRun: typeof buildDockerRun;
@@ -626,7 +667,7 @@ declare const code_validateEnvKey: typeof validateEnvKey;
626
667
  declare const code_validatePackageExports: typeof validatePackageExports;
627
668
  declare const code_validateTsconfig: typeof validateTsconfig;
628
669
  declare namespace code {
629
- export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
670
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_ConventionalCommitFinding as ConventionalCommitFinding, type code_ConventionalCommitFooter as ConventionalCommitFooter, type code_ConventionalCommitOptions as ConventionalCommitOptions, type code_ConventionalCommitParsed as ConventionalCommitParsed, type code_ConventionalCommitResult as ConventionalCommitResult, type code_ConventionalCommitSeverity as ConventionalCommitSeverity, type code_CssResult as CssResult, code_DEFAULT_COMMIT_TYPES as DEFAULT_COMMIT_TYPES, type code_DependencyAuditDuplicate as DependencyAuditDuplicate, type code_DependencyAuditEntry as DependencyAuditEntry, type code_DependencyAuditIssue as DependencyAuditIssue, type code_DependencyAuditResult as DependencyAuditResult, type code_DependencyRangeType as DependencyRangeType, type code_DependencySection as DependencySection, type code_DockerImageRef as DockerImageRef, type code_EditorConfigIssue as EditorConfigIssue, type code_EditorConfigProperty as EditorConfigProperty, type code_EditorConfigSection as EditorConfigSection, type code_EditorConfigValidationResult as EditorConfigValidationResult, type code_EnvEntry as EnvEntry, type code_EnvParseResult as EnvParseResult, type code_ExportsIssue as ExportsIssue, type code_ExportsShape as ExportsShape, type code_ExportsValidationResult as ExportsValidationResult, type code_GitCommandConfig as GitCommandConfig, type code_GitCommandResult as GitCommandResult, type code_GitOperation as GitOperation, type code_GithubUrlInfo as GithubUrlInfo, type code_GithubUrlType as GithubUrlType, type code_GitignoreTestResult as GitignoreTestResult, type code_GqlFormatResult as GqlFormatResult, type code_HtmlFormatResult as HtmlFormatResult, type code_HtmlMinifyOptions as HtmlMinifyOptions, type code_HtmlMinifyResult as HtmlMinifyResult, type code_JsMinifyOptions as JsMinifyOptions, type code_JsMinifyResult as JsMinifyResult, code_MIME_TABLE as MIME_TABLE, type code_MatchResult as MatchResult, type code_MimeEntry as MimeEntry, type code_MimeLookupResult as MimeLookupResult, code_OPERATIONS as OPERATIONS, type code_ParsedSpec as ParsedSpec, type code_RedosFinding as RedosFinding, type code_RedosResult as RedosResult, type code_RedosSeverity as RedosSeverity, type code_RegexBackreferenceInfo as RegexBackreferenceInfo, type code_RegexError as RegexError, type code_RegexFlag as RegexFlag, type code_RegexGroupAnalysis as RegexGroupAnalysis, type code_RegexGroupInfo as RegexGroupInfo, type code_RegexGroupIssue as RegexGroupIssue, type code_RegexMatch as RegexMatch, type code_RegexResult as RegexResult, type code_RegexSuccess as RegexSuccess, code_SQL_DEFAULT_OPTIONS as SQL_DEFAULT_OPTIONS, type code_Segment as Segment, type code_SpecVersion as SpecVersion, type code_SqlDialect as SqlDialect, type code_SqlFormatOptions as SqlFormatOptions, type code_TestPatternResult as TestPatternResult, type code_TsconfigIssue as TsconfigIssue, type code_TsconfigValidationResult as TsconfigValidationResult, code_analyzeRegexGroups as analyzeRegexGroups, code_auditDependencyRanges as auditDependencyRanges, code_buildDockerPull as buildDockerPull, code_buildDockerRun as buildDockerRun, code_buildGitCommand as buildGitCommand, code_collapseHtmlWhitespace as collapseHtmlWhitespace, code_collapseJsWhitespace as collapseJsWhitespace, code_countProperties as countProperties, code_countRules as countRules, code_detectDialect as detectDialect, code_detectOperationType as detectOperationType, code_detectRedos as detectRedos, code_envToExport as envToExport, code_envToJson as envToJson, code_formatCss as formatCss, code_formatGql as formatGql, code_formatHtml as formatHtml, code_formatSql as formatSql, code_getEndpointsByTag as getEndpointsByTag, code_getHtmlStats as getHtmlStats, code_getJsStats as getJsStats, code_getMethodColor as getMethodColor, code_isValidTag as isValidTag, code_lintConventionalCommit as lintConventionalCommit, code_lookupMime as lookupMime, code_minifyCss as minifyCss, code_minifyGql as minifyGql, code_minifyHtml as minifyHtml, code_minifyJs as minifyJs, code_minifySql as minifySql, code_normalizeRef as normalizeRef, code_parseDockerImage as parseDockerImage, code_parseEnv as parseEnv, code_parseGitCommand as parseGitCommand, code_parseGithubUrl as parseGithubUrl, code_parseSpec as parseSpec, code_removeConsoleCalls as removeConsoleCalls, code_removeEmptyAttributes as removeEmptyAttributes, code_removeHtmlComments as removeHtmlComments, code_removeJsComments as removeJsComments, code_removeRedundantAttributes as removeRedundantAttributes, code_searchCheatsheet as searchCheatsheet, code_searchEndpoints as searchEndpoints, code_splitStatements as splitStatements, code_testGitignorePatterns as testGitignorePatterns, code_testPattern as testPattern, code_testRegex as testRegex, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
630
671
  }
631
672
 
632
- export { type RegexMatch as $, ALL_FLAGS as A, type GitCommandResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type GitOperation as F, type GitCommandConfig as G, type GithubUrlInfo as H, type GithubUrlType as I, type GitignoreTestResult as J, type GqlFormatResult as K, type HtmlFormatResult as L, type HtmlMinifyOptions as M, type HtmlMinifyResult as N, type JsMinifyOptions as O, type JsMinifyResult as P, MIME_TABLE as Q, type MatchResult as R, type MimeEntry as S, type MimeLookupResult as T, OPERATIONS as U, type ParsedSpec as V, type RedosFinding as W, type RedosResult as X, type RedosSeverity as Y, type RegexError as Z, type RegexFlag as _, type ApiEndpoint as a, type RegexResult as a0, type RegexSuccess as a1, SQL_DEFAULT_OPTIONS as a2, type Segment as a3, type SpecVersion as a4, type SqlDialect as a5, type SqlFormatOptions as a6, type TestPatternResult as a7, type TsconfigIssue as a8, type TsconfigValidationResult as a9, minifyHtml as aA, minifyJs as aB, minifySql as aC, normalizeRef as aD, parseDockerImage as aE, parseEnv as aF, parseGitCommand as aG, parseGithubUrl as aH, parseSpec as aI, removeConsoleCalls as aJ, removeEmptyAttributes as aK, removeHtmlComments as aL, removeJsComments as aM, removeRedundantAttributes as aN, searchCheatsheet as aO, searchEndpoints as aP, splitStatements as aQ, testGitignorePatterns as aR, testPattern as aS, testRegex as aT, validateEditorConfig as aU, validateEnvKey as aV, validatePackageExports as aW, validateTsconfig as aX, auditDependencyRanges as aa, buildDockerPull as ab, buildDockerRun as ac, buildGitCommand as ad, collapseHtmlWhitespace as ae, collapseJsWhitespace as af, countProperties as ag, countRules as ah, detectDialect as ai, detectOperationType as aj, detectRedos as ak, envToExport as al, envToJson as am, formatCss as an, formatGql as ao, formatHtml as ap, formatSql as aq, getEndpointsByTag as ar, getHtmlStats as as, getJsStats as at, getMethodColor as au, isValidTag as av, lintConventionalCommit as aw, lookupMime as ax, minifyCss as ay, minifyGql as az, type ApiInfo as b, code as c, type CheatsheetEntry as d, type ConventionalCommitFinding as e, type ConventionalCommitFooter as f, type ConventionalCommitOptions as g, type ConventionalCommitParsed as h, type ConventionalCommitResult as i, type ConventionalCommitSeverity as j, type CssResult as k, type DependencyAuditDuplicate as l, type DependencyAuditEntry as m, type DependencyAuditIssue as n, type DependencyAuditResult as o, type DependencyRangeType as p, type DependencySection as q, type DockerImageRef as r, type EditorConfigProperty as s, type EditorConfigSection as t, type EditorConfigValidationResult as u, type EnvEntry as v, type EnvParseResult as w, type ExportsIssue as x, type ExportsShape as y, type ExportsValidationResult as z };
673
+ export { type RegexFlag as $, ALL_FLAGS as A, type GitCommandResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type GitOperation as F, type GitCommandConfig as G, type GithubUrlInfo as H, type GithubUrlType as I, type GitignoreTestResult as J, type GqlFormatResult as K, type HtmlFormatResult as L, type HtmlMinifyOptions as M, type HtmlMinifyResult as N, type JsMinifyOptions as O, type JsMinifyResult as P, MIME_TABLE as Q, type MatchResult as R, type MimeEntry as S, type MimeLookupResult as T, OPERATIONS as U, type ParsedSpec as V, type RedosFinding as W, type RedosResult as X, type RedosSeverity as Y, type RegexBackreferenceInfo as Z, type RegexError as _, type ApiEndpoint as a, validatePackageExports as a$, type RegexGroupAnalysis as a0, type RegexGroupInfo as a1, type RegexGroupIssue as a2, type RegexMatch as a3, type RegexResult as a4, type RegexSuccess as a5, SQL_DEFAULT_OPTIONS as a6, type Segment as a7, type SpecVersion as a8, type SqlDialect as a9, isValidTag as aA, lintConventionalCommit as aB, lookupMime as aC, minifyCss as aD, minifyGql as aE, minifyHtml as aF, minifyJs as aG, minifySql as aH, normalizeRef as aI, parseDockerImage as aJ, parseEnv as aK, parseGitCommand as aL, parseGithubUrl as aM, parseSpec as aN, removeConsoleCalls as aO, removeEmptyAttributes as aP, removeHtmlComments as aQ, removeJsComments as aR, removeRedundantAttributes as aS, searchCheatsheet as aT, searchEndpoints as aU, splitStatements as aV, testGitignorePatterns as aW, testPattern as aX, testRegex as aY, validateEditorConfig as aZ, validateEnvKey as a_, type SqlFormatOptions as aa, type TestPatternResult as ab, type TsconfigIssue as ac, type TsconfigValidationResult as ad, analyzeRegexGroups as ae, auditDependencyRanges as af, buildDockerPull as ag, buildDockerRun as ah, buildGitCommand as ai, collapseHtmlWhitespace as aj, collapseJsWhitespace as ak, countProperties as al, countRules as am, detectDialect as an, detectOperationType as ao, detectRedos as ap, envToExport as aq, envToJson as ar, formatCss as as, formatGql as at, formatHtml as au, formatSql as av, getEndpointsByTag as aw, getHtmlStats as ax, getJsStats as ay, getMethodColor as az, type ApiInfo as b, validateTsconfig as b0, code as c, type CheatsheetEntry as d, type ConventionalCommitFinding as e, type ConventionalCommitFooter as f, type ConventionalCommitOptions as g, type ConventionalCommitParsed as h, type ConventionalCommitResult as i, type ConventionalCommitSeverity as j, type CssResult as k, type DependencyAuditDuplicate as l, type DependencyAuditEntry as m, type DependencyAuditIssue as n, type DependencyAuditResult as o, type DependencyRangeType as p, type DependencySection as q, type DockerImageRef as r, type EditorConfigProperty as s, type EditorConfigSection as t, type EditorConfigValidationResult as u, type EnvEntry as v, type EnvParseResult as w, type ExportsIssue as x, type ExportsShape as y, type ExportsValidationResult as z };
package/dist/index.cjs CHANGED
@@ -15763,6 +15763,7 @@ __export(code_exports, {
15763
15763
  MIME_TABLE: () => MIME_TABLE,
15764
15764
  OPERATIONS: () => OPERATIONS,
15765
15765
  SQL_DEFAULT_OPTIONS: () => SQL_DEFAULT_OPTIONS,
15766
+ analyzeRegexGroups: () => analyzeRegexGroups,
15766
15767
  auditDependencyRanges: () => auditDependencyRanges,
15767
15768
  buildDockerPull: () => buildDockerPull,
15768
15769
  buildDockerRun: () => buildDockerRun,
@@ -19238,6 +19239,114 @@ function auditDependencyRanges(packageJsonText) {
19238
19239
  issues
19239
19240
  };
19240
19241
  }
19242
+ function analyzeRegexGroups(pattern) {
19243
+ let valid = true;
19244
+ let compileError;
19245
+ try {
19246
+ new RegExp(pattern);
19247
+ } catch (e) {
19248
+ valid = false;
19249
+ compileError = e instanceof Error ? e.message : String(e);
19250
+ }
19251
+ const groups = [];
19252
+ const openStack = [];
19253
+ const backreferences = [];
19254
+ const issues = [];
19255
+ let groupCount = 0;
19256
+ let inClass = false;
19257
+ for (let i = 0; i < pattern.length; i++) {
19258
+ const ch = pattern[i];
19259
+ if (ch === "\\" && i + 1 < pattern.length) {
19260
+ const next = pattern[i + 1];
19261
+ if (!inClass && /[1-9]/.test(next)) {
19262
+ let j = i + 1;
19263
+ while (j < pattern.length && /[0-9]/.test(pattern[j])) j++;
19264
+ const raw = pattern.slice(i, j);
19265
+ const target = parseInt(pattern.slice(i + 1, j), 10);
19266
+ backreferences.push({ raw, target, start: i, resolved: false, definedBeforeUse: false });
19267
+ i = j - 1;
19268
+ continue;
19269
+ }
19270
+ if (!inClass && next === "k" && pattern[i + 2] === "<") {
19271
+ const close = pattern.indexOf(">", i + 3);
19272
+ if (close !== -1) {
19273
+ const name = pattern.slice(i + 3, close);
19274
+ const raw = pattern.slice(i, close + 1);
19275
+ backreferences.push({ raw, target: name, start: i, resolved: false, definedBeforeUse: false });
19276
+ i = close;
19277
+ continue;
19278
+ }
19279
+ }
19280
+ i++;
19281
+ continue;
19282
+ }
19283
+ if (ch === "[" && !inClass) {
19284
+ inClass = true;
19285
+ continue;
19286
+ }
19287
+ if (ch === "]" && inClass) {
19288
+ inClass = false;
19289
+ continue;
19290
+ }
19291
+ if (inClass) continue;
19292
+ if (ch === "(") {
19293
+ if (pattern[i + 1] === "?") {
19294
+ const c2 = pattern[i + 2];
19295
+ if (c2 === ":" || c2 === "=" || c2 === "!") {
19296
+ openStack.push({ index: -1, name: null, start: i });
19297
+ continue;
19298
+ }
19299
+ if (c2 === "<" && (pattern[i + 3] === "=" || pattern[i + 3] === "!")) {
19300
+ openStack.push({ index: -1, name: null, start: i });
19301
+ continue;
19302
+ }
19303
+ if (c2 === "<") {
19304
+ const close = pattern.indexOf(">", i + 3);
19305
+ const name = close !== -1 ? pattern.slice(i + 3, close) : null;
19306
+ groupCount++;
19307
+ openStack.push({ index: groupCount, name, start: i });
19308
+ if (close !== -1) i = close;
19309
+ continue;
19310
+ }
19311
+ openStack.push({ index: -1, name: null, start: i });
19312
+ continue;
19313
+ }
19314
+ groupCount++;
19315
+ openStack.push({ index: groupCount, name: null, start: i });
19316
+ continue;
19317
+ }
19318
+ if (ch === ")") {
19319
+ const open = openStack.pop();
19320
+ if (open && open.index !== -1) {
19321
+ groups.push({ index: open.index, name: open.name, start: open.start, end: i });
19322
+ }
19323
+ continue;
19324
+ }
19325
+ }
19326
+ for (const open of openStack) {
19327
+ if (open.index !== -1) groups.push({ index: open.index, name: open.name, start: open.start, end: -1 });
19328
+ }
19329
+ groups.sort((a, b) => a.index - b.index);
19330
+ const byIndex = new Map(groups.map((g) => [g.index, g]));
19331
+ const byName = new Map(groups.filter((g) => g.name !== null).map((g) => [g.name, g]));
19332
+ for (const b of backreferences) {
19333
+ const g = typeof b.target === "number" ? byIndex.get(b.target) : byName.get(b.target);
19334
+ if (!g) {
19335
+ b.resolved = false;
19336
+ b.definedBeforeUse = false;
19337
+ const label = typeof b.target === "number" ? `group ${b.target}` : `named group "${b.target}"`;
19338
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} points to ${label}, which doesn't exist in this pattern.` });
19339
+ } else {
19340
+ b.resolved = true;
19341
+ b.definedBeforeUse = g.end !== -1 && g.end < b.start;
19342
+ if (!b.definedBeforeUse) {
19343
+ const label = `group ${g.index}${g.name ? ` ("${g.name}")` : ""}`;
19344
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} references ${label}, which hasn't finished being defined yet at that point in the pattern.` });
19345
+ }
19346
+ }
19347
+ }
19348
+ return { pattern, valid, ...compileError ? { compileError } : {}, groups, backreferences, issues };
19349
+ }
19241
19350
 
19242
19351
  // src/tools/color.ts
19243
19352
  var color_exports = {};
package/dist/index.d.cts CHANGED
@@ -8,7 +8,7 @@ export { t as time } from './time-KqJjdqII.cjs';
8
8
  export { u as units } from './units-DPefgzmH.cjs';
9
9
  export { n as network } from './network-EHkPJFoe.cjs';
10
10
  export { a as api } from './api-DmTNE4c1.cjs';
11
- export { c as code } from './code-CKI2Z_NM.cjs';
11
+ export { c as code } from './code-Cg9mE6b0.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
13
13
  export { c as css } from './css-Cf7AMGM-.cjs';
14
14
  export { m as misc } from './misc-CA3N198T.cjs';
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { t as time } from './time-KqJjdqII.js';
8
8
  export { u as units } from './units-DPefgzmH.js';
9
9
  export { n as network } from './network-EHkPJFoe.js';
10
10
  export { a as api } from './api-DmTNE4c1.js';
11
- export { c as code } from './code-CKI2Z_NM.js';
11
+ export { c as code } from './code-Cg9mE6b0.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
13
13
  export { c as css } from './css-Cf7AMGM-.js';
14
14
  export { m as misc } from './misc-CA3N198T.js';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ export { media_exports as media } from './chunk-226EH3ZI.js';
2
2
  export { units_exports as units } from './chunk-4HNHEOJL.js';
3
3
  export { network_exports as network } from './chunk-TTQ2FNUG.js';
4
4
  export { api_exports as api } from './chunk-52ZDKSIX.js';
5
- export { code_exports as code } from './chunk-JPFHEZ4P.js';
5
+ export { code_exports as code } from './chunk-XCJJOWTK.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
7
7
  export { css_exports as css } from './chunk-6YPV2AB5.js';
8
8
  export { misc_exports as misc } from './chunk-GX7H6TAX.js';
@@ -3427,6 +3427,114 @@ function auditDependencyRanges(packageJsonText) {
3427
3427
  issues
3428
3428
  };
3429
3429
  }
3430
+ function analyzeRegexGroups(pattern) {
3431
+ let valid = true;
3432
+ let compileError;
3433
+ try {
3434
+ new RegExp(pattern);
3435
+ } catch (e) {
3436
+ valid = false;
3437
+ compileError = e instanceof Error ? e.message : String(e);
3438
+ }
3439
+ const groups = [];
3440
+ const openStack = [];
3441
+ const backreferences = [];
3442
+ const issues = [];
3443
+ let groupCount = 0;
3444
+ let inClass = false;
3445
+ for (let i = 0; i < pattern.length; i++) {
3446
+ const ch = pattern[i];
3447
+ if (ch === "\\" && i + 1 < pattern.length) {
3448
+ const next = pattern[i + 1];
3449
+ if (!inClass && /[1-9]/.test(next)) {
3450
+ let j = i + 1;
3451
+ while (j < pattern.length && /[0-9]/.test(pattern[j])) j++;
3452
+ const raw = pattern.slice(i, j);
3453
+ const target = parseInt(pattern.slice(i + 1, j), 10);
3454
+ backreferences.push({ raw, target, start: i, resolved: false, definedBeforeUse: false });
3455
+ i = j - 1;
3456
+ continue;
3457
+ }
3458
+ if (!inClass && next === "k" && pattern[i + 2] === "<") {
3459
+ const close = pattern.indexOf(">", i + 3);
3460
+ if (close !== -1) {
3461
+ const name = pattern.slice(i + 3, close);
3462
+ const raw = pattern.slice(i, close + 1);
3463
+ backreferences.push({ raw, target: name, start: i, resolved: false, definedBeforeUse: false });
3464
+ i = close;
3465
+ continue;
3466
+ }
3467
+ }
3468
+ i++;
3469
+ continue;
3470
+ }
3471
+ if (ch === "[" && !inClass) {
3472
+ inClass = true;
3473
+ continue;
3474
+ }
3475
+ if (ch === "]" && inClass) {
3476
+ inClass = false;
3477
+ continue;
3478
+ }
3479
+ if (inClass) continue;
3480
+ if (ch === "(") {
3481
+ if (pattern[i + 1] === "?") {
3482
+ const c2 = pattern[i + 2];
3483
+ if (c2 === ":" || c2 === "=" || c2 === "!") {
3484
+ openStack.push({ index: -1, name: null, start: i });
3485
+ continue;
3486
+ }
3487
+ if (c2 === "<" && (pattern[i + 3] === "=" || pattern[i + 3] === "!")) {
3488
+ openStack.push({ index: -1, name: null, start: i });
3489
+ continue;
3490
+ }
3491
+ if (c2 === "<") {
3492
+ const close = pattern.indexOf(">", i + 3);
3493
+ const name = close !== -1 ? pattern.slice(i + 3, close) : null;
3494
+ groupCount++;
3495
+ openStack.push({ index: groupCount, name, start: i });
3496
+ if (close !== -1) i = close;
3497
+ continue;
3498
+ }
3499
+ openStack.push({ index: -1, name: null, start: i });
3500
+ continue;
3501
+ }
3502
+ groupCount++;
3503
+ openStack.push({ index: groupCount, name: null, start: i });
3504
+ continue;
3505
+ }
3506
+ if (ch === ")") {
3507
+ const open = openStack.pop();
3508
+ if (open && open.index !== -1) {
3509
+ groups.push({ index: open.index, name: open.name, start: open.start, end: i });
3510
+ }
3511
+ continue;
3512
+ }
3513
+ }
3514
+ for (const open of openStack) {
3515
+ if (open.index !== -1) groups.push({ index: open.index, name: open.name, start: open.start, end: -1 });
3516
+ }
3517
+ groups.sort((a, b) => a.index - b.index);
3518
+ const byIndex = new Map(groups.map((g) => [g.index, g]));
3519
+ const byName = new Map(groups.filter((g) => g.name !== null).map((g) => [g.name, g]));
3520
+ for (const b of backreferences) {
3521
+ const g = typeof b.target === "number" ? byIndex.get(b.target) : byName.get(b.target);
3522
+ if (!g) {
3523
+ b.resolved = false;
3524
+ b.definedBeforeUse = false;
3525
+ const label = typeof b.target === "number" ? `group ${b.target}` : `named group "${b.target}"`;
3526
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} points to ${label}, which doesn't exist in this pattern.` });
3527
+ } else {
3528
+ b.resolved = true;
3529
+ b.definedBeforeUse = g.end !== -1 && g.end < b.start;
3530
+ if (!b.definedBeforeUse) {
3531
+ const label = `group ${g.index}${g.name ? ` ("${g.name}")` : ""}`;
3532
+ issues.push({ severity: "error", message: `Backreference ${b.raw} at position ${b.start} references ${label}, which hasn't finished being defined yet at that point in the pattern.` });
3533
+ }
3534
+ }
3535
+ }
3536
+ return { pattern, valid, ...compileError ? { compileError } : {}, groups, backreferences, issues };
3537
+ }
3430
3538
 
3431
3539
  exports.ALL_FLAGS = ALL_FLAGS;
3432
3540
  exports.CHEATSHEET = CHEATSHEET;
@@ -3434,6 +3542,7 @@ exports.DEFAULT_COMMIT_TYPES = DEFAULT_COMMIT_TYPES;
3434
3542
  exports.MIME_TABLE = MIME_TABLE;
3435
3543
  exports.OPERATIONS = OPERATIONS;
3436
3544
  exports.SQL_DEFAULT_OPTIONS = SQL_DEFAULT_OPTIONS;
3545
+ exports.analyzeRegexGroups = analyzeRegexGroups;
3437
3546
  exports.auditDependencyRanges = auditDependencyRanges;
3438
3547
  exports.buildDockerPull = buildDockerPull;
3439
3548
  exports.buildDockerRun = buildDockerRun;
@@ -1 +1 @@
1
- export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as ConventionalCommitFinding, f as ConventionalCommitFooter, g as ConventionalCommitOptions, h as ConventionalCommitParsed, i as ConventionalCommitResult, j as ConventionalCommitSeverity, k as CssResult, D as DEFAULT_COMMIT_TYPES, l as DependencyAuditDuplicate, m as DependencyAuditEntry, n as DependencyAuditIssue, o as DependencyAuditResult, p as DependencyRangeType, q as DependencySection, r as DockerImageRef, E as EditorConfigIssue, s as EditorConfigProperty, t as EditorConfigSection, u as EditorConfigValidationResult, v as EnvEntry, w as EnvParseResult, x as ExportsIssue, y as ExportsShape, z as ExportsValidationResult, G as GitCommandConfig, B as GitCommandResult, F as GitOperation, H as GithubUrlInfo, I as GithubUrlType, J as GitignoreTestResult, K as GqlFormatResult, L as HtmlFormatResult, M as HtmlMinifyOptions, N as HtmlMinifyResult, O as JsMinifyOptions, P as JsMinifyResult, Q as MIME_TABLE, R as MatchResult, S as MimeEntry, T as MimeLookupResult, U as OPERATIONS, V as ParsedSpec, W as RedosFinding, X as RedosResult, Y as RedosSeverity, Z as RegexError, _ as RegexFlag, $ as RegexMatch, a0 as RegexResult, a1 as RegexSuccess, a2 as SQL_DEFAULT_OPTIONS, a3 as Segment, a4 as SpecVersion, a5 as SqlDialect, a6 as SqlFormatOptions, a7 as TestPatternResult, a8 as TsconfigIssue, a9 as TsconfigValidationResult, aa as auditDependencyRanges, ab as buildDockerPull, ac as buildDockerRun, ad as buildGitCommand, ae as collapseHtmlWhitespace, af as collapseJsWhitespace, ag as countProperties, ah as countRules, ai as detectDialect, aj as detectOperationType, ak as detectRedos, al as envToExport, am as envToJson, an as formatCss, ao as formatGql, ap as formatHtml, aq as formatSql, ar as getEndpointsByTag, as as getHtmlStats, at as getJsStats, au as getMethodColor, av as isValidTag, aw as lintConventionalCommit, ax as lookupMime, ay as minifyCss, az as minifyGql, aA as minifyHtml, aB as minifyJs, aC as minifySql, aD as normalizeRef, aE as parseDockerImage, aF as parseEnv, aG as parseGitCommand, aH as parseGithubUrl, aI as parseSpec, aJ as removeConsoleCalls, aK as removeEmptyAttributes, aL as removeHtmlComments, aM as removeJsComments, aN as removeRedundantAttributes, aO as searchCheatsheet, aP as searchEndpoints, aQ as splitStatements, aR as testGitignorePatterns, aS as testPattern, aT as testRegex, aU as validateEditorConfig, aV as validateEnvKey, aW as validatePackageExports, aX as validateTsconfig } from '../code-CKI2Z_NM.cjs';
1
+ export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as ConventionalCommitFinding, f as ConventionalCommitFooter, g as ConventionalCommitOptions, h as ConventionalCommitParsed, i as ConventionalCommitResult, j as ConventionalCommitSeverity, k as CssResult, D as DEFAULT_COMMIT_TYPES, l as DependencyAuditDuplicate, m as DependencyAuditEntry, n as DependencyAuditIssue, o as DependencyAuditResult, p as DependencyRangeType, q as DependencySection, r as DockerImageRef, E as EditorConfigIssue, s as EditorConfigProperty, t as EditorConfigSection, u as EditorConfigValidationResult, v as EnvEntry, w as EnvParseResult, x as ExportsIssue, y as ExportsShape, z as ExportsValidationResult, G as GitCommandConfig, B as GitCommandResult, F as GitOperation, H as GithubUrlInfo, I as GithubUrlType, J as GitignoreTestResult, K as GqlFormatResult, L as HtmlFormatResult, M as HtmlMinifyOptions, N as HtmlMinifyResult, O as JsMinifyOptions, P as JsMinifyResult, Q as MIME_TABLE, R as MatchResult, S as MimeEntry, T as MimeLookupResult, U as OPERATIONS, V as ParsedSpec, W as RedosFinding, X as RedosResult, Y as RedosSeverity, Z as RegexBackreferenceInfo, _ as RegexError, $ as RegexFlag, a0 as RegexGroupAnalysis, a1 as RegexGroupInfo, a2 as RegexGroupIssue, a3 as RegexMatch, a4 as RegexResult, a5 as RegexSuccess, a6 as SQL_DEFAULT_OPTIONS, a7 as Segment, a8 as SpecVersion, a9 as SqlDialect, aa as SqlFormatOptions, ab as TestPatternResult, ac as TsconfigIssue, ad as TsconfigValidationResult, ae as analyzeRegexGroups, af as auditDependencyRanges, ag as buildDockerPull, ah as buildDockerRun, ai as buildGitCommand, aj as collapseHtmlWhitespace, ak as collapseJsWhitespace, al as countProperties, am as countRules, an as detectDialect, ao as detectOperationType, ap as detectRedos, aq as envToExport, ar as envToJson, as as formatCss, at as formatGql, au as formatHtml, av as formatSql, aw as getEndpointsByTag, ax as getHtmlStats, ay as getJsStats, az as getMethodColor, aA as isValidTag, aB as lintConventionalCommit, aC as lookupMime, aD as minifyCss, aE as minifyGql, aF as minifyHtml, aG as minifyJs, aH as minifySql, aI as normalizeRef, aJ as parseDockerImage, aK as parseEnv, aL as parseGitCommand, aM as parseGithubUrl, aN as parseSpec, aO as removeConsoleCalls, aP as removeEmptyAttributes, aQ as removeHtmlComments, aR as removeJsComments, aS as removeRedundantAttributes, aT as searchCheatsheet, aU as searchEndpoints, aV as splitStatements, aW as testGitignorePatterns, aX as testPattern, aY as testRegex, aZ as validateEditorConfig, a_ as validateEnvKey, a$ as validatePackageExports, b0 as validateTsconfig } from '../code-Cg9mE6b0.cjs';
@@ -1 +1 @@
1
- export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as ConventionalCommitFinding, f as ConventionalCommitFooter, g as ConventionalCommitOptions, h as ConventionalCommitParsed, i as ConventionalCommitResult, j as ConventionalCommitSeverity, k as CssResult, D as DEFAULT_COMMIT_TYPES, l as DependencyAuditDuplicate, m as DependencyAuditEntry, n as DependencyAuditIssue, o as DependencyAuditResult, p as DependencyRangeType, q as DependencySection, r as DockerImageRef, E as EditorConfigIssue, s as EditorConfigProperty, t as EditorConfigSection, u as EditorConfigValidationResult, v as EnvEntry, w as EnvParseResult, x as ExportsIssue, y as ExportsShape, z as ExportsValidationResult, G as GitCommandConfig, B as GitCommandResult, F as GitOperation, H as GithubUrlInfo, I as GithubUrlType, J as GitignoreTestResult, K as GqlFormatResult, L as HtmlFormatResult, M as HtmlMinifyOptions, N as HtmlMinifyResult, O as JsMinifyOptions, P as JsMinifyResult, Q as MIME_TABLE, R as MatchResult, S as MimeEntry, T as MimeLookupResult, U as OPERATIONS, V as ParsedSpec, W as RedosFinding, X as RedosResult, Y as RedosSeverity, Z as RegexError, _ as RegexFlag, $ as RegexMatch, a0 as RegexResult, a1 as RegexSuccess, a2 as SQL_DEFAULT_OPTIONS, a3 as Segment, a4 as SpecVersion, a5 as SqlDialect, a6 as SqlFormatOptions, a7 as TestPatternResult, a8 as TsconfigIssue, a9 as TsconfigValidationResult, aa as auditDependencyRanges, ab as buildDockerPull, ac as buildDockerRun, ad as buildGitCommand, ae as collapseHtmlWhitespace, af as collapseJsWhitespace, ag as countProperties, ah as countRules, ai as detectDialect, aj as detectOperationType, ak as detectRedos, al as envToExport, am as envToJson, an as formatCss, ao as formatGql, ap as formatHtml, aq as formatSql, ar as getEndpointsByTag, as as getHtmlStats, at as getJsStats, au as getMethodColor, av as isValidTag, aw as lintConventionalCommit, ax as lookupMime, ay as minifyCss, az as minifyGql, aA as minifyHtml, aB as minifyJs, aC as minifySql, aD as normalizeRef, aE as parseDockerImage, aF as parseEnv, aG as parseGitCommand, aH as parseGithubUrl, aI as parseSpec, aJ as removeConsoleCalls, aK as removeEmptyAttributes, aL as removeHtmlComments, aM as removeJsComments, aN as removeRedundantAttributes, aO as searchCheatsheet, aP as searchEndpoints, aQ as splitStatements, aR as testGitignorePatterns, aS as testPattern, aT as testRegex, aU as validateEditorConfig, aV as validateEnvKey, aW as validatePackageExports, aX as validateTsconfig } from '../code-CKI2Z_NM.js';
1
+ export { A as ALL_FLAGS, a as ApiEndpoint, b as ApiInfo, C as CHEATSHEET, d as CheatsheetEntry, e as ConventionalCommitFinding, f as ConventionalCommitFooter, g as ConventionalCommitOptions, h as ConventionalCommitParsed, i as ConventionalCommitResult, j as ConventionalCommitSeverity, k as CssResult, D as DEFAULT_COMMIT_TYPES, l as DependencyAuditDuplicate, m as DependencyAuditEntry, n as DependencyAuditIssue, o as DependencyAuditResult, p as DependencyRangeType, q as DependencySection, r as DockerImageRef, E as EditorConfigIssue, s as EditorConfigProperty, t as EditorConfigSection, u as EditorConfigValidationResult, v as EnvEntry, w as EnvParseResult, x as ExportsIssue, y as ExportsShape, z as ExportsValidationResult, G as GitCommandConfig, B as GitCommandResult, F as GitOperation, H as GithubUrlInfo, I as GithubUrlType, J as GitignoreTestResult, K as GqlFormatResult, L as HtmlFormatResult, M as HtmlMinifyOptions, N as HtmlMinifyResult, O as JsMinifyOptions, P as JsMinifyResult, Q as MIME_TABLE, R as MatchResult, S as MimeEntry, T as MimeLookupResult, U as OPERATIONS, V as ParsedSpec, W as RedosFinding, X as RedosResult, Y as RedosSeverity, Z as RegexBackreferenceInfo, _ as RegexError, $ as RegexFlag, a0 as RegexGroupAnalysis, a1 as RegexGroupInfo, a2 as RegexGroupIssue, a3 as RegexMatch, a4 as RegexResult, a5 as RegexSuccess, a6 as SQL_DEFAULT_OPTIONS, a7 as Segment, a8 as SpecVersion, a9 as SqlDialect, aa as SqlFormatOptions, ab as TestPatternResult, ac as TsconfigIssue, ad as TsconfigValidationResult, ae as analyzeRegexGroups, af as auditDependencyRanges, ag as buildDockerPull, ah as buildDockerRun, ai as buildGitCommand, aj as collapseHtmlWhitespace, ak as collapseJsWhitespace, al as countProperties, am as countRules, an as detectDialect, ao as detectOperationType, ap as detectRedos, aq as envToExport, ar as envToJson, as as formatCss, at as formatGql, au as formatHtml, av as formatSql, aw as getEndpointsByTag, ax as getHtmlStats, ay as getJsStats, az as getMethodColor, aA as isValidTag, aB as lintConventionalCommit, aC as lookupMime, aD as minifyCss, aE as minifyGql, aF as minifyHtml, aG as minifyJs, aH as minifySql, aI as normalizeRef, aJ as parseDockerImage, aK as parseEnv, aL as parseGitCommand, aM as parseGithubUrl, aN as parseSpec, aO as removeConsoleCalls, aP as removeEmptyAttributes, aQ as removeHtmlComments, aR as removeJsComments, aS as removeRedundantAttributes, aT as searchCheatsheet, aU as searchEndpoints, aV as splitStatements, aW as testGitignorePatterns, aX as testPattern, aY as testRegex, aZ as validateEditorConfig, a_ as validateEnvKey, a$ as validatePackageExports, b0 as validateTsconfig } from '../code-Cg9mE6b0.js';
@@ -1,2 +1,2 @@
1
- export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig } from '../chunk-JPFHEZ4P.js';
1
+ export { ALL_FLAGS, CHEATSHEET, DEFAULT_COMMIT_TYPES, MIME_TABLE, OPERATIONS, SQL_DEFAULT_OPTIONS, analyzeRegexGroups, auditDependencyRanges, buildDockerPull, buildDockerRun, buildGitCommand, collapseHtmlWhitespace, collapseJsWhitespace, countProperties, countRules, detectDialect, detectOperationType, detectRedos, envToExport, envToJson, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig } from '../chunk-XCJJOWTK.js';
2
2
  import '../chunk-MLKGABMK.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.66.0",
3
+ "version": "0.67.0",
4
4
  "description": "154+ developer utility tools for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
5
5
  "author": "Utilix <hello@utilix.tech>",
6
6
  "license": "MIT",