Skip to content

Commit 4cb20a9

Browse files
committed
Export storybook middleware
1 parent d4b8931 commit 4cb20a9

6 files changed

Lines changed: 123 additions & 90 deletions

File tree

dist/manager.js

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/manager.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/server/index.js

Lines changed: 8 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,6 @@
11
#!/usr/bin/env node
22
'use strict';
33

4-
var _webpack = require('webpack');
5-
6-
var _webpack2 = _interopRequireDefault(_webpack);
7-
8-
var _webpackDevMiddleware = require('webpack-dev-middleware');
9-
10-
var _webpackDevMiddleware2 = _interopRequireDefault(_webpackDevMiddleware);
11-
12-
var _webpackHotMiddleware = require('webpack-hot-middleware');
13-
14-
var _webpackHotMiddleware2 = _interopRequireDefault(_webpackHotMiddleware);
15-
16-
var _index = require('./index.html');
17-
18-
var _index2 = _interopRequireDefault(_index);
19-
20-
var _iframe = require('./iframe.html');
21-
22-
var _iframe2 = _interopRequireDefault(_iframe);
23-
244
var _express = require('express');
255

266
var _express2 = _interopRequireDefault(_express);
@@ -29,18 +9,6 @@ var _commander = require('commander');
299

3010
var _commander2 = _interopRequireDefault(_commander);
3111

32-
var _package = require('../../package.json');
33-
34-
var _package2 = _interopRequireDefault(_package);
35-
36-
var _webpack3 = require('./webpack.config');
37-
38-
var _webpack4 = _interopRequireDefault(_webpack3);
39-
40-
var _config = require('./config');
41-
42-
var _config2 = _interopRequireDefault(_config);
43-
4412
var _path = require('path');
4513

4614
var _path2 = _interopRequireDefault(_path);
@@ -49,7 +17,13 @@ var _fs = require('fs');
4917

5018
var _fs2 = _interopRequireDefault(_fs);
5119

52-
var _utils = require('./utils');
20+
var _middleware = require('./middleware');
21+
22+
var _middleware2 = _interopRequireDefault(_middleware);
23+
24+
var _package = require('../../package.json');
25+
26+
var _package2 = _interopRequireDefault(_package);
5327

5428
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5529

