Socket
Socket
Sign inDemoInstall

typedoc

Package Overview
Dependencies
Maintainers
5
Versions
309
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typedoc - npm Package Compare versions

Comparing version 0.24.0-beta.2 to 0.24.0-beta.3

dist/lib/utils/options/readers/package-json.d.ts

2

dist/index.d.ts

@@ -9,3 +9,3 @@ export { Application } from "./lib/application";

export type { RenderTemplate, RendererHooks } from "./lib/output";
export { ArgumentsReader, BindOption, CommentStyle, JSX, LogLevel, Logger, Options, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, EntryPointStrategy, EventHooks, MinimalSourceFile, } from "./lib/utils";
export { ArgumentsReader, BindOption, CommentStyle, JSX, LogLevel, Logger, Options, PackageJsonReader, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, EntryPointStrategy, EventHooks, MinimalSourceFile, } from "./lib/utils";
export type { OptionsReader, TypeDocOptions, TypeDocOptionMap, ValidationOptions, TypeDocOptionValues, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, ObjectDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, SortStrategy, ParameterTypeToOptionTypeMap, DocumentationEntryPoint, ManuallyValidatedOption, EnumKeys, } from "./lib/utils";

@@ -12,0 +12,0 @@ export type { EventMap, EventCallback } from "./lib/utils/events";

@@ -20,3 +20,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeScript = exports.SerializeEvent = exports.Deserializer = exports.Serializer = exports.JSONOutput = exports.MinimalSourceFile = exports.EventHooks = exports.EntryPointStrategy = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.Options = exports.Logger = exports.LogLevel = exports.JSX = exports.CommentStyle = exports.BindOption = exports.ArgumentsReader = exports.IndexEvent = exports.MarkdownEvent = exports.RendererEvent = exports.PageEvent = exports.Theme = exports.UrlMapping = exports.DefaultThemeRenderContext = exports.DefaultTheme = exports.Renderer = exports.Context = exports.Converter = exports.normalizePath = exports.resetReflectionID = exports.Event = exports.EventDispatcher = exports.Application = void 0;
exports.TypeScript = exports.SerializeEvent = exports.Deserializer = exports.Serializer = exports.JSONOutput = exports.MinimalSourceFile = exports.EventHooks = exports.EntryPointStrategy = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.Logger = exports.LogLevel = exports.JSX = exports.CommentStyle = exports.BindOption = exports.ArgumentsReader = exports.IndexEvent = exports.MarkdownEvent = exports.RendererEvent = exports.PageEvent = exports.Theme = exports.UrlMapping = exports.DefaultThemeRenderContext = exports.DefaultTheme = exports.Renderer = exports.Context = exports.Converter = exports.normalizePath = exports.resetReflectionID = exports.Event = exports.EventDispatcher = exports.Application = void 0;
var application_1 = require("./lib/application");

@@ -53,2 +53,3 @@ Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return application_1.Application; } });

Object.defineProperty(exports, "Options", { enumerable: true, get: function () { return utils_1.Options; } });
Object.defineProperty(exports, "PackageJsonReader", { enumerable: true, get: function () { return utils_1.PackageJsonReader; } });
Object.defineProperty(exports, "ParameterHint", { enumerable: true, get: function () { return utils_1.ParameterHint; } });

@@ -55,0 +56,0 @@ Object.defineProperty(exports, "ParameterType", { enumerable: true, get: function () { return utils_1.ParameterType; } });

@@ -39,2 +39,3 @@ "use strict";

app.options.addReader(new td.TypeDocReader());
app.options.addReader(new td.PackageJsonReader());
app.options.addReader(new td.TSConfigReader());

@@ -78,13 +79,9 @@ app.options.addReader(new td.ArgumentsReader(300));

