@utilix-tech/sdk 0.72.0 → 0.74.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,14 @@
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.74.0
6
+ - Add `calculateLoanPrepaymentPenalty` (loan-prepayment-penalty-calculator): compute the dollar penalty cost of paying a loan off early, given its payoff balance and a prepayment penalty structure (a flat percent of balance, or a fixed number of months of interest).
7
+ - Add `validateAria` (aria-validator): check every role and aria-* attribute in an HTML snippet against a curated WAI-ARIA 1.2 role table, flagging unknown roles, disallowed attributes, and missing required states.
8
+
9
+ ## 0.73.0
10
+ - Add `calculateMortgagePoints` (mortgage-points-calculator): compare a loan with no discount points against the same loan at a reduced rate bought with points, and compute the monthly savings and break-even month.
11
+ - Add `calculateCookieSizeBudget` (cookie-size-budget-calculator): parse a Cookie header's name=value pairs and compute each cookie's and the total header's byte size against RFC 6265's per-cookie limit and a configurable budget.
12
+
5
13
  ## 0.72.0
6
14
  - Add `validateVin` (vin-validator): validate a 17-character VIN via the ISO 3779 / NHTSA weighted mod-11 check digit and split it into its WMI, VDS, and VIS sections.
7
15
  - Add `validateIsin` (isin-validator): validate a 12-character ISIN via its Luhn-style mod-10 check digit and break it into its country code and security identifier.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **694 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **698 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)
@@ -343,7 +343,7 @@ formatIso8601Duration(90061); // { iso: "P1DT1H1M1S", ... }
343
343
  ### `/units`: Conversions
344
344
 
345
345
  ```ts
346
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin } from "@utilix-tech/sdk/units";
346
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin, calculateLoanPrepaymentPenalty } from "@utilix-tech/sdk/units";
347
347
 
348
348
  // File sizes
349
349
  convertBytes(1073741824, "GB"); // 1
@@ -509,6 +509,14 @@ validateVin("1HGCM82633A004352");
509
509
  // ISIN Luhn checksum (ISO 6166) + country code / security identifier breakdown
510
510
  validateIsin("US0378331005");
511
511
  // { valid: true, countryCode: "US", securityIdentifier: "037833100", checkDigit: 5, ... }
512
+
513
+ // Mortgage discount points break-even: monthly savings and the month the points cost is recouped
514
+ calculateMortgagePoints(300000, 6.5, 360, 1, 0.25);
515
+ // { pointsCost: 3000, monthlySavings: 49.05, breakEvenMonths: 62, totalInterestSavings: 17660.91, ... }
516
+
517
+ // Loan prepayment penalty: dollar cost of paying a loan off early
518
+ calculateLoanPrepaymentPenalty(10000, "percent-of-balance", { penaltyPercent: 2 });
519
+ // { payoffBalance: 10000, penaltyAmount: 200, effectivePenaltyPercent: 2, totalPayoffCost: 10200 }
512
520
  ```
513
521
 
514
522
  ---
