lutaml-jsonschema 0.1.0 → 0.1.2

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +396 -0
  3. data/frontend/package-lock.json +58 -58
  4. data/frontend/package.json +1 -1
  5. data/frontend/src/__tests__/useBuilderField.test.ts +15 -0
  6. data/frontend/src/__tests__/useDefinitionResolver.test.ts +40 -0
  7. data/frontend/src/__tests__/useSchemaTypes.test.ts +20 -0
  8. data/frontend/src/app.ts +0 -2
  9. data/frontend/src/components/AppHeader.vue +51 -1
  10. data/frontend/src/components/AppSidebar.vue +36 -41
  11. data/frontend/src/components/SchemaBuilder.vue +86 -20
  12. data/frontend/src/composables/useBuilderField.ts +6 -30
  13. data/frontend/src/composables/useDefinitionResolver.ts +38 -5
  14. data/frontend/src/composables/useDownload.ts +11 -0
  15. data/frontend/src/composables/useSchemaTypes.ts +6 -1
  16. data/frontend/src/composables/useSearch.ts +13 -33
  17. data/frontend/src/stores/schemaStore.ts +6 -0
  18. data/frontend/src/style.css +3 -0
  19. data/frontend/src/types.ts +8 -0
  20. data/frontend/src/views/HomeView.vue +260 -96
  21. data/lib/lutaml/jsonschema/cli.rb +4 -2
  22. data/lib/lutaml/jsonschema/combiner.rb +5 -3
  23. data/lib/lutaml/jsonschema/configuration.rb +1 -1
  24. data/lib/lutaml/jsonschema/reference_resolver.rb +10 -2
  25. data/lib/lutaml/jsonschema/schema.rb +14 -10
  26. data/lib/lutaml/jsonschema/schema_set.rb +39 -13
  27. data/lib/lutaml/jsonschema/spa/generator.rb +2 -1
  28. data/lib/lutaml/jsonschema/spa/spa_builder.rb +57 -23
  29. data/lib/lutaml/jsonschema/spa/spa_definition.rb +2 -1
  30. data/lib/lutaml/jsonschema/spa/spa_document.rb +4 -2
  31. data/lib/lutaml/jsonschema/spa/spa_property.rb +14 -0
  32. data/lib/lutaml/jsonschema/spa/spa_schema.rb +6 -2
  33. data/lib/lutaml/jsonschema/spa/vue_inlined_strategy.rb +2 -1
  34. data/lib/lutaml/jsonschema/version.rb +1 -1
  35. metadata +22 -19
  36. data/frontend/src/components/SchemaStructure.vue +0 -168
  37. data/frontend/src/router.ts +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5a565407d02f3418a2569d351a1820b717437dcea090ca66cd9a1de406318cf
4
- data.tar.gz: 6b1299be5574db3acf5c9c1355b3b87a056984a0233b0e8dcd3369e2a4375379
3
+ metadata.gz: 80d56fbc558fd39c49bc397b01a2cd3cdf5d19b475483fbe50968b6cc7c8e6f6
4
+ data.tar.gz: 6cee07bff101bcbd7ed60639af85d99376c2b899c23be949a73401ecda5d6cb8
5
5
  SHA512:
