@storybook/cli 6.5.9 → 6.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/automigrate/fixes/index.js +3 -1
  2. package/dist/cjs/automigrate/fixes/npm7.js +59 -0
  3. package/dist/cjs/generate.js +4 -1
  4. package/dist/cjs/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  5. package/dist/cjs/generators/SVELTE/index.js +2 -4
  6. package/dist/cjs/generators/baseGenerator.js +3 -2
  7. package/dist/cjs/js-package-manager/NPMProxy.js +18 -2
  8. package/dist/cjs/versions.js +57 -57
  9. package/dist/esm/automigrate/fixes/index.js +3 -1
  10. package/dist/esm/automigrate/fixes/npm7.js +59 -0
  11. package/dist/esm/generate.js +4 -1
  12. package/dist/esm/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  13. package/dist/esm/generators/SVELTE/index.js +2 -4
  14. package/dist/esm/generators/baseGenerator.js +3 -2
  15. package/dist/esm/js-package-manager/NPMProxy.js +18 -2
  16. package/dist/esm/versions.js +57 -57
  17. package/dist/modern/automigrate/fixes/index.js +3 -1
  18. package/dist/modern/automigrate/fixes/npm7.js +59 -0
  19. package/dist/modern/generate.js +4 -1
  20. package/dist/modern/generators/REACT_NATIVE/template-csf/storybook/rn-addons.js +2 -2
  21. package/dist/modern/generators/SVELTE/index.js +2 -4
  22. package/dist/modern/generators/baseGenerator.js +3 -2
  23. package/dist/modern/js-package-manager/NPMProxy.js +18 -2
  24. package/dist/modern/versions.js +57 -57
  25. package/dist/ts3.4/automigrate/fixes/npm7.d.ts +9 -0
  26. package/dist/ts3.4/generators/baseGenerator.d.ts +2 -1
  27. package/dist/ts3.4/js-package-manager/NPMProxy.d.ts +4 -0
  28. package/dist/ts3.9/automigrate/fixes/npm7.d.ts +9 -0
  29. package/dist/ts3.9/generators/baseGenerator.d.ts +2 -1
  30. package/dist/ts3.9/js-package-manager/NPMProxy.d.ts +4 -0
  31. package/package.json +8 -8
@@ -20,6 +20,8 @@ var _eslintPlugin = require("./eslint-plugin");
20
20
 
21
21
  var _builderVite = require("./builder-vite");
22
22
 
23
+ var _npm = require("./npm7");
24
+
23
25
  var _types = require("../types");
24
26
 
25
27
  Object.keys(_types).forEach(function (key) {
@@ -33,5 +35,5 @@ Object.keys(_types).forEach(function (key) {
33
35
  }
34
36
  });
35
37
  });
36
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
38
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite, _npm.npm7];
37
39
  exports.fixes = fixes;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.npm7 = 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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /**
17
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
18
+ */
19
+ const npm7 = {
20
+ id: 'npm7',
21
+
22
+ async check({
23
+ packageManager
24
+ }) {
25
+ if (packageManager.type !== 'npm') return null;
26
+ const npmVersion = packageManager.getNpmVersion();
27
+
28
+ if (packageManager.needsLegacyPeerDeps(npmVersion)) {
29
+ return {
30
+ npmVersion
31
+ };
32
+ }
33
+
34
+ return null;
35
+ },
36
+
37
+ prompt({
38
+ npmVersion
39
+ }) {
40
+ const npmFormatted = _chalk.default.cyan(`npm ${npmVersion}`);
41
+
42
+ return (0, _tsDedent.default)`
43
+ We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
44
+
45
+ In order to work with Storybook's package structure, you'll need to run \`npm\` with the
46
+ \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
47
+
48
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/issues/18298')}
49
+ `;
50
+ },
51
+
52
+ async run({
53
+ packageManager
54
+ }) {
55
+ packageManager.setLegacyPeerDeps();
56
+ }
57
+
58
+ };
59
+ exports.npm7 = npm7;
@@ -44,7 +44,10 @@ process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMET
44
44
 
45
45
  _commander.default.option('--enable-crash-reports', 'enable sending crash reports to telemetry data');
46
46
 
47
- _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg));
47
+ _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg).catch(err => {
48
+ logger.error(err);
49
+ process.exit(1);
50
+ }));
48
51
 
49
52
  _commander.default.command('add <addon>').description('Add an addon to your Storybook').option('-N --use-npm', 'Use NPM to build the Storybook server').option('-s --skip-postinstall', 'Skip package specific postinstall config modifications').action((addonName, options) => (0, _add.add)(addonName, options));
50
53
 