@@ -689,6 +697,10 @@ extractMultipartBoundary("multipart/form-data; boundary=----WebKitFormBoundaryAB
689
697
  import { buildRobotsMetaTag, parseRobotsMetaTag } from "@utilix-tech/sdk/network";
690
698
  buildRobotsMetaTag({ flags: ["noindex", "nofollow"], name: "googlebot" });
691
699
  // { content: "noindex, nofollow", name: "googlebot", tag: '<meta name="googlebot" content="noindex, nofollow">', directives: [...], notes: [...], warnings: [] }
700
+
701
+ // Cookie header byte-size budget: per-cookie and total sizes against RFC 6265's 4096-byte limit
702
+ calculateCookieSizeBudget("session=abc123; theme=dark; cart=42");
703
+ // { cookieCount: 3, totalBytes: 35, budgetBytes: 4096, exceedsBudget: false, cookies: [...] }
692
704
  ```
693
705
 
694
706
  ---
@@ -814,6 +826,11 @@ parseCommitTrailers("Fix bug\n\nSigned-off-by: A <a@example.com>");
814
826
  import { extractMarkdownFootnotes } from "@utilix-tech/sdk/code";
815
827
  extractMarkdownFootnotes("A claim[^1].\n\n[^1]: The source.");
816
828
  // { definitionCount: 1, referenceCount: 1, definitions: [{ label: "1", text: "The source." }], unresolvedReferences: [], unusedDefinitions: [] }
829
+
830
+ // Validate every role and aria-* attribute in an HTML snippet against a curated WAI-ARIA 1.2 role table
831
+ import { validateAria } from "@utilix-tech/sdk/code";
832
+ validateAria('<div role="checkbox">Opt in</div>');
833
+ // { elementCount: 1, elementsWithRoleOrAria: 1, valid: false, issues: [{ severity: "error", message: 'role="checkbox" is missing required attribute aria-checked', ... }] }
817
834
  ```
818
835
 
819
836
  ---
@@ -978,10 +995,10 @@ readMidiInfo(new Uint8Array(midiBytes));
978
995
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, NDJSON record deduplicator, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer, Markdown table column aligner |
979
996
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
980
997
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
981
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator |
982
- | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser |
998
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator |
999
+ | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator |
983
1000
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header, TOTP/HOTP code generator |
984
- | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor |
1001
+ | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor, ARIA role & attribute validator |
985
1002
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
986
1003
  | `@utilix-tech/sdk/css` | CSS gradient, box-shadow, border-radius, keyframe animation generators |
987
1004
  | `@utilix-tech/sdk/misc` | SVG optimize/sanitize, file size format, Unicode inspector |
@@ -37,8 +37,10 @@ __export(units_exports, {
37
37
  calculateFreelancerRate: () => calculateFreelancerRate,
38
38
  calculateGpa: () => calculateGpa,
39
39
  calculateLoan: () => calculateLoan,
40
+ calculateLoanPrepaymentPenalty: () => calculateLoanPrepaymentPenalty,
40
41
  calculateLoanRefinance: () => calculateLoanRefinance,
41
42
  calculateMarginMarkup: () => calculateMarginMarkup,
43
+ calculateMortgagePoints: () => calculateMortgagePoints,
42
44
  calculateMovingAverages: () => calculateMovingAverages,
43
45
  calculatePaybackPeriod: () => calculatePaybackPeriod,
44
46
  calculatePercentageChange: () => calculatePercentageChange,
@@ -2633,5 +2635,67 @@ function validateIsin(input) {
2633
2635
  formatted: `${countryCode} ${securityIdentifier} ${checkDigit}`
2634
2636
  };
2635
2637
  }
2638
+ function calculateMortgagePoints(loanAmount, baseRatePercent, termMonths, pointsCostPercent, rateReductionPercent) {
2639
+ if (!Number.isFinite(pointsCostPercent) || pointsCostPercent < 0) {
2640
+ return { error: "Points cost must be zero or a positive percent of the loan amount" };
2641
+ }
2642
+ if (!Number.isFinite(rateReductionPercent) || rateReductionPercent < 0) {
2643
+ return { error: "Rate reduction must be zero or a positive number" };
2644
+ }
2645
+ if (rateReductionPercent > baseRatePercent) {
2646
+ return { error: "Rate reduction cannot exceed the base interest rate" };
2647
+ }
2648
+ const withoutPoints = calculateLoan(loanAmount, baseRatePercent, termMonths);
2649
+ if ("error" in withoutPoints) return withoutPoints;
2650
+ const withPoints = calculateLoan(loanAmount, baseRatePercent - rateReductionPercent, termMonths);
2651
+ if ("error" in withPoints) return withPoints;
2652
+ const pointsCost = round2(loanAmount * (pointsCostPercent / 100));
2653
+ const monthlySavings = round2(withoutPoints.monthlyPayment - withPoints.monthlyPayment);
2654
+ const breakEvenMonths = monthlySavings > 0 ? Math.ceil(pointsCost / monthlySavings) : null;
2655
+ return {
2656
+ pointsCost,
2657
+ monthlyPaymentWithoutPoints: withoutPoints.monthlyPayment,
2658
+ monthlyPaymentWithPoints: withPoints.monthlyPayment,
2659
+ monthlySavings,
2660
+ breakEvenMonths,
2661
+ totalInterestWithoutPoints: withoutPoints.totalInterest,
2662
+ totalInterestWithPoints: withPoints.totalInterest,
2663
+ totalInterestSavings: round2(withoutPoints.totalInterest - withPoints.totalInterest)
2664
+ };
2665
+ }
2666
+ function calculateLoanPrepaymentPenalty(payoffBalance, penaltyType, params) {
2667
+ if (!Number.isFinite(payoffBalance) || payoffBalance <= 0) {
2668
+ return { error: "Payoff balance must be a positive number" };
2669
+ }
2670
+ if (penaltyType !== "percent-of-balance" && penaltyType !== "months-of-interest") {
2671
+ return { error: 'penaltyType must be "percent-of-balance" or "months-of-interest"' };
2672
+ }
2673
+ let penaltyAmount;
2674
+ if (penaltyType === "percent-of-balance") {
2675
+ const penaltyPercent = params.penaltyPercent;
2676
+ if (!Number.isFinite(penaltyPercent) || penaltyPercent < 0) {
2677
+ return { error: "penaltyPercent must be zero or a positive number" };
2678
+ }
2679
+ penaltyAmount = round2(payoffBalance * (penaltyPercent / 100));
2680
+ } else {
2681
+ const monthsOfInterest = params.monthsOfInterest;
2682
+ const annualRatePercent = params.annualRatePercent;
2683
+ if (!Number.isFinite(monthsOfInterest) || monthsOfInterest < 0) {
2684
+ return { error: "monthsOfInterest must be zero or a positive number" };
2685
+ }
2686
+ if (!Number.isFinite(annualRatePercent) || annualRatePercent < 0) {
2687
+ return { error: "annualRatePercent must be zero or a positive number" };
2688
+ }
2689
+ const monthlyInterest = payoffBalance * (annualRatePercent / 100 / 12);
2690
+ penaltyAmount = round2(monthlyInterest * monthsOfInterest);
2691
+ }
2692
+ return {
2693
+ payoffBalance: round2(payoffBalance),
2694
+ penaltyType,
2695
+ penaltyAmount,
2696
+ effectivePenaltyPercent: round2(penaltyAmount / payoffBalance * 100),
2697
+ totalPayoffCost: round2(payoffBalance + penaltyAmount)
2698
+ };
2699
+ }
2636
2700
 
2637
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanRefinance, calculateMarginMarkup, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
2701
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
@@ -32,6 +32,7 @@ __export(network_exports, {
32
32
  buildVaryHeader: () => buildVaryHeader,
33
33
  buildXContentTypeOptionsHeader: () => buildXContentTypeOptionsHeader,
34
34
  buildXRobotsTag: () => buildXRobotsTag,
35
+ calculateCookieSizeBudget: () => calculateCookieSizeBudget,
35
36
  checkSetCookieHeader: () => checkSetCookieHeader,
36
37
  countryCodeToFlag: () => countryCodeToFlag,
37
38
  extractMultipartBoundary: () => extractMultipartBoundary,
@@ -3480,5 +3481,35 @@ function parseRobotsMetaTag(raw) {
3480
3481
  }
3481
3482
  return buildRobotsMetaTag({ flags, maxSnippet, maxImagePreview, maxVideoPreview, unavailableAfter, name });
3482
3483
  }
3484
+ var PER_COOKIE_BYTE_LIMIT = 4096;
3485
+ var DEFAULT_COOKIE_BUDGET_BYTES = 4096;
3486
+ function calculateCookieSizeBudget(cookieHeader, budgetBytes = DEFAULT_COOKIE_BUDGET_BYTES) {
3487
+ if (typeof cookieHeader !== "string" || !cookieHeader.trim()) {
3488
+ return { error: "A Cookie header value is required" };
3489
+ }
3490
+ if (!Number.isFinite(budgetBytes) || budgetBytes <= 0) {
3491
+ return { error: "Budget must be a positive number of bytes" };
3492
+ }
3493
+ const parts = cookieHeader.split(";").map((p) => p.trim()).filter(Boolean);
3494
+ if (parts.length === 0) return { error: "A Cookie header value is required" };
3495
+ const cookies = [];
3496
+ for (const part of parts) {
3497
+ const eq = part.indexOf("=");
3498
+ if (eq === -1) return { error: `Malformed cookie pair "${part}" is missing '='` };
3499
+ const name = part.slice(0, eq).trim();
3500
+ const value = part.slice(eq + 1).trim();
3501
+ if (!name) return { error: "Cookie name cannot be empty" };
3502
+ const bytes = Buffer.byteLength(`${name}=${value}`, "utf8");
3503
+ cookies.push({ name, value, bytes, exceedsPerCookieLimit: bytes > PER_COOKIE_BYTE_LIMIT });
3504
+ }
3505
+ const totalBytes = cookies.reduce((sum, c) => sum + c.bytes, 0) + Math.max(cookies.length - 1, 0) * 2;
3506
+ return {
3507
+ cookies,
3508
+ cookieCount: cookies.length,
3509
+ totalBytes,
3510
+ budgetBytes,
3511
+ exceedsBudget: totalBytes > budgetBytes
3512
+ };
3513
+ }
3483
3514
 
3484
- export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
3515
+ export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
@@ -60,6 +60,7 @@ __export(code_exports, {
60
60
  testGitignorePatterns: () => testGitignorePatterns,
61
61
  testPattern: () => testPattern,
62
62
  testRegex: () => testRegex,
63
+ validateAria: () => validateAria,
63
64
  validateEditorConfig: () => validateEditorConfig,
64
65
  validateEnvKey: () => validateEnvKey,
65
66
  validatePackageExports: () => validatePackageExports,
@@ -3714,5 +3715,166 @@ function extractMarkdownFootnotes(markdown) {
3714
3715
  }
3715
3716
  return { definitionCount: definitions.length, referenceCount, definitions, references, unresolvedReferences, unusedDefinitions };
3716
3717
  }
3718
+ var ARIA_GLOBAL_ATTRS = /* @__PURE__ */ new Set([
3719
+ "aria-atomic",
3720
+ "aria-busy",
3721
+ "aria-controls",
3722
+ "aria-current",
3723
+ "aria-describedby",
3724
+ "aria-details",
3725
+ "aria-disabled",
3726
+ "aria-dropeffect",
3727
+ "aria-errormessage",
3728
+ "aria-flowto",
3729
+ "aria-grabbed",
3730
+ "aria-haspopup",
3731
+ "aria-hidden",
3732
+ "aria-invalid",
3733
+ "aria-keyshortcuts",
3734
+ "aria-label",
3735
+ "aria-labelledby",
3736
+ "aria-live",
3737
+ "aria-owns",
3738
+ "aria-relevant",
3739
+ "aria-roledescription"
3740
+ ]);
3741
+ var ARIA_ROLE_TABLE = {
3742
+ alert: { supported: ["aria-live", "aria-atomic"] },
3743
+ alertdialog: { supported: ["aria-modal"] },
3744
+ article: {},
3745
+ banner: {},
3746
+ button: { supported: ["aria-pressed", "aria-expanded", "aria-disabled"] },
3747
+ checkbox: { required: ["aria-checked"], supported: ["aria-readonly"] },
3748
+ columnheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
3749
+ combobox: { required: ["aria-expanded"], supported: ["aria-controls", "aria-autocomplete", "aria-activedescendant"] },
3750
+ complementary: {},
3751
+ contentinfo: {},
3752
+ dialog: { supported: ["aria-modal"] },
3753
+ form: {},
3754
+ grid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-level", "aria-readonly"] },
3755
+ gridcell: { supported: ["aria-selected", "aria-readonly", "aria-expanded"] },
3756
+ group: { supported: ["aria-activedescendant", "aria-disabled"] },
3757
+ heading: { required: ["aria-level"] },
3758
+ img: {},
3759
+ link: { supported: ["aria-disabled", "aria-expanded"] },
3760
+ list: {},
3761
+ listbox: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
3762
+ listitem: { supported: ["aria-level", "aria-posinset", "aria-setsize"] },
3763
+ log: { supported: ["aria-live", "aria-atomic"] },
3764
+ main: {},
3765
+ marquee: {},
3766
+ menu: { supported: ["aria-orientation", "aria-activedescendant"] },
3767
+ menubar: { supported: ["aria-orientation", "aria-activedescendant"] },
3768
+ menuitem: { supported: ["aria-disabled"] },
3769
+ menuitemcheckbox: { required: ["aria-checked"] },
3770
+ menuitemradio: { required: ["aria-checked"] },
3771
+ meter: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext"] },
3772
+ navigation: {},
3773
+ none: {},
3774
+ option: { supported: ["aria-selected", "aria-checked", "aria-posinset", "aria-setsize"] },
3775
+ presentation: {},
3776
+ progressbar: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext"] },
3777
+ radio: { required: ["aria-checked"] },
3778
+ radiogroup: { supported: ["aria-activedescendant"] },
3779
+ region: {},
3780
+ row: { supported: ["aria-selected", "aria-level", "aria-expanded"] },
3781
+ rowheader: { supported: ["aria-sort", "aria-selected", "aria-readonly"] },
3782
+ scrollbar: { required: ["aria-valuenow", "aria-controls"], supported: ["aria-valuemin", "aria-valuemax", "aria-orientation"] },
3783
+ search: {},
3784
+ searchbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
3785
+ separator: { supported: ["aria-orientation", "aria-valuenow", "aria-valuemin", "aria-valuemax"] },
3786
+ slider: { required: ["aria-valuenow"], supported: ["aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-orientation"] },
3787
+ spinbutton: { supported: ["aria-valuenow", "aria-valuemin", "aria-valuemax", "aria-valuetext", "aria-required"] },
3788
+ status: { supported: ["aria-live", "aria-atomic"] },
3789
+ switch: { required: ["aria-checked"] },
3790
+ tab: { supported: ["aria-selected", "aria-controls", "aria-disabled"] },
3791
+ table: { supported: ["aria-colcount", "aria-rowcount"] },
3792
+ tablist: { supported: ["aria-orientation", "aria-activedescendant", "aria-level"] },
3793
+ tabpanel: {},
3794
+ textbox: { supported: ["aria-multiline", "aria-placeholder", "aria-readonly", "aria-required", "aria-activedescendant", "aria-autocomplete"] },
3795
+ timer: {},
3796
+ toolbar: { supported: ["aria-orientation"] },
3797
+ tooltip: {},
3798
+ tree: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation"] },
3799
+ treegrid: { supported: ["aria-multiselectable", "aria-activedescendant", "aria-orientation", "aria-level", "aria-readonly"] },
3800
+ treeitem: { supported: ["aria-expanded", "aria-selected", "aria-checked", "aria-level"] }
3801
+ };
3802
+ var ARIA_ALL_KNOWN_ATTRS = new Set(ARIA_GLOBAL_ATTRS);
3803
+ for (const entry of Object.values(ARIA_ROLE_TABLE)) {
3804
+ for (const a of entry.required ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
3805
+ for (const a of entry.supported ?? []) ARIA_ALL_KNOWN_ATTRS.add(a);
3806
+ }
3807
+ var TAG_REGEX = /<([a-zA-Z][a-zA-Z0-9]*)\b((?:[^>"'/]|"[^"]*"|'[^']*')*)\/?>/g;
3808
+ var ATTR_REGEX = /([a-zA-Z][a-zA-Z0-9-]*)\s*=\s*(?:"([^"]*)"|'([^']*)')/g;
3809
+ function parseElements(html) {
3810
+ const elements = [];
3811
+ let match;
3812
+ TAG_REGEX.lastIndex = 0;
3813
+ while ((match = TAG_REGEX.exec(html)) !== null) {
3814
+ const tag = match[1].toLowerCase();
3815
+ if (tag === "script" || tag === "style" || tag === "!--") continue;
3816
+ const attrsStr = match[2] ?? "";
3817
+ const attrs = {};
3818
+ let attrMatch;
3819
+ ATTR_REGEX.lastIndex = 0;
3820
+ while ((attrMatch = ATTR_REGEX.exec(attrsStr)) !== null) {
3821
+ const name = attrMatch[1].toLowerCase();
3822
+ const value = attrMatch[2] ?? attrMatch[3] ?? "";
3823
+ attrs[name] = value;
3824
+ }
3825
+ elements.push({ tag, attrs, raw: match[0].length > 80 ? match[0].slice(0, 77) + "..." : match[0] });
3826
+ }
3827
+ return elements;
3828
+ }
3829
+ function validateAria(html) {
3830
+ if (!html || !html.trim()) return { error: "Input is empty" };
3831
+ const elements = parseElements(html);
3832
+ if (elements.length === 0) return { error: "No HTML elements found" };
3833
+ const issues = [];
3834
+ let elementsWithRoleOrAria = 0;
3835
+ for (const el of elements) {
3836
+ const roleAttr = el.attrs["role"];
3837
+ const ariaAttrNames = Object.keys(el.attrs).filter((a) => a.startsWith("aria-"));
3838
+ if (roleAttr === void 0 && ariaAttrNames.length === 0) continue;
3839
+ elementsWithRoleOrAria++;
3840
+ const roles = roleAttr !== void 0 ? roleAttr.trim().split(/\s+/).filter(Boolean) : [];
3841
+ const knownRoles = roles.filter((r) => Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
3842
+ const unknownRoles = roles.filter((r) => !Object.prototype.hasOwnProperty.call(ARIA_ROLE_TABLE, r));
3843
+ for (const r of unknownRoles) {
3844
+ issues.push({ element: el.raw, role: r, severity: "error", message: `Unknown ARIA role "${r}"` });
3845
+ }
3846
+ const primaryRole = knownRoles[0];
3847
+ const roleDef = primaryRole ? ARIA_ROLE_TABLE[primaryRole] : void 0;
3848
+ if (roleDef?.required) {
3849
+ for (const req of roleDef.required) {
3850
+ if (el.attrs[req] === void 0) {
3851
+ issues.push({ element: el.raw, role: primaryRole, severity: "error", message: `role="${primaryRole}" is missing required attribute ${req}` });
3852
+ }
3853
+ }
3854
+ }
3855
+ for (const attrName of ariaAttrNames) {
3856
+ if (ARIA_GLOBAL_ATTRS.has(attrName)) continue;
3857
+ if (roleDef) {
3858
+ const allowed = /* @__PURE__ */ new Set([...roleDef.required ?? [], ...roleDef.supported ?? []]);
3859
+ if (!allowed.has(attrName)) {
3860
+ issues.push({
3861
+ element: el.raw,
3862
+ role: primaryRole ?? null,
3863
+ severity: "error",
3864
+ message: primaryRole ? `${attrName} is not permitted on role="${primaryRole}"` : `${attrName} is not a global aria-* attribute`
3865
+ });
3866
+ }
3867
+ } else if (!ARIA_ALL_KNOWN_ATTRS.has(attrName)) {
3868
+ issues.push({ element: el.raw, role: null, severity: "warning", message: `${attrName} is not a recognized aria-* attribute (possible typo)` });
3869
+ }
3870
+ }
3871
+ }
3872
+ return {
3873
+ elementCount: elements.length,
3874
+ elementsWithRoleOrAria,
3875
+ issues,
3876
+ valid: issues.every((i) => i.severity !== "error")
3877
+ };
3878
+ }
3717
3879
 
3718
- 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, extractMarkdownFootnotes, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig };
3880
+ 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, extractMarkdownFootnotes, extractSvgSpriteSymbols, formatCss, formatGql, formatHtml, formatSql, getEndpointsByTag, getHtmlStats, getJsStats, getMethodColor, isValidTag, lintConventionalCommit, lookupMime, minifyCss, minifyGql, minifyHtml, minifyJs, minifySql, normalizeRef, parseCommitTrailers, parseDockerImage, parseEnv, parseGitCommand, parseGithubUrl, parseSpec, removeConsoleCalls, removeEmptyAttributes, removeHtmlComments, removeJsComments, removeRedundantAttributes, searchCheatsheet, searchEndpoints, splitStatements, testGitignorePatterns, testPattern, testRegex, validateAria, validateEditorConfig, validateEnvKey, validatePackageExports, validateTsconfig };
@@ -30,6 +30,7 @@
30
30
  * - svg-sprite-symbol-extractor (extractSvgSpriteSymbols)
31
31
  * - git-commit-trailer-parser (parseCommitTrailers)
32
32
  * - markdown-footnote-extractor (extractMarkdownFootnotes)
33
+ * - aria-validator (validateAria)
33
34
  */
34
35
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
35
36
  declare const ALL_FLAGS: RegexFlag[];
@@ -622,10 +623,38 @@ interface MarkdownFootnoteResult {
622
623
  declare function extractMarkdownFootnotes(markdown: string): MarkdownFootnoteResult | {
623
624
  error: string;
624
625
  };
626
+ interface AriaIssue {
627
+ element: string;
628
+ role: string | null;
629
+ severity: 'error' | 'warning';
630
+ message: string;
631
+ }
632
+ interface AriaValidationResult {
633
+ elementCount: number;
634
+ elementsWithRoleOrAria: number;
635
+ issues: AriaIssue[];
636
+ valid: boolean;
637
+ }
638
+ /**
639
+ * Parse an HTML snippet and check every `role` and `aria-*` attribute against
640
+ * a curated table of WAI-ARIA 1.2 roles: unknown role names, an aria-*
641
+ * attribute not permitted on the element's role, an unrecognized aria-*
642
+ * attribute name (likely typo) on an element with no role, and a widget role
643
+ * missing one of its required aria-* states (e.g. `role="checkbox"` without
644
+ * `aria-checked`). This is pure lookup-table validation against a static
645
+ * table (no headless browser, no DOM rendering), and it does not check
646
+ * implicit ARIA semantics carried by plain HTML elements (e.g. a native
647
+ * `<button>` with no `role` attribute at all).
648
+ */
649
+ declare function validateAria(html: string): AriaValidationResult | {
650
+ error: string;
651
+ };
625
652
 
626
653
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
627
654
  type code_ApiEndpoint = ApiEndpoint;
628
655
  type code_ApiInfo = ApiInfo;
656
+ type code_AriaIssue = AriaIssue;
657
+ type code_AriaValidationResult = AriaValidationResult;
629
658
  declare const code_CHEATSHEET: typeof CHEATSHEET;
630
659
  type code_CheatsheetEntry = CheatsheetEntry;
631
660
  type code_CommitTrailer = CommitTrailer;
@@ -747,12 +776,13 @@ declare const code_splitStatements: typeof splitStatements;
747
776
  declare const code_testGitignorePatterns: typeof testGitignorePatterns;
748
777
  declare const code_testPattern: typeof testPattern;
749
778
  declare const code_testRegex: typeof testRegex;
779
+ declare const code_validateAria: typeof validateAria;
750
780
  declare const code_validateEditorConfig: typeof validateEditorConfig;
751
781
  declare const code_validateEnvKey: typeof validateEnvKey;
752
782
  declare const code_validatePackageExports: typeof validatePackageExports;
753
783
  declare const code_validateTsconfig: typeof validateTsconfig;
754
784
  declare namespace code {
755
- 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_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, 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_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, 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_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, 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_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, 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_parseCommitTrailers as parseCommitTrailers, 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 };
785
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, 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_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, 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_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, 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_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, 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_parseCommitTrailers as parseCommitTrailers, 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_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
756
786
  }
757
787
 
758
- export { type RedosFinding as $, ALL_FLAGS as A, type ExportsShape as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type ExportsValidationResult as F, type GitCommandConfig as G, type GitCommandResult as H, type GitOperation as I, type GithubUrlInfo as J, type GithubUrlType as K, type GitignoreTestResult as L, type GqlFormatResult as M, type HtmlFormatResult as N, type HtmlMinifyOptions as O, type HtmlMinifyResult as P, type JsMinifyOptions as Q, type JsMinifyResult as R, MIME_TABLE as S, type MarkdownFootnoteDefinition as T, type MarkdownFootnoteReference as U, type MarkdownFootnoteResult as V, type MatchResult as W, type MimeEntry as X, type MimeLookupResult as Y, OPERATIONS as Z, type ParsedSpec as _, type ApiEndpoint as a, removeJsComments as a$, type RedosResult as a0, type RedosSeverity as a1, type RegexBackreferenceInfo as a2, type RegexError as a3, type RegexFlag as a4, type RegexGroupAnalysis as a5, type RegexGroupInfo as a6, type RegexGroupIssue as a7, type RegexMatch as a8, type RegexResult as a9, extractSvgSpriteSymbols as aA, formatCss as aB, formatGql as aC, formatHtml as aD, formatSql as aE, getEndpointsByTag as aF, getHtmlStats as aG, getJsStats as aH, getMethodColor as aI, isValidTag as aJ, lintConventionalCommit as aK, lookupMime as aL, minifyCss as aM, minifyGql as aN, minifyHtml as aO, minifyJs as aP, minifySql as aQ, normalizeRef as aR, parseCommitTrailers as aS, parseDockerImage as aT, parseEnv as aU, parseGitCommand as aV, parseGithubUrl as aW, parseSpec as aX, removeConsoleCalls as aY, removeEmptyAttributes as aZ, removeHtmlComments as a_, type RegexSuccess as aa, SQL_DEFAULT_OPTIONS as ab, type Segment as ac, type SpecVersion as ad, type SqlDialect as ae, type SqlFormatOptions as af, type SvgSpriteResult as ag, type SvgSpriteSymbol as ah, type TestPatternResult as ai, type TsconfigIssue as aj, type TsconfigValidationResult as ak, analyzeRegexGroups as al, auditDependencyRanges as am, buildDockerPull as an, buildDockerRun as ao, buildGitCommand as ap, collapseHtmlWhitespace as aq, collapseJsWhitespace as ar, countProperties as as, countRules as at, detectDialect as au, detectOperationType as av, detectRedos as aw, envToExport as ax, envToJson as ay, extractMarkdownFootnotes as az, type ApiInfo as b, removeRedundantAttributes as b0, searchCheatsheet as b1, searchEndpoints as b2, splitStatements as b3, testGitignorePatterns as b4, testPattern as b5, testRegex as b6, validateEditorConfig as b7, validateEnvKey as b8, validatePackageExports as b9, validateTsconfig as ba, code as c, type CheatsheetEntry as d, type CommitTrailer as e, type CommitTrailerResult as f, type ConventionalCommitFinding as g, type ConventionalCommitFooter as h, type ConventionalCommitOptions as i, type ConventionalCommitParsed as j, type ConventionalCommitResult as k, type ConventionalCommitSeverity as l, type CssResult as m, type DependencyAuditDuplicate as n, type DependencyAuditEntry as o, type DependencyAuditIssue as p, type DependencyAuditResult as q, type DependencyRangeType as r, type DependencySection as s, type DockerImageRef as t, type EditorConfigProperty as u, type EditorConfigSection as v, type EditorConfigValidationResult as w, type EnvEntry as x, type EnvParseResult as y, type ExportsIssue as z };
788
+ export { OPERATIONS as $, ALL_FLAGS as A, type EnvParseResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type ExportsIssue as F, type ExportsShape as G, type ExportsValidationResult as H, type GitCommandConfig as I, type GitCommandResult as J, type GitOperation as K, type GithubUrlInfo as L, type GithubUrlType as M, type GitignoreTestResult as N, type GqlFormatResult as O, type HtmlFormatResult as P, type HtmlMinifyOptions as Q, type HtmlMinifyResult as R, type JsMinifyOptions as S, type JsMinifyResult as T, MIME_TABLE as U, type MarkdownFootnoteDefinition as V, type MarkdownFootnoteReference as W, type MarkdownFootnoteResult as X, type MatchResult as Y, type MimeEntry as Z, type MimeLookupResult as _, type ApiEndpoint as a, removeEmptyAttributes as a$, type ParsedSpec as a0, type RedosFinding as a1, type RedosResult as a2, type RedosSeverity as a3, type RegexBackreferenceInfo as a4, type RegexError as a5, type RegexFlag as a6, type RegexGroupAnalysis as a7, type RegexGroupInfo as a8, type RegexGroupIssue as a9, envToJson as aA, extractMarkdownFootnotes as aB, extractSvgSpriteSymbols as aC, formatCss as aD, formatGql as aE, formatHtml as aF, formatSql as aG, getEndpointsByTag as aH, getHtmlStats as aI, getJsStats as aJ, getMethodColor as aK, isValidTag as aL, lintConventionalCommit as aM, lookupMime as aN, minifyCss as aO, minifyGql as aP, minifyHtml as aQ, minifyJs as aR, minifySql as aS, normalizeRef as aT, parseCommitTrailers as aU, parseDockerImage as aV, parseEnv as aW, parseGitCommand as aX, parseGithubUrl as aY, parseSpec as aZ, removeConsoleCalls as a_, type RegexMatch as aa, type RegexResult as ab, type RegexSuccess as ac, SQL_DEFAULT_OPTIONS as ad, type Segment as ae, type SpecVersion as af, type SqlDialect as ag, type SqlFormatOptions as ah, type SvgSpriteResult as ai, type SvgSpriteSymbol as aj, type TestPatternResult as ak, type TsconfigIssue as al, type TsconfigValidationResult as am, analyzeRegexGroups as an, auditDependencyRanges as ao, buildDockerPull as ap, buildDockerRun as aq, buildGitCommand as ar, collapseHtmlWhitespace as as, collapseJsWhitespace as at, countProperties as au, countRules as av, detectDialect as aw, detectOperationType as ax, detectRedos as ay, envToExport as az, type ApiInfo as b, removeHtmlComments as b0, removeJsComments as b1, removeRedundantAttributes as b2, searchCheatsheet as b3, searchEndpoints as b4, splitStatements as b5, testGitignorePatterns as b6, testPattern as b7, testRegex as b8, validateAria as b9, validateEditorConfig as ba, validateEnvKey as bb, validatePackageExports as bc, validateTsconfig as bd, code as c, type AriaIssue as d, type AriaValidationResult as e, type CheatsheetEntry as f, type CommitTrailer as g, type CommitTrailerResult as h, type ConventionalCommitFinding as i, type ConventionalCommitFooter as j, type ConventionalCommitOptions as k, type ConventionalCommitParsed as l, type ConventionalCommitResult as m, type ConventionalCommitSeverity as n, type CssResult as o, type DependencyAuditDuplicate as p, type DependencyAuditEntry as q, type DependencyAuditIssue as r, type DependencyAuditResult as s, type DependencyRangeType as t, type DependencySection as u, type DockerImageRef as v, type EditorConfigProperty as w, type EditorConfigSection as x, type EditorConfigValidationResult as y, type EnvEntry as z };
@@ -30,6 +30,7 @@
30
30
  * - svg-sprite-symbol-extractor (extractSvgSpriteSymbols)
31
31
  * - git-commit-trailer-parser (parseCommitTrailers)
32
32
  * - markdown-footnote-extractor (extractMarkdownFootnotes)
33
+ * - aria-validator (validateAria)
33
34
  */
34
35
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u';
35
36
  declare const ALL_FLAGS: RegexFlag[];
@@ -622,10 +623,38 @@ interface MarkdownFootnoteResult {
622
623
  declare function extractMarkdownFootnotes(markdown: string): MarkdownFootnoteResult | {
623
624
  error: string;
624
625
  };
626
+ interface AriaIssue {
627
+ element: string;
628
+ role: string | null;
629
+ severity: 'error' | 'warning';
630
+ message: string;
631
+ }
632
+ interface AriaValidationResult {
633
+ elementCount: number;
634
+ elementsWithRoleOrAria: number;
635
+ issues: AriaIssue[];
636
+ valid: boolean;
637
+ }
638
+ /**
639
+ * Parse an HTML snippet and check every `role` and `aria-*` attribute against
640
+ * a curated table of WAI-ARIA 1.2 roles: unknown role names, an aria-*
641
+ * attribute not permitted on the element's role, an unrecognized aria-*
642
+ * attribute name (likely typo) on an element with no role, and a widget role
643
+ * missing one of its required aria-* states (e.g. `role="checkbox"` without
644
+ * `aria-checked`). This is pure lookup-table validation against a static
645
+ * table (no headless browser, no DOM rendering), and it does not check
646
+ * implicit ARIA semantics carried by plain HTML elements (e.g. a native
647
+ * `<button>` with no `role` attribute at all).
648
+ */
649
+ declare function validateAria(html: string): AriaValidationResult | {
650
+ error: string;
651
+ };
625
652
 
626
653
  declare const code_ALL_FLAGS: typeof ALL_FLAGS;
627
654
  type code_ApiEndpoint = ApiEndpoint;
628
655
  type code_ApiInfo = ApiInfo;
656
+ type code_AriaIssue = AriaIssue;
657
+ type code_AriaValidationResult = AriaValidationResult;
629
658
  declare const code_CHEATSHEET: typeof CHEATSHEET;
630
659
  type code_CheatsheetEntry = CheatsheetEntry;
631
660
  type code_CommitTrailer = CommitTrailer;
@@ -747,12 +776,13 @@ declare const code_splitStatements: typeof splitStatements;
747
776
  declare const code_testGitignorePatterns: typeof testGitignorePatterns;
748
777
  declare const code_testPattern: typeof testPattern;
749
778
  declare const code_testRegex: typeof testRegex;
779
+ declare const code_validateAria: typeof validateAria;
750
780
  declare const code_validateEditorConfig: typeof validateEditorConfig;
751
781
  declare const code_validateEnvKey: typeof validateEnvKey;
752
782
  declare const code_validatePackageExports: typeof validatePackageExports;
753
783
  declare const code_validateTsconfig: typeof validateTsconfig;
754
784
  declare namespace code {
755
- 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_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, 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_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, 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_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, 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_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, 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_parseCommitTrailers as parseCommitTrailers, 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 };
785
+ export { code_ALL_FLAGS as ALL_FLAGS, type code_ApiEndpoint as ApiEndpoint, type code_ApiInfo as ApiInfo, type code_AriaIssue as AriaIssue, type code_AriaValidationResult as AriaValidationResult, code_CHEATSHEET as CHEATSHEET, type code_CheatsheetEntry as CheatsheetEntry, type code_CommitTrailer as CommitTrailer, type code_CommitTrailerResult as CommitTrailerResult, 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_MarkdownFootnoteDefinition as MarkdownFootnoteDefinition, type code_MarkdownFootnoteReference as MarkdownFootnoteReference, type code_MarkdownFootnoteResult as MarkdownFootnoteResult, 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_SvgSpriteResult as SvgSpriteResult, type code_SvgSpriteSymbol as SvgSpriteSymbol, 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_extractMarkdownFootnotes as extractMarkdownFootnotes, code_extractSvgSpriteSymbols as extractSvgSpriteSymbols, 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_parseCommitTrailers as parseCommitTrailers, 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_validateAria as validateAria, code_validateEditorConfig as validateEditorConfig, code_validateEnvKey as validateEnvKey, code_validatePackageExports as validatePackageExports, code_validateTsconfig as validateTsconfig };
756
786
  }
757
787
 
758
- export { type RedosFinding as $, ALL_FLAGS as A, type ExportsShape as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type ExportsValidationResult as F, type GitCommandConfig as G, type GitCommandResult as H, type GitOperation as I, type GithubUrlInfo as J, type GithubUrlType as K, type GitignoreTestResult as L, type GqlFormatResult as M, type HtmlFormatResult as N, type HtmlMinifyOptions as O, type HtmlMinifyResult as P, type JsMinifyOptions as Q, type JsMinifyResult as R, MIME_TABLE as S, type MarkdownFootnoteDefinition as T, type MarkdownFootnoteReference as U, type MarkdownFootnoteResult as V, type MatchResult as W, type MimeEntry as X, type MimeLookupResult as Y, OPERATIONS as Z, type ParsedSpec as _, type ApiEndpoint as a, removeJsComments as a$, type RedosResult as a0, type RedosSeverity as a1, type RegexBackreferenceInfo as a2, type RegexError as a3, type RegexFlag as a4, type RegexGroupAnalysis as a5, type RegexGroupInfo as a6, type RegexGroupIssue as a7, type RegexMatch as a8, type RegexResult as a9, extractSvgSpriteSymbols as aA, formatCss as aB, formatGql as aC, formatHtml as aD, formatSql as aE, getEndpointsByTag as aF, getHtmlStats as aG, getJsStats as aH, getMethodColor as aI, isValidTag as aJ, lintConventionalCommit as aK, lookupMime as aL, minifyCss as aM, minifyGql as aN, minifyHtml as aO, minifyJs as aP, minifySql as aQ, normalizeRef as aR, parseCommitTrailers as aS, parseDockerImage as aT, parseEnv as aU, parseGitCommand as aV, parseGithubUrl as aW, parseSpec as aX, removeConsoleCalls as aY, removeEmptyAttributes as aZ, removeHtmlComments as a_, type RegexSuccess as aa, SQL_DEFAULT_OPTIONS as ab, type Segment as ac, type SpecVersion as ad, type SqlDialect as ae, type SqlFormatOptions as af, type SvgSpriteResult as ag, type SvgSpriteSymbol as ah, type TestPatternResult as ai, type TsconfigIssue as aj, type TsconfigValidationResult as ak, analyzeRegexGroups as al, auditDependencyRanges as am, buildDockerPull as an, buildDockerRun as ao, buildGitCommand as ap, collapseHtmlWhitespace as aq, collapseJsWhitespace as ar, countProperties as as, countRules as at, detectDialect as au, detectOperationType as av, detectRedos as aw, envToExport as ax, envToJson as ay, extractMarkdownFootnotes as az, type ApiInfo as b, removeRedundantAttributes as b0, searchCheatsheet as b1, searchEndpoints as b2, splitStatements as b3, testGitignorePatterns as b4, testPattern as b5, testRegex as b6, validateEditorConfig as b7, validateEnvKey as b8, validatePackageExports as b9, validateTsconfig as ba, code as c, type CheatsheetEntry as d, type CommitTrailer as e, type CommitTrailerResult as f, type ConventionalCommitFinding as g, type ConventionalCommitFooter as h, type ConventionalCommitOptions as i, type ConventionalCommitParsed as j, type ConventionalCommitResult as k, type ConventionalCommitSeverity as l, type CssResult as m, type DependencyAuditDuplicate as n, type DependencyAuditEntry as o, type DependencyAuditIssue as p, type DependencyAuditResult as q, type DependencyRangeType as r, type DependencySection as s, type DockerImageRef as t, type EditorConfigProperty as u, type EditorConfigSection as v, type EditorConfigValidationResult as w, type EnvEntry as x, type EnvParseResult as y, type ExportsIssue as z };
788
+ export { OPERATIONS as $, ALL_FLAGS as A, type EnvParseResult as B, CHEATSHEET as C, DEFAULT_COMMIT_TYPES as D, type EditorConfigIssue as E, type ExportsIssue as F, type ExportsShape as G, type ExportsValidationResult as H, type GitCommandConfig as I, type GitCommandResult as J, type GitOperation as K, type GithubUrlInfo as L, type GithubUrlType as M, type GitignoreTestResult as N, type GqlFormatResult as O, type HtmlFormatResult as P, type HtmlMinifyOptions as Q, type HtmlMinifyResult as R, type JsMinifyOptions as S, type JsMinifyResult as T, MIME_TABLE as U, type MarkdownFootnoteDefinition as V, type MarkdownFootnoteReference as W, type MarkdownFootnoteResult as X, type MatchResult as Y, type MimeEntry as Z, type MimeLookupResult as _, type ApiEndpoint as a, removeEmptyAttributes as a$, type ParsedSpec as a0, type RedosFinding as a1, type RedosResult as a2, type RedosSeverity as a3, type RegexBackreferenceInfo as a4, type RegexError as a5, type RegexFlag as a6, type RegexGroupAnalysis as a7, type RegexGroupInfo as a8, type RegexGroupIssue as a9, envToJson as aA, extractMarkdownFootnotes as aB, extractSvgSpriteSymbols as aC, formatCss as aD, formatGql as aE, formatHtml as aF, formatSql as aG, getEndpointsByTag as aH, getHtmlStats as aI, getJsStats as aJ, getMethodColor as aK, isValidTag as aL, lintConventionalCommit as aM, lookupMime as aN, minifyCss as aO, minifyGql as aP, minifyHtml as aQ, minifyJs as aR, minifySql as aS, normalizeRef as aT, parseCommitTrailers as aU, parseDockerImage as aV, parseEnv as aW, parseGitCommand as aX, parseGithubUrl as aY, parseSpec as aZ, removeConsoleCalls as a_, type RegexMatch as aa, type RegexResult as ab, type RegexSuccess as ac, SQL_DEFAULT_OPTIONS as ad, type Segment as ae, type SpecVersion as af, type SqlDialect as ag, type SqlFormatOptions as ah, type SvgSpriteResult as ai, type SvgSpriteSymbol as aj, type TestPatternResult as ak, type TsconfigIssue as al, type TsconfigValidationResult as am, analyzeRegexGroups as an, auditDependencyRanges as ao, buildDockerPull as ap, buildDockerRun as aq, buildGitCommand as ar, collapseHtmlWhitespace as as, collapseJsWhitespace as at, countProperties as au, countRules as av, detectDialect as aw, detectOperationType as ax, detectRedos as ay, envToExport as az, type ApiInfo as b, removeHtmlComments as b0, removeJsComments as b1, removeRedundantAttributes as b2, searchCheatsheet as b3, searchEndpoints as b4, splitStatements as b5, testGitignorePatterns as b6, testPattern as b7, testRegex as b8, validateAria as b9, validateEditorConfig as ba, validateEnvKey as bb, validatePackageExports as bc, validateTsconfig as bd, code as c, type AriaIssue as d, type AriaValidationResult as e, type CheatsheetEntry as f, type CommitTrailer as g, type CommitTrailerResult as h, type ConventionalCommitFinding as i, type ConventionalCommitFooter as j, type ConventionalCommitOptions as k, type ConventionalCommitParsed as l, type ConventionalCommitResult as m, type ConventionalCommitSeverity as n, type CssResult as o, type DependencyAuditDuplicate as p, type DependencyAuditEntry as q, type DependencyAuditIssue as r, type DependencyAuditResult as s, type DependencyRangeType as t, type DependencySection as u, type DockerImageRef as v, type EditorConfigProperty as w, type EditorConfigSection as x, type EditorConfigValidationResult as y, type EnvEntry as z };