@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,36 +1,9 @@
1
- import {
2
- HtmlRawNode,
3
- LiquidFilter,
4
- LiquidVariable,
5
- LiquidVariableOutput,
6
- } from '@platformos/liquid-html-parser';
1
+ import { HtmlRawNode } from '@platformos/liquid-html-parser';
7
2
  import { LiquidHtmlSuggestion } from '../../types';
8
- import { last } from '../../utils';
9
3
 
10
4
  const suggestionMessage = (attr: 'defer' | 'async') =>
11
5
  `Use an HTML script tag with the ${attr} attribute instead`;
12
6
 
13
- export const liquidFilterSuggestion = (
14
- attr: 'defer' | 'async',
15
- node: LiquidFilter,
16
- parentNode: LiquidVariable,
17
- grandParentNode: LiquidVariableOutput,
18
- ): LiquidHtmlSuggestion => ({
19
- message: suggestionMessage(attr),
20
- fix(corrector) {
21
- const expression = node.source.slice(
22
- parentNode.expression.position.start,
23
- last(parentNode.filters, -1)?.position.end ?? node.position.start,
24
- );
25
- const url = `{{ ${expression} }}`;
26
- corrector.replace(
27
- grandParentNode.position.start,
28
- grandParentNode.position.end,
29
- `<script src="${url}" ${attr}></script>`,
30
- );
31
- },
32
- });
33
-
34
7
  export const scriptTagSuggestion = (
35
8
  attr: 'defer' | 'async',
36
9
  node: HtmlRawNode,
@@ -25,7 +25,7 @@ export const TranslationKeyExists: LiquidCheckDefinition = {
25
25
  docs: {
26
26
  description: 'Reports missing translation keys',
27
27
  recommended: true,
28
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/translation-key-exists',
28
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/translation-key-exists',
29
29
  },
30
30
  type: SourceCodeType.LiquidHtml,
31
31
  severity: Severity.ERROR,
@@ -41,7 +41,7 @@ export const UnclosedHTMLElement: LiquidCheckDefinition = {
41
41
  docs: {
42
42
  description: 'Warns you of unbalanced HTML tags in branching code',
43
43
  recommended: true,
44
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unclosed-html-element',
44
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unclosed-html-element',
45
45
  },
46
46
  type: SourceCodeType.LiquidHtml,
47
47
  severity: Severity.WARNING,
@@ -272,6 +272,10 @@ function getConditionIdentifierForMarkup(condition: string | LiquidConditionalEx
272
272
  condition.relation,
273
273
  getConditionIdentifierForMarkup(condition.right),
274
274
  ].join(' ');
275
+ case NodeTypes.JsonHashLiteral:
276
+ return '{}';
277
+ case NodeTypes.JsonArrayLiteral:
278
+ return '[]';
275
279
  default: {
276
280
  return assertNever(condition);
277
281
  }
@@ -205,20 +205,6 @@ describe('Module: UndefinedObject', () => {
205
205
  expect(offenses.map((e) => e.message)).toEqual(["Unknown object 'c' used."]);
206
206
  });
207
207
 
208
- it('should contextually report on the undefined nature of the paginate object (defined in paginate tag, undefined outside)', async () => {
209
- const sourceCode = `
210
- {% assign col = 'string' | split: '' %}
211
- {% paginate col by 5 %}
212
- {{ paginate }}
213
- {% endpaginate %}{{ paginate }}
214
- `;
215
-
216
- const offenses = await runLiquidCheck(UndefinedObject, sourceCode);
217
-
218
- expect(offenses).toHaveLength(1);
219
- expect(offenses.map((e) => e.message)).toEqual(["Unknown object 'paginate' used."]);
220
- });
221
-
222
208
  it('should contextually report on the undefined nature of the form object (defined in form tag, undefined outside)', async () => {
223
209
  const sourceCode = `
224
210
  {% form "cart" %}
@@ -256,7 +242,7 @@ describe('Module: UndefinedObject', () => {
256
242
  }
257
243
  });
258
244
 
259
- it('should report an offense when object is undefined in a "snippet" file with doc tags that are missing the associated param', async () => {
245
+ it('should report an offense when object is undefined in a "partial" file with doc tags that are missing the associated param', async () => {
260
246
  const sourceCode = `
261
247
  {% doc %}
262
248
  {% enddoc %}
@@ -273,7 +259,7 @@ describe('Module: UndefinedObject', () => {
273
259
  expect(offenses.map((e) => e.message)).toEqual(["Unknown object 'my_var' used."]);
274
260
  });
275
261
 
276
- it('should not report an offense when object is defined with @param in a snippet file', async () => {
262
+ it('should not report an offense when object is defined with @param in a partial file', async () => {
277
263
  const sourceCode = `
278
264
  {% doc %}
279
265
  @param {string} text
@@ -313,42 +299,9 @@ describe('Module: UndefinedObject', () => {
313
299
  }
314
300
  });
315
301
 
316
- it('should support contextual exceptions', async () => {
317
- let offenses: Offense[];
318
- const contexts: [string, string][] = [
319
- ['section', 'sections/section.liquid'],
320
- ['predictive_search', 'sections/predictive-search.liquid'],
321
- ['recommendations', 'sections/recommendations.liquid'],
322
- ['comment', 'sections/main-article.liquid'],
323
- ['block', 'blocks/theme-app-extension.liquid'],
324
- ['app', 'blocks/theme-app-extension.liquid'],
325
- ['app', 'app/views/partials/theme-app-extension.liquid'],
326
- ];
327
- for (const [object, goodPath] of contexts) {
328
- offenses = await runLiquidCheck(UndefinedObject, `{{ ${object} }}`, goodPath);
329
- expect(offenses).toHaveLength(0);
330
- offenses = await runLiquidCheck(UndefinedObject, `{{ ${object} }}`, 'file.liquid');
331
- expect(offenses).toHaveLength(1);
332
- }
333
- });
334
-
335
- it('should support contextual exceptions for checkout.liquid', async () => {
302
+ it('should support contextual exceptions for partials', async () => {
336
303
  let offenses: Offense[];
337
- const contexts: [string, string][] = [
338
- ['locale', 'layout/checkout.liquid'],
339
- ['direction', 'layout/checkout.liquid'],
340
- ['skip_to_content_link', 'layout/checkout.liquid'],
341
- ['checkout_html_classes', 'layout/checkout.liquid'],
342
- ['checkout_stylesheets', 'layout/checkout.liquid'],
343
- ['checkout_scripts', 'layout/checkout.liquid'],
344
- ['content_for_logo', 'layout/checkout.liquid'],
345
- ['breadcrumb', 'layout/checkout.liquid'],
346
- ['order_summary_toggle', 'layout/checkout.liquid'],
347
- ['content_for_order_summary', 'layout/checkout.liquid'],
348
- ['alternative_payment_methods', 'layout/checkout.liquid'],
349
- ['content_for_footer', 'layout/checkout.liquid'],
350
- ['tracking_code', 'layout/checkout.liquid'],
351
- ];
304
+ const contexts: [string, string][] = [['app', 'app/views/partials/theme-app-extension.liquid']];
352
305
  for (const [object, goodPath] of contexts) {
353
306
  offenses = await runLiquidCheck(UndefinedObject, `{{ ${object} }}`, goodPath);
354
307
  expect(offenses).toHaveLength(0);
@@ -374,44 +327,12 @@ describe('Module: UndefinedObject', () => {
374
327
  `;
375
328
 
376
329
  const offenses = await runLiquidCheck(UndefinedObject, sourceCode, 'file.liquid', {
377
- themeDocset: undefined,
330
+ platformosDocset: undefined,
378
331
  });
379
332
 
380
333
  expect(offenses).toHaveLength(0);
381
334
  });
382
335
 
383
- it('should not report an offense when object is defined with @param in a block file', async () => {
384
- const sourceCode = `
385
- {% doc %}
386
- @param {string} text
387
- {% enddoc %}
388
-
389
- {{ text }}
390
- `;
391
-
392
- const filePath = 'blocks/my-custom-block.liquid';
393
- const offenses = await runLiquidCheck(UndefinedObject, sourceCode, filePath);
394
-
395
- expect(offenses).toHaveLength(0);
396
- });
397
-
398
- it('should report an offense when an undefined object is used alongside @param in a block file', async () => {
399
- const sourceCode = `
400
- {% doc %}
401
- @param {string} text
402
- {% enddoc %}
403
-
404
- {{ text }}
405
- {{ undefined_variable }}
406
- `;
407
-
408
- const filePath = 'blocks/my-custom-block.liquid';
409
- const offenses = await runLiquidCheck(UndefinedObject, sourceCode, filePath);
410
-
411
- expect(offenses).toHaveLength(1);
412
- expect(offenses[0].message).toBe("Unknown object 'undefined_variable' used.");
413
- });
414
-
415
336
  it('should not report an offense when a self defined variable is defined with a @param tag', async () => {
416
337
  const sourceCode = `
417
338
  {% doc %}
@@ -438,33 +359,6 @@ describe('Module: UndefinedObject', () => {
438
359
  expect(offenses[0].message).toBe("Unknown object 'my_var' used.");
439
360
  });
440
361
 
441
- it('should not report an offense when using variables inside visible_if statements in a schema tag', async () => {
442
- const sourceCode = `
443
- {% schema %}
444
- {
445
- "settings": [
446
- {
447
- "type": "text",
448
- "label": "foo",
449
- "id": "foo",
450
- }
451
- {
452
- "type": "text",
453
- "label": "bar",
454
- "id": "bar",
455
- "visible_if": "{{ block.settings.foo }}",
456
- }
457
- ]
458
- }
459
- {% endschema %}
460
- `;
461
-
462
- const offenses = await runLiquidCheck(UndefinedObject, sourceCode);
463
-
464
- assert(offenses.length == 0);
465
- expect(offenses).to.be.empty;
466
- });
467
-
468
362
  it('should report an offense when job_id is used inside background block', async () => {
469
363
  const sourceCode = `
470
364
  {% background job_id %}
@@ -516,4 +410,31 @@ describe('Module: UndefinedObject', () => {
516
410
  expect(offenses).toHaveLength(1);
517
411
  expect(offenses.map((e) => e.message)).toEqual(["Unknown object 'job_id' used."]);
518
412
  });
413
+
414
+ it('should not report an offense when object is defined with a parse_json tag', async () => {
415
+ const sourceCode = `
416
+ {% parse_json groups_data %}
417
+ { "hello": "world" }
418
+ {% endparse_json %}
419
+ {{ groups_data }}
420
+ `;
421
+
422
+ const offenses = await runLiquidCheck(UndefinedObject, sourceCode);
423
+
424
+ expect(offenses).toHaveLength(0);
425
+ });
426
+
427
+ it('should report an offense when parse_json variable is used before the tag', async () => {
428
+ const sourceCode = `
429
+ {{ groups_data }}
430
+ {% parse_json groups_data %}
431
+ { "hello": "world" }
432
+ {% endparse_json %}
433
+ `;
434
+
435
+ const offenses = await runLiquidCheck(UndefinedObject, sourceCode);
436
+
437
+ expect(offenses).toHaveLength(1);
438
+ expect(offenses[0].message).toBe("Unknown object 'groups_data' used.");
439
+ });
519
440
  });
@@ -16,10 +16,11 @@ import {
16
16
  FunctionMarkup,
17
17
  LiquidTagHashAssign,
18
18
  LiquidTagGraphQL,
19
+ LiquidTagParseJson,
19
20
  LiquidTagBackground,
20
21
  BackgroundInlineMarkup,
21
22
  } from '@platformos/liquid-html-parser';
22
- import { LiquidCheckDefinition, Severity, SourceCodeType, ThemeDocset } from '../../types';
23
+ import { LiquidCheckDefinition, Severity, SourceCodeType, PlatformOSDocset } from '../../types';
23
24
  import { isError, last } from '../../utils';
24
25
  import { isWithinRawTagThatDoesNotParseItsContents } from '../utils';
25
26
 
@@ -32,7 +33,7 @@ export const UndefinedObject: LiquidCheckDefinition = {
32
33
  docs: {
33
34
  description: 'This check exists to identify references to undefined Liquid objects.',
34
35
  recommended: true,
35
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/undefined-object',
36
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/undefined-object',
36
37
  },
37
38
  type: SourceCodeType.LiquidHtml,
38
39
  severity: Severity.WARNING,
@@ -49,11 +50,11 @@ export const UndefinedObject: LiquidCheckDefinition = {
49
50
  /**
50
51
  * Skip this check when definitions for global objects are unavailable.
51
52
  */
52
- if (!context.themeDocset) {
53
+ if (!context.platformosDocset) {
53
54
  return {};
54
55
  }
55
56
 
56
- const themeDocset = context.themeDocset;
57
+ const platformosDocset = context.platformosDocset;
57
58
  const scopedVariables: Map<string, Scope[]> = new Map();
58
59
  const fileScopedVariables: Set<string> = new Set();
59
60
  const variables: LiquidVariableLookup[] = [];
@@ -76,7 +77,7 @@ export const UndefinedObject: LiquidCheckDefinition = {
76
77
  async LiquidTag(node, ancestors) {
77
78
  if (isWithinRawTagThatDoesNotParseItsContents(ancestors)) return;
78
79
 
79
- if (isLiquidTagAssign(node) || isLiquidTagGraphQL(node)) {
80
+ if (isLiquidTagAssign(node) || isLiquidTagGraphQL(node) || isLiquidTagParseJson(node)) {
80
81
  indexVariableScope(node.markup.name, {
81
82
  start: node.blockStartPosition.end,
82
83
  });
@@ -99,7 +100,7 @@ export const UndefinedObject: LiquidCheckDefinition = {
99
100
  * {{ form }}
100
101
  * {% endform %}
101
102
  */
102
- if (['form', 'paginate'].includes(node.name)) {
103
+ if (node.name === 'form') {
103
104
  indexVariableScope(node.name, {
104
105
  start: node.blockStartPosition.end,
105
106
  end: node.blockEndPosition?.start,
@@ -158,6 +159,7 @@ export const UndefinedObject: LiquidCheckDefinition = {
158
159
 
159
160
  const parent = last(ancestors);
160
161
  if (isLiquidTag(parent) && isLiquidTagCapture(parent)) return;
162
+ if (isLiquidTag(parent) && isLiquidTagParseJson(parent)) return;
161
163
 
162
164
  // Skip the jobId variable in background tag markup - it's being defined, not used
163
165
  if (isBackgroundInlineMarkup(parent) && parent.jobId === node) return;
@@ -166,7 +168,7 @@ export const UndefinedObject: LiquidCheckDefinition = {
166
168
  },
167
169
 
168
170
  async onCodePathEnd() {
169
- const objects = await globalObjects(themeDocset, relativePath);
171
+ const objects = await globalObjects(platformosDocset, relativePath);
170
172
 
171
173
  objects.forEach((obj) => fileScopedVariables.add(obj.name));
172
174
 
@@ -192,8 +194,8 @@ export const UndefinedObject: LiquidCheckDefinition = {
192
194
  },
193
195
  };
194
196
 
195
- async function globalObjects(themeDocset: ThemeDocset, relativePath: string) {
196
- const objects = await themeDocset.objects();
197
+ async function globalObjects(platformosDocset: PlatformOSDocset, relativePath: string) {
198
+ const objects = await platformosDocset.objects();
197
199
  const contextualObjects = getContextualObjects(relativePath);
198
200
 
199
201
  const globalObjects = objects.filter(({ access, name }) => {
@@ -209,31 +211,6 @@ async function globalObjects(themeDocset: ThemeDocset, relativePath: string) {
209
211
  }
210
212
 
211
213
  function getContextualObjects(relativePath: string): string[] {
212
- if (relativePath.startsWith('layout/checkout.liquid')) {
213
- return [
214
- 'locale',
215
- 'direction',
216
- 'skip_to_content_link',
217
- 'checkout_html_classes',
218
- 'checkout_stylesheets',
219
- 'checkout_scripts',
220
- 'content_for_logo',
221
- 'breadcrumb',
222
- 'order_summary_toggle',
223
- 'content_for_order_summary',
224
- 'alternative_payment_methods',
225
- 'content_for_footer',
226
- 'tracking_code',
227
- ];
228
- }
229
- if (relativePath.startsWith('sections/')) {
230
- return ['section', 'predictive_search', 'recommendations', 'comment'];
231
- }
232
-
233
- if (relativePath.startsWith('blocks/')) {
234
- return ['app', 'section', 'recommendations', 'block'];
235
- }
236
-
237
214
  if (relativePath.includes('views/partials/') || relativePath.includes('/lib/')) {
238
215
  return ['app'];
239
216
  }
@@ -300,6 +277,10 @@ function isLiquidTagGraphQL(node: LiquidTag): node is LiquidTagGraphQL {
300
277
  return node.name === NamedTags.graphql && typeof node.markup !== 'string';
301
278
  }
302
279
 
280
+ function isLiquidTagParseJson(node: LiquidTag): node is LiquidTagParseJson {
281
+ return node.name === NamedTags.parse_json && typeof node.markup !== 'string';
282
+ }
283
+
303
284
  function isLiquidForTag(node: LiquidTag): node is LiquidTagFor {
304
285
  return node.name === NamedTags.for && typeof node.markup !== 'string';
305
286
  }
@@ -8,7 +8,7 @@ export const UniqueDocParamNames: LiquidCheckDefinition = {
8
8
  description:
9
9
  'This check exists to ensure any parameter names defined in the `doc` tag are unique.',
10
10
  recommended: true,
11
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unique-doc-param-names',
11
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unique-doc-param-names',
12
12
  },
13
13
  type: SourceCodeType.LiquidHtml,
14
14
  severity: Severity.ERROR,
@@ -46,13 +46,13 @@ describe('Module: UnknownFilter', () => {
46
46
  });
47
47
 
48
48
  it('should not report an offense when a known filter is used (1)', async () => {
49
- const sourceCode = `{{ 'hello' | link_to_type }}`;
49
+ const sourceCode = `{{ 'hello' | parameterize }}`;
50
50
  const offenses = await runLiquidCheck(UnknownFilter, sourceCode);
51
51
  expect(offenses).toHaveLength(0);
52
52
  });
53
53
 
54
54
  it('should not report an offense when a known filter is used (2)', async () => {
55
- const sourceCode = `{{ 'hello' | link_to_vendor }}`;
55
+ const sourceCode = `{{ 'hello' | slugify }}`;
56
56
  const offenses = await runLiquidCheck(UnknownFilter, sourceCode);
57
57
  expect(offenses).toHaveLength(0);
58
58
  });
@@ -7,7 +7,7 @@ export const UnknownFilter: LiquidCheckDefinition = {
7
7
  name: 'Prevent use of unknown filters',
8
8
  docs: {
9
9
  description: 'This check is aimed at preventing the use of unknown filters.',
10
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unknown-filter',
10
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unknown-filter',
11
11
  recommended: true,
12
12
  },
13
13
  type: SourceCodeType.LiquidHtml,
@@ -17,13 +17,13 @@ export const UnknownFilter: LiquidCheckDefinition = {
17
17
  },
18
18
 
19
19
  create(context) {
20
- if (!context.themeDocset) {
20
+ if (!context.platformosDocset) {
21
21
  return {};
22
22
  }
23
23
 
24
24
  return {
25
25
  async LiquidFilter(node) {
26
- const knownFilters = await context.themeDocset!.filters();
26
+ const knownFilters = await context.platformosDocset!.filters();
27
27
 
28
28
  if (!knownFilters.some((filter) => filter.name === node.name)) {
29
29
  context.report({
@@ -56,7 +56,7 @@ export const UnknownProperty: LiquidCheckDefinition = {
56
56
  let graphqlSchema: string | undefined;
57
57
  const getGraphQLSchema = async (): Promise<string | undefined> => {
58
58
  if (graphqlSchema === undefined) {
59
- graphqlSchema = (await context.themeDocset?.graphQL()) ?? undefined;
59
+ graphqlSchema = (await context.platformosDocset?.graphQL()) ?? undefined;
60
60
  }
61
61
  return graphqlSchema;
62
62
  };
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { applySuggestions, MockTheme, runLiquidCheck } from '../../test';
2
+ import { applySuggestions, MockApp, runLiquidCheck } from '../../test';
3
3
  import { UnrecognizedRenderPartialArguments } from '.';
4
4
 
5
5
  function check(partial: string, source: string) {
@@ -113,14 +113,14 @@ describe('Module: UnrecognizedRenderPartialParams', () => {
113
113
  });
114
114
 
115
115
  it('should report when "with/for" alias syntax is used', async () => {
116
- const mockTheme = {
116
+ const mockApp = {
117
117
  'app/views/partials/card.liquid': `
118
118
  {% doc %}
119
119
  @param {string} title - The title of the card
120
120
  {% enddoc %}
121
121
  <div>{{ title }}</div>
122
122
  `,
123
- } as MockTheme;
123
+ } as MockApp;
124
124
 
125
125
  let sourceCode = `{% render 'card' with 'my-card' as unknown_param %}`;
126
126
  let offenses = await runLiquidCheck(
@@ -128,7 +128,7 @@ describe('Module: UnrecognizedRenderPartialParams', () => {
128
128
  sourceCode,
129
129
  undefined,
130
130
  {},
131
- mockTheme,
131
+ mockApp,
132
132
  );
133
133
 
134
134
  expect(offenses).toHaveLength(1);
@@ -146,7 +146,7 @@ describe('Module: UnrecognizedRenderPartialParams', () => {
146
146
  sourceCode,
147
147
  undefined,
148
148
  {},
149
- mockTheme,
149
+ mockApp,
150
150
  );
151
151
 
152
152
  expect(offenses).toHaveLength(1);
@@ -16,7 +16,7 @@ export const UnrecognizedRenderPartialArguments: LiquidCheckDefinition = {
16
16
  description:
17
17
  'This check ensures that no unknown arguments are used when rendering a partial.',
18
18
  recommended: true,
19
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unrecognized-render-partial-arguments',
19
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unrecognized-render-partial-arguments',
20
20
  },
21
21
  type: SourceCodeType.LiquidHtml,
22
22
  severity: Severity.WARNING,
@@ -60,10 +60,7 @@ export const UnrecognizedRenderPartialArguments: LiquidCheckDefinition = {
60
60
 
61
61
  if (!partialName) return;
62
62
 
63
- const liquidDocParameters = await getLiquidDocParams(
64
- context,
65
- `app/views/partials/${partialName}.liquid`,
66
- );
63
+ const liquidDocParameters = await getLiquidDocParams(context, partialName);
67
64
 
68
65
  if (!liquidDocParameters) return;
69
66
 
@@ -84,36 +84,6 @@ describe('Module: UnusedAssign', () => {
84
84
  expect(offenses).not.to.be.empty;
85
85
  });
86
86
 
87
- it('should not report unused assigns for things used in a raw-like tag', async () => {
88
- const tags = ['style'];
89
- for (const tag of tags) {
90
- const sourceCode = `
91
- {% assign usedVar = 1 %}
92
- {% ${tag} %}
93
- {{ usedVar }}
94
- {% end${tag} %}
95
- `;
96
-
97
- const offenses = await runLiquidCheck(UnusedAssign, sourceCode);
98
- expect(offenses).to.be.empty;
99
- }
100
- });
101
-
102
- it('should report unused assigns for things used in raw code that gets stripped away (schema, etc)', async () => {
103
- const tags = ['schema', 'javascript', 'stylesheet'];
104
- for (const tag of tags) {
105
- const sourceCode = `
106
- {% assign usedVar = 1 %}
107
- {% ${tag} %}
108
- {{ usedVar }}
109
- {% end${tag} %}
110
- `;
111
-
112
- const offenses = await runLiquidCheck(UnusedAssign, sourceCode);
113
- expect(offenses).to.not.be.empty;
114
- }
115
- });
116
-
117
87
  it('should not report unused assigns for things used in a HTML raw-like tag', async () => {
118
88
  const tags = ['style', 'script'];
119
89
  for (const tag of tags) {
@@ -14,9 +14,9 @@ export const UnusedAssign: LiquidCheckDefinition = {
14
14
  name: 'Prevent unused assigns',
15
15
  docs: {
16
16
  description:
17
- 'This check exists to prevent bloat in themes by surfacing variable definitions that are not used.',
17
+ 'This check exists to prevent bloat by surfacing variable definitions that are not used.',
18
18
  recommended: true,
19
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unused-assign',
19
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unused-assign',
20
20
  },
21
21
  type: SourceCodeType.LiquidHtml,
22
22
  severity: Severity.WARNING,
@@ -10,7 +10,7 @@ export const UnusedDocParam: LiquidCheckDefinition = {
10
10
  description:
11
11
  'This check exists to ensure any parameters defined in the `doc` tag are used within the partial.',
12
12
  recommended: true,
13
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/unused-doc-param',
13
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/unused-doc-param',
14
14
  },
15
15
  type: SourceCodeType.LiquidHtml,
16
16
  severity: Severity.WARNING,
@@ -104,7 +104,7 @@ export function isLoopLiquidTag(tag: LiquidTag): tag is LiquidTagFor | LiquidTag
104
104
  return LoopNamedTags.includes(tag.name as any);
105
105
  }
106
106
 
107
- const RawTagsThatDoNotParseTheirContents = ['raw', 'stylesheet', 'javascript', 'schema'];
107
+ const RawTagsThatDoNotParseTheirContents = ['raw'];
108
108
 
109
109
  function isRawTagThatDoesNotParseItsContent(node: LiquidHtmlNode) {
110
110
  return (
@@ -9,7 +9,7 @@ export const ValidDocParamTypes: LiquidCheckDefinition = {
9
9
  description:
10
10
  'This check exists to ensure any parameter types defined in the `doc` tag are valid.',
11
11
  recommended: true,
12
- url: 'https://shopify.dev/docs/storefronts/themes/tools/theme-check/checks/valid-doc-param-types',
12
+ url: 'https://documentation.platformos.com/developer-guide/platformos-check/checks/valid-doc-param-types',
13
13
  },
14
14
  type: SourceCodeType.LiquidHtml,
15
15
  severity: Severity.ERROR,
@@ -18,14 +18,14 @@ export const ValidDocParamTypes: LiquidCheckDefinition = {
18
18
  },
19
19
 
20
20
  create(context) {
21
- if (!context.themeDocset) {
21
+ if (!context.platformosDocset) {
22
22
  return {};
23
23
  }
24
24
 
25
- // To avoid recalculating valid param types during theme-check, constructing
25
+ // To avoid recalculating valid param types during platformos-check, constructing
26
26
  // the promise beforehand.
27
27
  const validParamTypesPromise = context
28
- .themeDocset!.liquidDrops()
28
+ .platformosDocset!.liquidDrops()
29
29
  .then((entries) => new Set(getValidParamTypes(entries).keys()));
30
30
 
31
31
  return {