@@ -86,24 +60,7 @@ if (_commander2.default.staticDir) {
8660
// Build the webpack configuration using the `baseConfig`
8761
// custom `.babelrc` file and `webpack.config.js` files
8862
var configDir = _commander2.default.configDir || './.storybook';
89-
var config = (0, _config2.default)('DEVELOPMENT', _webpack4.default, configDir);
90-
91-
var compiler = (0, _webpack2.default)(config);
92-
var devMiddlewareOptions = {
93-
noInfo: true,
94-
publicPath: config.output.publicPath
95-
};
96-
app.use((0, _webpackDevMiddleware2.default)(compiler, devMiddlewareOptions));
97-
app.use((0, _webpackHotMiddleware2.default)(compiler));
98-
99-
app.get('/', function (req, res) {
100-
res.send((0, _index2.default)());
101-
});
102-
103-
var headHtml = (0, _utils.getHeadHtml)(configDir);
104-
app.get('/iframe.html', function (req, res) {
105-
res.send((0, _iframe2.default)(headHtml));
106-
});
63+
app.use((0, _middleware2.default)(configDir));
10764

10865
app.listen.apply(app, listenAddr.concat([function (error) {
10966
if (error) {

dist/server/middleware.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
7+
exports.default = function (configDir) {
8+
// Build the webpack configuration using the `baseConfig`
9+
// custom `.babelrc` file and `webpack.config.js` files
10+
var config = (0, _config2.default)('DEVELOPMENT', _webpack4.default, configDir);
11+
var compiler = (0, _webpack2.default)(config);
12+
var devMiddlewareOptions = {
13+
noInfo: true,
14+
publicPath: config.output.publicPath
15+
};
16+
17+
var router = new _express.Router();
18+
router.use((0, _webpackDevMiddleware2.default)(compiler, devMiddlewareOptions));
19+
router.use((0, _webpackHotMiddleware2.default)(compiler));
20+
21+
router.get('/', function (req, res) {
22+
res.send((0, _index2.default)());
23+
});
24+
25+
var headHtml = (0, _utils.getHeadHtml)(configDir);
26+
router.get('/iframe.html', function (req, res) {
27+
res.send((0, _iframe2.default)(headHtml));
28+
});
29+
30+
return router;
31+
};
32+
33+
var _express = require('express');
34+
35+
var _webpack = require('webpack');
36+
37+
var _webpack2 = _interopRequireDefault(_webpack);
38+
39+
var _webpackDevMiddleware = require('webpack-dev-middleware');
40+
41+
var _webpackDevMiddleware2 = _interopRequireDefault(_webpackDevMiddleware);
42+
43+
var _webpackHotMiddleware = require('webpack-hot-middleware');
44+
45+
var _webpackHotMiddleware2 = _interopRequireDefault(_webpackHotMiddleware);
46+
47+
var _webpack3 = require('./webpack.config');
48+
49+
var _webpack4 = _interopRequireDefault(_webpack3);
50+
51+
var _config = require('./config');
52+
53+
var _config2 = _interopRequireDefault(_config);
54+
55+
var _index = require('./index.html');
56+
57+
var _index2 = _interopRequireDefault(_index);
58+
59+
var _iframe = require('./iframe.html');
60+
61+
var _iframe2 = _interopRequireDefault(_iframe);
62+
63+
var _utils = require('./utils');
64+
65+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

src/server/index.js

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
#!/usr/bin/env node
22

3-
import webpack from 'webpack';
4-
import webpackDevMiddleware from 'webpack-dev-middleware';
5-
import webpackHotMiddleware from 'webpack-hot-middleware';
6-
import getIndexHtml from './index.html';
7-
import getIframeHtml from './iframe.html';
83
import express from 'express';
94
import program from 'commander';
10-
import packageJson from '../../package.json';
11-
import baseConfig from './webpack.config';
12-
import loadConfig from './config';
135
import path from 'path';
146
import fs from 'fs';
15-
import { getHeadHtml } from './utils';
7+
import storybook from './middleware';
8+
import packageJson from '../../package.json';
169

1710
const logger = console;
1811

@@ -53,24 +46,7 @@ if (program.staticDir) {
5346
// Build the webpack configuration using the `baseConfig`
5447
// custom `.babelrc` file and `webpack.config.js` files
5548
const configDir = program.configDir || './.storybook';
56-
const config = loadConfig('DEVELOPMENT', baseConfig, configDir);
57-
58-
const compiler = webpack(config);
59-
const devMiddlewareOptions = {
60-
noInfo: true,
61-
publicPath: config.output.publicPath,
62-
};
63-
app.use(webpackDevMiddleware(compiler, devMiddlewareOptions));
64-
app.use(webpackHotMiddleware(compiler));
65-
66-
app.get('/', function (req, res) {
67-
res.send(getIndexHtml());
68-
});
69-
70-
const headHtml = getHeadHtml(configDir);
71-
app.get('/iframe.html', function (req, res) {
72-
res.send(getIframeHtml(headHtml));
73-
});
49+
app.use(storybook(configDir));
7450

7551
app.listen(...listenAddr, function (error) {
7652
if (error) {

src/server/middleware.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { Router } from 'express';
2+
import webpack from 'webpack';
3+
import webpackDevMiddleware from 'webpack-dev-middleware';
4+
import webpackHotMiddleware from 'webpack-hot-middleware';
5+
import baseConfig from './webpack.config';
6+
import loadConfig from './config';
7+
import getIndexHtml from './index.html';
8+
import getIframeHtml from './iframe.html';
9+
import { getHeadHtml } from './utils';
10+
11+
export default function (configDir) {
12+
// Build the webpack configuration using the `baseConfig`
13+
// custom `.babelrc` file and `webpack.config.js` files
14+
const config = loadConfig('DEVELOPMENT', baseConfig, configDir);
15+
const compiler = webpack(config);
16+
const devMiddlewareOptions = {
17+
noInfo: true,
18+
publicPath: config.output.publicPath,
19+
};
20+
21+
const router = new Router();
22+
router.use(webpackDevMiddleware(compiler, devMiddlewareOptions));
23+
router.use(webpackHotMiddleware(compiler));
24+
25+
router.get('/', function (req, res) {
26+
res.send(getIndexHtml());
27+
});
28+
29+
const headHtml = getHeadHtml(configDir);
30+
router.get('/iframe.html', function (req, res) {
31+
res.send(getIframeHtml(headHtml));
32+
});
33+
34+
return router;
35+
}

0 commit comments

Comments
 (0)