@platformos/platformos-check-common 0.0.7 → 0.0.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 (337) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +4 -4
  3. package/dist/AugmentedPlatformOSDocset.d.ts +11 -0
  4. package/dist/AugmentedPlatformOSDocset.js +81 -0
  5. package/dist/AugmentedPlatformOSDocset.js.map +1 -0
  6. package/dist/JSONValidator.js +1 -1
  7. package/dist/JSONValidator.js.map +1 -1
  8. package/dist/checks/deprecated-filter/index.js +4 -41
  9. package/dist/checks/deprecated-filter/index.js.map +1 -1
  10. package/dist/checks/deprecated-tag/index.js +21 -22
  11. package/dist/checks/deprecated-tag/index.js.map +1 -1
  12. package/dist/checks/duplicate-function-arguments/index.js +1 -1
  13. package/dist/checks/duplicate-function-arguments/index.js.map +1 -1
  14. package/dist/checks/duplicate-render-partial-arguments/index.js +1 -1
  15. package/dist/checks/duplicate-render-partial-arguments/index.js.map +1 -1
  16. package/dist/checks/graphql/index.js +1 -1
  17. package/dist/checks/graphql/index.js.map +1 -1
  18. package/dist/checks/graphql-variables/index.js +4 -0
  19. package/dist/checks/graphql-variables/index.js.map +1 -1
  20. package/dist/checks/img-width-and-height/index.js +1 -1
  21. package/dist/checks/img-width-and-height/index.js.map +1 -1
  22. package/dist/checks/index.d.ts +3 -3
  23. package/dist/checks/index.js +4 -79
  24. package/dist/checks/index.js.map +1 -1
  25. package/dist/checks/json-syntax-error/index.js +1 -1
  26. package/dist/checks/json-syntax-error/index.js.map +1 -1
  27. package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js +1 -1
  28. package/dist/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.js.map +1 -1
  29. package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.d.ts +19 -0
  30. package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.js +79 -0
  31. package/dist/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.js.map +1 -0
  32. package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.d.ts +3 -0
  33. package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.js +32 -0
  34. package/dist/checks/liquid-html-syntax-error/checks/UnknownTag.js.map +1 -0
  35. package/dist/checks/liquid-html-syntax-error/index.js +23 -5
  36. package/dist/checks/liquid-html-syntax-error/index.js.map +1 -1
  37. package/dist/checks/matching-translations/index.d.ts +2 -2
  38. package/dist/checks/matching-translations/index.js +114 -90
  39. package/dist/checks/matching-translations/index.js.map +1 -1
  40. package/dist/checks/metadata-params/index.js +6 -3
  41. package/dist/checks/metadata-params/index.js.map +1 -1
  42. package/dist/checks/missing-asset/index.js +1 -1
  43. package/dist/checks/missing-asset/index.js.map +1 -1
  44. package/dist/checks/missing-partial/index.d.ts +6 -0
  45. package/dist/checks/missing-partial/index.js +70 -0
  46. package/dist/checks/missing-partial/index.js.map +1 -0
  47. package/dist/checks/orphaned-partial/index.js +4 -4
  48. package/dist/checks/orphaned-partial/index.js.map +1 -1
  49. package/dist/checks/parser-blocking-script/index.js +10 -36
  50. package/dist/checks/parser-blocking-script/index.js.map +1 -1
  51. package/dist/checks/parser-blocking-script/suggestions.d.ts +1 -2
  52. package/dist/checks/parser-blocking-script/suggestions.js +1 -11
  53. package/dist/checks/parser-blocking-script/suggestions.js.map +1 -1
  54. package/dist/checks/reserved-doc-param-names/index.js +6 -5
  55. package/dist/checks/reserved-doc-param-names/index.js.map +1 -1
  56. package/dist/checks/translation-key-exists/index.js +1 -1
  57. package/dist/checks/translation-key-exists/index.js.map +1 -1
  58. package/dist/checks/unclosed-html-element/index.js +5 -1
  59. package/dist/checks/unclosed-html-element/index.js.map +1 -1
  60. package/dist/checks/undefined-object/index.js +13 -31
  61. package/dist/checks/undefined-object/index.js.map +1 -1
  62. package/dist/checks/unique-doc-param-names/index.js +1 -1
  63. package/dist/checks/unique-doc-param-names/index.js.map +1 -1
  64. package/dist/checks/unknown-filter/index.js +3 -3
  65. package/dist/checks/unknown-filter/index.js.map +1 -1
  66. package/dist/checks/unknown-property/index.js +1 -1
  67. package/dist/checks/unknown-property/index.js.map +1 -1
  68. package/dist/checks/unrecognized-render-partial-arguments/index.js +2 -2
  69. package/dist/checks/unrecognized-render-partial-arguments/index.js.map +1 -1
  70. package/dist/checks/unused-assign/index.js +1 -1
  71. package/dist/checks/unused-assign/index.js.map +1 -1
  72. package/dist/checks/unused-doc-param/index.js +1 -1
  73. package/dist/checks/unused-doc-param/index.js.map +1 -1
  74. package/dist/checks/utils.js +1 -1
  75. package/dist/checks/utils.js.map +1 -1
  76. package/dist/checks/valid-content-for-arguments/index.js +1 -1
  77. package/dist/checks/valid-content-for-arguments/index.js.map +1 -1
  78. package/dist/checks/valid-doc-param-types/index.js +4 -4
  79. package/dist/checks/valid-doc-param-types/index.js.map +1 -1
  80. package/dist/checks/valid-html-translation/index.d.ts +2 -2
  81. package/dist/checks/valid-html-translation/index.js +4 -4
  82. package/dist/checks/valid-html-translation/index.js.map +1 -1
  83. package/dist/checks/valid-json/index.js +1 -1
  84. package/dist/checks/valid-json/index.js.map +1 -1
  85. package/dist/checks/valid-render-partial-argument-types/index.js +2 -2
  86. package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -1
  87. package/dist/checks/variable-name/index.js +1 -1
  88. package/dist/checks/variable-name/index.js.map +1 -1
  89. package/dist/context-utils.d.ts +18 -7
  90. package/dist/context-utils.js +68 -109
  91. package/dist/context-utils.js.map +1 -1
  92. package/dist/disabled-checks/index.js +4 -2
  93. package/dist/disabled-checks/index.js.map +1 -1
  94. package/dist/doc-generator/DocBlockGenerator.d.ts +16 -0
  95. package/dist/doc-generator/DocBlockGenerator.js +464 -0
  96. package/dist/doc-generator/DocBlockGenerator.js.map +1 -0
  97. package/dist/doc-generator/index.d.ts +1 -0
  98. package/dist/doc-generator/index.js +6 -0
  99. package/dist/doc-generator/index.js.map +1 -0
  100. package/dist/find-root.d.ts +7 -10
  101. package/dist/find-root.js +10 -17
  102. package/dist/find-root.js.map +1 -1
  103. package/dist/fixes/autofix.d.ts +4 -4
  104. package/dist/fixes/autofix.js +2 -2
  105. package/dist/fixes/autofix.js.map +1 -1
  106. package/dist/fixes/correctors/index.js +4 -0
  107. package/dist/fixes/correctors/index.js.map +1 -1
  108. package/dist/index.d.ts +5 -5
  109. package/dist/index.js +50 -17
  110. package/dist/index.js.map +1 -1
  111. package/dist/jsonc/parse.d.ts +1 -1
  112. package/dist/jsonc/parse.js +1 -1
  113. package/dist/liquid-doc/arguments.d.ts +7 -8
  114. package/dist/liquid-doc/arguments.js +28 -29
  115. package/dist/liquid-doc/arguments.js.map +1 -1
  116. package/dist/liquid-doc/liquidDoc.d.ts +1 -1
  117. package/dist/liquid-doc/liquidDoc.js.map +1 -1
  118. package/dist/liquid-doc/utils.d.ts +3 -3
  119. package/dist/liquid-doc/utils.js +14 -3
  120. package/dist/liquid-doc/utils.js.map +1 -1
  121. package/dist/path.d.ts +1 -0
  122. package/dist/path.js +16 -1
  123. package/dist/path.js.map +1 -1
  124. package/{src/test/MockTheme.ts → dist/test/MockApp.d.ts} +2 -3
  125. package/dist/test/MockApp.js +16 -0
  126. package/dist/test/MockApp.js.map +1 -0
  127. package/dist/test/MockFileSystem.d.ts +3 -3
  128. package/dist/test/MockFileSystem.js +6 -6
  129. package/dist/test/MockFileSystem.js.map +1 -1
  130. package/dist/test/index.d.ts +1 -1
  131. package/dist/test/index.js +1 -1
  132. package/dist/test/index.js.map +1 -1
  133. package/dist/test/test-helper.d.ts +10 -9
  134. package/dist/test/test-helper.js +15 -106
  135. package/dist/test/test-helper.js.map +1 -1
  136. package/dist/to-schema.d.ts +1 -1
  137. package/dist/to-source-code.d.ts +3 -2
  138. package/dist/to-source-code.js +20 -0
  139. package/dist/to-source-code.js.map +1 -1
  140. package/dist/tsconfig.tsbuildinfo +1 -1
  141. package/dist/types/platformos-liquid-docs.d.ts +128 -0
  142. package/dist/types/platformos-liquid-docs.js +3 -0
  143. package/dist/types/platformos-liquid-docs.js.map +1 -0
  144. package/dist/types/schemas/index.d.ts +0 -2
  145. package/dist/types/schemas/index.js.map +1 -1
  146. package/dist/types.d.ts +26 -67
  147. package/dist/types.js +3 -5
  148. package/dist/types.js.map +1 -1
  149. package/dist/utils/block.js.map +1 -1
  150. package/dist/utils/index.d.ts +0 -1
  151. package/dist/utils/index.js +0 -1
  152. package/dist/utils/index.js.map +1 -1
  153. package/dist/yaml/parse.d.ts +5 -0
  154. package/dist/yaml/parse.js +94 -0
  155. package/dist/yaml/parse.js.map +1 -0
  156. package/package.json +4 -3
  157. package/src/{AugmentedThemeDocset.spec.ts → AugmentedPlatformOSDocset.spec.ts} +47 -34
  158. package/src/AugmentedPlatformOSDocset.ts +89 -0
  159. package/src/JSONValidator.ts +1 -1
  160. package/src/checks/deprecated-filter/index.spec.ts +76 -248
  161. package/src/checks/deprecated-filter/index.ts +5 -53
  162. package/src/checks/deprecated-tag/index.spec.ts +85 -34
  163. package/src/checks/deprecated-tag/index.ts +27 -22
  164. package/src/checks/duplicate-function-arguments/index.ts +1 -1
  165. package/src/checks/duplicate-render-partial-arguments/index.spec.ts +12 -12
  166. package/src/checks/duplicate-render-partial-arguments/index.ts +1 -1
  167. package/src/checks/graphql/index.ts +1 -1
  168. package/src/checks/graphql-variables/index.spec.ts +95 -0
  169. package/src/checks/graphql-variables/index.ts +4 -0
  170. package/src/checks/img-width-and-height/index.ts +2 -2
  171. package/src/checks/index.ts +11 -80
  172. package/src/checks/invalid-hash-assign-target/index.spec.ts +27 -27
  173. package/src/checks/json-syntax-error/index.ts +2 -2
  174. package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpression.spec.ts +0 -11
  175. package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.spec.ts +1 -2
  176. package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.ts +2 -2
  177. package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.spec.ts +259 -0
  178. package/src/checks/liquid-html-syntax-error/checks/InvalidTagSyntax.ts +89 -0
  179. package/src/checks/liquid-html-syntax-error/checks/UnknownTag.spec.ts +293 -0
  180. package/src/checks/liquid-html-syntax-error/checks/UnknownTag.ts +43 -0
  181. package/src/checks/liquid-html-syntax-error/index.spec.ts +1 -6
  182. package/src/checks/liquid-html-syntax-error/index.ts +26 -5
  183. package/src/checks/matching-translations/index.spec.ts +187 -354
  184. package/src/checks/matching-translations/index.ts +117 -107
  185. package/src/checks/metadata-params/index.ts +6 -8
  186. package/src/checks/missing-asset/index.ts +1 -1
  187. package/src/checks/{missing-template → missing-partial}/index.spec.ts +6 -6
  188. package/src/checks/{missing-template → missing-partial}/index.ts +12 -26
  189. package/src/checks/orphaned-partial/index.ts +3 -3
  190. package/src/checks/parser-blocking-script/index.spec.ts +0 -118
  191. package/src/checks/parser-blocking-script/index.ts +3 -33
  192. package/src/checks/parser-blocking-script/suggestions.ts +1 -28
  193. package/src/checks/translation-key-exists/index.ts +1 -1
  194. package/src/checks/unclosed-html-element/index.ts +5 -1
  195. package/src/checks/undefined-object/index.spec.ts +32 -111
  196. package/src/checks/undefined-object/index.ts +15 -34
  197. package/src/checks/unique-doc-param-names/index.ts +1 -1
  198. package/src/checks/unknown-filter/index.spec.ts +2 -2
  199. package/src/checks/unknown-filter/index.ts +3 -3
  200. package/src/checks/unknown-property/index.ts +1 -1
  201. package/src/checks/unrecognized-render-partial-arguments/index.spec.ts +5 -5
  202. package/src/checks/unrecognized-render-partial-arguments/index.ts +2 -5
  203. package/src/checks/unused-assign/index.spec.ts +0 -30
  204. package/src/checks/unused-assign/index.ts +2 -2
  205. package/src/checks/unused-doc-param/index.ts +1 -1
  206. package/src/checks/utils.ts +1 -1
  207. package/src/checks/valid-doc-param-types/index.ts +4 -4
  208. package/src/checks/valid-html-translation/index.spec.ts +42 -32
  209. package/src/checks/valid-html-translation/index.ts +7 -7
  210. package/src/checks/valid-json/index.ts +2 -2
  211. package/src/checks/valid-render-partial-argument-types/index.spec.ts +13 -13
  212. package/src/checks/valid-render-partial-argument-types/index.ts +2 -5
  213. package/src/checks/variable-name/index.ts +1 -1
  214. package/src/context-utils.spec.ts +49 -77
  215. package/src/context-utils.ts +81 -129
  216. package/src/disabled-checks/index.spec.ts +26 -26
  217. package/src/disabled-checks/index.ts +2 -2
  218. package/src/disabled-checks/test-checks.ts +4 -4
  219. package/src/find-root.ts +12 -22
  220. package/src/fixes/autofix.spec.ts +2 -2
  221. package/src/fixes/autofix.ts +4 -4
  222. package/src/fixes/correctors/index.ts +4 -0
  223. package/src/ignore.spec.ts +4 -5
  224. package/src/index.ts +51 -21
  225. package/src/jsonc/parse.ts +1 -1
  226. package/src/liquid-doc/arguments.spec.ts +19 -45
  227. package/src/liquid-doc/arguments.ts +35 -42
  228. package/src/liquid-doc/liquidDoc.spec.ts +1 -1
  229. package/src/liquid-doc/liquidDoc.ts +1 -2
  230. package/src/liquid-doc/utils.ts +17 -8
  231. package/src/path.ts +16 -0
  232. package/src/test/MockApp.ts +17 -0
  233. package/src/test/MockFileSystem.spec.ts +10 -11
  234. package/src/test/MockFileSystem.ts +6 -6
  235. package/src/test/contain-offense.spec.ts +11 -3
  236. package/src/test/index.ts +1 -1
  237. package/src/test/test-helper.ts +43 -145
  238. package/src/to-source-code.ts +20 -1
  239. package/src/types/{theme-liquid-docs.ts → platformos-liquid-docs.ts} +8 -13
  240. package/src/types.ts +29 -92
  241. package/src/utils/index.ts +0 -1
  242. package/src/visitor.spec.ts +2 -2
  243. package/src/yaml/parse.ts +111 -0
  244. package/src/AugmentedThemeDocset.ts +0 -137
  245. package/src/checks/app-block-missing-schema/index.spec.ts +0 -121
  246. package/src/checks/app-block-missing-schema/index.ts +0 -46
  247. package/src/checks/app-block-valid-tags/index.spec.ts +0 -96
  248. package/src/checks/app-block-valid-tags/index.ts +0 -54
  249. package/src/checks/asset-preload/index.spec.ts +0 -78
  250. package/src/checks/asset-preload/index.ts +0 -65
  251. package/src/checks/asset-size-app-block-css/index.spec.ts +0 -88
  252. package/src/checks/asset-size-app-block-css/index.ts +0 -78
  253. package/src/checks/asset-size-app-block-javascript/index.spec.ts +0 -66
  254. package/src/checks/asset-size-app-block-javascript/index.ts +0 -78
  255. package/src/checks/asset-size-css/index.spec.ts +0 -166
  256. package/src/checks/asset-size-css/index.ts +0 -160
  257. package/src/checks/asset-size-javascript/index.spec.ts +0 -184
  258. package/src/checks/asset-size-javascript/index.ts +0 -144
  259. package/src/checks/block-id-usage/index.spec.ts +0 -76
  260. package/src/checks/block-id-usage/index.ts +0 -72
  261. package/src/checks/cdn-preconnect/index.spec.ts +0 -40
  262. package/src/checks/cdn-preconnect/index.ts +0 -43
  263. package/src/checks/content-for-header-modification/index.spec.ts +0 -65
  264. package/src/checks/content-for-header-modification/index.ts +0 -72
  265. package/src/checks/deprecate-bgsizes/index.spec.ts +0 -41
  266. package/src/checks/deprecate-bgsizes/index.ts +0 -49
  267. package/src/checks/deprecate-lazysizes/index.spec.ts +0 -26
  268. package/src/checks/deprecate-lazysizes/index.ts +0 -58
  269. package/src/checks/deprecated-filter/fixes.ts +0 -264
  270. package/src/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.ts +0 -1343
  271. package/src/checks/deprecated-fonts-on-sections-and-blocks/index.spec.ts +0 -613
  272. package/src/checks/deprecated-fonts-on-sections-and-blocks/index.ts +0 -284
  273. package/src/checks/deprecated-fonts-on-settings-schema/index.spec.ts +0 -102
  274. package/src/checks/deprecated-fonts-on-settings-schema/index.ts +0 -66
  275. package/src/checks/duplicate-content-for-arguments/index.spec.ts +0 -98
  276. package/src/checks/duplicate-content-for-arguments/index.ts +0 -43
  277. package/src/checks/empty-block-content/index.spec.ts +0 -117
  278. package/src/checks/empty-block-content/index.ts +0 -60
  279. package/src/checks/hardcoded-routes/index.spec.ts +0 -58
  280. package/src/checks/hardcoded-routes/index.ts +0 -100
  281. package/src/checks/json-missing-block/index.spec.ts +0 -435
  282. package/src/checks/json-missing-block/index.ts +0 -56
  283. package/src/checks/json-missing-block/missing-block-utils.ts +0 -147
  284. package/src/checks/liquid-free-settings/index.spec.ts +0 -180
  285. package/src/checks/liquid-free-settings/index.ts +0 -79
  286. package/src/checks/missing-content-for-arguments/index.spec.ts +0 -144
  287. package/src/checks/missing-content-for-arguments/index.ts +0 -46
  288. package/src/checks/pagination-size/index.spec.ts +0 -158
  289. package/src/checks/pagination-size/index.ts +0 -104
  290. package/src/checks/remote-asset/index.spec.ts +0 -280
  291. package/src/checks/remote-asset/index.ts +0 -238
  292. package/src/checks/reserved-doc-param-names/index.spec.ts +0 -62
  293. package/src/checks/reserved-doc-param-names/index.ts +0 -57
  294. package/src/checks/schema-presets-block-order/index.spec.ts +0 -344
  295. package/src/checks/schema-presets-block-order/index.ts +0 -154
  296. package/src/checks/schema-presets-static-blocks/index.spec.ts +0 -145
  297. package/src/checks/schema-presets-static-blocks/index.ts +0 -126
  298. package/src/checks/static-stylesheet-and-javascript-tags/index.spec.ts +0 -257
  299. package/src/checks/static-stylesheet-and-javascript-tags/index.ts +0 -48
  300. package/src/checks/unique-settings-id/index.spec.ts +0 -24
  301. package/src/checks/unique-settings-id/index.ts +0 -84
  302. package/src/checks/unique-settings-id/test-data.ts +0 -1191
  303. package/src/checks/unique-static-block-id/index.spec.ts +0 -55
  304. package/src/checks/unique-static-block-id/index.ts +0 -60
  305. package/src/checks/unrecognized-content-for-arguments/index.spec.ts +0 -145
  306. package/src/checks/unrecognized-content-for-arguments/index.ts +0 -55
  307. package/src/checks/valid-block-target/index.spec.ts +0 -1396
  308. package/src/checks/valid-block-target/index.ts +0 -142
  309. package/src/checks/valid-content-for-argument-types/index.spec.ts +0 -382
  310. package/src/checks/valid-content-for-argument-types/index.ts +0 -42
  311. package/src/checks/valid-content-for-arguments/index.spec.ts +0 -107
  312. package/src/checks/valid-content-for-arguments/index.ts +0 -98
  313. package/src/checks/valid-local-blocks/index.spec.ts +0 -286
  314. package/src/checks/valid-local-blocks/index.ts +0 -100
  315. package/src/checks/valid-local-blocks/valid-block-utils.ts +0 -97
  316. package/src/checks/valid-schema/index.spec.ts +0 -174
  317. package/src/checks/valid-schema/index.ts +0 -41
  318. package/src/checks/valid-schema-name/index.spec.ts +0 -112
  319. package/src/checks/valid-schema-name/index.ts +0 -75
  320. package/src/checks/valid-settings-key/index.spec.ts +0 -321
  321. package/src/checks/valid-settings-key/index.ts +0 -144
  322. package/src/checks/valid-static-block-type/index.spec.ts +0 -38
  323. package/src/checks/valid-static-block-type/index.ts +0 -58
  324. package/src/checks/valid-visible-if/index.spec.ts +0 -619
  325. package/src/checks/valid-visible-if/index.ts +0 -184
  326. package/src/checks/valid-visible-if/visible-if-utils.ts +0 -158
  327. package/src/tags/content-for.ts +0 -25
  328. package/src/to-schema.ts +0 -231
  329. package/src/types/schemas/index.ts +0 -5
  330. package/src/types/schemas/preset.ts +0 -52
  331. package/src/types/schemas/section.ts +0 -86
  332. package/src/types/schemas/setting.ts +0 -320
  333. package/src/types/schemas/template.ts +0 -34
  334. package/src/types/schemas/theme-block.ts +0 -34
  335. package/src/types/theme-schemas.ts +0 -80
  336. package/src/utils/block.ts +0 -300
  337. package/src/utils/markup.ts +0 -10
