How to use typedoc - 10 common examples

To help you get started, we’ve selected a few typedoc examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mlaursen / react-md / packages / generator / typedoc / typedoc.ts View on Github external
export default async function typedoc(config: ITypeDocConfig) {
  const packages = await getDocumentablePackages();
  const srcPaths = packages.map(name => path.join(PACKAGES_FOLDER, name, "src"));
  const project = compileProject(srcPaths);

  const interfaces = project.getReflectionsByKind(
    ReflectionKind.Interface
  ) as DeclarationReflection[];

  const props = interfaces.filter(intf => /^I.*(?!Default)Props/.test(intf.name));
  const classComponents = project.getReflectionsByKind(ReflectionKind.Class);
  const functionalComponents = project
    .getReflectionsByKind(ReflectionKind.Function)
    .filter(({ name }) => /^[A-Z]/.test(name) && !/Wrapper$/.test(name));

  const components = classComponents.concat(functionalComponents) as DeclarationReflection[];

  console.log("Creating component documentation...");
  const tempDir = path.join(process.cwd(), "docs");
  await fs.ensureDir(tempDir);
  await fs.emptyDir(tempDir);
  await Promise.all(
    components.map(component => {
      // workaround for the ResizeObserrver
      const name = component.name.replace(/Comp$/, "");
      const defaultProps = component.getChildByName("defaultProps") as DeclarationReflection | null;
      const documented: DocumentedComponent = {
github mlaursen / react-md / packages / generator / typedoc / typedoc.ts View on Github external
export default async function typedoc(config: ITypeDocConfig) {
  const packages = await getDocumentablePackages();
  const srcPaths = packages.map(name => path.join(PACKAGES_FOLDER, name, "src"));
  const project = compileProject(srcPaths);

  const interfaces = project.getReflectionsByKind(
    ReflectionKind.Interface
  ) as DeclarationReflection[];

  const props = interfaces.filter(intf => /^I.*(?!Default)Props/.test(intf.name));
  const classComponents = project.getReflectionsByKind(ReflectionKind.Class);
  const functionalComponents = project
    .getReflectionsByKind(ReflectionKind.Function)
    .filter(({ name }) => /^[A-Z]/.test(name) && !/Wrapper$/.test(name));

  const components = classComponents.concat(functionalComponents) as DeclarationReflection[];

  console.log("Creating component documentation...");
  const tempDir = path.join(process.cwd(), "docs");
  await fs.ensureDir(tempDir);
  await fs.emptyDir(tempDir);
  await Promise.all(
    components.map(component => {
      // workaround for the ResizeObserrver
      const name = component.name.replace(/Comp$/, "");
      const defaultProps = component.getChildByName("defaultProps") as DeclarationReflection | null;
      const documented: DocumentedComponent = {
        name,
        description: parseAndFormatComment(component.comment || {}),
github rogierschouten / gulp-typedoc / index.js View on Github external
const json = options.json;
			delete options.json;
			const version = options.version;
			delete options.version;

			if (!options.logger) {
				// reduce console logging
				options.logger = function(message, level, newline) {
					if (level === 3) {
						log(colors.red(message));
					}
				};
			}

			// typedoc instance
			const app = new typedocModule.Application(options);

			if (version && options.logger !== "none") {
				log(app.toString());
			}
			try {
				const src = app.expandInputFiles(files);
				const project = app.convert(src);
				if (project) {
					if (out) app.generateDocs(project, out);
					if (json) app.generateJson(project, json);
					if (app.logger.hasErrors()) {
						stream.emit("error", new PluginError(PLUGIN_NAME, "There were errors generating TypeDoc output, see above."));
						stream.emit("end");
						return;
					}
				} else {
github wix / react-native-navigation / scripts / gen-docs / ReflectionsReader.ts View on Github external
public read(rootPath: string): Reflections {
    const expandedFiles = this.typedocApp.expandInputFiles([rootPath]);
    const projectReflection = this.typedocApp.convert(expandedFiles);
    // console.log(JSON.stringify(this.typedocApp.serializer.projectToObject(projectReflection)));

    const externalModules = this.externalModulesWithoutTestsAndMocks(projectReflection);
    const classReflections = this.reflections(externalModules, ReflectionKind.Class);
    const interfaceReflections = this.reflections(externalModules, ReflectionKind.Interface);
    const enumReflections = this.reflections(externalModules, ReflectionKind.Enum);

    return {
      classReflections,
      interfaceReflections,
      enumReflections
    };
  }
github strongloop / strong-docs / src / ts-parser.ts View on Github external
}
      // Global = 0, ExternalModule = 1
      if (
        node.kind === ReflectionKind.Global ||
        node.kind === ReflectionKind.ExternalModule
      ) {
        let children = node.children;
        if (children && children.length > 0) {
          children.forEach(function(child) {
            findConstructs(child, files, node);
          });
        }
      } else {
        if (
          (node.kind === ReflectionKind.Class ||
            node.kind === ReflectionKind.Interface ||
            node.kind === ReflectionKind.TypeAlias ||
            node.kind === ReflectionKind.ObjectLiteral ||
            node.kind === ReflectionKind.Module ||
            node.kind === ReflectionKind.Variable ||
            node.kind === ReflectionKind.Enum ||
            node.kind === ReflectionKind.Function) &&
          node.flags.isExported &&
          files.find(
            filePath =>
              node.sources != null &&
              node.sources[0].fileName.split('/').pop() ===
                filePath.split('/').pop()
          )
        ) {
          if (parent && parent.kind === ReflectionKind.Module) {
            // Set the node name with its parent namespace
github strongloop / loopback-next / packages / tsdocs / src / ts-parser.ts View on Github external
}
      // Global = 0, ExternalModule = 1
      if (
        node.kind === ReflectionKind.Global ||
        node.kind === ReflectionKind.ExternalModule
      ) {
        let children = node.children;
        if (children && children.length > 0) {
          children.forEach(function(child) {
            findConstructs(child, files, node);
          });
        }
      } else {
        if (
          (node.kind === ReflectionKind.Class ||
            node.kind === ReflectionKind.Interface ||
            node.kind === ReflectionKind.TypeAlias ||
            node.kind === ReflectionKind.ObjectLiteral ||
            node.kind === ReflectionKind.Module ||
            node.kind === ReflectionKind.Variable ||
            node.kind === ReflectionKind.Enum ||
            node.kind === ReflectionKind.Function) &&
          node.flags.isExported &&
          files.find(
            filePath =>
              node.sources[0].fileName.split('/').pop() ===
              filePath.split('/').pop(),
          )
        ) {
          if (parent && parent.kind === ReflectionKind.Module) {
            // Set the node name with its parent namespace
            node.name = parent ? parent.name + '.' + node.name : node.name;
github wix / react-native-navigation / scripts / gen-docs / ReflectionsReader.ts View on Github external
public read(rootPath: string): Reflections {
    const expandedFiles = this.typedocApp.expandInputFiles([rootPath]);
    const projectReflection = this.typedocApp.convert(expandedFiles);
    // console.log(JSON.stringify(this.typedocApp.serializer.projectToObject(projectReflection)));

    const externalModules = this.externalModulesWithoutTestsAndMocks(projectReflection);
    const classReflections = this.reflections(externalModules, ReflectionKind.Class);
    const interfaceReflections = this.reflections(externalModules, ReflectionKind.Interface);
    const enumReflections = this.reflections(externalModules, ReflectionKind.Enum);

    return {
      classReflections,
      interfaceReflections,
      enumReflections
    };
  }
github strongloop / loopback-next / packages / tsdocs / src / ts-parser.ts View on Github external
if (
        node.kind === ReflectionKind.Global ||
        node.kind === ReflectionKind.ExternalModule
      ) {
        let children = node.children;
        if (children && children.length > 0) {
          children.forEach(function(child) {
            findConstructs(child, files, node);
          });
        }
      } else {
        if (
          (node.kind === ReflectionKind.Class ||
            node.kind === ReflectionKind.Interface ||
            node.kind === ReflectionKind.TypeAlias ||
            node.kind === ReflectionKind.ObjectLiteral ||
            node.kind === ReflectionKind.Module ||
            node.kind === ReflectionKind.Variable ||
            node.kind === ReflectionKind.Enum ||
            node.kind === ReflectionKind.Function) &&
          node.flags.isExported &&
          files.find(
            filePath =>
              node.sources[0].fileName.split('/').pop() ===
              filePath.split('/').pop(),
          )
        ) {
          if (parent && parent.kind === ReflectionKind.Module) {
            // Set the node name with its parent namespace
            node.name = parent ? parent.name + '.' + node.name : node.name;
          }
          exportedConstructs.push(node);
github strongloop / strong-docs / src / ts-parser.ts View on Github external
if (
        node.kind === ReflectionKind.Global ||
        node.kind === ReflectionKind.ExternalModule
      ) {
        let children = node.children;
        if (children && children.length > 0) {
          children.forEach(function(child) {
            findConstructs(child, files, node);
          });
        }
      } else {
        if (
          (node.kind === ReflectionKind.Class ||
            node.kind === ReflectionKind.Interface ||
            node.kind === ReflectionKind.TypeAlias ||
            node.kind === ReflectionKind.ObjectLiteral ||
            node.kind === ReflectionKind.Module ||
            node.kind === ReflectionKind.Variable ||
            node.kind === ReflectionKind.Enum ||
            node.kind === ReflectionKind.Function) &&
          node.flags.isExported &&
          files.find(
            filePath =>
              node.sources != null &&
              node.sources[0].fileName.split('/').pop() ===
                filePath.split('/').pop()
          )
        ) {
          if (parent && parent.kind === ReflectionKind.Module) {
            // Set the node name with its parent namespace
            node.name = parent ? parent.name + '.' + node.name : node.name;
          }
github strongloop / loopback-next / packages / tsdocs / src / ts-parser.ts View on Github external
) {
        let children = node.children;
        if (children && children.length > 0) {
          children.forEach(function(child) {
            findConstructs(child, files, node);
          });
        }
      } else {
        if (
          (node.kind === ReflectionKind.Class ||
            node.kind === ReflectionKind.Interface ||
            node.kind === ReflectionKind.TypeAlias ||
            node.kind === ReflectionKind.ObjectLiteral ||
            node.kind === ReflectionKind.Module ||
            node.kind === ReflectionKind.Variable ||
            node.kind === ReflectionKind.Enum ||
            node.kind === ReflectionKind.Function) &&
          node.flags.isExported &&
          files.find(
            filePath =>
              node.sources[0].fileName.split('/').pop() ===
              filePath.split('/').pop(),
          )
        ) {
          if (parent && parent.kind === ReflectionKind.Module) {
            // Set the node name with its parent namespace
            node.name = parent ? parent.name + '.' + node.name : node.name;
          }
          exportedConstructs.push(node);
        }
      }
    }