@nrwl/storybook 14.8.0 → 14.8.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [14.8.0](https://github.com/nrwl/nx/compare/14.7.18...14.8.0) (2022-09-28)
6
+ ## [14.8.2](https://github.com/nrwl/nx/compare/14.8.1...14.8.2) (2022-09-29)
7
7
 
8
8
  **Note:** Version bump only for package @nrwl/storybook
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/storybook",
3
- "version": "14.8.0",
3
+ "version": "14.8.2",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Storybook contains executors and generators for allowing your workspace to use the powerful Storybook integration testing & documenting capabilities.",
6
6
  "repository": {
@@ -30,10 +30,10 @@
30
30
  "migrations": "./migrations.json"
31
31
  },
32
32
  "dependencies": {
33
- "@nrwl/cypress": "14.8.0",
34
- "@nrwl/devkit": "14.8.0",
35
- "@nrwl/linter": "14.8.0",
36
- "@nrwl/workspace": "14.8.0",
33
+ "@nrwl/cypress": "14.8.2",
34
+ "@nrwl/devkit": "14.8.2",
35
+ "@nrwl/linter": "14.8.2",
36
+ "@nrwl/workspace": "14.8.2",
37
37
  "dotenv": "~10.0.0",
38
38
  "semver": "7.3.4"
39
39
  },
@@ -41,5 +41,5 @@
41
41
  "access": "public"
42
42
  },
43
43
  "types": "./index.d.ts",
44
- "gitHead": "225b3a24ab4556deb644f0541572723c61d5883c"
44
+ "gitHead": "d294c770d0ee447233619bba4654b45eeabefb13"
45
45
  }
