{ "name": "host", "factory": "./src/generators/host/host#hostInternal", "schema": { "$schema": "http://json-schema.org/schema", "$id": "NxMFHost", "cli": "nx", "title": "Nx Module Federation Host Application", "description": "Create an Angular Host Module Federation Application.", "type": "object", "examples": [ { "command": "nx g @nx/angular:host appName --remotes=remote1", "description": "Create an Angular application with configuration in place for Module Federation. If the `remotes` option is provided, attach the remote application to this application's configuration" } ], "properties": { "name": { "type": "string", "description": "The name to give to the host Angular application.", "$default": { "$source": "argv", "index": 0 }, "pattern": "^[a-zA-Z][^:]*$" }, "remotes": { "type": "array", "description": "The names of the remote applications to add to the host.", "x-priority": "important" }, "dynamic": { "type": "boolean", "description": "Should the host application use dynamic federation?", "default": false }, "directory": { "description": "The directory of the new application.", "type": "string" }, "projectNameAndRootFormat": { "description": "Whether to generate the project name and root directory as provided (`as-provided`) or generate them composing their values and taking the configured layout into account (`derived`).", "type": "string", "enum": ["as-provided", "derived"] }, "style": { "description": "The file extension to be used for style files.", "type": "string", "default": "css", "enum": ["css", "scss", "sass", "less"], "x-prompt": { "message": "Which stylesheet format would you like to use?", "type": "list", "items": [ { "value": "css", "label": "CSS" }, { "value": "scss", "label": "SASS(.scss) [ http://sass-lang.com ]" }, { "value": "sass", "label": "SASS(.sass) [ http://sass-lang.com ]" }, { "value": "less", "label": "LESS [ http://lesscss.org ]" } ] } }, "inlineStyle": { "description": "Specifies if the style will be in the ts file.", "type": "boolean", "default": false, "alias": "s" }, "inlineTemplate": { "description": "Specifies if the template will be in the ts file.", "type": "boolean", "default": false, "alias": "t" }, "viewEncapsulation": { "description": "Specifies the view encapsulation strategy.", "enum": ["Emulated", "None", "ShadowDom"], "type": "string" }, "prefix": { "type": "string", "format": "html-selector", "description": "The prefix to apply to generated selectors.", "alias": "p" }, "skipTests": { "description": "Skip creating spec files.", "type": "boolean", "default": false, "alias": "S" }, "skipPackageJson": { "type": "boolean", "default": false, "description": "Do not add dependencies to `package.json`.", "x-priority": "internal" }, "skipPostInstall": { "type": "boolean", "default": false, "description": "Do not add or append `ngcc` to the `postinstall` script in `package.json`.", "x-priority": "internal" }, "unitTestRunner": { "type": "string", "enum": ["jest", "none"], "description": "Test runner to use for unit tests.", "default": "jest" }, "e2eTestRunner": { "type": "string", "enum": ["cypress", "playwright", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", "default": "cypress" }, "tags": { "type": "string", "description": "Add tags to the application (used for linting)." }, "linter": { "description": "The tool to use for running lint checks.", "type": "string", "enum": ["eslint", "none"], "default": "eslint" }, "backendProject": { "type": "string", "description": "Backend project that provides data to this application. This sets up `proxy.config.json`." }, "strict": { "type": "boolean", "description": "Create an application with stricter type checking and build optimization options.", "default": true }, "standaloneConfig": { "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", "type": "boolean", "default": true, "x-deprecated": "Nx only supports standaloneConfig" }, "setParserOptionsProject": { "type": "boolean", "description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.", "default": false }, "addTailwind": { "type": "boolean", "description": "Whether to configure Tailwind CSS for the application.", "default": false }, "skipFormat": { "description": "Skip formatting files.", "type": "boolean", "default": false, "x-priority": "internal" }, "standalone": { "type": "boolean", "description": "Whether to generate a host application that uses standalone components. _Note: This is only supported in Angular versions >= 14.1.0_", "default": false }, "ssr": { "description": "Whether to configure SSR for the host application", "type": "boolean", "default": false, "x-priority": "important" }, "typescriptConfiguration": { "type": "boolean", "description": "Whether the module federation configuration and webpack configuration files should use TS.", "default": true } }, "additionalProperties": false, "required": ["name"], "presets": [] }, "x-type": "application", "description": "Generate a Host Angular Module Federation Application.", "implementation": "/packages/angular/src/generators/host/host#hostInternal.ts", "aliases": [], "hidden": false, "path": "/packages/angular/src/generators/host/schema.json", "type": "generator" }