6
- metadata.gz: d02cb411c55395ff0667959c7fbc48634fea287d9290da16a7ffdf8d63f5b5294e063800886167e9d6089736cabf1ef8b98656982ce85f37f4b3d93ebaf179cd
7
- data.tar.gz: bef07b80fe64786f3a79a87bbe1b4be2103c18fb5665937a2975033ef2c8a9cf0986ef9399d1264805f3348089b3c73cfb47fba380d3ac6fa9a6c610b698a962
6
+ metadata.gz: fd8be87137f96a96c1cfc5ebc608a8cdc8a6726541ab1812e99e25f502db980efb83a464baa3e43b92520b2e25bacbb396c91792778cca6235efeb021ba3f9e3
7
+ data.tar.gz: 479d21b5e4df3626fe75c6c4c88ee61f16db6467b9774e024c0f4c6e120c6aa1e86a599819b3ff766896d2a867593aa7ca0b080142e4307aeae224da245f2d55
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,396 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2026-05-06 16:54:24 UTC using RuboCop version 1.86.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # This cop supports safe autocorrection (--autocorrect).
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
12
+ Bundler/OrderedGems:
13
+ Exclude:
14
+ - 'Gemfile'
15
+
16
+ # Offense count: 2
17
+ # This cop supports safe autocorrection (--autocorrect).
18
+ # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
19
+ Gemspec/OrderedDependencies:
20
+ Exclude:
21
+ - 'lutaml-jsonschema.gemspec'
22
+
23
+ # Offense count: 1
24
+ Gemspec/RequiredRubyVersion:
25
+ Exclude:
26
+ - 'lutaml-jsonschema.gemspec'
27
+
28
+ # Offense count: 26
29
+ # This cop supports safe autocorrection (--autocorrect).
30
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
31
+ # SupportedStyles: with_first_argument, with_fixed_indentation
32
+ Layout/ArgumentAlignment:
33
+ Exclude:
34
+ - 'lib/lutaml/jsonschema/cli.rb'
35
+ - 'lib/lutaml/jsonschema/schema_set.rb'
36
+ - 'lib/lutaml/jsonschema/spa/spa_builder.rb'
37
+ - 'lib/lutaml/jsonschema/spa/vue_inlined_strategy.rb'
38
+ - 'spec/lutaml/cli_spec.rb'
39
+ - 'spec/lutaml/generator_spec.rb'
40
+ - 'spec/lutaml/integration_spec.rb'
41
+ - 'spec/lutaml/jsonschema_spec.rb'
42
+ - 'spec/lutaml/schema_set_cross_ref_spec.rb'
43
+ - 'spec/lutaml/schema_set_resolution_spec.rb'
44
+ - 'spec/lutaml/spa_builder_spec.rb'
45
+
46
+ # Offense count: 4
47
+ # This cop supports safe autocorrection (--autocorrect).
48
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
49
+ # SupportedStyles: with_first_element, with_fixed_indentation
50
+ Layout/ArrayAlignment:
51
+ Exclude:
52
+ - 'lutaml-jsonschema.gemspec'
53
+ - 'spec/lutaml/cli_spec.rb'
54
+
55
+ # Offense count: 2
56
+ # This cop supports safe autocorrection (--autocorrect).
57
+ # Configuration parameters: IndentationWidth.
58
+ Layout/AssignmentIndentation:
59
+ Exclude:
60
+ - 'lib/lutaml/jsonschema/schema.rb'
61
+ - 'spec/lutaml/jsonschema_spec.rb'
62
+
63
+ # Offense count: 16
64
+ # This cop supports safe autocorrection (--autocorrect).
65
+ # Configuration parameters: EnforcedStyleAlignWith.
66
+ # SupportedStylesAlignWith: either, start_of_block, start_of_line
67
+ Layout/BlockAlignment:
68
+ Exclude:
69
+ - 'lib/lutaml/jsonschema/combiner.rb'
70
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
71
+ - 'lib/lutaml/jsonschema/schema_set.rb'
72
+ - 'spec/lutaml/cli_spec.rb'
73
+ - 'spec/lutaml/generator_spec.rb'
74
+ - 'spec/lutaml/integration_spec.rb'
75
+
76
+ # Offense count: 16
77
+ # This cop supports safe autocorrection (--autocorrect).
78
+ Layout/BlockEndNewline:
79
+ Exclude:
80
+ - 'lib/lutaml/jsonschema/combiner.rb'
81
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
82
+ - 'lib/lutaml/jsonschema/schema_set.rb'
83
+ - 'spec/lutaml/cli_spec.rb'
84
+ - 'spec/lutaml/generator_spec.rb'
85
+ - 'spec/lutaml/integration_spec.rb'
86
+
87
+ # Offense count: 4
88
+ # This cop supports safe autocorrection (--autocorrect).
89
+ Layout/ClosingParenthesisIndentation:
90
+ Exclude:
91
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
92
+ - 'lib/lutaml/jsonschema/schema_set.rb'
93
+ - 'spec/lutaml/integration_spec.rb'
94
+
95
+ # Offense count: 1
96
+ # This cop supports safe autocorrection (--autocorrect).
97
+ Layout/ElseAlignment:
98
+ Exclude:
99
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
100
+
101
+ # Offense count: 2
102
+ # This cop supports safe autocorrection (--autocorrect).
103
+ Layout/EmptyLinesAroundMethodBody:
104
+ Exclude:
105
+ - 'lib/lutaml/jsonschema/schema_set.rb'
106
+
107
+ # Offense count: 1
108
+ # This cop supports safe autocorrection (--autocorrect).
109
+ # Configuration parameters: EnforcedStyleAlignWith.
110
+ # SupportedStylesAlignWith: keyword, variable, start_of_line
111
+ Layout/EndAlignment:
112
+ Exclude:
113
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
114
+
115
+ # Offense count: 4
116
+ # This cop supports safe autocorrection (--autocorrect).
117
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
118
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
119
+ Layout/FirstArgumentIndentation:
120
+ Exclude:
121
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
122
+ - 'lib/lutaml/jsonschema/schema_set.rb'
123
+ - 'spec/lutaml/integration_spec.rb'
124
+
125
+ # Offense count: 32
126
+ # This cop supports safe autocorrection (--autocorrect).
127
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
128
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
129
+ Layout/FirstHashElementIndentation:
130
+ Exclude:
131
+ - 'spec/lutaml/jsonschema_spec.rb'
132
+ - 'spec/lutaml/schema_set_cross_ref_spec.rb'
133
+
134
+ # Offense count: 34
135
+ # This cop supports safe autocorrection (--autocorrect).
136
+ # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
137
+ # SupportedHashRocketStyles: key, separator, table
138
+ # SupportedColonStyles: key, separator, table
139
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
140
+ Layout/HashAlignment:
141
+ Exclude:
142
+ - 'lib/lutaml/jsonschema/schema.rb'
143
+ - 'lib/lutaml/jsonschema/spa/spa_definition.rb'
144
+ - 'lib/lutaml/jsonschema/spa/spa_document.rb'
145
+ - 'lib/lutaml/jsonschema/spa/spa_schema.rb'
146
+ - 'lutaml-jsonschema.gemspec'
147
+ - 'spec/lutaml/jsonschema_spec.rb'
148
+
149
+ # Offense count: 4
150
+ # This cop supports safe autocorrection (--autocorrect).
151
+ # Configuration parameters: EnforcedStyle.
152
+ # SupportedStyles: normal, indented_internal_methods
153
+ Layout/IndentationConsistency:
154
+ Exclude:
155
+ - 'lib/lutaml/jsonschema/combiner.rb'
156
+
157
+ # Offense count: 35
158
+ # This cop supports safe autocorrection (--autocorrect).
159
+ # Configuration parameters: Width, EnforcedStyleAlignWith, AllowedPatterns.
160
+ # SupportedStylesAlignWith: start_of_line, relative_to_receiver
161
+ Layout/IndentationWidth:
162
+ Exclude:
163
+ - 'lib/lutaml/jsonschema/combiner.rb'
164
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
165
+ - 'lib/lutaml/jsonschema/schema_set.rb'
166
+ - 'spec/lutaml/cli_spec.rb'
167
+ - 'spec/lutaml/generator_spec.rb'
168
+ - 'spec/lutaml/integration_spec.rb'
169
+
170
+ # Offense count: 95
171
+ # This cop supports safe autocorrection (--autocorrect).
172
+ # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
173
+ # URISchemes: http, https
174
+ Layout/LineLength:
175
+ Enabled: false
176
+
177
+ # Offense count: 1
178
+ # This cop supports safe autocorrection (--autocorrect).
179
+ Layout/MultilineBlockLayout:
180
+ Exclude:
181
+ - 'lib/lutaml/jsonschema/combiner.rb'
182
+
183
+ # Offense count: 3
184
+ # This cop supports safe autocorrection (--autocorrect).
185
+ # Configuration parameters: EnforcedStyle.
186
+ # SupportedStyles: symmetrical, new_line, same_line
187
+ Layout/MultilineMethodCallBraceLayout:
188
+ Exclude:
189
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
190
+ - 'lib/lutaml/jsonschema/schema_set.rb'
191
+ - 'spec/lutaml/integration_spec.rb'
192
+
193
+ # Offense count: 1
194
+ # This cop supports safe autocorrection (--autocorrect).
195
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
196
+ # SupportedStyles: aligned, indented, indented_relative_to_receiver
197
+ Layout/MultilineMethodCallIndentation:
198
+ Exclude:
199
+ - 'spec/lutaml/integration_spec.rb'
200
+
201
+ # Offense count: 1
202
+ # This cop supports safe autocorrection (--autocorrect).
203
+ Layout/RescueEnsureAlignment:
204
+ Exclude:
205
+ - 'lib/lutaml/jsonschema/schema_set.rb'
206
+
207
+ # Offense count: 53
208
+ # This cop supports safe autocorrection (--autocorrect).
209
+ # Configuration parameters: AllowInHeredoc.
210
+ Layout/TrailingWhitespace:
211
+ Enabled: false
212
+
213
+ # Offense count: 2
214
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
215
+ Lint/DuplicateBranch:
216
+ Exclude:
217
+ - 'lib/lutaml/jsonschema/schema_set.rb'
218
+ - 'spec/lutaml/spa_builder_spec.rb'
219
+
220
+ # Offense count: 1
221
+ Lint/IneffectiveAccessModifier:
222
+ Exclude:
223
+ - 'lib/lutaml/jsonschema/schema_set.rb'
224
+
225
+ # Offense count: 1
226
+ # This cop supports safe autocorrection (--autocorrect).
227
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
228
+ # NotImplementedExceptions: NotImplementedError
229
+ Lint/UnusedMethodArgument:
230
+ Exclude:
231
+ - 'lib/lutaml/jsonschema/schema_set.rb'
232
+
233
+ # Offense count: 3
234
+ # This cop supports safe autocorrection (--autocorrect).
235
+ Lint/UselessAssignment:
236
+ Exclude:
237
+ - 'lib/lutaml/jsonschema/spa/spa_builder.rb'
238
+ - 'spec/lutaml/integration_spec.rb'
239
+ - 'spec/lutaml/spa_builder_spec.rb'
240
+
241
+ # Offense count: 13
242
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
243
+ Metrics/AbcSize:
244
+ Exclude:
245
+ - 'lib/lutaml/jsonschema/cli.rb'
246
+ - 'lib/lutaml/jsonschema/combiner.rb'
247
+ - 'lib/lutaml/jsonschema/configuration.rb'
248
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
249
+ - 'lib/lutaml/jsonschema/schema_set.rb'
250
+ - 'lib/lutaml/jsonschema/spa/spa_builder.rb'
251
+
252
+ # Offense count: 3
253
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
254
+ # AllowedMethods: refine
255
+ Metrics/BlockLength:
256
+ Max: 54
257
+
258
+ # Offense count: 8
259
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
260
+ Metrics/CyclomaticComplexity:
261
+ Exclude:
262
+ - 'lib/lutaml/jsonschema/cli.rb'
263
+ - 'lib/lutaml/jsonschema/combiner.rb'
264
+ - 'lib/lutaml/jsonschema/configuration.rb'
265
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
266
+ - 'lib/lutaml/jsonschema/schema_set.rb'
267
+
268
+ # Offense count: 16
269
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
270
+ Metrics/MethodLength:
271
+ Max: 47
272
+
273
+ # Offense count: 6
274
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
275
+ Metrics/PerceivedComplexity:
276
+ Exclude:
277
+ - 'lib/lutaml/jsonschema/combiner.rb'
278
+ - 'lib/lutaml/jsonschema/configuration.rb'
279
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
280
+ - 'lib/lutaml/jsonschema/schema_set.rb'
281
+
282
+ # Offense count: 1
283
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
284
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
285
+ Naming/MethodParameterName:
286
+ Exclude:
287
+ - 'lib/lutaml/jsonschema/spa/vue_inlined_strategy.rb'
288
+
289
+ # Offense count: 1
290
+ # Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates.
291
+ # AllowedMethods: call
292
+ # WaywardPredicates: infinite?, nonzero?
293
+ Naming/PredicateMethod:
294
+ Exclude:
295
+ - 'lib/lutaml/jsonschema/schema_set.rb'
296
+
297
+ # Offense count: 1
298
+ # This cop supports safe autocorrection (--autocorrect).
299
+ Performance/ConstantRegexp:
300
+ Exclude:
301
+ - 'spec/lutaml/cli_spec.rb'
302
+
303
+ # Offense count: 25
304
+ # This cop supports safe autocorrection (--autocorrect).
305
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
306
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
307
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
308
+ # FunctionalMethods: let, let!, subject, watch
309
+ # AllowedMethods: lambda, proc, it
310
+ Style/BlockDelimiters:
311
+ Exclude:
312
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
313
+ - 'lib/lutaml/jsonschema/schema_set.rb'
314
+ - 'spec/lutaml/cli_spec.rb'
315
+ - 'spec/lutaml/generator_spec.rb'
316
+ - 'spec/lutaml/integration_spec.rb'
317
+
318
+ # Offense count: 2
319
+ # This cop supports unsafe autocorrection (--autocorrect-all).
320
+ Style/IdenticalConditionalBranches:
321
+ Exclude:
322
+ - 'spec/lutaml/spa_builder_spec.rb'
323
+
324
+ # Offense count: 6
325
+ # This cop supports safe autocorrection (--autocorrect).
326
+ Style/MultilineIfModifier:
327
+ Exclude:
328
+ - 'lib/lutaml/jsonschema/schema_set.rb'
329
+
330
+ # Offense count: 2
331
+ # This cop supports safe autocorrection (--autocorrect).
332
+ Style/MultilineTernaryOperator:
333
+ Exclude:
334
+ - 'lib/lutaml/jsonschema/reference_resolver.rb'
335
+
336
+ # Offense count: 1
337
+ # This cop supports safe autocorrection (--autocorrect).
338
+ Style/RedundantBegin:
339
+ Exclude:
340
+ - 'lib/lutaml/jsonschema/schema_set.rb'
341
+
342
+ # Offense count: 1
343
+ # This cop supports safe autocorrection (--autocorrect).
344
+ # Configuration parameters: AllowMultipleReturnValues.
345
+ Style/RedundantReturn:
346
+ Exclude:
347
+ - 'lib/lutaml/jsonschema/schema_set.rb'
348
+
349
+ # Offense count: 1
350
+ # This cop supports safe autocorrection (--autocorrect).
351
+ Style/RescueModifier:
352
+ Exclude:
353
+ - 'lib/lutaml/jsonschema/schema_set.rb'
354
+
355
+ # Offense count: 1
356
+ # This cop supports safe autocorrection (--autocorrect).
357
+ # Configuration parameters: EnforcedStyle.
358
+ # SupportedStyles: implicit, explicit
359
+ Style/RescueStandardError:
360
+ Exclude:
361
+ - 'lib/lutaml/jsonschema/schema_set.rb'
362
+
363
+ # Offense count: 35
364
+ # This cop supports safe autocorrection (--autocorrect).
365
+ # Configuration parameters: EnforcedStyleForMultiline.
366
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
367
+ Style/TrailingCommaInArguments:
368
+ Exclude:
369
+ - 'lib/lutaml/jsonschema/combiner.rb'
370
+ - 'lib/lutaml/jsonschema/configuration.rb'
371
+ - 'lib/lutaml/jsonschema/schema.rb'
372
+ - 'lib/lutaml/jsonschema/spa/spa_builder.rb'
373
+ - 'spec/lutaml/generator_spec.rb'
374
+ - 'spec/lutaml/integration_spec.rb'
375
+ - 'spec/lutaml/jsonschema_spec.rb'
376
+ - 'spec/lutaml/schema_set_cross_ref_spec.rb'
377
+ - 'spec/lutaml/schema_set_resolution_spec.rb'
378
+ - 'spec/lutaml/spa_builder_spec.rb'
379
+ - 'spec/lutaml/spa_spec.rb'
380
+
381
+ # Offense count: 4
382
+ # This cop supports safe autocorrection (--autocorrect).
383
+ # Configuration parameters: EnforcedStyleForMultiline.
384
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
385
+ Style/TrailingCommaInArrayLiteral:
386
+ Exclude:
387
+ - 'spec/lutaml/jsonschema_spec.rb'
388
+
389
+ # Offense count: 23
390
+ # This cop supports safe autocorrection (--autocorrect).
391
+ # Configuration parameters: EnforcedStyleForMultiline.
392
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
393
+ Style/TrailingCommaInHashLiteral:
394
+ Exclude:
395
+ - 'spec/lutaml/jsonschema_spec.rb'
396
+ - 'spec/lutaml/schema_set_cross_ref_spec.rb'
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "lutaml-jsonschema-docs",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "lutaml-jsonschema-docs",
9
- "version": "0.1.0",
9
+ "version": "0.1.1",
10
10
  "dependencies": {
11
11
  "flexsearch": "^0.7.43",
12
12
  "pinia": "^2.1.0",
@@ -1358,53 +1358,53 @@
1358
1358
  }
