npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@diplodoc/components

v4.19.0

Published

React components for drawing Diplodoc documentation

Downloads

680

Readme

NPM version

YFM Docs Components

Компоненты для Yandex Flavored Markdown Documentation.

Installation

npm i @diplodoc/components

Usage

Append js

// In most cases append transform runtime
import "@doc-tools/transform/dist/js/yfm.js";

import {createRoot} from 'react-dom/client';
import {ThemeProvider} from '@gravity-ui/uikit';

// configure components
import {configure as configureUikit} from '@gravity-ui/uikit';
import {configure as configureDocs} from '@diplodoc/components';

configureUikit({lang: 'ru'});

// can be reconfigured in any moment
configureDocs({
    lang: 'ru',
    // optionally configure allowed translations
    loc: {ru, en, tr, ...}
})

// The theme must be applied. To do that wrap your app in ThemeProvider
const root = createRoot(document.getElementById('root'));
root.render(
    <ThemeProvider theme="light">
        <App />
    </ThemeProvider>,
);

Append css

/*project.css*/

/*Append components styles*/
@import '@diplodoc/components';

/*Append components theme*/
@import '@diplodoc/components/themes/common';

/*In most cases append transform styles*/
@import '@doc-tools/transform/dist/css/yfm.css';

Development

To build the project correctly you need to install python@2. Visit python.org/downloads to get the latest version.

Install Dependencies

npm ci
cd demo && npm ci

To start the development server with storybook run the following:

npm run dev

Testing

We use Playwright for testing.

Preparation

Each version of Playwright needs specific versions of browser binaries to operate.

# loads binaries
npx playwright install

By default playwright will use http://localhost:6006 as URL for storybook server.

If you want to change it, you should add .env file in repository's root directory with the data below:

# the URL where the storybook is running
BASE_URL= # for example:'http://localhost:6006'

Running tests

All tests:

npm run test

Single test:

npm run test test_name.spec.ts

Several sets of test files from different folders:

npm run test __tests__/folder1 __tests__/folder2

Last failed tests:

npx playwright test --last-failed

These commands run storybook server before tests.

If storybook server is already running, playwright will use it for tests and won't run another server.

Test reports

To see test reports run:

npx playwright show-report

Writing and updating tests

All tests are in ./__tests__ folder.

**.spec.ts files contain test code. To write or change tests use Playwright documentation.

For screenshot testing you need write page URL in your test file. You need page without storybook panel.

Page with storybook panel Open page without storybook panel in new tab by using 'Open canvas in new tab' button and use that URL in tests.

Page without storybook panel

After running tests playwright will create folder for snapshots (if it didn't exist).

**.__screenshots__ folders contain screenshots which are used for comparison with test screenshots.

If reference screenshot is incorrect you can update it:

npm run test --update-snapshots

License

MIT