@platformos/platformos-check-common 0.0.6 → 0.0.8

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 (304) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/AugmentedPlatformOSDocset.d.ts +11 -0
  3. package/dist/AugmentedPlatformOSDocset.js +81 -0
  4. package/dist/AugmentedPlatformOSDocset.js.map +1 -0
  5. package/dist/JSONValidator.js +1 -1
  6. package/dist/JSONValidator.js.map +1 -1
  7. package/dist/checks/deprecated-filter/index.js +4 -41
  8. package/dist/checks/deprecated-filter/index.js.map +1 -1
  9. package/dist/checks/deprecated-tag/index.js +21 -22
  10. package/dist/checks/deprecated-tag/index.js.map +1 -1
  11. package/dist/checks/duplicate-function-arguments/index.js +1 -1
  12. package/dist/checks/duplicate-function-arguments/index.js.map +1 -1
  13. package/dist/checks/duplicate-render-partial-arguments/index.js +1 -1
  14. package/dist/checks/duplicate-render-partial-arguments/index.js.map +1 -1
  15. package/dist/checks/graphql/index.js +1 -1
  16. package/dist/checks/graphql/index.js.map +1 -1
  17. package/dist/checks/img-width-and-height/index.js +1 -1
  18. package/dist/checks/img-width-and-height/index.js.map +1 -1
  19. package/dist/checks/index.d.ts +3 -3
  20. package/dist/checks/index.js +4 -79
  21. package/dist/checks/index.js.map +1 -1
  22. package/dist/checks/json-syntax-error/index.js +1 -1
  23. package/dist/checks/json-syntax-error/index.js.map +1 -1
  24. package/dist/checks/liquid-html-syntax-error/index.js +2 -2
  25. package/dist/checks/liquid-html-syntax-error/index.js.map +1 -1
  26. package/dist/checks/matching-translations/index.d.ts +2 -2
  27. package/dist/checks/matching-translations/index.js +20 -31
  28. package/dist/checks/matching-translations/index.js.map +1 -1
  29. package/dist/checks/metadata-params/index.js +6 -3
  30. package/dist/checks/metadata-params/index.js.map +1 -1
  31. package/dist/checks/missing-asset/index.js +1 -1
  32. package/dist/checks/missing-asset/index.js.map +1 -1
  33. package/dist/checks/missing-partial/index.d.ts +6 -0
  34. package/dist/checks/missing-partial/index.js +70 -0
  35. package/dist/checks/missing-partial/index.js.map +1 -0
  36. package/dist/checks/orphaned-partial/index.js +4 -4
  37. package/dist/checks/orphaned-partial/index.js.map +1 -1
  38. package/dist/checks/parser-blocking-script/index.js +10 -36
  39. package/dist/checks/parser-blocking-script/index.js.map +1 -1
  40. package/dist/checks/parser-blocking-script/suggestions.d.ts +1 -2
  41. package/dist/checks/parser-blocking-script/suggestions.js +1 -11
  42. package/dist/checks/parser-blocking-script/suggestions.js.map +1 -1
  43. package/dist/checks/reserved-doc-param-names/index.js +6 -5
  44. package/dist/checks/reserved-doc-param-names/index.js.map +1 -1
  45. package/dist/checks/translation-key-exists/index.js +1 -1
  46. package/dist/checks/translation-key-exists/index.js.map +1 -1
  47. package/dist/checks/unclosed-html-element/index.js +5 -1
  48. package/dist/checks/unclosed-html-element/index.js.map +1 -1
  49. package/dist/checks/undefined-object/index.js +7 -30
  50. package/dist/checks/undefined-object/index.js.map +1 -1
  51. package/dist/checks/unique-doc-param-names/index.js +1 -1
  52. package/dist/checks/unique-doc-param-names/index.js.map +1 -1
  53. package/dist/checks/unknown-filter/index.js +3 -3
  54. package/dist/checks/unknown-filter/index.js.map +1 -1
  55. package/dist/checks/unknown-property/index.js +1 -1
  56. package/dist/checks/unknown-property/index.js.map +1 -1
  57. package/dist/checks/unrecognized-render-partial-arguments/index.js +2 -2
  58. package/dist/checks/unrecognized-render-partial-arguments/index.js.map +1 -1
  59. package/dist/checks/unused-assign/index.js +1 -1
  60. package/dist/checks/unused-assign/index.js.map +1 -1
  61. package/dist/checks/unused-doc-param/index.js +1 -1
  62. package/dist/checks/unused-doc-param/index.js.map +1 -1
  63. package/dist/checks/utils.js +1 -1
  64. package/dist/checks/utils.js.map +1 -1
  65. package/dist/checks/valid-content-for-arguments/index.js +1 -1
  66. package/dist/checks/valid-content-for-arguments/index.js.map +1 -1
  67. package/dist/checks/valid-doc-param-types/index.js +4 -4
  68. package/dist/checks/valid-doc-param-types/index.js.map +1 -1
  69. package/dist/checks/valid-html-translation/index.d.ts +2 -2
  70. package/dist/checks/valid-html-translation/index.js +4 -4
  71. package/dist/checks/valid-html-translation/index.js.map +1 -1
  72. package/dist/checks/valid-json/index.js +1 -1
  73. package/dist/checks/valid-json/index.js.map +1 -1
  74. package/dist/checks/valid-render-partial-argument-types/index.js +2 -2
  75. package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -1
  76. package/dist/checks/variable-name/index.js +1 -1
  77. package/dist/checks/variable-name/index.js.map +1 -1
  78. package/dist/context-utils.d.ts +2 -7
  79. package/dist/context-utils.js +39 -109
  80. package/dist/context-utils.js.map +1 -1
  81. package/dist/disabled-checks/index.js +4 -2
  82. package/dist/disabled-checks/index.js.map +1 -1
  83. package/dist/find-root.d.ts +7 -10
  84. package/dist/find-root.js +10 -17
  85. package/dist/find-root.js.map +1 -1
  86. package/dist/fixes/autofix.d.ts +4 -4
  87. package/dist/fixes/autofix.js +2 -2
  88. package/dist/fixes/autofix.js.map +1 -1
  89. package/dist/fixes/correctors/index.js +4 -0
  90. package/dist/fixes/correctors/index.js.map +1 -1
  91. package/dist/index.d.ts +4 -5
  92. package/dist/index.js +34 -17
  93. package/dist/index.js.map +1 -1
  94. package/dist/jsonc/parse.d.ts +1 -1
  95. package/dist/jsonc/parse.js +1 -1
  96. package/dist/liquid-doc/arguments.d.ts +7 -8
  97. package/dist/liquid-doc/arguments.js +20 -28
  98. package/dist/liquid-doc/arguments.js.map +1 -1
  99. package/dist/liquid-doc/liquidDoc.d.ts +1 -1
  100. package/dist/liquid-doc/liquidDoc.js.map +1 -1
  101. package/dist/liquid-doc/utils.d.ts +1 -1
  102. package/dist/liquid-doc/utils.js +4 -3
  103. package/dist/liquid-doc/utils.js.map +1 -1
  104. package/dist/path.d.ts +1 -0
  105. package/dist/path.js +5 -1
  106. package/dist/path.js.map +1 -1
  107. package/dist/test/MockApp.d.ts +16 -0
  108. package/dist/test/MockApp.js +16 -0
  109. package/dist/test/MockApp.js.map +1 -0
  110. package/dist/test/MockFileSystem.d.ts +3 -3
  111. package/dist/test/MockFileSystem.js +6 -6
  112. package/dist/test/MockFileSystem.js.map +1 -1
  113. package/dist/test/index.d.ts +1 -1
  114. package/dist/test/index.js +1 -1
  115. package/dist/test/index.js.map +1 -1
  116. package/dist/test/test-helper.d.ts +10 -9
  117. package/dist/test/test-helper.js +15 -106
  118. package/dist/test/test-helper.js.map +1 -1
  119. package/dist/to-source-code.d.ts +4 -3
  120. package/dist/to-source-code.js +20 -0
  121. package/dist/to-source-code.js.map +1 -1
  122. package/dist/tsconfig.tsbuildinfo +1 -1
  123. package/dist/types/platformos-liquid-docs.d.ts +128 -0
  124. package/dist/types/platformos-liquid-docs.js +3 -0
  125. package/dist/types/platformos-liquid-docs.js.map +1 -0
  126. package/dist/types/schemas/index.d.ts +0 -2
  127. package/dist/types/schemas/index.js.map +1 -1
  128. package/dist/types.d.ts +18 -67
  129. package/dist/types.js +3 -5
  130. package/dist/types.js.map +1 -1
  131. package/dist/utils/file-utils.js +1 -2
  132. package/dist/utils/file-utils.js.map +1 -1
  133. package/dist/utils/index.d.ts +0 -1
  134. package/dist/utils/index.js +0 -1
  135. package/dist/utils/index.js.map +1 -1
  136. package/dist/yaml/parse.d.ts +5 -0
  137. package/dist/yaml/parse.js +94 -0
  138. package/dist/yaml/parse.js.map +1 -0
  139. package/package.json +9 -9
  140. package/src/{AugmentedThemeDocset.spec.ts → AugmentedPlatformOSDocset.spec.ts} +47 -34
  141. package/src/AugmentedPlatformOSDocset.ts +89 -0
  142. package/src/JSONValidator.ts +1 -1
  143. package/src/checks/deprecated-filter/index.spec.ts +76 -248
  144. package/src/checks/deprecated-filter/index.ts +5 -53
  145. package/src/checks/deprecated-tag/index.spec.ts +85 -34
  146. package/src/checks/deprecated-tag/index.ts +27 -22
  147. package/src/checks/duplicate-function-arguments/index.ts +1 -1
  148. package/src/checks/duplicate-render-partial-arguments/index.ts +1 -1
  149. package/src/checks/graphql/index.ts +1 -1
  150. package/src/checks/img-width-and-height/index.ts +1 -1
  151. package/src/checks/index.ts +11 -80
  152. package/src/checks/invalid-hash-assign-target/index.spec.ts +14 -14
  153. package/src/checks/json-syntax-error/index.ts +1 -1
  154. package/src/checks/liquid-html-syntax-error/checks/InvalidBooleanExpression.spec.ts +0 -11
  155. package/src/checks/liquid-html-syntax-error/checks/InvalidLoopArguments.spec.ts +1 -2
  156. package/src/checks/liquid-html-syntax-error/index.spec.ts +1 -6
  157. package/src/checks/liquid-html-syntax-error/index.ts +2 -2
  158. package/src/checks/matching-translations/index.spec.ts +89 -346
  159. package/src/checks/matching-translations/index.ts +24 -35
  160. package/src/checks/metadata-params/index.ts +5 -7
  161. package/src/checks/missing-asset/index.ts +1 -1
  162. package/src/checks/{missing-template → missing-partial}/index.spec.ts +6 -6
  163. package/src/checks/{missing-template → missing-partial}/index.ts +6 -20
  164. package/src/checks/orphaned-partial/index.ts +3 -3
  165. package/src/checks/parser-blocking-script/index.spec.ts +0 -118
  166. package/src/checks/parser-blocking-script/index.ts +3 -33
  167. package/src/checks/parser-blocking-script/suggestions.ts +1 -28
  168. package/src/checks/translation-key-exists/index.ts +1 -1
  169. package/src/checks/unclosed-html-element/index.ts +5 -1
  170. package/src/checks/undefined-object/index.spec.ts +3 -109
  171. package/src/checks/undefined-object/index.ts +8 -33
  172. package/src/checks/unique-doc-param-names/index.ts +1 -1
  173. package/src/checks/unknown-filter/index.spec.ts +2 -2
  174. package/src/checks/unknown-filter/index.ts +3 -3
  175. package/src/checks/unknown-property/index.ts +1 -1
  176. package/src/checks/unrecognized-render-partial-arguments/index.spec.ts +5 -5
  177. package/src/checks/unrecognized-render-partial-arguments/index.ts +2 -5
  178. package/src/checks/unused-assign/index.spec.ts +0 -30
  179. package/src/checks/unused-assign/index.ts +1 -1
  180. package/src/checks/unused-doc-param/index.ts +1 -1
  181. package/src/checks/utils.ts +1 -1
  182. package/src/checks/valid-doc-param-types/index.ts +4 -4
  183. package/src/checks/valid-html-translation/index.spec.ts +42 -32
  184. package/src/checks/valid-html-translation/index.ts +7 -7
  185. package/src/checks/valid-json/index.ts +1 -1
  186. package/src/checks/valid-render-partial-argument-types/index.ts +2 -5
  187. package/src/checks/variable-name/index.ts +1 -1
  188. package/src/context-utils.spec.ts +49 -77
  189. package/src/context-utils.ts +39 -128
  190. package/src/disabled-checks/index.spec.ts +35 -0
  191. package/src/disabled-checks/index.ts +4 -2
  192. package/src/find-root.ts +12 -22
  193. package/src/fixes/autofix.spec.ts +2 -2
  194. package/src/fixes/autofix.ts +4 -4
  195. package/src/fixes/correctors/index.ts +4 -0
  196. package/src/ignore.spec.ts +0 -1
  197. package/src/index.ts +33 -21
  198. package/src/jsonc/parse.ts +1 -1
  199. package/src/liquid-doc/arguments.spec.ts +19 -45
  200. package/src/liquid-doc/arguments.ts +26 -39
  201. package/src/liquid-doc/liquidDoc.ts +1 -2
  202. package/src/liquid-doc/utils.ts +4 -3
  203. package/src/path.ts +1 -0
  204. package/src/test/{MockTheme.ts → MockApp.ts} +1 -1
  205. package/src/test/MockFileSystem.ts +9 -6
  206. package/src/test/index.ts +1 -1
  207. package/src/test/test-helper.ts +29 -127
  208. package/src/to-source-code.ts +20 -1
  209. package/src/types/{theme-liquid-docs.ts → platformos-liquid-docs.ts} +8 -13
  210. package/src/types/schemas/index.ts +0 -2
  211. package/src/types.ts +21 -92
  212. package/src/utils/file-utils.ts +0 -1
  213. package/src/utils/index.ts +0 -1
  214. package/src/yaml/parse.ts +111 -0
  215. package/src/AugmentedThemeDocset.ts +0 -137
  216. package/src/checks/app-block-missing-schema/index.spec.ts +0 -121
  217. package/src/checks/app-block-missing-schema/index.ts +0 -46
  218. package/src/checks/app-block-valid-tags/index.spec.ts +0 -96
  219. package/src/checks/app-block-valid-tags/index.ts +0 -54
  220. package/src/checks/asset-preload/index.spec.ts +0 -78
  221. package/src/checks/asset-preload/index.ts +0 -65
  222. package/src/checks/asset-size-app-block-css/index.spec.ts +0 -88
  223. package/src/checks/asset-size-app-block-css/index.ts +0 -78
  224. package/src/checks/asset-size-app-block-javascript/index.spec.ts +0 -66
  225. package/src/checks/asset-size-app-block-javascript/index.ts +0 -78
  226. package/src/checks/asset-size-css/index.spec.ts +0 -166
  227. package/src/checks/asset-size-css/index.ts +0 -160
  228. package/src/checks/asset-size-javascript/index.spec.ts +0 -184
  229. package/src/checks/asset-size-javascript/index.ts +0 -144
  230. package/src/checks/block-id-usage/index.spec.ts +0 -76
  231. package/src/checks/block-id-usage/index.ts +0 -72
  232. package/src/checks/cdn-preconnect/index.spec.ts +0 -40
  233. package/src/checks/cdn-preconnect/index.ts +0 -43
  234. package/src/checks/content-for-header-modification/index.spec.ts +0 -65
  235. package/src/checks/content-for-header-modification/index.ts +0 -72
  236. package/src/checks/deprecate-bgsizes/index.spec.ts +0 -41
  237. package/src/checks/deprecate-bgsizes/index.ts +0 -49
  238. package/src/checks/deprecate-lazysizes/index.spec.ts +0 -26
  239. package/src/checks/deprecate-lazysizes/index.ts +0 -58
  240. package/src/checks/deprecated-filter/fixes.ts +0 -264
  241. package/src/checks/deprecated-fonts-on-sections-and-blocks/deprecated-fonts-data.ts +0 -1343
  242. package/src/checks/deprecated-fonts-on-sections-and-blocks/index.spec.ts +0 -613
  243. package/src/checks/deprecated-fonts-on-sections-and-blocks/index.ts +0 -284
  244. package/src/checks/deprecated-fonts-on-settings-schema/index.spec.ts +0 -102
  245. package/src/checks/deprecated-fonts-on-settings-schema/index.ts +0 -66
  246. package/src/checks/duplicate-content-for-arguments/index.spec.ts +0 -98
  247. package/src/checks/duplicate-content-for-arguments/index.ts +0 -43
  248. package/src/checks/empty-block-content/index.spec.ts +0 -117
  249. package/src/checks/empty-block-content/index.ts +0 -60
  250. package/src/checks/hardcoded-routes/index.spec.ts +0 -58
  251. package/src/checks/hardcoded-routes/index.ts +0 -100
  252. package/src/checks/json-missing-block/index.spec.ts +0 -435
  253. package/src/checks/json-missing-block/index.ts +0 -56
  254. package/src/checks/json-missing-block/missing-block-utils.ts +0 -147
  255. package/src/checks/liquid-free-settings/index.spec.ts +0 -180
  256. package/src/checks/liquid-free-settings/index.ts +0 -79
  257. package/src/checks/missing-content-for-arguments/index.spec.ts +0 -144
  258. package/src/checks/missing-content-for-arguments/index.ts +0 -46
  259. package/src/checks/pagination-size/index.spec.ts +0 -158
  260. package/src/checks/pagination-size/index.ts +0 -104
  261. package/src/checks/remote-asset/index.spec.ts +0 -280
  262. package/src/checks/remote-asset/index.ts +0 -238
  263. package/src/checks/reserved-doc-param-names/index.spec.ts +0 -62
  264. package/src/checks/reserved-doc-param-names/index.ts +0 -57
  265. package/src/checks/schema-presets-block-order/index.spec.ts +0 -344
  266. package/src/checks/schema-presets-block-order/index.ts +0 -154
  267. package/src/checks/schema-presets-static-blocks/index.spec.ts +0 -145
  268. package/src/checks/schema-presets-static-blocks/index.ts +0 -126
  269. package/src/checks/static-stylesheet-and-javascript-tags/index.spec.ts +0 -257
  270. package/src/checks/static-stylesheet-and-javascript-tags/index.ts +0 -48
  271. package/src/checks/unique-settings-id/index.spec.ts +0 -24
  272. package/src/checks/unique-settings-id/index.ts +0 -84
  273. package/src/checks/unique-settings-id/test-data.ts +0 -1191
  274. package/src/checks/unique-static-block-id/index.spec.ts +0 -55
  275. package/src/checks/unique-static-block-id/index.ts +0 -60
  276. package/src/checks/unrecognized-content-for-arguments/index.spec.ts +0 -145
  277. package/src/checks/unrecognized-content-for-arguments/index.ts +0 -55
  278. package/src/checks/valid-block-target/index.spec.ts +0 -1396
  279. package/src/checks/valid-block-target/index.ts +0 -142
  280. package/src/checks/valid-content-for-argument-types/index.spec.ts +0 -382
  281. package/src/checks/valid-content-for-argument-types/index.ts +0 -42
  282. package/src/checks/valid-content-for-arguments/index.spec.ts +0 -107
  283. package/src/checks/valid-content-for-arguments/index.ts +0 -98
  284. package/src/checks/valid-local-blocks/index.spec.ts +0 -286
  285. package/src/checks/valid-local-blocks/index.ts +0 -100
  286. package/src/checks/valid-local-blocks/valid-block-utils.ts +0 -97
  287. package/src/checks/valid-schema/index.spec.ts +0 -174
  288. package/src/checks/valid-schema/index.ts +0 -41
  289. package/src/checks/valid-schema-name/index.spec.ts +0 -112
  290. package/src/checks/valid-schema-name/index.ts +0 -75
  291. package/src/checks/valid-settings-key/index.spec.ts +0 -321
  292. package/src/checks/valid-settings-key/index.ts +0 -144
  293. package/src/checks/valid-static-block-type/index.spec.ts +0 -38
  294. package/src/checks/valid-static-block-type/index.ts +0 -58
  295. package/src/checks/valid-visible-if/index.spec.ts +0 -619
  296. package/src/checks/valid-visible-if/index.ts +0 -184
  297. package/src/checks/valid-visible-if/visible-if-utils.ts +0 -158
  298. package/src/tags/content-for.ts +0 -25
  299. package/src/to-schema.ts +0 -231
  300. package/src/types/schemas/section.ts +0 -86
  301. package/src/types/schemas/theme-block.ts +0 -34
  302. package/src/types/theme-schemas.ts +0 -80
  303. package/src/utils/block.ts +0 -300
  304. package/src/utils/markup.ts +0 -10