1359
1359
  },
1360
1360
  "node_modules/@vue/compiler-core": {
1361
- "version": "3.5.33",
1362
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.33.tgz",
1363
- "integrity": "sha512-3PZLQwFw4Za3TC8t0FvTy3wI16Kt+pmwcgNZca4Pj9iWL2E72a/gZlpBtAJvEdDMdCxdG/qq0C7PN0bsJuv0Rw==",
1361
+ "version": "3.5.34",
1362
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.34.tgz",
1363
+ "integrity": "sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==",
1364
1364
  "license": "MIT",
1365
1365
  "dependencies": {
1366
- "@babel/parser": "^7.29.2",
1367
- "@vue/shared": "3.5.33",
1366
+ "@babel/parser": "^7.29.3",
1367
+ "@vue/shared": "3.5.34",
1368
1368
  "entities": "^7.0.1",
1369
1369
  "estree-walker": "^2.0.2",
1370
1370
  "source-map-js": "^1.2.1"
1371
1371
  }
1372
1372
  },
1373
1373
  "node_modules/@vue/compiler-dom": {
1374
- "version": "3.5.33",
1375
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.33.tgz",
1376
- "integrity": "sha512-PXq0yrfCLzzL07rbXO4awtXY1Z06LG2eu6Adg3RJFa/j3Cii217XxxLXG22N330gw7GmALCY0Z8RgXEviwgpjA==",
1374
+ "version": "3.5.34",
1375
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.34.tgz",
1376
+ "integrity": "sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==",
1377
1377
  "license": "MIT",
1378
1378
  "dependencies": {
1379
- "@vue/compiler-core": "3.5.33",
1380
- "@vue/shared": "3.5.33"
1379
+ "@vue/compiler-core": "3.5.34",
1380
+ "@vue/shared": "3.5.34"
1381
1381
  }
1382
1382
  },