@@ -9,4 +9,4 @@ export interface NodePackage {
9
9
  export declare function getStorybookFrameworkPath(uiFramework: any): any;
10
10
  export declare function runStorybookSetupCheck(options: CommonNxStorybookConfig): void;
11
11
  export declare function resolveCommonStorybookOptionMapper(builderOptions: CommonNxStorybookConfig, frameworkOptions: any, context: ExecutorContext): any;
12
- export declare function findBuilderInMainJsTs(storybookConfig: ts.SourceFile): void;
12
+ export declare function builderIsWebpackButNotWebpack5(storybookConfig: ts.SourceFile): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findBuilderInMainJsTs = exports.resolveCommonStorybookOptionMapper = exports.runStorybookSetupCheck = exports.getStorybookFrameworkPath = void 0;
3
+ exports.builderIsWebpackButNotWebpack5 = exports.resolveCommonStorybookOptionMapper = exports.runStorybookSetupCheck = exports.getStorybookFrameworkPath = void 0;
4
4
  const devkit_1 = require("@nrwl/devkit");
5
5
  const find_nodes_1 = require("@nrwl/workspace/src/utilities/typescript/find-nodes");
6
6
  require("dotenv/config");
@@ -37,21 +37,35 @@ function runStorybookSetupCheck(options) {
37
37
  exports.runStorybookSetupCheck = runStorybookSetupCheck;
38
38
  function reactWebpack5Check(options) {
39
39
  if (options.uiFramework === '@storybook/react') {
40
- let storybookConfigFilePath = (0, devkit_1.joinPathFragments)(options.config.configFolder, 'main.js');
41
- if (!(0, fs_1.existsSync)(storybookConfigFilePath)) {
42
- storybookConfigFilePath = (0, devkit_1.joinPathFragments)(options.config.configFolder, 'main.ts');
43
- }
44
- if (!(0, fs_1.existsSync)(storybookConfigFilePath)) {
45
- // looks like there's no main config file, so skip
46
- return;
47
- }
40
+ const source = mainJsTsFileContent(options.config.configFolder);
41
+ const rootSource = mainJsTsFileContent('.storybook');
48
42
  // check whether the current Storybook configuration has the webpack 5 builder enabled
49
- const storybookConfig = (0, fs_1.readFileSync)(storybookConfigFilePath, {
50
- encoding: 'utf8',
51
- });
52
- const source = ts.createSourceFile(storybookConfigFilePath, storybookConfig, ts.ScriptTarget.Latest, true);
53
- findBuilderInMainJsTs(source);
43
+ if (builderIsWebpackButNotWebpack5(source) &&
44
+ builderIsWebpackButNotWebpack5(rootSource)) {
45
+ devkit_1.logger.warn(`
46
+ It looks like you use Webpack 5 but your Storybook setup is not configured to leverage that
47
+ and thus falls back to Webpack 4.
48
+ Make sure you upgrade your Storybook config to use Webpack 5.
49
+
50
+ - https://gist.github.com/shilman/8856ea1786dcd247139b47b270912324#upgrade
51
+
52
+ `);
53
+ }
54
+ }
55
+ }
56
+ function mainJsTsFileContent(configFolder) {
57
+ let storybookConfigFilePath = (0, devkit_1.joinPathFragments)(configFolder, 'main.js');
58
+ if (!(0, fs_1.existsSync)(storybookConfigFilePath)) {
59
+ storybookConfigFilePath = (0, devkit_1.joinPathFragments)(configFolder, 'main.ts');
54
60
  }
61
+ if (!(0, fs_1.existsSync)(storybookConfigFilePath)) {
62
+ // looks like there's no main config file, so skip
63
+ return;
64
+ }
65
+ const storybookConfig = (0, fs_1.readFileSync)(storybookConfigFilePath, {
66
+ encoding: 'utf8',
67
+ });
68
+ return ts.createSourceFile(storybookConfigFilePath, storybookConfig, ts.ScriptTarget.Latest, true);
55
69
  }
56
70
  function webpackFinalPropertyCheck(options) {
57
71
  let placesToCheck = [
@@ -87,34 +101,23 @@ function resolveCommonStorybookOptionMapper(builderOptions, frameworkOptions, co
87
101
  return storybookOptions;
88
102
  }
89
103
  exports.resolveCommonStorybookOptionMapper = resolveCommonStorybookOptionMapper;
90
- function findBuilderInMainJsTs(storybookConfig) {
104
+ function builderIsWebpackButNotWebpack5(storybookConfig) {
91
105
  const importArray = (0, find_nodes_1.findNodes)(storybookConfig, [
92
106
  ts.SyntaxKind.PropertyAssignment,
93
107
  ]);
94
- let builderIsSpecified = false;
108
+ let builderIsWebpackNot5 = false;
95
109
  importArray.forEach((parent) => {
96
- var _a, _b;
110
+ var _a, _b, _c;
97
111
  const identifier = (0, find_nodes_1.findNodes)(parent, ts.SyntaxKind.Identifier);
98
112
  const sbBuilder = (0, find_nodes_1.findNodes)(parent, ts.SyntaxKind.StringLiteral);
99
113
  const builderText = (_b = (_a = sbBuilder === null || sbBuilder === void 0 ? void 0 : sbBuilder[0]) === null || _a === void 0 ? void 0 : _a.getText()) !== null && _b !== void 0 ? _b : '';
100
- if (identifier[0].getText() === 'builder') {
101
- builderIsSpecified = true;
102
- if (builderText.includes('webpack') &&
103
- !builderText.includes('webpack5')) {
104
- builderIsSpecified = false;
105
- }
114
+ if (((_c = identifier === null || identifier === void 0 ? void 0 : identifier[0]) === null || _c === void 0 ? void 0 : _c.getText()) === 'builder' &&
115
+ builderText.includes('webpack') &&
116
+ !builderText.includes('webpack5')) {
117
+ builderIsWebpackNot5 = true;
106
118
  }
107
119
  });
108
- if (!builderIsSpecified) {
109
- devkit_1.logger.warn(`
110
- It looks like you use Webpack 5 but your Storybook setup is not configured to leverage that
111
- and thus falls back to Webpack 4.
112
- Make sure you upgrade your Storybook config to use Webpack 5.
113
-
114
- - https://gist.github.com/shilman/8856ea1786dcd247139b47b270912324#upgrade
115
-
116
- `);
117
- }
120
+ return builderIsWebpackNot5;
118
121
  }
119
- exports.findBuilderInMainJsTs = findBuilderInMainJsTs;
122
+ exports.builderIsWebpackButNotWebpack5 = builderIsWebpackButNotWebpack5;
120
123
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/storybook/src/executors/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/storybook/src/executors/utils.ts"],"names":[],"mappings":"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"}