@@ -0,0 +1,128 @@
1
+ /**
2
+ * platformOS Liquid docset.
3
+ */
4
+ export interface PlatformOSDocset {
5
+ /** Whether it was augmented prior to being passed. */
6
+ isAugmented?: boolean;
7
+ /** Returns Liquid filters available in platformOS. */
8
+ filters(): Promise<FilterEntry[]>;
9
+ /** Returns objects (or Liquid variables) available in platformOS. */
10
+ objects(): Promise<ObjectEntry[]>;
11
+ /** Returns objects (excluding global variables, hidden objects, and deprecated objects) available in platformOS. */
12
+ liquidDrops(): Promise<ObjectEntry[]>;
13
+ /** Returns Liquid tags available in platformOS. */
14
+ tags(): Promise<TagEntry[]>;
15
+ /** Returns graphql root query */
16
+ graphQL(): Promise<string | null>;
17
+ }
18
+ /** A URI that will uniquely describe the schema */
19
+ export type JSONSchemaURI = string;
20
+ export interface SchemaDefinition {
21
+ /** A URI that will uniquely describe the schema */
22
+ uri: JSONSchemaURI;
23
+ /** A JSON Schema as string */
24
+ schema: string;
25
+ /**
26
+ * When absent, does not match on file. Assumed to be used by other
27
+ * schemas.
28
+ *
29
+ * e.g. '\*\*\/sections\/\*.liquid', '\*\*\/locales\/*.json'
30
+ */
31
+ fileMatch?: string[];
32
+ }
33
+ /** Source of JSON schemas for the app. */
34
+ export interface JsonValidationSet {
35
+ /** All relevant SchemaDefinitions. */
36
+ schemas: () => Promise<SchemaDefinition[]>;
37
+ }
38
+ export interface DocsetEntry {
39
+ /** The name of the entry. */
40
+ name: string;
41
+ /** A brief summary of the entry. */
42
+ summary?: string;
43
+ /** A detailed description of the entry. */
44
+ description?: string;
45
+ /** Whether the entry is deprecated or not. */
46
+ deprecated?: boolean;
47
+ /** The reason why the entry is deprecated. */
48
+ deprecation_reason?: string;
49
+ /** documentation examples */
50
+ examples?: Example[];
51
+ }
52
+ export interface ObjectEntry extends DocsetEntry {
53
+ /**
54
+ * Holds the information on whether an ObjectEntry refers to a type or global variable.
55
+ *
56
+ * When not defined, we assume it's a global.
57
+ */
58
+ access?: Access;
59
+ /**
60
+ * Object properties and their types
61
+ */
62
+ properties?: ObjectEntry[];
63
+ /**
64
+ * The return type of the variable.
65
+ * When multiple, it's because the return value is an enum (e.g. video | image).
66
+ */
67
+ return_type?: ReturnType[];
68
+ /** Don't care about this */
69
+ json_data?: JsonData;
70
+ }
71
+ export interface FilterEntry extends DocsetEntry {
72
+ /** Used for categorization on the docs website */
73
+ category?: string;
74
+ /** Argument types */
75
+ parameters?: Parameter[];
76
+ /** Return type */
77
+ return_type?: ReturnType[];
78
+ /** e.g. cart | item_count_for_variant: {variant_id} */
79
+ syntax?: string;
80
+ }
81
+ export interface TagEntry extends DocsetEntry {
82
+ /** Used for categorization on the docs website */
83
+ category?: string;
84
+ /** Argument types */
85
+ parameters?: Parameter[];
86
+ /** e.g. {% for item in array %}\n expression{% endfor %} */
87
+ syntax?: string;
88
+ /** e.g. item, array, expression */
89
+ syntax_keywords?: SyntaxKeyword[];
90
+ }
91
+ export interface Access {
92
+ /** Whether the ObjectEntry is a global variable or a type */
93
+ global: boolean;
94
+ parents: Parent[];
95
+ template: string[];
96
+ }
97
+ export interface Parent {
98
+ object: string;
99
+ property: string;
100
+ }
101
+ export interface Parameter {
102
+ description: string;
103
+ name: string;
104
+ positional: boolean;
105
+ required: boolean;
106
+ types: string[];
107
+ }
108
+ export interface SyntaxKeyword {
109
+ description: string;
110
+ keyword: string;
111
+ }
112
+ export interface Example {
113
+ }
114
+ export interface JsonData {
115
+ }
116
+ export type ReturnType = EnumReturnType | ArrayReturnType | OtherReturnType;
117
+ export interface EnumReturnType {
118
+ type: 'string';
119
+ name: string;
120
+ }
121
+ export interface ArrayReturnType {
122
+ type: 'array';
123
+ array_value: string;
124
+ }
125
+ export interface OtherReturnType {
126
+ type: 'string' | 'number' | 'untyped' | string;
127
+ name: '';
128
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=platformos-liquid-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformos-liquid-docs.js","sourceRoot":"","sources":["../../src/types/platformos-liquid-docs.ts"],"names":[],"mappings":""}
@@ -1,5 +1,3 @@
1
- export { ThemeBlock } from './theme-block';
2
- export { Section } from './section';
3
1
  export { Setting } from './setting';
4
2
  export { Preset } from './preset';
5
3
  export { Template } from './template';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/schemas/index.ts"],"names":[],"mappings":";;;AAEA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/schemas/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
package/dist/types.d.ts CHANGED
@@ -3,22 +3,18 @@ import { Schema, Settings } from './types/schema-prop-factory';
3
3
  import { AbstractFileSystem, UriString } from '@platformos/platformos-common';
4
4
  import { JSONCorrector, StringCorrector } from './fixes';
5
5
  import { ArrayNode, ASTNode, JSONNode, JSONNodeTypes, LiteralNode, ObjectNode, PropertyNode, ValueNode } from './jsonc/types';
6
- import { JsonValidationSet, ThemeDocset } from './types/theme-liquid-docs';
7
- import { AppBlockSchema, SectionSchema, ThemeBlockSchema } from './types/theme-schemas';
6
+ import { JsonValidationSet, PlatformOSDocset } from './types/platformos-liquid-docs';
8
7
  import { DocDefinition } from './liquid-doc/liquidDoc';
9
8
  import { GraphQLCorrector } from './fixes/correctors/graphql-corrector';
10
9
  export * from './jsonc/types';
11
10
  export * from './types/schema-prop-factory';
12
- export * from './types/theme-liquid-docs';
13
- export * from './types/theme-schemas';
11
+ export * from './types/platformos-liquid-docs';
14
12
  export declare const isObjectNode: (node?: ASTNode) => node is ObjectNode;
15
13
  export declare const isArrayNode: (node?: ASTNode) => node is ArrayNode;
16
14
  export declare const isPropertyNode: (node?: ASTNode) => node is PropertyNode;
17
15
  export declare const isValueNode: (node?: ASTNode) => node is ValueNode;
18
16
  export declare const isLiteralNode: (node?: ASTNode) => node is LiteralNode;
19
- export declare const Modes: readonly ["theme", "app"];
20
- export type Mode = (typeof Modes)[number];
21
- export type Theme = SourceCode<SourceCodeType>[];
17
+ export type App = SourceCode<SourceCodeType>[];
22
18
  export type SourceCode<T = SourceCodeType> = T extends SourceCodeType ? {
23
19
  /** A normalized uri the file. */
24
20
  uri: string;
@@ -34,7 +30,8 @@ export type SourceCode<T = SourceCodeType> = T extends SourceCodeType ? {
34
30
  export declare enum SourceCodeType {
35
31
  JSON = "JSON",
36
32
  LiquidHtml = "LiquidHtml",
37
- GraphQL = "GraphQL"
33
+ GraphQL = "GraphQL",
34
+ YAML = "YAML"
38
35
  }
39
36
  export type LiquidSourceCode = SourceCode<SourceCodeType.LiquidHtml>;
40
37
  export type PartialSourceCode = SourceCode<SourceCodeType.LiquidHtml> & PlatformOSFile & {
@@ -50,6 +47,9 @@ export { LiquidHtmlNode, LiquidHtmlNodeTypes };
50
47
  export type JSONSourceCode = SourceCode<SourceCodeType.JSON>;
51
48
  export type JSONCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.JSON, S>;
52
49
  export type JSONCheck = Check<SourceCodeType.JSON>;
50
+ export type YAMLSourceCode = SourceCode<SourceCodeType.YAML>;
51
+ export type YAMLCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.YAML, S>;
52
+ export type YAMLCheck = Check<SourceCodeType.YAML>;
53
53
  export interface PlatformOSFile {
54
54
  name: string;
55
55
  module_name: string;
@@ -64,6 +64,7 @@ export type AST = {
64
64
  [SourceCodeType.JSON]: JSONNode;
65
65
  [SourceCodeType.LiquidHtml]: LiquidHtmlNode;
66
66
  [SourceCodeType.GraphQL]: GraphQLDocumentNode;
67
+ [SourceCodeType.YAML]: JSONNode;
67
68
  }[T];
68
69
  };
69
70
  export type NodeTypes = {
@@ -71,6 +72,7 @@ export type NodeTypes = {
71
72
  [SourceCodeType.JSON]: JSONNodeTypes;
72
73
  [SourceCodeType.LiquidHtml]: LiquidHtmlNodeTypes;
73
74
  [SourceCodeType.GraphQL]: 'Document';
75
+ [SourceCodeType.YAML]: JSONNodeTypes;
74
76
  }[T];
75
77
  };
76
78
  /** A vscode-uri string. */
@@ -91,7 +93,6 @@ export type GraphQLSourceCode = SourceCode<SourceCodeType.GraphQL>;
91
93
  export type GraphQLCheck = Check<SourceCodeType.GraphQL>;
92
94
  export type GraphQLCheckDefinition<S extends Schema = Schema> = CheckDefinition<SourceCodeType.GraphQL, S>;
93
95
  export interface Config {
94
- context: Mode;
95
96
  settings: ChecksSettings;
96
97
  checks: CheckDefinition<SourceCodeType, Schema>[];
97
98
  rootUri: string;
@@ -145,8 +146,6 @@ export type CheckDefinition<T = SourceCodeType, S extends Schema = Schema> = T e
145
146
  *
146
147
  * When values are given, this check will be `enabled: false` in the `all.yml` configuration
147
148
  * and `enabled: true` within all yaml configurations with a matching filename.
148
- *
149
- * Note: theme-app-extension target is deprecated (Shopify-specific)
150
149
  */
151
150
  targets?: ConfigTarget[];
152
151
  deprecated?: boolean;
@@ -218,21 +217,6 @@ type CheckLifecycleMethods<T extends SourceCodeType> = {
218
217
  ast: AST[T];
219
218
  }): Promise<void>;
220
219
  };
221
- export type MetafieldCategory = 'article' | 'blog' | 'collection' | 'company' | 'company_location' | 'location' | 'market' | 'order' | 'page' | 'product' | 'variant' | 'shop';
222
- export type MetafieldDefinitionMap = {
223
- [key in MetafieldCategory]: MetafieldDefinition[];
224
- };
225
- export type MetafieldDefinition = {
226
- key: string;
227
- name: string;
228
- namespace: string;
229
- description: string;
230
- type: MetafieldDefinitionType;
231
- };
232
- type MetafieldDefinitionType = {
233
- category: string;
234
- name: string;
235
- };
236
220
  export type Translations = {
237
221
  [k in string]: string | Translations;
238
222
  };
@@ -243,23 +227,14 @@ export type Translations = {
243
227
  *
244
228
  * It could be a specific range that points to a whole file
245
229
  * {
246
- * source: { uri: 'file:///templates/index.json', range: [167, 190] },
247
- * target: 'file:///sections/custom-section.liquid'
248
- * }
249
- *
250
- * It could be a specific range that points to a specific range
251
- * {
252
- * // e.g. `<parent-component></parent-component>`
253
230
  * source: { uri: 'file:///app/views/partials/parent.liquid', range: [167, 190] },
254
- *
255
- * // e.g. window.customElements.define('parent-component', ParentComponent);
256
- * target: { uri: 'file:///assets/theme.js', range: [0, undefined] }
231
+ * target: 'file:///app/views/partials/child.liquid'
257
232
  * }
258
233
  */
259
234
  export type Reference = {
260
235
  source: Location;
261
236
  target: Location;
262
- type: 'direct' | 'indirect' | 'preset';
237
+ type: 'direct' | 'indirect';
263
238
  };
264
239
  export type Range = [start: number, end: number];
265
240
  export type Location = {
@@ -272,35 +247,14 @@ export interface Dependencies {
272
247
  /** The file system abstraction used to read files. */
273
248
  fs: AbstractFileSystem;
274
249
  /** The typing information */
275
- themeDocset?: ThemeDocset;
276
- /** The blocks/sections JSON schemas */
250
+ platformosDocset?: PlatformOSDocset;
251
+ /** The JSON schemas */
277
252
  jsonValidationSet?: JsonValidationSet;
278
- /** Returns the typing information for the theme's metafields */
279
- getMetafieldDefinitions?: (rootUri: UriString) => Promise<MetafieldDefinitionMap>;
280
- /**
281
- * Asynchronously get the block schema for 'blocks/${name}.liquid'
282
- * May return undefined when the theme isn't preloaded.
283
- * See {@link ThemeBlockSchema} for more information
284
- */
285
- getBlockSchema?: (name: string) => Promise<ThemeBlockSchema | undefined>;
286
- /**
287
- * Asynchronously get the section schema for 'section/${name}.liquid'
288
- * May return undefined when the theme isn't preloaded or if there are none.
289
- * See {@link SectionSchema} for more information
290
- */
291
- getSectionSchema?: (name: string) => Promise<SectionSchema | undefined>;
292
- /**
293
- * (In theme app extension mode)
294
- * Asynchronously get the block schema for 'blocks/${name}.liquid'
295
- * May return undefined when the theme isn't preloaded.
296
- * See {@link AppBlockSchema} for more information
297
- */
298
- getAppBlockSchema?: (name: string) => Promise<AppBlockSchema | undefined>;
299
253
  /**
300
254
  * Asynchronously get the Liquid HTML AST for a file.
301
- * May return undefined when the theme isn't preloaded.
255
+ * May return undefined when the app isn't preloaded.
302
256
  *
303
- * Used in theme-checks for cross-file checks rather that going through fs.
257
+ * Used in checks for cross-file checks rather than going through fs.
304
258
  */
305
259
  getDocDefinition?: (relativePath: string) => Promise<DocDefinition | undefined>;
306
260
  /**
@@ -319,10 +273,7 @@ export interface AugmentedDependencies extends Dependencies {
319
273
  fileExists: (uri: UriString) => Promise<boolean>;
320
274
  fileSize: (uri: UriString) => Promise<number>;
321
275
  getDefaultLocale: () => Promise<string>;
322
- getDefaultSchemaLocale: () => Promise<string>;
323
276
  getDefaultTranslations(): Promise<Translations>;
324
- getDefaultSchemaTranslations(): Promise<Translations>;
325
- mode: Mode;
326
277
  }
327
278
  type StaticContextProperties<T extends SourceCodeType> = T extends SourceCodeType ? {
328
279
  report(problem: Problem<T>): void;
@@ -339,6 +290,7 @@ export type Corrector<T extends SourceCodeType> = T extends SourceCodeType ? {
339
290
  [SourceCodeType.JSON]: JSONCorrector;
340
291
  [SourceCodeType.LiquidHtml]: StringCorrector;
341
292
  [SourceCodeType.GraphQL]: GraphQLCorrector;
293
+ [SourceCodeType.YAML]: StringCorrector;
342
294
  }[T] : never;
343
295
  /**
344
296
  * A Fixer is a function that returns a Fix (a data representation of the change).
@@ -464,6 +416,5 @@ export declare enum Severity {
464
416
  /** The yaml configurations to target checks */
465
417
  export declare enum ConfigTarget {
466
418
  All = "all",
467
- Recommended = "recommended",
468
- ThemeAppExtension = "theme-app-extension"
419
+ Recommended = "recommended"
469
420
  }
package/dist/types.js CHANGED
@@ -14,13 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ConfigTarget = exports.Severity = exports.LiquidHtmlNodeTypes = exports.SourceCodeType = exports.Modes = exports.isLiteralNode = exports.isValueNode = exports.isPropertyNode = exports.isArrayNode = exports.isObjectNode = void 0;
17
+ exports.ConfigTarget = exports.Severity = exports.LiquidHtmlNodeTypes = exports.SourceCodeType = exports.isLiteralNode = exports.isValueNode = exports.isPropertyNode = exports.isArrayNode = exports.isObjectNode = void 0;
18
18
  const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
19
19
  Object.defineProperty(exports, "LiquidHtmlNodeTypes", { enumerable: true, get: function () { return liquid_html_parser_1.NodeTypes; } });
20
20
  __exportStar(require("./jsonc/types"), exports);
21
21
  __exportStar(require("./types/schema-prop-factory"), exports);
22
- __exportStar(require("./types/theme-liquid-docs"), exports);
23
- __exportStar(require("./types/theme-schemas"), exports);
22
+ __exportStar(require("./types/platformos-liquid-docs"), exports);
24
23
  const isObjectNode = (node) => node?.type === 'Object';
25
24
  exports.isObjectNode = isObjectNode;
26
25
  const isArrayNode = (node) => node?.type === 'Array';
@@ -31,12 +30,12 @@ const isValueNode = (node) => node?.type === 'Value';
31
30
  exports.isValueNode = isValueNode;
32
31
  const isLiteralNode = (node) => node?.type === 'Literal';
33
32
  exports.isLiteralNode = isLiteralNode;
34
- exports.Modes = ['theme', 'app'];
35
33
  var SourceCodeType;
36
34
  (function (SourceCodeType) {
37
35
  SourceCodeType["JSON"] = "JSON";
38
36
  SourceCodeType["LiquidHtml"] = "LiquidHtml";
39
37
  SourceCodeType["GraphQL"] = "GraphQL";
38
+ SourceCodeType["YAML"] = "YAML";
40
39
  })(SourceCodeType || (exports.SourceCodeType = SourceCodeType = {}));
41
40
  /** The severity determines the icon and color of diagnostics */
42
41
  var Severity;
@@ -50,6 +49,5 @@ var ConfigTarget;
50
49
  (function (ConfigTarget) {
51
50
  ConfigTarget["All"] = "all";
52
51
  ConfigTarget["Recommended"] = "recommended";
53
- ConfigTarget["ThemeAppExtension"] = "theme-app-extension";
54
52
  })(ConfigTarget || (exports.ConfigTarget = ConfigTarget = {}));
55
53
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uEAAkG;AA2EzE,oGA3Ea,8BAAmB,OA2Eb;AArD5C,gDAA8B;AAC9B,8DAA4C;AAC5C,4DAA0C;AAC1C,wDAAsC;AAE/B,MAAM,YAAY,GAAG,CAAC,IAAc,EAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AAA/E,QAAA,YAAY,gBAAmE;AACrF,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC;AAArF,QAAA,cAAc,kBAAuE;AAC3F,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;AAAlF,QAAA,aAAa,iBAAqE;AAElF,QAAA,KAAK,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AAkB/C,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,2CAAyB,CAAA;IACzB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAqiBD,gEAAgE;AAChE,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,6CAAW,CAAA;IACX,uCAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,+CAA+C;AAC/C,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2CAA2B,CAAA;IAC3B,yDAAyC,CAAA;AAC3C,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uEAAkG;AAwEzE,oGAxEa,8BAAmB,OAwEb;AAnD5C,gDAA8B;AAC9B,8DAA4C;AAC5C,iEAA+C;AAExC,MAAM,YAAY,GAAG,CAAC,IAAc,EAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AAA/E,QAAA,YAAY,gBAAmE;AACrF,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC;AAArF,QAAA,cAAc,kBAAuE;AAC3F,MAAM,WAAW,GAAG,CAAC,IAAc,EAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAA5E,QAAA,WAAW,eAAiE;AAClF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;AAAlF,QAAA,aAAa,iBAAqE;AAkB/F,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,2CAAyB,CAAA;IACzB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;AACf,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAkeD,gEAAgE;AAChE,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,6CAAW,CAAA;IACX,uCAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,+CAA+C;AAC/C,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2CAA2B,CAAA;AAC7B,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -5,7 +5,6 @@ exports.doesFileExceedThreshold = doesFileExceedThreshold;
5
5
  exports.getFileSize = getFileSize;
6
6
  exports.hasRemoteAssetSizeExceededThreshold = hasRemoteAssetSizeExceededThreshold;
7
7
  exports.hasLocalAssetSizeExceededThreshold = hasLocalAssetSizeExceededThreshold;
8
- const cross_fetch_1 = require("cross-fetch");
9
8
  async function doesFileExist(context, relativePath) {
10
9
  const uri = context.toUri(relativePath);
11
10
  return await context.fileExists(uri);
@@ -19,7 +18,7 @@ async function doesFileExceedThreshold(context, relativePath, thresholdInBytes)
19
18
  }
20
19
  async function getFileSize(url) {
21
20
  try {
22
- const response = await (0, cross_fetch_1.fetch)(url, { method: 'HEAD' });
21
+ const response = await fetch(url, { method: 'HEAD' });
23
22
  if (!response.ok) {
24
23
  throw new Error(`HTTP error! status: ${response.status}`);
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":";;AAGA,sCAMC;AAED,0DASC;AAED,kCAcC;AAED,kFAGC;AAED,gFAcC;AAxDD,6CAAoC;AAE7B,KAAK,UAAU,aAAa,CACjC,OAAsB,EACtB,YAA0B;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,OAAsB,EACtB,YAA0B,EAC1B,gBAAwB;IAExB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAK,EAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mCAAmC,CAAC,GAAW,EAAE,gBAAwB;IAC7F,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,QAAQ,GAAG,gBAAgB,CAAC;AACrC,CAAC;AAEM,KAAK,UAAU,kCAAkC,CAGtD,OAAsB,EAAE,YAA0B,EAAE,gBAAwB;IAC5E,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG,MAAM,uBAAuB,CACrE,OAAO,EACP,YAAY,EACZ,gBAAgB,CACjB,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":";;AAEA,sCAMC;AAED,0DASC;AAED,kCAcC;AAED,kFAGC;AAED,gFAcC;AAtDM,KAAK,UAAU,aAAa,CACjC,OAAsB,EACtB,YAA0B;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAC3C,OAAsB,EACtB,YAA0B,EAC1B,gBAAwB;IAExB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mCAAmC,CAAC,GAAW,EAAE,gBAAwB;IAC7F,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,QAAQ,GAAG,gBAAgB,CAAC;AACrC,CAAC;AAEM,KAAK,UAAU,kCAAkC,CAGtD,OAAsB,EAAE,YAA0B,EAAE,gBAAwB;IAC5E,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG,MAAM,uBAAuB,CACrE,OAAO,EACP,YAAY,EACZ,gBAAgB,CACjB,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -5,4 +5,3 @@ export * from './error';
5
5
  export * from './types';
6
6
  export * from './memo';
7
7
  export * from './indexBy';
8
- export * from './block';
@@ -21,5 +21,4 @@ __exportStar(require("./error"), exports);
21
21
  __exportStar(require("./types"), exports);
22
22
  __exportStar(require("./memo"), exports);
23
23
  __exportStar(require("./indexBy"), exports);
24
- __exportStar(require("./block"), exports);
25
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B"}
@@ -0,0 +1,5 @@
1
+ import type { JSONNode } from '../jsonc/types';
2
+ export declare class YAMLConvertError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export declare function toYAMLNode(source: string): JSONNode;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YAMLConvertError = void 0;
4
+ exports.toYAMLNode = toYAMLNode;
5
+ const yaml_1 = require("yaml");
6
+ class YAMLConvertError extends Error {
7
+ constructor(message) {
8
+ super(message);
9
+ this.name = 'YAMLConvertError';
10
+ }
11
+ }
12
+ exports.YAMLConvertError = YAMLConvertError;
13
+ function loc(start, end) {
14
+ return { start: { offset: start }, end: { offset: end } };
15
+ }
16
+ function getRange(node) {
17
+ if (node && node.range && Array.isArray(node.range)) {
18
+ const start = node.range[0] ?? 0;
19
+ const end = node.range[1] ?? 0;
20
+ return [start, end];
21
+ }
22
+ return [0, 0];
23
+ }
24
+ function toYAMLNode(source) {
25
+ const doc = (0, yaml_1.parseDocument)(source);
26
+ if (doc.errors.length > 0) {
27
+ throw new YAMLConvertError(doc.errors[0].message);
28
+ }
29
+ if (doc.contents === null || doc.contents === undefined) {
30
+ return { type: 'Object', children: [], loc: loc(0, 0) };
31
+ }
32
+ return convertNode(doc.contents, source);
33
+ }
34
+ function convertNode(node, source) {
35
+ if ((0, yaml_1.isMap)(node))
36
+ return convertMap(node, source);
37
+ if ((0, yaml_1.isSeq)(node))
38
+ return convertSeq(node, source);
39
+ if ((0, yaml_1.isScalar)(node))
40
+ return convertScalar(node);
41
+ return { type: 'Literal', value: null, raw: 'null', loc: loc(0, 0) };
42
+ }
43
+ function convertMap(node, source) {
44
+ const [start, end] = getRange(node);
45
+ return {
46
+ type: 'Object',
47
+ children: node.items.map((pair) => convertPair(pair, source)),
48
+ loc: loc(start, end),
49
+ };
50
+ }
51
+ function convertPair(pair, source) {
52
+ const key = pair.key;
53
+ const value = pair.value;
54
+ const [keyStart, keyEnd] = getRange(key);
55
+ const [, valueEnd] = value ? getRange(value) : [keyEnd, keyEnd];
56
+ const pairEnd = valueEnd > keyEnd ? valueEnd : keyEnd;
57
+ return {
58
+ type: 'Property',
59
+ key: convertIdentifier(key),
60
+ value: value
61
+ ? convertNode(value, source)
62
+ : { type: 'Literal', value: null, raw: 'null', loc: loc(keyEnd, keyEnd) },
63
+ loc: loc(keyStart, pairEnd),
64
+ };
65
+ }
66
+ function convertIdentifier(node) {
67
+ const [start, end] = getRange(node);
68
+ const value = String(node.value ?? '');
69
+ return {
70
+ type: 'Identifier',
71
+ value,
72
+ raw: JSON.stringify(value),
73
+ loc: loc(start, end),
74
+ };
75
+ }
76
+ function convertScalar(node) {
77
+ const [start, end] = getRange(node);
78
+ const value = node.value;
79
+ return {
80
+ type: 'Literal',
81
+ value,
82
+ raw: JSON.stringify(value),
83
+ loc: loc(start, end),
84
+ };
85
+ }
86
+ function convertSeq(node, source) {
87
+ const [start, end] = getRange(node);
88
+ return {
89
+ type: 'Array',
90
+ children: node.items.map((item) => convertNode(item, source)),
91
+ loc: loc(start, end),
92
+ };
93
+ }
94
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/yaml/parse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformos/platformos-check-common",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,20 +26,20 @@
26
26
  "type-check": "tsc --noEmit"
27
27
  },
28
28
  "dependencies": {
29
- "@platformos/liquid-html-parser": "0.0.6",
30
- "cross-fetch": "^4.0.0",
29
+ "@platformos/liquid-html-parser": "0.0.8",
31
30
  "graphql": "^16.12.0",
32
- "js-yaml": "^3.14.1",
33
- "jsonc-parser": "^3.2.0",
31
+ "js-yaml": "^4.1.1",
32
+ "jsonc-parser": "^3.3.1",
34
33
  "line-column": "^1.0.2",
35
34
  "lodash": "^4.17.23",
36
35
  "minimatch": "^10.2.2",
37
- "vscode-json-languageservice": "^5.3.10",
38
- "vscode-uri": "^3.0.7"
36
+ "vscode-json-languageservice": "^5.7.1",
37
+ "vscode-uri": "^3.1.0",
38
+ "yaml": "^2.8.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/js-yaml": "^4.0.9",
42
- "@types/line-column": "^1.0.0",
43
- "@types/lodash": "^4.17.20"
42
+ "@types/line-column": "^1.0.2",
43
+ "@types/lodash": "^4.17.23"
44
44
  }
45
45
  }