The following checklist can be used when adding a new schema version.
-
Upgrade function: Each schema version must be accompanied by an upgrade function that facilitates automatically upgrading configs from the directly preceding schema version.
- Define this in previous-config-upgraders.ts
-
Zod schema: Each schema version must be accompanied by a Zod schema.
- Define this in previous-config-schemas.ts
- Where possible, .extend from the previous schema.
- Define this in previous-config-schemas.ts
- Config version meta-information: in previous-config-meta.ts
- Set the newly-defined schema as the value of
latestConfigSchema
. - Add the newly-defined schema type to the
AnyVersionConfig
union type. - Append the newly-defined schema and upgrade function to the
SCHEMA_HANDLERS
array.
- Set the newly-defined schema as the value of
- Update the list of config versions on the View Configs via JSON documentation page.
- Update the schema constructed by
buildConfigSchema
to match the "generic" (i.e., non-plugin-specific) schema inlatestConfigSchema
.