1package semanticrelease
2
3// semantic-release Schema
4#Schema: {
5 @jsonschema(schema="http://json-schema.org/draft-07/schema#")
6 @jsonschema(id="https://json.schemastore.org/semantic-release.json")
7
8 // List of modules or file paths containing a shareable configuration. If
9 // multiple shareable configurations are set, they will be imported in the
10 // order defined with each configuration option taking precedence over the
11 // options defined in a previous shareable configuration
12 extends?: matchN(1, [string, [...string]])
13
14 // The branches on which releases should happen.
15 branches?: matchN(1, [string, #."branch-object", [...matchN(>=1, [string, #."branch-object"])]])
16
17 // The git repository URL
18 repositoryUrl?: string
19
20 // The Git tag format used by semantic-release to identify releases. The tag
21 // name is generated with Lodash template and will be compiled with the version
22 // variable.
23 tagFormat?: string
24
25 // Define the list of plugins to use. Plugins will run in series, in the order defined
26 plugins?: [...matchN(>=1, [
27 string,
28 [...], {
29 path!: string
30 ...
31 }
32 ])]
33
34 // The objective of the dry-run mode is to get a preview of the pending release.
35 // Dry-run mode skips the following steps: prepare, publish, success and fail.
36 // In addition to this it prints the next version and release notes to the
37 // console
38 dryRun?: bool
39
40 // Set to false to skip Continuous Integration environment verifications. This
41 // allows for making releases from a local machine
42 ci?: bool
43
44 #: "branch-object": close({
45 name!: string
46 channel?: string
47 range?: string
48 prerelease?: bool | string
49 })
50 ...
51}