@@ -1,2 +1,2 @@
1
- import '@storybook/addon-ondevice-actions/manager';
2
- import '@storybook/addon-ondevice-knobs/manager';
1
+ import '@storybook/addon-ondevice-actions/register';
2
+ import '@storybook/addon-ondevice-knobs/register';
@@ -16,8 +16,7 @@ var _baseGenerator = require("../baseGenerator");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const generator = async (packageManager, npmOptions, options) => {
19
- let extraMain;
20
- let commonJs = false; // svelte.config.js ?
19
+ let extraMain; // svelte.config.js ?
21
20
 
22
21
  if (_fsExtra.default.existsSync('./svelte.config.js')) {
23
22
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.js'");
@@ -30,7 +29,6 @@ const generator = async (packageManager, npmOptions, options) => {
30
29
  } else if (_fsExtra.default.existsSync('./svelte.config.cjs')) {
31
30
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.cjs'");
32
31
 
33
- commonJs = true;
34
32
  extraMain = {
35
33
  svelteOptions: {
36
34
  preprocess: '%%require("../svelte.config.cjs").preprocess%%'
@@ -55,7 +53,7 @@ const generator = async (packageManager, npmOptions, options) => {
55
53
  extraPackages: ['svelte', 'svelte-loader'],
56
54
  extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
57
55
  extraMain,
58
- commonJs
56
+ commonJs: true
59
57
  });
60
58
  };
61
59
 
@@ -60,7 +60,8 @@ const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelt
60
60
 
61
61
  async function baseGenerator(packageManager, npmOptions, {
62
62
  language,
63
- builder
63
+ builder,
64
+ commonJs
64
65
  }, framework, options = defaultOptions) {
65
66
  const {
66
67
  extraAddons,
@@ -110,7 +111,7 @@ async function baseGenerator(packageManager, npmOptions, {
110
111
  framework: frameworkPackage,
111
112
  addons: [...addons, ...stripVersions(extraAddons)],
112
113
  extensions,
113
- commonJs: options.commonJs
114
+ commonJs
114
115
  }, mainOptions));
115
116
 
116
117
  if (addComponents) {
@@ -30,10 +30,26 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
30
30
  return `npm run ${command}`;
31
31
  }
32
32
 
33
+ getNpmVersion() {
34
+ return this.executeCommand('npm', ['--version']);
35
+ }
36
+
37
+ hasLegacyPeerDeps() {
38
+ const result = this.executeCommand('npm', ['config', 'get', 'legacy-peer-deps', '--location=project']);
39
+ return result.trim() === 'true';
40
+ }
41
+
42
+ setLegacyPeerDeps() {
43
+ this.executeCommand('npm', ['config', 'set', 'legacy-peer-deps=true', '--location=project']);
44
+ }
45
+
46
+ needsLegacyPeerDeps(version) {
47
+ return _semver.default.gte(version, '7.0.0') && !this.hasLegacyPeerDeps();
48
+ }
49
+
33
50
  getInstallArgs() {
34
51
  if (!this.installArgs) {
35
- const version = this.executeCommand('npm', ['--version']);
36
- this.installArgs = _semver.default.gte(version, '7.0.0') ? ['install', '--legacy-peer-deps'] : ['install'];
52
+ this.installArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) ? ['install', '--legacy-peer-deps'] : ['install'];
37
53
  }
38
54
 
39
55
  return this.installArgs;
@@ -6,62 +6,62 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  // auto generated file, do not edit
8
8
  var _default = {
9
- '@storybook/addon-a11y': '6.5.9',
10
- '@storybook/addon-actions': '6.5.9',
11
- '@storybook/addon-backgrounds': '6.5.9',
12
- '@storybook/addon-controls': '6.5.9',
13
- '@storybook/addon-docs': '6.5.9',
14
- '@storybook/addon-essentials': '6.5.9',
15
- '@storybook/addon-interactions': '6.5.9',
16
- '@storybook/addon-jest': '6.5.9',
17
- '@storybook/addon-links': '6.5.9',
18
- '@storybook/addon-measure': '6.5.9',
19
- '@storybook/addon-outline': '6.5.9',
20
- '@storybook/addon-storyshots': '6.5.9',
21
- '@storybook/addon-storyshots-puppeteer': '6.5.9',
22
- '@storybook/addon-storysource': '6.5.9',
23
- '@storybook/addon-toolbars': '6.5.9',
24
- '@storybook/addon-viewport': '6.5.9',
25
- '@storybook/addons': '6.5.9',
26
- '@storybook/angular': '6.5.9',
27
- '@storybook/api': '6.5.9',
28
- '@storybook/builder-webpack4': '6.5.9',
29
- '@storybook/builder-webpack5': '6.5.9',
30
- '@storybook/channel-postmessage': '6.5.9',
31
- '@storybook/channel-websocket': '6.5.9',
32
- '@storybook/channels': '6.5.9',
33
- '@storybook/cli': '6.5.9',
34
- '@storybook/client-api': '6.5.9',
35
- '@storybook/client-logger': '6.5.9',
36
- '@storybook/codemod': '6.5.9',
37
- '@storybook/components': '6.5.9',
38
- '@storybook/core': '6.5.9',
39
- '@storybook/core-client': '6.5.9',
40
- '@storybook/core-common': '6.5.9',
41
- '@storybook/core-events': '6.5.9',
42
- '@storybook/core-server': '6.5.9',
43
- '@storybook/csf-tools': '6.5.9',
44
- '@storybook/docs-tools': '6.5.9',
45
- '@storybook/ember': '6.5.9',
46
- '@storybook/html': '6.5.9',
47
- '@storybook/instrumenter': '6.5.9',
48
- '@storybook/manager-webpack4': '6.5.9',
49
- '@storybook/manager-webpack5': '6.5.9',
50
- '@storybook/node-logger': '6.5.9',
51
- '@storybook/postinstall': '6.5.9',
52
- '@storybook/preact': '6.5.9',
53
- '@storybook/preview-web': '6.5.9',
54
- '@storybook/react': '6.5.9',
55
- '@storybook/router': '6.5.9',
56
- '@storybook/server': '6.5.9',
57
- '@storybook/source-loader': '6.5.9',
58
- '@storybook/store': '6.5.9',
59
- '@storybook/svelte': '6.5.9',
60
- '@storybook/telemetry': '6.5.9',
61
- '@storybook/theming': '6.5.9',
62
- '@storybook/ui': '6.5.9',
63
- '@storybook/vue': '6.5.9',
64
- '@storybook/vue3': '6.5.9',
65
- '@storybook/web-components': '6.5.9'
9
+ '@storybook/addon-a11y': '6.5.10',
10
+ '@storybook/addon-actions': '6.5.10',
11
+ '@storybook/addon-backgrounds': '6.5.10',
12
+ '@storybook/addon-controls': '6.5.10',
13
+ '@storybook/addon-docs': '6.5.10',
14
+ '@storybook/addon-essentials': '6.5.10',
15
+ '@storybook/addon-interactions': '6.5.10',
16
+ '@storybook/addon-jest': '6.5.10',
17
+ '@storybook/addon-links': '6.5.10',
18
+ '@storybook/addon-measure': '6.5.10',
19
+ '@storybook/addon-outline': '6.5.10',
20
+ '@storybook/addon-storyshots': '6.5.10',
21
+ '@storybook/addon-storyshots-puppeteer': '6.5.10',
22
+ '@storybook/addon-storysource': '6.5.10',
23
+ '@storybook/addon-toolbars': '6.5.10',
24
+ '@storybook/addon-viewport': '6.5.10',
25
+ '@storybook/addons': '6.5.10',
26
+ '@storybook/angular': '6.5.10',
27
+ '@storybook/api': '6.5.10',
28
+ '@storybook/builder-webpack4': '6.5.10',
29
+ '@storybook/builder-webpack5': '6.5.10',
30
+ '@storybook/channel-postmessage': '6.5.10',
31
+ '@storybook/channel-websocket': '6.5.10',
32
+ '@storybook/channels': '6.5.10',
33
+ '@storybook/cli': '6.5.10',
34
+ '@storybook/client-api': '6.5.10',
35
+ '@storybook/client-logger': '6.5.10',
36
+ '@storybook/codemod': '6.5.10',
37
+ '@storybook/components': '6.5.10',
38
+ '@storybook/core': '6.5.10',
39
+ '@storybook/core-client': '6.5.10',
40
+ '@storybook/core-common': '6.5.10',
41
+ '@storybook/core-events': '6.5.10',
42
+ '@storybook/core-server': '6.5.10',
43
+ '@storybook/csf-tools': '6.5.10',
44
+ '@storybook/docs-tools': '6.5.10',
45
+ '@storybook/ember': '6.5.10',
46
+ '@storybook/html': '6.5.10',
47
+ '@storybook/instrumenter': '6.5.10',
48
+ '@storybook/manager-webpack4': '6.5.10',
49
+ '@storybook/manager-webpack5': '6.5.10',
50
+ '@storybook/node-logger': '6.5.10',
51
+ '@storybook/postinstall': '6.5.10',
52
+ '@storybook/preact': '6.5.10',
53
+ '@storybook/preview-web': '6.5.10',
54
+ '@storybook/react': '6.5.10',
55
+ '@storybook/router': '6.5.10',
56
+ '@storybook/server': '6.5.10',
57
+ '@storybook/source-loader': '6.5.10',
58
+ '@storybook/store': '6.5.10',
59
+ '@storybook/svelte': '6.5.10',
60
+ '@storybook/telemetry': '6.5.10',
61
+ '@storybook/theming': '6.5.10',
62
+ '@storybook/ui': '6.5.10',
63
+ '@storybook/vue': '6.5.10',
64
+ '@storybook/vue3': '6.5.10',
65
+ '@storybook/web-components': '6.5.10'
66
66
  };
67
67
  exports.default = _default;
@@ -20,6 +20,8 @@ var _eslintPlugin = require("./eslint-plugin");
20
20
 
21
21
  var _builderVite = require("./builder-vite");
22
22
 
23
+ var _npm = require("./npm7");
24
+
23
25
  var _types = require("../types");
24
26
 
25
27
  Object.keys(_types).forEach(function (key) {
@@ -33,5 +35,5 @@ Object.keys(_types).forEach(function (key) {
33
35
  }
34
36
  });
35
37
  });
36
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
38
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite, _npm.npm7];
37
39
  exports.fixes = fixes;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.npm7 = 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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /**
17
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
18
+ */
19
+ const npm7 = {
20
+ id: 'npm7',
21
+
22
+ async check({
23
+ packageManager
24
+ }) {
25
+ if (packageManager.type !== 'npm') return null;
26
+ const npmVersion = packageManager.getNpmVersion();
27
+
28
+ if (packageManager.needsLegacyPeerDeps(npmVersion)) {
29
+ return {
30
+ npmVersion
31
+ };
32
+ }
33
+
34
+ return null;
35
+ },
36
+
37
+ prompt({
38
+ npmVersion
39
+ }) {
40
+ const npmFormatted = _chalk.default.cyan(`npm ${npmVersion}`);
41
+
42
+ return (0, _tsDedent.default)`
43
+ We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
44
+
45
+ In order to work with Storybook's package structure, you'll need to run \`npm\` with the
46
+ \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
47
+
48
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/issues/18298')}
49
+ `;
50
+ },
51
+
52
+ async run({
53
+ packageManager
54
+ }) {
55
+ packageManager.setLegacyPeerDeps();
56
+ }
57
+
58
+ };
59
+ exports.npm7 = npm7;
@@ -44,7 +44,10 @@ process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMET
44
44
 
45
45
  _commander.default.option('--enable-crash-reports', 'enable sending crash reports to telemetry data');
46
46
 
47
- _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg));
47
+ _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg).catch(err => {
48
+ logger.error(err);
49
+ process.exit(1);
50
+ }));
48
51
 
