Skip to content

Commit

Permalink
Disallow additional properties in the schema where not explicitly int…
Browse files Browse the repository at this point in the history
…ended
  • Loading branch information
Vampire authored and sgrishchenko committed Sep 22, 2024
1 parent 555f205 commit d8afb29
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
8 changes: 4 additions & 4 deletions schema/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ const conflictResolutionStrategySchemaFileName = "schema/conflict-resolution-str
const configurationSchemaFileName = "schema/karakum-schema.json"

await Promise.all([
exec(`typescript-json-schema --titles --include src/configuration/configuration.ts --out ${granularitySchemaFileName} tsconfig.json Granularity`),
exec(`typescript-json-schema --titles --include src/configuration/configuration.ts --out ${namespaceStrategySchemaFileName} tsconfig.json NamespaceStrategy`),
exec(`typescript-json-schema --titles --include src/configuration/configuration.ts --out ${conflictResolutionStrategySchemaFileName} tsconfig.json ConflictResolutionStrategy`),
exec(`typescript-json-schema --titles --include src/configuration/configuration.ts --out ${configurationSchemaFileName} tsconfig.json SchemaConfiguration`),
exec(`typescript-json-schema --titles --noExtraProps --include src/configuration/configuration.ts --out ${granularitySchemaFileName} tsconfig.json Granularity`),
exec(`typescript-json-schema --titles --noExtraProps --include src/configuration/configuration.ts --out ${namespaceStrategySchemaFileName} tsconfig.json NamespaceStrategy`),
exec(`typescript-json-schema --titles --noExtraProps --include src/configuration/configuration.ts --out ${conflictResolutionStrategySchemaFileName} tsconfig.json ConflictResolutionStrategy`),
exec(`typescript-json-schema --titles --noExtraProps --include src/configuration/configuration.ts --out ${configurationSchemaFileName} tsconfig.json SchemaConfiguration`),
])

const granularitySchema: Schema = JSON.parse(await fs.readFile(granularitySchemaFileName, "utf8"))
Expand Down
2 changes: 2 additions & 0 deletions schema/karakum-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"type": "string"
}
},
"additionalProperties": false,
"properties": {
"annotations": {
"anyOf": [
Expand All @@ -43,6 +44,7 @@
},
"compilerOptions": {
"$ref": "https://json.schemastore.org/tsconfig#/definitions/compilerOptionsDefinition/properties/compilerOptions",
"additionalProperties": false,
"title": "compilerOptions",
"type": "object"
},
Expand Down
1 change: 1 addition & 0 deletions src/configuration/configuration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ export interface SchemaConfiguration {
/**
* @TJS-type object
* @$ref https://json.schemastore.org/tsconfig#/definitions/compilerOptionsDefinition/properties/compilerOptions
* @additionalProperties false
* */
compilerOptions?: Record<string, unknown>

Expand Down

0 comments on commit d8afb29

Please sign in to comment.