@platformos/platformos-check-common 0.0.12 → 0.0.13

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 (85) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/checks/circular-render/index.d.ts +2 -0
  3. package/dist/checks/circular-render/index.js +164 -0
  4. package/dist/checks/circular-render/index.js.map +1 -0
  5. package/dist/checks/index.d.ts +1 -1
  6. package/dist/checks/index.js +6 -0
  7. package/dist/checks/index.js.map +1 -1
  8. package/dist/checks/missing-page/index.d.ts +2 -0
  9. package/dist/checks/missing-page/index.js +73 -0
  10. package/dist/checks/missing-page/index.js.map +1 -0
  11. package/dist/checks/missing-partial/index.js +31 -31
  12. package/dist/checks/missing-partial/index.js.map +1 -1
  13. package/dist/checks/missing-render-partial-arguments/index.d.ts +2 -0
  14. package/dist/checks/missing-render-partial-arguments/index.js +37 -0
  15. package/dist/checks/missing-render-partial-arguments/index.js.map +1 -0
  16. package/dist/checks/nested-graphql-query/index.d.ts +2 -0
  17. package/dist/checks/nested-graphql-query/index.js +146 -0
  18. package/dist/checks/nested-graphql-query/index.js.map +1 -0
  19. package/dist/checks/translation-key-exists/index.js +16 -19
  20. package/dist/checks/translation-key-exists/index.js.map +1 -1
  21. package/dist/checks/translation-utils.d.ts +20 -0
  22. package/dist/checks/translation-utils.js +51 -0
  23. package/dist/checks/translation-utils.js.map +1 -0
  24. package/dist/checks/undefined-object/index.js +21 -0
  25. package/dist/checks/undefined-object/index.js.map +1 -1
  26. package/dist/checks/unused-translation-key/index.d.ts +4 -0
  27. package/dist/checks/unused-translation-key/index.js +85 -0
  28. package/dist/checks/unused-translation-key/index.js.map +1 -0
  29. package/dist/checks/valid-render-partial-argument-types/index.js +2 -1
  30. package/dist/checks/valid-render-partial-argument-types/index.js.map +1 -1
  31. package/dist/context-utils.d.ts +2 -1
  32. package/dist/context-utils.js +31 -1
  33. package/dist/context-utils.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/liquid-doc/arguments.js +4 -0
  38. package/dist/liquid-doc/arguments.js.map +1 -1
  39. package/dist/liquid-doc/utils.d.ts +10 -2
  40. package/dist/liquid-doc/utils.js +26 -1
  41. package/dist/liquid-doc/utils.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/dist/types.d.ts +8 -1
  44. package/dist/types.js.map +1 -1
  45. package/dist/url-helpers.d.ts +55 -0
  46. package/dist/url-helpers.js +334 -0
  47. package/dist/url-helpers.js.map +1 -0
  48. package/dist/utils/index.d.ts +1 -0
  49. package/dist/utils/index.js +1 -0
  50. package/dist/utils/index.js.map +1 -1
  51. package/dist/utils/levenshtein.d.ts +3 -0
  52. package/dist/utils/levenshtein.js +39 -0
  53. package/dist/utils/levenshtein.js.map +1 -0
  54. package/package.json +2 -2
  55. package/src/checks/graphql/index.spec.ts +2 -2
  56. package/src/checks/index.ts +6 -0
  57. package/src/checks/missing-page/index.spec.ts +755 -0
  58. package/src/checks/missing-page/index.ts +89 -0
  59. package/src/checks/missing-partial/index.spec.ts +361 -0
  60. package/src/checks/missing-partial/index.ts +39 -47
  61. package/src/checks/missing-render-partial-arguments/index.spec.ts +74 -0
  62. package/src/checks/missing-render-partial-arguments/index.ts +44 -0
  63. package/src/checks/nested-graphql-query/index.spec.ts +175 -0
  64. package/src/checks/nested-graphql-query/index.ts +203 -0
  65. package/src/checks/parser-blocking-script/index.spec.ts +7 -3
  66. package/src/checks/translation-key-exists/index.spec.ts +79 -2
  67. package/src/checks/translation-key-exists/index.ts +18 -27
  68. package/src/checks/translation-utils.ts +63 -0
  69. package/src/checks/undefined-object/index.spec.ts +30 -0
  70. package/src/checks/undefined-object/index.ts +27 -1
  71. package/src/checks/unused-assign/index.spec.ts +1 -1
  72. package/src/checks/unused-doc-param/index.spec.ts +4 -2
  73. package/src/checks/valid-doc-param-types/index.spec.ts +1 -1
  74. package/src/checks/valid-render-partial-argument-types/index.spec.ts +24 -1
  75. package/src/checks/valid-render-partial-argument-types/index.ts +3 -2
  76. package/src/checks/variable-name/index.spec.ts +1 -1
  77. package/src/context-utils.ts +33 -1
  78. package/src/index.ts +3 -0
  79. package/src/liquid-doc/arguments.ts +6 -0
  80. package/src/liquid-doc/utils.ts +26 -2
  81. package/src/types.ts +9 -1
  82. package/src/url-helpers.spec.ts +241 -0
  83. package/src/url-helpers.ts +363 -0
  84. package/src/utils/index.ts +1 -0
  85. package/src/utils/levenshtein.ts +41 -0
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SupportedDocTagTypes = exports.BasicParamTypes = void 0;
3
+ exports.SupportedDocTagTypes = exports.InferredNull = exports.BasicParamTypes = void 0;
4
4
  exports.getDefaultValueForType = getDefaultValueForType;