1383
1383
  "node_modules/@vue/compiler-sfc": {
1384
- "version": "3.5.33",
1385
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.33.tgz",
1386
- "integrity": "sha512-UTUvRO9cY+rROrx/pvN9P5Z7FgA6QGfokUCfhQE4EnmUj3rVnK+CHI0LsEO1pg+I7//iRYMUfcNcCPe7tg0CoA==",
1384
+ "version": "3.5.34",
1385
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.34.tgz",
1386
+ "integrity": "sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==",
1387
1387
  "license": "MIT",
1388
1388
  "dependencies": {
1389
- "@babel/parser": "^7.29.2",
1390
- "@vue/compiler-core": "3.5.33",
1391
- "@vue/compiler-dom": "3.5.33",
1392
- "@vue/compiler-ssr": "3.5.33",
1393
- "@vue/shared": "3.5.33",
1389
+ "@babel/parser": "^7.29.3",
1390
+ "@vue/compiler-core": "3.5.34",
1391
+ "@vue/compiler-dom": "3.5.34",
1392
+ "@vue/compiler-ssr": "3.5.34",
1393
+ "@vue/shared": "3.5.34",
1394
1394
  "estree-walker": "^2.0.2",
1395
1395
  "magic-string": "^0.30.21",
1396
- "postcss": "^8.5.10",
1396
+ "postcss": "^8.5.14",
1397
1397
  "source-map-js": "^1.2.1"
1398
1398
  }
1399
1399
  },
