@storybook/core-server 6.5.7 → 7.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/build-dev.js +55 -140
  3. package/dist/cjs/build-static.js +45 -75
  4. package/dist/cjs/dev-server.js +10 -7
  5. package/dist/cjs/presets/babel-cache-preset.js +2 -4
  6. package/dist/cjs/presets/common-preset.js +32 -16
  7. package/dist/cjs/standalone.js +9 -1
  8. package/dist/cjs/utils/StoryIndexGenerator.js +16 -4
  9. package/dist/cjs/utils/{get-manager-builder.js → get-builders.js} +31 -25
  10. package/dist/esm/build-dev.js +53 -130
  11. package/dist/esm/build-static.js +40 -64
  12. package/dist/esm/dev-server.js +10 -6
  13. package/dist/esm/presets/babel-cache-preset.js +1 -2
  14. package/dist/esm/presets/common-preset.js +24 -15
  15. package/dist/esm/standalone.js +8 -1
  16. package/dist/esm/utils/StoryIndexGenerator.js +17 -5
  17. package/dist/esm/utils/get-builders.js +36 -0
  18. package/dist/types/build-dev.d.ts +2 -0
  19. package/dist/{ts3.9 → types}/build-static.d.ts +0 -1
  20. package/dist/{ts3.9 → types}/dev-server.d.ts +0 -0
  21. package/dist/{ts3.9 → types}/index.d.ts +0 -0
  22. package/dist/types/presets/babel-cache-preset.d.ts +1 -0
  23. package/dist/{ts3.4 → types}/presets/common-preset.d.ts +29 -31
  24. package/dist/{ts3.9 → types}/standalone.d.ts +0 -0
  25. package/dist/{ts3.9 → types}/utils/StoryIndexGenerator.d.ts +4 -1
  26. package/dist/{ts3.9 → types}/utils/__mockdata__/E.stories.d.ts +0 -0
  27. package/dist/{ts3.9 → types}/utils/__mockdata__/deeply/nested/single/File.stories.d.ts +0 -0
  28. package/dist/{ts3.9 → types}/utils/__mockdata__/src/B.stories.d.ts +0 -0
  29. package/dist/{ts3.9 → types}/utils/__mockdata__/src/NoMeta.stories.d.ts +0 -0
  30. package/dist/{ts3.9 → types}/utils/__mockdata__/src/nested/Button.d.ts +0 -0
  31. package/dist/{ts3.9 → types}/utils/__mockdata__/src/nested/Button.stories.d.ts +0 -0
  32. package/dist/{ts3.9 → types}/utils/__mockdata__/src/second-nested/G.stories.d.ts +0 -0
  33. package/dist/{ts3.9 → types}/utils/copy-all-static-files.d.ts +0 -0
  34. package/dist/types/utils/get-builders.d.ts +2 -0
  35. package/dist/{ts3.9 → types}/utils/get-server-channel.d.ts +0 -0
  36. package/dist/{ts3.9 → types}/utils/metadata.d.ts +0 -0
  37. package/dist/{ts3.9 → types}/utils/middleware.d.ts +0 -0
  38. package/dist/{ts3.9 → types}/utils/open-in-browser.d.ts +0 -0
  39. package/dist/{ts3.9 → types}/utils/output-startup-information.d.ts +0 -0
  40. package/dist/{ts3.4 → types}/utils/output-stats.d.ts +3 -3
  41. package/dist/{ts3.9 → types}/utils/release-notes.d.ts +0 -0
  42. package/dist/{ts3.9 → types}/utils/server-address.d.ts +0 -0
  43. package/dist/{ts3.9 → types}/utils/server-init.d.ts +0 -0
  44. package/dist/{ts3.9 → types}/utils/server-statics.d.ts +0 -0
  45. package/dist/{ts3.9 → types}/utils/stories-json.d.ts +0 -0
  46. package/dist/{ts3.9 → types}/utils/update-check.d.ts +0 -0
  47. package/dist/{ts3.9 → types}/utils/watch-story-specifiers.d.ts +0 -0
  48. package/package.json +14 -23
  49. package/dist/cjs/cli/dev.js +0 -63
  50. package/dist/cjs/cli/index.js +0 -31
  51. package/dist/cjs/cli/prod.js +0 -43
  52. package/dist/cjs/cli/utils.js +0 -63
  53. package/dist/cjs/utils/get-preview-builder.js +0 -47
  54. package/dist/esm/cli/dev.js +0 -44
  55. package/dist/esm/cli/index.js +0 -2
  56. package/dist/esm/cli/prod.js +0 -26
  57. package/dist/esm/cli/utils.js +0 -48
  58. package/dist/esm/utils/get-manager-builder.js +0 -26
  59. package/dist/esm/utils/get-preview-builder.js +0 -28
  60. package/dist/modern/build-dev.js +0 -232
  61. package/dist/modern/build-static.js +0 -237
  62. package/dist/modern/cli/dev.js +0 -44
  63. package/dist/modern/cli/index.js +0 -2
  64. package/dist/modern/cli/prod.js +0 -26
  65. package/dist/modern/cli/utils.js +0 -48
  66. package/dist/modern/dev-server.js +0 -200
  67. package/dist/modern/index.js +0 -4
  68. package/dist/modern/presets/babel-cache-preset.js +0 -18
  69. package/dist/modern/presets/common-preset.js +0 -124
  70. package/dist/modern/standalone.js +0 -30
  71. package/dist/modern/utils/StoryIndexGenerator.js +0 -222
  72. package/dist/modern/utils/__mockdata__/E.stories.js +0 -5
  73. package/dist/modern/utils/__mockdata__/deeply/nested/single/File.stories.js +0 -4
  74. package/dist/modern/utils/__mockdata__/preview.js +0 -1
  75. package/dist/modern/utils/__mockdata__/src/A.stories.js +0 -5
  76. package/dist/modern/utils/__mockdata__/src/B.stories.js +0 -5
  77. package/dist/modern/utils/__mockdata__/src/C.js +0 -1
  78. package/dist/modern/utils/__mockdata__/src/D.stories.js +0 -5
  79. package/dist/modern/utils/__mockdata__/src/NoMeta.stories.js +0 -4
  80. package/dist/modern/utils/__mockdata__/src/first-nested/deeply/F.stories.js +0 -5
  81. package/dist/modern/utils/__mockdata__/src/nested/Button.js +0 -1
  82. package/dist/modern/utils/__mockdata__/src/nested/Button.stories.js +0 -5
  83. package/dist/modern/utils/__mockdata__/src/second-nested/G.stories.js +0 -5
  84. package/dist/modern/utils/copy-all-static-files.js +0 -62
  85. package/dist/modern/utils/get-manager-builder.js +0 -26
  86. package/dist/modern/utils/get-preview-builder.js +0 -28
  87. package/dist/modern/utils/get-server-channel.js +0 -39
  88. package/dist/modern/utils/metadata.js +0 -14
  89. package/dist/modern/utils/middleware.js +0 -27
  90. package/dist/modern/utils/open-in-browser.js +0 -26
  91. package/dist/modern/utils/output-startup-information.js +0 -54
  92. package/dist/modern/utils/output-stats.js +0 -37
  93. package/dist/modern/utils/release-notes.js +0 -63
  94. package/dist/modern/utils/server-address.js +0 -20
  95. package/dist/modern/utils/server-init.js +0 -29
  96. package/dist/modern/utils/server-statics.js +0 -97
  97. package/dist/modern/utils/stories-json.js +0 -42
  98. package/dist/modern/utils/update-check.js +0 -65
  99. package/dist/modern/utils/watch-story-specifiers.js +0 -99
  100. package/dist/ts3.4/build-dev.d.ts +0 -3
  101. package/dist/ts3.4/build-static.d.ts +0 -3
  102. package/dist/ts3.4/cli/dev.d.ts +0 -6
  103. package/dist/ts3.4/cli/index.d.ts +0 -2
  104. package/dist/ts3.4/cli/prod.d.ts +0 -7
  105. package/dist/ts3.4/cli/utils.d.ts +0 -5
  106. package/dist/ts3.4/dev-server.d.ts +0 -24
  107. package/dist/ts3.4/index.d.ts +0 -4
  108. package/dist/ts3.4/presets/babel-cache-preset.d.ts +0 -2
  109. package/dist/ts3.4/standalone.d.ts +0 -2
  110. package/dist/ts3.4/utils/StoryIndexGenerator.d.ts +0 -27
  111. package/dist/ts3.4/utils/__mockdata__/E.stories.d.ts +0 -5
  112. package/dist/ts3.4/utils/__mockdata__/deeply/nested/single/File.stories.d.ts +0 -5
  113. package/dist/ts3.4/utils/__mockdata__/src/B.stories.d.ts +0 -5
  114. package/dist/ts3.4/utils/__mockdata__/src/NoMeta.stories.d.ts +0 -1
  115. package/dist/ts3.4/utils/__mockdata__/src/nested/Button.d.ts +0 -1
  116. package/dist/ts3.4/utils/__mockdata__/src/nested/Button.stories.d.ts +0 -5
  117. package/dist/ts3.4/utils/__mockdata__/src/second-nested/G.stories.d.ts +0 -5
  118. package/dist/ts3.4/utils/copy-all-static-files.d.ts +0 -2
  119. package/dist/ts3.4/utils/get-manager-builder.d.ts +0 -2
  120. package/dist/ts3.4/utils/get-preview-builder.d.ts +0 -2
  121. package/dist/ts3.4/utils/get-server-channel.d.ts +0 -9
  122. package/dist/ts3.4/utils/metadata.d.ts +0 -3
  123. package/dist/ts3.4/utils/middleware.d.ts +0 -1
  124. package/dist/ts3.4/utils/open-in-browser.d.ts +0 -1
  125. package/dist/ts3.4/utils/output-startup-information.d.ts +0 -16
  126. package/dist/ts3.4/utils/release-notes.d.ts +0 -8
  127. package/dist/ts3.4/utils/server-address.d.ts +0 -8
  128. package/dist/ts3.4/utils/server-init.d.ts +0 -10
  129. package/dist/ts3.4/utils/server-statics.d.ts +0 -8
  130. package/dist/ts3.4/utils/stories-json.d.ts +0 -13
  131. package/dist/ts3.4/utils/update-check.d.ts +0 -3
  132. package/dist/ts3.4/utils/watch-story-specifiers.d.ts +0 -5
  133. package/dist/ts3.9/build-dev.d.ts +0 -3
  134. package/dist/ts3.9/cli/dev.d.ts +0 -6
  135. package/dist/ts3.9/cli/index.d.ts +0 -2
  136. package/dist/ts3.9/cli/prod.d.ts +0 -7
  137. package/dist/ts3.9/cli/utils.d.ts +0 -5
  138. package/dist/ts3.9/presets/babel-cache-preset.d.ts +0 -2
  139. package/dist/ts3.9/presets/common-preset.d.ts +0 -31
  140. package/dist/ts3.9/utils/get-manager-builder.d.ts +0 -2
  141. package/dist/ts3.9/utils/get-preview-builder.d.ts +0 -2
  142. package/dist/ts3.9/utils/output-stats.d.ts +0 -3
