Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
@nodesecure/documentation-ui
Advanced tools
Portable UI for NodeSecure tools (guides on flags, security docs etc..)
Portable documentation/wiki UI for NodeSecure tools like CLI or Preview. This package has been designed with the objective of rendering the same documentation to all developers whatever the tool they use.
@nodesecure/flags
.Note The content is retrieved from the github API (and sometimes it transform raw markdown response to HTML, that's why we use markdown-it as dependency).
This package is available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @nodesecure/documentation-ui
# or
$ yarn add @nodesecure/documentation-ui
// Import Third-party Dependencies
import * as documentationUI from "@nodesecure/documentation-ui";
document.addEventListener("DOMContentLoaded", async () => {
const documentRootElement = document.getElementById("whatever-you-want");
const wiki = documentationUI.render(documentRootElement, {
prefetch: true,
});
console.log(`Available views: ${[...wiki.header.views.keys()].join(",")}`);
wiki.header.setNewActiveView("warnings");
// Note: you can also enumerate menus with `wiki.navigation.warnings.menus.keys()`
wiki.navigation.warnings.setNewActiveMenu("unsafe-stmt");
});
The render
API take an options payload describe by the following TS interface:
export interface RenderDocumentationUIOptions {
/**
* Prefetch all flags and cache them
*
* @default true
*/
prefetch?: boolean;
}
An incomplete example for esbuild.
// Import Third-party Dependencies
import { getBuildConfiguration } from "@nodesecure/documentation-ui/node";
import esbuild from "esbuild";
// Note: all entry points for assets (css etc..).
const { entryPoints } = getBuildConfiguration();
await esbuild.build({
entryPoints: [...entryPoints],
});
Render the documentation in the given root element.
export interface RenderResult {
header: Header;
navigation: {
flags: Navigation;
warnings: Navigation;
};
}
class Header {
active: HTMLElement;
views: Map<string, HTMLElement>;
defaultName: string | null;
setNewActiveView(name: string): void;
}
class Navigation {
active: HTMLElement;
menus: Map<string, HTMLElement>;
defaultName: string | null;
prefetch: boolean;
fetchCallback: (name: string, menu: HTMLElement) => any;
setNewActiveMenu(name: string): void;
}
You can use the local example/
to work on any updates. Just use the example
npm script:
$ npm ci
$ npm run example
"scripts": {
"example": "npm run example:build && http-server ./dist",
"example:build": "node esbuild.config.js"
}
Thanks goes to these wonderful people (emoji key):
Gentilhomme 💻 📖 👀 🛡️ 🐛 |
MIT
FAQs
Portable UI for NodeSecure tools (guides on flags, security docs etc..)
We found that @nodesecure/documentation-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 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
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.