code-auditor-mcp 3.4.7 → 3.4.9

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.
Files changed (107) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +108 -2
  3. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +1 -0
  4. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  5. package/dist/analyzers/cross-language/APIContractAnalyzer.js +5 -0
  6. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  7. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +1 -0
  8. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +8 -0
  10. package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
  11. package/dist/analyzers/cross-language/SchemaValidator.d.ts +1 -0
  12. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  13. package/dist/analyzers/cross-language/SchemaValidator.js +9 -0
  14. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  15. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +2 -0
  16. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  17. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +17 -6
  18. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  19. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  20. package/dist/analyzers/documentationAnalyzer.js +5 -0
  21. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  22. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  23. package/dist/analyzers/reactAnalyzer.js +28 -9
  24. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  25. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  26. package/dist/analyzers/ruleRegistry.js +27 -26
  27. package/dist/analyzers/ruleRegistry.js.map +1 -1
  28. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  29. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +13 -5
  30. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  31. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +0 -1
  32. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  33. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +0 -14
  34. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  35. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +8 -5
  36. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  37. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +86 -92
  38. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  39. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +6 -5
  41. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  42. package/dist/auditRunner.d.ts +16 -1
  43. package/dist/auditRunner.d.ts.map +1 -1
  44. package/dist/auditRunner.js +67 -13
  45. package/dist/auditRunner.js.map +1 -1
  46. package/dist/cli.js +25 -0
  47. package/dist/cli.js.map +1 -1
  48. package/dist/codeIndexDB.d.ts +3 -1
  49. package/dist/codeIndexDB.d.ts.map +1 -1
  50. package/dist/codeIndexDB.js +42 -10
  51. package/dist/codeIndexDB.js.map +1 -1
  52. package/dist/componentScanner.d.ts.map +1 -1
  53. package/dist/componentScanner.js +73 -4
  54. package/dist/componentScanner.js.map +1 -1
  55. package/dist/config/defaults.d.ts +0 -1
  56. package/dist/config/defaults.d.ts.map +1 -1
  57. package/dist/config/defaults.js +1 -3
  58. package/dist/config/defaults.js.map +1 -1
  59. package/dist/dataPaths.d.ts +13 -7
  60. package/dist/dataPaths.d.ts.map +1 -1
  61. package/dist/dataPaths.js +22 -9
  62. package/dist/dataPaths.js.map +1 -1
  63. package/dist/fingerprint.d.ts +2 -11
  64. package/dist/fingerprint.d.ts.map +1 -1
  65. package/dist/fingerprint.js +3 -23
  66. package/dist/fingerprint.js.map +1 -1
  67. package/dist/languages/adapterBridge.d.ts.map +1 -1
  68. package/dist/languages/adapterBridge.js +3 -2
  69. package/dist/languages/adapterBridge.js.map +1 -1
  70. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  71. package/dist/reporting/jsonReportGenerator.js +30 -19
  72. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  73. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  74. package/dist/reporting/sarifReportGenerator.js +8 -0
  75. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  76. package/dist/scripts/runBench.d.ts.map +1 -1
  77. package/dist/scripts/runBench.js +10 -18
  78. package/dist/scripts/runBench.js.map +1 -1
  79. package/dist/services/SchemaParser.d.ts.map +1 -1
  80. package/dist/services/SchemaParser.js +9 -0
  81. package/dist/services/SchemaParser.js.map +1 -1
  82. package/dist/styles/styleIndexer.js +10 -1
  83. package/dist/styles/styleIndexer.js.map +1 -1
  84. package/dist/styles/tailwindConfigLoader.d.ts +6 -0
  85. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  86. package/dist/styles/tailwindConfigLoader.js +58 -16
  87. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  88. package/dist/styles/tailwindProbe.d.ts +54 -7
  89. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  90. package/dist/styles/tailwindProbe.js +188 -47
  91. package/dist/styles/tailwindProbe.js.map +1 -1
  92. package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
  93. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  94. package/dist/styles/tailwindUtilityExpander.js +59 -0
  95. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  96. package/dist/types.d.ts +9 -1
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js.map +1 -1
  99. package/dist/utils/astParser.js +1 -1
  100. package/dist/utils/astParser.js.map +1 -1
  101. package/dist/utils/reactDetection.d.ts +12 -2
  102. package/dist/utils/reactDetection.d.ts.map +1 -1
  103. package/dist/utils/reactDetection.js +62 -15
  104. package/dist/utils/reactDetection.js.map +1 -1
  105. package/package.json +3 -2
  106. package/plugin/.claude-plugin/plugin.json +1 -1
  107. package/plugin/skills/code-auditor/SKILL.md +38 -0