app.convertAndWatch(async (project) => {
const out = app.options.getValue("out");
if (out) {
await app.generateDocs(project, out);
const json = app.options.getValue("json");
if (!json || app.options.isSet("out")) {
await app.generateDocs(project, app.options.getValue("out"));
}
const json = app.options.getValue("json");
if (json) {
await app.generateJson(project, json);
}
if (!out && !json) {
await app.generateDocs(project, "./docs");
}
});

@@ -110,13 +107,9 @@ return ExitCodes.Ok;

if (app.options.getValue("emit") !== "none") {
const out = app.options.getValue("out");
if (out) {
await app.generateDocs(project, out);
const json = app.options.getValue("json");
if (!json || app.options.isSet("out")) {
await app.generateDocs(project, app.options.getValue("out"));
}
const json = app.options.getValue("json");
if (json) {
await app.generateJson(project, json);
}
if (!out && !json) {
await app.generateDocs(project, "./docs");
}
if (app.logger.hasErrors()) {

@@ -123,0 +116,0 @@ return ExitCodes.OutputError;

@@ -17,2 +17,6 @@ import { ConverterComponent } from "../components";

/**
* Contents of the readme.md file discovered, if any
*/
private readmeContents?;
/**
* Contents of package.json for the active project

@@ -19,0 +23,0 @@ */

@@ -34,3 +34,2 @@ "use strict";

const Path = __importStar(require("path"));
const FS = __importStar(require("fs"));
const components_1 = require("../components");

@@ -43,3 +42,2 @@ const converter_1 = require("../converter");

const application_events_1 = require("../../application-events");
const validation_1 = require("../../utils/validation");
const path_1 = require("path");

@@ -72,39 +70,32 @@ /**

this.readmeFile = undefined;
this.readmeContents = undefined;
this.packageJson = undefined;
// Path will be resolved already. This is kind of ugly, but...
const noReadmeFile = this.readme.endsWith("none");
if (!noReadmeFile && this.readme) {
if (FS.existsSync(this.readme)) {
this.readmeFile = this.readme;
}
}
const packageAndReadmeFound = () => (noReadmeFile || this.readmeFile) && this.packageJson;
const reachedTopDirectory = (dirName) => dirName === Path.resolve(Path.join(dirName, ".."));
const entryFiles = this.entryPointStrategy === utils_1.EntryPointStrategy.Packages
? this.entryPoints.map((d) => (0, path_1.join)(d, "package.json"))
: this.entryPoints;
let dirName = Path.resolve((0, fs_1.getCommonDirectory)(entryFiles));
const dirName = Path.resolve((0, fs_1.getCommonDirectory)(entryFiles));
this.application.logger.verbose(`Begin readme.md/package.json search at ${(0, paths_1.nicePath)(dirName)}`);
while (!packageAndReadmeFound() && !reachedTopDirectory(dirName)) {
FS.readdirSync(dirName).forEach((file) => {
const lowercaseFileName = file.toLowerCase();
if (!noReadmeFile &&
!this.readmeFile &&
lowercaseFileName === "readme.md") {
this.readmeFile = Path.join(dirName, file);
}
if (!this.packageJson && lowercaseFileName === "package.json") {
try {
const packageJson = JSON.parse((0, utils_1.readFile)(Path.join(dirName, file)));
if ((0, validation_1.validate)({ name: String, version: (0, validation_1.optional)(String) }, packageJson)) {
this.packageJson = packageJson;
}
}
catch {
// Ignore
}
}
});
dirName = Path.resolve(Path.join(dirName, ".."));
this.packageJson = (0, fs_1.discoverPackageJson)(dirName)?.content;
// Path will be resolved already. This is kind of ugly, but...
if (this.readme.endsWith("none")) {
return; // No readme, we're done
}
if (this.readme) {
// Readme path provided, read only that file.
try {
this.readmeContents = (0, utils_1.readFile)(this.readme);
this.readmeFile = this.readme;
}
catch {
this.application.logger.error(`Provided README path, ${(0, paths_1.nicePath)(this.readme)} could not be read.`);
}
}
else {
// No readme provided, automatically find the readme
const result = (0, fs_1.discoverInParentDir)("readme.md", dirName, (content) => content);
if (result) {
this.readmeFile = result.file;
this.readmeContents = result.content;
}
}
}

@@ -115,5 +106,4 @@ onBeginResolve(context) {

addEntries(project) {
if (this.readmeFile) {
const readme = (0, utils_1.readFile)(this.readmeFile);
const comment = this.application.converter.parseRawComment(new minimalSourceFile_1.MinimalSourceFile(readme, this.readmeFile));
if (this.readmeFile && this.readmeContents) {
const comment = this.application.converter.parseRawComment(new minimalSourceFile_1.MinimalSourceFile(this.readmeContents, this.readmeFile));
if (comment.blockTags.length || comment.modifierTags.size) {

@@ -120,0 +110,0 @@ const ignored = [

@@ -26,2 +26,6 @@ "use strict";

utils_1.JSX.createElement("div", { class: "container container-main" },
utils_1.JSX.createElement("div", { class: "col-4 col-menu menu-sticky-wrap menu-highlight" },
context.hook("navigation.begin"),
context.navigation(props),
context.hook("navigation.end")),
utils_1.JSX.createElement("div", { class: "col-8 col-content" },

@@ -31,7 +35,3 @@ context.hook("content.begin"),

props.template(props),
context.hook("content.end")),
utils_1.JSX.createElement("div", { class: "col-4 col-menu menu-sticky-wrap menu-highlight" },
context.hook("navigation.begin"),
context.navigation(props),
context.hook("navigation.end"))),
context.hook("content.end"))),
context.footer(),

@@ -38,0 +38,0 @@ utils_1.JSX.createElement("div", { class: "overlay" }),

@@ -114,3 +114,3 @@ "use strict";

context.icons[child.kind](),
(0, lib_1.renderName)(child))));
utils_1.JSX.createElement("span", null, (0, lib_1.renderName)(child)))));
});

@@ -117,0 +117,0 @@ if (effectivePageParent.kindOf(models_1.ReflectionKind.SomeModule | models_1.ReflectionKind.Project)) {

@@ -52,1 +52,13 @@ export declare function isFile(file: string): boolean;

export declare function hasTsExtension(path: string): boolean;
export declare function discoverInParentDir<T extends {}>(name: string, dir: string, read: (content: string) => T | undefined): {
file: string;
content: T;
} | undefined;
export declare function discoverPackageJson(dir: string): {
file: string;
content: {
version?: string | undefined;
} & {
name: string;
};
} | undefined;

@@ -26,3 +26,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.hasTsExtension = exports.glob = exports.copySync = exports.copy = exports.writeFile = exports.writeFileSync = exports.readFile = exports.normalizePath = exports.getCommonDirectory = exports.isDir = exports.isFile = void 0;
exports.discoverPackageJson = exports.discoverInParentDir = exports.hasTsExtension = exports.glob = exports.copySync = exports.copy = exports.writeFile = exports.writeFileSync = exports.readFile = exports.normalizePath = exports.getCommonDirectory = exports.isDir = exports.isFile = void 0;
const fs = __importStar(require("fs"));

@@ -32,2 +32,3 @@ const fs_1 = require("fs");

const path_1 = require("path");
const validation_1 = require("./validation");
function isFile(file) {

@@ -269,1 +270,32 @@ try {

exports.hasTsExtension = hasTsExtension;
function discoverInParentDir(name, dir, read) {
if (!isDir(dir))
return;
const reachedTopDirectory = (dirName) => dirName === (0, path_1.resolve)((0, path_1.join)(dirName, ".."));
while (!reachedTopDirectory(dir)) {
for (const file of fs.readdirSync(dir)) {
if (file.toLowerCase() !== name.toLowerCase())
continue;
try {
const content = read(readFile((0, path_1.join)(dir, file)));
if (content != null) {
return { file: (0, path_1.join)(dir, file), content };
}
}
catch {
// Ignore, file didn't pass validation
}
}
dir = (0, path_1.resolve)((0, path_1.join)(dir, ".."));
}
}
exports.discoverInParentDir = discoverInParentDir;
function discoverPackageJson(dir) {
return discoverInParentDir("package.json", dir, (content) => {
const pkg = JSON.parse(content);
if ((0, validation_1.validate)({ name: String, version: (0, validation_1.optional)(String) }, pkg)) {
return pkg;
}
});
}
exports.discoverPackageJson = discoverPackageJson;

@@ -5,3 +5,3 @@ export { filterMap, insertPrioritySorted, partition, removeIf, removeIfPresent, unique, } from "./array";

export { Event, EventDispatcher } from "./events";
export { isFile, copy, copySync, getCommonDirectory, normalizePath, readFile, writeFile, writeFileSync, } from "./fs";
export { isFile, copy, copySync, getCommonDirectory, normalizePath, readFile, writeFile, writeFileSync, discoverInParentDir, discoverPackageJson, } from "./fs";
export type { IfInternal, NeverIfInternal, Chars } from "./general";

@@ -11,3 +11,3 @@ export { assertNever } from "./general";

export { DefaultMap } from "./map";
export { ArgumentsReader, BindOption, CommentStyle, Options, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, } from "./options";
export { ArgumentsReader, BindOption, CommentStyle, Options, PackageJsonReader, ParameterHint, ParameterType, TSConfigReader, TypeDocReader, } from "./options";
export type { ArrayDeclarationOption, BooleanDeclarationOption, DeclarationOption, DeclarationOptionBase, DeclarationOptionToOptionType, KeyToDeclaration, MapDeclarationOption, MixedDeclarationOption, NumberDeclarationOption, FlagsDeclarationOption, ObjectDeclarationOption, OptionsReader, StringDeclarationOption, TypeDocOptionMap, TypeDocOptions, ValidationOptions, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./options";

@@ -14,0 +14,0 @@ export { loadPlugins } from "./plugins";

@@ -29,3 +29,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.MinimalSourceFile = exports.Validation = exports.renderElement = exports.Raw = exports.Fragment = exports.JSX = exports.EventHooks = exports.getSortFunction = exports.loadPlugins = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.Options = exports.CommentStyle = exports.BindOption = exports.ArgumentsReader = exports.DefaultMap = exports.LogLevel = exports.Logger = exports.ConsoleLogger = exports.assertNever = exports.writeFileSync = exports.writeFile = exports.readFile = exports.normalizePath = exports.getCommonDirectory = exports.copySync = exports.copy = exports.isFile = exports.EventDispatcher = exports.Event = exports.Component = exports.ChildableComponent = exports.AbstractComponent = exports.unique = exports.removeIfPresent = exports.removeIf = exports.partition = exports.insertPrioritySorted = exports.filterMap = void 0;
exports.MinimalSourceFile = exports.Validation = exports.renderElement = exports.Raw = exports.Fragment = exports.JSX = exports.EventHooks = exports.getSortFunction = exports.loadPlugins = exports.TypeDocReader = exports.TSConfigReader = exports.ParameterType = exports.ParameterHint = exports.PackageJsonReader = exports.Options = exports.CommentStyle = exports.BindOption = exports.ArgumentsReader = exports.DefaultMap = exports.LogLevel = exports.Logger = exports.ConsoleLogger = exports.assertNever = exports.discoverPackageJson = exports.discoverInParentDir = exports.writeFileSync = exports.writeFile = exports.readFile = exports.normalizePath = exports.getCommonDirectory = exports.copySync = exports.copy = exports.isFile = exports.EventDispatcher = exports.Event = exports.Component = exports.ChildableComponent = exports.AbstractComponent = exports.unique = exports.removeIfPresent = exports.removeIf = exports.partition = exports.insertPrioritySorted = exports.filterMap = void 0;
var array_1 = require("./array");

@@ -55,2 +55,4 @@ Object.defineProperty(exports, "filterMap", { enumerable: true, get: function () { return array_1.filterMap; } });

Object.defineProperty(exports, "writeFileSync", { enumerable: true, get: function () { return fs_1.writeFileSync; } });
Object.defineProperty(exports, "discoverInParentDir", { enumerable: true, get: function () { return fs_1.discoverInParentDir; } });
Object.defineProperty(exports, "discoverPackageJson", { enumerable: true, get: function () { return fs_1.discoverPackageJson; } });
var general_1 = require("./general");

@@ -69,2 +71,3 @@ Object.defineProperty(exports, "assertNever", { enumerable: true, get: function () { return general_1.assertNever; } });

Object.defineProperty(exports, "Options", { enumerable: true, get: function () { return options_1.Options; } });
Object.defineProperty(exports, "PackageJsonReader", { enumerable: true, get: function () { return options_1.PackageJsonReader; } });
Object.defineProperty(exports, "ParameterHint", { enumerable: true, get: function () { return options_1.ParameterHint; } });

@@ -71,0 +74,0 @@ Object.defineProperty(exports, "ParameterType", { enumerable: true, get: function () { return options_1.ParameterType; } });

export { Options, BindOption } from "./options";
export type { OptionsReader } from "./options";
export { ArgumentsReader, TypeDocReader, TSConfigReader } from "./readers";
export { ArgumentsReader, PackageJsonReader, TypeDocReader, TSConfigReader, } from "./readers";
export { CommentStyle, EmitStrategy, ParameterType, ParameterHint, } from "./declaration";
export type { TypeDocOptions, TypeDocOptionMap, ValidationOptions, KeyToDeclaration, DeclarationOption, DeclarationOptionBase, StringDeclarationOption, NumberDeclarationOption, BooleanDeclarationOption, ArrayDeclarationOption, MixedDeclarationOption, ObjectDeclarationOption, MapDeclarationOption, FlagsDeclarationOption, DeclarationOptionToOptionType, TypeDocOptionValues, ParameterTypeToOptionTypeMap, ManuallyValidatedOption, } from "./declaration";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParameterHint = exports.ParameterType = exports.EmitStrategy = exports.CommentStyle = exports.TSConfigReader = exports.TypeDocReader = exports.ArgumentsReader = exports.BindOption = exports.Options = void 0;
exports.ParameterHint = exports.ParameterType = exports.EmitStrategy = exports.CommentStyle = exports.TSConfigReader = exports.TypeDocReader = exports.PackageJsonReader = exports.ArgumentsReader = exports.BindOption = exports.Options = void 0;
var options_1 = require("./options");

@@ -9,2 +9,3 @@ Object.defineProperty(exports, "Options", { enumerable: true, get: function () { return options_1.Options; } });

Object.defineProperty(exports, "ArgumentsReader", { enumerable: true, get: function () { return readers_1.ArgumentsReader; } });
Object.defineProperty(exports, "PackageJsonReader", { enumerable: true, get: function () { return readers_1.PackageJsonReader; } });
Object.defineProperty(exports, "TypeDocReader", { enumerable: true, get: function () { return readers_1.TypeDocReader; } });

@@ -11,0 +12,0 @@ Object.defineProperty(exports, "TSConfigReader", { enumerable: true, get: function () { return readers_1.TSConfigReader; } });

export { ArgumentsReader } from "./arguments";
export { PackageJsonReader } from "./package-json";
export { TSConfigReader } from "./tsconfig";
export { TypeDocReader } from "./typedoc";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeDocReader = exports.TSConfigReader = exports.ArgumentsReader = void 0;
exports.TypeDocReader = exports.TSConfigReader = exports.PackageJsonReader = exports.ArgumentsReader = void 0;
var arguments_1 = require("./arguments");
Object.defineProperty(exports, "ArgumentsReader", { enumerable: true, get: function () { return arguments_1.ArgumentsReader; } });
var package_json_1 = require("./package-json");
Object.defineProperty(exports, "PackageJsonReader", { enumerable: true, get: function () { return package_json_1.PackageJsonReader; } });
var tsconfig_1 = require("./tsconfig");

@@ -7,0 +9,0 @@ Object.defineProperty(exports, "TSConfigReader", { enumerable: true, get: function () { return tsconfig_1.TSConfigReader; } });

@@ -204,2 +204,3 @@ "use strict";

hint: declaration_1.ParameterHint.Directory,
defaultValue: "./docs",
});

@@ -206,0 +207,0 @@ options.addDeclaration({

{
"name": "typedoc",
"description": "Create api documentation for TypeScript projects.",
"version": "0.24.0-beta.2",
"version": "0.24.0-beta.3",
"homepage": "https://typedoc.org",

@@ -6,0 +6,0 @@ "exports": {

@@ -22,3 +22,3 @@ # TypeDoc

To generate documentation TypeDoc needs to know your project entry point, and TypeScript
To generate documentation TypeDoc needs to know your project entry point and TypeScript
compiler options. It will automatically try to find your `tsconfig.json` file, so you can

@@ -42,34 +42,7 @@ just specify the entry point of your library:

If your codebase is comprised of one or more npm packages, you can pass the paths to these
packages and TypeDoc will attempt to determine entry points based on `package.json`'s `main`
property (with default value `index.js`) and if it wasn't found, based on `types` property.
If any of the packages given are the root of an [npm Workspace](https://docs.npmjs.com/cli/v7/using-npm/workspaces)
or a [Yarn Workspace](https://classic.yarnpkg.com/en/docs/workspaces/) TypeDoc will find all
the `workspaces` defined in the `package.json`. In order to find your entry points, TypeDoc requires
either that you turn on sourcemaps so that it can discover the original TS file, or that you
specify `"typedocMain": "src/index.ts"` to explicitly state where the package entry point is.
Supports wildcard paths in the same fashion as those found in npm or Yarn workspaces.
If your codebase is comprised of one or more npm packages, you can build documentation for each of them individually
and merge the results together into a single site by setting `entryPointStrategy` to `packages`. In this mode TypeDoc
requires configuration to be present in each directory to specify the entry points. For an example setup, see
`<TODO need to create example>`
#### Single npm module
```bash
typedoc --entryPointStrategy packages .
```
#### Monorepo with npm/Yarn workspace at the root
```bash
typedoc --entryPointStrategy packages .
```
#### Monorepo with manually specified sub-packages to document
This can be useful if you do not want all your workspaces to be processed.
Accepts the same paths as would go in the `package.json`'s workspaces
```bash
# Note the single quotes prevent shell wildcard expansion, allowing typedoc to do the expansion
typedoc --entryPointStrategy packages a-package 'some-more-packages/*' 'some-other-packages/*'
```
### Arguments

@@ -76,0 +49,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc