@storybook/cli 7.0.0-alpha.2 → 7.0.0-alpha.20
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/README.md +1 -1
- package/dist/cjs/add.js +0 -2
- package/dist/cjs/automigrate/fixes/angular12.js +2 -4
- package/dist/cjs/automigrate/fixes/builder-vite.js +2 -4
- package/dist/cjs/automigrate/fixes/cra5.js +2 -4
- package/dist/cjs/automigrate/fixes/eslint-plugin.js +3 -5
- package/dist/cjs/automigrate/fixes/index.js +7 -1
- package/dist/cjs/automigrate/fixes/mainjsFramework.js +3 -5
- package/dist/cjs/automigrate/fixes/new-frameworks.js +249 -0
- package/dist/cjs/automigrate/fixes/npm7.js +57 -0
- package/dist/cjs/automigrate/fixes/sb-scripts.js +140 -0
- package/dist/cjs/automigrate/fixes/vue3.js +2 -4
- package/dist/cjs/automigrate/fixes/webpack5.js +5 -7
- package/dist/cjs/automigrate/index.js +1 -3
- package/dist/cjs/babel-config.js +0 -2
- package/dist/cjs/build.js +0 -2
- package/dist/cjs/dev.js +3 -7
- 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 +4 -6
- 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 +2 -6
- 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 +11 -11
- package/dist/cjs/generators/configure.js +4 -6
- package/dist/cjs/helpers.js +28 -5
- package/dist/cjs/initiate.js +0 -4
- package/dist/cjs/js-package-manager/JsPackageManager.js +48 -14
- package/dist/cjs/js-package-manager/NPMProxy.js +32 -2
- 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 +41 -0
- package/dist/cjs/repro.js +5 -7
- package/dist/cjs/upgrade.js +0 -4
- package/dist/cjs/versions.js +75 -73
- 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 +12 -39
- package/dist/esm/automigrate/fixes/mainjsFramework.js +17 -37
- package/dist/esm/automigrate/fixes/new-frameworks.js +225 -0
- package/dist/esm/automigrate/fixes/npm7.js +45 -0
- 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 +25 -47
- package/dist/esm/automigrate/helpers/getEslintInfo.js +6 -20
- package/dist/esm/automigrate/index.js +19 -39
- 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 -43
- 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 +16 -37
- 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 +12 -31
- 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 +32 -49
- 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 +36 -19
- 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 +34 -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 -82
- package/dist/esm/warn.js +9 -25
- package/dist/esm/window.d.js +1 -5
- package/dist/types/automigrate/fixes/new-frameworks.d.ts +31 -0
- package/dist/types/automigrate/fixes/npm7.d.ts +9 -0
- package/dist/types/automigrate/fixes/sb-scripts.d.ts +23 -0
- package/dist/types/dirs.d.ts +1 -0
- package/dist/types/generators/baseGenerator.d.ts +1 -1
- package/dist/types/generators/types.d.ts +2 -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 +7 -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 +23 -0
- package/dist/types/repro.d.ts +2 -1
- package/dist/types/versions.d.ts +3 -1
- package/package.json +15 -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 -47
- 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 -47
- 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,60 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
exports.mainjsFramework = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/es.promise.js");
|
|
9
|
-
|
|
10
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
11
|
-
|
|
12
|
-
var _tsDedent = _interopRequireDefault(require("ts-dedent"));
|
|
13
|
-
|
|
14
|
-
var _semver = _interopRequireDefault(require("@storybook/semver"));
|
|
15
|
-
|
|
16
|
-
var _csfTools = require("@storybook/csf-tools");
|
|
17
|
-
|
|
18
|
-
var _coreCommon = require("@storybook/core-common");
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { dedent } from 'ts-dedent';
|
|
3
|
+
import semver from '@storybook/semver';
|
|
4
|
+
import { readConfig, writeConfig } from '@storybook/csf-tools';
|
|
5
|
+
import { getStorybookInfo } from '@storybook/core-common';
|
|
22
6
|
const logger = console;
|
|
23
|
-
const mainjsFramework = {
|
|
7
|
+
export const mainjsFramework = {
|
|
24
8
|
id: 'mainjsFramework',
|
|
25
9
|
|
|
26
10
|
async check({
|
|
27
11
|
packageManager
|
|
28
12
|
}) {
|
|
29
|
-
var _semver$coerce;
|
|
30
|
-
|
|
31
13
|
const packageJson = packageManager.retrievePackageJson();
|
|
32
14
|
const {
|
|
33
15
|
mainConfig,
|
|
34
16
|
framework,
|
|
35
17
|
version: storybookVersion
|
|
36
|
-
} =
|
|
18
|
+
} = getStorybookInfo(packageJson);
|
|
37
19
|
|
|
38
20
|
if (!mainConfig) {
|
|
39
21
|
logger.warn('Unable to find storybook main.js config, skipping');
|
|
40
22
|
return null;
|
|
41
23
|
}
|
|
42
24
|
|
|
43
|
-
const storybookCoerced = storybookVersion &&
|
|
25
|
+
const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
|
|
44
26
|
|
|
45
27
|
if (!storybookCoerced) {
|
|
46
|
-
logger.warn(
|
|
47
|
-
❌ Unable to determine storybook version, skipping ${
|
|
28
|
+
logger.warn(dedent`
|
|
29
|
+
❌ Unable to determine storybook version, skipping ${chalk.cyan('mainjsFramework')} fix.
|
|
48
30
|
🤔 Are you running automigrate from your project directory?
|
|
49
31
|
`);
|
|
50
32
|
return null;
|
|
51
33
|
}
|
|
52
34
|
|
|
53
|
-
const main = await
|
|
35
|
+
const main = await readConfig(mainConfig);
|
|
54
36
|
const currentFramework = main.getFieldValue(['framework']);
|
|
55
37
|
const features = main.getFieldValue(['features']);
|
|
56
38
|
if (currentFramework) return null;
|
|
57
|
-
return features
|
|
39
|
+
return features?.breakingChangesV7 || features?.storyStoreV7 || semver.gte(storybookCoerced, '7.0.0') ? {
|
|
58
40
|
main,
|
|
59
41
|
framework: `@storybook/${framework}`
|
|
60
42
|
} : null;
|
|
@@ -63,16 +45,15 @@ const mainjsFramework = {
|
|
|
63
45
|
prompt({
|
|
64
46
|
framework
|
|
65
47
|
}) {
|
|
66
|
-
const frameworkFormatted =
|
|
67
|
-
|
|
68
|
-
return (0, _tsDedent.default)`
|
|
48
|
+
const frameworkFormatted = chalk.cyan(`framework: '${framework}'`);
|
|
49
|
+
return dedent`
|
|
69
50
|
We've detected that your main.js configuration file does not specify the
|
|
70
51
|
'framework' field, which is a requirement in SB7.0 and above. We can add one
|
|
71
52
|
for you automatically:
|
|
72
53
|
|
|
73
54
|
${frameworkFormatted}
|
|
74
55
|
|
|
75
|
-
More info: ${
|
|
56
|
+
More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#mainjs-framework-field')}
|
|
76
57
|
`;
|
|
77
58
|
},
|
|
78
59
|
|
|
@@ -87,9 +68,8 @@ const mainjsFramework = {
|
|
|
87
68
|
|
|
88
69
|
if (!dryRun) {
|
|
89
70
|
main.setFieldValue(['framework'], framework);
|
|
90
|
-
await
|
|
71
|
+
await writeConfig(main);
|
|
91
72
|
}
|
|
92
73
|
}
|
|
93
74
|
|
|
94
|
-
};
|
|
95
|
-
exports.mainjsFramework = mainjsFramework;
|
|
75
|
+
};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import dedent from 'ts-dedent';
|
|
3
|
+
import semver from '@storybook/semver';
|
|
4
|
+
import { readConfig, writeConfig } from '@storybook/csf-tools';
|
|
5
|
+
import { getStorybookInfo } from '@storybook/core-common';
|
|
6
|
+
import { getStorybookVersionSpecifier } from '../../helpers';
|
|
7
|
+
const logger = console;
|
|
8
|
+
const packagesMap = {
|
|
9
|
+
'@storybook/react': {
|
|
10
|
+
webpack5: '@storybook/react-webpack5',
|
|
11
|
+
vite: '@storybook/react-vite'
|
|
12
|
+
},
|
|
13
|
+
'@storybook/preact': {
|
|
14
|
+
webpack5: '@storybook/preact-webpack5'
|
|
15
|
+
},
|
|
16
|
+
'@storybook/server': {
|
|
17
|
+
webpack5: '@storybook/server-webpack5'
|
|
18
|
+
},
|
|
19
|
+
'@storybook/angular': {
|
|
20
|
+
webpack5: '@storybook/angular'
|
|
21
|
+
},
|
|
22
|
+
'@storybook/vue': {
|
|
23
|
+
webpack5: '@storybook/vue-webpack5',
|
|
24
|
+
vite: '@storybook/vue-vite'
|
|
25
|
+
},
|
|
26
|
+
'@storybook/vue3': {
|
|
27
|
+
webpack5: '@storybook/vue3-webpack5',
|
|
28
|
+
vite: '@storybook/vue3-vite'
|
|
29
|
+
},
|
|
30
|
+
'@storybook/svelte': {
|
|
31
|
+
webpack5: '@storybook/svelte-webpack5',
|
|
32
|
+
vite: '@storybook/svelte-vite'
|
|
33
|
+
},
|
|
34
|
+
'@storybook/web-components': {
|
|
35
|
+
webpack5: '@storybook/web-components-webpack5'
|
|
36
|
+
},
|
|
37
|
+
'@storybook/html': {
|
|
38
|
+
webpack5: '@storybook/html-webpack5'
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export const getBuilder = builder => {
|
|
42
|
+
if (typeof builder === 'string') {
|
|
43
|
+
return builder.includes('vite') ? 'vite' : 'webpack5';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return builder?.name.includes('vite') ? 'vite' : 'webpack5';
|
|
47
|
+
};
|
|
48
|
+
export const getFrameworkOptions = (framework, main) => {
|
|
49
|
+
const frameworkOptions = main.getFieldValue([`${framework}Options`]);
|
|
50
|
+
return frameworkOptions || {};
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Does the user have separate framework and builders (e.g. @storybook/react + core.builder -> webpack5?
|
|
54
|
+
*
|
|
55
|
+
* If so:
|
|
56
|
+
* - Remove the dependencies (@storybook/react + @storybook/builder-webpack5 + @storybook/manager-webpack5)
|
|
57
|
+
* - Install the correct new package e.g. (@storybook/react-webpack5)
|
|
58
|
+
* - Update the main config to use the new framework
|
|
59
|
+
* -- moving core.builder into framework.options.builder
|
|
60
|
+
* -- moving frameworkOptions (e.g. reactOptions) into framework.options
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
export const newFrameworks = {
|
|
64
|
+
id: 'newFrameworks',
|
|
65
|
+
|
|
66
|
+
async check({
|
|
67
|
+
packageManager
|
|
68
|
+
}) {
|
|
69
|
+
const packageJson = packageManager.retrievePackageJson();
|
|
70
|
+
const allDeps = Object.assign({}, packageJson.dependencies, packageJson.devDependencies);
|
|
71
|
+
const config = getStorybookInfo(packageJson);
|
|
72
|
+
const {
|
|
73
|
+
mainConfig,
|
|
74
|
+
version: storybookVersion,
|
|
75
|
+
framework
|
|
76
|
+
} = config;
|
|
77
|
+
|
|
78
|
+
if (!mainConfig) {
|
|
79
|
+
logger.warn('Unable to find storybook main.js config, skipping');
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
|
|
84
|
+
|
|
85
|
+
if (!storybookCoerced) {
|
|
86
|
+
logger.warn(dedent`
|
|
87
|
+
❌ Unable to determine storybook version, skipping ${chalk.cyan('newFrameworks')} fix.
|
|
88
|
+
🤔 Are you running automigrate from your project directory?
|
|
89
|
+
`);
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (!semver.gte(storybookCoerced, '7.0.0')) {
|
|
94
|
+
return null;
|
|
95
|
+
} // If in the future the eslint plugin has a framework option, using main to extract the framework field will be very useful
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
const main = await readConfig(mainConfig);
|
|
99
|
+
const frameworkPackage = main.getFieldValue(['framework']);
|
|
100
|
+
const builder = main.getFieldValue(['core', 'builder']);
|
|
101
|
+
|
|
102
|
+
if (!frameworkPackage) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const supportedPackages = Object.keys(packagesMap);
|
|
107
|
+
|
|
108
|
+
if (!supportedPackages.includes(frameworkPackage)) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const builderInfo = {
|
|
113
|
+
name: getBuilder(builder),
|
|
114
|
+
options: main.getFieldValue(['core', 'builder', 'options']) || {}
|
|
115
|
+
}; // TODO: once we have vite frameworks e.g. @storybook/react-vite, then we support it here
|
|
116
|
+
// and remove ['storybook-builder-vite', '@storybook/builder-vite'] from deps
|
|
117
|
+
|
|
118
|
+
if (builderInfo.name === 'vite') {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const frameworkOptions = getFrameworkOptions(framework, main);
|
|
123
|
+
const dependenciesToRemove = ['@storybook/builder-webpack5', '@storybook/manager-webpack5', '@storybook/builder-webpack4', '@storybook/manager-webpack4'].filter(dep => allDeps[dep]);
|
|
124
|
+
const newFrameworkPackage = packagesMap[frameworkPackage][builderInfo.name];
|
|
125
|
+
const dependenciesToAdd = []; // some frameworks didn't change e.g. Angular, Ember
|
|
126
|
+
|
|
127
|
+
if (newFrameworkPackage !== frameworkPackage) {
|
|
128
|
+
dependenciesToRemove.push(frameworkPackage);
|
|
129
|
+
dependenciesToAdd.push(newFrameworkPackage);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return {
|
|
133
|
+
main,
|
|
134
|
+
dependenciesToAdd,
|
|
135
|
+
dependenciesToRemove,
|
|
136
|
+
frameworkPackage: newFrameworkPackage,
|
|
137
|
+
frameworkOptions,
|
|
138
|
+
builderInfo,
|
|
139
|
+
packageJson
|
|
140
|
+
};
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
prompt() {
|
|
144
|
+
return dedent`
|
|
145
|
+
We've detected you are using an older format of Storybook frameworks and builders.
|
|
146
|
+
|
|
147
|
+
In Storybook 7, frameworks also specify the builder to be used.
|
|
148
|
+
|
|
149
|
+
We can remove the dependencies that are no longer needed and install the new framework that already includes the builder.
|
|
150
|
+
|
|
151
|
+
To learn more about the framework field, see: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory')}
|
|
152
|
+
|
|
153
|
+
${chalk.underline(chalk.bold(chalk.cyan('Webpack4 users')))}
|
|
154
|
+
|
|
155
|
+
Unless you're using Storybook's Vite builder, this automigration will install a Webpack5-based framework.
|
|
156
|
+
|
|
157
|
+
If you were using Storybook's Webpack4 builder (default in 6.x, discontinued in 7.0), this could be a breaking
|
|
158
|
+
change--especially if your project has a custom webpack configuration.
|
|
159
|
+
|
|
160
|
+
To learn more about migrating from Webpack4, see: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack4-support-discontinued')}
|
|
161
|
+
`;
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
async run({
|
|
165
|
+
result: {
|
|
166
|
+
dependenciesToAdd,
|
|
167
|
+
dependenciesToRemove,
|
|
168
|
+
main,
|
|
169
|
+
frameworkPackage,
|
|
170
|
+
frameworkOptions,
|
|
171
|
+
builderInfo,
|
|
172
|
+
packageJson
|
|
173
|
+
},
|
|
174
|
+
packageManager,
|
|
175
|
+
dryRun
|
|
176
|
+
}) {
|
|
177
|
+
logger.info(`✅ Removing legacy dependencies: ${dependenciesToRemove.join(', ')}`);
|
|
178
|
+
|
|
179
|
+
if (!dryRun) {
|
|
180
|
+
packageManager.removeDependencies({
|
|
181
|
+
skipInstall: dependenciesToAdd.length > 0,
|
|
182
|
+
packageJson
|
|
183
|
+
}, dependenciesToRemove);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (dependenciesToAdd.length > 0) {
|
|
187
|
+
logger.info(`✅ Installing new dependencies: ${dependenciesToAdd.join(', ')}`);
|
|
188
|
+
|
|
189
|
+
if (!dryRun) {
|
|
190
|
+
const versionToInstall = getStorybookVersionSpecifier(packageJson);
|
|
191
|
+
const depsToAdd = dependenciesToAdd.map(dep => `${dep}@${versionToInstall}`);
|
|
192
|
+
packageManager.addDependencies({
|
|
193
|
+
installAsDevDependencies: true
|
|
194
|
+
}, depsToAdd);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (!dryRun) {
|
|
199
|
+
logger.info(`✅ Updating framework field in main.js`);
|
|
200
|
+
const currentCore = main.getFieldValue(['core']);
|
|
201
|
+
main.setFieldValue(['framework', 'name'], frameworkPackage);
|
|
202
|
+
main.setFieldValue(['framework', 'options'], frameworkOptions);
|
|
203
|
+
|
|
204
|
+
if (currentCore?.builder) {
|
|
205
|
+
delete currentCore.builder;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (Object.keys(builderInfo.options).length > 0) {
|
|
209
|
+
main.setFieldValue(['framework', 'options', 'builder'], builderInfo.options);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (currentCore) {
|
|
213
|
+
if (Object.keys(currentCore).length === 0) {
|
|
214
|
+
// TODO: this should delete the field instead
|
|
215
|
+
main.setFieldValue(['core'], {});
|
|
216
|
+
} else {
|
|
217
|
+
main.setFieldValue(['core'], currentCore);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
await writeConfig(main);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { dedent } from 'ts-dedent';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
|
|
6
|
+
*/
|
|
7
|
+
export const npm7 = {
|
|
8
|
+
id: 'npm7',
|
|
9
|
+
|
|
10
|
+
async check({
|
|
11
|
+
packageManager
|
|
12
|
+
}) {
|
|
13
|
+
if (packageManager.type !== 'npm') return null;
|
|
14
|
+
const npmVersion = packageManager.getNpmVersion();
|
|
15
|
+
|
|
16
|
+
if (packageManager.needsLegacyPeerDeps(npmVersion)) {
|
|
17
|
+
return {
|
|
18
|
+
npmVersion
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return null;
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
prompt({
|
|
26
|
+
npmVersion
|
|
27
|
+
}) {
|
|
28
|
+
const npmFormatted = chalk.cyan(`npm ${npmVersion}`);
|
|
29
|
+
return dedent`
|
|
30
|
+
We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
|
|
31
|
+
|
|
32
|
+
In order to work with Storybook's package structure, you'll need to run \`npm\` with the
|
|
33
|
+
\`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
|
|
34
|
+
|
|
35
|
+
More info: ${chalk.yellow('https://github.com/storybookjs/storybook/issues/18298')}
|
|
36
|
+
`;
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
async run({
|
|
40
|
+
packageManager
|
|
41
|
+
}) {
|
|
42
|
+
packageManager.setLegacyPeerDeps();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { dedent } from 'ts-dedent';
|
|
3
|
+
import semver from '@storybook/semver';
|
|
4
|
+
import { getStorybookInfo } from '@storybook/core-common';
|
|
5
|
+
import { getStorybookVersionSpecifier } from '../../helpers';
|
|
6
|
+
const logger = console;
|
|
7
|
+
export const getStorybookScripts = scripts => {
|
|
8
|
+
const storybookScripts = {
|
|
9
|
+
custom: {},
|
|
10
|
+
official: {}
|
|
11
|
+
};
|
|
12
|
+
Object.keys(scripts).forEach(key => {
|
|
13
|
+
if (key === 'storybook' || key === 'build-storybook') {
|
|
14
|
+
storybookScripts.official[key] = scripts[key];
|
|
15
|
+
} else if (scripts[key].match(/start-storybook/) || scripts[key].match(/build-storybook/)) {
|
|
16
|
+
storybookScripts.custom[key] = scripts[key];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return storybookScripts;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Is the user using start-storybook
|
|
23
|
+
*
|
|
24
|
+
* If so:
|
|
25
|
+
* - Add storybook dependency
|
|
26
|
+
* - Change start-storybook and build-storybook scripts
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
export const sbScripts = {
|
|
30
|
+
id: 'sb-scripts',
|
|
31
|
+
|
|
32
|
+
async check({
|
|
33
|
+
packageManager
|
|
34
|
+
}) {
|
|
35
|
+
const packageJson = packageManager.retrievePackageJson();
|
|
36
|
+
const {
|
|
37
|
+
scripts = {},
|
|
38
|
+
devDependencies,
|
|
39
|
+
dependencies
|
|
40
|
+
} = packageJson;
|
|
41
|
+
const {
|
|
42
|
+
version: storybookVersion
|
|
43
|
+
} = getStorybookInfo(packageJson);
|
|
44
|
+
const allDeps = Object.assign({}, dependencies, devDependencies);
|
|
45
|
+
const storybookCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
|
|
46
|
+
|
|
47
|
+
if (!storybookCoerced) {
|
|
48
|
+
logger.warn(dedent`
|
|
49
|
+
❌ Unable to determine storybook version, skipping ${chalk.cyan('sb-scripts')} fix.
|
|
50
|
+
🤔 Are you running automigrate from your project directory?
|
|
51
|
+
`);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (allDeps.sb || allDeps.storybook) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const storybookScripts = getStorybookScripts(scripts);
|
|
60
|
+
|
|
61
|
+
if (Object.keys(storybookScripts.official).length === 0 && Object.keys(storybookScripts.custom).length === 0) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Object.keys(storybookScripts.official).forEach(key => {
|
|
66
|
+
storybookScripts.official[key] = storybookScripts.official[key].replace('start-storybook', 'storybook dev').replace('build-storybook', 'storybook build');
|
|
67
|
+
});
|
|
68
|
+
return semver.gte(storybookCoerced, '7.0.0') ? {
|
|
69
|
+
packageJson,
|
|
70
|
+
storybookScripts,
|
|
71
|
+
storybookVersion
|
|
72
|
+
} : null;
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
prompt({
|
|
76
|
+
storybookVersion
|
|
77
|
+
}) {
|
|
78
|
+
const sbFormatted = chalk.cyan(`Storybook ${storybookVersion}`);
|
|
79
|
+
const explanationMessage = [`Starting in Storybook 7, the ${chalk.yellow('start-storybook')} and ${chalk.yellow('build-storybook')} binaries have changed to ${chalk.magenta('storybook dev')} and ${chalk.magenta('storybook build')} respectively.`, `In order to work with ${sbFormatted}, Storybook's ${chalk.magenta('storybook')} binary has to be installed and your storybook scripts have to be adjusted to use the binary. We can install the storybook binary and attempt to adjust your scripts for you.`].join('\n');
|
|
80
|
+
return [`We've detected you are using ${sbFormatted} with scripts from previous versions of Storybook.`, explanationMessage, `More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].filter(Boolean).join('\n\n');
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
async run({
|
|
84
|
+
result: {
|
|
85
|
+
storybookScripts,
|
|
86
|
+
packageJson
|
|
87
|
+
},
|
|
88
|
+
packageManager,
|
|
89
|
+
dryRun
|
|
90
|
+
}) {
|
|
91
|
+
logger.log();
|
|
92
|
+
logger.info(`Adding 'storybook' as dev dependency`);
|
|
93
|
+
logger.log();
|
|
94
|
+
|
|
95
|
+
if (!dryRun) {
|
|
96
|
+
const versionToInstall = getStorybookVersionSpecifier(packageJson);
|
|
97
|
+
packageManager.addDependencies({
|
|
98
|
+
installAsDevDependencies: true
|
|
99
|
+
}, [`storybook@${versionToInstall}`]);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
logger.info(`Updating scripts in package.json`);
|
|
103
|
+
logger.log();
|
|
104
|
+
|
|
105
|
+
if (!dryRun && Object.keys(storybookScripts.official).length > 0) {
|
|
106
|
+
const message = [`Migrating your scripts to:`, chalk.yellow(JSON.stringify(storybookScripts.official, null, 2))].join('\n');
|
|
107
|
+
logger.log(message);
|
|
108
|
+
logger.log();
|
|
109
|
+
packageManager.addScripts(storybookScripts.official);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!dryRun && Object.keys(storybookScripts.custom).length > 0) {
|
|
113
|
+
const message = [`We detected custom scripts that we can't automigrate:`, chalk.yellow(JSON.stringify(storybookScripts.custom, null, 2)), '\n', `Please manually migrate the ones applicable and use the documentation below for reference: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#start-storybook--build-storybook-binaries-removed')}`].join('\n');
|
|
114
|
+
logger.log(message);
|
|
115
|
+
logger.log();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
};
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.vue3 = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/es.promise.js");
|
|
9
|
-
|
|
10
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
11
|
-
|
|
12
|
-
var _tsDedent = _interopRequireDefault(require("ts-dedent"));
|
|
13
|
-
|
|
14
|
-
var _semver = _interopRequireDefault(require("@storybook/semver"));
|
|
15
|
-
|
|
16
|
-
var _webpack = require("./webpack5");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { dedent } from 'ts-dedent';
|
|
3
|
+
import semver from '@storybook/semver';
|
|
4
|
+
import { webpack5 } from './webpack5';
|
|
19
5
|
|
|
20
6
|
/**
|
|
21
7
|
* Is the user upgrading to Vue3?
|
|
@@ -23,27 +9,25 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
23
9
|
* If so:
|
|
24
10
|
* - Run webpack5 fix
|
|
25
11
|
*/
|
|
26
|
-
const vue3 = {
|
|
12
|
+
export const vue3 = {
|
|
27
13
|
id: 'vue3',
|
|
28
14
|
|
|
29
15
|
async check({
|
|
30
16
|
packageManager
|
|
31
17
|
}) {
|
|
32
|
-
var _semver$coerce;
|
|
33
|
-
|
|
34
18
|
const packageJson = packageManager.retrievePackageJson();
|
|
35
19
|
const {
|
|
36
20
|
dependencies,
|
|
37
21
|
devDependencies
|
|
38
22
|
} = packageJson;
|
|
39
23
|
const vueVersion = dependencies.vue || devDependencies.vue;
|
|
40
|
-
const vueCoerced =
|
|
24
|
+
const vueCoerced = semver.coerce(vueVersion)?.version;
|
|
41
25
|
|
|
42
|
-
if (!vueCoerced ||
|
|
26
|
+
if (!vueCoerced || semver.lt(vueCoerced, '3.0.0')) {
|
|
43
27
|
return null;
|
|
44
28
|
}
|
|
45
29
|
|
|
46
|
-
const builderInfo = await
|
|
30
|
+
const builderInfo = await webpack5.checkWebpack5Builder(packageJson);
|
|
47
31
|
return builderInfo ? Object.assign({
|
|
48
32
|
vueVersion
|
|
49
33
|
}, builderInfo) : null;
|
|
@@ -53,27 +37,24 @@ const vue3 = {
|
|
|
53
37
|
vueVersion,
|
|
54
38
|
storybookVersion
|
|
55
39
|
}) {
|
|
56
|
-
const vueFormatted =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return (0, _tsDedent.default)`
|
|
40
|
+
const vueFormatted = chalk.cyan(`Vue ${vueVersion}`);
|
|
41
|
+
const sbFormatted = chalk.cyan(`Storybook ${storybookVersion}`);
|
|
42
|
+
return dedent`
|
|
61
43
|
We've detected you are running ${vueFormatted} with Storybook.
|
|
62
44
|
${sbFormatted} runs webpack4 by default, which is incompatible.
|
|
63
45
|
|
|
64
|
-
In order to work with your version of Vue, we need to install Storybook's ${
|
|
46
|
+
In order to work with your version of Vue, we need to install Storybook's ${chalk.cyan('webpack5 builder')}.
|
|
65
47
|
|
|
66
|
-
More info: ${
|
|
48
|
+
More info: ${chalk.yellow('https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#vue3-upgrade')}
|
|
67
49
|
`;
|
|
68
50
|
},
|
|
69
51
|
|
|
70
52
|
async run(options) {
|
|
71
|
-
return
|
|
53
|
+
return webpack5.run(Object.assign({}, options, {
|
|
72
54
|
result: Object.assign({
|
|
73
55
|
webpackVersion: null
|
|
74
56
|
}, options.result)
|
|
75
57
|
}));
|
|
76
58
|
}
|
|
77
59
|
|
|
78
|
-
};
|
|
79
|
-
exports.vue3 = vue3;
|
|
60
|
+
};
|