1400
1400
  "node_modules/@vue/compiler-ssr": {
1401
- "version": "3.5.33",
1402
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.33.tgz",
1403
- "integrity": "sha512-IErjYdnj1qIupG5xxiVIYiiRvDhGWV4zuh/RCrwfYpuL+HWQzeU6lCk/nF9r7olWMnjKxCAkOctT2qFWFkzb1A==",
1401
+ "version": "3.5.34",
1402
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.34.tgz",
1403
+ "integrity": "sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==",
1404
1404
  "license": "MIT",
1405
1405
  "dependencies": {
1406
- "@vue/compiler-dom": "3.5.33",
1407
- "@vue/shared": "3.5.33"
1406
+ "@vue/compiler-dom": "3.5.34",
1407
+ "@vue/shared": "3.5.34"
1408
1408
  }
1409
1409
  },
1410
1410
  "node_modules/@vue/compiler-vue2": {
@@ -1450,53 +1450,53 @@
1450
1450
  }
1451
1451
  },
1452
1452
  "node_modules/@vue/reactivity": {
1453
- "version": "3.5.33",
1454
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.33.tgz",
1455
- "integrity": "sha512-p8UfIqyIhb0rYGlSgSBV+lPhF2iUSBcRy7enhTmPqKWadHy9kcOFYF1AejYBP9P+avnd3OBbD49DU4pLWX/94A==",
1453
+ "version": "3.5.34",
1454
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.34.tgz",
1455
+ "integrity": "sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==",
1456
1456
  "license": "MIT",
1457
1457
  "dependencies": {
1458
- "@vue/shared": "3.5.33"
1458
+ "@vue/shared": "3.5.34"
1459
1459
  }
1460
1460
  },
