Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@fluentui/api-docs
Advanced tools
Transforms API Extractor .api.json files into .page.json files
Processes package-name.api.json
files generated by API Extractor into ComponentName.page.json
files used to populate API reference tables, mainly in the Fluent UI website's Controls section.
{@docCategory PageName}
annotation in its top-level doc comment. If the item is related to a specific component, PageName
should be the name of the component. Otherwise, you can use either the name of the item or a general category that it falls under./**
* Comment about the props
* {@docCategory Foo}
*/
interface FooProps {}
Add a config and build step to run API Extractor on your package. (Fluent UI has a shared config extended by each package's config.)
Somewhere in your repo (probably in the package that displays the documentation), add a build step to invoke the generatePageJsonFiles
API. For the config object, see IPageJsonOptions
in this file for docs and this file for an example.
const { generatePageJsonFiles } = require('@fluentui/api-docs');
const config = {}; // your config here
generatePageJsonFiles(config);
*.page.json
files, you can either use ApiReferencesTableSet
from @fluentui/react-docsite-components
, or use its logic as a template for your own control.Documenting the following API items/types is supported:
These API items/types are not supported currently (PRs welcome):
If you're using ApiReferencesTableSet
for rendering the output, top-level doc comments have full markdown support, but individual prop comments have limited support (currently just inline code blocks) due to performance concerns. (May not apply if you've written your own renderer.)
API Extractor has a particular format required for certain types of doc comments and will fail at build time if this format is not followed. There are also a few suggested best practices.
Good | Bad | |
---|---|---|
@param tags must include a dash and not contain type information | /** * @param myParam - Description here */ | /** * @param myParam Description here * @param {number} myParam Description here */ |
Special characters which have meaning in TSDoc (e.g. @ > { } ) must be escaped with backslashes or backticks | /** * Comment about `>` and `{`. * As of version \>= 1.0.0. */ | /** * Comment about '>' and '{'. * As of version >= 1.0.0. */ |
@deprecated tags should include a deprecation message | /** * @deprecated Use `foo` instead. */ | /** * Deprecated. Use `foo` instead. * @deprecated */ |
Default values should be indicated by @defaultvalue tags (@default and @defaultValue also work) | /** * @defaultvalue 'hello world' */ | /** * Default is 'hello world' */ |
FAQs
Transforms API Extractor .api.json files into .page.json files
The npm package @fluentui/api-docs receives a total of 111 weekly downloads. As such, @fluentui/api-docs popularity was classified as not popular.
We found that @fluentui/api-docs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.