@@ -1 +1 @@
1
- {"version":3,"file":"styleIndexer.js","sourceRoot":"","sources":["../../src/styles/styleIndexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styleIndexer.js","sourceRoot":"","sources":["../../src/styles/styleIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AA2BpF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAwB,EACxB,KAAe,EACf,WAAmB,EACnB,OAAO,GAAqB,EAAE;IAE9B,MAAM,MAAM,GAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,4CAA4C;IAC5C,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;IAE7C,uEAAuE;IACvE,IAAI,QAAQ,GAA4B,IAAI,CAAC;IAC7C,IAAI,CAAC;QACH,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAE7C,iDAAiD;YACjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;oBACjC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEnC,uBAAuB;YACvB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEvF,sBAAsB;YACtB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YAED,oDAAoD;YACpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC;YAED,iCAAiC;YACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,+CAA+C;IAC/C,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,0DAA0D;YAC1D,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,IAAI,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,UAAkB,EAClB,QAAiC,EACjC,cAAmB;IAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpF,+CAA+C;IAC/C,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,IAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3F,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,OAAO,GAA2B,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACtD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,OAAO,mBAAmB,CAAC,QAAQ,EAAE,IAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3F,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,mBAAmB,CAAC,QAAQ,EAAE,IAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,QAAgB,EAChB,UAAkB;IAElB,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpF,mCAAmC;IACnC,IAAI,SAAS,GAAiC,OAAO,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,SAAS,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,uCAAuC;IACvC,MAAM,SAAS,GAAG,gFAAgF,CAAC;IACnG,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,sEAAsE;QACtE,4DAA4D;QAC5D,qEAAqE;QACrE,oEAAoE;QACpE,qDAAqD;QACrD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,iEAAiE;YACjE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEnD,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;gBAC3B,QAAQ;gBACR,IAAI;gBACJ,SAAS;gBACT,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB,EAAE,QAAgB;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB,yEAAyE,CAC1E,CAAC,GAAG,CAAC,QAAQ,CAAyC,CAAC;IACxD,OAAO,GAAG,EAAE,YAAY,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB,EAAE,QAAgB;IACnE,KAAK,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClF,KAAK,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjF,KAAK,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB,EAAE,YAAsB;IAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,uEAAuE;IACvE,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B;;;;iDAI6C,CAC9C,CAAC,GAAG,EAA6B,CAAC;IAEnC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnF,KAAK,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClF,KAAK,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAwB,EACxB,QAAgB,EAChB,YAAqC,EACrC,WAAmB;IAEnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;;;;;;;GAO5B,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC;gBACT,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC7E,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;gBAC1B,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;gBACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAC5B,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,EAAE,CAAC;AACR,CAAC;AAED,SAAS,YAAY,CACnB,KAAwB,EACxB,QAAgB,EAChB,MAAoB;IAEpB,iEAAiE;IACjE,KAAK,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;;;GAG5B,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,EAAE,CAAC;AACR,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAwB,EACxB,QAAgB,EAChB,KAAwB;IAExB,kDAAkD;IAClD,KAAK,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;;;;;GAK5B,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC;gBACT,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,EAAE,CAAC;AACR,CAAC"}
@@ -35,4 +35,10 @@ export declare function loadTailwindConfig(projectRoot: string): TailwindConfigR
35
35
  * Get the tokens as StyleToken[] for storage in the style index.
36
36
  */
37
37
  export declare function tokensToStyleTokens(result: TailwindConfigResult, projectRoot: string): StyleToken[];
38
+ /**
39
+ * Recursively walk projectRoot for .css files containing @theme directives.
40
+ * Skips node_modules and .git directories.
41
+ * Exported — also used by tailwindUtilityExpander.ts.
42
+ */
43
+ export declare function findThemeCssFiles(projectRoot: string): string[];
38
44
  //# sourceMappingURL=tailwindConfigLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindConfigLoader.d.ts","sourceRoot":"","sources":["../../src/styles/tailwindConfigLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,mCAAmC;IACnC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAe5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,EAAE,CAyCd"}
1
+ {"version":3,"file":"tailwindConfigLoader.d.ts","sourceRoot":"","sources":["../../src/styles/tailwindConfigLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,mCAAmC;IACnC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAe5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,EAAE,CAyCd;AAwED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAyC/D"}
@@ -11,8 +11,8 @@
11
11
  *
12
12
  * Falls back gracefully — no config means we use defaults only.
13
13
  */
14
- import { existsSync, readFileSync } from 'node:fs';
15
- import { join } from 'node:path';
14
+ import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
15
+ import { join, extname } from 'node:path';
16
16
  import { createRequire } from 'node:module';
17
17
  // ---------------------------------------------------------------------------
18
18
  // Tailwind v4 Default Design Tokens
@@ -141,22 +141,64 @@ function loadV3ConfigFile(configPath) {
141
141
  }
142
142
  }
143
143
  // ---------------------------------------------------------------------------
144
+ // Shared: find CSS files containing @theme directives
145
+ // ---------------------------------------------------------------------------
146
+ /**
147
+ * Recursively walk projectRoot for .css files containing @theme directives.
148
+ * Skips node_modules and .git directories.
149
+ * Exported — also used by tailwindUtilityExpander.ts.
150
+ */
151
+ export function findThemeCssFiles(projectRoot) {
152
+ const results = [];
153
+ const SKIP_DIRS = new Set(['node_modules', '.git', '.next', 'dist', 'build', '.turbo', '__pycache__']);
154
+ function walk(dir) {
155
+ let entries;
156
+ try {
157
+ entries = readdirSync(dir);
158
+ }
159
+ catch {
160
+ return;
161
+ }
162
+ for (const entry of entries) {
163
+ const fullPath = join(dir, entry);
164
+ let st;
165
+ try {
166
+ st = statSync(fullPath);
167
+ }
168
+ catch {
169
+ continue;
170
+ }
171
+ if (st.isDirectory()) {
172
+ if (!SKIP_DIRS.has(entry) && !entry.startsWith('.')) {
173
+ walk(fullPath);
174
+ }
175
+ }
176
+ else if (st.isFile() && extname(fullPath) === '.css') {
177
+ // Only include files that actually contain @theme
178
+ try {
179
+ const content = readFileSync(fullPath, 'utf-8');
180
+ if (content.includes('@theme')) {
181
+ results.push(fullPath);
182
+ }
183
+ }
184
+ catch {
185
+ // Skip unreadable files
186
+ }
187
+ }
188
+ }
189
+ }
190
+ walk(projectRoot);
191
+ return results;
192
+ }
193
+ // ---------------------------------------------------------------------------
144
194
  // Tier 2: v4 CSS config
145
195
  // ---------------------------------------------------------------------------
146
196
  function tryLoadV4Config(projectRoot) {
147
- // Tailwind v4 typically uses app.css or globals.css with @theme
148
- const candidates = [
149
- 'app/globals.css',
150
- 'src/app/globals.css',
151
- 'app.css',
152
- 'src/styles/globals.css',
153
- 'styles/globals.css',
154
- 'globals.css',
155
- ];
156
- for (const candidate of candidates) {
157
- const configPath = join(projectRoot, candidate);
158
- if (!existsSync(configPath))
159
- continue;
197
+ // Scan the project for CSS files containing @theme blocks.
198
+ // Replaces the old hardcoded Next.js-shaped candidate list — works for
199
+ // any framework (Vite, Astro, Remix, plain Tailwind v4, etc.).
200
+ const themeFiles = findThemeCssFiles(projectRoot);
201
+ for (const configPath of themeFiles) {
160
202
  try {
161
203
  const content = readFileSync(configPath, 'utf-8');
162
204
  const tokens = parseV4ThemeBlocks(content);
@@ -189,7 +231,7 @@ function parseV4ThemeBlocks(css) {
189
231
  borderRadius: new Map(),
190
232
  };
191
233
  // Match @theme { ... } blocks
192
- const themeRegex = /@theme\s*\{([^}]*(?:\{[^}]*\}[^}]*)*)\}/g;
234
+ const themeRegex = /@theme(?:\s+\w+)?\s*\{([^}]*(?:\{[^}]*\}[^}]*)*)\}/g;
193
235
  let match;
