syncpack
Version:
Consistent dependency versions in large JavaScript Monorepos
615 lines (613 loc) • 18.8 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"definitions": {
"CustomTypeConfig.Any": {
"anyOf": [
{
"$ref": "#/definitions/CustomTypeConfig.NameAndVersionProps"
},
{
"$ref": "#/definitions/CustomTypeConfig.NamedVersionString"
},
{
"$ref": "#/definitions/CustomTypeConfig.UnnamedVersionString"
},
{
"$ref": "#/definitions/CustomTypeConfig.VersionsByName"
}
]
},
"CustomTypeConfig.NameAndVersionProps": {
"additionalProperties": false,
"properties": {
"namePath": {
"type": "string"
},
"path": {
"type": "string"
},
"strategy": {
"const": "name~version",
"type": "string"
}
},
"type": "object"
},
"CustomTypeConfig.NamedVersionString": {
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"strategy": {
"const": "name@version",
"type": "string"
}
},
"type": "object"
},
"CustomTypeConfig.UnnamedVersionString": {
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"strategy": {
"const": "version",
"type": "string"
}
},
"type": "object"
},
"CustomTypeConfig.VersionsByName": {
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
},
"strategy": {
"const": "versionsByName",
"type": "string"
}
},
"type": "object"
},
"DependencyType": {
"anyOf": [
{
"additionalProperties": false,
"properties": {},
"type": "object"
},
{
"enum": [
"!dev",
"!local",
"!overrides",
"!peer",
"!pnpmOverrides",
"!prod",
"!resolutions",
"dev",
"local",
"overrides",
"peer",
"pnpmOverrides",
"prod",
"resolutions"
],
"type": "string"
}
]
},
"SemverGroupConfig.Any": {
"anyOf": [
{
"$ref": "#/definitions/SemverGroupConfig.Disabled"
},
{
"$ref": "#/definitions/SemverGroupConfig.Ignored"
},
{
"$ref": "#/definitions/SemverGroupConfig.WithRange"
}
]
},
"SemverGroupConfig.Disabled": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"isDisabled": {
"const": true,
"type": "boolean"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"SemverGroupConfig.Ignored": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"isIgnored": {
"const": true,
"type": "boolean"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"SemverGroupConfig.WithRange": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"range": {
"$ref": "#/definitions/SemverRange"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"SemverRange": {
"default": "",
"description": "Aliases for semver range formats supported by syncpack\n\nDefaults to `\"\"` to ensure that exact dependency versions are used instead of\nloose ranges, but this can be overridden in your config file.\n\n| Supported Range | Example |\n| --------------- | --------: |\n| `\"<\"` | `<1.4.2` |\n| `\"<=\"` | `<=1.4.2` |\n| `\"\"` | `1.4.2` |\n| `\"~\"` | `~1.4.2` |\n| `\"^\"` | `^1.4.2` |\n| `\">=\"` | `>=1.4.2` |\n| `\">\"` | `>1.4.2` |\n| `\"*\"` | `*` |",
"enum": [
"",
"*",
".x",
"<",
"<=",
">",
">=",
"^",
"workspace:",
"~"
],
"type": "string"
},
"SpecifierType": {
"anyOf": [
{
"additionalProperties": false,
"properties": {},
"type": "object"
},
{
"enum": [
"!alias",
"!delete",
"!exact",
"!file",
"!hosted-git",
"!latest",
"!range",
"!tag",
"!unsupported",
"!url",
"!workspace-protocol",
"alias",
"delete",
"exact",
"file",
"hosted-git",
"latest",
"range",
"tag",
"unsupported",
"url",
"workspace-protocol"
],
"type": "string"
}
]
},
"VersionGroupConfig.Any": {
"anyOf": [
{
"$ref": "#/definitions/VersionGroupConfig.Banned"
},
{
"$ref": "#/definitions/VersionGroupConfig.Ignored"
},
{
"$ref": "#/definitions/VersionGroupConfig.Pinned"
},
{
"$ref": "#/definitions/VersionGroupConfig.SameRange"
},
{
"$ref": "#/definitions/VersionGroupConfig.SnappedTo"
},
{
"$ref": "#/definitions/VersionGroupConfig.Standard"
}
]
},
"VersionGroupConfig.Banned": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"isBanned": {
"const": true,
"type": "boolean"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"VersionGroupConfig.Ignored": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"isIgnored": {
"const": true,
"type": "boolean"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"VersionGroupConfig.Pinned": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"pinVersion": {
"type": "string"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"VersionGroupConfig.SameRange": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"policy": {
"const": "sameRange",
"type": "string"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"VersionGroupConfig.SnappedTo": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"snapTo": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
},
"VersionGroupConfig.Standard": {
"additionalProperties": false,
"properties": {
"dependencies": {
"items": {
"type": "string"
},
"type": "array"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"label": {
"type": "string"
},
"packages": {
"items": {
"type": "string"
},
"type": "array"
},
"preferVersion": {
"enum": [
"highestSemver",
"lowestSemver"
],
"type": "string"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
}
},
"type": "object"
}
},
"properties": {
"$schema": {
"type": "string"
},
"customTypes": {
"additionalProperties": {
"$ref": "#/definitions/CustomTypeConfig.Any"
},
"type": "object"
},
"dependencyTypes": {
"items": {
"$ref": "#/definitions/DependencyType"
},
"type": "array"
},
"filter": {
"type": "string"
},
"formatBugs": {
"type": "boolean"
},
"formatRepository": {
"type": "boolean"
},
"indent": {
"type": "string"
},
"lintFormatting": {
"type": "boolean"
},
"lintSemverRanges": {
"type": "boolean"
},
"lintVersions": {
"type": "boolean"
},
"semverGroups": {
"items": {
"$ref": "#/definitions/SemverGroupConfig.Any"
},
"type": "array"
},
"sortAz": {
"items": {
"type": "string"
},
"type": "array"
},
"sortExports": {
"items": {
"type": "string"
},
"type": "array"
},
"sortFirst": {
"items": {
"type": "string"
},
"type": "array"
},
"sortPackages": {
"type": "boolean"
},
"source": {
"items": {
"type": "string"
},
"type": "array"
},
"specifierTypes": {
"items": {
"$ref": "#/definitions/SpecifierType"
},
"type": "array"
},
"versionGroups": {
"items": {
"$ref": "#/definitions/VersionGroupConfig.Any"
},
"type": "array"
}
},
"type": "object"
}