1461
1461
  "node_modules/@vue/runtime-core": {
1462
- "version": "3.5.33",
1463
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.33.tgz",
1464
- "integrity": "sha512-UpFF45RI9//a7rvq7RdOQblb4tup7hHG9QsmIrxkFQLzQ7R8/iNQ5LE15NhLZ1/WcHMU2b47u6P33CPUelHyIQ==",
1462
+ "version": "3.5.34",
1463
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.34.tgz",
1464
+ "integrity": "sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==",
1465
1465
  "license": "MIT",
1466
1466
  "dependencies": {
1467
- "@vue/reactivity": "3.5.33",
1468
- "@vue/shared": "3.5.33"
1467
+ "@vue/reactivity": "3.5.34",
1468
+ "@vue/shared": "3.5.34"
1469
1469
  }
1470
1470
  },
1471
1471
  "node_modules/@vue/runtime-dom": {
1472
- "version": "3.5.33",
1473
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.33.tgz",
1474
- "integrity": "sha512-IOxMsAOwquhfITgmOgaPYl7/j8gKUxUFoflRc+u4LxyD3+783xne8vNta1PONVCvCV9A0w7hkyEepINDqfO0tw==",
1472
+ "version": "3.5.34",
1473
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.34.tgz",
1474
+ "integrity": "sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==",
1475
1475
  "license": "MIT",
1476
1476
  "dependencies": {
1477
- "@vue/reactivity": "3.5.33",
1478
- "@vue/runtime-core": "3.5.33",
1479
- "@vue/shared": "3.5.33",
1477
+ "@vue/reactivity": "3.5.34",
1478
+ "@vue/runtime-core": "3.5.34",
1479
+ "@vue/shared": "3.5.34",
1480
1480
  "csstype": "^3.2.3"
1481
1481
  }
1482
1482
  },
