@storybook/cli 6.5.0-alpha.5 → 6.5.0-alpha.50

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 (141) hide show
  1. package/bin/index.js +1 -0
  2. package/dist/cjs/add.js +1 -1
  3. package/dist/cjs/automigrate/types.js +5 -1
  4. package/dist/cjs/babel-config.js +1 -1
  5. package/dist/cjs/detect.js +2 -2
  6. package/dist/cjs/extract.js +7 -2
  7. package/dist/cjs/frameworks/angular/Header.stories.ts +8 -3
  8. package/dist/cjs/frameworks/angular/Page.stories.ts +12 -10
  9. package/dist/cjs/frameworks/angular/header.component.ts +30 -19
  10. package/dist/cjs/frameworks/angular/page.component.ts +13 -27
  11. package/dist/cjs/frameworks/common/header.css +6 -0
  12. package/dist/cjs/frameworks/react/js/Header.jsx +6 -1
  13. package/dist/cjs/frameworks/react/js/Header.stories.jsx +7 -1
  14. package/dist/cjs/frameworks/react/js/Page.jsx +61 -63
  15. package/dist/cjs/frameworks/react/js/Page.stories.jsx +12 -9
  16. package/dist/cjs/frameworks/react/ts/Header.stories.tsx +7 -1
  17. package/dist/cjs/frameworks/react/ts/Header.tsx +11 -2
  18. package/dist/cjs/frameworks/react/ts/Page.stories.tsx +12 -9
  19. package/dist/cjs/frameworks/react/ts/Page.tsx +66 -60
  20. package/dist/cjs/frameworks/svelte/Button.stories.js +51 -0
  21. package/dist/cjs/frameworks/svelte/Header.stories.js +29 -0
  22. package/dist/cjs/frameworks/svelte/Page.stories.js +29 -0
  23. package/dist/cjs/frameworks/web-components/js/Page.js +2 -2
  24. package/dist/cjs/frameworks/web-components/ts/Page.ts +2 -2
  25. package/dist/cjs/generators/ANGULAR/angular-helpers.js +5 -5
  26. package/dist/cjs/generators/ANGULAR/index.js +1 -1
  27. package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  28. package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  29. package/dist/cjs/generators/REACT_SCRIPTS/index.js +9 -1
  30. package/dist/cjs/generators/SVELTE/index.js +0 -1
  31. package/dist/cjs/generators/WEB-COMPONENTS/index.js +3 -1
  32. package/dist/cjs/generators/baseGenerator.js +9 -1
  33. package/dist/cjs/generators/configure.js +3 -1
  34. package/dist/cjs/helpers.js +9 -8
  35. package/dist/cjs/initiate.js +4 -1
  36. package/dist/cjs/js-package-manager/JsPackageManager.js +2 -2
  37. package/dist/cjs/project_types.js +1 -1
  38. package/dist/cjs/repro-generators/configs.js +20 -8
  39. package/dist/cjs/repro-generators/scripts.js +25 -14
  40. package/dist/cjs/repro.js +3 -2
  41. package/dist/cjs/typings.d.ts +3 -0
  42. package/dist/cjs/upgrade.js +3 -1
  43. package/dist/cjs/versions.js +66 -0
  44. package/dist/cjs/window.d.js +5 -1
  45. package/dist/esm/add.js +1 -1
  46. package/dist/esm/automigrate/types.js +5 -1
  47. package/dist/esm/babel-config.js +1 -1
  48. package/dist/esm/detect.js +2 -2
  49. package/dist/esm/extract.js +7 -2
  50. package/dist/esm/frameworks/angular/Header.stories.ts +8 -3
  51. package/dist/esm/frameworks/angular/Page.stories.ts +12 -10
  52. package/dist/esm/frameworks/angular/header.component.ts +30 -19
  53. package/dist/esm/frameworks/angular/page.component.ts +13 -27
  54. package/dist/esm/frameworks/common/header.css +6 -0
  55. package/dist/esm/frameworks/react/js/Header.jsx +6 -1
  56. package/dist/esm/frameworks/react/js/Header.stories.jsx +7 -1
  57. package/dist/esm/frameworks/react/js/Page.jsx +61 -63
  58. package/dist/esm/frameworks/react/js/Page.stories.jsx +12 -9
  59. package/dist/esm/frameworks/react/ts/Header.stories.tsx +7 -1
  60. package/dist/esm/frameworks/react/ts/Header.tsx +11 -2
  61. package/dist/esm/frameworks/react/ts/Page.stories.tsx +12 -9
  62. package/dist/esm/frameworks/react/ts/Page.tsx +66 -60
  63. package/dist/esm/frameworks/svelte/Button.stories.js +51 -0
  64. package/dist/esm/frameworks/svelte/Header.stories.js +29 -0
  65. package/dist/esm/frameworks/svelte/Page.stories.js +29 -0
  66. package/dist/esm/frameworks/web-components/js/Page.js +2 -2
  67. package/dist/esm/frameworks/web-components/ts/Page.ts +2 -2
  68. package/dist/esm/generators/ANGULAR/angular-helpers.js +5 -5
  69. package/dist/esm/generators/ANGULAR/index.js +1 -1
  70. package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  71. package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  72. package/dist/esm/generators/REACT_SCRIPTS/index.js +9 -1
  73. package/dist/esm/generators/SVELTE/index.js +0 -1
  74. package/dist/esm/generators/WEB-COMPONENTS/index.js +3 -1
  75. package/dist/esm/generators/baseGenerator.js +9 -1
  76. package/dist/esm/generators/configure.js +3 -1
  77. package/dist/esm/helpers.js +9 -8
  78. package/dist/esm/initiate.js +4 -1
  79. package/dist/esm/js-package-manager/JsPackageManager.js +2 -2
  80. package/dist/esm/project_types.js +1 -1
  81. package/dist/esm/repro-generators/configs.js +20 -8
  82. package/dist/esm/repro-generators/scripts.js +25 -14
  83. package/dist/esm/repro.js +3 -2
  84. package/dist/esm/typings.d.ts +3 -0
  85. package/dist/esm/upgrade.js +3 -1
  86. package/dist/esm/versions.js +66 -0
  87. package/dist/esm/window.d.js +5 -1
  88. package/dist/modern/add.js +1 -1
  89. package/dist/modern/automigrate/types.js +5 -1
  90. package/dist/modern/babel-config.js +1 -1
  91. package/dist/modern/detect.js +2 -2
  92. package/dist/modern/extract.js +7 -2
  93. package/dist/modern/frameworks/common/header.css +6 -0
  94. package/dist/modern/frameworks/react/js/Header.jsx +6 -1
  95. package/dist/modern/frameworks/react/js/Header.stories.jsx +7 -1
  96. package/dist/modern/frameworks/react/js/Page.jsx +61 -63
  97. package/dist/modern/frameworks/react/js/Page.stories.jsx +12 -9
  98. package/dist/modern/frameworks/svelte/Button.stories.js +51 -0
  99. package/dist/modern/frameworks/svelte/Header.stories.js +29 -0
  100. package/dist/modern/frameworks/svelte/Page.stories.js +29 -0
  101. package/dist/modern/frameworks/web-components/js/Page.js +2 -2
  102. package/dist/modern/generators/ANGULAR/angular-helpers.js +5 -5
  103. package/dist/modern/generators/ANGULAR/index.js +1 -1
  104. package/dist/modern/generators/ANGULAR/template-csf/.storybook/tsconfig.json +17 -5
  105. package/dist/modern/generators/AURELIA/template-csf/.storybook/tsconfig.json +16 -5
  106. package/dist/modern/generators/REACT_SCRIPTS/index.js +9 -1
  107. package/dist/modern/generators/SVELTE/index.js +0 -1
  108. package/dist/modern/generators/WEB-COMPONENTS/index.js +3 -1
  109. package/dist/modern/generators/baseGenerator.js +9 -1
  110. package/dist/modern/generators/configure.js +3 -1
  111. package/dist/modern/helpers.js +9 -8
  112. package/dist/modern/initiate.js +4 -1
  113. package/dist/modern/js-package-manager/JsPackageManager.js +2 -2
  114. package/dist/modern/project_types.js +1 -1
  115. package/dist/modern/repro-generators/configs.js +20 -8
  116. package/dist/modern/repro-generators/scripts.js +25 -14
  117. package/dist/modern/repro.js +3 -2
  118. package/dist/modern/typings.d.ts +3 -0
  119. package/dist/modern/upgrade.js +3 -1
  120. package/dist/modern/versions.js +66 -0
  121. package/dist/modern/window.d.js +5 -1
  122. package/dist/ts3.4/repro-generators/configs.d.ts +2 -0
  123. package/dist/ts3.4/versions.d.ts +59 -0
  124. package/dist/ts3.9/repro-generators/configs.d.ts +2 -0
  125. package/dist/ts3.9/versions.d.ts +59 -0
  126. package/package.json +11 -12
  127. package/dist/cjs/frameworks/svelte/Button.stories.svelte +0 -57
  128. package/dist/cjs/frameworks/svelte/Header.stories.svelte +0 -32
  129. package/dist/cjs/frameworks/svelte/Page.stories.svelte +0 -32
  130. package/dist/cjs/typings.d.js +0 -1
  131. package/dist/cjs/versions.json +0 -59
  132. package/dist/esm/frameworks/svelte/Button.stories.svelte +0 -57
  133. package/dist/esm/frameworks/svelte/Header.stories.svelte +0 -32
  134. package/dist/esm/frameworks/svelte/Page.stories.svelte +0 -32
  135. package/dist/esm/typings.d.js +0 -1
  136. package/dist/esm/versions.json +0 -59
  137. package/dist/modern/frameworks/svelte/Button.stories.svelte +0 -57
  138. package/dist/modern/frameworks/svelte/Header.stories.svelte +0 -32
  139. package/dist/modern/frameworks/svelte/Page.stories.svelte +0 -32
  140. package/dist/modern/typings.d.js +0 -1
  141. package/dist/modern/versions.json +0 -59