49
52
  _commander.default.command('add <addon>').description('Add an addon to your Storybook').option('-N --use-npm', 'Use NPM to build the Storybook server').option('-s --skip-postinstall', 'Skip package specific postinstall config modifications').action((addonName, options) => (0, _add.add)(addonName, options));
50
53
 
@@ -1,2 +1,2 @@
1
- import '@storybook/addon-ondevice-actions/manager';
2
- import '@storybook/addon-ondevice-knobs/manager';
1
+ import '@storybook/addon-ondevice-actions/register';
2
+ import '@storybook/addon-ondevice-knobs/register';
@@ -16,8 +16,7 @@ var _baseGenerator = require("../baseGenerator");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const generator = async (packageManager, npmOptions, options) => {
19
- let extraMain;
20
- let commonJs = false; // svelte.config.js ?
19
+ let extraMain; // svelte.config.js ?
21
20
 
22
21
  if (_fsExtra.default.existsSync('./svelte.config.js')) {
23
22
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.js'");
@@ -30,7 +29,6 @@ const generator = async (packageManager, npmOptions, options) => {
30
29
  } else if (_fsExtra.default.existsSync('./svelte.config.cjs')) {
31
30
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.cjs'");
32
31
 
33
- commonJs = true;
34
32
  extraMain = {
35
33
  svelteOptions: {
36
34
  preprocess: '%%require("../svelte.config.cjs").preprocess%%'
@@ -55,7 +53,7 @@ const generator = async (packageManager, npmOptions, options) => {
55
53
  extraPackages: ['svelte', 'svelte-loader'],
56
54
  extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
57
55
  extraMain,
58
- commonJs
56
+ commonJs: true
59
57
  });
60
58
  };
61
59
 
@@ -60,7 +60,8 @@ const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelt
60
60
 
61
61
  async function baseGenerator(packageManager, npmOptions, {
62
62
  language,
63
- builder
63
+ builder,
64
+ commonJs
64
65
  }, framework, options = defaultOptions) {
65
66
  const {
66
67
  extraAddons,
@@ -110,7 +111,7 @@ async function baseGenerator(packageManager, npmOptions, {
110
111
  framework: frameworkPackage,
111
112
  addons: [...addons, ...stripVersions(extraAddons)],
112
113
  extensions,
113
- commonJs: options.commonJs
114
+ commonJs
114
115
  }, mainOptions));
115
116
 
116
117
  if (addComponents) {
@@ -30,10 +30,26 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
30
30
  return `npm run ${command}`;
31
31
  }
32
32
 
33
+ getNpmVersion() {
34
+ return this.executeCommand('npm', ['--version']);
35
+ }
36
+
37
+ hasLegacyPeerDeps() {
38
+ const result = this.executeCommand('npm', ['config', 'get', 'legacy-peer-deps', '--location=project']);
39
+ return result.trim() === 'true';
40
+ }
41
+
42
+ setLegacyPeerDeps() {
43
+ this.executeCommand('npm', ['config', 'set', 'legacy-peer-deps=true', '--location=project']);
44
+ }
45
+
46
+ needsLegacyPeerDeps(version) {
47
+ return _semver.default.gte(version, '7.0.0') && !this.hasLegacyPeerDeps();
48
+ }
49
+
33
50
  getInstallArgs() {
34
51
  if (!this.installArgs) {
35
- const version = this.executeCommand('npm', ['--version']);
36
- this.installArgs = _semver.default.gte(version, '7.0.0') ? ['install', '--legacy-peer-deps'] : ['install'];
52
+ this.installArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) ? ['install', '--legacy-peer-deps'] : ['install'];
37
53
  }
38
54
 
39
55
  return this.installArgs;
@@ -6,62 +6,62 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  // auto generated file, do not edit
8
8
  var _default = {
9
- '@storybook/addon-a11y': '6.5.9',
10
- '@storybook/addon-actions': '6.5.9',
11
- '@storybook/addon-backgrounds': '6.5.9',
12
- '@storybook/addon-controls': '6.5.9',
13
- '@storybook/addon-docs': '6.5.9',
14
- '@storybook/addon-essentials': '6.5.9',
15
- '@storybook/addon-interactions': '6.5.9',
16
- '@storybook/addon-jest': '6.5.9',
17
- '@storybook/addon-links': '6.5.9',
18
- '@storybook/addon-measure': '6.5.9',
19
- '@storybook/addon-outline': '6.5.9',
20
- '@storybook/addon-storyshots': '6.5.9',
21
- '@storybook/addon-storyshots-puppeteer': '6.5.9',
22
- '@storybook/addon-storysource': '6.5.9',
23
- '@storybook/addon-toolbars': '6.5.9',
24
- '@storybook/addon-viewport': '6.5.9',
25
- '@storybook/addons': '6.5.9',
26
- '@storybook/angular': '6.5.9',
27
- '@storybook/api': '6.5.9',
28
- '@storybook/builder-webpack4': '6.5.9',
29
- '@storybook/builder-webpack5': '6.5.9',
30
- '@storybook/channel-postmessage': '6.5.9',
31
- '@storybook/channel-websocket': '6.5.9',
32
- '@storybook/channels': '6.5.9',
33
- '@storybook/cli': '6.5.9',
34
- '@storybook/client-api': '6.5.9',
35
- '@storybook/client-logger': '6.5.9',
36
- '@storybook/codemod': '6.5.9',
37
- '@storybook/components': '6.5.9',
38
- '@storybook/core': '6.5.9',
39
- '@storybook/core-client': '6.5.9',
40
- '@storybook/core-common': '6.5.9',
41
- '@storybook/core-events': '6.5.9',
42
- '@storybook/core-server': '6.5.9',
43
- '@storybook/csf-tools': '6.5.9',
44
- '@storybook/docs-tools': '6.5.9',
45
- '@storybook/ember': '6.5.9',
46
- '@storybook/html': '6.5.9',
47
- '@storybook/instrumenter': '6.5.9',
48
- '@storybook/manager-webpack4': '6.5.9',
49
- '@storybook/manager-webpack5': '6.5.9',
50
- '@storybook/node-logger': '6.5.9',
51
- '@storybook/postinstall': '6.5.9',
52
- '@storybook/preact': '6.5.9',
53
- '@storybook/preview-web': '6.5.9',
54
- '@storybook/react': '6.5.9',
55
- '@storybook/router': '6.5.9',
56
- '@storybook/server': '6.5.9',
57
- '@storybook/source-loader': '6.5.9',
58
- '@storybook/store': '6.5.9',
59
- '@storybook/svelte': '6.5.9',
60
- '@storybook/telemetry': '6.5.9',
61
- '@storybook/theming': '6.5.9',
62
- '@storybook/ui': '6.5.9',
63
- '@storybook/vue': '6.5.9',
64
- '@storybook/vue3': '6.5.9',
65
- '@storybook/web-components': '6.5.9'
9
+ '@storybook/addon-a11y': '6.5.10',
10
+ '@storybook/addon-actions': '6.5.10',
11
+ '@storybook/addon-backgrounds': '6.5.10',
12
+ '@storybook/addon-controls': '6.5.10',
13
+ '@storybook/addon-docs': '6.5.10',
14
+ '@storybook/addon-essentials': '6.5.10',
15
+ '@storybook/addon-interactions': '6.5.10',
16
+ '@storybook/addon-jest': '6.5.10',
17
+ '@storybook/addon-links': '6.5.10',
18
+ '@storybook/addon-measure': '6.5.10',
19
+ '@storybook/addon-outline': '6.5.10',
20
+ '@storybook/addon-storyshots': '6.5.10',
21
+ '@storybook/addon-storyshots-puppeteer': '6.5.10',
22
+ '@storybook/addon-storysource': '6.5.10',
23
+ '@storybook/addon-toolbars': '6.5.10',
24
+ '@storybook/addon-viewport': '6.5.10',
25
+ '@storybook/addons': '6.5.10',
26
+ '@storybook/angular': '6.5.10',
27
+ '@storybook/api': '6.5.10',
28
+ '@storybook/builder-webpack4': '6.5.10',
29
+ '@storybook/builder-webpack5': '6.5.10',
30
+ '@storybook/channel-postmessage': '6.5.10',
31
+ '@storybook/channel-websocket': '6.5.10',
32
+ '@storybook/channels': '6.5.10',
33
+ '@storybook/cli': '6.5.10',
34
+ '@storybook/client-api': '6.5.10',
35
+ '@storybook/client-logger': '6.5.10',
36
+ '@storybook/codemod': '6.5.10',
37
+ '@storybook/components': '6.5.10',
38
+ '@storybook/core': '6.5.10',
39
+ '@storybook/core-client': '6.5.10',
40
+ '@storybook/core-common': '6.5.10',
41
+ '@storybook/core-events': '6.5.10',
42
+ '@storybook/core-server': '6.5.10',
43
+ '@storybook/csf-tools': '6.5.10',
44
+ '@storybook/docs-tools': '6.5.10',
45
+ '@storybook/ember': '6.5.10',
46
+ '@storybook/html': '6.5.10',
47
+ '@storybook/instrumenter': '6.5.10',
48
+ '@storybook/manager-webpack4': '6.5.10',
49
+ '@storybook/manager-webpack5': '6.5.10',
50
+ '@storybook/node-logger': '6.5.10',
51
+ '@storybook/postinstall': '6.5.10',
52
+ '@storybook/preact': '6.5.10',
53
+ '@storybook/preview-web': '6.5.10',
54
+ '@storybook/react': '6.5.10',
55
+ '@storybook/router': '6.5.10',
56
+ '@storybook/server': '6.5.10',
57
+ '@storybook/source-loader': '6.5.10',
58
+ '@storybook/store': '6.5.10',
59
+ '@storybook/svelte': '6.5.10',
60
+ '@storybook/telemetry': '6.5.10',
61
+ '@storybook/theming': '6.5.10',
62
+ '@storybook/ui': '6.5.10',
63
+ '@storybook/vue': '6.5.10',
64
+ '@storybook/vue3': '6.5.10',
65
+ '@storybook/web-components': '6.5.10'
66
66
  };
67
67
  exports.default = _default;
@@ -20,6 +20,8 @@ var _eslintPlugin = require("./eslint-plugin");
20
20
 
21
21
  var _builderVite = require("./builder-vite");
22
22
 
23
+ var _npm = require("./npm7");
24
+
23
25
  var _types = require("../types");
24
26
 
25
27
  Object.keys(_types).forEach(function (key) {
@@ -33,5 +35,5 @@ Object.keys(_types).forEach(function (key) {
33
35
  }
34
36
  });
35
37
  });
36
- const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite];
38
+ const fixes = [_cra.cra5, _webpack.webpack5, _angular.angular12, _mainjsFramework.mainjsFramework, _eslintPlugin.eslintPlugin, _builderVite.builderVite, _npm.npm7];
37
39
  exports.fixes = fixes;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.npm7 = 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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /**
17
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
18
+ */
19
+ const npm7 = {
20
+ id: 'npm7',
21
+
22
+ async check({
23
+ packageManager
24
+ }) {
25
+ if (packageManager.type !== 'npm') return null;
26
+ const npmVersion = packageManager.getNpmVersion();
27
+
28
+ if (packageManager.needsLegacyPeerDeps(npmVersion)) {
29
+ return {
30
+ npmVersion
31
+ };
32
+ }
33
+
34
+ return null;
35
+ },
36
+
37
+ prompt({
38
+ npmVersion
39
+ }) {
40
+ const npmFormatted = _chalk.default.cyan(`npm ${npmVersion}`);
41
+
42
+ return (0, _tsDedent.default)`
43
+ We've detected you are running ${npmFormatted} which has peer dependency semantics which Storybook is incompatible with.
44
+
45
+ In order to work with Storybook's package structure, you'll need to run \`npm\` with the
46
+ \`--legacy-peer-deps=true\` flag. We can generate an \`.npmrc\` which will do that automatically.
47
+
48
+ More info: ${_chalk.default.yellow('https://github.com/storybookjs/storybook/issues/18298')}
49
+ `;
50
+ },
51
+
52
+ async run({
53
+ packageManager
54
+ }) {
55
+ packageManager.setLegacyPeerDeps();
56
+ }
57
+
58
+ };
59
+ exports.npm7 = npm7;
@@ -44,7 +44,10 @@ process.env.STORYBOOK_DISABLE_TELEMETRY && process.env.STORYBOOK_DISABLE_TELEMET
44
44
 
45
45
  _commander.default.option('--enable-crash-reports', 'enable sending crash reports to telemetry data');
46
46
 
47
- _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg));
47
+ _commander.default.command('init').description('Initialize Storybook into your project.').option('-f --force', 'Force add Storybook').option('-s --skip-install', 'Skip installing deps').option('-N --use-npm', 'Use npm to install deps').option('-p --parser <babel | babylon | flow | ts | tsx>', 'jscodeshift parser').option('-t --type <type>', 'Add Storybook for a specific project type').option('-y --yes', 'Answer yes to all prompts').option('-b --builder <builder>', 'Builder library').option('-l --linkable', 'Prepare installation for link (contributor helper)').action(options => (0, _initiate.initiate)(options, pkg).catch(err => {
48
+ logger.error(err);
49
+ process.exit(1);
50
+ }));
48
51
 