5
5
  exports.inferArgumentType = inferArgumentType;
6
+ exports.isNullLiteral = isNullLiteral;
6
7
  exports.isTypeCompatible = isTypeCompatible;
7
8
  exports.filePathSupportsLiquidDoc = filePathSupportsLiquidDoc;
8
9
  exports.getValidParamTypes = getValidParamTypes;
@@ -25,6 +26,8 @@ var BasicParamTypes;
25
26
  BasicParamTypes["Boolean"] = "boolean";
26
27
  BasicParamTypes["Object"] = "object";
27
28
  })(BasicParamTypes || (exports.BasicParamTypes = BasicParamTypes = {}));
29
+ /** Inferred type for null/nil literals — not a valid @param type, only used in type mismatch messages. */
30
+ exports.InferredNull = 'null';
28
31
  var SupportedDocTagTypes;
29
32
  (function (SupportedDocTagTypes) {
30
33
  SupportedDocTagTypes["Param"] = "param";
@@ -67,6 +70,10 @@ function inferArgumentType(arg) {
67
70
  case liquid_html_parser_1.NodeTypes.Number:
68
71
  return BasicParamTypes.Number;
69
72
  case liquid_html_parser_1.NodeTypes.LiquidLiteral:
73
+ if (arg.value === null)
74
+ return exports.InferredNull;
75
+ if (arg.value === '')
76
+ return BasicParamTypes.String;
70
77
  return BasicParamTypes.Boolean;
71
78
  case liquid_html_parser_1.NodeTypes.Range:
72
79
  case liquid_html_parser_1.NodeTypes.VariableLookup:
@@ -78,6 +85,24 @@ function inferArgumentType(arg) {
78
85
  return (0, utils_1.assertNever)(arg);
79
86
  }
80
87
  }
88
+ /**
89
+ * Checks if a LiquidExpression is a null/nil literal.
90
+ * null/nil is compatible with any type — it represents "no value".
91
+ */
92
+ function isNullLiteral(arg) {
93
+ if (arg.type === liquid_html_parser_1.NodeTypes.LiquidVariable) {
94
+ if (arg.filters.length > 0)
95
+ return false;
96
+ const expr = arg.expression;
97
+ if (expr.type === liquid_html_parser_1.NodeTypes.BooleanExpression)
98
+ return false;
99
+ return isNullLiteral(expr);
100
+ }
101
+ if (arg.type === liquid_html_parser_1.NodeTypes.LiquidLiteral) {
102
+ return arg.value === null;
103
+ }
104
+ return false;
105
+ }
81
106
  /**
82
107
  * Checks if the provided argument type is compatible with the expected type.
83
108
  * Makes certain types more permissive:
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/liquid-doc/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/liquid-doc/utils.ts"],"names":[],"mappings":"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"}