A collection of JetBrains Web UI components
This collection of UI components aims to provide all of the necessary building blocks for web-based products built inside JetBrains, as well as third-party plugins developed for JetBrains' products.
npm install -g [email protected] @jetbrains/generator-ring-ui
yo @jetbrains/ring-uiand enter the name of the project. Then run
npm installto install all the necessary npm dependencies.
npm startto run a local development server
npm testto launch karma tests
npm run lintto lint your code
npm run buildto build a production bundle
npm run create-componentto create a new component template with styles and tests
In case boilerplate generators are not your thing and you prefer to understand the inner workings a bit better.
Install Ring UI with
npm install @jetbrains/ring-ui --save-exact
If you are building your app with webpack, make sure to
importring-ui components where needed. Otherwise, create an entry point (for example,
/app/app__components.tpl.js) and
importthe components there. ``` javascript import React from 'react'; import ReactDOM from 'react-dom'; import LoaderInline from '@jetbrains/ring-ui/components/loader-inline/loader-inline';
ReactDOM.render(, document.getElementById('container')); ```
webpack.config.jswith the following contents (example): ``` javascript const ringConfig = require('@jetbrains/ring-ui/webpack.config').config;
const webpackConfig = { entry: 'src/entry.js', // your entry point for webpack output: { path: 'path/to/dist', filename: '[name].js' }, module: { rules: [ ...ringConfig.module.rules, ] } };
module.exports = webpackConfig; ```
See CONTRIBUTING.md