1483
1483
  "node_modules/@vue/server-renderer": {
1484
- "version": "3.5.33",
1485
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.33.tgz",
1486
- "integrity": "sha512-0xylq/8/h44lVG0pZFknv1XIdEgymq2E9n59uTWJBG+dIgiT0TMCSsxrN7nO16Z0MU0MPjFcguBbZV8Itk52Hw==",
1484
+ "version": "3.5.34",
1485
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.34.tgz",
1486
+ "integrity": "sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==",
1487
1487
  "license": "MIT",
1488
1488
  "dependencies": {
1489
- "@vue/compiler-ssr": "3.5.33",
1490
- "@vue/shared": "3.5.33"
1489
+ "@vue/compiler-ssr": "3.5.34",
1490
+ "@vue/shared": "3.5.34"
1491
1491
  },
1492
1492
  "peerDependencies": {
1493
- "vue": "3.5.33"
1493
+ "vue": "3.5.34"
1494
1494
  }
1495
1495
  },
1496
1496
  "node_modules/@vue/shared": {
1497
- "version": "3.5.33",
1498
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.33.tgz",
1499
- "integrity": "sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==",
1497
+ "version": "3.5.34",
1498
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.34.tgz",
1499
+ "integrity": "sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==",
1500
1500
  "license": "MIT"
1501
1501
  },