@@ -3,65 +3,71 @@ import React from 'react';
3
3
  import { Header } from './Header';
4
4
  import './page.css';
5
5
 
6
- interface PageProps {
7
- user?: {};
8
- onLogin: () => void;
9
- onLogout: () => void;
10
- onCreateAccount: () => void;
11
- }
6
+ type User = {
7
+ name: string;
8
+ };
12
9
 
13
- export const Page = ({ user, onLogin, onLogout, onCreateAccount }: PageProps) => (
14
- <article>
15
- <Header user={user} onLogin={onLogin} onLogout={onLogout} onCreateAccount={onCreateAccount} />
10
+ export const Page: React.VFC = () => {
11
+ const [user, setUser] = React.useState<User>();
16
12
 
17
- <section>
18
- <h2>Pages in Storybook</h2>
19
- <p>
20
- We recommend building UIs with a{' '}
21
- <a href="https://componentdriven.org" target="_blank" rel="noopener noreferrer">
22
- <strong>component-driven</strong>
23
- </a>{' '}
24
- process starting with atomic components and ending with pages.
25
- </p>
26
- <p>
27
- Render pages with mock data. This makes it easy to build and review page states without
28
- needing to navigate to them in your app. Here are some handy patterns for managing page data
29
- in Storybook:
30
- </p>
31
- <ul>
32
- <li>
33
- Use a higher-level connected component. Storybook helps you compose such data from the
34
- "args" of child component stories
35
- </li>
36
- <li>
37
- Assemble data in the page component from your services. You can mock these services out
38
- using Storybook.
39
- </li>
40
- </ul>
41
- <p>
42
- Get a guided tutorial on component-driven development at{' '}
43
- <a href="https://storybook.js.org/tutorials/" target="_blank" rel="noopener noreferrer">
44
- Storybook tutorials
45
- </a>
46
- . Read more in the{' '}
47
- <a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer">
48
- docs
49
- </a>
50
- .
51
- </p>
52
- <div className="tip-wrapper">
53
- <span className="tip">Tip</span> Adjust the width of the canvas with the{' '}
54
- <svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
55
- <g fill="none" fillRule="evenodd">
56
- <path
57
- d="M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z"
58
- id="a"
59
- fill="#999"
60
- />
61
- </g>
62
- </svg>
63
- Viewports addon in the toolbar
64
- </div>
65
- </section>
66
- </article>
67
- );
13
+ return (
14
+ <article>
15
+ <Header
16
+ user={user}
17
+ onLogin={() => setUser({ name: 'Jane Doe' })}
18
+ onLogout={() => setUser(undefined)}
19
+ onCreateAccount={() => setUser({ name: 'Jane Doe' })}
20
+ />
21
+
22
+ <section>
23
+ <h2>Pages in Storybook</h2>
24
+ <p>
25
+ We recommend building UIs with a{' '}
26
+ <a href="https://componentdriven.org" target="_blank" rel="noopener noreferrer">
27
+ <strong>component-driven</strong>
28
+ </a>{' '}
29
+ process starting with atomic components and ending with pages.
30
+ </p>
31
+ <p>
32
+ Render pages with mock data. This makes it easy to build and review page states without
33
+ needing to navigate to them in your app. Here are some handy patterns for managing page
34
+ data in Storybook:
35
+ </p>
36
+ <ul>
37
+ <li>
38
+ Use a higher-level connected component. Storybook helps you compose such data from the
39
+ "args" of child component stories
40
+ </li>
41
+ <li>
42
+ Assemble data in the page component from your services. You can mock these services out
43
+ using Storybook.
44
+ </li>
45
+ </ul>
46
+ <p>
47
+ Get a guided tutorial on component-driven development at{' '}
48
+ <a href="https://storybook.js.org/tutorials/" target="_blank" rel="noopener noreferrer">
49
+ Storybook tutorials
50
+ </a>
51
+ . Read more in the{' '}
52
+ <a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer">
53
+ docs
54
+ </a>
55
+ .
56
+ </p>
57
+ <div className="tip-wrapper">
58
+ <span className="tip">Tip</span> Adjust the width of the canvas with the{' '}
59
+ <svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
60
+ <g fill="none" fillRule="evenodd">
61
+ <path
62
+ d="M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z"
63
+ id="a"
64
+ fill="#999"
65
+ />
66
+ </g>
67
+ </svg>
68
+ Viewports addon in the toolbar
69
+ </div>
70
+ </section>
71
+ </article>
72
+ );
73
+ };
@@ -0,0 +1,51 @@
1
+ import Button from './Button.svelte';
2
+
3
+ // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
4
+ // More on argTypes: https://storybook.js.org/docs/svelte/api/argtypes
5
+ export default {
6
+ title: 'Example/Button',
7
+ component: Button,
8
+ argTypes: {
9
+ backgroundColor: { control: 'color' },
10
+ label: { control: 'text' },
11
+ onClick: { action: 'onClick' },
12
+ primary: { control: 'boolean' },
13
+ size: {
14
+ control: { type: 'select' },
15
+ options: ['small', 'medium', 'large'],
16
+ },
17
+ },
18
+ };
19
+
20
+ // More on component templates: https://storybook.js.org/docs/svelte/writing-stories/introduction#using-args
21
+ const Template = (args) => ({
22
+ Component: Button,
23
+ props: args,
24
+ on: {
25
+ click: args.onClick,
26
+ },
27
+ });
28
+
29
+ // More on args: https://storybook.js.org/docs/svelte/writing-stories/args
30
+ export const Primary = Template.bind({});
31
+ Primary.args = {
32
+ primary: true,
33
+ label: 'Button',
34
+ };
35
+
36
+ export const Secondary = Template.bind({});
37
+ Secondary.args = {
38
+ label: 'Button',
39
+ };
40
+
41
+ export const Large = Template.bind({});
42
+ Large.args = {
43
+ size: 'large',
44
+ label: 'Button',
45
+ };
46
+
47
+ export const Small = Template.bind({});
48
+ Small.args = {
49
+ size: 'small',
50
+ label: 'Button',
51
+ };
@@ -0,0 +1,29 @@
1
+ import Header from './Header.svelte';
2
+
3
+ export default {
4
+ title: 'Example/Header',
5
+ component: Header,
6
+ argTypes: {
7
+ onLogin: { action: 'onLogin' },
8
+ onLogout: { action: 'onLogout' },
9
+ onCreateAccount: { action: 'onCreateAccount' },
10
+ },
11
+ };
12
+
13
+ const Template = (args) => ({
14
+ Component: Header,
15
+ props: args,
16
+ on: {
17
+ login: args.onLogin,
18
+ logout: args.onLogout,
19
+ createAccount: args.onCreateAccount,
20
+ },
21
+ });
22
+
23
+ export const LoggedIn = Template.bind({});
24
+ LoggedIn.args = {
25
+ user: {},
26
+ };
27
+
28
+ export const LoggedOut = Template.bind({});
29
+ LoggedOut.args = {};
@@ -0,0 +1,29 @@
1
+ import Page from './Page.svelte';
2
+
3
+ export default {
4
+ title: 'Example/Page',
5
+ component: Page,
6
+ argTypes: {
7
+ onLogin: { action: 'onLogin' },
8
+ onLogout: { action: 'onLogout' },
9
+ onCreateAccount: { action: 'onCreateAccount' },
10
+ },
11
+ };
12
+
13
+ const Template = (args) => ({
14
+ Component: Page,
15
+ props: args,
16
+ on: {
17
+ login: args.onLogin,
18
+ logout: args.onLogout,
19
+ createAccount: args.onCreateAccount,
20
+ },
21
+ });
22
+
23
+ export const LoggedIn = Template.bind({});
24
+ LoggedIn.args = {
25
+ user: {},
26
+ };
27
+
28
+ export const LoggedOut = Template.bind({});
29
+ LoggedOut.args = {};
@@ -43,8 +43,8 @@ export const Page = ({ user, onLogin, onLogout, onCreateAccount }) => html`
43
43
  <a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer"> docs </a>
44
44
  .
45
45
  </p>
46
- <div className="tip-wrapper">
47
- <span className="tip">Tip</span> Adjust the width of the canvas with the
46
+ <div class="tip-wrapper">
47
+ <span class="tip">Tip</span> Adjust the width of the canvas with the
48
48
  <svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
49
49
  <g fill="none" fillRule="evenodd">
50
50
  <path
@@ -50,8 +50,8 @@ export const Page = ({ user, onLogin, onLogout, onCreateAccount }: PageProps) =>
50
50
  <a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer"> docs </a>
51
51
  .
52
52
  </p>
53
- <div className="tip-wrapper">
54
- <span className="tip">Tip</span> Adjust the width of the canvas with the
53
+ <div class="tip-wrapper">
54
+ <span class="tip">Tip</span> Adjust the width of the canvas with the
55
55
  <svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
56
56
  <g fill="none" fillRule="evenodd">
57
57
  <path
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getAngularAppTsConfigPath = getAngularAppTsConfigPath;
7
- exports.getAngularAppTsConfigJson = getAngularAppTsConfigJson;
8
6
  exports.editStorybookTsConfig = editStorybookTsConfig;
9
- exports.isDefaultProjectSet = isDefaultProjectSet;
7
+ exports.getAngularAppTsConfigJson = getAngularAppTsConfigJson;
8
+ exports.getAngularAppTsConfigPath = getAngularAppTsConfigPath;
10
9
  exports.getBaseTsConfigName = getBaseTsConfigName;
10
+ exports.isDefaultProjectSet = isDefaultProjectSet;
11
11
 
12
12
  require("core-js/modules/es.promise.js");
13
13
 
@@ -19,9 +19,9 @@ var _fsExtra = require("fs-extra");
19
19
 
20
20
  var _helpers = require("../../helpers");
21
21
 
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
23
 
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
26
  function getAngularAppTsConfigPath() {
27
27
  const angularJson = (0, _helpers.readFileAsJson)('angular.json', true);
@@ -56,7 +56,7 @@ const generator = async (packageManager, npmOptions, options) => {
56
56
  builder: _project_types.CoreBuilder.Webpack5
57
57
  }) : options;
58
58
  (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, updatedOptions, 'angular', {
59
- extraPackages: ['@compodoc/compodoc', '@angular/elements', '@webcomponents/custom-elements'],
59
+ extraPackages: ['@compodoc/compodoc'],
60
60
  addScripts: false
61
61
  });
62
62
  (0, _helpers.copyTemplate)(__dirname);
@@ -1,9 +1,21 @@
1
1
  {
2
2
  "extends": "%SET_DURING_SB_INIT%",
3
3
  "compilerOptions": {
4
- "types": ["node"]
4
+ "types": [
5
+ "node"
6
+ ],
7
+ "allowSyntheticDefaultImports": true
5
8
  },
6
- "exclude": ["../src/test.ts", "../src/**/*.spec.ts", "../projects/**/*.spec.ts"],
7
- "include": ["../src/**/*", "../projects/**/*"],
8
- "files": ["./typings.d.ts"]
9
- }
9
+ "exclude": [
10
+ "../src/test.ts",
11
+ "../src/**/*.spec.ts",
12
+ "../projects/**/*.spec.ts"
13
+ ],
14
+ "include": [
15
+ "../src/**/*",
16
+ "../projects/**/*"
17
+ ],
18
+ "files": [
19
+ "./typings.d.ts"
20
+ ]
21
+ }
@@ -1,9 +1,20 @@
1
1
  {
2
2
  "extends": "%SET_DURING_SB_INIT%",
3
3
  "compilerOptions": {
4
- "types": ["node"]
4
+ "types": [
5
+ "node"
6
+ ]
5
7
  },
6
- "exclude": ["../src/test.ts", "../src/**/*.spec.ts", "../projects/**/*.spec.ts"],
7
- "include": ["../src/**/*", "../projects/**/*"],
8
- "files": ["./typings.d.ts"]
9
- }
8
+ "exclude": [
9
+ "../src/test.ts",
10
+ "../src/**/*.spec.ts",
11
+ "../projects/**/*.spec.ts"
12
+ ],
13
+ "include": [
14
+ "../src/**/*",
15
+ "../projects/**/*"
16
+ ],
17
+ "files": [
18
+ "./typings.d.ts"
19
+ ]
20
+ }
@@ -44,7 +44,15 @@ const generator = async (packageManager, npmOptions, options) => {
44
44
  }) : options; // `@storybook/preset-create-react-app` has `@storybook/node-logger` as peerDep
45
45
 
46
46
  const extraPackages = ['@storybook/node-logger'];
47
- if (isCra5) extraPackages.push('webpack'); // preset v3 is compat with older versions of CRA, otherwise let version float
47
+
48
+ if (isCra5) {
49
+ extraPackages.push('webpack'); // Miscellaneous dependency used in `babel-preset-react-app` but not listed as dep there
50
+
51
+ extraPackages.push('babel-plugin-named-exports-order'); // Miscellaneous dependency to add to be sure Storybook + CRA is working fine with Yarn PnP mode
52
+
53
+ extraPackages.push('prop-types');
54
+ } // preset v3 is compat with older versions of CRA, otherwise let version float
55
+
48
56
 
49
57
  const extraAddons = [`@storybook/preset-create-react-app${isCra5 ? '' : '@3'}`];
50
58
  await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, updatedOptions, 'react', {
@@ -53,7 +53,6 @@ const generator = async (packageManager, npmOptions, options) => {
53
53
 
54
54
  await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'svelte', {
55
55
  extraPackages: ['svelte', 'svelte-loader'],
56
- extraAddons: ['@storybook/addon-svelte-csf'],
57
56
  extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
58
57
  extraMain,
59
58
  commonJs
@@ -10,7 +10,9 @@ require("core-js/modules/es.promise.js");
10
10
  var _baseGenerator = require("../baseGenerator");
11
11
 
12
12
  const generator = async (packageManager, npmOptions, options) => {
13
- return (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'web-components');
13
+ return (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'web-components', {
14
+ extraPackages: ['lit-html']
15
+ });
14
16
  };
15
17
 
16
18
  var _default = generator;
@@ -51,6 +51,8 @@ const builderDependencies = builder => {
51
51
 
52
52
  const stripVersions = addons => addons.map(addon => (0, _jsPackageManager.getPackageDetails)(addon)[0]);
53
53
 
54
+ const hasInteractiveStories = framework => ['react', 'angular'].includes(framework);
55
+
54
56
  async function baseGenerator(packageManager, npmOptions, {
55
57
  language,
56
58
  builder
@@ -71,7 +73,13 @@ async function baseGenerator(packageManager, npmOptions, {
71
73
  const addons = ['@storybook/addon-links', '@storybook/addon-essentials']; // added to package.json
72
74
 
73
75
  const addonPackages = [...addons, '@storybook/addon-actions'];
74
- const yarn2Dependencies = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react'] : [];
76
+
77
+ if (hasInteractiveStories(framework)) {
78
+ addons.push('@storybook/addon-interactions');
79
+ addonPackages.push('@storybook/addon-interactions', '@storybook/testing-library');
80
+ }
81
+
82
+ const yarn2Dependencies = packageManager.type === 'yarn2' ? ['@storybook/addon-docs', '@mdx-js/react@1.x.x'] : [];
75
83
  const files = await _fsExtra.default.readdir(process.cwd());
76
84
  const isNewFolder = !files.some(fname => fname.startsWith('.babel') || fname.startsWith('babel') || fname === 'package.json');
77
85
  const packageJson = packageManager.retrievePackageJson();
@@ -9,6 +9,8 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
 
10
10
  var _tsDedent = _interopRequireDefault(require("ts-dedent"));
11
11
 
12
+ const _excluded = ["addons", "extensions", "commonJs"];
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -19,7 +21,7 @@ function configureMain(_ref) {
19
21
  extensions = ['js', 'jsx', 'ts', 'tsx'],
20
22
  commonJs = false
21
23
  } = _ref,
22
- custom = _objectWithoutPropertiesLoose(_ref, ["addons", "extensions", "commonJs"]);
24
+ custom = _objectWithoutPropertiesLoose(_ref, _excluded);
23
25
 
24
26
  const prefix = _fsExtra.default.existsSync('./src') ? '../src' : '../stories';
25
27
  const config = Object.assign({
@@ -3,16 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getBowerJson = getBowerJson;
7
- exports.readFileAsJson = readFileAsJson;
8
- exports.paddedLog = paddedLog;
9
- exports.getChars = getChars;
10
- exports.codeLog = codeLog;
11
- exports.getBabelDependencies = getBabelDependencies;
12
6
  exports.addToDevDependenciesIfNotPresent = addToDevDependenciesIfNotPresent;
13
- exports.copyTemplate = copyTemplate;
7
+ exports.codeLog = codeLog;
8
+ exports.commandLog = void 0;
14
9
  exports.copyComponents = copyComponents;
15
- exports.commandLog = exports.writeFileAsJson = void 0;
10
+ exports.copyTemplate = copyTemplate;
11
+ exports.getBabelDependencies = getBabelDependencies;
12
+ exports.getBowerJson = getBowerJson;
13
+ exports.getChars = getChars;
14
+ exports.paddedLog = paddedLog;
15
+ exports.readFileAsJson = readFileAsJson;
16
+ exports.writeFileAsJson = void 0;
16
17
 
17
18
  require("core-js/modules/es.promise.js");
18
19
 
@@ -7,6 +7,8 @@ exports.initiate = initiate;
7
7
 
8
8
  require("core-js/modules/es.promise.js");
9
9
 
10
+ require("core-js/modules/es.array.sort.js");
11
+
10
12
  var _updateNotifier = require("update-notifier");
11
13
 
12
14
  var _chalk = _interopRequireDefault(require("chalk"));
@@ -280,11 +282,12 @@ async function initiate(options, pkg) {
280
282
  } catch (ex) {
281
283
  done(ex.message);
282
284
  process.exit(1);
285
+ return;
283
286
  }
284
287
 
285
288
  done();
286
289
  await installStorybook(projectType, Object.assign({}, options, isEsm ? {
287
290
  commonJs: true
288
291
  } : undefined));
289
- return (0, _automigrate.automigrate)();
292
+ await (0, _automigrate.automigrate)();
290
293
  }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPackageDetails = getPackageDetails;
7
6
  exports.JsPackageManager = void 0;
7
+ exports.getPackageDetails = getPackageDetails;
8
8
 
9
9
  require("core-js/modules/es.promise.js");
10
10
 
@@ -18,7 +18,7 @@ var _helpers = require("../helpers");
18
18
 
19
19
  var _PackageJsonHelper = require("./PackageJsonHelper");
20
20
 
21
- var _versions = _interopRequireDefault(require("../versions.json"));
21
+ var _versions = _interopRequireDefault(require("../versions"));
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.installableProjectTypes = exports.unsupportedTemplate = exports.supportedTemplates = exports.SupportedLanguage = exports.CoreBuilder = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = void 0;
6
+ exports.unsupportedTemplate = exports.supportedTemplates = exports.installableProjectTypes = exports.SupportedLanguage = exports.SUPPORTED_FRAMEWORKS = exports.ProjectType = exports.CoreBuilder = void 0;
7
7
 
8
8
  var _semver = require("@storybook/semver");
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.svelte = exports.sfcVue = exports.preact = exports.html = exports.vue3 = exports.vue = exports.web_components_lit2 = exports.web_components_typescript = exports.web_components = exports.angular = exports.angular12 = exports.angular11 = exports.angular10 = exports.react_in_yarn_workspace = exports.webpack_react = exports.react_typescript = exports.react = exports.cra_typescript = exports.cra = void 0;
6
+ exports.webpack_react = exports.web_components_typescript = exports.web_components_lit2 = exports.web_components = exports.vue3 = exports.vue = exports.svelte = exports.sfcVue = exports.react_typescript = exports.react_in_yarn_workspace = exports.react = exports.preact = exports.html = exports.cra_typescript = exports.cra = exports.angular130 = exports.angular13 = exports.angular12 = exports.angular11 = exports.angular10 = exports.angular = void 0;
7
7
 
8
8
  const fromDeps = (...args) => ['mkdir {{appName}}', 'cd {{appName}}', // Create `yarn.lock` to force Yarn to consider adding deps in this directory
9
9
  // and not look for a yarn workspace in parent directory
@@ -14,16 +14,16 @@ const cra = {
14
14
  framework: 'react',
15
15
  name: 'cra',
16
16
  version: 'latest',
17
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
18
- 'npx create-react-app@{{version}} {{appName}} --use-npm', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
17
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
18
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}}', 'cd {{appName}}', 'echo "FAST_REFRESH=true" > .env', 'echo "SKIP_PREFLIGHT_CHECK=true" > .env'].join(' && ')
19
19
  };
20
20
  exports.cra = cra;
21
21
  const cra_typescript = {
22
22
  framework: 'react',
23
23
  name: 'cra_typescript',
24
24
  version: 'latest',
25
- generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
26
- 'npx create-react-app@{{version}} {{appName}} --template typescript --use-npm'].join(' && ')
25
+ generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
26
+ 'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}} --template typescript'].join(' && ')
27
27
  };
28
28
  exports.cra_typescript = cra_typescript;
29
29
  const react = {
@@ -62,7 +62,7 @@ const baseAngular = {
62
62
  framework: 'angular',
63
63
  name: 'angular',
64
64
  version: 'latest',
65
- generator: `npx --package @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
65
+ generator: `npx -p @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skipInstall=true --strict`
66
66
  };