@@ -1,44 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- import "core-js/modules/es.promise.js";
8
- import program from 'commander';
9
- import chalk from 'chalk';
10
- import { logger } from '@storybook/node-logger';
11
- import { parseList, getEnvConfig, checkDeprecatedFlags } from './utils';
12
- export async function getDevCli(packageJson) {
13
- process.env.NODE_ENV = process.env.NODE_ENV || 'development';
14
- program.version(packageJson.version).option('-p, --port <number>', 'Port to run Storybook', function (str) {
15
- return parseInt(str, 10);
16
- }).option('-h, --host <string>', 'Host to run Storybook').option('-s, --static-dir <dir-names>', 'Directory where to load static files from', parseList).option('-c, --config-dir <dir-name>', 'Directory where to load Storybook configurations from').option('--https', 'Serve Storybook over HTTPS. Note: You must provide your own certificate information.').option('--ssl-ca <ca>', 'Provide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)', parseList).option('--ssl-cert <cert>', 'Provide an SSL certificate. (Required with --https)').option('--ssl-key <key>', 'Provide an SSL key. (Required with --https)').option('--smoke-test', 'Exit after successful start').option('--ci', "CI mode (skip interactive prompts, don't open browser)").option('--no-open', 'Do not open Storybook automatically in the browser').option('--loglevel <level>', 'Control level of logging during build').option('--quiet', 'Suppress verbose build output').option('--no-version-updates', 'Suppress update check', true).option('--disable-telemetry', 'Disable sending telemetry', // default value is false, but if the user sets STORYBOOK_DISABLE_TELEMETRY, it can be true
17
- process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMETRY !== 'false').option('--enable-crash-reports', 'enable sending crash reports to telemetry data').option('--no-release-notes', 'Suppress automatic redirects to the release notes after upgrading', true).option('--no-manager-cache', 'Do not cache the manager UI').option('--no-dll', 'Do not use dll references (no-op)').option('--docs-dll', 'Use Docs dll reference (legacy)').option('--ui-dll', 'Use UI dll reference (legacy)').option('--debug-webpack', 'Display final webpack configurations for debugging purposes').option('--webpack-stats-json [directory]', 'Write Webpack Stats JSON to disk').option('--preview-url <string>', 'Disables the default storybook preview and lets your use your own').option('--force-build-preview', 'Build the preview iframe even if you are using --preview-url').option('--docs', 'Build a documentation-only site using addon-docs').option('--modern', 'Use modern browser modules').parse(process.argv);
18
- logger.setLevel(program.loglevel); // Workaround the `-h` shorthand conflict.
19
- // Output the help if `-h` is called without any value.
20
- // See storybookjs/storybook#5360
21
-
22
- program.on('option:host', function (value) {
23
- if (!value) {
24
- program.help();
25
- }
26
- });
27
- logger.info(chalk.bold(`${packageJson.name} v${packageJson.version}`) + chalk.reset('\n')); // The key is the field created in `program` variable for
28
- // each command line argument. Value is the env variable.
29
-
30
- getEnvConfig(program, {
31
- port: 'SBCONFIG_PORT',
32
- host: 'SBCONFIG_HOSTNAME',
33
- staticDir: 'SBCONFIG_STATIC_DIR',
34
- configDir: 'SBCONFIG_CONFIG_DIR',
35
- ci: 'CI'
36
- });
37
-
38
- if (typeof program.port === 'string' && program.port.length > 0) {
39
- program.port = parseInt(program.port, 10);
40
- }
41
-
42
- checkDeprecatedFlags(program);
43
- return _objectSpread({}, program);
44
- }
@@ -1,2 +0,0 @@
1
- export * from './dev';
2
- export * from './prod';
@@ -1,26 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- import program from 'commander';
8
- import chalk from 'chalk';
9
- import { logger } from '@storybook/node-logger';
10
- import { parseList, getEnvConfig, checkDeprecatedFlags } from './utils';
11
- export function getProdCli(packageJson) {
12
- process.env.NODE_ENV = process.env.NODE_ENV || 'production';
13
- program.version(packageJson.version).option('-s, --static-dir <dir-names>', 'Directory where to load static files from', parseList).option('-o, --output-dir <dir-name>', 'Directory where to store built files').option('-c, --config-dir <dir-name>', 'Directory where to load Storybook configurations from').option('--quiet', 'Suppress verbose build output').option('--loglevel <level>', 'Control level of logging during build').option('--no-dll', 'Do not use dll reference (no-op)').option('--docs-dll', 'Use Docs dll reference (legacy)').option('--ui-dll', 'Use UI dll reference (legacy)').option('--debug-webpack', 'Display final webpack configurations for debugging purposes').option('--webpack-stats-json [directory]', 'Write Webpack Stats JSON to disk').option('--preview-url <string>', 'Disables the default storybook preview and lets your use your own').option('--force-build-preview', 'Build the preview iframe even if you are using --preview-url').option('--docs', 'Build a documentation-only site using addon-docs').option('--modern', 'Use modern browser modules').option('--no-manager-cache', 'Do not cache the manager UI').option('--disable-telemetry', 'Disable sending telemetry', // default value is false, but if the user sets STORYBOOK_DISABLE_TELEMETRY, it can be true
14
- process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMETRY !== 'false').option('--enable-crash-reports', 'enable sending crash reports to telemetry data').parse(process.argv);
15
- logger.setLevel(program.loglevel);
16
- logger.info(chalk.bold(`${packageJson.name} v${packageJson.version}\n`)); // The key is the field created in `program` variable for
17
- // each command line argument. Value is the env variable.
18
-
19
- getEnvConfig(program, {
20
- staticDir: 'SBCONFIG_STATIC_DIR',
21
- outputDir: 'SBCONFIG_OUTPUT_DIR',
22
- configDir: 'SBCONFIG_CONFIG_DIR'
23
- });
24
- checkDeprecatedFlags(program);
25
- return _objectSpread({}, program);
26
- }
@@ -1,48 +0,0 @@
1
- import deprecate from 'util-deprecate';
2
- import dedent from 'ts-dedent';
3
- export function parseList(str) {
4
- return str.split(',').map(function (item) {
5
- return item.trim();
6
- }).filter(function (item) {
7
- return item.length > 0;
8
- });
9
- }
10
- export function getEnvConfig(program, configEnv) {
11
- Object.keys(configEnv).forEach(function (fieldName) {
12
- var envVarName = configEnv[fieldName];
13
- var envVarValue = process.env[envVarName];
14
-
15
- if (envVarValue) {
16
- program[fieldName] = envVarValue; // eslint-disable-line
17
- }
18
- });
19
- }
20
-
21
- var warnDeprecatedFlag = function (message) {
22
- return deprecate(function () {}, dedent(message));
23
- };
24
-
25
- var warnDLLsDeprecated = warnDeprecatedFlag(`
26
- DLL-related CLI flags are deprecated, see:
27
-
28
- https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-dll-flags
29
- `);
30
- var warnStaticDirDeprecated = warnDeprecatedFlag(`
31
- --static-dir CLI flag is deprecated, see:
32
-
33
- https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated---static-dir-cli-flag
34
- `);
35
- export function checkDeprecatedFlags({
36
- dll: dll,
37
- uiDll: uiDll,
38
- docsDll: docsDll,
39
- staticDir: staticDir
40
- }) {
41
- if (!dll || uiDll || docsDll) {
42
- warnDLLsDeprecated();
43
- }
44
-
45
- if (staticDir) {
46
- warnStaticDirDeprecated();
47
- }
48
- }
@@ -1,200 +0,0 @@
1
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
-
3
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
-
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
-
7
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
8
-
9
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10
-
11
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
-
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
-
17
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
-
19
- import "core-js/modules/es.promise.js";
20
- import "core-js/modules/es.symbol.description.js";
21
- import express, { Router } from 'express';
22
- import compression from 'compression';
23
- import { normalizeStories, logConfig } from '@storybook/core-common';
24
- import { telemetry } from '@storybook/telemetry';
25
- import { getMiddleware } from './utils/middleware';
26
- import { getServerAddresses } from './utils/server-address';
27
- import { getServer } from './utils/server-init';
28
- import { useStatics } from './utils/server-statics';
29
- import { useStoriesJson } from './utils/stories-json';
30
- import { useStorybookMetadata } from './utils/metadata';
31
- import { getServerChannel } from './utils/get-server-channel';
32
- import { openInBrowser } from './utils/open-in-browser';
33
- import { getPreviewBuilder } from './utils/get-preview-builder';
34
- import { getManagerBuilder } from './utils/get-manager-builder';
35
- import { StoryIndexGenerator } from './utils/StoryIndexGenerator'; // @ts-ignore
36
-
37
- export var router = new Router();
38
- export var DEBOUNCE = 100;
39
- export async function storybookDevServer(options) {
40
- var startTime = process.hrtime();
41
- var app = express();
42
- var server = await getServer(app, options);
43
- var serverChannel = getServerChannel(server);
44
- var features = await options.presets.apply('features');
45
- var core = await options.presets.apply('core'); // try get index generator, if failed, send telemetry without storyCount, then rethrow the error
46
-
47
- var initializedStoryIndexGenerator = Promise.resolve(undefined);
48
-
49
- if (features !== null && features !== void 0 && features.buildStoriesJson || features !== null && features !== void 0 && features.storyStoreV7) {
50
- try {
51
- var workingDir = process.cwd();
52
- var directories = {
53
- configDir: options.configDir,
54
- workingDir: workingDir
55
- };
56
- var normalizedStories = normalizeStories(await options.presets.apply('stories'), directories);
57
- var generator = new StoryIndexGenerator(normalizedStories, _objectSpread(_objectSpread({}, directories), {}, {
58
- workingDir: workingDir,
59
- storiesV2Compatibility: !(features !== null && features !== void 0 && features.breakingChangesV7) && !(features !== null && features !== void 0 && features.storyStoreV7),
60
- storyStoreV7: features === null || features === void 0 ? void 0 : features.storyStoreV7
61
- }));
62
- initializedStoryIndexGenerator = generator.initialize().then(function () {
63
- return generator;
64
- });
65
- useStoriesJson({
66
- router: router,
67
- initializedStoryIndexGenerator: initializedStoryIndexGenerator,
68
- normalizedStories: normalizedStories,
69
- serverChannel: serverChannel,
70
- workingDir: workingDir
71
- });
72
- } catch (err) {
73
- if (!(core !== null && core !== void 0 && core.disableTelemetry)) {
74
- telemetry('start');
75
- }
76
-
77
- throw err;
78
- }
79
- }
80
-
81
- if (!(core !== null && core !== void 0 && core.disableTelemetry)) {
82
- initializedStoryIndexGenerator.then(async function (generator) {
83
- if (!generator) {
84
- return;
85
- }
86
-
87
- var storyIndex = await generator.getIndex();
88
- var payload = storyIndex ? {
89
- storyIndex: {
90
- storyCount: Object.keys(storyIndex.stories).length,
91
- version: storyIndex.v
92
- }
93
- } : undefined;
94
- telemetry('start', payload, {
95
- configDir: options.configDir
96
- });
97
- });
98
- }
99
-
100
- if (!(core !== null && core !== void 0 && core.disableProjectJson)) {
101
- useStorybookMetadata(router, options.configDir);
102
- }
103
-
104
- app.use(compression({
105
- level: 1
106
- }));
107
-
108
- if (typeof options.extendServer === 'function') {
109
- options.extendServer(server);
110
- }
111
-
112
- app.use(function (req, res, next) {
113
- res.header('Access-Control-Allow-Origin', '*');
114
- res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); // These headers are required to enable SharedArrayBuffer
115
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
116
-
117
- next();
118
- });
119
-
120
- if (core !== null && core !== void 0 && core.crossOriginIsolated) {
121
- app.use(function (req, res, next) {
122
- // These headers are required to enable SharedArrayBuffer
123
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
124
- res.header('Cross-Origin-Opener-Policy', 'same-origin');
125
- res.header('Cross-Origin-Embedder-Policy', 'require-corp');
126
- next();
127
- });
128
- } // User's own static files
129
-
130
-
131
- await useStatics(router, options);
132
- getMiddleware(options.configDir)(router);
133
- app.use(router);
134
- var port = options.port,
135
- host = options.host;
136
- var proto = options.https ? 'https' : 'http';
137
-
138
- var _getServerAddresses = getServerAddresses(port, host, proto),
139
- address = _getServerAddresses.address,
140
- networkAddress = _getServerAddresses.networkAddress;
141
-
142
- await new Promise(function (resolve, reject) {
143
- // FIXME: Following line doesn't match TypeScript signature at all 🤔
144
- // @ts-ignore
145
- server.listen({
146
- port: port,
147
- host: host
148
- }, function (error) {
149
- return error ? reject(error) : resolve();
150
- });
151
- });
152
- var previewBuilder = await getPreviewBuilder(options.configDir);
153
- var managerBuilder = await getManagerBuilder(options.configDir);
154
-
155
- if (options.debugWebpack) {
156
- logConfig('Preview webpack config', await previewBuilder.getConfig(options));
157
- logConfig('Manager webpack config', await managerBuilder.getConfig(options));
158
- }
159
-
160
- var preview = options.ignorePreview ? Promise.resolve() : previewBuilder.start({
161
- startTime: startTime,
162
- options: options,
163
- router: router,
164
- server: server
165
- });
166
- var manager = managerBuilder.start({
167
- startTime: startTime,
168
- options: options,
169
- router: router,
170
- server: server
171
- });
172
-
173
- var _await$Promise$all = await Promise.all([preview.catch(async function (err) {
174
- await managerBuilder.bail();
175
- throw err;
176
- }), manager // TODO #13083 Restore this when compiling the preview is fast enough
177
- // .then((result) => {
178
- // if (!options.ci && !options.smokeTest) openInBrowser(address);
179
- // return result;
180
- // })
181
- .catch(async function (err) {
182
- await previewBuilder.bail();
183
- throw err;
184
- })]),
185
- _await$Promise$all2 = _slicedToArray(_await$Promise$all, 2),
186
- previewResult = _await$Promise$all2[0],
187
- managerResult = _await$Promise$all2[1]; // TODO #13083 Remove this when compiling the preview is fast enough
188
-
189
-
190
- if (!options.ci && !options.smokeTest && options.open) {
191
- openInBrowser(host ? networkAddress : address);
192
- }
193
-
194
- return {
195
- previewResult: previewResult,
196
- managerResult: managerResult,
197
- address: address,
198
- networkAddress: networkAddress
199
- };
200
- }
@@ -1,4 +0,0 @@
1
- import { getPreviewHeadTemplate, getManagerHeadTemplate, getManagerMainTemplate, getPreviewBodyTemplate, getPreviewMainTemplate } from '@storybook/core-common';
2
- export { getPreviewHeadTemplate, getManagerHeadTemplate, getManagerMainTemplate, getPreviewBodyTemplate, getPreviewMainTemplate };
3
- export * from './build-static';
4
- export * from './build-dev';
@@ -1,18 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- import { resolvePathInStorybookCache } from '@storybook/core-common'; // FIXME: babelConfig is maybe a TransformOptions?
8
-
9
- var extend = function (babelConfig) {
10
- return _objectSpread({
11
- // This is a feature of `babel-loader` for webpack (not Babel itself).
12
- // It enables a cache directory for faster-rebuilds
13
- cacheDirectory: resolvePathInStorybookCache('babel')
14
- }, babelConfig);
15
- };
16
-
17
- export var babel = extend;
18
- export var managerBabel = extend;
@@ -1,124 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- import "core-js/modules/es.promise.js";
8
- import { getPreviewBodyTemplate, getPreviewHeadTemplate, getManagerMainTemplate, getPreviewMainTemplate, loadCustomBabelConfig, getStorybookBabelConfig, loadEnvs } from '@storybook/core-common';
9
- export var babel = async function (_, options) {
10
- var _options$features;
11
-
12
- var configDir = options.configDir,
13
- presets = options.presets;
14
-
15
- if ((_options$features = options.features) !== null && _options$features !== void 0 && _options$features.babelModeV7) {
16
- return presets.apply('babelDefault', {}, options);
17
- }
18
-
19
- return loadCustomBabelConfig(configDir, function () {
20
- return presets.apply('babelDefault', getStorybookBabelConfig(), options);
21
- });
22
- };
23
- export var logLevel = function (previous, options) {
24
- return previous || options.loglevel || 'info';
25
- };
26
- export var previewHead = async function (base, {
27
- configDir: configDir,
28
- presets: presets
29
- }) {
30
- var interpolations = await presets.apply('env');
31
- return getPreviewHeadTemplate(configDir, interpolations);
32
- };
33
- export var env = async function () {
34
- return loadEnvs({
35
- production: true
36
- }).raw;
37
- };
38
- export var previewBody = async function (base, {
39
- configDir: configDir,
40
- presets: presets
41
- }) {
42
- var interpolations = await presets.apply('env');
43
- return getPreviewBodyTemplate(configDir, interpolations);
44
- };
45
- export var previewMainTemplate = function () {
46
- return getPreviewMainTemplate();
47
- };
48
- export var managerMainTemplate = function () {
49
- return getManagerMainTemplate();
50
- };
51
- export var previewEntries = function (entries = [], options) {
52
- if (!options.modern) entries.push(require.resolve('@storybook/core-client/dist/esm/globals/polyfills'));
53
- entries.push(require.resolve('@storybook/core-client/dist/esm/globals/globals'));
54
- return entries;
55
- };
56
- export var typescript = function () {
57
- return {
58
- check: false,
59
- // 'react-docgen' faster but produces lower quality typescript results
60
- reactDocgen: 'react-docgen-typescript',
61
- reactDocgenTypescriptOptions: {
62
- shouldExtractLiteralValuesFromEnum: true,
63
- shouldRemoveUndefinedFromOptional: true,
64
- propFilter: function (prop) {
65
- return prop.parent ? !/node_modules/.test(prop.parent.fileName) : true;
66
- },
67
- // NOTE: this default cannot be changed
68
- savePropValueAsString: true
69
- }
70
- };
71
- };
72
-
73
- var optionalEnvToBoolean = function (input) {
74
- if (input === undefined) {
75
- return undefined;
76
- }
77
-
78
- if (input.toUpperCase() === 'FALSE') {
79
- return false;
80
- }
81
-
82
- if (input.toUpperCase() === 'TRUE') {
83
- return true;
84
- }
85
-
86
- if (typeof input === 'string') {
87
- return true;
88
- }
89
-
90
- return undefined;
91
- };
92
- /**
93
- * If for some reason this config is not applied, the reason is that
94
- * likely there is an addon that does `export core = () => ({ someConfig })`,
95
- * instead of `export core = (existing) => ({ ...existing, someConfig })`,
96
- * just overwriting everything and not merging with the existing values.
97
- */
98
-
99
-
100
- export var core = async function (existing, options) {
101
- return _objectSpread(_objectSpread({}, existing), {}, {
102
- disableTelemetry: options.disableTelemetry === true,
103
- enableCrashReports: options.enableCrashReports || optionalEnvToBoolean(process.env.STORYBOOK_ENABLE_CRASH_REPORTS)
104
- });
105
- };
106
- export var config = async function (base, options) {
107
- return [...(await options.presets.apply('previewAnnotations', [], options)), ...base];
108
- };
109
- export var features = async function (existing) {
110
- return _objectSpread(_objectSpread({}, existing), {}, {
111
- postcss: true,
112
- emotionAlias: false,
113
- // TODO remove in 7.0, this no longer does anything
114
- warnOnLegacyHierarchySeparator: true,
115
- buildStoriesJson: false,
116
- storyStoreV7: false,
117
- modernInlineRender: false,
118
- breakingChangesV7: false,
119
- interactionsDebugger: false,
120
- babelModeV7: false,
121
- argTypeTargetsV7: false,
122
- previewMdx2: false
123
- });
124
- };
@@ -1,30 +0,0 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
- import "core-js/modules/es.promise.js";
8
- import { buildStaticStandalone } from './build-static';
9
- import { buildDevStandalone } from './build-dev';
10
-
11
- async function build(options = {}, frameworkOptions = {}) {
12
- var _options$mode = options.mode,
13
- mode = _options$mode === void 0 ? 'dev' : _options$mode;
14
-
15
- var commonOptions = _objectSpread(_objectSpread(_objectSpread({}, options), frameworkOptions), {}, {
16
- frameworkPresets: [...(options.frameworkPresets || []), ...(frameworkOptions.frameworkPresets || [])]
17
- });
18
-
19
- if (mode === 'dev') {
20
- return buildDevStandalone(commonOptions);
21
- }
22
-
23
- if (mode === 'static') {
24
- return buildStaticStandalone(commonOptions);
25
- }
26
-
27
- throw new Error(`'mode' parameter should be either 'dev' or 'static'`);
28
- }
29
-
30
- export default build;