@alexlit/lint-kit 182.2.0 → 182.4.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.
Files changed (410) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +4 -4
  3. package/packages/config-hooks/package.json +2 -2
  4. package/packages/config-markdownlint/package.json +2 -2
  5. package/packages/config-stylelint/package.json +3 -3
  6. package/packages/config-stylelint/node_modules/ansi-regex/index.d.ts +0 -33
  7. package/packages/config-stylelint/node_modules/ansi-regex/index.js +0 -14
  8. package/packages/config-stylelint/node_modules/ansi-regex/license +0 -9
  9. package/packages/config-stylelint/node_modules/ansi-regex/package.json +0 -61
  10. package/packages/config-stylelint/node_modules/ansi-regex/readme.md +0 -66
  11. package/packages/config-stylelint/node_modules/file-entry-cache/LICENSE +0 -19
  12. package/packages/config-stylelint/node_modules/file-entry-cache/README.md +0 -630
  13. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.cjs +0 -559
  14. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.cts +0 -304
  15. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.ts +0 -304
  16. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.js +0 -525
  17. package/packages/config-stylelint/node_modules/file-entry-cache/package.json +0 -62
  18. package/packages/config-stylelint/node_modules/flat-cache/LICENSE +0 -19
  19. package/packages/config-stylelint/node_modules/flat-cache/README.md +0 -235
  20. package/packages/config-stylelint/node_modules/flat-cache/dist/index.cjs +0 -495
  21. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.cts +0 -255
  22. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.ts +0 -255
  23. package/packages/config-stylelint/node_modules/flat-cache/dist/index.js +0 -455
  24. package/packages/config-stylelint/node_modules/flat-cache/package.json +0 -87
  25. package/packages/config-stylelint/node_modules/globby/ignore.js +0 -337
  26. package/packages/config-stylelint/node_modules/globby/index.d.ts +0 -394
  27. package/packages/config-stylelint/node_modules/globby/index.js +0 -488
  28. package/packages/config-stylelint/node_modules/globby/license +0 -9
  29. package/packages/config-stylelint/node_modules/globby/package.json +0 -94
  30. package/packages/config-stylelint/node_modules/globby/readme.md +0 -388
  31. package/packages/config-stylelint/node_modules/globby/utilities.js +0 -382
  32. package/packages/config-stylelint/node_modules/meow/build/dependencies.js +0 -7347
  33. package/packages/config-stylelint/node_modules/meow/build/index.d.ts +0 -2684
  34. package/packages/config-stylelint/node_modules/meow/build/index.js +0 -185
  35. package/packages/config-stylelint/node_modules/meow/build/licenses.md +0 -1254
  36. package/packages/config-stylelint/node_modules/meow/build/options.js +0 -147
  37. package/packages/config-stylelint/node_modules/meow/build/parser.js +0 -113
  38. package/packages/config-stylelint/node_modules/meow/build/utils.js +0 -7
  39. package/packages/config-stylelint/node_modules/meow/build/validate.js +0 -145
  40. package/packages/config-stylelint/node_modules/meow/license +0 -9
  41. package/packages/config-stylelint/node_modules/meow/package.json +0 -103
  42. package/packages/config-stylelint/node_modules/meow/readme.md +0 -387
  43. package/packages/config-stylelint/node_modules/postcss-safe-parser/LICENSE +0 -20
  44. package/packages/config-stylelint/node_modules/postcss-safe-parser/README.md +0 -25
  45. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parse.js +0 -12
  46. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parser.js +0 -100
  47. package/packages/config-stylelint/node_modules/postcss-safe-parser/package.json +0 -36
  48. package/packages/config-stylelint/node_modules/slash/index.d.ts +0 -23
  49. package/packages/config-stylelint/node_modules/slash/index.js +0 -9
  50. package/packages/config-stylelint/node_modules/slash/license +0 -9
  51. package/packages/config-stylelint/node_modules/slash/package.json +0 -39
  52. package/packages/config-stylelint/node_modules/slash/readme.md +0 -36
  53. package/packages/config-stylelint/node_modules/string-width/index.d.ts +0 -39
  54. package/packages/config-stylelint/node_modules/string-width/index.js +0 -119
  55. package/packages/config-stylelint/node_modules/string-width/license +0 -9
  56. package/packages/config-stylelint/node_modules/string-width/package.json +0 -65
  57. package/packages/config-stylelint/node_modules/string-width/readme.md +0 -66
  58. package/packages/config-stylelint/node_modules/strip-ansi/index.d.ts +0 -15
  59. package/packages/config-stylelint/node_modules/strip-ansi/index.js +0 -19
  60. package/packages/config-stylelint/node_modules/strip-ansi/license +0 -9
  61. package/packages/config-stylelint/node_modules/strip-ansi/package.json +0 -59
  62. package/packages/config-stylelint/node_modules/strip-ansi/readme.md +0 -37
  63. package/packages/config-stylelint/node_modules/stylelint/LICENSE +0 -20
  64. package/packages/config-stylelint/node_modules/stylelint/README.md +0 -113
  65. package/packages/config-stylelint/node_modules/stylelint/bin/stylelint.mjs +0 -7
  66. package/packages/config-stylelint/node_modules/stylelint/lib/assignDisabledRanges.mjs +0 -483
  67. package/packages/config-stylelint/node_modules/stylelint/lib/augmentConfig.mjs +0 -586
  68. package/packages/config-stylelint/node_modules/stylelint/lib/cli.mjs +0 -746
  69. package/packages/config-stylelint/node_modules/stylelint/lib/constants.mjs +0 -25
  70. package/packages/config-stylelint/node_modules/stylelint/lib/createPartialStylelintResult.mjs +0 -114
  71. package/packages/config-stylelint/node_modules/stylelint/lib/createPlugin.mjs +0 -9
  72. package/packages/config-stylelint/node_modules/stylelint/lib/createStylelint.mjs +0 -37
  73. package/packages/config-stylelint/node_modules/stylelint/lib/descriptionlessDisables.mjs +0 -51
  74. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/calcSeverityCounts.mjs +0 -21
  75. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/compactFormatter.mjs +0 -23
  76. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/index.mjs +0 -23
  77. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/jsonFormatter.mjs +0 -10
  78. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/preprocessWarnings.mjs +0 -74
  79. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/stringFormatter.mjs +0 -308
  80. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/tapFormatter.mjs +0 -85
  81. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/terminalLink.mjs +0 -21
  82. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/unixFormatter.mjs +0 -32
  83. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/verboseFormatter.mjs +0 -175
  84. package/packages/config-stylelint/node_modules/stylelint/lib/getConfigForFile.mjs +0 -110
  85. package/packages/config-stylelint/node_modules/stylelint/lib/getPostcssResult.mjs +0 -130
  86. package/packages/config-stylelint/node_modules/stylelint/lib/index.mjs +0 -38
  87. package/packages/config-stylelint/node_modules/stylelint/lib/invalidScopeDisables.mjs +0 -41
  88. package/packages/config-stylelint/node_modules/stylelint/lib/isPathIgnored.mjs +0 -48
  89. package/packages/config-stylelint/node_modules/stylelint/lib/lintPostcssResult.mjs +0 -172
  90. package/packages/config-stylelint/node_modules/stylelint/lib/lintSource.mjs +0 -135
  91. package/packages/config-stylelint/node_modules/stylelint/lib/needlessDisables.mjs +0 -91
  92. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeAllRuleSettings.mjs +0 -29
  93. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeRuleSettings.mjs +0 -56
  94. package/packages/config-stylelint/node_modules/stylelint/lib/postcssPlugin.mjs +0 -50
  95. package/packages/config-stylelint/node_modules/stylelint/lib/prepareReturnValue.mjs +0 -63
  96. package/packages/config-stylelint/node_modules/stylelint/lib/printConfig.mjs +0 -44
  97. package/packages/config-stylelint/node_modules/stylelint/lib/reference/atKeywords.mjs +0 -83
  98. package/packages/config-stylelint/node_modules/stylelint/lib/reference/functions.mjs +0 -96
  99. package/packages/config-stylelint/node_modules/stylelint/lib/reference/keywords.mjs +0 -663
  100. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaFeatures.mjs +0 -115
  101. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaTypes.mjs +0 -14
  102. package/packages/config-stylelint/node_modules/stylelint/lib/reference/prefixes.mjs +0 -17
  103. package/packages/config-stylelint/node_modules/stylelint/lib/reference/properties.mjs +0 -1112
  104. package/packages/config-stylelint/node_modules/stylelint/lib/reference/selectors.mjs +0 -472
  105. package/packages/config-stylelint/node_modules/stylelint/lib/reference/units.mjs +0 -82
  106. package/packages/config-stylelint/node_modules/stylelint/lib/reportDisables.mjs +0 -48
  107. package/packages/config-stylelint/node_modules/stylelint/lib/reportUnknownRuleNames.mjs +0 -76
  108. package/packages/config-stylelint/node_modules/stylelint/lib/resolveConfig.mjs +0 -43
  109. package/packages/config-stylelint/node_modules/stylelint/lib/rules/alpha-value-notation/index.mjs +0 -207
  110. package/packages/config-stylelint/node_modules/stylelint/lib/rules/annotation-no-unknown/index.mjs +0 -88
  111. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-allowed-list/index.mjs +0 -62
  112. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-no-unknown/index.mjs +0 -108
  113. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-value-no-unknown/index.mjs +0 -64
  114. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-disallowed-list/index.mjs +0 -62
  115. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-empty-line-before/index.mjs +0 -178
  116. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-deprecated/index.mjs +0 -86
  117. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-unknown/index.mjs +0 -80
  118. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-vendor-prefix/index.mjs +0 -82
  119. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-prelude-no-invalid/index.mjs +0 -76
  120. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-property-required-list/index.mjs +0 -92
  121. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-empty/index.mjs +0 -116
  122. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-redundant-nested-style-rules/index.mjs +0 -52
  123. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-alias-notation/index.mjs +0 -87
  124. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-notation/index.mjs +0 -168
  125. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-alpha/index.mjs +0 -75
  126. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-length/index.mjs +0 -128
  127. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/colordUtils.mjs +0 -109
  128. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/index.mjs +0 -183
  129. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-hex/index.mjs +0 -69
  130. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-invalid-hex/index.mjs +0 -68
  131. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-empty-line-before/index.mjs +0 -131
  132. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-no-empty/index.mjs +0 -50
  133. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-pattern/index.mjs +0 -51
  134. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-whitespace-inside/index.mjs +0 -149
  135. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-word-disallowed-list/index.mjs +0 -63
  136. package/packages/config-stylelint/node_modules/stylelint/lib/rules/container-name-pattern/index.mjs +0 -107
  137. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-media-pattern/index.mjs +0 -61
  138. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-empty-line-before/index.mjs +0 -156
  139. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-no-missing-var-function/index.mjs +0 -148
  140. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-pattern/index.mjs +0 -100
  141. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-custom-properties/index.mjs +0 -82
  142. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-properties/index.mjs +0 -301
  143. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-redundant-longhand-properties/index.mjs +0 -411
  144. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-shorthand-property-overrides/index.mjs +0 -74
  145. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-single-line-max-declarations/index.mjs +0 -62
  146. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-empty-line-before/index.mjs +0 -160
  147. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-no-important/index.mjs +0 -51
  148. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-max-values/index.mjs +0 -79
  149. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-allowed-list/index.mjs +0 -108
  150. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-disallowed-list/index.mjs +0 -94
  151. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-allowed-list/index.mjs +0 -66
  152. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-disallowed-list/index.mjs +0 -66
  153. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-keyword-no-deprecated/index.mjs +0 -203
  154. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-no-unknown/index.mjs +0 -424
  155. package/packages/config-stylelint/node_modules/stylelint/lib/rules/display-notation/index.mjs +0 -225
  156. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-name-quotes/index.mjs +0 -243
  157. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-duplicate-names/index.mjs +0 -122
  158. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-missing-generic-family-keyword/index.mjs +0 -122
  159. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-weight-notation/index.mjs +0 -221
  160. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-allowed-list/index.mjs +0 -114
  161. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-calc-no-unspaced-operator/index.mjs +0 -589
  162. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-disallowed-list/index.mjs +0 -73
  163. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-linear-gradient-no-nonstandard-direction/index.mjs +0 -145
  164. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-name-case/index.mjs +0 -120
  165. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-no-unknown/index.mjs +0 -83
  166. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-no-scheme-relative/index.mjs +0 -67
  167. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-quotes/index.mjs +0 -230
  168. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-allowed-list/index.mjs +0 -70
  169. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-disallowed-list/index.mjs +0 -70
  170. package/packages/config-stylelint/node_modules/stylelint/lib/rules/hue-degree-notation/index.mjs +0 -123
  171. package/packages/config-stylelint/node_modules/stylelint/lib/rules/import-notation/index.mjs +0 -104
  172. package/packages/config-stylelint/node_modules/stylelint/lib/rules/index.mjs +0 -180
  173. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-block-no-duplicate-selectors/index.mjs +0 -68
  174. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-declaration-no-important/index.mjs +0 -54
  175. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-selector-notation/index.mjs +0 -202
  176. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframes-name-pattern/index.mjs +0 -63
  177. package/packages/config-stylelint/node_modules/stylelint/lib/rules/layer-name-pattern/index.mjs +0 -91
  178. package/packages/config-stylelint/node_modules/stylelint/lib/rules/length-zero-no-unit/index.mjs +0 -221
  179. package/packages/config-stylelint/node_modules/stylelint/lib/rules/lightness-notation/index.mjs +0 -165
  180. package/packages/config-stylelint/node_modules/stylelint/lib/rules/max-nesting-depth/index.mjs +0 -195
  181. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-allowed-list/index.mjs +0 -67
  182. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-disallowed-list/index.mjs +0 -67
  183. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-unknown/index.mjs +0 -79
  184. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-vendor-prefix/index.mjs +0 -94
  185. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-unit-allowed-list/index.mjs +0 -110
  186. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-allowed-list/index.mjs +0 -100
  187. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-no-unknown/index.mjs +0 -277
  188. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-range-notation/index.mjs +0 -187
  189. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-query-no-invalid/index.mjs +0 -193
  190. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-type-no-deprecated/index.mjs +0 -82
  191. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/index.mjs +0 -117
  192. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/utils/findNotContiguousOrRectangular.mjs +0 -57
  193. package/packages/config-stylelint/node_modules/stylelint/lib/rules/nesting-selector-no-missing-scoping-root/index.mjs +0 -165
  194. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-descending-specificity/index.mjs +0 -200
  195. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-at-import-rules/index.mjs +0 -156
  196. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-selectors/index.mjs +0 -218
  197. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-empty-source/index.mjs +0 -61
  198. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-double-slash-comments/index.mjs +0 -77
  199. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-at-import-rule/index.mjs +0 -76
  200. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-declaration/index.mjs +0 -86
  201. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-irregular-whitespace/index.mjs +0 -236
  202. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-animations/index.mjs +0 -71
  203. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-media/index.mjs +0 -77
  204. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-properties/index.mjs +0 -72
  205. package/packages/config-stylelint/node_modules/stylelint/lib/rules/number-max-precision/index.mjs +0 -209
  206. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-allowed-list/index.mjs +0 -58
  207. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-disallowed-list/index.mjs +0 -58
  208. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-deprecated/index.mjs +0 -143
  209. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-unknown/index.mjs +0 -126
  210. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-vendor-prefix/index.mjs +0 -100
  211. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-empty-line-before/index.mjs +0 -156
  212. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-nesting-at-rule-required-list/index.mjs +0 -85
  213. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-selector-property-disallowed-list/index.mjs +0 -119
  214. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-anb-no-unmatchable/index.mjs +0 -121
  215. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-name-disallowed-list/index.mjs +0 -69
  216. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-allowed-list/index.mjs +0 -70
  217. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-disallowed-list/index.mjs +0 -70
  218. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-quotes/index.mjs +0 -107
  219. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-class-pattern/index.mjs +0 -71
  220. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-allowed-list/index.mjs +0 -81
  221. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-disallowed-list/index.mjs +0 -81
  222. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-disallowed-list/index.mjs +0 -115
  223. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-id-pattern/index.mjs +0 -66
  224. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-attribute/index.mjs +0 -92
  225. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-class/index.mjs +0 -75
  226. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-combinators/index.mjs +0 -77
  227. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-compound-selectors/index.mjs +0 -123
  228. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-id/index.mjs +0 -107
  229. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-pseudo-class/index.mjs +0 -85
  230. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-specificity/index.mjs +0 -146
  231. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-type/index.mjs +0 -219
  232. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-universal/index.mjs +0 -95
  233. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-nested-pattern/index.mjs +0 -95
  234. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-qualifying-type/index.mjs +0 -323
  235. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-vendor-prefix/index.mjs +0 -92
  236. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-not-notation/index.mjs +0 -217
  237. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-allowed-list/index.mjs +0 -84
  238. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-disallowed-list/index.mjs +0 -84
  239. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-no-unknown/index.mjs +0 -179
  240. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-allowed-list/index.mjs +0 -75
  241. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-colon-notation/index.mjs +0 -93
  242. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-disallowed-list/index.mjs +0 -74
  243. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-no-unknown/index.mjs +0 -91
  244. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-case/index.mjs +0 -118
  245. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-no-unknown/index.mjs +0 -148
  246. package/packages/config-stylelint/node_modules/stylelint/lib/rules/shorthand-property-no-redundant-values/index.mjs +0 -359
  247. package/packages/config-stylelint/node_modules/stylelint/lib/rules/string-no-newline/index.mjs +0 -120
  248. package/packages/config-stylelint/node_modules/stylelint/lib/rules/syntax-string-no-invalid/index.mjs +0 -80
  249. package/packages/config-stylelint/node_modules/stylelint/lib/rules/time-min-milliseconds/index.mjs +0 -167
  250. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-allowed-list/index.mjs +0 -116
  251. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-disallowed-list/index.mjs +0 -211
  252. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-no-unknown/index.mjs +0 -207
  253. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-keyword-case/index.mjs +0 -253
  254. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-no-vendor-prefix/index.mjs +0 -92
  255. package/packages/config-stylelint/node_modules/stylelint/lib/standalone.mjs +0 -381
  256. package/packages/config-stylelint/node_modules/stylelint/lib/timing.mjs +0 -134
  257. package/packages/config-stylelint/node_modules/stylelint/lib/unscopedDisables.mjs +0 -66
  258. package/packages/config-stylelint/node_modules/stylelint/lib/utils/FileCache.mjs +0 -115
  259. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addEmptyLineBefore.mjs +0 -21
  260. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addSemicolonForEditInfo.mjs +0 -35
  261. package/packages/config-stylelint/node_modules/stylelint/lib/utils/appendRuleName.mjs +0 -13
  262. package/packages/config-stylelint/node_modules/stylelint/lib/utils/arrayEqual.mjs +0 -14
  263. package/packages/config-stylelint/node_modules/stylelint/lib/utils/beforeBlockString.mjs +0 -28
  264. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blockString.mjs +0 -19
  265. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blurInterpolation.mjs +0 -8
  266. package/packages/config-stylelint/node_modules/stylelint/lib/utils/cachedImport.mjs +0 -68
  267. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkAgainstRule.mjs +0 -71
  268. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkInvalidCLIOptions.mjs +0 -105
  269. package/packages/config-stylelint/node_modules/stylelint/lib/utils/configurationComment.mjs +0 -74
  270. package/packages/config-stylelint/node_modules/stylelint/lib/utils/containsString.mjs +0 -52
  271. package/packages/config-stylelint/node_modules/stylelint/lib/utils/createMapWithSet.mjs +0 -19
  272. package/packages/config-stylelint/node_modules/stylelint/lib/utils/dynamicImport.mjs +0 -13
  273. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachDeclarationBlock.mjs +0 -59
  274. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachNodeUpToRoot.mjs +0 -22
  275. package/packages/config-stylelint/node_modules/stylelint/lib/utils/emitWarning.mjs +0 -83
  276. package/packages/config-stylelint/node_modules/stylelint/lib/utils/errors.mjs +0 -55
  277. package/packages/config-stylelint/node_modules/stylelint/lib/utils/filterFilePaths.mjs +0 -17
  278. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAnimationName.mjs +0 -74
  279. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAtRuleContext.mjs +0 -27
  280. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findFontFamily.mjs +0 -148
  281. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findMediaFeatureNames.mjs +0 -151
  282. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findNodeUpToRoot.mjs +0 -25
  283. package/packages/config-stylelint/node_modules/stylelint/lib/utils/fixEmptyLinesBefore.mjs +0 -26
  284. package/packages/config-stylelint/node_modules/stylelint/lib/utils/functionArgumentsSearch.mjs +0 -64
  285. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getAtRuleParams.mjs +0 -7
  286. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDeclarationValue.mjs +0 -9
  287. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDimension.mjs +0 -62
  288. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFileIgnorer.mjs +0 -41
  289. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatter.mjs +0 -43
  290. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatterOptionsText.mjs +0 -12
  291. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getImportantPosition.mjs +0 -15
  292. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getLexer.mjs +0 -39
  293. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getModulePath.mjs +0 -35
  294. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getNextNonSharedLineCommentNode.mjs +0 -34
  295. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getPreviousNonSharedLineCommentNode.mjs +0 -36
  296. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRelativePath.mjs +0 -12
  297. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRuleSelector.mjs +0 -9
  298. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSchemeFromUrl.mjs +0 -36
  299. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSelectorSourceIndex.mjs +0 -12
  300. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStrippedSelectorSource.mjs +0 -47
  301. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStylelintRule.mjs +0 -22
  302. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasBlock.mjs +0 -9
  303. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasEmptyLine.mjs +0 -13
  304. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasInterpolation.mjs +0 -24
  305. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasLessInterpolation.mjs +0 -11
  306. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasPsvInterpolation.mjs +0 -11
  307. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasScssInterpolation.mjs +0 -11
  308. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasTplInterpolation.mjs +0 -11
  309. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hash.mjs +0 -10
  310. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterBlock.mjs +0 -15
  311. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterComment.mjs +0 -15
  312. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterSingleLineComment.mjs +0 -19
  313. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterStandardPropertyDeclaration.mjs +0 -19
  314. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAutoprefixable.mjs +0 -364
  315. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterBlocklessAtRule.mjs +0 -21
  316. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule.mjs +0 -21
  317. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isContextFunctionalPseudoClass.mjs +0 -24
  318. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterIncrementCustomIdentValue.mjs +0 -19
  319. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterResetCustomIdentValue.mjs +0 -19
  320. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomElement.mjs +0 -34
  321. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomFunction.mjs +0 -9
  322. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomMediaQuery.mjs +0 -8
  323. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomProperty.mjs +0 -8
  324. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomSelector.mjs +0 -9
  325. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isDescriptorDeclaration.mjs +0 -22
  326. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNested.mjs +0 -83
  327. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNodeOfRoot.mjs +0 -17
  328. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isHexColor.mjs +0 -9
  329. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isInDocument.mjs +0 -32
  330. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeRule.mjs +0 -17
  331. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeSelector.mjs +0 -29
  332. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isMathFunction.mjs +0 -11
  333. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNonNegativeInteger.mjs +0 -6
  334. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNumbery.mjs +0 -9
  335. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isOnlyWhitespace.mjs +0 -17
  336. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isPathNotFoundError.mjs +0 -9
  337. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isScssVariable.mjs +0 -19
  338. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSharedLineComment.mjs +0 -53
  339. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSingleLineString.mjs +0 -10
  340. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxAtRule.mjs +0 -32
  341. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxColorFunction.mjs +0 -24
  342. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxCombinator.mjs +0 -32
  343. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxComment.mjs +0 -13
  344. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxDeclaration.mjs +0 -57
  345. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxFunction.mjs +0 -28
  346. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxHexColor.mjs +0 -14
  347. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxKeyframesName.mjs +0 -15
  348. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxProperty.mjs +0 -32
  349. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxRule.mjs +0 -24
  350. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxSelector.mjs +0 -56
  351. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxTypeSelector.mjs +0 -56
  352. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxUrl.mjs +0 -49
  353. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxValue.mjs +0 -51
  354. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeRangeDescriptor.mjs +0 -24
  355. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeSupported.mjs +0 -26
  356. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUrlFunction.mjs +0 -9
  357. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidFontSize.mjs +0 -38
  358. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidHex.mjs +0 -11
  359. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidIdentifier.mjs +0 -39
  360. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVarFunction.mjs +0 -9
  361. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVariable.mjs +0 -9
  362. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isWhitespace.mjs +0 -9
  363. package/packages/config-stylelint/node_modules/stylelint/lib/utils/matchesStringOrRegExp.mjs +0 -97
  364. package/packages/config-stylelint/node_modules/stylelint/lib/utils/mergeSyntaxDefinitions.mjs +0 -137
  365. package/packages/config-stylelint/node_modules/stylelint/lib/utils/narrowFixRange.mjs +0 -68
  366. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeContextLookup.mjs +0 -41
  367. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeFieldIndices.mjs +0 -119
  368. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFilePath.mjs +0 -26
  369. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFixMode.mjs +0 -22
  370. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeSelector.mjs +0 -166
  371. package/packages/config-stylelint/node_modules/stylelint/lib/utils/optionsMatches.mjs +0 -20
  372. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseCustomMediaQuery.mjs +0 -15
  373. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseMediaQuery.mjs +0 -15
  374. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseSelector.mjs +0 -19
  375. package/packages/config-stylelint/node_modules/stylelint/lib/utils/pathExists.mjs +0 -16
  376. package/packages/config-stylelint/node_modules/stylelint/lib/utils/pluralize.mjs +0 -10
  377. package/packages/config-stylelint/node_modules/stylelint/lib/utils/putIfAbsent.mjs +0 -20
  378. package/packages/config-stylelint/node_modules/stylelint/lib/utils/rangesOverlap.mjs +0 -19
  379. package/packages/config-stylelint/node_modules/stylelint/lib/utils/rawNodeString.mjs +0 -29
  380. package/packages/config-stylelint/node_modules/stylelint/lib/utils/regexes.mjs +0 -135
  381. package/packages/config-stylelint/node_modules/stylelint/lib/utils/removeEmptyLinesBefore.mjs +0 -13
  382. package/packages/config-stylelint/node_modules/stylelint/lib/utils/report.mjs +0 -321
  383. package/packages/config-stylelint/node_modules/stylelint/lib/utils/reportCommentProblem.mjs +0 -39
  384. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveFilePath.mjs +0 -38
  385. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveNestedSelectorsForRule.mjs +0 -108
  386. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveOptionValue.mjs +0 -30
  387. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveSilent.mjs +0 -144
  388. package/packages/config-stylelint/node_modules/stylelint/lib/utils/ruleMessages.mjs +0 -18
  389. package/packages/config-stylelint/node_modules/stylelint/lib/utils/setAtRuleParams.mjs +0 -18
  390. package/packages/config-stylelint/node_modules/stylelint/lib/utils/setDeclarationValue.mjs +0 -18
  391. package/packages/config-stylelint/node_modules/stylelint/lib/utils/suppressionsService.mjs +0 -317
  392. package/packages/config-stylelint/node_modules/stylelint/lib/utils/toPath.mjs +0 -23
  393. package/packages/config-stylelint/node_modules/stylelint/lib/utils/typeGuards.mjs +0 -90
  394. package/packages/config-stylelint/node_modules/stylelint/lib/utils/uniteSets.mjs +0 -9
  395. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateObjectWithArrayProps.mjs +0 -29
  396. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateObjectWithProps.mjs +0 -28
  397. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateOptions.mjs +0 -176
  398. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateTypes.mjs +0 -148
  399. package/packages/config-stylelint/node_modules/stylelint/lib/utils/vendor.mjs +0 -43
  400. package/packages/config-stylelint/node_modules/stylelint/lib/validateDisableSettings.mjs +0 -67
  401. package/packages/config-stylelint/node_modules/stylelint/lib/writeOutputFile.mjs +0 -15
  402. package/packages/config-stylelint/node_modules/stylelint/package.json +0 -212
  403. package/packages/config-stylelint/node_modules/stylelint/types/stylelint/index.d.ts +0 -1590
  404. package/packages/config-stylelint/node_modules/unicorn-magic/default.d.ts +0 -13
  405. package/packages/config-stylelint/node_modules/unicorn-magic/default.js +0 -14
  406. package/packages/config-stylelint/node_modules/unicorn-magic/license +0 -9
  407. package/packages/config-stylelint/node_modules/unicorn-magic/node.d.ts +0 -125
  408. package/packages/config-stylelint/node_modules/unicorn-magic/node.js +0 -49
  409. package/packages/config-stylelint/node_modules/unicorn-magic/package.json +0 -68
  410. package/packages/config-stylelint/node_modules/unicorn-magic/readme.md +0 -31
