@storybook/cli 7.0.0-alpha.21 → 7.0.0-alpha.23

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 (33) hide show
  1. package/dist/cjs/automigrate/fixes/builder-vite.js +1 -3
  2. package/dist/cjs/detect.js +2 -18
  3. package/dist/cjs/generators/RAX/index.js +1 -3
  4. package/dist/cjs/initiate.js +9 -2
  5. package/dist/cjs/js-package-manager/JsPackageManager.js +44 -10
  6. package/dist/cjs/js-package-manager/JsPackageManagerFactory.js +25 -11
  7. package/dist/cjs/js-package-manager/NPMProxy.js +19 -0
  8. package/dist/cjs/js-package-manager/Yarn1Proxy.js +19 -0
  9. package/dist/cjs/js-package-manager/Yarn2Proxy.js +19 -0
  10. package/dist/cjs/js-package-manager/index.js +0 -13
  11. package/dist/cjs/versions.js +75 -75
  12. package/dist/esm/automigrate/fixes/builder-vite.js +1 -2
  13. package/dist/esm/detect.js +2 -17
  14. package/dist/esm/generators/RAX/index.js +1 -2
  15. package/dist/esm/initiate.js +9 -2
  16. package/dist/esm/js-package-manager/JsPackageManager.js +40 -9
  17. package/dist/esm/js-package-manager/JsPackageManagerFactory.js +25 -11
  18. package/dist/esm/js-package-manager/NPMProxy.js +19 -0
  19. package/dist/esm/js-package-manager/Yarn1Proxy.js +19 -0
  20. package/dist/esm/js-package-manager/Yarn2Proxy.js +19 -0
  21. package/dist/esm/js-package-manager/index.js +1 -2
  22. package/dist/esm/versions.js +75 -75
  23. package/dist/types/detect.d.ts +2 -2
  24. package/dist/types/js-package-manager/JsPackageManager.d.ts +13 -0
  25. package/dist/types/js-package-manager/JsPackageManagerFactory.d.ts +1 -1
  26. package/dist/types/js-package-manager/NPMProxy.d.ts +6 -0
  27. package/dist/types/js-package-manager/Yarn1Proxy.d.ts +8 -0
  28. package/dist/types/js-package-manager/Yarn2Proxy.d.ts +8 -0
  29. package/dist/types/js-package-manager/index.d.ts +0 -1
  30. package/package.json +9 -9
  31. package/dist/cjs/js-package-manager/PackageJsonHelper.js +0 -33
  32. package/dist/esm/js-package-manager/PackageJsonHelper.js +0 -17
  33. package/dist/types/js-package-manager/PackageJsonHelper.d.ts +0 -3
@@ -13,8 +13,6 @@ var _csfTools = require("@storybook/csf-tools");
13
13
 
14
14
  var _coreCommon = require("@storybook/core-common");
15
15
 
16
- var _jsPackageManager = require("../../js-package-manager");
17
-
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
17
 
20
18
  const logger = console;
