mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-19 20:32:35 +02:00
fix schemas
This commit is contained in:
parent
9e181d25ce
commit
322878b0b7
12 changed files with 48 additions and 23 deletions
2
Makefile
2
Makefile
|
@ -95,7 +95,7 @@ build-docker:
|
|||
# }
|
||||
|
||||
gen-schema-single:
|
||||
bun run typescript-json-schema --noExtraProps --required --skipLibCheck --tsNodeRegister=true -o schemas/${OUT} schemas/${IN} ${CLASS}
|
||||
bun --bun run typescript-json-schema --noExtraProps --required --skipLibCheck --tsNodeRegister=true -o schemas/${OUT} schemas/${IN} ${CLASS}
|
||||
# minify
|
||||
python3 -c "import json; f=open('schemas/${OUT}', 'r'); j=json.load(f); f.close(); f=open('schemas/${OUT}', 'w'); json.dump(j, f, separators=(',', ':'));"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "godoxy-schemas",
|
||||
"version": "0.9.0-10",
|
||||
"version": "0.9.0-13",
|
||||
"description": "JSON Schema and typescript types for GoDoxy configuration",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
|
File diff suppressed because one or more lines are too long
9
schemas/config/autocert.d.ts
vendored
9
schemas/config/autocert.d.ts
vendored
|
@ -1,15 +1,18 @@
|
|||
import { DomainOrWildcards as DomainsOrWildcards, Email } from "../types";
|
||||
import { DomainOrWildcard, Email } from "../types";
|
||||
export declare const AUTOCERT_PROVIDERS: readonly ["local", "cloudflare", "clouddns", "duckdns", "ovh"];
|
||||
export type AutocertProvider = (typeof AUTOCERT_PROVIDERS)[number];
|
||||
export type AutocertConfig = LocalOptions | CloudflareOptions | CloudDNSOptions | DuckDNSOptions | OVHOptionsWithAppKey | OVHOptionsWithOAuth2Config;
|
||||
export interface AutocertConfigBase {
|
||||
email: Email;
|
||||
domains: DomainsOrWildcards;
|
||||
domains: DomainOrWildcard[];
|
||||
cert_path?: string;
|
||||
key_path?: string;
|
||||
}
|
||||
export interface LocalOptions extends AutocertConfigBase {
|
||||
export interface LocalOptions {
|
||||
provider: "local";
|
||||
cert_path?: string;
|
||||
key_path?: string;
|
||||
options?: {} | null;
|
||||
}
|
||||
export interface CloudflareOptions extends AutocertConfigBase {
|
||||
provider: "cloudflare";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { DomainOrWildcards as DomainsOrWildcards, Email } from "../types";
|
||||
import { DomainOrWildcard, Email } from "../types";
|
||||
|
||||
export const AUTOCERT_PROVIDERS = [
|
||||
"local",
|
||||
|
@ -22,15 +22,20 @@ export interface AutocertConfigBase {
|
|||
/* ACME email */
|
||||
email: Email;
|
||||
/* ACME domains */
|
||||
domains: DomainsOrWildcards;
|
||||
domains: DomainOrWildcard[];
|
||||
/* ACME certificate path */
|
||||
cert_path?: string;
|
||||
/* ACME key path */
|
||||
key_path?: string;
|
||||
}
|
||||
|
||||
export interface LocalOptions extends AutocertConfigBase {
|
||||
export interface LocalOptions {
|
||||
provider: "local";
|
||||
/* ACME certificate path */
|
||||
cert_path?: string;
|
||||
/* ACME key path */
|
||||
key_path?: string;
|
||||
options?: {} | null;
|
||||
}
|
||||
|
||||
export interface CloudflareOptions extends AutocertConfigBase {
|
||||
|
|
4
schemas/config/config.d.ts
vendored
4
schemas/config/config.d.ts
vendored
|
@ -1,4 +1,4 @@
|
|||
import { DomainNames } from "../types";
|
||||
import { DomainName } from "../types";
|
||||
import { AutocertConfig } from "./autocert";
|
||||
import { EntrypointConfig } from "./entrypoint";
|
||||
import { HomepageConfig } from "./homepage";
|
||||
|
@ -16,7 +16,7 @@ export type Config = {
|
|||
* @minItems 1
|
||||
* @examples require(".").matchDomainsExamples
|
||||
*/
|
||||
match_domains?: DomainNames;
|
||||
match_domains?: DomainName[];
|
||||
homepage?: HomepageConfig;
|
||||
/**
|
||||
* Optional timeout before shutdown
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { DomainNames } from "../types";
|
||||
import { DomainName } from "../types";
|
||||
import { AutocertConfig } from "./autocert";
|
||||
import { EntrypointConfig } from "./entrypoint";
|
||||
import { HomepageConfig } from "./homepage";
|
||||
|
@ -19,7 +19,7 @@ export type Config = {
|
|||
* @minItems 1
|
||||
* @examples require(".").matchDomainsExamples
|
||||
*/
|
||||
match_domains?: DomainNames;
|
||||
match_domains?: DomainName[];
|
||||
/* Optional homepage configuration */
|
||||
homepage?: HomepageConfig;
|
||||
/**
|
||||
|
|
6
schemas/index.d.ts
vendored
6
schemas/index.d.ts
vendored
|
@ -12,4 +12,8 @@ import * as IdleWatcher from "./providers/idlewatcher";
|
|||
import * as LoadBalance from "./providers/loadbalance";
|
||||
import * as Routes from "./providers/routes";
|
||||
import * as GoDoxy from "./types";
|
||||
export { AccessLog, Autocert, Config, Entrypoint, GoDoxy, Healthcheck, Homepage, IdleWatcher, LoadBalance, MiddlewareCompose, Middlewares, Notification, Providers, Routes, };
|
||||
import ConfigSchema from "./config.schema.json";
|
||||
import DockerRoutesSchema from "./docker_routes.schema.json";
|
||||
import MiddlewareComposeSchema from "./middleware_compose.schema.json";
|
||||
import RoutesSchema from "./routes.schema.json";
|
||||
export { AccessLog, Autocert, Config, ConfigSchema, DockerRoutesSchema, Entrypoint, GoDoxy, Healthcheck, Homepage, IdleWatcher, LoadBalance, MiddlewareCompose, MiddlewareComposeSchema, Middlewares, Notification, Providers, Routes, RoutesSchema, };
|
||||
|
|
|
@ -12,4 +12,8 @@ import * as IdleWatcher from "./providers/idlewatcher";
|
|||
import * as LoadBalance from "./providers/loadbalance";
|
||||
import * as Routes from "./providers/routes";
|
||||
import * as GoDoxy from "./types";
|
||||
export { AccessLog, Autocert, Config, Entrypoint, GoDoxy, Healthcheck, Homepage, IdleWatcher, LoadBalance, MiddlewareCompose, Middlewares, Notification, Providers, Routes, };
|
||||
import ConfigSchema from "./config.schema.json";
|
||||
import DockerRoutesSchema from "./docker_routes.schema.json";
|
||||
import MiddlewareComposeSchema from "./middleware_compose.schema.json";
|
||||
import RoutesSchema from "./routes.schema.json";
|
||||
export { AccessLog, Autocert, Config, ConfigSchema, DockerRoutesSchema, Entrypoint, GoDoxy, Healthcheck, Homepage, IdleWatcher, LoadBalance, MiddlewareCompose, MiddlewareComposeSchema, Middlewares, Notification, Providers, Routes, RoutesSchema, };
|
||||
|
|
|
@ -16,10 +16,17 @@ import * as Routes from "./providers/routes";
|
|||
|
||||
import * as GoDoxy from "./types";
|
||||
|
||||
import ConfigSchema from "./config.schema.json";
|
||||
import DockerRoutesSchema from "./docker_routes.schema.json";
|
||||
import MiddlewareComposeSchema from "./middleware_compose.schema.json";
|
||||
import RoutesSchema from "./routes.schema.json";
|
||||
|
||||
export {
|
||||
AccessLog,
|
||||
Autocert,
|
||||
Config,
|
||||
ConfigSchema,
|
||||
DockerRoutesSchema,
|
||||
Entrypoint,
|
||||
GoDoxy,
|
||||
Healthcheck,
|
||||
|
@ -27,8 +34,10 @@ export {
|
|||
IdleWatcher,
|
||||
LoadBalance,
|
||||
MiddlewareCompose,
|
||||
MiddlewareComposeSchema,
|
||||
Middlewares,
|
||||
Notification,
|
||||
Providers,
|
||||
Routes,
|
||||
RoutesSchema,
|
||||
};
|
||||
|
|
8
schemas/types.d.ts
vendored
8
schemas/types.d.ts
vendored
|
@ -28,13 +28,13 @@ export type HTTPCookie = string & {};
|
|||
export type StatusCode = number | `${number}`;
|
||||
export type StatusCodeRange = number | `${number}` | `${number}-${number}`;
|
||||
/**
|
||||
* @items.pattern ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
* @pattern ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
*/
|
||||
export type DomainNames = string[];
|
||||
export type DomainName = string & {};
|
||||
/**
|
||||
* @items.pattern ^(\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
* @pattern ^(\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
*/
|
||||
export type DomainOrWildcards = string[];
|
||||
export type DomainOrWildcard = string & {};
|
||||
/**
|
||||
* @format hostname
|
||||
* @type string
|
||||
|
|
|
@ -45,13 +45,13 @@ export type StatusCode = number | `${number}`;
|
|||
export type StatusCodeRange = number | `${number}` | `${number}-${number}`;
|
||||
|
||||
/**
|
||||
* @items.pattern ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
* @pattern ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
*/
|
||||
export type DomainNames = string[];
|
||||
export type DomainName = string & {};
|
||||
/**
|
||||
* @items.pattern ^(\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
* @pattern ^(\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$
|
||||
*/
|
||||
export type DomainOrWildcards = string[];
|
||||
export type DomainOrWildcard = string & {};
|
||||
/**
|
||||
* @format hostname
|
||||
* @type string
|
||||
|
|
Loading…
Add table
Reference in a new issue