49
52
  _commander.default.command('add <addon>').description('Add an addon to your Storybook').option('-N --use-npm', 'Use NPM to build the Storybook server').option('-s --skip-postinstall', 'Skip package specific postinstall config modifications').action((addonName, options) => (0, _add.add)(addonName, options));
50
53
 
@@ -1,2 +1,2 @@
1
- import '@storybook/addon-ondevice-actions/manager';
2
- import '@storybook/addon-ondevice-knobs/manager';
1
+ import '@storybook/addon-ondevice-actions/register';
2
+ import '@storybook/addon-ondevice-knobs/register';
@@ -16,8 +16,7 @@ var _baseGenerator = require("../baseGenerator");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const generator = async (packageManager, npmOptions, options) => {
19
- let extraMain;
20
- let commonJs = false; // svelte.config.js ?
19
+ let extraMain; // svelte.config.js ?
21
20
 
22
21
  if (_fsExtra.default.existsSync('./svelte.config.js')) {
23
22
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.js'");
@@ -30,7 +29,6 @@ const generator = async (packageManager, npmOptions, options) => {
30
29
  } else if (_fsExtra.default.existsSync('./svelte.config.cjs')) {
31
30
  _nodeLogger.logger.info("Configuring preprocessor from 'svelte.config.cjs'");
32
31
 
33
- commonJs = true;
34
32
  extraMain = {
35
33
  svelteOptions: {
36
34
  preprocess: '%%require("../svelte.config.cjs").preprocess%%'
@@ -55,7 +53,7 @@ const generator = async (packageManager, npmOptions, options) => {
55
53
  extraPackages: ['svelte', 'svelte-loader'],
56
54
  extensions: ['js', 'jsx', 'ts', 'tsx', 'svelte'],
57
55
  extraMain,
58
- commonJs
56
+ commonJs: true
59
57
  });
60
58
  };
61
59
 
@@ -60,7 +60,8 @@ const hasInteractiveStories = framework => ['react', 'angular', 'preact', 'svelt
60
60
 
61
61
  async function baseGenerator(packageManager, npmOptions, {
62
62
  language,
63
- builder
63
+ builder,
64
+ commonJs
64
65
  }, framework, options = defaultOptions) {
65
66
  const {
66
67
  extraAddons,
@@ -110,7 +111,7 @@ async function baseGenerator(packageManager, npmOptions, {
110
111
  framework: frameworkPackage,
111
112
  addons: [...addons, ...stripVersions(extraAddons)],
112
113
  extensions,
113
- commonJs: options.commonJs
114
+ commonJs
114
115
  }, mainOptions));
115
116
 
116
117
  if (addComponents) {
@@ -30,10 +30,26 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
30
30
  return `npm run ${command}`;
31
31
  }
32
32
 
33
+ getNpmVersion() {
34
+ return this.executeCommand('npm', ['--version']);
35
+ }
36
+
37
+ hasLegacyPeerDeps() {
38
+ const result = this.executeCommand('npm', ['config', 'get', 'legacy-peer-deps', '--location=project']);
39
+ return result.trim() === 'true';
40
+ }
41
+
42
+ setLegacyPeerDeps() {
43
+ this.executeCommand('npm', ['config', 'set', 'legacy-peer-deps=true', '--location=project']);
44
+ }
45
+
46
+ needsLegacyPeerDeps(version) {
47
+ return _semver.default.gte(version, '7.0.0') && !this.hasLegacyPeerDeps();
48
+ }
49
+
33
50
  getInstallArgs() {
34
51
  if (!this.installArgs) {
35
- const version = this.executeCommand('npm', ['--version']);
36
- this.installArgs = _semver.default.gte(version, '7.0.0') ? ['install', '--legacy-peer-deps'] : ['install'];
52
+ this.installArgs = this.needsLegacyPeerDeps(this.getNpmVersion()) ? ['install', '--legacy-peer-deps'] : ['install'];
37
53
  }
38
54
 
39
55
  return this.installArgs;
@@ -6,62 +6,62 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  // auto generated file, do not edit
8
8
  var _default = {
9
- '@storybook/addon-a11y': '6.5.9',
10
- '@storybook/addon-actions': '6.5.9',
11
- '@storybook/addon-backgrounds': '6.5.9',
12
- '@storybook/addon-controls': '6.5.9',
13
- '@storybook/addon-docs': '6.5.9',
14
- '@storybook/addon-essentials': '6.5.9',
15
- '@storybook/addon-interactions': '6.5.9',
16
- '@storybook/addon-jest': '6.5.9',
17
- '@storybook/addon-links': '6.5.9',
18
- '@storybook/addon-measure': '6.5.9',
19
- '@storybook/addon-outline': '6.5.9',
20
- '@storybook/addon-storyshots': '6.5.9',
21
- '@storybook/addon-storyshots-puppeteer': '6.5.9',
22
- '@storybook/addon-storysource': '6.5.9',
23
- '@storybook/addon-toolbars': '6.5.9',
24
- '@storybook/addon-viewport': '6.5.9',
25
- '@storybook/addons': '6.5.9',
26
- '@storybook/angular': '6.5.9',
27
- '@storybook/api': '6.5.9',
28
- '@storybook/builder-webpack4': '6.5.9',
29
- '@storybook/builder-webpack5': '6.5.9',
30
- '@storybook/channel-postmessage': '6.5.9',
31
- '@storybook/channel-websocket': '6.5.9',
32
- '@storybook/channels': '6.5.9',
33
- '@storybook/cli': '6.5.9',
34
- '@storybook/client-api': '6.5.9',
35
- '@storybook/client-logger': '6.5.9',
36
- '@storybook/codemod': '6.5.9',
37
- '@storybook/components': '6.5.9',
38
- '@storybook/core': '6.5.9',
39
- '@storybook/core-client': '6.5.9',
40
- '@storybook/core-common': '6.5.9',
41
- '@storybook/core-events': '6.5.9',
42
- '@storybook/core-server': '6.5.9',
43
- '@storybook/csf-tools': '6.5.9',
44
- '@storybook/docs-tools': '6.5.9',
45
- '@storybook/ember': '6.5.9',
46
- '@storybook/html': '6.5.9',
47
- '@storybook/instrumenter': '6.5.9',
48
- '@storybook/manager-webpack4': '6.5.9',
49
- '@storybook/manager-webpack5': '6.5.9',
50
- '@storybook/node-logger': '6.5.9',
51
- '@storybook/postinstall': '6.5.9',
52
- '@storybook/preact': '6.5.9',
53
- '@storybook/preview-web': '6.5.9',
54
- '@storybook/react': '6.5.9',
55
- '@storybook/router': '6.5.9',
56
- '@storybook/server': '6.5.9',
57
- '@storybook/source-loader': '6.5.9',
58
- '@storybook/store': '6.5.9',
59
- '@storybook/svelte': '6.5.9',
60
- '@storybook/telemetry': '6.5.9',
61
- '@storybook/theming': '6.5.9',
62
- '@storybook/ui': '6.5.9',
63
- '@storybook/vue': '6.5.9',
64
- '@storybook/vue3': '6.5.9',
65
- '@storybook/web-components': '6.5.9'
9
+ '@storybook/addon-a11y': '6.5.10',
10
+ '@storybook/addon-actions': '6.5.10',
11
+ '@storybook/addon-backgrounds': '6.5.10',
12
+ '@storybook/addon-controls': '6.5.10',
13
+ '@storybook/addon-docs': '6.5.10',
14
+ '@storybook/addon-essentials': '6.5.10',
15
+ '@storybook/addon-interactions': '6.5.10',
16
+ '@storybook/addon-jest': '6.5.10',
17
+ '@storybook/addon-links': '6.5.10',
18
+ '@storybook/addon-measure': '6.5.10',
19
+ '@storybook/addon-outline': '6.5.10',
20
+ '@storybook/addon-storyshots': '6.5.10',
21
+ '@storybook/addon-storyshots-puppeteer': '6.5.10',
22
+ '@storybook/addon-storysource': '6.5.10',
23
+ '@storybook/addon-toolbars': '6.5.10',
24
+ '@storybook/addon-viewport': '6.5.10',
25
+ '@storybook/addons': '6.5.10',
26
+ '@storybook/angular': '6.5.10',
27
+ '@storybook/api': '6.5.10',
28
+ '@storybook/builder-webpack4': '6.5.10',
29
+ '@storybook/builder-webpack5': '6.5.10',
30
+ '@storybook/channel-postmessage': '6.5.10',
31
+ '@storybook/channel-websocket': '6.5.10',
32
+ '@storybook/channels': '6.5.10',
33
+ '@storybook/cli': '6.5.10',
34
+ '@storybook/client-api': '6.5.10',
35
+ '@storybook/client-logger': '6.5.10',
36
+ '@storybook/codemod': '6.5.10',
37
+ '@storybook/components': '6.5.10',
38
+ '@storybook/core': '6.5.10',
39
+ '@storybook/core-client': '6.5.10',
40
+ '@storybook/core-common': '6.5.10',
41
+ '@storybook/core-events': '6.5.10',
42
+ '@storybook/core-server': '6.5.10',
43
+ '@storybook/csf-tools': '6.5.10',
44
+ '@storybook/docs-tools': '6.5.10',
45
+ '@storybook/ember': '6.5.10',
46
+ '@storybook/html': '6.5.10',
47
+ '@storybook/instrumenter': '6.5.10',
48
+ '@storybook/manager-webpack4': '6.5.10',
49
+ '@storybook/manager-webpack5': '6.5.10',
50
+ '@storybook/node-logger': '6.5.10',
51
+ '@storybook/postinstall': '6.5.10',
52
+ '@storybook/preact': '6.5.10',
53
+ '@storybook/preview-web': '6.5.10',
54
+ '@storybook/react': '6.5.10',
55
+ '@storybook/router': '6.5.10',
56
+ '@storybook/server': '6.5.10',
57
+ '@storybook/source-loader': '6.5.10',
58
+ '@storybook/store': '6.5.10',
59
+ '@storybook/svelte': '6.5.10',
60
+ '@storybook/telemetry': '6.5.10',
61
+ '@storybook/theming': '6.5.10',
62
+ '@storybook/ui': '6.5.10',
63
+ '@storybook/vue': '6.5.10',
64
+ '@storybook/vue3': '6.5.10',
65
+ '@storybook/web-components': '6.5.10'
66
66
  };
67
67
  exports.default = _default;
@@ -0,0 +1,9 @@
1
+ import { Fix } from '../types';
2
+ interface Npm7RunOptions {
3
+ npmVersion: string;
4
+ }
5
+ /**
6
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
7
+ */
8
+ export declare const npm7: Fix<Npm7RunOptions>;
9
+ export {};
@@ -5,6 +5,7 @@ export declare type GeneratorOptions = {
5
5
  language: SupportedLanguage;
6
6
  builder: Builder;
7
7
  linkable: boolean;
8
+ commonJs: boolean;
8
9
  };
9
10
  export interface FrameworkOptions {
10
11
  extraPackages?: string[];
@@ -19,4 +20,4 @@ export interface FrameworkOptions {
19
20
  commonJs?: boolean;
20
21
  }
21
22
  export declare type Generator = (packageManager: JsPackageManager, npmOptions: NpmOptions, options: GeneratorOptions) => Promise<void>;
22
- export declare function baseGenerator(packageManager: JsPackageManager, npmOptions: NpmOptions, { language, builder }: GeneratorOptions, framework: SupportedFrameworks, options?: FrameworkOptions): Promise<void>;
23
+ export declare function baseGenerator(packageManager: JsPackageManager, npmOptions: NpmOptions, { language, builder, commonJs }: GeneratorOptions, framework: SupportedFrameworks, options?: FrameworkOptions): Promise<void>;
@@ -5,6 +5,10 @@ export declare class NPMProxy extends JsPackageManager {
5
5
  initPackageJson(): string;
6
6
  getRunStorybookCommand(): string;
7
7
  getRunCommand(command: string): string;
8
+ getNpmVersion(): string;
9
+ hasLegacyPeerDeps(): boolean;
10
+ setLegacyPeerDeps(): void;
11
+ needsLegacyPeerDeps(version: string): boolean;
8
12
  getInstallArgs(): string[];
9
13
  protected runInstall(): void;
10
14
  protected runAddDeps(dependencies: string[], installAsDevDependencies: boolean): void;
@@ -0,0 +1,9 @@
1
+ import { Fix } from '../types';
2
+ interface Npm7RunOptions {
3
+ npmVersion: string;
4
+ }
5
+ /**
6
+ * Is the user using npm7+? If so create a .npmrc with legacy-peer-deps=true
7
+ */
8
+ export declare const npm7: Fix<Npm7RunOptions>;
9
+ export {};
@@ -5,6 +5,7 @@ export declare type GeneratorOptions = {
5
5
  language: SupportedLanguage;
6
6
  builder: Builder;
7
7
  linkable: boolean;
8
+ commonJs: boolean;
8
9
  };
9
10
  export interface FrameworkOptions {
10
11
  extraPackages?: string[];
@@ -19,4 +20,4 @@ export interface FrameworkOptions {
19
20
  commonJs?: boolean;
20
21
  }
21
22
  export declare type Generator = (packageManager: JsPackageManager, npmOptions: NpmOptions, options: GeneratorOptions) => Promise<void>;
22
- export declare function baseGenerator(packageManager: JsPackageManager, npmOptions: NpmOptions, { language, builder }: GeneratorOptions, framework: SupportedFrameworks, options?: FrameworkOptions): Promise<void>;
23
+ export declare function baseGenerator(packageManager: JsPackageManager, npmOptions: NpmOptions, { language, builder, commonJs }: GeneratorOptions, framework: SupportedFrameworks, options?: FrameworkOptions): Promise<void>;
@@ -5,6 +5,10 @@ export declare class NPMProxy extends JsPackageManager {
5
5
  initPackageJson(): string;
6
6
  getRunStorybookCommand(): string;
7
7
  getRunCommand(command: string): string;
8
+ getNpmVersion(): string;
9
+ hasLegacyPeerDeps(): boolean;
10
+ setLegacyPeerDeps(): void;
11
+ needsLegacyPeerDeps(version: string): boolean;
8
12
  getInstallArgs(): string[];
9
13
  protected runInstall(): void;
10
14
  protected runAddDeps(dependencies: string[], installAsDevDependencies: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/cli",
3
- "version": "6.5.9",
3
+ "version": "6.5.10",
4
4
  "description": "Storybook's CLI - easiest method of adding storybook to your projects",
5
5
  "keywords": [
6
6
  "cli",
@@ -47,12 +47,12 @@
47
47
  "dependencies": {
48
48
  "@babel/core": "^7.12.10",
49
49
  "@babel/preset-env": "^7.12.11",
50
- "@storybook/codemod": "6.5.9",
51
- "@storybook/core-common": "6.5.9",
52
- "@storybook/csf-tools": "6.5.9",
53
- "@storybook/node-logger": "6.5.9",
50
+ "@storybook/codemod": "6.5.10",
51
+ "@storybook/core-common": "6.5.10",
52
+ "@storybook/csf-tools": "6.5.10",
53
+ "@storybook/node-logger": "6.5.10",
54
54
  "@storybook/semver": "^7.3.2",
55
- "@storybook/telemetry": "6.5.9",
55
+ "@storybook/telemetry": "6.5.10",
56
56
  "boxen": "^5.1.2",
57
57
  "chalk": "^4.1.0",
58
58
  "commander": "^6.2.1",
@@ -76,7 +76,7 @@
76
76
  "update-notifier": "^5.0.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@storybook/client-api": "6.5.9",
79
+ "@storybook/client-api": "6.5.10",
80
80
  "@types/cross-spawn": "^6.0.2",
81
81
  "@types/prompts": "^2.0.9",
82
82
  "@types/puppeteer-core": "^2.1.0",
@@ -89,5 +89,5 @@
89
89
  "publishConfig": {
90
90
  "access": "public"
91
91
  },
92
- "gitHead": "e2673f765722cbb542ef1b5cf8d533c8e746a127"
92
+ "gitHead": "893881ff6f87272c0ab0f21776ef8fef990d0c36"
93
93
  }