UNPKG

@fontoxml/fontoxml-development-tools

Version:

Development tools for Fonto.

100 lines (85 loc) 2.75 kB
import path from 'path'; export default async (moduleRegistration) => { const options = { licenseProductName: 'output', licensesRequired: ['output'], productLabel: 'Fonto Output', commandPrefix: 'output', // TODO: Update documentation links. // https://fontoxml.atlassian.net/browse/DEV-23206 documentationConfigurationGuide: 'https://documentation.fontoxml.com/latest/', documentationExecuteError: 'https://documentation.fontoxml.com/latest/', documentationGettingStartedGuide: 'https://documentation.fontoxml.com/latest/', defaultHttpPort: 6060, defaultImageName: 'fonto-output', defaultImageTag: 'latest', manifestFileName: '.fontoxmlOutputManifest', manifestVersionPropertyName: 'outputVersion', instanceBuildDockerfilePath: path.join( moduleRegistration.getPath(), 'assets', 'instanceBuild', 'Dockerfile', ), instanceDevBuildDirectoryPath: path.join( moduleRegistration.getPath(), 'assets', 'instanceDevBuild', ), instanceDevBuildDockerfilePath: path.join( moduleRegistration.getPath(), 'assets', 'instanceBuild', 'Dockerfile', ), instanceTemplateDirectoryPath: path.join( moduleRegistration.getPath(), 'assets', 'instanceTemplate', ), requiredConfiguration: ['Configuration'], temporaryDirectoryName: '.outputTmp', temporaryBuildDirectoryName: '.outputBuildTmp', whitelist: [ // Required. 'Configuration', // Optional. 'nlog.config', ], debugEnvEntries: { Logging__LogLevel__Default: 'Trace', }, }; const command = moduleRegistration .registerHiddenCommand(options.commandPrefix) .setDescription(`Provides tools for working with ${options.productLabel}.`) .addRequiredProductLicenses(options.licensesRequired) .setHideIfMissingRequiredProductLicenses() .setAsHelpCommand(); if (options.commandAlias) { command.addAlias(options.commandAlias); } const sharedModuleName = '@fontoxml/fontoxml-development-tools-module-shared'; // Add the docker based commands. const addBackendDockerCommands = await moduleRegistration.getExportFromModule( sharedModuleName, 'addBackendDockerCommands', ); addBackendDockerCommands(moduleRegistration, command, options); // Add the version commands. const addBackendVersionsCommands = await moduleRegistration.getExportFromModule( sharedModuleName, 'addBackendVersionsCommands', ); addBackendVersionsCommands(moduleRegistration, command, options); // Add the download-self-contained command. const addBackendDownloadSelfContainedCommands = await moduleRegistration.getExportFromModule( sharedModuleName, 'addBackendDownloadSelfContainedCommands', ); addBackendDownloadSelfContainedCommands(moduleRegistration, command, options); };