@@ -1,630 +0,0 @@
1
- [<img align="center" src="https://cacheable.org/symbol.svg" alt="Cacheable" />](https://github.com/jaredwray/cacheable)
2
-
3
- # file-entry-cache
4
- > A lightweight cache for file metadata, ideal for processes that work on a specific set of files and only need to reprocess files that have changed since the last run
5
-
6
- [![codecov](https://codecov.io/gh/jaredwray/cacheable/graph/badge.svg?token=lWZ9OBQ7GM)](https://codecov.io/gh/jaredwray/cacheable)
7
- [![tests](https://github.com/jaredwray/cacheable/actions/workflows/tests.yml/badge.svg)](https://github.com/jaredwray/cacheable/actions/workflows/tests.yml)
8
- [![npm](https://img.shields.io/npm/dm/file-entry-cache.svg)](https://www.npmjs.com/package/file-entry-cache)
9
- [![npm](https://img.shields.io/npm/v/file-entry-cache)](https://www.npmjs.com/package/file-entry-cache)
10
- [![license](https://img.shields.io/github/license/jaredwray/cacheable)](https://github.com/jaredwray/cacheable/blob/main/LICENSE)
11
-
12
- # Features
13
-
14
- - Lightweight cache for file metadata
15
- - Ideal for processes that work on a specific set of files
16
- - Persists cache to Disk via `reconcile()` or `persistInterval` on `cache` options.
17
- - Uses `checksum` to determine if a file has changed
18
- - Supports `relative` and `absolute` paths with configurable current working directory
19
- - Portable cache files when using relative paths
20
- - ESM and CommonJS support with Typescript
21
-
22
- # Table of Contents
23
-
24
- - [Installation](#installation)
25
- - [Getting Started](#getting-started)
26
- - [Changes from v10 to v11](#changes-from-v10-to-v11)
27
- - [Changes from v9 to v10](#changes-from-v9-to-v10)
28
- - [Global Default Functions](#global-default-functions)
29
- - [FileEntryCache Options (FileEntryCacheOptions)](#fileentrycache-options-fileentrycacheoptions)
30
- - [API](#api)
31
- - [Get File Descriptor](#get-file-descriptor)
32
- - [Path Handling and Current Working Directory](#path-handling-and-current-working-directory)
33
- - [Cache Portability](#cache-portability)
34
- - [Maximum Portability with Checksums](#maximum-portability-with-checksums)
35
- - [Handling Project Relocations](#handling-project-relocations)
36
- - [Path Security and Traversal Prevention](#path-security-and-traversal-prevention)
37
- - [Using Checksums to Determine if a File has Changed (useCheckSum)](#using-checksums-to-determine-if-a-file-has-changed-usechecksum)
38
- - [Setting Additional Meta Data](#setting-additional-meta-data)
39
- - [Logger Support](#logger-support)
40
- - [Logger Interface](#logger-interface)
41
- - [Using Pino Logger](#using-pino-logger)
42
- - [Log Levels](#log-levels)
43
- - [Example with Custom Log Levels](#example-with-custom-log-levels)
44
- - [Debugging Cache Operations](#debugging-cache-operations)
45
- - [How to Contribute](#how-to-contribute)
46
- - [License and Copyright](#license-and-copyright)
47
-
48
- # Installation
49
- ```bash
50
- npm install file-entry-cache
51
- ```
52
-
53
- # Getting Started
54
-
55
- ```javascript
56
- import fileEntryCache from 'file-entry-cache';
57
- const cache = fileEntryCache.create('cache1');
58
-
59
- // Using relative paths
60
- let fileDescriptor = cache.getFileDescriptor('./src/file.txt');
61
- console.log(fileDescriptor.changed); // true as it is the first time
62
- console.log(fileDescriptor.key); // './src/file.txt' (stored as provided)
63
-
64
- fileDescriptor = cache.getFileDescriptor('./src/file.txt');
65
- console.log(fileDescriptor.changed); // false as it has not changed
66
-
67
- // do something to change the file
68
- fs.writeFileSync('./src/file.txt', 'new data foo bar');
69
-
70
- // check if the file has changed
71
- fileDescriptor = cache.getFileDescriptor('./src/file.txt');
72
- console.log(fileDescriptor.changed); // true
73
- ```
74
-
75
- Using `create()` with options for more control:
76
- ```javascript
77
- import fileEntryCache from 'file-entry-cache';
78
-
79
- // Create cache with options
80
- const cache = fileEntryCache.create('myCache', './.cache', {
81
- useCheckSum: true, // Use checksums for more reliable change detection
82
- cwd: '/path/to/project', // Custom working directory
83
- restrictAccessToCwd: false, // Allow access outside cwd (use with caution)
84
- useAbsolutePathAsKey: false // Store relative paths in cache
85
- });
86
-
87
- let fileDescriptor = cache.getFileDescriptor('./src/file.txt');
88
- console.log(fileDescriptor.changed); // true
89
- console.log(fileDescriptor.meta.hash); // checksum hash
90
- ```
91
-
92
- Save it to Disk and Reconcile files that are no longer found
93
- ```javascript
94
- import fileEntryCache from 'file-entry-cache';
95
- const cache = fileEntryCache.create('cache1');
96
- let fileDescriptor = cache.getFileDescriptor('./src/file.txt');
97
- console.log(fileDescriptor.changed); // true as it is the first time
98
- cache.reconcile(); // save the cache to disk and remove files that are no longer found
99
- ```
100
-
101
- Load the cache from a file:
102
-
103
- ```javascript
104
- import fileEntryCache from 'file-entry-cache';
105
-
106
- // Basic usage
107
- const cache = fileEntryCache.createFromFile('/path/to/cache/file');
108
- let fileDescriptor = cache.getFileDescriptor('./src/file.txt');
109
- console.log(fileDescriptor.changed); // false as it has not changed from the saved cache.
110
-
111
- // With options
112
- const cache2 = fileEntryCache.createFromFile('/path/to/cache/file', {
113
- useCheckSum: true,
114
- cwd: '/path/to/project'
115
- });
116
- ```
117
-
118
-
119
- # Changes from v10 to v11
120
-
121
- **BREAKING CHANGES:**
122
-
123
- - **`create()` and `createFromFile()` now use `CreateOptions` object** - The function signatures have changed to accept an options object instead of individual parameters for better extensibility and clarity.
124
-
125
- **Old API (v10):**
126
- ```javascript
127
- // v10 - positional parameters
128
- const cache = fileEntryCache.create(cacheId, cacheDirectory, useCheckSum, cwd);
129
- const cache2 = fileEntryCache.createFromFile(filePath, useCheckSum, cwd);
130
- ```
131
-
132
- **New API (v11):**
133
- ```javascript
134
- // v11 - options object
135
- const cache = fileEntryCache.create(cacheId, cacheDirectory, {
136
- useCheckSum: true,
137
- cwd: '/path/to/project',
138
- restrictAccessToCwd: false
139
- });
140
-
141
- const cache2 = fileEntryCache.createFromFile(filePath, {
142
- useCheckSum: true,
143
- cwd: '/path/to/project',
144
- restrictAccessToCwd: false
145
- });
146
- ```
147
-
148
- - **Renamed `strictPaths` to `restrictAccessToCwd`** - For better clarity and self-documentation, the option that restricts file access to the current working directory has been renamed.
149
-
150
- **Migration:**
151
- ```javascript
152
- // Old
153
- const cache = new FileEntryCache({ strictPaths: true });
154
- cache.strictPaths = false;
155
-
156
- // New
157
- const cache = new FileEntryCache({ restrictAccessToCwd: true });
158
- cache.restrictAccessToCwd = false;
159
- ```
160
-
161
- - **Renamed `currentWorkingDirectory` to `cwd`** - For consistency with common conventions and brevity, the property has been renamed to `cwd`.
162
-
163
- **Migration:**
164
- ```javascript
165
- // Old
166
- const cache = new FileEntryCache({ currentWorkingDirectory: '/path/to/project' });
167
- cache.currentWorkingDirectory = '/new/path';
168
-
169
- // New
170
- const cache = new FileEntryCache({ cwd: '/path/to/project' });
171
- cache.cwd = '/new/path';
172
- ```
173
-
174
- **NEW FEATURES:**
175
- - **Added `cwd` option** - You can now specify a custom current working directory for resolving relative paths
176
- - **Added `restrictAccessToCwd` option** - Provides protection against path traversal attacks (disabled by default for backwards compatibility)
177
- - **Added `useAbsolutePathAsKey` option** - When `true`, cache keys use absolute paths instead of the provided paths. Default is `false` for better cache portability with relative paths
178
- - **Added `logger` option** - Support for Pino-compatible logger instances to enable debugging and monitoring of cache operations. See [Logger Support](#logger-support) section for details
179
- - **Improved cache portability** - When using relative paths with the same `cwd`, cache files are portable across different environments
180
-
181
- # Changes from v9 to v10
182
-
183
- There have been many features added and changes made to the `file-entry-cache` class. Here are the main changes:
184
- - Added `cache` object to the options to allow for more control over the cache
185
- - Added `hashAlgorithm` to the options to allow for different checksum algorithms. Note that if you load from file it most likely will break if the value was something before.
186
- - Migrated to Typescript with ESM and CommonJS support. This allows for better type checking and support for both ESM and CommonJS.
187
- - Once options are passed in they get assigned as properties such as `hashAlgorithm`. For the Cache options they are assigned to `cache` such as `cache.ttl` and `cache.lruSize`.
188
- - Added `cache.persistInterval` to allow for saving the cache to disk at a specific interval. This will save the cache to disk at the interval specified instead of calling `reconsile()` to save. (`off` by default)
189
- - Added `getFileDescriptorsByPath(filePath: string): FileEntryDescriptor[]` to get all the file descriptors that start with the path specified. This is useful when you want to get all the files in a directory or a specific path.
190
- - Using `flat-cache` v6 which is a major update. This allows for better performance and more control over the cache.
191
- - On `FileEntryDescriptor.meta` if using typescript you need to use the `meta.data` to set additional information. This is to allow for better type checking and to avoid conflicts with the `meta` object which was `any`.
192
-
193
- # Global Default Functions
194
- - `create(cacheId: string, cacheDirectory?: string, options?: CreateOptions)` - Creates a new instance of the `FileEntryCache` class
195
- - `createFromFile(filePath: string, options?: CreateOptions)` - Creates a new instance of the `FileEntryCache` class and loads the cache from a file.
196
-
197
- ## CreateOptions Type
198
- All options from `FileEntryCacheOptions` except `cache`:
199
- - `useCheckSum?` - If `true` it will use a checksum to determine if the file has changed. Default is `false`
200
- - `hashAlgorithm?` - The algorithm to use for the checksum. Default is `md5`
201
- - `cwd?` - The current working directory for resolving relative paths. Default is `process.cwd()`
202
- - `restrictAccessToCwd?` - If `true` restricts file access to within `cwd` boundaries. Default is `false`
203
- - `useAbsolutePathAsKey?` - If `true` uses absolute paths as cache keys. Default is `false`
204
- - `logger?` - A logger instance for debugging. Default is `undefined`
205
-
206
- # FileEntryCache Options (FileEntryCacheOptions)
207
- - `useModifiedTime?` - If `true` it will use the modified time to determine if the file has changed. Default is `true`
208
- - `useCheckSum?` - If `true` it will use a checksum to determine if the file has changed. Default is `false`
209
- - `hashAlgorithm?` - The algorithm to use for the checksum. Default is `md5` but can be any algorithm supported by `crypto.createHash`
210
- - `cwd?` - The current working directory for resolving relative paths. Default is `process.cwd()`
211
- - `restrictAccessToCwd?` - If `true` restricts file access to within `cwd` boundaries, preventing path traversal attacks. Default is `true`
212
- - `logger?` - A logger instance compatible with Pino logger interface for debugging and monitoring. Default is `undefined`
213
- - `cache.ttl?` - The time to live for the cache in milliseconds. Default is `0` which means no expiration
214
- - `cache.lruSize?` - The number of items to keep in the cache. Default is `0` which means no limit
215
- - `cache.useClone?` - If `true` it will clone the data before returning it. Default is `false`
216
- - `cache.expirationInterval?` - The interval to check for expired items in the cache. Default is `0` which means no expiration
217
- - `cache.persistInterval?` - The interval to save the data to disk. Default is `0` which means no persistence
218
- - `cache.cacheDir?` - The directory to save the cache files. Default is `./cache`
219
- - `cache.cacheId?` - The id of the cache. Default is `cache1`
220
- - `cache.parse?` - The function to parse the data. Default is `flatted.parse`
221
- - `cache.stringify?` - The function to stringify the data. Default is `flatted.stringify`
222
-
223
- # API
224
-
225
- - `constructor(options?: FileEntryCacheOptions)` - Creates a new instance of the `FileEntryCache` class
226
- - `useCheckSum: boolean` - If `true` it will use a checksum to determine if the file has changed. Default is `false`
227
- - `hashAlgorithm: string` - The algorithm to use for the checksum. Default is `md5` but can be any algorithm supported by `crypto.createHash`
228
- - `getHash(buffer: Buffer): string` - Gets the hash of a buffer used for checksums
229
- - `cwd: string` - The current working directory for resolving relative paths. Default is `process.cwd()`
230
- - `restrictAccessToCwd: boolean` - If `true` restricts file access to within `cwd` boundaries. Default is `true`
231
- - `useAbsolutePathAsKey: boolean` - If `true` uses absolute paths as cache keys. Default is `false` to maintain better cache portability
232
- - `logger: ILogger | undefined` - A logger instance for debugging and monitoring cache operations
233
- - `createFileKey(filePath: string): string` - Returns the cache key for the file path (returns the path exactly as provided when `useAbsolutePathAsKey` is `false`, otherwise returns the absolute path).
234
- - `deleteCacheFile(): boolean` - Deletes the cache file from disk
235
- - `destroy(): void` - Destroys the cache. This will clear the cache in memory. If using cache persistence it will stop the interval.
236
- - `removeEntry(filePath: string): void` - Removes an entry from the cache.
237
- - `reconcile(): void` - Saves the cache to disk and removes any files that are no longer found.
238
- - `hasFileChanged(filePath: string): boolean` - Checks if the file has changed. This will return `true` if the file has changed.
239
- - `getFileDescriptor(filePath: string, options?: { useModifiedTime?: boolean, useCheckSum?: boolean }): FileEntryDescriptor` - Gets the file descriptor for the file. Please refer to the entire section on `Get File Descriptor` for more information.
240
- - `normalizeEntries(files?: string[]): FileDescriptor[]` - Normalizes the entries. If no files are provided, it will return all cached entries.
241
- - `analyzeFiles(files: string[])` will return `AnalyzedFiles` object with `changedFiles`, `notFoundFiles`, and `notChangedFiles` as FileDescriptor arrays.
242
- - `getUpdatedFiles(files: string[])` will return an array of `FileEntryDescriptor` objects that have changed.
243
- - `getFileDescriptorsByPath(filePath: string): FileEntryDescriptor[]` will return an array of `FileEntryDescriptor` objects that starts with the path prefix specified.
244
- - `getAbsolutePath(filePath: string): string` - Resolves a relative path to absolute using the configured `cwd`. Returns absolute paths unchanged. When `restrictAccessToCwd` is enabled, throws an error if the path resolves outside `cwd`.
245
- - `getAbsolutePathWithCwd(filePath: string, cwd: string): string` - Resolves a relative path to absolute using a custom working directory. When `restrictAccessToCwd` is enabled, throws an error if the path resolves outside the provided `cwd`.
246
-
247
- # Get File Descriptor
248
-
249
- The `getFileDescriptor(filePath: string, options?: { useCheckSum?: boolean, useModifiedTime?: boolean }): FileEntryDescriptor` function is used to get the file descriptor for the file. This function will return a `FileEntryDescriptor` object that has the following properties:
250
-
251
- - `key: string` - The cache key for the file. This is exactly the path that was provided (relative or absolute).
252
- - `changed: boolean` - If the file has changed since the last time it was analyzed.
253
- - `notFound: boolean` - If the file was not found.
254
- - `meta: FileEntryMeta` - The meta data for the file. This has the following properties: `size`, `mtime`, `hash`, `data`. Note that `data` is an object that can be used to store additional information.
255
- - `err` - If there was an error analyzing the file.
256
-
257
- ## Path Handling and Current Working Directory
258
-
259
- The cache stores paths exactly as they are provided (relative or absolute). When checking if files have changed, relative paths are resolved using the configured `cwd` (current working directory):
260
-
261
- ```javascript
262
- // Default: uses process.cwd()
263
- const cache1 = fileEntryCache.create('cache1');
264
-
265
- // Custom working directory using options object
266
- const cache2 = fileEntryCache.create('cache2', './cache', {
267
- cwd: '/project/root'
268
- });
269
-
270
- // Or using the class constructor directly
271
- const cache3 = new FileEntryCache({ cwd: '/project/root' });
272
-
273
- // The cache key is always the provided path
274
- const descriptor = cache2.getFileDescriptor('./src/file.txt');
275
- console.log(descriptor.key); // './src/file.txt'
276
- // But file operations resolve from: '/project/root/src/file.txt'
277
- ```
278
-
279
- ### Cache Portability
280
-
281
- Using relative paths with a consistent `cwd` (defaults to `process.cwd()`) makes cache files portable across different machines and environments. This is especially useful for CI/CD pipelines and team development.
282
-
283
- ```javascript
284
- // On machine A (project at /home/user/project)
285
- const cacheA = fileEntryCache.create('build-cache', './cache', {
286
- cwd: '/home/user/project'
287
- });
288
- cacheA.getFileDescriptor('./src/index.js'); // Resolves to /home/user/project/src/index.js
289
- cacheA.reconcile();
290
-
291
- // On machine B (project at /workspace/project)
292
- const cacheB = fileEntryCache.create('build-cache', './cache', {
293
- cwd: '/workspace/project'
294
- });
295
- cacheB.getFileDescriptor('./src/index.js'); // Resolves to /workspace/project/src/index.js
296
- // Cache hit! File hasn't changed since machine A
297
- ```
298
-
299
- ### Maximum Portability with Checksums
300
-
301
- For maximum cache portability across different environments, use checksums (`useCheckSum: true`) along with relative paths and `cwd` which defaults to `process.cwd()`. This ensures that cache validity is determined by file content rather than modification times, which can vary across systems:
302
-
303
- ```javascript
304
- // Development machine
305
- const devCache = fileEntryCache.create('.buildcache', './cache', {
306
- useCheckSum: true // Use checksums for content-based comparison
307
- });
308
-
309
- // Process files using relative paths
310
- const descriptor = devCache.getFileDescriptor('./src/index.js');
311
- if (descriptor.changed) {
312
- console.log('Building ./src/index.js...');
313
- // Build process here
314
- }
315
- devCache.reconcile(); // Save cache
316
-
317
- // CI/CD Pipeline or another developer's machine
318
- const ciCache = fileEntryCache.create('.buildcache', './node_modules/.cache', {
319
- useCheckSum: true, // Same checksum setting
320
- cwd: process.cwd() // Different absolute path, same relative structure
321
- });
322
-
323
- // Same relative path works across environments
324
- const descriptor2 = ciCache.getFileDescriptor('./src/index.js');
325
- if (!descriptor2.changed) {
326
- console.log('Using cached result for ./src/index.js');
327
- // Skip rebuild - file content unchanged
328
- }
329
- ```
330
-
331
- ### Handling Project Relocations
332
-
333
- Cache remains valid even when projects are moved or renamed:
334
-
335
- ```javascript
336
- // Original location: /projects/my-app
337
- const cache1 = fileEntryCache.create('.cache', './cache', {
338
- useCheckSum: true,
339
- cwd: '/projects/my-app'
340
- });
341
- cache1.getFileDescriptor('./src/app.js');
342
- cache1.reconcile();
343
-
344
- // After moving project to: /archived/2024/my-app
345
- const cache2 = fileEntryCache.create('.cache', './cache', {
346
- useCheckSum: true,
347
- cwd: '/archived/2024/my-app'
348
- });
349
- cache2.getFileDescriptor('./src/app.js'); // Still finds cached entry!
350
- // Cache valid as long as relative structure unchanged
351
- ```
352
-
353
- If there is an error when trying to get the file descriptor it will return a `notFound` and `err` property with the error.
354
-
355
- ```javascript
356
- const fileEntryCache = new FileEntryCache();
357
- const fileDescriptor = fileEntryCache.getFileDescriptor('no-file');
358
- if (fileDescriptor.err) {
359
- console.error(fileDescriptor.err);
360
- }
361
-
362
- if (fileDescriptor.notFound) {
363
- console.error('File not found');
364
- }
365
- ```
366
-
367
- # Path Security and Traversal Prevention
368
-
369
- The `restrictAccessToCwd` option provides security against path traversal attacks by restricting file access to within the configured `cwd` boundaries. **This is enabled by default (since v11)** to ensure secure defaults when processing untrusted input or when running in security-sensitive environments.
370
-
371
- ## Basic Usage
372
-
373
- ```javascript
374
- // restrictAccessToCwd is enabled by default for security
375
- const cache = new FileEntryCache({
376
- cwd: '/project/root'
377
- });
378
-
379
- // This will work - file is within cwd
380
- const descriptor = cache.getFileDescriptor('./src/index.js');
381
-
382
- // This will throw an error - attempts to access parent directory
383
- try {
384
- cache.getFileDescriptor('../../../etc/passwd');
385
- } catch (error) {
386
- console.error(error); // Path traversal attempt blocked
387
- }
388
-
389
- // To allow parent directory access (not recommended for untrusted input)
390
- const unsafeCache = new FileEntryCache({
391
- cwd: '/project/root',
392
- restrictAccessToCwd: false // Explicitly disable protection
393
- });
394
- ```
395
-
396
- ## Security Features
397
-
398
- When `restrictAccessToCwd` is enabled:
399
- - **Path Traversal Prevention**: Blocks attempts to access files outside the working directory using `../` sequences
400
- - **Null Byte Protection**: Automatically removes null bytes from paths to prevent injection attacks
401
- - **Path Normalization**: Cleans and normalizes paths to prevent bypass attempts
402
-
403
- ## Use Cases
404
-
405
- ### Build Tools with Untrusted Input
406
- ```javascript
407
- // Secure build tool configuration
408
- const cache = fileEntryCache.create('.buildcache', './cache', {
409
- useCheckSum: true,
410
- cwd: process.cwd(),
411
- restrictAccessToCwd: true // Enable strict path checking for security
412
- });
413
-
414
- // Process user-provided file paths safely
415
- function processUserFile(userProvidedPath) {
416
- try {
417
- const descriptor = cache.getFileDescriptor(userProvidedPath);
418
- // Safe to process - file is within boundaries
419
- return descriptor;
420
- } catch (error) {
421
- if (error.message.includes('Path traversal attempt blocked')) {
422
- console.warn('Security: Blocked access to:', userProvidedPath);
423
- return null;
424
- }
425
- throw error;
426
- }
427
- }
428
- ```
429
-
430
- ### CI/CD Environments
431
- ```javascript
432
- // Strict security for CI/CD pipelines
433
- const cache = new FileEntryCache({
434
- cwd: process.env.GITHUB_WORKSPACE || process.cwd(),
435
- restrictAccessToCwd: true, // Prevent access outside workspace
436
- useCheckSum: true // Content-based validation
437
- });
438
-
439
- // All file operations are now restricted to the workspace
440
- cache.getFileDescriptor('./src/app.js'); // ✓ Allowed
441
- cache.getFileDescriptor('/etc/passwd'); // ✗ Blocked (absolute path outside cwd)
442
- cache.getFileDescriptor('../../../root'); // ✗ Blocked (path traversal)
443
- ```
444
-
445
- ### Dynamic Security Control
446
- ```javascript
447
- const cache = new FileEntryCache({ cwd: '/safe/directory' });
448
-
449
- // Start with relaxed mode for trusted operations
450
- cache.restrictAccessToCwd = false;
451
- processInternalFiles();
452
-
453
- // Enable strict mode for untrusted input
454
- cache.restrictAccessToCwd = true;
455
- processUserUploadedPaths();
456
-
457
- // Return to relaxed mode if needed
458
- cache.restrictAccessToCwd = false;
459
- ```
460
-
461
- ## Default Behavior
462
-
463
- **As of v11, `restrictAccessToCwd` is enabled by default** to provide secure defaults. This means:
464
- - Path traversal attempts using `../` are blocked
465
- - File access is restricted to within the configured `cwd`
466
- - Null bytes in paths are automatically sanitized
467
-
468
- ### Migrating from v10 or Earlier
469
-
470
- If you're upgrading from v10 or earlier and need to maintain the previous behavior (for example, if your code legitimately accesses parent directories), you can explicitly disable strict paths:
471
-
472
- ```javascript
473
- const cache = new FileEntryCache({
474
- cwd: process.cwd(),
475
- restrictAccessToCwd: false // Restore v10 behavior
476
- });
477
- ```
478
-
479
- However, we strongly recommend keeping `restrictAccessToCwd: true` and adjusting your code to work within the security boundaries, especially when processing any untrusted input.
480
-
481
- # Using Checksums to Determine if a File has Changed (useCheckSum)
482
-
483
- By default the `useCheckSum` is `false`. This means that the `FileEntryCache` will use the `mtime` and `ctime` to determine if the file has changed. If you set `useCheckSum` to `true` it will use a checksum to determine if the file has changed. This is useful when you want to make sure that the file has not changed at all.
484
-
485
- ```javascript
486
- const fileEntryCache = new FileEntryCache();
487
- const fileDescriptor = fileEntryCache.getFileDescriptor('file.txt', { useCheckSum: true });
488
- ```
489
-
490
- You can pass `useCheckSum` in the FileEntryCache options, as a property `.useCheckSum` to make it default for all files, or in the `getFileDescriptor` function. Here is an example where you set it globally but then override it for a specific file:
491
-
492
- ```javascript
493
- const fileEntryCache = new FileEntryCache({ useCheckSum: true });
494
- const fileDescriptor = fileEntryCache.getFileDescriptor('file.txt', { useCheckSum: false });
495
- ```
496
-
497
- # Setting Additional Meta Data
498
-
499
- In the past we have seen people do random values on the `meta` object. This can cause issues with the `meta` object. To avoid this we have `data` which can be anything.
500
-
501
- ```javascript
502
- const fileEntryCache = new FileEntryCache();
503
- const fileDescriptor = fileEntryCache.getFileDescriptor('file.txt');
504
- fileDescriptor.meta.data = { myData: 'myData' }; //anything you want
505
- ```
506
-
507
- # Logger Support
508
-
509
- The `FileEntryCache` supports logging through a Pino-compatible logger interface. This is useful for debugging and monitoring cache operations in production environments.
510
-
511
- ## Logger Interface
512
-
513
- The logger must implement the following interface:
514
-
515
- ```typescript
516
- interface ILogger {
517
- level?: string;
518
- trace: (message: string | object, ...args: unknown[]) => void;
519
- debug: (message: string | object, ...args: unknown[]) => void;
520
- info: (message: string | object, ...args: unknown[]) => void;
521
- warn: (message: string | object, ...args: unknown[]) => void;
522
- error: (message: string | object, ...args: unknown[]) => void;
523
- fatal: (message: string | object, ...args: unknown[]) => void;
524
- }
525
- ```
526
-
527
- ## Using Pino Logger
528
-
529
- You can pass a Pino logger instance to the `FileEntryCache` constructor or set it via the `logger` property:
530
-
531
- ```javascript
532
- import pino from 'pino';
533
- import fileEntryCache from 'file-entry-cache';
534
-
535
- // Create a Pino logger
536
- const logger = pino({
537
- level: 'debug',
538
- transport: {
539
- target: 'pino-pretty',
540
- options: {
541
- colorize: true
542
- }
543
- }
544
- });
545
-
546
- // Pass logger in constructor
547
- const cache = new fileEntryCache.FileEntryCache({
548
- logger,
549
- cacheId: 'my-cache'
550
- });
551
-
552
- // Or set it after creation
553
- cache.logger = logger;
554
-
555
- // Now all cache operations will be logged
556
- const descriptor = cache.getFileDescriptor('./src/file.txt');
557
- ```
558
-
559
- ## Log Levels
560
-
561
- The logger will output different levels of information:
562
-
563
- - **trace**: Detailed internal operations (key creation, cached meta lookup, file stats)
564
- - **debug**: Method entry, checksum settings, change detection, file status
565
- - **info**: Important state changes (file has changed)
566
- - **error**: File read errors and exceptions
567
-
568
- ## Example with Custom Log Levels
569
-
570
- ```javascript
571
- import pino from 'pino';
572
- import { FileEntryCache } from 'file-entry-cache';
573
-
574
- // Create logger with specific level
575
- const logger = pino({ level: 'info' });
576
-
577
- const cache = new FileEntryCache({
578
- logger,
579
- useCheckSum: true
580
- });
581
-
582
- // This will log at info level when files change
583
- const files = ['./src/index.js', './src/utils.js'];
584
- files.forEach(file => {
585
- const descriptor = cache.getFileDescriptor(file);
586
- if (descriptor.changed) {
587
- console.log(`Processing changed file: ${file}`);
588
- }
589
- });
590
-
591
- cache.reconcile();
592
- ```
593
-
594
- ## Debugging Cache Operations
595
-
596
- For detailed debugging, set the logger level to `debug` or `trace`:
597
-
598
- ```javascript
599
- import pino from 'pino';
600
- import { FileEntryCache } from 'file-entry-cache';
601
-
602
- const logger = pino({
603
- level: 'trace',
604
- transport: {
605
- target: 'pino-pretty'
606
- }
607
- });
608
-
609
- const cache = new FileEntryCache({
610
- logger,
611
- useCheckSum: true,
612
- cwd: '/project/root'
613
- });
614
-
615
- // Will log detailed information about:
616
- // - File path resolution
617
- // - Cache key creation
618
- // - Cached metadata lookup
619
- // - File stats reading
620
- // - Hash calculation (if using checksums)
621
- // - Change detection logic
622
- const descriptor = cache.getFileDescriptor('./src/app.js');
623
- ```
624
-
625
- # How to Contribute
626
-
627
- You can contribute by forking the repo and submitting a pull request. Please make sure to add tests and update the documentation. To learn more about how to contribute go to our main README [https://github.com/jaredwray/cacheable](https://github.com/jaredwray/cacheable). This will talk about how to `Open a Pull Request`, `Ask a Question`, or `Post an Issue`.
628
-
629
- # License and Copyright
630
- [MIT © Jared Wray](./LICENSE)