@storybook/cli 7.0.0-alpha.13 → 7.0.0-alpha.18
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.
- package/dist/cjs/add.js +0 -2
- package/dist/cjs/automigrate/fixes/angular12.js +0 -2
- package/dist/cjs/automigrate/fixes/builder-vite.js +0 -2
- package/dist/cjs/automigrate/fixes/cra5.js +0 -2
- package/dist/cjs/automigrate/fixes/eslint-plugin.js +0 -2
- package/dist/cjs/automigrate/fixes/mainjsFramework.js +0 -2
- package/dist/cjs/automigrate/fixes/npm7.js +0 -2
- package/dist/cjs/automigrate/fixes/vue3.js +0 -2
- package/dist/cjs/automigrate/fixes/webpack5.js +0 -2
- package/dist/cjs/automigrate/index.js +0 -2
- package/dist/cjs/babel-config.js +0 -2
- package/dist/cjs/build.js +0 -2
- package/dist/cjs/dev.js +0 -2
- package/dist/cjs/dirs.js +12 -0
- package/dist/cjs/extract.js +0 -2
- package/dist/cjs/generate.js +21 -7
- package/dist/cjs/generators/ANGULAR/angular-helpers.js +0 -2
- package/dist/cjs/generators/ANGULAR/index.js +0 -2
- package/dist/cjs/generators/ANGULAR/template-csf/.storybook/tsconfig.json +5 -16
- package/dist/cjs/generators/AURELIA/index.js +0 -2
- package/dist/cjs/generators/AURELIA/template-csf/.storybook/tsconfig.json +5 -16
- package/dist/cjs/generators/EMBER/index.js +0 -2
- package/dist/cjs/generators/HTML/index.js +0 -2
- package/dist/cjs/generators/MARIONETTE/index.js +0 -2
- package/dist/cjs/generators/MARKO/index.js +0 -2
- package/dist/cjs/generators/MITHRIL/index.js +0 -2
- package/dist/cjs/generators/PREACT/index.js +0 -2
- package/dist/cjs/generators/RAX/index.js +0 -2
- package/dist/cjs/generators/REACT/index.js +0 -2
- package/dist/cjs/generators/REACT_NATIVE/index.js +0 -2
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/addons.js +7 -3
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/index.js +21 -15
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +5 -2
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +23 -20
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +25 -10
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +25 -10
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +10 -3
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +14 -5
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +60 -49
- package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +5 -2
- package/dist/cjs/generators/REACT_SCRIPTS/index.js +0 -2
- package/dist/cjs/generators/RIOT/index.js +0 -2
- package/dist/cjs/generators/SERVER/index.js +0 -2
- package/dist/cjs/generators/SERVER/template-csf/.storybook/preview.js +10 -3
- package/dist/cjs/generators/SFC_VUE/index.js +0 -2
- package/dist/cjs/generators/SVELTE/index.js +15 -13
- package/dist/cjs/generators/VUE/index.js +0 -2
- package/dist/cjs/generators/VUE3/index.js +0 -2
- package/dist/cjs/generators/WEB-COMPONENTS/index.js +0 -2
- package/dist/cjs/generators/WEBPACK_REACT/index.js +0 -2
- package/dist/cjs/generators/baseGenerator.js +3 -4
- package/dist/cjs/generators/configure.js +0 -2
- package/dist/cjs/helpers.js +10 -5
- package/dist/cjs/initiate.js +0 -4
- package/dist/cjs/js-package-manager/JsPackageManager.js +4 -12
- package/dist/cjs/link.js +8 -7
- package/dist/cjs/migrate.js +0 -2
- package/dist/cjs/repro-generators/scripts.js +30 -9
- package/dist/cjs/repro-next.js +173 -0
- package/dist/cjs/repro-templates.js +28 -0
- package/dist/cjs/repro.js +2 -4
- package/dist/cjs/upgrade.js +0 -4
- package/dist/cjs/versions.js +75 -75
- package/dist/esm/NpmOptions.js +0 -1
- package/dist/esm/add.js +24 -54
- package/dist/esm/automigrate/fixes/angular12.js +14 -32
- package/dist/esm/automigrate/fixes/builder-vite.js +16 -34
- package/dist/esm/automigrate/fixes/cra5.js +15 -33
- package/dist/esm/automigrate/fixes/eslint-plugin.js +16 -33
- package/dist/esm/automigrate/fixes/index.js +10 -41
- package/dist/esm/automigrate/fixes/mainjsFramework.js +17 -37
- package/dist/esm/automigrate/fixes/npm7.js +7 -21
- package/dist/esm/automigrate/fixes/vue3.js +15 -34
- package/dist/esm/automigrate/fixes/webpack5.js +24 -46
- package/dist/esm/automigrate/helpers/getEslintInfo.js +6 -20
- package/dist/esm/automigrate/index.js +18 -38
- package/dist/esm/automigrate/types.js +1 -5
- package/dist/esm/babel-config.js +14 -39
- package/dist/esm/build.js +10 -26
- package/dist/esm/detect-nextjs.js +2 -11
- package/dist/esm/detect-webpack.js +2 -11
- package/dist/esm/detect.js +33 -61
- package/dist/esm/dev.js +20 -41
- package/dist/esm/dirs.js +4 -0
- package/dist/esm/extract.js +17 -35
- package/dist/esm/generate.js +72 -111
- package/dist/esm/generators/ANGULAR/angular-helpers.js +17 -43
- package/dist/esm/generators/ANGULAR/index.js +17 -38
- package/dist/esm/generators/ANGULAR/template-csf/.storybook/tsconfig.json +5 -16
- package/dist/esm/generators/AURELIA/index.js +7 -18
- package/dist/esm/generators/AURELIA/template-csf/.storybook/tsconfig.json +5 -16
- package/dist/esm/generators/EMBER/index.js +3 -13
- package/dist/esm/generators/HTML/index.js +3 -13
- package/dist/esm/generators/MARIONETTE/index.js +3 -13
- package/dist/esm/generators/MARKO/index.js +3 -13
- package/dist/esm/generators/MITHRIL/index.js +3 -13
- package/dist/esm/generators/PREACT/index.js +3 -13
- package/dist/esm/generators/RAX/index.js +5 -16
- package/dist/esm/generators/REACT/index.js +3 -13
- package/dist/esm/generators/REACT_NATIVE/index.js +9 -24
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/addons.js +1 -1
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/index.js +6 -13
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/Button.stories.js +5 -13
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Button/index.js +10 -8
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/index.js +9 -8
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/CenterView/style.js +3 -3
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/Welcome.stories.js +3 -2
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/Welcome/index.js +41 -44
- package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/stories/index.js +1 -1
- package/dist/esm/generators/REACT_SCRIPTS/index.js +12 -33
- package/dist/esm/generators/RIOT/index.js +3 -13
- package/dist/esm/generators/SERVER/index.js +5 -16
- package/dist/esm/generators/SERVER/template-csf/.storybook/preview.js +3 -3
- package/dist/esm/generators/SFC_VUE/index.js +3 -13
- package/dist/esm/generators/SVELTE/index.js +26 -39
- package/dist/esm/generators/VUE/index.js +3 -13
- package/dist/esm/generators/VUE3/index.js +3 -13
- package/dist/esm/generators/WEB-COMPONENTS/index.js +3 -13
- package/dist/esm/generators/WEBPACK_REACT/index.js +3 -13
- package/dist/esm/generators/baseGenerator.js +28 -46
- package/dist/esm/generators/configure.js +10 -26
- package/dist/esm/generators/types.js +1 -5
- package/dist/esm/helpers.js +50 -94
- package/dist/esm/initiate.js +105 -150
- package/dist/esm/js-package-manager/JsPackageManager.js +30 -59
- package/dist/esm/js-package-manager/JsPackageManagerFactory.js +12 -26
- package/dist/esm/js-package-manager/NPMProxy.js +5 -18
- package/dist/esm/js-package-manager/PackageJson.js +1 -5
- package/dist/esm/js-package-manager/PackageJsonHelper.js +9 -25
- package/dist/esm/js-package-manager/Yarn1Proxy.js +3 -13
- package/dist/esm/js-package-manager/Yarn2Proxy.js +3 -13
- package/dist/esm/js-package-manager/index.js +4 -57
- package/dist/esm/link.js +35 -64
- package/dist/esm/migrate.js +4 -14
- package/dist/esm/project_types.js +13 -28
- package/dist/esm/repro-generators/configs.js +21 -48
- package/dist/esm/repro-generators/scripts.js +61 -71
- package/dist/esm/repro-next.js +154 -0
- package/dist/esm/repro-templates.js +21 -0
- package/dist/esm/repro.js +29 -55
- package/dist/esm/upgrade.js +33 -75
- package/dist/esm/utils.js +2 -11
- package/dist/esm/versions.js +77 -84
- package/dist/esm/warn.js +9 -25
- package/dist/esm/window.d.js +1 -5
- package/dist/types/dirs.d.ts +1 -0
- package/dist/types/generators/baseGenerator.d.ts +1 -1
- package/dist/types/generators/types.d.ts +1 -0
- package/dist/types/link.d.ts +2 -1
- package/dist/types/repro-generators/scripts.d.ts +4 -2
- package/dist/types/repro-next.d.ts +7 -0
- package/dist/types/repro-templates.d.ts +21 -0
- package/dist/types/repro.d.ts +2 -1
- package/package.json +14 -10
- package/LICENSE +0 -21
- package/dist/cjs/frameworks/angular/Button.stories.ts +0 -44
- package/dist/cjs/frameworks/angular/Header.stories.ts +0 -35
- package/dist/cjs/frameworks/angular/Page.stories.ts +0 -36
- package/dist/cjs/frameworks/angular/User.ts +0 -2
- package/dist/cjs/frameworks/angular/button.component.ts +0 -53
- package/dist/cjs/frameworks/angular/header.component.ts +0 -75
- package/dist/cjs/frameworks/angular/page.component.ts +0 -77
- package/dist/cjs/frameworks/aurelia/1-Button.stories.ts +0 -49
- package/dist/cjs/frameworks/aurelia/button.ts +0 -28
- package/dist/cjs/frameworks/common/Introduction.stories.mdx +0 -211
- package/dist/cjs/frameworks/common/assets/code-brackets.svg +0 -1
- package/dist/cjs/frameworks/common/assets/colors.svg +0 -1
- package/dist/cjs/frameworks/common/assets/comments.svg +0 -1
- package/dist/cjs/frameworks/common/assets/direction.svg +0 -1
- package/dist/cjs/frameworks/common/assets/flow.svg +0 -1
- package/dist/cjs/frameworks/common/assets/plugin.svg +0 -1
- package/dist/cjs/frameworks/common/assets/repo.svg +0 -1
- package/dist/cjs/frameworks/common/assets/stackalt.svg +0 -1
- package/dist/cjs/frameworks/common/button.css +0 -30
- package/dist/cjs/frameworks/common/header.css +0 -32
- package/dist/cjs/frameworks/common/page.css +0 -69
- package/dist/cjs/frameworks/ember/1-Button.stories.js +0 -57
- package/dist/cjs/frameworks/html/js/Button.js +0 -21
- package/dist/cjs/frameworks/html/js/Button.stories.js +0 -48
- package/dist/cjs/frameworks/html/js/Header.js +0 -47
- package/dist/cjs/frameworks/html/js/Header.stories.js +0 -27
- package/dist/cjs/frameworks/html/js/Page.js +0 -94
- package/dist/cjs/frameworks/html/js/Page.stories.js +0 -23
- package/dist/cjs/frameworks/html/ts/Button.stories.ts +0 -49
- package/dist/cjs/frameworks/html/ts/Button.ts +0 -51
- package/dist/cjs/frameworks/html/ts/Header.stories.ts +0 -26
- package/dist/cjs/frameworks/html/ts/Header.ts +0 -54
- package/dist/cjs/frameworks/html/ts/Page.stories.ts +0 -24
- package/dist/cjs/frameworks/html/ts/Page.ts +0 -98
- package/dist/cjs/frameworks/marionette/index.stories.js +0 -20
- package/dist/cjs/frameworks/marko/1-Button.stories.js +0 -24
- package/dist/cjs/frameworks/marko/Button.marko +0 -13
- package/dist/cjs/frameworks/mithril/Button.js +0 -22
- package/dist/cjs/frameworks/mithril/Button.stories.js +0 -43
- package/dist/cjs/frameworks/mithril/Header.js +0 -51
- package/dist/cjs/frameworks/mithril/Header.stories.js +0 -20
- package/dist/cjs/frameworks/mithril/Page.js +0 -70
- package/dist/cjs/frameworks/mithril/Page.stories.js +0 -24
- package/dist/cjs/frameworks/preact/Button.jsx +0 -51
- package/dist/cjs/frameworks/preact/Button.stories.jsx +0 -41
- package/dist/cjs/frameworks/preact/Header.jsx +0 -58
- package/dist/cjs/frameworks/preact/Header.stories.jsx +0 -29
- package/dist/cjs/frameworks/preact/Page.jsx +0 -71
- package/dist/cjs/frameworks/preact/Page.stories.jsx +0 -26
- package/dist/cjs/frameworks/rax/Button.js +0 -26
- package/dist/cjs/frameworks/rax/Button.stories.js +0 -40
- package/dist/cjs/frameworks/rax/Header.js +0 -44
- package/dist/cjs/frameworks/rax/Header.stories.js +0 -17
- package/dist/cjs/frameworks/rax/Page.js +0 -64
- package/dist/cjs/frameworks/rax/Page.stories.js +0 -21
- package/dist/cjs/frameworks/react/js/Button.jsx +0 -50
- package/dist/cjs/frameworks/react/js/Button.stories.jsx +0 -40
- package/dist/cjs/frameworks/react/js/Header.jsx +0 -57
- package/dist/cjs/frameworks/react/js/Header.stories.jsx +0 -24
- package/dist/cjs/frameworks/react/js/Page.jsx +0 -69
- package/dist/cjs/frameworks/react/js/Page.stories.jsx +0 -25
- package/dist/cjs/frameworks/react/ts/Button.stories.tsx +0 -41
- package/dist/cjs/frameworks/react/ts/Button.tsx +0 -48
- package/dist/cjs/frameworks/react/ts/Header.stories.tsx +0 -25
- package/dist/cjs/frameworks/react/ts/Header.tsx +0 -56
- package/dist/cjs/frameworks/react/ts/Page.stories.tsx +0 -26
- package/dist/cjs/frameworks/react/ts/Page.tsx +0 -73
- package/dist/cjs/frameworks/riot/1-Button.stories.js +0 -52
- package/dist/cjs/frameworks/riot/MyButton.tag +0 -24
- package/dist/cjs/frameworks/server/button.stories.json +0 -32
- package/dist/cjs/frameworks/server/header.stories.json +0 -15
- package/dist/cjs/frameworks/server/page.stories.json +0 -15
- package/dist/cjs/frameworks/svelte/Button.stories.js +0 -51
- package/dist/cjs/frameworks/svelte/Button.svelte +0 -42
- package/dist/cjs/frameworks/svelte/Header.stories.js +0 -35
- package/dist/cjs/frameworks/svelte/Header.svelte +0 -51
- package/dist/cjs/frameworks/svelte/Page.stories.js +0 -27
- package/dist/cjs/frameworks/svelte/Page.svelte +0 -63
- package/dist/cjs/frameworks/vue/Button.stories.js +0 -46
- package/dist/cjs/frameworks/vue/Button.vue +0 -54
- package/dist/cjs/frameworks/vue/Header.stories.js +0 -27
- package/dist/cjs/frameworks/vue/Header.vue +0 -60
- package/dist/cjs/frameworks/vue/Page.stories.js +0 -27
- package/dist/cjs/frameworks/vue/Page.vue +0 -88
- package/dist/cjs/frameworks/vue3/Button.stories.js +0 -52
- package/dist/cjs/frameworks/vue3/Button.vue +0 -52
- package/dist/cjs/frameworks/vue3/Header.stories.js +0 -34
- package/dist/cjs/frameworks/vue3/Header.vue +0 -50
- package/dist/cjs/frameworks/vue3/Page.stories.js +0 -29
- package/dist/cjs/frameworks/vue3/Page.vue +0 -88
- package/dist/cjs/frameworks/web-components/js/Button.js +0 -21
- package/dist/cjs/frameworks/web-components/js/Button.stories.js +0 -42
- package/dist/cjs/frameworks/web-components/js/Header.js +0 -45
- package/dist/cjs/frameworks/web-components/js/Header.stories.js +0 -15
- package/dist/cjs/frameworks/web-components/js/Page.js +0 -61
- package/dist/cjs/frameworks/web-components/js/Page.stories.js +0 -19
- package/dist/cjs/frameworks/web-components/ts/Button.stories.ts +0 -43
- package/dist/cjs/frameworks/web-components/ts/Button.ts +0 -43
- package/dist/cjs/frameworks/web-components/ts/Header.stories.ts +0 -16
- package/dist/cjs/frameworks/web-components/ts/Header.ts +0 -52
- package/dist/cjs/frameworks/web-components/ts/Page.stories.ts +0 -20
- package/dist/cjs/frameworks/web-components/ts/Page.ts +0 -68
- package/dist/esm/frameworks/angular/Button.stories.ts +0 -44
- package/dist/esm/frameworks/angular/Header.stories.ts +0 -35
- package/dist/esm/frameworks/angular/Page.stories.ts +0 -36
- package/dist/esm/frameworks/angular/User.ts +0 -2
- package/dist/esm/frameworks/angular/button.component.ts +0 -53
- package/dist/esm/frameworks/angular/header.component.ts +0 -75
- package/dist/esm/frameworks/angular/page.component.ts +0 -77
- package/dist/esm/frameworks/aurelia/1-Button.stories.ts +0 -49
- package/dist/esm/frameworks/aurelia/button.ts +0 -28
- package/dist/esm/frameworks/common/Introduction.stories.mdx +0 -211
- package/dist/esm/frameworks/common/assets/code-brackets.svg +0 -1
- package/dist/esm/frameworks/common/assets/colors.svg +0 -1
- package/dist/esm/frameworks/common/assets/comments.svg +0 -1
- package/dist/esm/frameworks/common/assets/direction.svg +0 -1
- package/dist/esm/frameworks/common/assets/flow.svg +0 -1
- package/dist/esm/frameworks/common/assets/plugin.svg +0 -1
- package/dist/esm/frameworks/common/assets/repo.svg +0 -1
- package/dist/esm/frameworks/common/assets/stackalt.svg +0 -1
- package/dist/esm/frameworks/common/button.css +0 -30
- package/dist/esm/frameworks/common/header.css +0 -32
- package/dist/esm/frameworks/common/page.css +0 -69
- package/dist/esm/frameworks/ember/1-Button.stories.js +0 -57
- package/dist/esm/frameworks/html/js/Button.js +0 -21
- package/dist/esm/frameworks/html/js/Button.stories.js +0 -48
- package/dist/esm/frameworks/html/js/Header.js +0 -47
- package/dist/esm/frameworks/html/js/Header.stories.js +0 -27
- package/dist/esm/frameworks/html/js/Page.js +0 -94
- package/dist/esm/frameworks/html/js/Page.stories.js +0 -23
- package/dist/esm/frameworks/html/ts/Button.stories.ts +0 -49
- package/dist/esm/frameworks/html/ts/Button.ts +0 -51
- package/dist/esm/frameworks/html/ts/Header.stories.ts +0 -26
- package/dist/esm/frameworks/html/ts/Header.ts +0 -54
- package/dist/esm/frameworks/html/ts/Page.stories.ts +0 -24
- package/dist/esm/frameworks/html/ts/Page.ts +0 -98
- package/dist/esm/frameworks/marionette/index.stories.js +0 -20
- package/dist/esm/frameworks/marko/1-Button.stories.js +0 -24
- package/dist/esm/frameworks/marko/Button.marko +0 -13
- package/dist/esm/frameworks/mithril/Button.js +0 -22
- package/dist/esm/frameworks/mithril/Button.stories.js +0 -43
- package/dist/esm/frameworks/mithril/Header.js +0 -51
- package/dist/esm/frameworks/mithril/Header.stories.js +0 -20
- package/dist/esm/frameworks/mithril/Page.js +0 -70
- package/dist/esm/frameworks/mithril/Page.stories.js +0 -24
- package/dist/esm/frameworks/preact/Button.jsx +0 -51
- package/dist/esm/frameworks/preact/Button.stories.jsx +0 -41
- package/dist/esm/frameworks/preact/Header.jsx +0 -58
- package/dist/esm/frameworks/preact/Header.stories.jsx +0 -29
- package/dist/esm/frameworks/preact/Page.jsx +0 -71
- package/dist/esm/frameworks/preact/Page.stories.jsx +0 -26
- package/dist/esm/frameworks/rax/Button.js +0 -26
- package/dist/esm/frameworks/rax/Button.stories.js +0 -40
- package/dist/esm/frameworks/rax/Header.js +0 -44
- package/dist/esm/frameworks/rax/Header.stories.js +0 -17
- package/dist/esm/frameworks/rax/Page.js +0 -64
- package/dist/esm/frameworks/rax/Page.stories.js +0 -21
- package/dist/esm/frameworks/react/js/Button.jsx +0 -50
- package/dist/esm/frameworks/react/js/Button.stories.jsx +0 -40
- package/dist/esm/frameworks/react/js/Header.jsx +0 -57
- package/dist/esm/frameworks/react/js/Header.stories.jsx +0 -24
- package/dist/esm/frameworks/react/js/Page.jsx +0 -69
- package/dist/esm/frameworks/react/js/Page.stories.jsx +0 -25
- package/dist/esm/frameworks/react/ts/Button.stories.tsx +0 -41
- package/dist/esm/frameworks/react/ts/Button.tsx +0 -48
- package/dist/esm/frameworks/react/ts/Header.stories.tsx +0 -25
- package/dist/esm/frameworks/react/ts/Header.tsx +0 -56
- package/dist/esm/frameworks/react/ts/Page.stories.tsx +0 -26
- package/dist/esm/frameworks/react/ts/Page.tsx +0 -73
- package/dist/esm/frameworks/riot/1-Button.stories.js +0 -52
- package/dist/esm/frameworks/riot/MyButton.tag +0 -24
- package/dist/esm/frameworks/server/button.stories.json +0 -32
- package/dist/esm/frameworks/server/header.stories.json +0 -15
- package/dist/esm/frameworks/server/page.stories.json +0 -15
- package/dist/esm/frameworks/svelte/Button.stories.js +0 -51
- package/dist/esm/frameworks/svelte/Button.svelte +0 -42
- package/dist/esm/frameworks/svelte/Header.stories.js +0 -35
- package/dist/esm/frameworks/svelte/Header.svelte +0 -51
- package/dist/esm/frameworks/svelte/Page.stories.js +0 -27
- package/dist/esm/frameworks/svelte/Page.svelte +0 -63
- package/dist/esm/frameworks/vue/Button.stories.js +0 -46
- package/dist/esm/frameworks/vue/Button.vue +0 -54
- package/dist/esm/frameworks/vue/Header.stories.js +0 -27
- package/dist/esm/frameworks/vue/Header.vue +0 -60
- package/dist/esm/frameworks/vue/Page.stories.js +0 -27
- package/dist/esm/frameworks/vue/Page.vue +0 -88
- package/dist/esm/frameworks/vue3/Button.stories.js +0 -52
- package/dist/esm/frameworks/vue3/Button.vue +0 -52
- package/dist/esm/frameworks/vue3/Header.stories.js +0 -34
- package/dist/esm/frameworks/vue3/Header.vue +0 -50
- package/dist/esm/frameworks/vue3/Page.stories.js +0 -29
- package/dist/esm/frameworks/vue3/Page.vue +0 -88
- package/dist/esm/frameworks/web-components/js/Button.js +0 -21
- package/dist/esm/frameworks/web-components/js/Button.stories.js +0 -42
- package/dist/esm/frameworks/web-components/js/Header.js +0 -45
- package/dist/esm/frameworks/web-components/js/Header.stories.js +0 -15
- package/dist/esm/frameworks/web-components/js/Page.js +0 -61
- package/dist/esm/frameworks/web-components/js/Page.stories.js +0 -19
- package/dist/esm/frameworks/web-components/ts/Button.stories.ts +0 -43
- package/dist/esm/frameworks/web-components/ts/Button.ts +0 -43
- package/dist/esm/frameworks/web-components/ts/Header.stories.ts +0 -16
- package/dist/esm/frameworks/web-components/ts/Header.ts +0 -52
- package/dist/esm/frameworks/web-components/ts/Page.stories.ts +0 -20
- package/dist/esm/frameworks/web-components/ts/Page.ts +0 -68
|
@@ -1,41 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.exec = exports.createAndInit = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/es.promise.js");
|
|
9
|
-
|
|
10
|
-
var _path = _interopRequireDefault(require("path"));
|
|
11
|
-
|
|
12
|
-
var _fsExtra = require("fs-extra");
|
|
13
|
-
|
|
14
|
-
var _shelljs = _interopRequireDefault(require("shelljs"));
|
|
15
|
-
|
|
16
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
17
|
-
|
|
18
|
-
var _execa = require("execa");
|
|
19
|
-
|
|
20
|
-
var _configs = require("./configs");
|
|
21
|
-
|
|
22
|
-
var _versions = _interopRequireDefault(require("../versions"));
|
|
23
|
-
|
|
24
1
|
const _excluded = ["name", "version"];
|
|
25
2
|
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
3
|
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; }
|
|
29
4
|
|
|
5
|
+
/* eslint-disable camelcase */
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { readJSON, writeJSON, outputFile } from 'fs-extra';
|
|
8
|
+
import shell from 'shelljs';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { command } from 'execa';
|
|
11
|
+
import { cra, cra_typescript } from './configs';
|
|
12
|
+
import storybookVersions from '../versions';
|
|
30
13
|
const logger = console;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
const exec = async (command, options = {}, {
|
|
14
|
+
export const exec = async (command, options = {}, {
|
|
34
15
|
startMessage,
|
|
35
|
-
errorMessage
|
|
16
|
+
errorMessage,
|
|
17
|
+
dryRun
|
|
36
18
|
} = {}) => {
|
|
37
|
-
if (startMessage)
|
|
38
|
-
|
|
19
|
+
if (startMessage) logger.info(startMessage);
|
|
20
|
+
|
|
21
|
+
if (dryRun) {
|
|
22
|
+
logger.info(`\n> ${command}\n`);
|
|
23
|
+
return undefined;
|
|
39
24
|
}
|
|
40
25
|
|
|
41
26
|
logger.debug(command);
|
|
@@ -43,19 +28,16 @@ const exec = async (command, options = {}, {
|
|
|
43
28
|
const defaultOptions = {
|
|
44
29
|
silent: false
|
|
45
30
|
};
|
|
46
|
-
|
|
47
|
-
const child = _shelljs.default.exec(command, Object.assign({}, defaultOptions, options, {
|
|
31
|
+
const child = shell.exec(command, Object.assign({}, defaultOptions, options, {
|
|
48
32
|
async: true,
|
|
49
33
|
silent: false
|
|
50
34
|
}));
|
|
51
|
-
|
|
52
35
|
child.stderr.pipe(process.stderr);
|
|
53
|
-
child.stdout.pipe(process.stdout);
|
|
54
36
|
child.on('exit', code => {
|
|
55
37
|
if (code === 0) {
|
|
56
38
|
resolve(undefined);
|
|
57
39
|
} else {
|
|
58
|
-
logger.error(
|
|
40
|
+
logger.error(chalk.red(`An error occurred while executing: \`${command}\``));
|
|
59
41
|
logger.log(errorMessage);
|
|
60
42
|
reject(new Error(`command exited with code: ${code}: `));
|
|
61
43
|
}
|
|
@@ -63,18 +45,14 @@ const exec = async (command, options = {}, {
|
|
|
63
45
|
});
|
|
64
46
|
};
|
|
65
47
|
|
|
66
|
-
exports.exec = exec;
|
|
67
|
-
|
|
68
48
|
const addPackageResolutions = async ({
|
|
69
49
|
cwd
|
|
70
50
|
}) => {
|
|
71
51
|
logger.info(`🔢 Adding package resolutions:`);
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
packageJson.resolutions = _versions.default;
|
|
77
|
-
await (0, _fsExtra.writeJSON)(packageJsonPath, packageJson, {
|
|
52
|
+
const packageJsonPath = path.join(cwd, 'package.json');
|
|
53
|
+
const packageJson = await readJSON(packageJsonPath);
|
|
54
|
+
packageJson.resolutions = storybookVersions;
|
|
55
|
+
await writeJSON(packageJsonPath, packageJson, {
|
|
78
56
|
spaces: 2
|
|
79
57
|
});
|
|
80
58
|
};
|
|
@@ -83,16 +61,12 @@ const addLocalPackageResolutions = async ({
|
|
|
83
61
|
cwd
|
|
84
62
|
}) => {
|
|
85
63
|
logger.info(`🔢 Adding package resolutions:`);
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
const packageJson = await (0, _fsExtra.readJSON)(packageJsonPath);
|
|
90
|
-
|
|
91
|
-
const workspaceDir = _path.default.join(__dirname, '..', '..', '..', '..', '..');
|
|
92
|
-
|
|
64
|
+
const packageJsonPath = path.join(cwd, 'package.json');
|
|
65
|
+
const packageJson = await readJSON(packageJsonPath);
|
|
66
|
+
const workspaceDir = path.join(__dirname, '..', '..', '..', '..', '..');
|
|
93
67
|
const {
|
|
94
68
|
stdout
|
|
95
|
-
} = await
|
|
69
|
+
} = await command('yarn workspaces list --json', {
|
|
96
70
|
cwd: workspaceDir
|
|
97
71
|
});
|
|
98
72
|
console.log({
|
|
@@ -103,12 +77,12 @@ const addLocalPackageResolutions = async ({
|
|
|
103
77
|
console.log({
|
|
104
78
|
workspaces
|
|
105
79
|
});
|
|
106
|
-
packageJson.resolutions = Object.keys(
|
|
80
|
+
packageJson.resolutions = Object.keys(storybookVersions).reduce((acc, key) => {
|
|
107
81
|
return Object.assign({}, acc, {
|
|
108
|
-
[key]:
|
|
82
|
+
[key]: path.join(workspaceDir, workspaces.find(item => item.name === key).location)
|
|
109
83
|
});
|
|
110
84
|
}, {});
|
|
111
|
-
await
|
|
85
|
+
await writeJSON(packageJsonPath, packageJson, {
|
|
112
86
|
spaces: 2
|
|
113
87
|
});
|
|
114
88
|
};
|
|
@@ -122,7 +96,7 @@ const installYarn2 = async ({
|
|
|
122
96
|
// Next line is a hack to remove as soon as CRA will have added these missing deps
|
|
123
97
|
// for details see https://github.com/facebook/create-react-app/pull/11751
|
|
124
98
|
|
|
125
|
-
if ([
|
|
99
|
+
if ([cra.name, cra_typescript.name].includes(name)) {
|
|
126
100
|
command.push(`yarn config set packageExtensions --json '{ "babel-preset-react-app@10.0.x": { "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.16.0" } } }'`);
|
|
127
101
|
}
|
|
128
102
|
|
|
@@ -173,7 +147,7 @@ const addAdditionalFiles = async ({
|
|
|
173
147
|
}) => {
|
|
174
148
|
logger.info(`⤵️ Adding required files`);
|
|
175
149
|
await Promise.all(additionalFiles.map(async file => {
|
|
176
|
-
await
|
|
150
|
+
await outputFile(path.resolve(cwd, file.path), file.contents, {
|
|
177
151
|
encoding: 'UTF-8'
|
|
178
152
|
});
|
|
179
153
|
}));
|
|
@@ -200,7 +174,7 @@ const initStorybook = async ({
|
|
|
200
174
|
flags.push('--use-pnp');
|
|
201
175
|
}
|
|
202
176
|
|
|
203
|
-
const sbCLICommand =
|
|
177
|
+
const sbCLICommand = `node ${path.join(__dirname, '../../cjs/generate')}`;
|
|
204
178
|
const command = `${sbCLICommand} init ${flags.join(' ')}`;
|
|
205
179
|
await exec(command, {
|
|
206
180
|
cwd
|
|
@@ -215,8 +189,7 @@ const addRequiredDeps = async ({
|
|
|
215
189
|
additionalDeps
|
|
216
190
|
}) => {
|
|
217
191
|
// Remove any lockfile generated without Yarn 2
|
|
218
|
-
|
|
219
|
-
|
|
192
|
+
shell.rm('-f', path.join(cwd, 'package-lock.json'), path.join(cwd, 'yarn.lock'));
|
|
220
193
|
const command = additionalDeps && additionalDeps.length > 0 ? `yarn add -D ${additionalDeps.join(' ')}` : `yarn install`;
|
|
221
194
|
await exec(command, {
|
|
222
195
|
cwd
|
|
@@ -245,10 +218,8 @@ const addTypescript = async ({
|
|
|
245
218
|
},
|
|
246
219
|
include: ['src/*']
|
|
247
220
|
};
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
await (0, _fsExtra.writeJSON)(tsConfigJsonPath, tsConfig, {
|
|
221
|
+
const tsConfigJsonPath = path.resolve(cwd, 'tsconfig.json');
|
|
222
|
+
await writeJSON(tsConfigJsonPath, tsConfig, {
|
|
252
223
|
encoding: 'utf8',
|
|
253
224
|
spaces: 2
|
|
254
225
|
});
|
|
@@ -265,10 +236,25 @@ const doTask = async (task, options, condition = true) => {
|
|
|
265
236
|
}
|
|
266
237
|
};
|
|
267
238
|
|
|
268
|
-
const
|
|
239
|
+
const registryUrlNPM = url => {
|
|
240
|
+
const args = ['config', 'set', 'registry', url];
|
|
241
|
+
return exec(`npm ${args.join(' ')}`, {
|
|
242
|
+
cwd: path.join(process.cwd(), '..')
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
const registryUrlYarn = url => {
|
|
247
|
+
const args = ['config', 'set', 'npmRegistryServer', url];
|
|
248
|
+
return exec(`yarn ${args.join(' ')}`, {
|
|
249
|
+
cwd: path.join(__dirname, '..')
|
|
250
|
+
});
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export const createAndInit = async (cwd, _ref, {
|
|
269
254
|
e2e,
|
|
270
255
|
pnp,
|
|
271
|
-
local
|
|
256
|
+
local,
|
|
257
|
+
registry
|
|
272
258
|
}) => {
|
|
273
259
|
let {
|
|
274
260
|
name,
|
|
@@ -279,8 +265,8 @@ const createAndInit = async (cwd, _ref, {
|
|
|
279
265
|
const options = Object.assign({
|
|
280
266
|
name,
|
|
281
267
|
version,
|
|
282
|
-
appName:
|
|
283
|
-
creationPath:
|
|
268
|
+
appName: path.basename(cwd),
|
|
269
|
+
creationPath: path.join(cwd, '..'),
|
|
284
270
|
cwd,
|
|
285
271
|
e2e,
|
|
286
272
|
pnp
|
|
@@ -311,7 +297,11 @@ const createAndInit = async (cwd, _ref, {
|
|
|
311
297
|
|
|
312
298
|
await doTask(addTypescript, options, !!options.typescript);
|
|
313
299
|
await doTask(addRequiredDeps, options);
|
|
314
|
-
await doTask(initStorybook, options);
|
|
315
|
-
};
|
|
316
300
|
|
|
317
|
-
|
|
301
|
+
if (registry) {
|
|
302
|
+
await registryUrlNPM(registry);
|
|
303
|
+
await registryUrlYarn(registry);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
await doTask(initStorybook, options);
|
|
307
|
+
};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import boxen from 'boxen';
|
|
6
|
+
import { dedent } from 'ts-dedent';
|
|
7
|
+
import degit from 'degit';
|
|
8
|
+
import TEMPLATES from './repro-templates';
|
|
9
|
+
const logger = console;
|
|
10
|
+
|
|
11
|
+
const toChoices = c => ({
|
|
12
|
+
title: TEMPLATES[c].name,
|
|
13
|
+
value: c
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const reproNext = async ({
|
|
17
|
+
output: outputDirectory,
|
|
18
|
+
filterValue,
|
|
19
|
+
branch
|
|
20
|
+
}) => {
|
|
21
|
+
const keys = Object.keys(TEMPLATES); // get value from template and reduce through TEMPLATES to filter out the correct template
|
|
22
|
+
|
|
23
|
+
const choices = keys.reduce((acc, group) => {
|
|
24
|
+
const current = TEMPLATES[group];
|
|
25
|
+
const filterRegex = new RegExp(filterValue, 'i');
|
|
26
|
+
|
|
27
|
+
if (!filterValue) {
|
|
28
|
+
acc.push(group);
|
|
29
|
+
return acc;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (current.name.match(filterRegex) || group.match(filterRegex) || current.expected.builder.match(filterRegex) || current.expected.framework.match(filterRegex) || current.expected.renderer.match(filterRegex)) {
|
|
33
|
+
acc.push(group);
|
|
34
|
+
return acc;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return acc;
|
|
38
|
+
}, []);
|
|
39
|
+
|
|
40
|
+
if (choices.length === 0) {
|
|
41
|
+
logger.info(boxen(dedent`
|
|
42
|
+
🔎 You filtered out all templates. 🔍
|
|
43
|
+
After filtering all the templates with "${chalk.yellow(filterValue)}", we found no templates.
|
|
44
|
+
|
|
45
|
+
Available templates:
|
|
46
|
+
${keys.map(key => chalk.blue`- ${key}`).join('\n')}
|
|
47
|
+
`.trim(), {
|
|
48
|
+
borderStyle: 'round',
|
|
49
|
+
padding: 1,
|
|
50
|
+
borderColor: '#F1618C'
|
|
51
|
+
}));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
let selectedTemplate = null;
|
|
56
|
+
|
|
57
|
+
if (choices.length === 1) {
|
|
58
|
+
[selectedTemplate] = choices;
|
|
59
|
+
} else {
|
|
60
|
+
logger.info(boxen(dedent`
|
|
61
|
+
🤗 Welcome to ${chalk.yellow('sb repro NEXT')}! 🤗
|
|
62
|
+
|
|
63
|
+
Create a ${chalk.green('new project')} to minimally reproduce Storybook issues.
|
|
64
|
+
|
|
65
|
+
1. select an environment that most closely matches your project setup.
|
|
66
|
+
2. select a location for the reproduction, outside of your project.
|
|
67
|
+
|
|
68
|
+
After the reproduction is ready, we'll guide you through the next steps.
|
|
69
|
+
`.trim(), {
|
|
70
|
+
borderStyle: 'round',
|
|
71
|
+
padding: 1,
|
|
72
|
+
borderColor: '#F1618C'
|
|
73
|
+
}));
|
|
74
|
+
selectedTemplate = await promptSelectedTemplate(choices);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const hasSelectedTemplate = !!(selectedTemplate ?? null);
|
|
78
|
+
|
|
79
|
+
if (!hasSelectedTemplate) {
|
|
80
|
+
logger.error('Somehow we got no templates. Please rerun this command!');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const selectedConfig = TEMPLATES[selectedTemplate];
|
|
85
|
+
|
|
86
|
+
if (!selectedConfig) {
|
|
87
|
+
throw new Error('🚨 Repro: please specify a valid template type');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
let selectedDirectory = outputDirectory;
|
|
91
|
+
|
|
92
|
+
if (!selectedDirectory) {
|
|
93
|
+
const {
|
|
94
|
+
directory
|
|
95
|
+
} = await prompts({
|
|
96
|
+
type: 'text',
|
|
97
|
+
message: 'Enter the output directory',
|
|
98
|
+
name: 'directory',
|
|
99
|
+
initial: selectedTemplate,
|
|
100
|
+
validate: directoryName => fs.existsSync(directoryName) ? `${directoryName} already exists. Please choose another name.` : true
|
|
101
|
+
});
|
|
102
|
+
selectedDirectory = directory;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
try {
|
|
106
|
+
const cwd = path.isAbsolute(selectedDirectory) ? selectedDirectory : path.join(process.cwd(), selectedDirectory);
|
|
107
|
+
logger.info(`🏃 Adding ${selectedConfig.name} into ${cwd}`);
|
|
108
|
+
logger.log('📦 Downloading repro template...');
|
|
109
|
+
|
|
110
|
+
try {
|
|
111
|
+
// Download the repro based on subfolder "after-storybook" and selected branch
|
|
112
|
+
await degit(`storybookjs/repro-templates-temp/${selectedTemplate}/after-storybook#${branch}`, {
|
|
113
|
+
force: true
|
|
114
|
+
}).clone(selectedTemplate.replace('/', '-'));
|
|
115
|
+
} catch (err) {
|
|
116
|
+
logger.error(`🚨 Failed to download repro template: ${err.message}`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
logger.info(boxen(dedent`
|
|
121
|
+
🎉 Your Storybook reproduction project is ready to use! 🎉
|
|
122
|
+
|
|
123
|
+
${chalk.yellow(`cd ${selectedDirectory}`)}
|
|
124
|
+
${chalk.yellow(`yarn storybook`)}
|
|
125
|
+
|
|
126
|
+
Once you've recreated the problem you're experiencing, please:
|
|
127
|
+
|
|
128
|
+
1. Document any additional steps in ${chalk.cyan('README.md')}
|
|
129
|
+
2. Publish the repository to github
|
|
130
|
+
3. Link to the repro repository in your issue
|
|
131
|
+
|
|
132
|
+
Having a clean repro helps us solve your issue faster! 🙏
|
|
133
|
+
`.trim(), {
|
|
134
|
+
borderStyle: 'round',
|
|
135
|
+
padding: 1,
|
|
136
|
+
borderColor: '#F1618C'
|
|
137
|
+
}));
|
|
138
|
+
} catch (error) {
|
|
139
|
+
logger.error('🚨 Failed to create repro');
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
async function promptSelectedTemplate(choices) {
|
|
145
|
+
const {
|
|
146
|
+
template
|
|
147
|
+
} = await prompts({
|
|
148
|
+
type: 'select',
|
|
149
|
+
message: '🌈 Select the template',
|
|
150
|
+
name: 'template',
|
|
151
|
+
choices: choices.map(toChoices)
|
|
152
|
+
});
|
|
153
|
+
return template || null;
|
|
154
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// auto generated file, do not edit
|
|
2
|
+
export default {
|
|
3
|
+
'cra/default-js': {
|
|
4
|
+
name: 'Create React App (Javascript)',
|
|
5
|
+
script: 'npx create-react-app .',
|
|
6
|
+
expected: {
|
|
7
|
+
framework: '@storybook/cra',
|
|
8
|
+
renderer: '@storybook/react',
|
|
9
|
+
builder: '@storybook/builder-webpack5'
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
'cra/default-ts': {
|
|
13
|
+
name: 'Create React App (Typescript)',
|
|
14
|
+
script: 'npx create-react-app . --template typescript',
|
|
15
|
+
expected: {
|
|
16
|
+
framework: '@storybook/cra',
|
|
17
|
+
renderer: '@storybook/react',
|
|
18
|
+
builder: '@storybook/builder-webpack5'
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
package/dist/esm/repro.js
CHANGED
|
@@ -1,36 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/es.promise.js");
|
|
11
|
-
|
|
12
|
-
var _prompts = _interopRequireDefault(require("prompts"));
|
|
13
|
-
|
|
14
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
15
|
-
|
|
16
|
-
var _path = _interopRequireDefault(require("path"));
|
|
17
|
-
|
|
18
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
19
|
-
|
|
20
|
-
var _boxen = _interopRequireDefault(require("boxen"));
|
|
21
|
-
|
|
22
|
-
var _tsDedent = require("ts-dedent");
|
|
23
|
-
|
|
24
|
-
var _scripts = require("./repro-generators/scripts");
|
|
25
|
-
|
|
26
|
-
var configs = _interopRequireWildcard(require("./repro-generators/configs"));
|
|
27
|
-
|
|
28
|
-
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); }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
-
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import boxen from 'boxen';
|
|
6
|
+
import { dedent } from 'ts-dedent';
|
|
7
|
+
import { createAndInit, exec } from './repro-generators/scripts';
|
|
8
|
+
import * as configs from './repro-generators/configs';
|
|
34
9
|
const logger = console;
|
|
35
10
|
const TEMPLATES = configs; // Create a curate list of template because some of them only make sense in E2E
|
|
36
11
|
// context, fon instance react_in_yarn_workspace
|
|
@@ -40,8 +15,7 @@ const RENDERERS = Object.values(CURATED_TEMPLATES).reduce((acc, cur) => {
|
|
|
40
15
|
acc[cur.renderer] = [...(acc[cur.renderer] || []), cur];
|
|
41
16
|
return acc;
|
|
42
17
|
}, {});
|
|
43
|
-
|
|
44
|
-
const repro = async ({
|
|
18
|
+
export const repro = async ({
|
|
45
19
|
outputDirectory,
|
|
46
20
|
list,
|
|
47
21
|
template,
|
|
@@ -49,12 +23,13 @@ const repro = async ({
|
|
|
49
23
|
generator,
|
|
50
24
|
e2e,
|
|
51
25
|
local,
|
|
26
|
+
registry,
|
|
52
27
|
pnp
|
|
53
28
|
}) => {
|
|
54
|
-
logger.info((
|
|
55
|
-
🤗 Welcome to ${
|
|
29
|
+
logger.info(boxen(dedent`
|
|
30
|
+
🤗 Welcome to ${chalk.yellow('sb repro')}! 🤗
|
|
56
31
|
|
|
57
|
-
Create a ${
|
|
32
|
+
Create a ${chalk.green('new project')} to minimally reproduce Storybook issues.
|
|
58
33
|
|
|
59
34
|
1. select an environment that most closely matches your project setup.
|
|
60
35
|
2. select a location for the reproduction, outside of your project.
|
|
@@ -86,7 +61,7 @@ const repro = async ({
|
|
|
86
61
|
if (!selectedRenderer) {
|
|
87
62
|
const {
|
|
88
63
|
renderer: rendererOpt
|
|
89
|
-
} = await (
|
|
64
|
+
} = await prompts({
|
|
90
65
|
type: 'select',
|
|
91
66
|
message: '🌈 Select the repro renderer',
|
|
92
67
|
name: 'renderer',
|
|
@@ -102,7 +77,7 @@ const repro = async ({
|
|
|
102
77
|
throw new Error('🚨 Repro: please select a renderer!');
|
|
103
78
|
}
|
|
104
79
|
|
|
105
|
-
selectedTemplate = (await (
|
|
80
|
+
selectedTemplate = (await prompts({
|
|
106
81
|
type: 'select',
|
|
107
82
|
message: '📝 Select the repro base template',
|
|
108
83
|
name: 'template',
|
|
@@ -128,20 +103,21 @@ const repro = async ({
|
|
|
128
103
|
if (!selectedDirectory) {
|
|
129
104
|
const {
|
|
130
105
|
directory
|
|
131
|
-
} = await (
|
|
106
|
+
} = await prompts({
|
|
132
107
|
type: 'text',
|
|
133
108
|
message: 'Enter the output directory',
|
|
134
109
|
name: 'directory',
|
|
135
110
|
initial: selectedConfig.name,
|
|
136
|
-
validate: directoryName =>
|
|
111
|
+
validate: directoryName => fs.existsSync(directoryName) ? `${directoryName} already exists. Please choose another name.` : true
|
|
137
112
|
});
|
|
138
113
|
selectedDirectory = directory;
|
|
139
114
|
}
|
|
140
115
|
|
|
141
116
|
try {
|
|
142
|
-
const cwd =
|
|
117
|
+
const cwd = path.isAbsolute(selectedDirectory) ? selectedDirectory : path.join(process.cwd(), selectedDirectory);
|
|
143
118
|
logger.info(`🏃 Running ${selectedTemplate} into ${cwd}`);
|
|
144
|
-
await
|
|
119
|
+
await createAndInit(cwd, selectedConfig, {
|
|
120
|
+
registry,
|
|
145
121
|
e2e: !!e2e,
|
|
146
122
|
pnp: !!pnp,
|
|
147
123
|
local: !!local
|
|
@@ -151,15 +127,15 @@ const repro = async ({
|
|
|
151
127
|
await initGitRepo(cwd);
|
|
152
128
|
}
|
|
153
129
|
|
|
154
|
-
logger.info((
|
|
130
|
+
logger.info(boxen(dedent`
|
|
155
131
|
🎉 Your Storybook reproduction project is ready to use! 🎉
|
|
156
132
|
|
|
157
|
-
${
|
|
158
|
-
${
|
|
133
|
+
${chalk.yellow(`cd ${selectedDirectory}`)}
|
|
134
|
+
${chalk.yellow(`yarn storybook`)}
|
|
159
135
|
|
|
160
136
|
Once you've recreated the problem you're experiencing, please:
|
|
161
137
|
|
|
162
|
-
1. Document any additional steps in ${
|
|
138
|
+
1. Document any additional steps in ${chalk.cyan('README.md')}
|
|
163
139
|
2. Publish the repository to github
|
|
164
140
|
3. Link to the repro repository in your issue
|
|
165
141
|
|
|
@@ -175,22 +151,20 @@ const repro = async ({
|
|
|
175
151
|
}
|
|
176
152
|
};
|
|
177
153
|
|
|
178
|
-
exports.repro = repro;
|
|
179
|
-
|
|
180
154
|
const initGitRepo = async cwd => {
|
|
181
|
-
await
|
|
155
|
+
await exec('git init', {
|
|
182
156
|
cwd
|
|
183
157
|
});
|
|
184
|
-
await
|
|
158
|
+
await exec('echo "node_modules" >> .gitignore', {
|
|
185
159
|
cwd
|
|
186
160
|
});
|
|
187
|
-
await
|
|
161
|
+
await exec('git add --all', {
|
|
188
162
|
cwd
|
|
189
163
|
});
|
|
190
|
-
await
|
|
164
|
+
await exec('git commit -am "added storybook"', {
|
|
191
165
|
cwd
|
|
192
166
|
});
|
|
193
|
-
await
|
|
167
|
+
await exec('git tag repro-base', {
|
|
194
168
|
cwd
|
|
195
169
|
});
|
|
196
170
|
};
|