194
236
  while ((match = themeRegex.exec(css)) !== null) {
195
237
  const block = match[1];
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindConfigLoader.js","sourceRoot":"","sources":["../../src/styles/tailwindConfigLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tailwindConfigLoader.js","sourceRoot":"","sources":["../../src/styles/tailwindConfigLoader.ts"],"names":[],"mappings":"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"}
@@ -36,12 +36,26 @@ export declare class TailwindProbe {
36
36
  private projectRoot;
37
37
  private tailwindPath;
38
38
  private version;
39
+ /** Cached compile function for v4 (async, requires loadStylesheet/loadModule options). */
40
+ private _compile;
41
+ /** tailwindcss package directory — used to load index.css via loadStylesheet. */
42
+ private _twDir;
43
+ /** Project CSS with @theme blocks — included in probe input to validate
44
+ * Shadcn semantic theme classes (bg-background, text-foreground, etc.). */
45
+ private _projectCss;
39
46
  /** Whether the probe successfully initialized and is ready to validate classes. */
40
47
  get ready(): boolean;
41
48
  /** Why initialization failed, if it did. */
42
49
  get failureReason(): string | null;
43
50
  /** Human-readable description of the validation source. */
44
51
  get source(): string | null;
52
+ /**
53
+ * Register project-level CSS that contains @theme blocks. This is included
54
+ * in the compile-probe input so that Shadcn semantic theme classes
55
+ * (bg-background, text-foreground, etc.) validate against project custom
56
+ * theme definitions.
57
+ */
58
+ setProjectCss(css: string): void;
45
59
  /**
46
60
  * Initialize the probe by locating and loading the project's tailwindcss
47
61
  * package. Tests compilation with a known-good class to verify the
@@ -64,16 +78,46 @@ export declare class TailwindProbe {
64
78
  */
65
79
  validateBatch(candidates: string[]): Promise<Set<string>>;
66
80
  /**
67
- * Generate a CSS file with @apply probe selectors, compile it with
68
- * Tailwind v4, and parse the output to determine which classes are valid.
81
+ * Build a loadStylesheet callback for Tailwind v4 compile().
82
+ * When @import "tailwindcss" (or theme/preflight/utilities) is
83
+ * encountered during compilation, serves tailwindcss/index.css so
84
+ * the full base theme is available for @apply resolution.
85
+ */
86
+ private buildLoadStylesheet;
87
+ /**
88
+ * Build a loadModule callback for Tailwind v4 compile().
89
+ * Throws on all requests — no JS plugins needed for class validation.
90
+ */
91
+ private buildLoadModule;
92
+ /**
93
+ * Compile CSS with Tailwind v4 compile() using the cached function
94
+ * reference. Returns the compile result on success, null on failure.
95
+ */
96
+ private compileV4;
97
+ /**
98
+ * Validate a batch of class names against Tailwind v4 compile() using
99
+ * @apply probes and iterative recompile.
100
+ *
101
+ * v4.3.3+ compile() throws "Cannot apply unknown utility class `X`"
102
+ * for invalid classes (clean signal). We compile all candidate classes
103
+ * at once in @apply probes, extract the first invalid class from the
104
+ * error message, remove it, and recompile the rest. When compile
105
+ * succeeds without throwing, all remaining classes are valid.
106
+ *
107
+ * This is efficient when most classes are valid (the common case for
108
+ * real projects using Tailwind utilities).
69
109
  */
70
110
  private probeV4Batch;
71
111
  /**
72
- * Parse compiled CSS output to find which probe selectors have actual
73
- * CSS declarations. A probe selector with no declarations or only empty
74
- * rules indicates an invalid/unknown class.
112
+ * Extract @theme { ... } blocks from project CSS for inclusion in the
113
+ * probe stylesheet. Strips @import directives and other CSS that would
114
+ * cause the compile-probe to fail with non-matchable errors.
115
+ *
116
+ * Returns only the @theme blocks concatenated so the compiler sees
117
+ * the custom property definitions (--color-surface-elevated, etc.)
118
+ * without any import side effects.
75
119
  */
76
- private parseProbeOutput;
120
+ private extractThemeBlocks;
77
121
  /**
78
122
  * Generate the full set of utility classes from the project's resolved
79
123
  * Tailwind v3 config. Uses `resolveConfig()` to merge user config with
@@ -94,7 +138,10 @@ export declare class TailwindProbe {
94
138
  private findTailwindcss;
95
139
  /**
96
140
  * Dynamically import tailwindcss v4 (ESM package).
97
- * Uses file:// URL for reliable resolution from the project's node_modules.
141
+ *
142
+ * Tailwind v4.3+ uses package.json `exports` map with no `main` or `index.js`,
143
+ * so `import(pathToFileURL(dir).href)` fails. We read the entry point from
144
+ * package.json and import the resolved file directly.
98
145
  */
99
146
  private tryImportV4;
100
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindProbe.d.ts","sourceRoot":"","sources":["../../src/styles/tailwindProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqDD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAsB;IAErC,mFAAmF;IACnF,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,4CAA4C;IAC5C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,2DAA2D;IAC3D,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED;;;;OAIG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA2DxD;IAED;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnC;IAED;;;;;;;;OAQG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAmC9D;IAMD;;;OAGG;YACW,YAAY;IAuB1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAgFzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;OAGG;YACW,WAAW;CAoB1B"}
1
+ {"version":3,"file":"tailwindProbe.d.ts","sourceRoot":"","sources":["../../src/styles/tailwindProbe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqDD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAsB;IACrC,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAmF;IACnG,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAuB;IACrC;gFAC4E;IAC5E,OAAO,CAAC,WAAW,CAAuB;IAE1C,mFAAmF;IACnF,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,4CAA4C;IAC5C,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,2DAA2D;IAC3D,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE/B;IAED;;;;OAIG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmFxD;IAED;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnC;IAED;;;;;;;;OAQG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAmC9D;IAMD;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;YACW,SAAS;IASvB;;;;;;;;;;;;OAYG;YACW,YAAY;IA+C1B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAgFzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;;OAMG;YACW,WAAW;CA2C1B"}
@@ -20,7 +20,7 @@
20
20
  *
21
21
  * @module tailwindProbe
22
22
  */
23
- import { existsSync } from 'node:fs';
23
+ import { existsSync, readFileSync } from 'node:fs';
24
24
  import { join, dirname } from 'node:path';
25
25
  import { createRequire } from 'node:module';
26
26
  import { pathToFileURL } from 'node:url';
@@ -77,6 +77,13 @@ export class TailwindProbe {
77
77
  projectRoot = '';
78
78
  tailwindPath = null;
79
79
  version = null;
80
+ /** Cached compile function for v4 (async, requires loadStylesheet/loadModule options). */
81
+ _compile = null;
82
+ /** tailwindcss package directory — used to load index.css via loadStylesheet. */
83
+ _twDir = null;
84
+ /** Project CSS with @theme blocks — included in probe input to validate
85
+ * Shadcn semantic theme classes (bg-background, text-foreground, etc.). */
86
+ _projectCss = null;
80
87
  /** Whether the probe successfully initialized and is ready to validate classes. */
81
88
  get ready() {
82
89
  return this._ready;
@@ -89,6 +96,15 @@ export class TailwindProbe {
89
96
  get source() {
90
97
  return this._source;
91
98
  }
99
+ /**
100
+ * Register project-level CSS that contains @theme blocks. This is included
101
+ * in the compile-probe input so that Shadcn semantic theme classes
102
+ * (bg-background, text-foreground, etc.) validate against project custom
103
+ * theme definitions.
104
+ */
105
+ setProjectCss(css) {
106
+ this._projectCss = css;
107
+ }
92
108
  /**
93
109
  * Initialize the probe by locating and loading the project's tailwindcss
94
110
  * package. Tests compilation with a known-good class to verify the
@@ -103,12 +119,19 @@ export class TailwindProbe {
103
119
  }
104
120
  this.tailwindPath = twPath;
105
121
  // ── Try v4 first (ESM import + compile() API) ──
122
+ // v4.3.3+: compile() is async, returns an object (not a string), and requires
123
+ // loadStylesheet/loadModule options. The probe validates classes via @apply:
124
+ // - Known-valid class (@apply flex) → compile succeeds, returns object
125
+ // - Unknown class (@apply nonexistent) → compile throws "Cannot apply unknown utility class"
106
126
  try {
107
127
  const mod = await this.tryImportV4(twPath);
108
128
  if (mod && typeof mod.compile === 'function') {
109
- const result = await mod.compile(Buffer.from('@import "tailwindcss";\n.p0{@apply flex;}'), { base: projectRoot });
110
- const output = typeof result === 'string' ? result : String(result);
111
- if (output.includes('.p0') && /\{([^}]*[a-z])/.test(output)) {
129
+ this._compile = mod.compile.bind(mod);
130
+ this._twDir = twPath;
131
+ // Probe with a known-good class to verify the pipeline
132
+ const testCss = '@import "tailwindcss";\n.p0{@apply flex;}';
133
+ const result = await this.compileV4(testCss, projectRoot);
134
+ if (result !== null) {
112
135
  this.version = 4;
113
136
  this.validClasses = new Set();
114
137
  this._ready = true;
@@ -118,12 +141,29 @@ export class TailwindProbe {
118
141
  }
119
142
  }
120
143
  catch {
121
- // Not v4 — continue to v3
144
+ // Not v4 — continue to CJS or v3
122
145
  }
123
- // ── Try v3 (CJS require + resolveConfig) ──
146
+ // ── Try CJS require paths (v4 CJS or v3) ──
147
+ // v4 CJS: exports { compile, compileAst, ... } — an object with named exports,
148
+ // NOT a function. The ESM import in tryImportV4 may have failed (e.g., when
149
+ // the project is CJS or the resolver can't find the ESM entry), but the CJS
150
+ // build is still loadable and has the compile() API.
124
151
  try {
125
152
  const projectRequire = createRequire(join(projectRoot, 'package.json'));
126
153
  const tw = projectRequire(twPath);
154
+ if (tw && typeof tw.compile === 'function') {
155
+ this._compile = tw.compile.bind(tw);
156
+ this._twDir = twPath;
157
+ const testCss = '@import "tailwindcss";\n.p0{@apply flex;}';
158
+ const result = await this.compileV4(testCss, projectRoot);
159
+ if (result !== null) {
160
+ this.version = 4;
161
+ this.validClasses = new Set();
162
+ this._ready = true;
163
+ this._source = 'v4-cjs-compile-probe';
164
+ return { ok: true, source: this._source };
165
+ }
166
+ }
127
167
  // v3 tailwindcss exports a function (the postcss plugin)
128
168
  // It also has resolveConfig available
129
169
  if (typeof tw === 'function' || (tw.default && typeof tw.default === 'function')) {
@@ -203,47 +243,121 @@ export class TailwindProbe {
203
243
  // Private: v4 compile-probe
204
244
  // -----------------------------------------------------------------------
205
245
  /**
206
- * Generate a CSS file with @apply probe selectors, compile it with
207
- * Tailwind v4, and parse the output to determine which classes are valid.
246
+ * Build a loadStylesheet callback for Tailwind v4 compile().
247
+ * When @import "tailwindcss" (or theme/preflight/utilities) is
248
+ * encountered during compilation, serves tailwindcss/index.css so
249
+ * the full base theme is available for @apply resolution.
208
250
  */
209
- async probeV4Batch(classes) {
210
- // Escape backslashes in class names for CSS
211
- const escapedClasses = classes.map(cls => cls.replace(/\\/g, '\\\\'));
212
- // Build probe CSS: one selector per class with @apply
213
- const rules = escapedClasses
214
- .map((cls, i) => `.p${i}{@apply ${cls};}`)
215
- .join('');
216
- const css = `@import "tailwindcss";${rules}`;
217
- try {
218
- const mod = await this.tryImportV4(this.tailwindPath);
219
- if (!mod || typeof mod.compile !== 'function')
220
- return [];
221
- const result = await mod.compile(Buffer.from(css), { base: this.projectRoot });
222
- const output = typeof result === 'string' ? result : String(result);
223
- return this.parseProbeOutput(output, classes);
224
- }
225
- catch {
226
- // Compilation failed — return empty (treat all as invalid)
227
- return [];
228
- }
251
+ buildLoadStylesheet() {
252
+ const twDir = this._twDir;
253
+ return async (path) => {
254
+ if (path === 'tailwindcss' || path === 'tailwindcss/theme' ||
255
+ path === 'tailwindcss/preflight' || path === 'tailwindcss/utilities') {
256
+ const cssPath = join(twDir, 'index.css');
257
+ return { base: twDir, content: readFileSync(cssPath, 'utf-8'), roots: null };
258
+ }
259
+ return { base: path, content: '', roots: null };
260
+ };
229
261
  }
230
262
  /**
231
- * Parse compiled CSS output to find which probe selectors have actual
232
- * CSS declarations. A probe selector with no declarations or only empty
233
- * rules indicates an invalid/unknown class.
263
+ * Build a loadModule callback for Tailwind v4 compile().
264
+ * Throws on all requests no JS plugins needed for class validation.
234
265
  */
235
- parseProbeOutput(output, classes) {
266
+ buildLoadModule() {
267
+ return async (_id, _base) => {
268
+ throw new Error('No addl modules');
269
+ };
270
+ }
271
+ /**
272
+ * Compile CSS with Tailwind v4 compile() using the cached function
273
+ * reference. Returns the compile result on success, null on failure.
274
+ */
275
+ async compileV4(css, projectRoot) {
276
+ if (!this._compile)
277
+ return null;
278
+ return this._compile(css, {
279
+ base: projectRoot,
280
+ loadStylesheet: this.buildLoadStylesheet(),
281
+ loadModule: this.buildLoadModule(),
282
+ });
283
+ }
284
+ /**
285
+ * Validate a batch of class names against Tailwind v4 compile() using
286
+ * @apply probes and iterative recompile.
287
+ *
288
+ * v4.3.3+ compile() throws "Cannot apply unknown utility class `X`"
289
+ * for invalid classes (clean signal). We compile all candidate classes
290
+ * at once in @apply probes, extract the first invalid class from the
291
+ * error message, remove it, and recompile the rest. When compile
292
+ * succeeds without throwing, all remaining classes are valid.
293
+ *
294
+ * This is efficient when most classes are valid (the common case for
295
+ * real projects using Tailwind utilities).
296
+ */
297
+ async probeV4Batch(classes) {
298
+ const remaining = [...classes];
299
+ // Deduplicate while preserving order
236
300
  const valid = [];
237
- for (let i = 0; i < classes.length; i++) {
238
- // Find .pN{ ... } and check for non-whitespace declarations
239
- const re = new RegExp(`\\.p${i}\\{([^}]*)\\}`, 's');
240
- const m = re.exec(output);
241
- if (m && m[1].trim().length > 0) {
242
- valid.push(classes[i]);
301
+ const escapeCls = (cls) => cls.replace(/\\/g, '\\\\');
302
+ // Extract only @theme { ... } blocks from project CSS. Including raw
303
+ // CSS causes two failures: (a) duplicate @import "tailwindcss", (b)
304
+ // relative @import "./theme.css" that loadStylesheet can't resolve,
305
+ // which throws a non-matchable error that breaks the retry loop.
306
+ // Extracting only @theme blocks gives the compiler the custom property
307
+ // definitions it needs to resolve semantic tokens (bg-surface-elevated,
308
+ // text-danger-default) without the import directives that break compilation.
309
+ const projectTheme = this.extractThemeBlocks();
310
+ while (remaining.length > 0) {
311
+ const rules = remaining
312
+ .map((cls, i) => `.p${i}{@apply ${escapeCls(cls)};}`)
313
+ .join('');
314
+ const css = `${projectTheme}@import "tailwindcss";${rules}`;
315
+ try {
316
+ await this.compileV4(css, this.projectRoot);
317
+ // Compile succeeded — all remaining classes are valid
318
+ for (const cls of remaining)
319
+ valid.push(cls);
320
+ break;
321
+ }
322
+ catch (err) {
323
+ const msg = err instanceof Error ? err.message : String(err);
324
+ // Parse first invalid class from error: "Cannot apply unknown utility class `X`"
325
+ const match = msg.match(/Cannot apply unknown utility class(?:es)?[`\s]+`?([^`\s]+)`?/);
326
+ if (match) {
327
+ const badClass = match[1];
328
+ const idx = remaining.indexOf(badClass);
329
+ if (idx >= 0) {
330
+ remaining.splice(idx, 1);
331
+ continue;
332
+ }
333
+ }
334
+ // Unrecognised error — bail out safely, don't mark any as valid
335
+ break;
243
336
  }
244
337
  }
245
338
  return valid;
246
339
  }
340
+ /**
341
+ * Extract @theme { ... } blocks from project CSS for inclusion in the
342
+ * probe stylesheet. Strips @import directives and other CSS that would
343
+ * cause the compile-probe to fail with non-matchable errors.
344
+ *
345
+ * Returns only the @theme blocks concatenated so the compiler sees
346
+ * the custom property definitions (--color-surface-elevated, etc.)
347
+ * without any import side effects.
348
+ */
349
+ extractThemeBlocks() {
350
+ const css = this._projectCss;
351
+ if (!css)
352
+ return '';
353
+ const themeRegex = /@theme(?:\s+\w+)?\s*\{([^}]*(?:\{[^}]*\}[^}]*)*)\}/g;
354
+ const blocks = [];
355
+ let match;
356
+ while ((match = themeRegex.exec(css)) !== null) {
357
+ blocks.push(match[0]);
358
+ }
359
+ return blocks.join('\n');
360
+ }
247
361
  // -----------------------------------------------------------------------
248
362
  // Private: v3 config-based generation
249
363
  // -----------------------------------------------------------------------
@@ -385,23 +499,48 @@ export class TailwindProbe {
385
499
  }
386
500
  /**
387
501
  * Dynamically import tailwindcss v4 (ESM package).
388
- * Uses file:// URL for reliable resolution from the project's node_modules.
502
+ *
503
+ * Tailwind v4.3+ uses package.json `exports` map with no `main` or `index.js`,
504
+ * so `import(pathToFileURL(dir).href)` fails. We read the entry point from
505
+ * package.json and import the resolved file directly.
389
506
  */
390
507
  async tryImportV4(twPath) {
508
+ // Attempt 1: Read entry point from package.json exports, import directly.
509
+ // This handles Tailwind v4.3+ which has no index.js — only exports map.
510
+ const packageJsonPath = join(twPath, 'package.json');
511
+ if (existsSync(packageJsonPath)) {
512
+ try {
513
+ const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
514
+ // v4 uses exports map: { ".": { "import": "./dist/lib.mjs", "require": "./dist/lib.js" } }
515
+ const entry = pkg.exports?.['.']?.import
516
+ || pkg.module
517
+ || pkg.main
518
+ || 'index.js';
519
+ const resolvedPath = join(twPath, entry);
520
+ if (existsSync(resolvedPath)) {
521
+ return await import(pathToFileURL(resolvedPath).href);
522
+ }
523
+ }
524
+ catch {
525
+ // Falls through to next attempt
526
+ }
527
+ }
528
+ // Attempt 2: Use createRequire from the project root to resolve the bare specifier,
529
+ // then import the resolved path. This is more reliable than bare import() because
530
+ // it resolves from the audited project, not from code-auditor's execution path.
391
531
  try {
392
- // Try file:// URL first (reliable across platforms)
393
- const packageJsonPath = join(twPath, 'package.json');
394
- if (existsSync(packageJsonPath)) {
395
- return await import(pathToFileURL(twPath).href);
532
+ const projectRequire = createRequire(join(this.projectRoot, 'package.json'));
533
+ const resolved = projectRequire.resolve('tailwindcss');
534
+ if (existsSync(resolved)) {
535
+ return await import(pathToFileURL(resolved).href);
396
536
  }
397
537
  }
398
538
  catch {
399
- // Fall through
539
+ // Falls through to next attempt
400
540
  }
541
+ // Attempt 3: Last resort — bare specifier import. Only works when CWD is the
542
+ // audited project (e.g., CLI launched from the project directory).
401
543
  try {
402
- // Try importing by bare specifier from the project root context.
403
- // tailwindcss is a dependency of the project being audited, not of
404
- // code-auditor itself — ignore the TS resolution error.
405
544
  // @ts-expect-error — tailwindcss is resolved at runtime from the audited project
406
545
  return await import('tailwindcss');
407
546
  }
@@ -582,6 +721,8 @@ function addStaticCoreUtilities(classes) {
582
721
  'box-border', 'box-content',
583
722
  // ── Container ──
584
723
  'container',
724
+ // ── Variant markers (bare prefix-less utilities) ──
725
+ 'group', 'peer', 'dark',
585
726
  // ── Background ──
586
727
  'bg-auto', 'bg-cover', 'bg-contain',
587
728
  'bg-bottom', 'bg-center', 'bg-left', 'bg-left-bottom', 'bg-left-top',