@@ -1,613 +0,0 @@
1
- import { expect, describe, it } from 'vitest';
2
- import { highlightedOffenses, runLiquidCheck, check, MockTheme } from '../../test';
3
- import { DeprecatedFontsOnSectionsAndBlocks } from './index';
4
-
5
- const DEFAULT_FILE_NAME = 'sections/file.liquid';
6
-
7
- describe('Module: DeprecatedFonts', () => {
8
- it('reports no warning when the setting has a non-deprecated font as default value', async () => {
9
- const sourceCode = `
10
- {% schema %}
11
- {
12
- "settings": [
13
- {
14
- "type": "font_picker",
15
- "id": "heading_font",
16
- "label": "Heading font",
17
- "default": "alegreya_n4"
18
- }
19
- ]
20
- }
21
- {% endschema %}`;
22
-
23
- const offenses = await runLiquidCheck(
24
- DeprecatedFontsOnSectionsAndBlocks,
25
- sourceCode,
26
- DEFAULT_FILE_NAME,
27
- );
28
- expect(offenses).toHaveLength(0);
29
- });
30
-
31
- it('reports a warning when setting has a deprecated font as default value', async () => {
32
- const sourceCode = `
33
- {% schema %}
34
- {
35
- "settings": [
36
- {
37
- "type": "font_picker",
38
- "id": "heading_font",
39
- "label": "Heading font",
40
- "default": "helvetica_n4"
41
- }
42
- ]
43
- }
44
- {% endschema %}`;
45
-
46
- const offenses = await runLiquidCheck(
47
- DeprecatedFontsOnSectionsAndBlocks,
48
- sourceCode,
49
- DEFAULT_FILE_NAME,
50
- );
51
- expect(offenses).toHaveLength(1);
52
- expect(offenses[0].message).toEqual(
53
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
54
- );
55
-
56
- const highlights = highlightedOffenses({ [DEFAULT_FILE_NAME]: sourceCode }, offenses);
57
- expect(highlights).toHaveLength(1);
58
- });
59
-
60
- it('reports a warning when multiple settings have a deprecated font as default value', async () => {
61
- const sourceCode = `
62
- {% schema %}
63
- {
64
- "settings": [
65
- {
66
- "type": "font_picker",
67
- "id": "heading_font",
68
- "label": "Heading font",
69
- "default": "helvetica_n4"
70
- },
71
- {
72
- "type": "font_picker",
73
- "id": "footer_font",
74
- "label": "Footer font",
75
- "default": "helvetica_n4"
76
- }
77
- ]
78
- }
79
- {% endschema %}`;
80
-
81
- const offenses = await runLiquidCheck(
82
- DeprecatedFontsOnSectionsAndBlocks,
83
- sourceCode,
84
- DEFAULT_FILE_NAME,
85
- );
86
- expect(offenses).toHaveLength(2);
87
- expect(offenses[0].message).toEqual(
88
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
89
- );
90
- expect(offenses[1].message).toEqual(
91
- "setting 'footer_font' is using deprecated font 'helvetica_n4'",
92
- );
93
- });
94
-
95
- it('does not report a warning when the local block setting has no deprecated font', async () => {
96
- const sourceCode = `
97
- {% schema %}
98
- {
99
- "blocks": [{
100
- "type": "my-local-block",
101
- "name": "My Local Block",
102
- "settings": [
103
- {
104
- "type": "font_picker",
105
- "id": "heading_font",
106
- "label": "Heading font",
107
- "default": "alegreya_n4"
108
- }
109
- ]
110
- }]
111
- }
112
- {% endschema %}`;
113
-
114
- const offenses = await runLiquidCheck(
115
- DeprecatedFontsOnSectionsAndBlocks,
116
- sourceCode,
117
- DEFAULT_FILE_NAME,
118
- );
119
- expect(offenses).toHaveLength(0);
120
- });
121
-
122
- it('reports a warning when the local block setting has a deprecated font', async () => {
123
- const sourceCode = `
124
- {% schema %}
125
- {
126
- "blocks": [{
127
- "type": "my-local-block",
128
- "name": "My Local Block",
129
- "settings": [
130
- {
131
- "type": "font_picker",
132
- "id": "heading_font",
133
- "label": "Heading font",
134
- "default": "helvetica_n4"
135
- }
136
- ]
137
- }]
138
- }
139
- {% endschema %}`;
140
-
141
- const offenses = await runLiquidCheck(
142
- DeprecatedFontsOnSectionsAndBlocks,
143
- sourceCode,
144
- DEFAULT_FILE_NAME,
145
- );
146
- expect(offenses).toHaveLength(1);
147
- expect(offenses[0].message).toEqual(
148
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
149
- );
150
-
151
- const highlights = highlightedOffenses({ [DEFAULT_FILE_NAME]: sourceCode }, offenses);
152
- expect(highlights).toHaveLength(1);
153
- });
154
-
155
- it('reports no warning when the preset settings do not use deprecated fonts', async () => {
156
- const sourceCode = `
157
- {% schema %}
158
- {
159
- "settings": [
160
- {
161
- "type": "font_picker",
162
- "id": "heading_font",
163
- "label": "Heading font",
164
- "default": "alegreya_n4"
165
- }
166
- ],
167
- "presets": [
168
- {
169
- "name": "Preset 1",
170
- "settings": {
171
- "heading_font": "alegreya_n4"
172
- }
173
- }
174
- ]
175
- }
176
- {% endschema %}`;
177
-
178
- const offenses = await runLiquidCheck(
179
- DeprecatedFontsOnSectionsAndBlocks,
180
- sourceCode,
181
- DEFAULT_FILE_NAME,
182
- );
183
- expect(offenses).toHaveLength(0);
184
- });
185
-
186
- it('reports a warning when the preset setting has a deprecated font as default value', async () => {
187
- const sourceCode = `
188
- {% schema %}
189
- {
190
- "settings": [
191
- {
192
- "type": "font_picker",
193
- "id": "heading_font",
194
- "label": "Heading font",
195
- "default": "alegreya_n4"
196
- }
197
- ],
198
- "presets": [
199
- {
200
- "name": "Preset 1",
201
- "settings": {
202
- "heading_font": "helvetica_n4"
203
- }
204
- }
205
- ]
206
- }
207
- {% endschema %}`;
208
-
209
- const offenses = await runLiquidCheck(
210
- DeprecatedFontsOnSectionsAndBlocks,
211
- sourceCode,
212
- DEFAULT_FILE_NAME,
213
- );
214
- expect(offenses).toHaveLength(1);
215
- expect(offenses[0].message).toEqual(
216
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
217
- );
218
-
219
- const highlights = highlightedOffenses({ [DEFAULT_FILE_NAME]: sourceCode }, offenses);
220
- expect(highlights).toHaveLength(1);
221
- });
222
-
223
- it('reports no warning when the preset block setting has no deprecated fonts (blocks as a hash)', async () => {
224
- const theme: MockTheme = {
225
- 'sections/section-1.liquid': `
226
- {% schema %}
227
- {
228
- "name": "Section 1",
229
- "presets": [
230
- {
231
- "name": "Preset 1",
232
- "blocks": {
233
- "text-1": {
234
- "type": "text",
235
- "settings": {
236
- "heading_font": "alegreya_n4"
237
- }
238
- }
239
- }
240
- }
241
- ]
242
- }
243
- {% endschema %}`,
244
- 'blocks/text.liquid': `
245
- {% schema %}
246
- {
247
- "name": "Text Block",
248
- "settings": [
249
- {
250
- "type": "font_picker",
251
- "id": "heading_font",
252
- "label": "Heading font"
253
- }
254
- ],
255
- }
256
- {% endschema %}`,
257
- };
258
-
259
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
260
- expect(offenses).toHaveLength(0);
261
- });
262
-
263
- it('reports a warning when the preset block setting has a deprecated font (blocks as a hash)', async () => {
264
- const theme: MockTheme = {
265
- 'sections/section-1.liquid': `
266
- {% schema %}
267
- {
268
- "name": "Section 1",
269
- "presets": [
270
- {
271
- "name": "Preset 1",
272
- "blocks": {
273
- "text-1": {
274
- "type": "text",
275
- "settings": {
276
- "heading_font": "helvetica_n4"
277
- }
278
- }
279
- }
280
- }
281
- ]
282
- }
283
- {% endschema %}`,
284
- 'blocks/text.liquid': `
285
- {% schema %}
286
- {
287
- "name": "Text Block",
288
- "settings": [
289
- {
290
- "type": "font_picker",
291
- "id": "heading_font",
292
- "label": "Heading font"
293
- }
294
- ],
295
- }
296
- {% endschema %}`,
297
- };
298
-
299
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
300
- expect(offenses).toHaveLength(1);
301
- expect(offenses[0].message).toEqual(
302
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
303
- );
304
- });
305
-
306
- it('reports a warning when the preset block setting has a deprecated font in a nested block (blocks as a hash)', async () => {
307
- const theme: MockTheme = {
308
- 'sections/section-1.liquid': `
309
- {% schema %}
310
- {
311
- "name": "Section 1",
312
- "presets": [
313
- {
314
- "name": "Preset 1",
315
- "blocks": {
316
- "text-1": {
317
- "type": "text",
318
- "blocks": {
319
- "text-2": {
320
- "type": "text",
321
- "settings": { "heading_font": "helvetica_n4" }
322
- }
323
- }
324
- }
325
- }
326
- }
327
- ]
328
- }
329
- {% endschema %}`,
330
- 'blocks/text.liquid': `
331
- {% schema %}
332
- {
333
- "name": "Text Block",
334
- "settings": [
335
- {
336
- "type": "font_picker",
337
- "id": "heading_font",
338
- "label": "Heading font"
339
- }
340
- ],
341
- }
342
- {% endschema %}`,
343
- };
344
-
345
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
346
- expect(offenses).toHaveLength(1);
347
- expect(offenses[0].message).toEqual(
348
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
349
- );
350
- });
351
-
352
- it('reports no warning when the preset block setting has no deprecated fonts (blocks as an array)', async () => {
353
- const theme: MockTheme = {
354
- 'sections/section-1.liquid': `
355
- {% schema %}
356
- {
357
- "name": "Section 1",
358
- "presets": [
359
- {
360
- "name": "Preset 1",
361
- "blocks": [
362
- {
363
- "type": "text",
364
- "settings": { "heading_font": "alegreya_n4" }
365
- }
366
- ]
367
- }
368
- ]
369
- }
370
- {% endschema %}`,
371
- 'blocks/text.liquid': `
372
- {% schema %}
373
- {
374
- "name": "Text Block",
375
- "settings": [
376
- {
377
- "type": "font_picker",
378
- "id": "heading_font",
379
- "label": "Heading font"
380
- }
381
- ],
382
- }
383
- {% endschema %}`,
384
- };
385
-
386
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
387
- expect(offenses).toHaveLength(0);
388
- });
389
-
390
- it('reports a warning when the preset block setting has a deprecated font (blocks as an array)', async () => {
391
- const theme: MockTheme = {
392
- 'sections/section-1.liquid': `
393
- {% schema %}
394
- {
395
- "name": "Section 1",
396
- "presets": [
397
- {
398
- "name": "Preset 1",
399
- "blocks": [
400
- {
401
- "type": "text",
402
- "settings": { "heading_font": "helvetica_n4" }
403
- }
404
- ]
405
- }
406
- ]
407
- }
408
- {% endschema %}`,
409
- 'blocks/text.liquid': `
410
- {% schema %}
411
- {
412
- "name": "Text Block",
413
- "settings": [
414
- {
415
- "type": "font_picker",
416
- "id": "heading_font",
417
- "label": "Heading font"
418
- }
419
- ],
420
- }
421
- {% endschema %}`,
422
- };
423
-
424
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
425
- expect(offenses).toHaveLength(1);
426
- expect(offenses[0].message).toEqual(
427
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
428
- );
429
- });
430
-
431
- it('reports a warning when the preset nested block setting has a deprecated fonts (blocks as an array)', async () => {
432
- const theme: MockTheme = {
433
- 'sections/section-1.liquid': `
434
- {% schema %}
435
- {
436
- "name": "Section 1",
437
- "presets": [
438
- {
439
- "name": "Preset 1",
440
- "blocks": [
441
- {
442
- "type": "text",
443
- "blocks": [
444
- {
445
- "type": "text",
446
- "settings": { "heading_font": "helvetica_n4" }
447
- }
448
- ]
449
- }
450
- ]
451
- }
452
- ]
453
- }
454
- {% endschema %}`,
455
- 'blocks/text.liquid': `
456
- {% schema %}
457
- {
458
- "name": "Text Block",
459
- "settings": [
460
- {
461
- "type": "font_picker",
462
- "id": "heading_font",
463
- "label": "Heading font"
464
- }
465
- ],
466
- }
467
- {% endschema %}`,
468
- };
469
-
470
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
471
- expect(offenses).toHaveLength(1);
472
- expect(offenses[0].message).toEqual(
473
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
474
- );
475
- });
476
-
477
- it('reports no warning when the section default setting has no deprecated fonts', async () => {
478
- const theme: MockTheme = {
479
- 'sections/section-1.liquid': `
480
- {% schema %}
481
- {
482
- "name": "Section 1",
483
- "settings": [
484
- {
485
- "type": "font_picker",
486
- "id": "heading_font",
487
- "label": "Heading font"
488
- }
489
- ],
490
- "defaults": {
491
- "settings": {
492
- "heading_font": "alegreya_n4"
493
- }
494
- }
495
- }
496
- {% endschema %}`,
497
- };
498
-
499
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
500
- expect(offenses).toHaveLength(0);
501
- });
502
-
503
- it('reports a warning when the section default setting has a deprecated font', async () => {
504
- const sourceCode = `
505
- {% schema %}
506
- {
507
- "name": "Section 1",
508
- "settings": [
509
- {
510
- "type": "font_picker",
511
- "id": "heading_font",
512
- "label": "Heading font"
513
- }
514
- ],
515
- "default": {
516
- "settings": {
517
- "heading_font": "helvetica_n4"
518
- }
519
- }
520
- }
521
- {% endschema %}`;
522
-
523
- const offenses = await runLiquidCheck(
524
- DeprecatedFontsOnSectionsAndBlocks,
525
- sourceCode,
526
- DEFAULT_FILE_NAME,
527
- );
528
- expect(offenses).toHaveLength(1);
529
- expect(offenses[0].message).toEqual(
530
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
531
- );
532
-
533
- const highlights = highlightedOffenses({ [DEFAULT_FILE_NAME]: sourceCode }, offenses);
534
- expect(highlights).toHaveLength(1);
535
- });
536
-
537
- it('reports no warning when the section default block setting has no deprecated fonts', async () => {
538
- const theme: MockTheme = {
539
- 'sections/section-1.liquid': `
540
- {% schema %}
541
- {
542
- "name": "Section 1",
543
- "settings": [
544
- {
545
- "type": "font_picker",
546
- "id": "heading_font",
547
- "label": "Heading font"
548
- }
549
- ],
550
- "blocks": [
551
- {
552
- "type": "text"
553
- }
554
- ],
555
- "defaults": {
556
- "blocks": {
557
- "type": "text",
558
- "settings": {
559
- "heading_font": "alegreya_n4"
560
- }
561
- }
562
- }
563
- }
564
- {% endschema %}`,
565
- };
566
-
567
- const offenses = await check(theme, [DeprecatedFontsOnSectionsAndBlocks]);
568
- expect(offenses).toHaveLength(0);
569
- });
570
-
571
- it('reports a warning when the section default block setting has a deprecated font', async () => {
572
- const sourceCode = `
573
- {% schema %}
574
- {
575
- "name": "Section 1",
576
- "blocks": [
577
- {
578
- "type": "text",
579
- "name": "Local Text Block",
580
- "settings": [
581
- {
582
- "type": "font_picker",
583
- "id": "heading_font",
584
- "label": "Heading font"
585
- }
586
- ]
587
- }
588
- ],
589
- "default": {
590
- "blocks": [{
591
- "type": "text",
592
- "settings": {
593
- "heading_font": "helvetica_n4"
594
- }
595
- }]
596
- }
597
- }
598
- {% endschema %}`;
599
-
600
- const offenses = await runLiquidCheck(
601
- DeprecatedFontsOnSectionsAndBlocks,
602
- sourceCode,
603
- DEFAULT_FILE_NAME,
604
- );
605
- expect(offenses).toHaveLength(1);
606
- expect(offenses[0].message).toEqual(
607
- "setting 'heading_font' is using deprecated font 'helvetica_n4'",
608
- );
609
-
610
- const highlights = highlightedOffenses({ [DEFAULT_FILE_NAME]: sourceCode }, offenses);
611
- expect(highlights).toHaveLength(1);
612
- });
613
- });