@oazmi/build-tools
Version:
general deno build tool scripts which I practically use in all of my typescript repos
42 lines • 2.53 kB
TypeScript
import { type BuildDocsConfig } from "../docs.js";
/** the cli args for generating the documentation of your deno project to via the {@link buildDocsFn | buildDocs} function. */
export interface CliArgs {
/** {@inheritDoc docs!BuildDocsConfig.dir} */
dir?: BuildDocsConfig["dir"];
/** {@inheritDoc docs!BuildDocsConfig.deno} */
deno?: BuildDocsConfig["deno"];
/** {@inheritDoc docs!BuildDocsConfig.log} */
log?: BuildDocsConfig["log"];
/** {@inheritDoc docs!BuildDocsConfig.dryrun} */
dryrun?: BuildDocsConfig["dryrun"];
/** {@inheritDoc docs!BuildDocsConfig.site} */
site?: BuildDocsConfig["site"];
/** {@inheritDoc docs!BuildDocsConfig.preserveTemporary} */
preserveTemporary?: BuildDocsConfig["preserveTemporary"];
/** a path to an docs-build configuration json file that provides additional modifiable parameters.
* see {@link CliConfigJson} for more details on the available extended configurations.
* in case there is a contradiction between the {@link CliConfigJson} setting and the current cli args, the cli arg will take precedence.
*/
config?: string;
}
/** contains the relevant fields within the {@link CliConfigJson | configuration json file}, that are used for configuring documentation generation. */
export interface CliDocsConfig extends Omit<CliArgs, "config"> {
/** {@inheritDoc docs!BuildDocsConfig.copy} */
copy?: BuildDocsConfig["copy"];
/** {@inheritDoc docs!BuildDocsConfig.text} */
text?: BuildDocsConfig["text"];
/** {@inheritDoc docs!BuildDocsConfig.css} */
css?: BuildDocsConfig["css"];
/** {@inheritDoc docs!BuildDocsConfig.typedoc} */
typedoc?: BuildDocsConfig["typedoc"];
}
/** the schema of a docs-generation configuration json file, which can be referenced in the {@link CliArgs}, by passing its file-path with the `--config` switch. <br>
* notice that there is only one property named {@link buildDocs | `buildDocs`}, which then holds all of the relevant configuration (as specified in {@link CliDocsConfig}).
* this is because doing so allows one to embed this configuration within other json files, such as "deno.json" itself, or a single dedicated configuration json file,
* containing the configurations of different build tools altogether. <br>
* in case there is a contradiction between the configurations in this json file and the current cli args, the cli arg will take precedence.
*/
export interface CliConfigJson {
buildDocs?: CliDocsConfig;
}
//# sourceMappingURL=docs.d.ts.map