Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "foxx-manifest"

import type { FoxxManifest } from "arangojs/foxx-manifest";

The "foxx-manifest" module provides the Foxx manifest type for TypeScript.

Generated from JSON Schema using json-schema-to-typescript.

Index

Type aliases

Configuration

Configuration: { default?: any; description?: undefined | string; required?: undefined | false | true; type: "integer" | "boolean" | "number" | "string" | "json" | "password" | "int" | "bool" }

A configuration option.

Type declaration

  • Optional default?: any

    The default value for this option in plain JSON. Can be omitted to provide no default value.

  • Optional description?: undefined | string

    A human-readable description of the option.

  • Optional required?: undefined | false | true

    Whether the service can not function without this option. Defaults to true unless a default value is provided.

  • type: "integer" | "boolean" | "number" | "string" | "json" | "password" | "int" | "bool"

    The type of value expected for this option.

Dependency

Dependency: { description?: undefined | string; multiple?: undefined | false | true; name?: undefined | string; required?: undefined | false | true; version?: undefined | string }

A service dependency.

Type declaration

  • Optional description?: undefined | string

    A description of how the API is used or why it is needed.

  • Optional multiple?: undefined | false | true

    Whether the dependency can be specified more than once.

  • Optional name?: undefined | string

    Name of the API the service expects.

  • Optional required?: undefined | false | true

    Whether the service can not function without this dependency.

  • Optional version?: undefined | string

    The semantic version ranges of the API the service expects.

File

File: { gzip?: undefined | false | true; path: string; type?: undefined | string }

A service file asset.

Type declaration

  • Optional gzip?: undefined | false | true

    If set to true the file will be served with gzip-encoding if supported by the client. This can be useful when serving text files like client-side JavaScript, CSS or HTML.

  • path: string

    Relative path of the file or folder within the service.

  • Optional type?: undefined | string

    The MIME content type of the file. Defaults to an intelligent guess based on the filename's extension.

FoxxManifest

FoxxManifest: { author?: undefined | string; configuration?: Dict<Configuration>; contributors?: string[]; defaultDocument?: undefined | string; dependencies?: Dict<string | Dependency>; description?: undefined | string; engines?: Dict<string> & { arangodb?: undefined | string }; files?: Dict<string | File>; keywords?: string[]; lib?: undefined | string; license?: undefined | string; main?: undefined | string; name?: undefined | string; provides?: Dict<string>; scripts?: Dict<string>; tests?: string | string[]; thumbnail?: undefined | string; version?: undefined | string }

Schema for ArangoDB Foxx service manifests.

Type declaration

  • Optional author?: undefined | string

    The full name of the author of the service (i.e. you). This will be shown in the web interface.

  • Optional configuration?: Dict<Configuration>

    An object defining the configuration options this service requires.

  • Optional contributors?: string[]

    A list of names of people that have contributed to the development of the service in some way. This will be shown in the web interface.

  • Optional defaultDocument?: undefined | string

    If specified, the / (root) route of the service will automatically redirect to the given relative path, e.g. "index.html".

  • Optional dependencies?: Dict<string | Dependency>

    The dependencies this service uses, i.e. which APIs its dependencies need to be compatible with.

  • Optional description?: undefined | string

    A human-readable description of the service. This will be shown in the web interface.

  • Optional engines?: Dict<string> & { arangodb?: undefined | string }

    An object indicating the semantic version ranges of ArangoDB (or compatible environments) the service will be compatible with.

  • Optional files?: Dict<string | File>

    An object defining file assets served by this service.

  • Optional keywords?: string[]

    A list of keywords that help categorize this service. This is used by the Foxx Store installers to organize services.

  • Optional lib?: undefined | string

    The relative path to the Foxx JavaScript files in the service, e.g. "lib". Defaults to the folder containing this manifest.

  • Optional license?: undefined | string

    A string identifying the license under which the service is published, ideally in the form of an SPDX license identifier. This will be shown in the web interface.

  • Optional main?: undefined | string

    The relative path to the main entry point of this service (relative to lib), e.g. "index.js".

  • Optional name?: undefined | string

    The name of the Foxx service. This will be shown in the web interface.

  • Optional provides?: Dict<string>

    The dependencies this provides, i.e. which APIs it claims to be compatible with.

  • Optional scripts?: Dict<string>

    An object defining named scripts provided by this service, which can either be used directly or as queued jobs by other services.

  • Optional tests?: string | string[]

    A path/pattern or list of paths/patterns of JavaScript tests provided for this service.

  • Optional thumbnail?: undefined | string

    The filename of a thumbnail that will be used alongside the service in the web interface. This should be a JPEG or PNG image that looks good at sizes 50x50 and 160x160.

  • Optional version?: undefined | string

    The version number of the Foxx service. The version number must follow the semantic versioning format. This will be shown in the web interface.

Generated using TypeDoc