@storybook/cli 7.0.0-alpha.16 → 7.0.0-alpha.19
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/index.js +3 -1
- package/dist/cjs/automigrate/fixes/mainjsFramework.js +0 -2
- package/dist/cjs/automigrate/fixes/npm7.js +0 -2
- package/dist/cjs/automigrate/fixes/sb-scripts.js +140 -0
- 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 +0 -2
- 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 +0 -2
- package/dist/cjs/generators/configure.js +0 -2
- package/dist/cjs/helpers.js +28 -5
- package/dist/cjs/initiate.js +0 -4
- package/dist/cjs/js-package-manager/JsPackageManager.js +46 -12
- package/dist/cjs/js-package-manager/NPMProxy.js +14 -0
- package/dist/cjs/js-package-manager/Yarn1Proxy.js +5 -0
- package/dist/cjs/js-package-manager/Yarn2Proxy.js +5 -0
- 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 +182 -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 +11 -41
- package/dist/esm/automigrate/fixes/mainjsFramework.js +17 -37
- package/dist/esm/automigrate/fixes/npm7.js +7 -21
- package/dist/esm/automigrate/fixes/sb-scripts.js +119 -0
- 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 +1 -1
- 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 +10 -27
- 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 +25 -44
- package/dist/esm/generators/configure.js +10 -26
- package/dist/esm/generators/types.js +1 -5
- package/dist/esm/helpers.js +65 -94
- package/dist/esm/initiate.js +105 -150
- package/dist/esm/js-package-manager/JsPackageManager.js +72 -59
- package/dist/esm/js-package-manager/JsPackageManagerFactory.js +12 -26
- package/dist/esm/js-package-manager/NPMProxy.js +19 -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 +8 -13
- package/dist/esm/js-package-manager/Yarn2Proxy.js +8 -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 +163 -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/automigrate/fixes/sb-scripts.d.ts +23 -0
- package/dist/types/dirs.d.ts +1 -0
- package/dist/types/helpers.d.ts +1 -0
- package/dist/types/js-package-manager/JsPackageManager.d.ts +16 -0
- package/dist/types/js-package-manager/NPMProxy.d.ts +3 -0
- package/dist/types/js-package-manager/Yarn1Proxy.d.ts +1 -0
- package/dist/types/js-package-manager/Yarn2Proxy.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 +8 -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,33 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.web_components_typescript = exports.web_components_lit2 = exports.web_components = exports.vue3 = exports.vue = exports.svelte = exports.sfcVue = exports.react_typescript = exports.react_legacy_root_api = exports.react_in_yarn_workspace = exports.react = exports.preact = exports.html = exports.cra_typescript = exports.cra = exports.angular_modern_inline_rendering = exports.angular130 = exports.angular13 = exports.angular12 = exports.angular = void 0;
|
|
7
|
-
|
|
8
1
|
/* eslint-disable camelcase */
|
|
9
2
|
const fromDeps = (...args) => ['mkdir {{appName}}', 'cd {{appName}}', // Create `yarn.lock` to force Yarn to consider adding deps in this directory
|
|
10
3
|
// and not look for a yarn workspace in parent directory
|
|
11
4
|
'touch yarn.lock', 'yarn init --yes', args.length && `yarn add ${args.join(' ')}`].filter(Boolean).join(' && '); // #region React
|
|
12
5
|
|
|
13
6
|
|
|
14
|
-
const cra = {
|
|
7
|
+
export const cra = {
|
|
15
8
|
renderer: 'react',
|
|
16
9
|
name: 'cra',
|
|
17
10
|
version: 'latest',
|
|
18
11
|
generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
|
|
19
12
|
'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(' && ')
|
|
20
13
|
};
|
|
21
|
-
|
|
22
|
-
const cra_typescript = {
|
|
14
|
+
export const cra_typescript = {
|
|
23
15
|
renderer: 'react',
|
|
24
16
|
name: 'cra_typescript',
|
|
25
17
|
version: 'latest',
|
|
26
18
|
generator: [// Force npm otherwise we have a mess between Yarn 1, Yarn 2 and NPM
|
|
27
19
|
'npm_config_user_agent=npm npx -p create-react-app@{{version}} create-react-app {{appName}} --template typescript'].join(' && ')
|
|
28
20
|
};
|
|
29
|
-
|
|
30
|
-
const react = {
|
|
21
|
+
export const react = {
|
|
31
22
|
renderer: 'react',
|
|
32
23
|
name: 'react',
|
|
33
24
|
version: 'latest',
|
|
@@ -38,8 +29,7 @@ const react = {
|
|
|
38
29
|
contents: '{ "presets": ["@babel/preset-react"] }'
|
|
39
30
|
}]
|
|
40
31
|
};
|
|
41
|
-
|
|
42
|
-
const react_legacy_root_api = {
|
|
32
|
+
export const react_legacy_root_api = {
|
|
43
33
|
renderer: 'react',
|
|
44
34
|
name: 'react_legacy_root_api',
|
|
45
35
|
version: 'latest',
|
|
@@ -55,8 +45,7 @@ const react_legacy_root_api = {
|
|
|
55
45
|
}
|
|
56
46
|
}
|
|
57
47
|
};
|
|
58
|
-
|
|
59
|
-
const react_typescript = {
|
|
48
|
+
export const react_typescript = {
|
|
60
49
|
renderer: 'react',
|
|
61
50
|
name: 'react_typescript',
|
|
62
51
|
version: 'latest',
|
|
@@ -74,8 +63,7 @@ const react_typescript = {
|
|
|
74
63
|
// generator: 'npx -p create-vite@{{version}} create-vite {{appName}} --template react-ts',
|
|
75
64
|
// };
|
|
76
65
|
|
|
77
|
-
|
|
78
|
-
const react_in_yarn_workspace = {
|
|
66
|
+
export const react_in_yarn_workspace = {
|
|
79
67
|
renderer: 'react',
|
|
80
68
|
name: 'react_in_yarn_workspace',
|
|
81
69
|
version: 'latest',
|
|
@@ -83,29 +71,25 @@ const react_in_yarn_workspace = {
|
|
|
83
71
|
}; // #endregion
|
|
84
72
|
// #region Angular
|
|
85
73
|
|
|
86
|
-
exports.react_in_yarn_workspace = react_in_yarn_workspace;
|
|
87
74
|
const baseAngular = {
|
|
88
75
|
renderer: 'angular',
|
|
89
76
|
name: 'angular',
|
|
90
77
|
version: 'latest',
|
|
91
78
|
generator: `npx -p @angular/cli@{{version}} ng new {{appName}} --routing=true --minimal=true --style=scss --skip-install=true --strict`
|
|
92
79
|
};
|
|
93
|
-
const angular12 = Object.assign({}, baseAngular, {
|
|
80
|
+
export const angular12 = Object.assign({}, baseAngular, {
|
|
94
81
|
name: 'angular12',
|
|
95
82
|
version: 'v12-lts'
|
|
96
83
|
});
|
|
97
|
-
|
|
98
|
-
const angular130 = Object.assign({}, baseAngular, {
|
|
84
|
+
export const angular130 = Object.assign({}, baseAngular, {
|
|
99
85
|
name: 'angular130',
|
|
100
86
|
version: '13.0.x'
|
|
101
87
|
});
|
|
102
|
-
|
|
103
|
-
const angular13 = Object.assign({}, baseAngular, {
|
|
88
|
+
export const angular13 = Object.assign({}, baseAngular, {
|
|
104
89
|
name: 'angular13',
|
|
105
90
|
version: '13.1.x'
|
|
106
91
|
});
|
|
107
|
-
|
|
108
|
-
const angular_modern_inline_rendering = Object.assign({}, baseAngular, {
|
|
92
|
+
export const angular_modern_inline_rendering = Object.assign({}, baseAngular, {
|
|
109
93
|
name: 'angular_modern_inline_rendering',
|
|
110
94
|
additionalDeps: ['jest@27', '@storybook/test-runner'],
|
|
111
95
|
mainOverrides: {
|
|
@@ -114,19 +98,16 @@ const angular_modern_inline_rendering = Object.assign({}, baseAngular, {
|
|
|
114
98
|
}
|
|
115
99
|
}
|
|
116
100
|
});
|
|
117
|
-
|
|
118
|
-
const angular = baseAngular; // #endregion
|
|
101
|
+
export const angular = baseAngular; // #endregion
|
|
119
102
|
// #region web components
|
|
120
103
|
|
|
121
|
-
|
|
122
|
-
const web_components = {
|
|
104
|
+
export const web_components = {
|
|
123
105
|
renderer: 'web-components',
|
|
124
106
|
name: 'web_components',
|
|
125
107
|
version: '2',
|
|
126
108
|
generator: fromDeps('lit-element')
|
|
127
109
|
};
|
|
128
|
-
|
|
129
|
-
const web_components_typescript = Object.assign({}, web_components, {
|
|
110
|
+
export const web_components_typescript = Object.assign({}, web_components, {
|
|
130
111
|
name: 'web_components_typescript',
|
|
131
112
|
typescript: true,
|
|
132
113
|
additionalDeps: ['@babel/preset-typescript'],
|
|
@@ -135,8 +116,7 @@ const web_components_typescript = Object.assign({}, web_components, {
|
|
|
135
116
|
contents: '{ "presets": ["@babel/preset-typescript"] }'
|
|
136
117
|
}]
|
|
137
118
|
});
|
|
138
|
-
|
|
139
|
-
const web_components_lit2 = Object.assign({}, web_components, {
|
|
119
|
+
export const web_components_lit2 = Object.assign({}, web_components, {
|
|
140
120
|
version: 'next',
|
|
141
121
|
name: 'web_components_lit2',
|
|
142
122
|
generator: fromDeps('lit'),
|
|
@@ -149,8 +129,7 @@ const web_components_lit2 = Object.assign({}, web_components, {
|
|
|
149
129
|
}); // #endregion
|
|
150
130
|
// #region vue
|
|
151
131
|
|
|
152
|
-
|
|
153
|
-
const vue = {
|
|
132
|
+
export const vue = {
|
|
154
133
|
renderer: 'vue',
|
|
155
134
|
name: 'vue',
|
|
156
135
|
// Be careful here, the latest versions of vue cli are bootstrapping a vue 3 project
|
|
@@ -158,8 +137,7 @@ const vue = {
|
|
|
158
137
|
generator: [// Force npm otherwise we have a mess between Yarn 1 and Yarn 2
|
|
159
138
|
`npx -p @vue/cli@{{version}} vue create {{appName}} --default --packageManager=npm --no-git --force`].join(' && ')
|
|
160
139
|
};
|
|
161
|
-
|
|
162
|
-
const vue3 = {
|
|
140
|
+
export const vue3 = {
|
|
163
141
|
renderer: 'vue3',
|
|
164
142
|
name: 'vue3',
|
|
165
143
|
version: 'next',
|
|
@@ -168,34 +146,29 @@ const vue3 = {
|
|
|
168
146
|
`npx -p @vue/cli@^4 vue create {{appName}} --preset=__default_vue_3__ --packageManager=npm --no-git --force`].join(' && ')
|
|
169
147
|
}; // #endregion
|
|
170
148
|
|
|
171
|
-
|
|
172
|
-
const html = {
|
|
149
|
+
export const html = {
|
|
173
150
|
renderer: 'html',
|
|
174
151
|
name: 'html',
|
|
175
152
|
version: 'latest',
|
|
176
153
|
generator: fromDeps(),
|
|
177
154
|
autoDetect: false
|
|
178
155
|
};
|
|
179
|
-
|
|
180
|
-
const preact = {
|
|
156
|
+
export const preact = {
|
|
181
157
|
renderer: 'preact',
|
|
182
158
|
name: 'preact',
|
|
183
159
|
version: 'latest',
|
|
184
160
|
generator: 'npx preact-cli@{{version}} create preactjs-templates/default {{appName}} --install=false --git=false'
|
|
185
161
|
};
|
|
186
|
-
|
|
187
|
-
const sfcVue = {
|
|
162
|
+
export const sfcVue = {
|
|
188
163
|
renderer: 'vue',
|
|
189
164
|
name: 'sfcVue',
|
|
190
165
|
version: 'latest',
|
|
191
166
|
//
|
|
192
167
|
generator: fromDeps('vue@2.6', 'vue-loader@15.9', 'vue-template-compiler@2.6', 'webpack')
|
|
193
168
|
};
|
|
194
|
-
|
|
195
|
-
const svelte = {
|
|
169
|
+
export const svelte = {
|
|
196
170
|
renderer: 'svelte',
|
|
197
171
|
name: 'svelte',
|
|
198
172
|
version: 'latest',
|
|
199
173
|
generator: 'npx degit sveltejs/template {{appName}}'
|
|
200
|
-
};
|
|
201
|
-
exports.svelte = svelte;
|
|
174
|
+
};
|
|
@@ -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,163 @@
|
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import boxen from 'boxen';
|
|
5
|
+
import { dedent } from 'ts-dedent';
|
|
6
|
+
import degit from 'degit';
|
|
7
|
+
import { existsSync } from 'fs-extra';
|
|
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
|
+
init
|
|
21
|
+
}) => {
|
|
22
|
+
const keys = Object.keys(TEMPLATES); // get value from template and reduce through TEMPLATES to filter out the correct template
|
|
23
|
+
|
|
24
|
+
const choices = keys.reduce((acc, group) => {
|
|
25
|
+
const current = TEMPLATES[group];
|
|
26
|
+
const filterRegex = new RegExp(filterValue, 'i');
|
|
27
|
+
|
|
28
|
+
if (!filterValue) {
|
|
29
|
+
acc.push(group);
|
|
30
|
+
return acc;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (current.name.match(filterRegex) || group.match(filterRegex) || current.expected.builder.match(filterRegex) || current.expected.framework.match(filterRegex) || current.expected.renderer.match(filterRegex)) {
|
|
34
|
+
acc.push(group);
|
|
35
|
+
return acc;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return acc;
|
|
39
|
+
}, []);
|
|
40
|
+
|
|
41
|
+
if (choices.length === 0) {
|
|
42
|
+
logger.info(boxen(dedent`
|
|
43
|
+
🔎 You filtered out all templates. 🔍
|
|
44
|
+
|
|
45
|
+
After filtering all the templates with "${chalk.yellow(filterValue)}", we found no results. Please try again with a different filter.
|
|
46
|
+
|
|
47
|
+
Available templates:
|
|
48
|
+
${keys.map(key => chalk.blue`- ${key}`).join('\n')}
|
|
49
|
+
`.trim(), {
|
|
50
|
+
borderStyle: 'round',
|
|
51
|
+
padding: 1,
|
|
52
|
+
borderColor: '#F1618C'
|
|
53
|
+
}));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
let selectedTemplate = null;
|
|
58
|
+
|
|
59
|
+
if (choices.length === 1) {
|
|
60
|
+
[selectedTemplate] = choices;
|
|
61
|
+
} else {
|
|
62
|
+
logger.info(boxen(dedent`
|
|
63
|
+
🤗 Welcome to ${chalk.yellow('sb repro NEXT')}! 🤗
|
|
64
|
+
|
|
65
|
+
Create a ${chalk.green('new project')} to minimally reproduce Storybook issues.
|
|
66
|
+
|
|
67
|
+
1. select an environment that most closely matches your project setup.
|
|
68
|
+
2. select a location for the reproduction, outside of your project.
|
|
69
|
+
|
|
70
|
+
After the reproduction is ready, we'll guide you through the next steps.
|
|
71
|
+
`.trim(), {
|
|
72
|
+
borderStyle: 'round',
|
|
73
|
+
padding: 1,
|
|
74
|
+
borderColor: '#F1618C'
|
|
75
|
+
}));
|
|
76
|
+
selectedTemplate = await promptSelectedTemplate(choices);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const hasSelectedTemplate = !!(selectedTemplate ?? null);
|
|
80
|
+
|
|
81
|
+
if (!hasSelectedTemplate) {
|
|
82
|
+
logger.error('Somehow we got no templates. Please rerun this command!');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const selectedConfig = TEMPLATES[selectedTemplate];
|
|
87
|
+
|
|
88
|
+
if (!selectedConfig) {
|
|
89
|
+
throw new Error('🚨 Repro: please specify a valid template type');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
let selectedDirectory = outputDirectory;
|
|
93
|
+
const outputDirectoryName = outputDirectory || selectedTemplate;
|
|
94
|
+
|
|
95
|
+
if (selectedDirectory && existsSync(`${selectedDirectory}`)) {
|
|
96
|
+
logger.info(`⚠️ ${selectedDirectory} already exists! Overwriting...`);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (!selectedDirectory) {
|
|
100
|
+
const {
|
|
101
|
+
directory
|
|
102
|
+
} = await prompts({
|
|
103
|
+
type: 'text',
|
|
104
|
+
message: 'Enter the output directory',
|
|
105
|
+
name: 'directory',
|
|
106
|
+
initial: outputDirectoryName,
|
|
107
|
+
validate: async directoryName => existsSync(directoryName) ? `${directoryName} already exists. Please choose another name.` : true
|
|
108
|
+
});
|
|
109
|
+
selectedDirectory = directory;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
try {
|
|
113
|
+
const templateDestination = path.isAbsolute(selectedDirectory) ? selectedDirectory : path.join(process.cwd(), selectedDirectory);
|
|
114
|
+
logger.info(`🏃 Adding ${selectedConfig.name} into ${templateDestination}`);
|
|
115
|
+
logger.log('📦 Downloading repro template...');
|
|
116
|
+
|
|
117
|
+
try {
|
|
118
|
+
const templateType = init ? 'after-storybook' : 'before-storybook'; // Download the repro based on subfolder "after-storybook" and selected branch
|
|
119
|
+
|
|
120
|
+
await degit(`storybookjs/repro-templates-temp/${selectedTemplate}/${templateType}#${branch}`, {
|
|
121
|
+
force: true
|
|
122
|
+
}).clone(templateDestination);
|
|
123
|
+
} catch (err) {
|
|
124
|
+
logger.error(`🚨 Failed to download repro template: ${err.message}`);
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const initMessage = init ? chalk.yellow(`yarn storybook`) : `Recreate your setup, then ${chalk.yellow(`run npx storybook init`)}`;
|
|
129
|
+
logger.info(boxen(dedent`
|
|
130
|
+
🎉 Your Storybook reproduction project is ready to use! 🎉
|
|
131
|
+
|
|
132
|
+
${chalk.yellow(`cd ${selectedDirectory}`)}
|
|
133
|
+
${initMessage}
|
|
134
|
+
|
|
135
|
+
Once you've recreated the problem you're experiencing, please:
|
|
136
|
+
|
|
137
|
+
1. Document any additional steps in ${chalk.cyan('README.md')}
|
|
138
|
+
2. Publish the repository to github
|
|
139
|
+
3. Link to the repro repository in your issue
|
|
140
|
+
|
|
141
|
+
Having a clean repro helps us solve your issue faster! 🙏
|
|
142
|
+
`.trim(), {
|
|
143
|
+
borderStyle: 'round',
|
|
144
|
+
padding: 1,
|
|
145
|
+
borderColor: '#F1618C'
|
|
146
|
+
}));
|
|
147
|
+
} catch (error) {
|
|
148
|
+
logger.error('🚨 Failed to create repro');
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
async function promptSelectedTemplate(choices) {
|
|
154
|
+
const {
|
|
155
|
+
template
|
|
156
|
+
} = await prompts({
|
|
157
|
+
type: 'select',
|
|
158
|
+
message: '🌈 Select the template',
|
|
159
|
+
name: 'template',
|
|
160
|
+
choices: choices.map(toChoices)
|
|
161
|
+
});
|
|
162
|
+
return template || null;
|
|
163
|
+
}
|
|
@@ -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
|
+
};
|