@@ -93,7 +91,7 @@ const builderVite = {
93
91
  if (!dryRun) {
94
92
  delete dependencies['storybook-builder-vite'];
95
93
  delete devDependencies['storybook-builder-vite'];
96
- (0, _jsPackageManager.writePackageJson)(packageJson);
94
+ packageManager.writePackageJson(packageJson);
97
95
  }
98
96
 
99
97
  logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
@@ -19,8 +19,6 @@ var _project_types = require("./project_types");
19
19
 
20
20
  var _helpers = require("./helpers");
21
21
 
22
- var _jsPackageManager = require("./js-package-manager");
23
-
24
22
  var _detectNextjs = require("./detect-nextjs");
25
23
 
26
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -145,15 +143,8 @@ function isStorybookInstalled(dependencies, force) {
145
143
  return false;
146
144
  }
147
145
 
148
- function detectLanguage() {
146
+ function detectLanguage(packageJson) {
149
147
  let language = _project_types.SupportedLanguage.JAVASCRIPT;
150
- let packageJson;
151
-
152
- try {
153
- packageJson = (0, _jsPackageManager.readPackageJson)();
154
- } catch (err) {//
155
- }
156
-
157
148
  const bowerJson = (0, _helpers.getBowerJson)();
158
149
 
159
150
  if (!packageJson && !bowerJson) {
@@ -167,14 +158,7 @@ function detectLanguage() {
167
158
  return language;
168
159
  }
169
160
 
170
- function detect(options = {}) {
171
- let packageJson;
172
-
173
- try {
174
- packageJson = (0, _jsPackageManager.readPackageJson)();
175
- } catch (err) {//
176
- }
177
-
161
+ function detect(packageJson, options = {}) {
178
162
  const bowerJson = (0, _helpers.getBowerJson)();
179
163
 
180
164
  if (!packageJson && !bowerJson) {
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _baseGenerator = require("../baseGenerator");
9
9
 
10
- var _jsPackageManager = require("../../js-package-manager");
11
-
12
10
  const generator = async (packageManager, npmOptions, options) => {
13
11
  const [latestRaxVersion] = await packageManager.getVersions('rax');
14
12
  const packageJson = packageManager.retrievePackageJson();
@@ -20,7 +18,7 @@ const generator = async (packageManager, npmOptions, options) => {
20
18
  packageJson.dependencies['rax-link'] = packageJson.dependencies['rax-link'] || raxVersion;
21
19
  packageJson.dependencies['rax-text'] = packageJson.dependencies['rax-text'] || raxVersion;
22
20
  packageJson.dependencies['rax-view'] = packageJson.dependencies['rax-view'] || raxVersion;
23
- (0, _jsPackageManager.writePackageJson)(packageJson);
21
+ packageManager.writePackageJson(packageJson);
24
22
  await (0, _baseGenerator.baseGenerator)(packageManager, npmOptions, options, 'rax', {
25
23
  extraPackages: ['rax']
26
24
  });
@@ -72,7 +72,14 @@ const installStorybook = (projectType, packageManager, options) => {
72
72
  installAsDevDependencies: true,
73
73
  skipInstall: options.skipInstall
74
74
  };
75
- const language = (0, _detect.detectLanguage)();
75
+ let packageJson;
76
+
77
+ try {
78
+ packageJson = packageManager.readPackageJson();
79
+ } catch (err) {//
80
+ }
81
+
82
+ const language = (0, _detect.detectLanguage)(packageJson);
76
83
  const generatorOptions = {
77
84
  language,
78
85
  builder: options.builder || (0, _detect.detectBuilder)(packageManager),
@@ -249,7 +256,7 @@ async function initiate(options, pkg) {
249
256
  process.exit(1);
250
257
  }
251
258
  } else {
252
- projectType = (0, _detect.detect)(options);
259
+ projectType = (0, _detect.detect)(packageJson, options);
253
260
  }
254
261
  } catch (ex) {
255
262
  done(ex.message);
@@ -12,9 +12,11 @@ var _semver = require("@storybook/semver");
12
12
 
13
13
  var _crossSpawn = require("cross-spawn");
14
14
 
15
- var _helpers = require("../helpers");
15
+ var _path = _interopRequireDefault(require("path"));
16
+
17
+ var _fs = _interopRequireDefault(require("fs"));
16
18
 
17
- var _PackageJsonHelper = require("./PackageJsonHelper");
19
+ var _helpers = require("../helpers");
18
20
 
19
21
  var _versions = _interopRequireDefault(require("../versions"));
20
22
 
@@ -42,13 +44,16 @@ function getPackageDetails(pkg) {
42
44
  }
43
45
 
44
46
  class JsPackageManager {
45
- constructor() {
47
+ constructor(options) {
46
48
  this.type = void 0;
49
+ this.cwd = void 0;
50
+ this.cwd = options === null || options === void 0 ? void 0 : options.cwd;
47
51
  }
48
-
49
52
  /**
50
53
  * Install dependencies listed in `package.json`
51
54
  */
55
+
56
+
52
57
  installDependencies() {
53
58
  let done = (0, _helpers.commandLog)('Preparing to install dependencies');
54
59
  done();
@@ -65,6 +70,28 @@ class JsPackageManager {
65
70
 
66
71
  done();
67
72
  }
73
+
74
+ packageJsonPath() {
75
+ return this.cwd ? _path.default.resolve(this.cwd, 'package.json') : _path.default.resolve('package.json');
76
+ }
77
+
78
+ readPackageJson() {
79
+ const packageJsonPath = this.packageJsonPath();
80
+
81
+ if (!_fs.default.existsSync(packageJsonPath)) {
82
+ throw new Error(`Could not read package.json file at ${packageJsonPath}`);
83
+ }
84
+
85
+ const jsonContent = _fs.default.readFileSync(packageJsonPath, 'utf8');
86
+
87
+ return JSON.parse(jsonContent);
88
+ }
89
+
90
+ writePackageJson(packageJson) {
91
+ const content = `${JSON.stringify(packageJson, null, 2)}\n`;
92
+
93
+ _fs.default.writeFileSync(this.packageJsonPath(), content, 'utf8');
94
+ }
68
95
  /**
69
96
  * Read the `package.json` file available in the directory the command was call from
70
97
  * If there is no `package.json` it will create one.
@@ -75,10 +102,10 @@ class JsPackageManager {
75
102
  let packageJson;
76
103
 
77
104
  try {
78
- packageJson = (0, _PackageJsonHelper.readPackageJson)();
105
+ packageJson = this.readPackageJson();
79
106
  } catch (err) {
80
107
  this.initPackageJson();
81
- packageJson = (0, _PackageJsonHelper.readPackageJson)();
108
+ packageJson = this.readPackageJson();
82
109
  }
83
110
 
84
111
  return Object.assign({}, packageJson, {
@@ -123,7 +150,7 @@ class JsPackageManager {
123
150
  packageJson.dependencies = Object.assign({}, packageJson.dependencies, dependenciesMap);
124
151
  }
125
152
 
126
- (0, _PackageJsonHelper.writePackageJson)(packageJson);
153
+ this.writePackageJson(packageJson);
127
154
  } else {
128
155
  try {
129
156
  this.runAddDeps(dependencies, options.installAsDevDependencies);
@@ -165,7 +192,7 @@ class JsPackageManager {
165
192
  delete packageJson.dependencies[dep];
166
193
  }
167
194
  });
168
- (0, _PackageJsonHelper.writePackageJson)(packageJson);
195
+ this.writePackageJson(packageJson);
169
196
  } else {
170
197
  try {
171
198
  this.runRemoveDeps(dependencies);
@@ -272,7 +299,7 @@ class JsPackageManager {
272
299
  var _packageJson$eslintCo;
273
300
 
274
301
  const packageJson = this.retrievePackageJson();
275
- (0, _PackageJsonHelper.writePackageJson)(Object.assign({}, packageJson, {
302
+ this.writePackageJson(Object.assign({}, packageJson, {
276
303
  eslintConfig: Object.assign({}, packageJson.eslintConfig, {
277
304
  overrides: [...(((_packageJson$eslintCo = packageJson.eslintConfig) === null || _packageJson$eslintCo === void 0 ? void 0 : _packageJson$eslintCo.overrides) || []), {
278
305
  files: ['**/*.stories.*'],
@@ -286,13 +313,20 @@ class JsPackageManager {
286
313
 
287
314
  addScripts(scripts) {
288
315
  const packageJson = this.retrievePackageJson();
289
- (0, _PackageJsonHelper.writePackageJson)(Object.assign({}, packageJson, {
316
+ this.writePackageJson(Object.assign({}, packageJson, {
290
317
  scripts: Object.assign({}, packageJson.scripts, scripts)
291
318
  }));
292
319
  }
293
320
 
321
+ addPackageResolutions(versions) {
322
+ const packageJson = this.retrievePackageJson();
323
+ const resolutions = this.getResolutions(packageJson, versions);
324
+ this.writePackageJson(Object.assign({}, packageJson, resolutions));
325
+ }
326
+
294
327
  executeCommand(command, args, stdio) {
295
328
  const commandResult = (0, _crossSpawn.sync)(command, args, {
329
+ cwd: this.cwd,
296
330
  stdio: stdio ?? 'pipe',
297
331
  encoding: 'utf-8'
298
332
  });
@@ -16,21 +16,31 @@ var _Yarn2Proxy = require("./Yarn2Proxy");
16
16
  var _Yarn1Proxy = require("./Yarn1Proxy");
17
17
 
18
18
  class JsPackageManagerFactory {
19
- static getPackageManager(forceNpmUsage = false) {
19
+ static getPackageManager(forceNpmUsage = false, cwd) {
20
20
  if (forceNpmUsage) {
21
- return new _NPMProxy.NPMProxy();
21
+ return new _NPMProxy.NPMProxy({
22
+ cwd
23
+ });
22
24
  }
23
25
 
24
- const yarnVersion = getYarnVersion();
25
- const hasYarnLockFile = (0, _findUp.sync)('yarn.lock');
26
- const hasNPMCommand = hasNPM();
26
+ const yarnVersion = getYarnVersion(cwd);
27
+ const hasYarnLockFile = (0, _findUp.sync)('yarn.lock', {
28
+ cwd
29
+ });
30
+ const hasNPMCommand = hasNPM(cwd);
27
31
 
28
32
  if (yarnVersion && (hasYarnLockFile || !hasNPMCommand)) {
29
- return yarnVersion === 1 ? new _Yarn1Proxy.Yarn1Proxy() : new _Yarn2Proxy.Yarn2Proxy();
33
+ return yarnVersion === 1 ? new _Yarn1Proxy.Yarn1Proxy({
34
+ cwd
35
+ }) : new _Yarn2Proxy.Yarn2Proxy({
36
+ cwd
37
+ });
30
38
  }
31
39
 
32
40
  if (hasNPMCommand) {
33
- return new _NPMProxy.NPMProxy();
41
+ return new _NPMProxy.NPMProxy({
42
+ cwd
43
+ });
34
44
  }
35
45
 
36
46
  throw new Error('Unable to find a usable package manager within NPM, Yarn and Yarn 2');
@@ -40,13 +50,17 @@ class JsPackageManagerFactory {
40
50
 
41
51
  exports.JsPackageManagerFactory = JsPackageManagerFactory;
42
52
 
43
- function hasNPM() {
44
- const npmVersionCommand = (0, _crossSpawn.sync)('npm', ['--version']);
53
+ function hasNPM(cwd) {
54
+ const npmVersionCommand = (0, _crossSpawn.sync)('npm', ['--version'], {
55
+ cwd
56
+ });
45
57
  return npmVersionCommand.status === 0;
46
58
  }
47
59
 
48
- function getYarnVersion() {
49
- const yarnVersionCommand = (0, _crossSpawn.sync)('yarn', ['--version']);
60
+ function getYarnVersion(cwd) {
61
+ const yarnVersionCommand = (0, _crossSpawn.sync)('yarn', ['--version'], {
62
+ cwd
63
+ });
50
64
 
51
65
  if (yarnVersionCommand.status !== 0) {
52
66
  return undefined;
@@ -64,6 +64,25 @@ class NPMProxy extends _JsPackageManager.JsPackageManager {
64
64
  return this.uninstallArgs;
65
65
  }
66
66
 
67
+ setRegistryURL(url) {
68
+ if (url) {
69
+ this.executeCommand('npm', ['config', 'set', 'registry', url]);
70
+ } else {
71
+ this.executeCommand('npm', ['config', 'delete', 'registry']);
72
+ }
73
+ }
74
+
75
+ getRegistryURL() {
76
+ const url = this.executeCommand('npm', ['config', 'get', 'registry']).trim();
77
+ return url === 'undefined' ? undefined : url;
78
+ }
79
+
80
+ getResolutions(packageJson, versions) {
81
+ return {
82
+ overrides: Object.assign({}, packageJson.overrides, versions)
83
+ };
84
+ }
85
+
67
86
  runInstall() {
68
87
  this.executeCommand('npm', this.getInstallArgs(), 'inherit');
69
88
  }
@@ -25,6 +25,25 @@ class Yarn1Proxy extends _JsPackageManager.JsPackageManager {
25
25
  return `yarn ${command}`;
26
26
  }
27
27
 
28
+ setRegistryURL(url) {
29
+ if (url) {
30
+ this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
31
+ } else {
32
+ this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
33
+ }
34
+ }
35
+
36
+ getRegistryURL() {
37
+ const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
38
+ return url === 'undefined' ? undefined : url;
39
+ }
40
+
41
+ getResolutions(packageJson, versions) {
42
+ return {
43
+ resolutions: Object.assign({}, packageJson.resolutions, versions)
44
+ };
45
+ }
46
+
28
47
  runInstall() {
29
48
  this.executeCommand('yarn', [], 'inherit');
30
49
  }
@@ -25,6 +25,25 @@ class Yarn2Proxy extends _JsPackageManager.JsPackageManager {
25
25
  return `yarn ${command}`;
26
26
  }
27
27
 
28
+ setRegistryURL(url) {
29
+ if (url) {
30
+ this.executeCommand('yarn', ['config', 'set', 'npmRegistryServer', url]);
31
+ } else {
32
+ this.executeCommand('yarn', ['config', 'delete', 'npmRegistryServer']);
33
+ }
34
+ }
35
+
36
+ getRegistryURL() {
37
+ const url = this.executeCommand('yarn', ['config', 'get', 'npmRegistryServer']).trim();
38
+ return url === 'undefined' ? undefined : url;
39
+ }
40
+
41
+ getResolutions(packageJson, versions) {
42
+ return {
43
+ resolutions: Object.assign({}, packageJson.resolutions, versions)
44
+ };
45
+ }
46
+
28
47
  runInstall() {
29
48
  this.executeCommand('yarn', [], 'inherit');
30
49
  }
@@ -41,17 +41,4 @@ Object.keys(_PackageJson).forEach(function (key) {
41
41
  return _PackageJson[key];
42
42
  }
43
43
  });
44
- });
45
-
46
- var _PackageJsonHelper = require("./PackageJsonHelper");
47
-
48
- Object.keys(_PackageJsonHelper).forEach(function (key) {
49
- if (key === "default" || key === "__esModule") return;
50
- if (key in exports && exports[key] === _PackageJsonHelper[key]) return;
51
- Object.defineProperty(exports, key, {
52
- enumerable: true,
53
- get: function () {
54
- return _PackageJsonHelper[key];
55
- }
56
- });
57
44
  });
@@ -6,80 +6,80 @@ 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': '7.0.0-alpha.21',
10
- '@storybook/addon-actions': '7.0.0-alpha.21',
11
- '@storybook/addon-backgrounds': '7.0.0-alpha.21',
12
- '@storybook/addon-controls': '7.0.0-alpha.21',
13
- '@storybook/addon-docs': '7.0.0-alpha.21',
14
- '@storybook/addon-essentials': '7.0.0-alpha.21',
15
- '@storybook/addon-highlight': '7.0.0-alpha.21',
16
- '@storybook/addon-interactions': '7.0.0-alpha.21',
17
- '@storybook/addon-jest': '7.0.0-alpha.21',
18
- '@storybook/addon-links': '7.0.0-alpha.21',
19
- '@storybook/addon-measure': '7.0.0-alpha.21',
20
- '@storybook/addon-outline': '7.0.0-alpha.21',
21
- '@storybook/addon-storyshots': '7.0.0-alpha.21',
22
- '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.21',
23
- '@storybook/addon-storysource': '7.0.0-alpha.21',
24
- '@storybook/addon-toolbars': '7.0.0-alpha.21',
25
- '@storybook/addon-viewport': '7.0.0-alpha.21',
26
- '@storybook/addons': '7.0.0-alpha.21',
27
- '@storybook/angular': '7.0.0-alpha.21',
28
- '@storybook/api': '7.0.0-alpha.21',
29
- '@storybook/blocks': '7.0.0-alpha.21',
30
- '@storybook/builder-manager': '7.0.0-alpha.21',
31
- '@storybook/builder-webpack5': '7.0.0-alpha.21',
32
- '@storybook/channel-postmessage': '7.0.0-alpha.21',
33
- '@storybook/channel-websocket': '7.0.0-alpha.21',
34
- '@storybook/channels': '7.0.0-alpha.21',
35
- '@storybook/cli': '7.0.0-alpha.21',
36
- '@storybook/client-api': '7.0.0-alpha.21',
37
- '@storybook/client-logger': '7.0.0-alpha.21',
38
- '@storybook/codemod': '7.0.0-alpha.21',
39
- '@storybook/components': '7.0.0-alpha.21',
40
- '@storybook/core-client': '7.0.0-alpha.21',
41
- '@storybook/core-common': '7.0.0-alpha.21',
42
- '@storybook/core-events': '7.0.0-alpha.21',
43
- '@storybook/core-server': '7.0.0-alpha.21',
44
- '@storybook/core-webpack': '7.0.0-alpha.21',
45
- '@storybook/csf-tools': '7.0.0-alpha.21',
46
- '@storybook/docs-tools': '7.0.0-alpha.21',
47
- '@storybook/ember': '7.0.0-alpha.21',
48
- '@storybook/html': '7.0.0-alpha.21',
49
- '@storybook/html-webpack5': '7.0.0-alpha.21',
50
- '@storybook/instrumenter': '7.0.0-alpha.21',
51
- '@storybook/node-logger': '7.0.0-alpha.21',
52
- '@storybook/postinstall': '7.0.0-alpha.21',
53
- '@storybook/preact': '7.0.0-alpha.21',
54
- '@storybook/preact-webpack5': '7.0.0-alpha.21',
55
- '@storybook/preset-html-webpack': '7.0.0-alpha.21',
56
- '@storybook/preset-preact-webpack': '7.0.0-alpha.21',
57
- '@storybook/preset-react-webpack': '7.0.0-alpha.21',
58
- '@storybook/preset-server-webpack': '7.0.0-alpha.21',
59
- '@storybook/preset-svelte-webpack': '7.0.0-alpha.21',
60
- '@storybook/preset-vue-webpack': '7.0.0-alpha.21',
61
- '@storybook/preset-vue3-webpack': '7.0.0-alpha.21',
62
- '@storybook/preset-web-components-webpack': '7.0.0-alpha.21',
63
- '@storybook/preview-web': '7.0.0-alpha.21',
64
- '@storybook/react': '7.0.0-alpha.21',
65
- '@storybook/react-webpack5': '7.0.0-alpha.21',
66
- '@storybook/router': '7.0.0-alpha.21',
67
- '@storybook/server': '7.0.0-alpha.21',
68
- '@storybook/server-webpack5': '7.0.0-alpha.21',
69
- '@storybook/source-loader': '7.0.0-alpha.21',
70
- '@storybook/store': '7.0.0-alpha.21',
71
- '@storybook/svelte': '7.0.0-alpha.21',
72
- '@storybook/svelte-webpack5': '7.0.0-alpha.21',
73
- '@storybook/telemetry': '7.0.0-alpha.21',
74
- '@storybook/theming': '7.0.0-alpha.21',
75
- '@storybook/ui': '7.0.0-alpha.21',
76
- '@storybook/vue': '7.0.0-alpha.21',
77
- '@storybook/vue-webpack5': '7.0.0-alpha.21',
78
- '@storybook/vue3': '7.0.0-alpha.21',
79
- '@storybook/vue3-webpack5': '7.0.0-alpha.21',
80
- '@storybook/web-components': '7.0.0-alpha.21',
81
- '@storybook/web-components-webpack5': '7.0.0-alpha.21',
82
- sb: '7.0.0-alpha.21',
83
- storybook: '7.0.0-alpha.21'
9
+ '@storybook/addon-a11y': '7.0.0-alpha.23',
10
+ '@storybook/addon-actions': '7.0.0-alpha.23',
11
+ '@storybook/addon-backgrounds': '7.0.0-alpha.23',
12
+ '@storybook/addon-controls': '7.0.0-alpha.23',
13
+ '@storybook/addon-docs': '7.0.0-alpha.23',
14
+ '@storybook/addon-essentials': '7.0.0-alpha.23',
15
+ '@storybook/addon-highlight': '7.0.0-alpha.23',
16
+ '@storybook/addon-interactions': '7.0.0-alpha.23',
17
+ '@storybook/addon-jest': '7.0.0-alpha.23',
18
+ '@storybook/addon-links': '7.0.0-alpha.23',
19
+ '@storybook/addon-measure': '7.0.0-alpha.23',
20
+ '@storybook/addon-outline': '7.0.0-alpha.23',
21
+ '@storybook/addon-storyshots': '7.0.0-alpha.23',
22
+ '@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.23',
23
+ '@storybook/addon-storysource': '7.0.0-alpha.23',
24
+ '@storybook/addon-toolbars': '7.0.0-alpha.23',
25
+ '@storybook/addon-viewport': '7.0.0-alpha.23',
26
+ '@storybook/addons': '7.0.0-alpha.23',
27
+ '@storybook/angular': '7.0.0-alpha.23',
28
+ '@storybook/api': '7.0.0-alpha.23',
29
+ '@storybook/blocks': '7.0.0-alpha.23',
30
+ '@storybook/builder-manager': '7.0.0-alpha.23',
31
+ '@storybook/builder-webpack5': '7.0.0-alpha.23',
32
+ '@storybook/channel-postmessage': '7.0.0-alpha.23',
33
+ '@storybook/channel-websocket': '7.0.0-alpha.23',
34
+ '@storybook/channels': '7.0.0-alpha.23',
35
+ '@storybook/cli': '7.0.0-alpha.23',
36
+ '@storybook/client-api': '7.0.0-alpha.23',
37
+ '@storybook/client-logger': '7.0.0-alpha.23',
38
+ '@storybook/codemod': '7.0.0-alpha.23',
39
+ '@storybook/components': '7.0.0-alpha.23',
40
+ '@storybook/core-client': '7.0.0-alpha.23',
41
+ '@storybook/core-common': '7.0.0-alpha.23',
42
+ '@storybook/core-events': '7.0.0-alpha.23',
43
+ '@storybook/core-server': '7.0.0-alpha.23',
44
+ '@storybook/core-webpack': '7.0.0-alpha.23',
45
+ '@storybook/csf-tools': '7.0.0-alpha.23',
46
+ '@storybook/docs-tools': '7.0.0-alpha.23',
47
+ '@storybook/ember': '7.0.0-alpha.23',
48
+ '@storybook/html': '7.0.0-alpha.23',
49
+ '@storybook/html-webpack5': '7.0.0-alpha.23',
50
+ '@storybook/instrumenter': '7.0.0-alpha.23',
51
+ '@storybook/node-logger': '7.0.0-alpha.23',
52
+ '@storybook/postinstall': '7.0.0-alpha.23',
53
+ '@storybook/preact': '7.0.0-alpha.23',
54
+ '@storybook/preact-webpack5': '7.0.0-alpha.23',
55
+ '@storybook/preset-html-webpack': '7.0.0-alpha.23',
56
+ '@storybook/preset-preact-webpack': '7.0.0-alpha.23',
57
+ '@storybook/preset-react-webpack': '7.0.0-alpha.23',
58
+ '@storybook/preset-server-webpack': '7.0.0-alpha.23',
59
+ '@storybook/preset-svelte-webpack': '7.0.0-alpha.23',
60
+ '@storybook/preset-vue-webpack': '7.0.0-alpha.23',
61
+ '@storybook/preset-vue3-webpack': '7.0.0-alpha.23',
62
+ '@storybook/preset-web-components-webpack': '7.0.0-alpha.23',
63
+ '@storybook/preview-web': '7.0.0-alpha.23',
64
+ '@storybook/react': '7.0.0-alpha.23',
65
+ '@storybook/react-webpack5': '7.0.0-alpha.23',
66
+ '@storybook/router': '7.0.0-alpha.23',
67
+ '@storybook/server': '7.0.0-alpha.23',
68
+ '@storybook/server-webpack5': '7.0.0-alpha.23',
69
+ '@storybook/source-loader': '7.0.0-alpha.23',
70
+ '@storybook/store': '7.0.0-alpha.23',
71
+ '@storybook/svelte': '7.0.0-alpha.23',
72
+ '@storybook/svelte-webpack5': '7.0.0-alpha.23',
73
+ '@storybook/telemetry': '7.0.0-alpha.23',
74
+ '@storybook/theming': '7.0.0-alpha.23',
75
+ '@storybook/ui': '7.0.0-alpha.23',
76
+ '@storybook/vue': '7.0.0-alpha.23',
77
+ '@storybook/vue-webpack5': '7.0.0-alpha.23',
78
+ '@storybook/vue3': '7.0.0-alpha.23',
79
+ '@storybook/vue3-webpack5': '7.0.0-alpha.23',
80
+ '@storybook/web-components': '7.0.0-alpha.23',
81
+ '@storybook/web-components-webpack5': '7.0.0-alpha.23',
82
+ sb: '7.0.0-alpha.23',
83
+ storybook: '7.0.0-alpha.23'
84
84
  };
85
85
  exports.default = _default;
@@ -2,7 +2,6 @@ import chalk from 'chalk';
2
2
  import { dedent } from 'ts-dedent';
3
3
  import { readConfig, writeConfig } from '@storybook/csf-tools';
4
4
  import { getStorybookInfo } from '@storybook/core-common';
5
- import { writePackageJson } from '../../js-package-manager';
6
5
  const logger = console;
7
6
 
8
7
  /**
@@ -78,7 +77,7 @@ export const builderVite = {
78
77
  if (!dryRun) {
79
78
  delete dependencies['storybook-builder-vite'];
80
79
  delete devDependencies['storybook-builder-vite'];
81
- writePackageJson(packageJson);
80
+ packageManager.writePackageJson(packageJson);
82
81
  }
83
82
 
84
83
  logger.info(`Adding '@storybook/builder-vite' as dev dependency`);
@@ -3,7 +3,6 @@ import fs from 'fs';
3
3
  import findUp from 'find-up';
4
4
  import { ProjectType, supportedTemplates, SUPPORTED_RENDERERS, SupportedLanguage, unsupportedTemplate, CoreBuilder } from './project_types';
5
5
  import { getBowerJson, paddedLog } from './helpers';
6
- import { readPackageJson } from './js-package-manager';
7
6
  import { detectNextJS } from './detect-nextjs';
8
7
  const viteConfigFiles = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
9
8
 
@@ -118,15 +117,8 @@ export function isStorybookInstalled(dependencies, force) {
118
117
 
119
118
  return false;
120
119
  }
121
- export function detectLanguage() {
120
+ export function detectLanguage(packageJson) {
122
121
  let language = SupportedLanguage.JAVASCRIPT;
123
- let packageJson;
124
-
125
- try {
126
- packageJson = readPackageJson();
127
- } catch (err) {//
128
- }
129
-
130
122
  const bowerJson = getBowerJson();
131
123
 
132
124
  if (!packageJson && !bowerJson) {
@@ -139,14 +131,7 @@ export function detectLanguage() {
139
131
 
140
132
  return language;
141
133
  }
142
- export function detect(options = {}) {
143
- let packageJson;
144
-
145
- try {
146
- packageJson = readPackageJson();
147
- } catch (err) {//
148
- }
149
-
134
+ export function detect(packageJson, options = {}) {
150
135
  const bowerJson = getBowerJson();
151
136
 
152
137
  if (!packageJson && !bowerJson) {
@@ -1,5 +1,4 @@
1
1
  import { baseGenerator } from '../baseGenerator';
2
- import { writePackageJson } from '../../js-package-manager';
3
2
 
4
3
  const generator = async (packageManager, npmOptions, options) => {
5
4
  const [latestRaxVersion] = await packageManager.getVersions('rax');
@@ -12,7 +11,7 @@ const generator = async (packageManager, npmOptions, options) => {
12
11
  packageJson.dependencies['rax-link'] = packageJson.dependencies['rax-link'] || raxVersion;
13
12
  packageJson.dependencies['rax-text'] = packageJson.dependencies['rax-text'] || raxVersion;
14
13
  packageJson.dependencies['rax-view'] = packageJson.dependencies['rax-view'] || raxVersion;
15
- writePackageJson(packageJson);
14
+ packageManager.writePackageJson(packageJson);
16
15
  await baseGenerator(packageManager, npmOptions, options, 'rax', {
17
16
  extraPackages: ['rax']
18
17
  });
@@ -34,7 +34,14 @@ const installStorybook = (projectType, packageManager, options) => {
34
34
  installAsDevDependencies: true,
35
35
  skipInstall: options.skipInstall
36
36
  };
37
- const language = detectLanguage();
37
+ let packageJson;
38
+
39
+ try {
40
+ packageJson = packageManager.readPackageJson();
41
+ } catch (err) {//
42
+ }
43
+
44
+ const language = detectLanguage(packageJson);
38
45
  const generatorOptions = {
39
46
  language,
40
47
  builder: options.builder || detectBuilder(packageManager),
@@ -208,7 +215,7 @@ export async function initiate(options, pkg) {
208
215
  process.exit(1);
209
216
  }
210
217
  } else {
211
- projectType = detect(options);
218
+ projectType = detect(packageJson, options);
212
219
  }
213
220
  } catch (ex) {
214
221
  done(ex.message);