{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.7.8",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/tsdocs!",
  "docComment": "/**\n * The `@loopback/tsdocs` package is an internal module to generate {@link https://github.com/Microsoft/tsdoc | tsdoc} based API docs for `@loopback/*` packages within {@link https://github.com/strongloop/loopback-next | loopback-next} monorepo managed by {@link https://github.com/lerna/lerna | Lerna}.\n *\n * It's built on top of {@link https://api-extractor.com | Microsoft API Extractor}:\n *\n * - {@link https://github.com/Microsoft/web-build-tools/tree/master/apps/api-extractor | api-extractor} - {@link https://github.com/Microsoft/web-build-tools/tree/master/apps/api-documenter | api-documenter}\n *\n * @packageDocumentation\n */\n",
  "name": "@loopback/tsdocs",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/tsdocs!",
      "name": "",
      "members": [
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/tsdocs!ApiDocsOptions:interface",
          "docComment": "/**\n * Options for api docs\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ApiDocsOptions "
            }
          ],
          "releaseTag": "Public",
          "name": "ApiDocsOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#apiDocsExtractionPath:member",
              "docComment": "/**\n * Path to tsdocs reports/models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "apiDocsExtractionPath?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "apiDocsExtractionPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#apiDocsGenerationPath:member",
              "docComment": "/**\n * Path to target directory to generate apidocs\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "apiDocsGenerationPath?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "apiDocsGenerationPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#dryRun:member",
              "docComment": "/**\n * To have a dry-run without generating api reports/doc models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dryRun?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "dryRun",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#generateDefaultPackageDoc:member",
              "docComment": "/**\n * A flag to generate default package documentation\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "generateDefaultPackageDoc?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "generateDefaultPackageDoc",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#lernaPackages:member",
              "docComment": "/**\n * Package metadata\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lernaPackages?: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, "
                },
                {
                  "kind": "Reference",
                  "text": "LernaPackage",
                  "canonicalReference": "@loopback/tsdocs!LernaPackage:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "lernaPackages",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#rootDir:member",
              "docComment": "/**\n * Root directory for the lerna-managed monorepo, default to current dir\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rootDir?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "rootDir",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions#silent:member",
              "docComment": "/**\n * If `true`, do not print messages to console\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "silent?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "silent",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/tsdocs!DEFAULT_APIDOCS_EXTRACTION_PATH:var",
          "docComment": "/**\n * Default path as the output directory for extracted api reports and models\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "DEFAULT_APIDOCS_EXTRACTION_PATH = \"docs/apidocs\""
            }
          ],
          "releaseTag": "Public",
          "name": "DEFAULT_APIDOCS_EXTRACTION_PATH",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/tsdocs!DEFAULT_APIDOCS_GENERATION_PATH:var",
          "docComment": "/**\n * Default path for apidocs to be generated for loopback.io site\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "DEFAULT_APIDOCS_GENERATION_PATH = \"docs/site/apidocs\""
            }
          ],
          "releaseTag": "Public",
          "name": "DEFAULT_APIDOCS_GENERATION_PATH",
          "variableTypeTokenRange": {
            "startIndex": 0,
            "endIndex": 0
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/tsdocs!ExtractorOptions:interface",
          "docComment": "/**\n * Options to run api-extractor against the lerna repo\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ExtractorOptions extends "
            },
            {
              "kind": "Reference",
              "text": "ApiDocsOptions",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "releaseTag": "Public",
          "name": "ExtractorOptions",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions#apiReportEnabled:member",
              "docComment": "/**\n * A flag to control if `apiReport` should be enabled\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "apiReportEnabled?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "apiReportEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions#config:member",
              "docComment": "/**\n * Configuration for api-extractor\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "config?: "
                },
                {
                  "kind": "Reference",
                  "text": "IConfigFile",
                  "canonicalReference": "@microsoft/api-extractor!IConfigFile:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "config",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions#mainEntryPointFilePath:member",
              "docComment": "/**\n * mainEntryPointFilePath\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "mainEntryPointFilePath?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "mainEntryPointFilePath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions#tsconfigFilePath:member",
              "docComment": "/**\n * Path for tsconfig\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tsconfigFilePath?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "tsconfigFilePath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions#typescriptCompilerFolder:member",
              "docComment": "/**\n * Custom TypeScript compiler dir\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "typescriptCompilerFolder?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "typescriptCompilerFolder",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 3
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!getPackages:function(1)",
          "docComment": "/**\n * Get lerna packages and sorted them by location\n *\n * @param rootDir - Root directory to find lerna.json\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getPackages(rootDir?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "LernaPackage",
              "canonicalReference": "@loopback/tsdocs!LernaPackage:interface"
            },
            {
              "kind": "Content",
              "text": "[]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "rootDir",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "getPackages"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!getPackagesWithTsDocs:function(1)",
          "docComment": "/**\n * Get an array of lerna-managed TypeScript packages to generate tsdocs\n *\n * @param rootDir - Root directory to find the monorepo\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getPackagesWithTsDocs(rootDir?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "LernaPackage",
              "canonicalReference": "@loopback/tsdocs!LernaPackage:interface"
            },
            {
              "kind": "Content",
              "text": "[]>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "rootDir",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "getPackagesWithTsDocs"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!getUnscopedPackageName:function(1)",
          "docComment": "/**\n * Get un-scoped package name\n *\n * @param name - Name of the npm package\n *\n * @example\n *\n * - '@loopback/context' => 'context' - 'express' => 'express'\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function getUnscopedPackageName(name: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "name",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "getUnscopedPackageName"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/tsdocs!LernaPackage:interface",
          "docComment": "/**\n * TypeScript definition for {@link https://github.com/lerna/lerna/blob/master/core/package/index.js | Lerna Package)\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface LernaPackage "
            }
          ],
          "releaseTag": "Public",
          "name": "LernaPackage",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!LernaPackage#location:member",
              "docComment": "/**\n * Location of the package\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "location: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "location",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!LernaPackage#manifestLocation:member",
              "docComment": "/**\n * Location of `package.json`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "manifestLocation: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "manifestLocation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!LernaPackage#name:member",
              "docComment": "/**\n * Package name\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!LernaPackage#private:member",
              "docComment": "/**\n * Is it a private package?\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "private: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "private",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/tsdocs!LernaPackage#rootPath:member",
              "docComment": "/**\n * Root directory of the monorepo\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rootPath: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "rootPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!runExtractorForMonorepo:function(1)",
          "docComment": "/**\n * Run api-extractor for a lerna-managed monrepo\n *\n * @remarks\n *\n * The function performs the following steps: 1. Discover packages with tsdocs from the monorepo 2. Iterate through each package to run `api-extractor`\n *\n * @param options - Options for running api-extractor\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function runExtractorForMonorepo(options?: "
            },
            {
              "kind": "Reference",
              "text": "ExtractorOptions",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "runExtractorForMonorepo"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!runExtractorForPackage:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function runExtractorForPackage(pkgDir?: "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Reference",
              "text": "ExtractorOptions",
              "canonicalReference": "@loopback/tsdocs!ExtractorOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "pkgDir",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "name": "runExtractorForPackage"
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!shouldGenerateTsDocs:function(1)",
          "docComment": "/**\n * Check if a package should be processed for tsdocs\n *\n * @param pkg - Lerna package\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function shouldGenerateTsDocs(pkg: "
            },
            {
              "kind": "Reference",
              "text": "LernaPackage",
              "canonicalReference": "@loopback/tsdocs!LernaPackage:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "boolean"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 4
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "pkg",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "shouldGenerateTsDocs"
        },
        {
          "kind": "Variable",
          "canonicalReference": "@loopback/tsdocs!typeScriptPath:var",
          "docComment": "/**\n * Export the TypeScript path from `@loopback/build`\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "typeScriptPath: "
            },
            {
              "kind": "Content",
              "text": "any"
            }
          ],
          "releaseTag": "Public",
          "name": "typeScriptPath",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/tsdocs!updateApiDocs:function(1)",
          "docComment": "/**\n * Update markdown files generated by api-documenter to prepend Jekyll metadata and generate `apidocs/index.md`.\n *\n * @param options - Options for api docs\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function updateApiDocs(options?: "
            },
            {
              "kind": "Reference",
              "text": "ApiDocsOptions",
              "canonicalReference": "@loopback/tsdocs!ApiDocsOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "name": "updateApiDocs"
        }
      ]
    }
  ]
}