67
67
  const angular10 = Object.assign({}, baseAngular, {
68
68
  name: 'angular10',
@@ -79,6 +79,16 @@ const angular12 = Object.assign({}, baseAngular, {
79
79
  version: 'v12-lts'
80
80
  });
81
81
  exports.angular12 = angular12;
82
+ const angular130 = Object.assign({}, baseAngular, {
83
+ name: 'angular130',
84
+ version: '13.0.x'
85
+ });
86
+ exports.angular130 = angular130;
87
+ const angular13 = Object.assign({}, baseAngular, {
88
+ name: 'angular13',
89
+ version: '13.1.x'
90
+ });
91
+ exports.angular13 = angular13;
82
92
  const angular = baseAngular; // #endregion
83
93
  // #region web components
84
94
 
@@ -107,7 +117,8 @@ exports.web_components_lit2 = web_components_lit2;
107
117
  const vue = {
108
118
  framework: 'vue',
109
119
  name: 'vue',
110
- version: 'latest',
120
+ // Be careful here, the latest versions of vue cli are bootstrapping a vue 3 project
121
+ version: '4',
111
122
  generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
112
123
  `npx -p @vue/cli@{{version}} vue create {{appName}} --default --packageManager=npm --no-git --force`].join(' && ')
113
124
  };
@@ -141,7 +152,8 @@ const sfcVue = {
141
152
  framework: 'vue',
142
153
  name: 'sfcVue',
143
154
  version: 'latest',
144
- generator: fromDeps('vue', 'vue-loader', 'vue-template-compiler', 'webpack@webpack-4')
155
+ //
156
+ generator: fromDeps('vue@2.6', 'vue-loader@15.9', 'vue-template-compiler@2.6', 'webpack@webpack-4')
145
157
  };
146
158
  exports.sfcVue = sfcVue;
147
159
  const svelte = {