const webpackConfig = require('react-scripts/config/webpack.config.dev.js'); const { defaultHandlers } = require('react-docgen'); const dnHandler = require('react-docgen-displayname-handler'); const snapguidist = require('snapguidist'); const path = require('path'); module.exports = snapguidist({ webpackConfig: Object.assign(webpackConfig, { resolve: Object.assign(webpackConfig.resolve, { alias: Object.assign(webpackConfig.resolve.alias, { 'rsg-components/Wrapper': path.join(__dirname, 'src/styleguide/wrapper') }) }), module: Object.assign(webpackConfig.module, { rules: webpackConfig.module.rules.map(rule => { if (!(rule.loader || '').match(/babel-loader/)) { return rule; } return Object.assign(rule, { options: { babelrc: true, cacheDirectory: false } }); }) }) }), title: 'UI Toolkit', sections: [ // { // name: 'Getting Started', // content: 'src/getting-started.md' // }, // { // name: 'Guidelines', // sections: [ // { // name: 'Overview', // content: 'src/guidelines/overview.md' // }, // { // name: 'Layout', // content: 'src/guidelines/layout.md' // } // ] // }, { name: 'Theme', content: 'src/theme/colors.md' }, { name: 'Components', components: () => [ 'src/anchor/index.js', 'src/button/index.js', 'src/breadcrumb/index.js', 'src/card/card.js', 'src/form/input.js', 'src/form/number-input.js', 'src/form/checkbox.js', 'src/dropdown/index.js', 'src/progress-bar/index.js', 'src/form/radio.js', 'src/form/select.js', 'src/form/toggle.js', 'src/header/index.js', 'src/section-list/index.js', 'src/topology/index.js', 'src/tooltip/tooltip.js', 'src/close-button/index.js', 'src/icon-button/index.js' ] }, { name: 'Baseline', content: 'src/baseline/readme.md' } // { // name: 'F.A.Q.', // content: 'src/faq.md' // } ], handlers: componentPath => defaultHandlers.concat(dnHandler.createDisplayNameHandler(componentPath)) });