UNPKG

bunny-launcher

Version:

Launch your static sites with bunny.net in a single cli command 🐰

615 lines (614 loc) 14.5 kB
{ "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#" }