@typespec/json-schema 0.57.0-dev.3 → 0.57.0-dev.5

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.
@@ -1,4 +1,4 @@
1
- import { BooleanLiteral, Enum, EnumMember, IntrinsicType, Model, ModelProperty, NumericLiteral, Program, Scalar, StringLiteral, StringTemplate, Tuple, Type, Union, UnionVariant } from "@typespec/compiler";
1
+ import { BooleanLiteral, Enum, EnumMember, IntrinsicType, Model, ModelProperty, NumericLiteral, Scalar, StringLiteral, StringTemplate, Tuple, Type, Union, UnionVariant } from "@typespec/compiler";
2
2
  import { Context, Declaration, EmitEntity, EmittedSourceFile, EmitterOutput, Scope, SourceFile, TypeEmitter } from "@typespec/compiler/emitter-framework";
3
3
  import { JSONSchemaEmitterOptions } from "./lib.js";
4
4
  export declare class JsonSchemaEmitter extends TypeEmitter<Record<string, any>, JSONSchemaEmitterOptions> {
@@ -30,7 +30,6 @@ export declare class JsonSchemaEmitter extends TypeEmitter<Record<string, any>,
30
30
  intrinsic(intrinsic: IntrinsicType, name: string): EmitterOutput<object>;
31
31
  writeOutput(sourceFiles: SourceFile<Record<string, any>>[]): Promise<void>;
32
32
  sourceFile(sourceFile: SourceFile<object>): EmittedSourceFile;
33
- programContext(program: Program): Context;
34
33
  modelDeclarationContext(model: Model, name: string): Context;
35
34
  modelInstantiationContext(model: Model, name: string | undefined): Context;
36
35
  arrayDeclarationContext(array: Model): Context;
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, typespecTypeToJson, } from "@typespec/compiler";
1
+ import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDoc, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, joinPaths, typespecTypeToJson, } from "@typespec/compiler";
2
2
  import { ArrayBuilder, ObjectBuilder, Placeholder, TypeEmitter, } from "@typespec/compiler/emitter-framework";
3
3
  import { DuplicateTracker } from "@typespec/compiler/utils";
4
4
  import { stringify } from "yaml";
@@ -9,9 +9,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
9
9
  #typeForSourceFile = new Map();
10
10
  #refToDecl = new Map();
