bunny-launcher
Version:
Launch your static sites with bunny.net in a single cli command 🐰
615 lines (614 loc) • 14.5 kB
JSON
{
"type": "object",
"properties": {
"$schema": {
"type": "string"
},
"basicAuth": {
"type": "object",
"properties": {
"credentials": {
"anyOf": [
{
"type": "string",
"minLength": 3
},
{
"type": "array",
"items": {
"$ref": "#/properties/basicAuth/properties/credentials/anyOf/0"
}
}
]
},
"passwordlessStages": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/properties/basicAuth/properties/passwordlessStages/anyOf/0"
}
}
]
},
"patterns": {
"type": "string"
}
},
"additionalProperties": false
},
"build": {
"type": "object",
"properties": {
"beforeDeploy": {
"type": "boolean",
"default": false
},
"commands": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"framework": {
"type": "string",
"enum": [
"analog",
"angular",
"astro",
"docsify",
"docusaurus",
"eleventy",
"ember",
"gatsby",
"hexo",
"hono",
"hugo",
"jekyll",
"mdbook",
"metalsmith",
"middleman",
"mkdocs",
"nextjs",
"nuxt",
"other",
"pelican",
"qwik",
"slate",
"solid",
"sphinx",
"starlight",
"svelte",
"umijs",
"vite-lit",
"vite-preact",
"vite-qwik",
"vite-react",
"vite-solid",
"vite-svelte",
"vite-vanilla",
"vite-vue",
"vitepress",
"zola"
]
},
"outDir": {
"type": "string"
},
"packageManager": {
"type": "string",
"enum": [
"npm",
"pnpm",
"bun",
"yarn"
]
}
},
"additionalProperties": false
},
"countries": {
"anyOf": [
{
"type": "object",
"properties": {
"allowed": {
"anyOf": [
{
"type": "string",
"minLength": 2,
"maxLength": 2
},
{
"type": "array",
"items": {
"$ref": "#/properties/countries/anyOf/0/properties/allowed/anyOf/0"
}
}
]
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"blocked": {
"anyOf": [
{
"$ref": "#/properties/countries/anyOf/0/properties/allowed/anyOf/0"
},
{
"type": "array",
"items": {
"$ref": "#/properties/countries/anyOf/0/properties/allowed/anyOf/0"
}
}
]
}
},
"additionalProperties": false
}
],
"default": {
"blocked": [
"CU",
"IR",
"KP",
"SY"
]
}
},
"customHeaders": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"propertyNames": {}
},
"domain": {
"type": "object",
"properties": {
"aliases": {
"anyOf": [
{
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/"
},
{
"type": "array",
"items": {
"$ref": "#/properties/domain/properties/aliases/anyOf/0"
}
}
]
},
"name": {
"type": "string",
"format": "uri",
"pattern": "^https\\:\\/\\/"
},
"registrar": {
"type": "string",
"enum": [
"101domain.com",
"123-reg.co.uk",
"alibabacloud.com",
"aws.amazon.com",
"blacknight.com",
"bluehost.com/fastdomain",
"bluehost.com/hostmonster",
"bluehost.com/ipage",
"cloudflare.com",
"directnic.com",
"dnsimple.com",
"domain.com",
"domaindiscount24.com",
"dreamhost.com",
"dynadot.com",
"easydns.com",
"enom.com",
"flokinet.is",
"freenom.com",
"freeparking.co.nz",
"gandi.net",
"gname.com",
"godaddy.com",
"hostgator.com",
"hostico.com",
"hostinger.com",
"hover.com",
"internetbs.net",
"ionos.com",
"iwantmyname.com",
"melbourneit.au",
"moniker.com",
"name.com",
"namebright.com",
"namecheap.com",
"namesilo.com",
"networksolutions.com",
"nic.ru",
"nomeo.be",
"onamae.com",
"one.com",
"onlydomains.com",
"other",
"ovhcloud.com/en",
"porkbun.com",
"rackspace.com",
"realtimeregister.com",
"reg.ru",
"register.com",
"register.it",
"spaceship.com",
"squarespace.com",
"tsohost.com",
"uniteddomains.com",
"web.com",
"west.cn",
"wix.com",
"wordpress.com",
"yola.com"
]
},
"type": {
"type": "string",
"enum": [
"cname",
"nameserver",
"aname"
]
}
},
"additionalProperties": false
},
"edgeRules": {
"anyOf": [
{
"type": "object",
"properties": {
"ActionType": {
"type": "number",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
]
},
"ActionParameter1": {
"type": [
"string",
"null"
]
},
"ActionParameter2": {
"type": [
"string",
"null"
]
},
"Triggers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Type": {
"type": "number",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
]
},
"PatternMatches": {
"type": "array",
"items": {
"type": "string"
}
},
"PatternMatchingType": {
"type": "number",
"enum": [
0,
1,
2
]
},
"Parameter1": {
"type": [
"string",
"null"
]
}
},
"required": [
"Type",
"PatternMatches",
"PatternMatchingType"
],
"additionalProperties": false
}
},
"ExtraActions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ActionType": {
"type": "number",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
]
},
"ActionParameter1": {
"type": [
"string",
"null"
]
},
"ActionParameter2": {
"type": [
"string",
"null"
]
}
},
"required": [
"ActionType"
],
"additionalProperties": false
}
},
"TriggerMatchingType": {
"type": "number",
"enum": [
0,
1,
2
]
},
"Description": {
"type": "string"
},
"Enabled": {
"type": "boolean"
}
},
"required": [
"ActionType",
"Triggers",
"ExtraActions",
"TriggerMatchingType",
"Enabled"
],
"additionalProperties": false
},
{
"type": "array",
"items": {
"$ref": "#/properties/edgeRules/anyOf/0"
}
}
]
},
"imageOptimizer": {
"type": "boolean",
"default": false
},
"ips": {
"type": "object",
"properties": {
"blocked": {
"anyOf": [
{
"type": "string",
"anyOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
{
"type": "array",
"items": {
"$ref": "#/properties/ips/properties/blocked/anyOf/0"
}
}
]
}
},
"additionalProperties": false
},
"logging": {
"type": "object",
"properties": {
"storageZone": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"exclusiveMinimum": 0
}
]
}
},
"additionalProperties": false
},
"mainStage": {
"type": "string",
"default": "main"
},
"notFound": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"spa": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"optimize": {
"type": "string",
"enum": [
"performance",
"cost"
]
},
"profiles": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "array",
"items": {
"$ref": "#/properties/profiles/anyOf/0"
}
}
]
},
"redirects": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"propertyNames": {}
},
"referrers": {
"anyOf": [
{
"type": "object",
"properties": {
"allowed": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/properties/referrers/anyOf/0/properties/allowed/anyOf/0"
}
}
]
},
"blockNoneReferrer": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"blocked": {
"anyOf": [
{
"$ref": "#/properties/referrers/anyOf/0/properties/allowed/anyOf/0"
},
{
"type": "array",
"items": {
"$ref": "#/properties/referrers/anyOf/0/properties/allowed/anyOf/0"
}
}
]
},
"blockNoneReferrer": {
"$ref": "#/properties/referrers/anyOf/0/properties/blockNoneReferrer"
}
},
"additionalProperties": false
}
]
},
"sharedCredentialsFile": {
"type": "string",
"default": "/Users/jlarmst/.bunny/credentials"
},
"stage": {
"type": "string"
},
"version": {
"type": "string",
"minLength": 5,
"default": "0.0.0"
},
"writeConfig": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}