1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
- // match plan@release
- // e.g., free-pro-team@latest, enterprise-server@2.22
- const planPattern = '^[a-z-]+'
- const releasePattern = '[a-z0-9-.]+'
- const delimiter = '@'
- const versionPattern = `${planPattern}${delimiter}${releasePattern}`
- module.exports = {
- properties: {
- version: {
- required: true,
- description: 'the version string',
- type: 'string',
- pattern: versionPattern
- },
- versionTitle: {
- required: true,
- description: 'the version title',
- type: 'string'
- },
- latestVersion: {
- required: true,
- description: 'the version name that includes the latest release',
- type: 'string',
- pattern: versionPattern
- },
- currentRelease: {
- required: true,
- description: 'the release substring in the version string',
- type: 'string',
- pattern: releasePattern
- },
- plan: {
- description: 'the plan substring in the version string',
- type: 'string',
- pattern: planPattern
- },
- planTitle: {
- required: true,
- description: 'the plan title', // this is the same as the version title, sans numbered release
- type: 'string'
- },
- releases: {
- required: true,
- description: 'an array of all supported releases for the version',
- type: 'array'
- },
- latestRelease: {
- required: true,
- description: 'the value of the latest release',
- type: 'string',
- pattern: releasePattern
- },
- hasNumberedReleases: {
- description: 'boolean indicating whether the plan has numbered releases; if not, the release defalts to "latest"',
- type: 'boolean'
- },
- nonEnterpriseDefault: {
- description: 'boolean indicating whether the plan is the default non-Enterprise version', // helper if the plan name changes
- type: 'boolean'
- },
- openApiBaseName: {
- required: true,
- description: 'base name used to map an openAPI schema name to the current version',
- type: 'string'
- },
- openApiVersionName: {
- required: true,
- description: 'final name used to map an openAPI schema name to the current version',
- type: 'string'
- },
- miscBaseName: {
- required: true,
- description: 'base name used to map GraphQL and webhook schema names to the current version',
- type: 'string'
- },
- miscVersionName: {
- required: true,
- description: 'final name used to map GraphQL and webhook schema names to the current version',
- type: 'string'
- }
- }
- }
|