11
11
  modelDeclaration(model, name) {
12
- const schema = new ObjectBuilder({
13
- $schema: "https://json-schema.org/draft/2020-12/schema",
14
- $id: this.#getDeclId(model, name),
12
+ const schema = this.#initializeSchema(model, name, {
15
13
  type: "object",
16
14
  properties: this.emitter.emitModelProperties(model),
17
15
  required: this.#requiredModelProperties(model),
@@ -45,9 +43,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
45
43
  return this.modelDeclaration(model, name);
46
44
  }
47
45
  arrayDeclaration(array, name, elementType) {
48
- const schema = new ObjectBuilder({
49
- $schema: "https://json-schema.org/draft/2020-12/schema",
50
- $id: this.#getDeclId(array, name),
46
+ const schema = this.#initializeSchema(array, name, {
51
47
  type: "array",
52
48
  items: this.emitter.emitTypeReference(elementType),
53
49
  });
@@ -154,9 +150,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
154
150
  enumValues.add(member.value ?? member.name);
155
151
  }
156
152
  const enumTypesArray = [...enumTypes];
157
- const withConstraints = new ObjectBuilder({
158
- $schema: "https://json-schema.org/draft/2020-12/schema",
159
- $id: this.#getDeclId(en, name),
153
+ const withConstraints = this.#initializeSchema(en, name, {
160
154
  type: enumTypesArray.length === 1 ? enumTypesArray[0] : enumTypesArray,
161
155
  enum: [...enumValues],
162
156
  });
@@ -188,16 +182,13 @@ export class JsonSchemaEmitter extends TypeEmitter {
188
182
  return values;
189
183
  }
190
184
  unionDeclaration(union, name) {
191
- const withConstraints = new ObjectBuilder({
192
- $schema: "https://json-schema.org/draft/2020-12/schema",
193
- $id: this.#getDeclId(union, name),
185
+ const withConstraints = this.#initializeSchema(union, name, {
194
186
  anyOf: this.emitter.emitUnionVariants(union),
195
187
  });
196
188
  this.#applyConstraints(union, withConstraints);
197
189
  return this.#createDeclaration(union, name, withConstraints);
198
190
  }
199
191
  unionLiteral(union) {
200
- this.emitter.getProgram().resolveTypeReference("Cadl.Foo");
201
192
  return new ObjectBuilder({
202
193
  anyOf: this.emitter.emitUnionVariants(union),
203
194
  });
@@ -241,12 +232,29 @@ export class JsonSchemaEmitter extends TypeEmitter {
241
232
  return { $ref: targetDeclaration.value.$id };
242
233
  }
243
234
  if (!commonScope) {
244
- // when either targetSfScope or currentSfScope are undefined, we have a common scope
245
- // (i.e. we are doing a self-reference)
246
- const resolved = getRelativePathFromDirectory(getDirectoryPath(currentSfScope.sourceFile.path), targetSfScope.sourceFile.path, false);
247
- return { $ref: resolved };
235
+ if (targetSfScope && !targetSfScope.sourceFile.meta.shouldEmit) {
236
+ // referencing a schema which should not be emitted. In which case, it will be inlined
237
+ // into the defs of the root schema which references this schema.
238
+ return { $ref: "#/$defs/" + targetDeclaration.name };
239
+ }
240
+ else {
241
+ // referencing a schema that is in a different source file, but doesn't have an id.
242
+ // nb: this may be dead code.
243
+ // when either targetSfScope or currentSfScope are undefined, we have a common scope
244
+ // (i.e. we are doing a self-reference)
245
+ const resolved = getRelativePathFromDirectory(getDirectoryPath(currentSfScope.sourceFile.path), targetSfScope.sourceFile.path, false);
246
+ return { $ref: resolved };
247
+ }
248
+ }
249
+ if (!currentSfScope && !targetSfScope) {
250
+ // referencing ourself, and we don't have an id (otherwise we'd have
251
+ // returned that above), so just return a ref.
252
+ // This should be accurate because the only case when this can happen is if
253
+ // the target declaration is not a root schema, and so it will be present in
254
+ // the defs of some root schema, and there is only one level of defs.
255
+ return { $ref: "#/$defs/" + targetDeclaration.name };
248
256
  }
249
- throw new Error("$ref to $defs not yet supported.");
257
+ throw new Error("JSON Pointer refs to arbitrary schemas is not supported");
250
258
  }
251
259
  scalarInstantiation(scalar, name) {
252
260
  if (!name) {
@@ -255,10 +263,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
255
263
  return this.scalarDeclaration(scalar, name);
256
264
  }
257
265
  scalarInstantiationContext(scalar, name) {
258
- if (this.emitter.getOptions().bundleId) {
259
- return {};
260
- }
261
- else if (name === undefined) {
266
+ if (name === undefined) {
262
267
  return {};
263
268
  }
264
269
  else {
@@ -272,11 +277,7 @@ export class JsonSchemaEmitter extends TypeEmitter {
272
277
  if (isStd) {
273
278
  return schema;
274
279
  }
275
- const builderSchema = new ObjectBuilder({
276
- ...schema,
277
- $schema: "https://json-schema.org/draft/2020-12/schema",
278
- $id: this.#getDeclId(scalar, name),
279
- });
280
+ const builderSchema = this.#initializeSchema(scalar, name, schema);
280
281
  return this.#createDeclaration(scalar, name, builderSchema);
281
282
  }
282
283
  #getSchemaForScalar(scalar) {
@@ -440,12 +441,30 @@ export class JsonSchemaEmitter extends TypeEmitter {
440
441
  }
441
442
  #createDeclaration(type, name, schema) {
442
443
  const decl = this.emitter.result.declaration(name, schema);
443
- if (!this.emitter.getOptions().bundleId && !this.emitter.getOptions().emitAllRefs) {
444
- const declSf = this.emitter.getContext().scope.sourceFile;
445
- declSf.meta.shouldEmit = isJsonSchemaDeclaration(this.emitter.getProgram(), type);
446
- }
444
+ const sf = decl.scope.sourceFile;
445
+ sf.meta.shouldEmit = this.#shouldEmitRootSchema(type);
447
446
  return decl;
448
447
  }
448
+ #initializeSchema(type, name, props) {
449
+ const rootSchemaProps = this.#shouldEmitRootSchema(type)
450
+ ? this.#getRootSchemaProps(type, name)
451
+ : {};
452
+ return new ObjectBuilder({
453
+ ...rootSchemaProps,
454
+ ...props,
455
+ });
456
+ }
457
+ #getRootSchemaProps(type, name) {
458
+ return {
459
+ $schema: "https://json-schema.org/draft/2020-12/schema",
460
+ $id: this.#getDeclId(type, name),
461
+ };
462
+ }
463
+ #shouldEmitRootSchema(type) {
464
+ return (this.emitter.getOptions().emitAllRefs ||
465
+ this.emitter.getOptions().emitAllModels ||
466
+ isJsonSchemaDeclaration(this.emitter.getProgram(), type));
467
+ }
449
468
  #isStdType(type) {
450
469
  return this.emitter.getProgram().checker.isStdType(type);
451
470
  }
@@ -482,65 +501,80 @@ export class JsonSchemaEmitter extends TypeEmitter {
482
501
  }
483
502
  this.#reportDuplicateIds();
484
503
  const toEmit = [];
485
- for (const sf of sourceFiles) {
486
- const emittedSf = await this.emitter.emitSourceFile(sf);
487
- if (sf.meta.shouldEmit) {
488
- toEmit.push(emittedSf);
504
+ const bundleId = this.emitter.getOptions().bundleId;
505
+ if (bundleId) {
506
+ const content = {
507
+ $schema: "https://json-schema.org/draft/2020-12/schema",
508
+ $id: bundleId,
509
+ $defs: {},
510
+ };
511
+ for (const sf of sourceFiles) {
512
+ if (sf.meta.shouldEmit) {
513
+ content.$defs[sf.globalScope.declarations[0].name] = this.#finalizeSourceFileContent(sf);
514
+ }
489
515
  }
490
- }
491
- for (const emittedSf of toEmit) {
492
516
  await emitFile(this.emitter.getProgram(), {
493
- path: emittedSf.path,
494
- content: emittedSf.contents,
517
+ path: joinPaths(this.emitter.getOptions().emitterOutputDir, bundleId),
518
+ content: this.#serializeSourceFileContent(content),
495
519
  });
496
520
  }
521
+ else {
522
+ for (const sf of sourceFiles) {
523
+ const emittedSf = await this.emitter.emitSourceFile(sf);
524
+ // emitSourceFile will assert if somehow we have more than one declaration here
525
+ if (sf.meta.shouldEmit) {
526
+ toEmit.push(emittedSf);
527
+ }
528
+ }
529
+ for (const emittedSf of toEmit) {
530
+ await emitFile(this.emitter.getProgram(), {
531
+ path: emittedSf.path,
532
+ content: emittedSf.contents,
533
+ });
534
+ }
535
+ }
497
536
  }
498
537
  sourceFile(sourceFile) {
499
- let serializedContent;
538
+ const content = this.#finalizeSourceFileContent(sourceFile);
539
+ return {
540
+ contents: this.#serializeSourceFileContent(content),
541
+ path: sourceFile.path,
542
+ };
543
+ }
544
+ #finalizeSourceFileContent(sourceFile) {
500
545
  const decls = sourceFile.globalScope.declarations;
501
- let content;
502
- if (this.emitter.getOptions().bundleId) {
503
- const base = this.emitter.getOptions().emitterOutputDir;
504
- const file = sourceFile.path;
505
- const id = getRelativePathFromDirectory(base, file, false);
506
- content = {
507
- $schema: "https://json-schema.org/draft/2020-12/schema",
508
- $id: id,
509
- $defs: decls.reduce((prev, decl) => {
510
- prev[decl.name] = decl.value;
511
- return prev;
512
- }, {}),
513
- };
514
- }
515
- else {
516
- compilerAssert(decls.length === 1, "Multiple decls in single schema per file mode");
517
- content = { ...decls[0].value };
518
- if (sourceFile.meta.bundledRefs.length > 0) {
519
- // bundle any refs, including refs of refs
520
- content.$defs = {};
521
- const refsToBundle = [...sourceFile.meta.bundledRefs];
522
- while (refsToBundle.length > 0) {
523
- const decl = refsToBundle.shift();
524
- content.$defs[decl.name] = decl.value;
525
- // all scopes are source file scopes in this emitter
526
- const refSf = decl.scope.sourceFile;
527
- refsToBundle.push(...refSf.meta.bundledRefs);
546
+ compilerAssert(decls.length === 1, "Multiple decls in single schema per file mode");
547
+ const content = { ...decls[0].value };
548
+ const bundledDecls = new Set();
549
+ if (sourceFile.meta.bundledRefs.length > 0) {
550
+ // bundle any refs, including refs of refs
551
+ content.$defs = {};
552
+ const refsToBundle = [...sourceFile.meta.bundledRefs];
553
+ while (refsToBundle.length > 0) {
554
+ const decl = refsToBundle.shift();
555
+ if (bundledDecls.has(decl)) {
556
+ // already $def'd, no need to def it again.
557
+ continue;
528
558
  }
559
+ bundledDecls.add(decl);
560
+ content.$defs[decl.name] = decl.value;
561
+ // all scopes are source file scopes in this emitter
562
+ const refSf = decl.scope.sourceFile;
563
+ refsToBundle.push(...refSf.meta.bundledRefs);
529
564
  }
530
565
  }
566
+ return content;
567
+ }
568
+ #serializeSourceFileContent(content) {
531
569
  if (this.emitter.getOptions()["file-type"] === "json") {
532
- serializedContent = JSON.stringify(content, null, 4);
570
+ return JSON.stringify(content, null, 4);
533
571
  }
534
572
  else {
535
- serializedContent = stringify(content, {
573
+ return stringify(content, {
536
574
  aliasDuplicateObjects: false,
537
575
  lineWidth: 0,
538
576
  });
539
577
  }
540
- return {
541
- contents: serializedContent,
542
- path: sourceFile.path,
543
- };
544
578
  }
545
579
  #getCurrentSourceFile() {
546
580
  let scope = this.emitter.getContext().scope;
@@ -557,22 +591,15 @@ export class JsonSchemaEmitter extends TypeEmitter {
557
591
  if (explicitId) {
558
592
  return this.#trackId(idWithBaseURI(explicitId, baseUri), type);
559
593
  }
560
- // generate an id
561
- if (this.emitter.getOptions().bundleId) {
562
- compilerAssert(type.name, "Type needs a name to emit a declaration id");
563
- return this.#trackId(idWithBaseURI(name, baseUri), type);
594
+ // generate the ID based on the file path
595
+ const base = this.emitter.getOptions().emitterOutputDir;
596
+ const file = this.#getCurrentSourceFile().path;
597
+ const relative = getRelativePathFromDirectory(base, file, false);
598
+ if (baseUri) {
599
+ return this.#trackId(new URL(relative, baseUri).href, type);
564
600
  }
565
601
  else {
566
- // generate the ID based on the file path
567
- const base = this.emitter.getOptions().emitterOutputDir;
568
- const file = this.#getCurrentSourceFile().path;
569
- const relative = getRelativePathFromDirectory(base, file, false);
570
- if (baseUri) {
571
- return this.#trackId(new URL(relative, baseUri).href, type);
572
- }
573
- else {
574
- return this.#trackId(relative, type);
575
- }
602
+ return this.#trackId(relative, type);
576
603
  }
577
604
  function idWithBaseURI(id, baseUri) {
578
605
  if (baseUri) {
@@ -588,32 +615,14 @@ export class JsonSchemaEmitter extends TypeEmitter {
588
615
  return id;
589
616
  }
590
617
  // #region context emitters
591
- programContext(program) {
592
- if (this.emitter.getOptions().bundleId) {
593
- const sourceFile = this.emitter.createSourceFile(this.emitter.getOptions().bundleId);
594
- sourceFile.meta.shouldEmit = true;
595
- return { scope: sourceFile.globalScope };
596
- }
597
- else {
598
- return {};
599
- }
600
- }
601
618
  modelDeclarationContext(model, name) {
602
- if (this.emitter.getOptions().bundleId) {
619
+ if (this.#isStdType(model) && model.name === "object") {
603
620
  return {};
604
621
  }
605
- else {
606
- if (this.#isStdType(model) && model.name === "object") {
607
- return {};
608
- }
609
- return this.#newFileScope(model);
610
- }
622
+ return this.#newFileScope(model);
611
623
  }
612
624
  modelInstantiationContext(model, name) {
613
- if (this.emitter.getOptions().bundleId) {
614
- return {};
615
- }
616
- else if (name === undefined) {
625
+ if (name === undefined) {
617
626
  return {};
618
627
  }
619
628
  else {
@@ -621,34 +630,16 @@ export class JsonSchemaEmitter extends TypeEmitter {
621
630
  }
622
631
  }
623
632
  arrayDeclarationContext(array) {
624
- if (this.emitter.getOptions().bundleId) {
625
- return {};
626
- }
627
- else {
628
- return this.#newFileScope(array);
629
- }
633
+ return this.#newFileScope(array);
630
634
  }
631
635
  enumDeclarationContext(en) {
632
- if (this.emitter.getOptions().bundleId) {
633
- return {};
634
- }
635
- else {
636
- return this.#newFileScope(en);
637
- }
636
+ return this.#newFileScope(en);
638
637
  }
639
638
  unionDeclarationContext(union) {
640
- if (this.emitter.getOptions().bundleId) {
641
- return {};
642
- }
643
- else {
644
- return this.#newFileScope(union);
645
- }
639
+ return this.#newFileScope(union);
646
640
  }
647
641
  scalarDeclarationContext(scalar) {
648
- if (this.emitter.getOptions().bundleId) {
649
- return {};
650
- }
651
- else if (this.#isStdType(scalar)) {
642
+ if (this.#isStdType(scalar)) {
652
643
  return {};
653
644
  }
654
645
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/json-schema",
3
- "version": "0.57.0-dev.3",
3
+ "version": "0.57.0-dev.5",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting TypeSpec to JSON Schema and converting JSON Schema to TypeSpec",
6
6
  "homepage": "https://github.com/microsoft/typespec",