1502
1502
  "node_modules/acorn": {
@@ -2616,16 +2616,16 @@
2616
2616
  "license": "MIT"
2617
2617
  },
2618
2618
  "node_modules/vue": {
2619
- "version": "3.5.33",
2620
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.33.tgz",
2621
- "integrity": "sha512-1AgChhx5w3ALgT4oK3acm2Es/7jyZhWSVUfs3rOBlGQC0rjEDkS7G4lWlJJGGNQD+BV3reCwbQrOe1mPNwKHBQ==",
2619
+ "version": "3.5.34",
2620
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.34.tgz",
2621
+ "integrity": "sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==",
2622
2622
  "license": "MIT",
2623
2623
  "dependencies": {
2624
- "@vue/compiler-dom": "3.5.33",
2625
- "@vue/compiler-sfc": "3.5.33",
2626
- "@vue/runtime-dom": "3.5.33",
2627
- "@vue/server-renderer": "3.5.33",
2628
- "@vue/shared": "3.5.33"
2624
+ "@vue/compiler-dom": "3.5.34",
2625
+ "@vue/compiler-sfc": "3.5.34",
2626
+ "@vue/runtime-dom": "3.5.34",
2627
+ "@vue/server-renderer": "3.5.34",
2628
+ "@vue/shared": "3.5.34"
2629
2629
  },
2630
2630
  "peerDependencies": {
2631
2631
  "typescript": "*"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lutaml-jsonschema-docs",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -43,6 +43,21 @@ describe('createField', () => {
43
43
  expect(field.resolvedDef).toBe(addressDef)
44
44
  })
45
45
 
46
+ it('resolves cross-file $ref via allSchemas', () => {
47
+ const unitRefDef = definition({ name: 'UnitReference', properties: [prop({ name: 'href', type: 'string' })] })
48
+ const basicTypes = spaSchema({ name: 'basicTypes', definitions: [unitRefDef] })
49
+ const quantity = spaSchema({ name: 'Quantity', definitions: [] })
50
+ const allSchemas = [basicTypes, quantity]
51
+
52
+ const field = createField(
53
+ prop({ name: 'uom', ref: 'basicTypes.json#/$defs/UnitReference' }),
54
+ [],
55
+ quantity,
56
+ allSchemas,
57
+ )
58
+ expect(field.resolvedDef).toBe(unitRefDef)
59
+ })
60
+
46
61
  it('initializes array items for array type', () => {
47
62
  const field = createField(
48
63
  prop({ name: 'tags', type: 'array', itemsType: 'string' }),