@nx/storybook 16.0.0-beta.1

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 (125) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +22 -0
  3. package/README.md +63 -0
  4. package/executors.json +26 -0
  5. package/generators.json +58 -0
  6. package/index.d.ts +3 -0
  7. package/index.js +10 -0
  8. package/index.js.map +1 -0
  9. package/migrations.json +294 -0
  10. package/package.json +49 -0
  11. package/presets/cypress.d.ts +22 -0
  12. package/presets/cypress.js +9 -0
  13. package/presets/cypress.js.map +1 -0
  14. package/src/executors/build-storybook/build-storybook.impl.d.ts +7 -0
  15. package/src/executors/build-storybook/build-storybook.impl.js +58 -0
  16. package/src/executors/build-storybook/build-storybook.impl.js.map +1 -0
  17. package/src/executors/build-storybook/compat.d.ts +2 -0
  18. package/src/executors/build-storybook/compat.js +6 -0
  19. package/src/executors/build-storybook/compat.js.map +1 -0
  20. package/src/executors/build-storybook/schema.json +122 -0
  21. package/src/executors/storybook/compat.d.ts +2 -0
  22. package/src/executors/storybook/compat.js +6 -0
  23. package/src/executors/storybook/compat.js.map +1 -0
  24. package/src/executors/storybook/schema.json +94 -0
  25. package/src/executors/storybook/storybook.impl.d.ts +11 -0
  26. package/src/executors/storybook/storybook.impl.js +53 -0
  27. package/src/executors/storybook/storybook.impl.js.map +1 -0
  28. package/src/executors/utils.d.ts +12 -0
  29. package/src/executors/utils.js +148 -0
  30. package/src/executors/utils.js.map +1 -0
  31. package/src/generators/configuration/configuration.d.ts +5 -0
  32. package/src/generators/configuration/configuration.js +191 -0
  33. package/src/generators/configuration/configuration.js.map +1 -0
  34. package/src/generators/configuration/lib/user-prompts.d.ts +6 -0
  35. package/src/generators/configuration/lib/user-prompts.js +90 -0
  36. package/src/generators/configuration/lib/user-prompts.js.map +1 -0
  37. package/src/generators/configuration/lib/util-functions.d.ts +27 -0
  38. package/src/generators/configuration/lib/util-functions.js +359 -0
  39. package/src/generators/configuration/lib/util-functions.js.map +1 -0
  40. package/src/generators/configuration/project-files/.storybook/main.js__tmpl__ +46 -0
  41. package/src/generators/configuration/project-files/.storybook/preview.js__tmpl__ +0 -0
  42. package/src/generators/configuration/project-files/.storybook/tsconfig.json__tmpl__ +26 -0
  43. package/src/generators/configuration/project-files-7/.storybook/main.js__tmpl__ +34 -0
  44. package/src/generators/configuration/project-files-7/.storybook/preview.js__tmpl__ +0 -0
  45. package/src/generators/configuration/project-files-7/.storybook/tsconfig.json__tmpl__ +26 -0
  46. package/src/generators/configuration/project-files-7-ts/.storybook/main.ts__tmpl__ +36 -0
  47. package/src/generators/configuration/project-files-7-ts/.storybook/preview.ts__tmpl__ +0 -0
  48. package/src/generators/configuration/project-files-7-ts/.storybook/tsconfig.json__tmpl__ +28 -0
  49. package/src/generators/configuration/project-files-ts/.storybook/main.ts__tmpl__ +49 -0
  50. package/src/generators/configuration/project-files-ts/.storybook/preview.ts__tmpl__ +0 -0
  51. package/src/generators/configuration/project-files-ts/.storybook/tsconfig.json__tmpl__ +28 -0
  52. package/src/generators/configuration/schema.d.ts +19 -0
  53. package/src/generators/configuration/schema.json +124 -0
  54. package/src/generators/cypress-project/cypress-project.d.ts +14 -0
  55. package/src/generators/cypress-project/cypress-project.js +98 -0
  56. package/src/generators/cypress-project/cypress-project.js.map +1 -0
  57. package/src/generators/cypress-project/files/cypress.config.ts__tpl__ +6 -0
  58. package/src/generators/cypress-project/schema.json +55 -0
  59. package/src/generators/init/init.d.ts +5 -0
  60. package/src/generators/init/init.js +181 -0
  61. package/src/generators/init/init.js.map +1 -0
  62. package/src/generators/init/schema.d.ts +8 -0
  63. package/src/generators/init/schema.json +60 -0
  64. package/src/generators/migrate-7/calling-storybook-cli.d.ts +13 -0
  65. package/src/generators/migrate-7/calling-storybook-cli.js +85 -0
  66. package/src/generators/migrate-7/calling-storybook-cli.js.map +1 -0
  67. package/src/generators/migrate-7/files/storybook-migration-summary.md__tmpl__ +80 -0
  68. package/src/generators/migrate-7/helper-functions.d.ts +69 -0
  69. package/src/generators/migrate-7/helper-functions.js +449 -0
  70. package/src/generators/migrate-7/helper-functions.js.map +1 -0
  71. package/src/generators/migrate-7/migrate-7.d.ts +5 -0
  72. package/src/generators/migrate-7/migrate-7.js +73 -0
  73. package/src/generators/migrate-7/migrate-7.js.map +1 -0
  74. package/src/generators/migrate-7/schema.d.ts +9 -0
  75. package/src/generators/migrate-7/schema.json +35 -0
  76. package/src/migrations/update-13-4-6/set-project-build-config.d.ts +2 -0
  77. package/src/migrations/update-13-4-6/set-project-build-config.js +61 -0
  78. package/src/migrations/update-13-4-6/set-project-build-config.js.map +1 -0
  79. package/src/migrations/update-14-0-0/migrate-defaults-5-to-6/migrate-defaults-5-to-6.d.ts +6 -0
  80. package/src/migrations/update-14-0-0/migrate-defaults-5-to-6/migrate-defaults-5-to-6.js +120 -0
  81. package/src/migrations/update-14-0-0/migrate-defaults-5-to-6/migrate-defaults-5-to-6.js.map +1 -0
  82. package/src/migrations/update-14-0-0/migrate-stories-to-6-2/migrate-stories-to-6-2.d.ts +8 -0
  83. package/src/migrations/update-14-0-0/migrate-stories-to-6-2/migrate-stories-to-6-2.js +294 -0
  84. package/src/migrations/update-14-0-0/migrate-stories-to-6-2/migrate-stories-to-6-2.js.map +1 -0
  85. package/src/migrations/update-14-0-0/migrate-to-storybook-6.d.ts +2 -0
  86. package/src/migrations/update-14-0-0/migrate-to-storybook-6.js +13 -0
  87. package/src/migrations/update-14-0-0/migrate-to-storybook-6.js.map +1 -0
  88. package/src/migrations/update-14-1-8/change-storybook-targets-generator.d.ts +4 -0
  89. package/src/migrations/update-14-1-8/change-storybook-targets-generator.js +105 -0
  90. package/src/migrations/update-14-1-8/change-storybook-targets-generator.js.map +1 -0
  91. package/src/migrations/update-14-1-8/change-storybook-targets.d.ts +2 -0
  92. package/src/migrations/update-14-1-8/change-storybook-targets.js +11 -0
  93. package/src/migrations/update-14-1-8/change-storybook-targets.js.map +1 -0
  94. package/src/migrations/update-15-0-0/add-storybook-inputs.d.ts +2 -0
  95. package/src/migrations/update-15-0-0/add-storybook-inputs.js +47 -0
  96. package/src/migrations/update-15-0-0/add-storybook-inputs.js.map +1 -0
  97. package/src/migrations/update-15-4-6/refactor-executor-options.d.ts +2 -0
  98. package/src/migrations/update-15-4-6/refactor-executor-options.js +67 -0
  99. package/src/migrations/update-15-4-6/refactor-executor-options.js.map +1 -0
  100. package/src/migrations/update-15-5-3/ensure-webpack-package.d.ts +2 -0
  101. package/src/migrations/update-15-5-3/ensure-webpack-package.js +33 -0
  102. package/src/migrations/update-15-5-3/ensure-webpack-package.js.map +1 -0
  103. package/src/migrations/update-15-7-0/add-addon-essentials-to-all.d.ts +24 -0
  104. package/src/migrations/update-15-7-0/add-addon-essentials-to-all.js +278 -0
  105. package/src/migrations/update-15-7-0/add-addon-essentials-to-all.js.map +1 -0
  106. package/src/migrations/update-15-7-0/remove-root-config.d.ts +14 -0
  107. package/src/migrations/update-15-7-0/remove-root-config.js +210 -0
  108. package/src/migrations/update-15-7-0/remove-root-config.js.map +1 -0
  109. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.d.ts +2 -0
  110. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +13 -0
  111. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -0
  112. package/src/utils/models.d.ts +5 -0
  113. package/src/utils/models.js +3 -0
  114. package/src/utils/models.js.map +1 -0
  115. package/src/utils/test-configs/.storybook/main.js +8 -0
  116. package/src/utils/test-configs/.storybook/tsconfig.json +19 -0
  117. package/src/utils/testing.d.ts +3 -0
  118. package/src/utils/testing.js +38 -0
  119. package/src/utils/testing.js.map +1 -0
  120. package/src/utils/utilities.d.ts +53 -0
  121. package/src/utils/utilities.js +255 -0
  122. package/src/utils/utilities.js.map +1 -0
  123. package/src/utils/versions.d.ts +20 -0
  124. package/src/utils/versions.js +24 -0
  125. package/src/utils/versions.js.map +1 -0
@@ -0,0 +1,359 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getViteConfigFilePath = exports.getE2EProjectName = exports.rootFileIsTs = exports.workspaceHasRootProject = exports.projectIsRootProjectInStandaloneWorkspace = exports.addBuildStorybookToCacheableOperations = exports.getTsConfigPath = exports.createProjectStorybookDir = exports.addStorybookToNamedInputs = exports.normalizeSchema = exports.updateLintConfig = exports.configureTsSolutionConfig = exports.configureTsProjectConfig = exports.addStaticTarget = exports.addAngularStorybookTask = exports.addStorybookTask = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
7
+ const linter_1 = require("@nx/linter");
8
+ const path_1 = require("path");
9
+ const utilities_1 = require("../../../utils/utilities");
10
+ const versions_1 = require("../../../utils/versions");
11
+ const DEFAULT_PORT = 4400;
12
+ function addStorybookTask(tree, projectName, uiFramework, configureTestRunner, usesV7) {
13
+ if (uiFramework === '@storybook/react-native') {
14
+ return;
15
+ }
16
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
17
+ projectConfig.targets['storybook'] = {
18
+ executor: '@nrwl/storybook:storybook',
19
+ options: {
20
+ port: DEFAULT_PORT,
21
+ configDir: `${projectConfig.root}/.storybook`,
22
+ },
23
+ configurations: {
24
+ ci: {
25
+ quiet: true,
26
+ },
27
+ },
28
+ };
29
+ projectConfig.targets['build-storybook'] = {
30
+ executor: '@nrwl/storybook:build',
31
+ outputs: ['{options.outputDir}'],
32
+ options: {
33
+ outputDir: (0, devkit_1.joinPathFragments)('dist/storybook', projectName),
34
+ configDir: `${projectConfig.root}/.storybook`,
35
+ },
36
+ configurations: {
37
+ ci: {
38
+ quiet: true,
39
+ },
40
+ },
41
+ };
42
+ if (!usesV7) {
43
+ projectConfig.targets['storybook'].options.uiFramework = uiFramework;
44
+ projectConfig.targets['build-storybook'].options.uiFramework = uiFramework;
45
+ }
46
+ if (configureTestRunner === true) {
47
+ projectConfig.targets['test-storybook'] = {
48
+ executor: 'nx:run-commands',
49
+ options: {
50
+ command: `test-storybook -c ${projectConfig.root}/.storybook --url=http://localhost:${DEFAULT_PORT}`,
51
+ },
52
+ };
53
+ }
54
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
55
+ }
56
+ exports.addStorybookTask = addStorybookTask;
57
+ function addAngularStorybookTask(tree, projectName, configureTestRunner) {
58
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
59
+ const { ngBuildTarget } = (0, utilities_1.findStorybookAndBuildTargetsAndCompiler)(projectConfig.targets);
60
+ projectConfig.targets['storybook'] = {
61
+ executor: '@storybook/angular:start-storybook',
62
+ options: {
63
+ port: 4400,
64
+ configDir: `${projectConfig.root}/.storybook`,
65
+ browserTarget: `${projectName}:${ngBuildTarget ? 'build' : 'build-storybook'}`,
66
+ compodoc: false,
67
+ },
68
+ configurations: {
69
+ ci: {
70
+ quiet: true,
71
+ },
72
+ },
73
+ };
74
+ projectConfig.targets['build-storybook'] = {
75
+ executor: '@storybook/angular:build-storybook',
76
+ outputs: ['{options.outputDir}'],
77
+ options: {
78
+ outputDir: (0, devkit_1.joinPathFragments)('dist/storybook', projectName),
79
+ configDir: `${projectConfig.root}/.storybook`,
80
+ browserTarget: `${projectName}:${ngBuildTarget ? 'build' : 'build-storybook'}`,
81
+ compodoc: false,
82
+ },
83
+ configurations: {
84
+ ci: {
85
+ quiet: true,
86
+ },
87
+ },
88
+ };
89
+ if (configureTestRunner === true) {
90
+ projectConfig.targets['test-storybook'] = {
91
+ executor: 'nx:run-commands',
92
+ options: {
93
+ command: `test-storybook -c ${projectConfig.root}/.storybook --url=http://localhost:${DEFAULT_PORT}`,
94
+ },
95
+ };
96
+ }
97
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
98
+ }
99
+ exports.addAngularStorybookTask = addAngularStorybookTask;
100
+ function addStaticTarget(tree, opts) {
101
+ const nrwlWeb = (0, devkit_1.ensurePackage)('@nx/web', versions_1.nxVersion);
102
+ nrwlWeb.webStaticServeGenerator(tree, {
103
+ buildTarget: `${opts.name}:build-storybook`,
104
+ outputPath: (0, devkit_1.joinPathFragments)('dist/storybook', opts.name),
105
+ targetName: 'static-storybook',
106
+ });
107
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, opts.name);
108
+ projectConfig.targets['static-storybook'].configurations = {
109
+ ci: {
110
+ buildTarget: `${opts.name}:build-storybook:ci`,
111
+ },
112
+ };
113
+ (0, devkit_1.updateProjectConfiguration)(tree, opts.name, projectConfig);
114
+ }
115
+ exports.addStaticTarget = addStaticTarget;
116
+ function configureTsProjectConfig(tree, schema) {
117
+ var _a, _b, _c;
118
+ const { name: projectName } = schema;
119
+ let tsConfigPath;
120
+ let tsConfigContent;
121
+ try {
122
+ tsConfigPath = getTsConfigPath(tree, projectName);
123
+ tsConfigContent = (0, devkit_1.readJson)(tree, tsConfigPath);
124
+ }
125
+ catch (_d) {
126
+ /**
127
+ * Custom app configurations
128
+ * may contain a tsconfig.json
129
+ * instead of a tsconfig.app.json.
130
+ */
131
+ tsConfigPath = getTsConfigPath(tree, projectName, 'tsconfig.json');
132
+ tsConfigContent = (0, devkit_1.readJson)(tree, tsConfigPath);
133
+ }
134
+ if (!((_a = tsConfigContent === null || tsConfigContent === void 0 ? void 0 : tsConfigContent.exclude) === null || _a === void 0 ? void 0 : _a.includes('**/*.stories.ts')) &&
135
+ !((_b = tsConfigContent === null || tsConfigContent === void 0 ? void 0 : tsConfigContent.exclude) === null || _b === void 0 ? void 0 : _b.includes('**/*.stories.js'))) {
136
+ tsConfigContent.exclude = [
137
+ ...(tsConfigContent.exclude || []),
138
+ '**/*.stories.ts',
139
+ '**/*.stories.js',
140
+ ...(schema.uiFramework === '@storybook/react' ||
141
+ schema.uiFramework === '@storybook/react-native' ||
142
+ ((_c = schema.storybook7UiFramework) === null || _c === void 0 ? void 0 : _c.startsWith('@storybook/react'))
143
+ ? ['**/*.stories.jsx', '**/*.stories.tsx']
144
+ : []),
145
+ ];
146
+ }
147
+ (0, devkit_1.writeJson)(tree, tsConfigPath, tsConfigContent);
148
+ }
149
+ exports.configureTsProjectConfig = configureTsProjectConfig;
150
+ function configureTsSolutionConfig(tree, schema) {
151
+ var _a, _b;
152
+ const { name: projectName } = schema;
153
+ const { root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
154
+ const tsConfigPath = (0, path_1.join)(root, 'tsconfig.json');
155
+ const tsConfigContent = (0, devkit_1.readJson)(tree, tsConfigPath);
156
+ if (!((_b = (_a = tsConfigContent.references) === null || _a === void 0 ? void 0 : _a.map((reference) => reference.path)) === null || _b === void 0 ? void 0 : _b.includes('./.storybook/tsconfig.json'))) {
157
+ tsConfigContent.references = [
158
+ ...(tsConfigContent.references || []),
159
+ {
160
+ path: './.storybook/tsconfig.json',
161
+ },
162
+ ];
163
+ }
164
+ (0, devkit_1.writeJson)(tree, tsConfigPath, tsConfigContent);
165
+ }
166
+ exports.configureTsSolutionConfig = configureTsSolutionConfig;
167
+ /**
168
+ * When adding storybook we need to inform TSLint or ESLint
169
+ * of the additional tsconfig.json file which will be the only tsconfig
170
+ * which includes *.stories files.
171
+ *
172
+ * For TSLint this is done via the builder config, for ESLint this is
173
+ * done within the .eslintrc.json file.
174
+ */
175
+ function updateLintConfig(tree, schema) {
176
+ const { name: projectName } = schema;
177
+ const { targets, root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
178
+ const tslintTargets = Object.values(targets).filter((target) => target.executor === '@angular-devkit/build-angular:tslint');
179
+ tslintTargets.forEach((target) => {
180
+ target.options.tsConfig = (0, utilities_1.dedupe)([
181
+ ...target.options.tsConfig,
182
+ (0, devkit_1.joinPathFragments)(root, './.storybook/tsconfig.json'),
183
+ ]);
184
+ });
185
+ if (tree.exists((0, path_1.join)(root, '.eslintrc.json'))) {
186
+ (0, devkit_1.updateJson)(tree, (0, path_1.join)(root, '.eslintrc.json'), (json) => {
187
+ var _a, _b, _c, _d;
188
+ if (typeof ((_a = json.parserOptions) === null || _a === void 0 ? void 0 : _a.project) === 'string') {
189
+ json.parserOptions.project = [json.parserOptions.project];
190
+ }
191
+ if (Array.isArray((_b = json.parserOptions) === null || _b === void 0 ? void 0 : _b.project)) {
192
+ json.parserOptions.project = (0, utilities_1.dedupe)([
193
+ ...json.parserOptions.project,
194
+ (0, path_1.join)(root, '.storybook/tsconfig.json'),
195
+ ]);
196
+ }
197
+ const overrides = json.overrides || [];
198
+ for (const o of overrides) {
199
+ if (typeof ((_c = o.parserOptions) === null || _c === void 0 ? void 0 : _c.project) === 'string') {
200
+ o.parserOptions.project = [o.parserOptions.project];
201
+ }
202
+ if (Array.isArray((_d = o.parserOptions) === null || _d === void 0 ? void 0 : _d.project)) {
203
+ o.parserOptions.project = (0, utilities_1.dedupe)([
204
+ ...o.parserOptions.project,
205
+ (0, path_1.join)(root, '.storybook/tsconfig.json'),
206
+ ]);
207
+ }
208
+ }
209
+ return json;
210
+ });
211
+ }
212
+ }
213
+ exports.updateLintConfig = updateLintConfig;
214
+ function normalizeSchema(schema) {
215
+ const defaults = {
216
+ configureCypress: true,
217
+ linter: linter_1.Linter.EsLint,
218
+ js: false,
219
+ };
220
+ return Object.assign(Object.assign({}, defaults), schema);
221
+ }
222
+ exports.normalizeSchema = normalizeSchema;
223
+ function addStorybookToNamedInputs(tree) {
224
+ var _a, _b, _c, _d;
225
+ var _e, _f;
226
+ const nxJson = (0, devkit_1.readNxJson)(tree);
227
+ if (nxJson.namedInputs) {
228
+ const hasProductionFileset = !!((_a = nxJson.namedInputs) === null || _a === void 0 ? void 0 : _a.production);
229
+ if (hasProductionFileset) {
230
+ if (!nxJson.namedInputs.production.includes('!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)')) {
231
+ nxJson.namedInputs.production.push('!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)');
232
+ }
233
+ if (!nxJson.namedInputs.production.includes('!{projectRoot}/.storybook/**/*')) {
234
+ nxJson.namedInputs.production.push('!{projectRoot}/.storybook/**/*');
235
+ }
236
+ }
237
+ (_b = nxJson.targetDefaults) !== null && _b !== void 0 ? _b : (nxJson.targetDefaults = {});
238
+ (_c = (_e = nxJson.targetDefaults)['build-storybook']) !== null && _c !== void 0 ? _c : (_e['build-storybook'] = {});
239
+ (_d = (_f = nxJson.targetDefaults['build-storybook']).inputs) !== null && _d !== void 0 ? _d : (_f.inputs = [
240
+ 'default',
241
+ hasProductionFileset ? '^production' : '^default',
242
+ ]);
243
+ if (!nxJson.targetDefaults['build-storybook'].inputs.includes('!{projectRoot}/.storybook/**/*')) {
244
+ nxJson.targetDefaults['build-storybook'].inputs.push('!{projectRoot}/.storybook/**/*');
245
+ }
246
+ (0, devkit_1.updateNxJson)(tree, nxJson);
247
+ }
248
+ }
249
+ exports.addStorybookToNamedInputs = addStorybookToNamedInputs;
250
+ function createProjectStorybookDir(tree, projectName, uiFramework, js, tsConfiguration, root, projectType, projectIsRootProjectInStandaloneWorkspace, isNextJs, usesSwc, usesVite, usesV7, viteConfigFilePath) {
251
+ const projectDirectory = projectType === 'application'
252
+ ? isNextJs
253
+ ? 'components'
254
+ : 'src/app'
255
+ : 'src/lib';
256
+ const storybookConfigExists = projectIsRootProjectInStandaloneWorkspace
257
+ ? tree.exists('.storybook/main.js') || tree.exists('.storybook/main.ts')
258
+ : tree.exists((0, path_1.join)(root, '.storybook/main.ts')) ||
259
+ tree.exists((0, path_1.join)(root, '.storybook/main.js'));
260
+ if (storybookConfigExists) {
261
+ devkit_1.logger.warn(`Storybook configuration files already exist for ${projectName}!`);
262
+ return;
263
+ }
264
+ devkit_1.logger.debug(`adding .storybook folder to your ${projectType}`);
265
+ const templatePath = (0, path_1.join)(__dirname, `../project-files${usesV7 ? '-7' : ''}${tsConfiguration ? '-ts' : ''}`);
266
+ (0, devkit_1.generateFiles)(tree, templatePath, root, {
267
+ tmpl: '',
268
+ uiFramework,
269
+ offsetFromRoot: (0, devkit_1.offsetFromRoot)(root),
270
+ projectDirectory,
271
+ projectType,
272
+ mainDir: isNextJs && projectType === 'application' ? 'components' : 'src',
273
+ isNextJs: isNextJs && projectType === 'application',
274
+ usesSwc,
275
+ usesVite,
276
+ isRootProject: projectIsRootProjectInStandaloneWorkspace,
277
+ viteConfigFilePath,
278
+ });
279
+ if (js) {
280
+ (0, devkit_1.toJS)(tree);
281
+ }
282
+ }
283
+ exports.createProjectStorybookDir = createProjectStorybookDir;
284
+ function getTsConfigPath(tree, projectName, path) {
285
+ const { root, projectType } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
286
+ return (0, path_1.join)(root, path && path.length > 0
287
+ ? path
288
+ : projectType === 'application'
289
+ ? 'tsconfig.app.json'
290
+ : 'tsconfig.lib.json');
291
+ }
292
+ exports.getTsConfigPath = getTsConfigPath;
293
+ function addBuildStorybookToCacheableOperations(tree) {
294
+ (0, devkit_1.updateJson)(tree, 'nx.json', (json) => {
295
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
296
+ return (Object.assign(Object.assign({}, json), { tasksRunnerOptions: Object.assign(Object.assign({}, ((_a = json.tasksRunnerOptions) !== null && _a !== void 0 ? _a : {})), { default: Object.assign(Object.assign({}, ((_c = (_b = json.tasksRunnerOptions) === null || _b === void 0 ? void 0 : _b.default) !== null && _c !== void 0 ? _c : {})), { options: Object.assign(Object.assign({}, ((_f = (_e = (_d = json.tasksRunnerOptions) === null || _d === void 0 ? void 0 : _d.default) === null || _e === void 0 ? void 0 : _e.options) !== null && _f !== void 0 ? _f : {})), { cacheableOperations: Array.from(new Set([
297
+ ...((_k = (_j = (_h = (_g = json.tasksRunnerOptions) === null || _g === void 0 ? void 0 : _g.default) === null || _h === void 0 ? void 0 : _h.options) === null || _j === void 0 ? void 0 : _j.cacheableOperations) !== null && _k !== void 0 ? _k : []),
298
+ 'build-storybook',
299
+ ])) }) }) }) }));
300
+ });
301
+ }
302
+ exports.addBuildStorybookToCacheableOperations = addBuildStorybookToCacheableOperations;
303
+ function projectIsRootProjectInStandaloneWorkspace(projectRoot) {
304
+ return (0, path_1.relative)(devkit_1.workspaceRoot, projectRoot).length === 0;
305
+ }
306
+ exports.projectIsRootProjectInStandaloneWorkspace = projectIsRootProjectInStandaloneWorkspace;
307
+ function workspaceHasRootProject(tree) {
308
+ return tree.exists('project.json');
309
+ }
310
+ exports.workspaceHasRootProject = workspaceHasRootProject;
311
+ function rootFileIsTs(tree, rootFileName, tsConfiguration) {
312
+ if (tree.exists(`.storybook/${rootFileName}.ts`) && !tsConfiguration) {
313
+ devkit_1.logger.info(`The root Storybook configuration is in TypeScript,
314
+ so Nx will generate TypeScript Storybook configuration files
315
+ in this project's .storybook folder as well.`);
316
+ return true;
317
+ }
318
+ else if (tree.exists(`.storybook/${rootFileName}.js`) && tsConfiguration) {
319
+ devkit_1.logger.info(`The root Storybook configuration is in JavaScript,
320
+ so Nx will generate JavaScript Storybook configuration files
321
+ in this project's .storybook folder as well.`);
322
+ return false;
323
+ }
324
+ else {
325
+ return tsConfiguration;
326
+ }
327
+ }
328
+ exports.rootFileIsTs = rootFileIsTs;
329
+ function getE2EProjectName(tree, mainProject) {
330
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
331
+ let e2eProject;
332
+ const graph = yield (0, devkit_1.createProjectGraphAsync)();
333
+ (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/cypress:cypress', (options, projectName) => {
334
+ if (e2eProject) {
335
+ return;
336
+ }
337
+ if (options['devServerTarget']) {
338
+ const { project, target } = (0, devkit_1.parseTargetString)(options['devServerTarget'], graph);
339
+ if ((project === mainProject && target === 'serve') ||
340
+ (project === mainProject && target === 'storybook')) {
341
+ e2eProject = projectName;
342
+ }
343
+ }
344
+ });
345
+ return e2eProject;
346
+ });
347
+ }
348
+ exports.getE2EProjectName = getE2EProjectName;
349
+ function getViteConfigFilePath(tree, projectRoot, configFile) {
350
+ return configFile && tree.exists(configFile)
351
+ ? configFile
352
+ : tree.exists((0, devkit_1.joinPathFragments)(`${projectRoot}/vite.config.ts`))
353
+ ? (0, devkit_1.joinPathFragments)(`${projectRoot}/vite.config.ts`)
354
+ : tree.exists((0, devkit_1.joinPathFragments)(`${projectRoot}/vite.config.js`))
355
+ ? (0, devkit_1.joinPathFragments)(`${projectRoot}/vite.config.js`)
356
+ : undefined;
357
+ }
358
+ exports.getViteConfigFilePath = getViteConfigFilePath;
359
+ //# sourceMappingURL=util-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-functions.js","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/configuration/lib/util-functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ <% if (usesVite){ %>const { mergeConfig } = require('vite');<% } %>
2
+ <% if (usesVite){ %>const viteTsConfigPaths = require('vite-tsconfig-paths').default;<% } %>
3
+ <% if (isNextJs){ %>const path = require('path');<% } %>
4
+
5
+ module.exports = {
6
+ core: { builder: <% if (!usesVite) { %>'webpack5'<% } %><% if (usesVite) { %>'@storybook/builder-vite'<% } %> },
7
+ stories: [
8
+ <% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
9
+ '../**/*.stories.mdx',
10
+ '../**/*.stories.@(js|jsx|ts|tsx)' <% } else { %>
11
+ '../<%= projectDirectory %>/**/*.stories.mdx',
12
+ '../<%= projectDirectory %>/**/*.stories.@(js|jsx|ts|tsx)'
13
+ <% } %>],
14
+ addons: ['@storybook/addon-essentials' <% if(uiFramework === '@storybook/react' && !usesVite) { %>, '@nrwl/react/plugins/storybook' <% } %><% if(uiFramework === '@storybook/react-native') { %>, '@storybook/addon-ondevice-actions', '@storybook/addon-ondevice-backgrounds', '@storybook/addon-ondevice-controls', '@storybook/addon-ondevice-notes' <% } %>
15
+ <% if(usesSwc && !isNextJs) { %>, 'storybook-addon-swc' <% } %>
16
+ <% if(isNextJs) { %>, 'storybook-addon-swc',
17
+ {
18
+ name: 'storybook-addon-next',
19
+ options: {
20
+ nextConfigPath: path.resolve(__dirname, '../next.config.js'),
21
+ },
22
+ }
23
+ <% } %>
24
+ ]<% if (usesVite) { %>,
25
+ async viteFinal(config, { configType }) {
26
+ return mergeConfig(config, {
27
+ plugins: [
28
+ viteTsConfigPaths({
29
+ root: '<%= offsetFromRoot %>../',
30
+ }),
31
+ ],
32
+ });
33
+ },<% } %>
34
+ };
35
+
36
+ <% if(!usesVite) { %>
37
+ // To customize your webpack configuration you can use the webpackFinal field.
38
+ // Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
39
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
40
+ <% } %>
41
+
42
+ <% if(usesVite) { %>
43
+ // To customize your Vite configuration you can use the viteFinal field.
44
+ // Check https://storybook.js.org/docs/react/builders/vite#configuration
45
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
46
+ <% } %>
@@ -0,0 +1,26 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "emitDecoratorMetadata": true
5
+ <% if(uiFramework === '@storybook/react') { %>, "outDir": "" <% } %>
6
+ },
7
+ <% if(uiFramework === '@storybook/react') { %>"files": [
8
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/styled-jsx.d.ts",
9
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/cssmodule.d.ts",
10
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/image.d.ts"
11
+ ],<% } %>
12
+ "exclude": ["../**/*.spec.ts" <% if(uiFramework === '@storybook/react') { %>, "../**/*.spec.js", "../**/*.spec.tsx", "../**/*.spec.jsx"<% } %>],
13
+ "include": [<% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
14
+ "../src/**/*.stories.ts",
15
+ "../src/**/*.stories.js",
16
+ "../src/**/*.stories.jsx",
17
+ "../src/**/*.stories.tsx",
18
+ "../src/**/*.stories.mdx",
19
+ "*.js"<% } else { %>
20
+ "../<%= mainDir %>/**/*.stories.ts",
21
+ "../<%= mainDir %>/**/*.stories.js",
22
+ "../<%= mainDir %>/**/*.stories.jsx",
23
+ "../<%= mainDir %>/**/*.stories.tsx",
24
+ "../<%= mainDir %>/**/*.stories.mdx",
25
+ "*.js"<% if(uiFramework === '@storybook/react-native') { %>, "*.ts", "*.tsx"<% } %><% } %>]
26
+ }
@@ -0,0 +1,34 @@
1
+ const config = {
2
+ stories: [
3
+ <% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
4
+ '../**/*.stories.@(js|jsx|ts|tsx|mdx)' <% } else { %>
5
+ '../<%= projectDirectory %>/**/*.stories.@(js|jsx|ts|tsx|mdx)'
6
+ <% } %>],
7
+ addons: ['@storybook/addon-essentials' <% if(uiFramework === '@storybook/react-webpack5') { %>, '@nrwl/react/plugins/storybook' <% } %><% if(uiFramework === '@storybook/react-native') { %>, '@storybook/addon-ondevice-actions', '@storybook/addon-ondevice-backgrounds', '@storybook/addon-ondevice-controls', '@storybook/addon-ondevice-notes' <% } %>
8
+ <% if(usesSwc) { %>, 'storybook-addon-swc' <% } %>
9
+ ],
10
+ framework: {
11
+ name: '<%= uiFramework %>',
12
+ options: {
13
+ <% if (usesVite) { %>
14
+ builder: {
15
+ viteConfigPath: '<%= viteConfigFilePath %>',
16
+ },
17
+ <% } %>
18
+ },
19
+ },
20
+ };
21
+
22
+ export default config;
23
+
24
+ <% if(!usesVite) { %>
25
+ // To customize your webpack configuration you can use the webpackFinal field.
26
+ // Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
27
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
28
+ <% } %>
29
+
30
+ <% if(usesVite) { %>
31
+ // To customize your Vite configuration you can use the viteFinal field.
32
+ // Check https://storybook.js.org/docs/react/builders/vite#configuration
33
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
34
+ <% } %>
@@ -0,0 +1,26 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "emitDecoratorMetadata": true
5
+ <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>, "outDir": "" <% } %>
6
+ },
7
+ <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>"files": [
8
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/styled-jsx.d.ts",
9
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/cssmodule.d.ts",
10
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/image.d.ts"
11
+ ],<% } %>
12
+ "exclude": ["../**/*.spec.ts" <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>, "../**/*.spec.js", "../**/*.spec.tsx", "../**/*.spec.jsx"<% } %>],
13
+ "include": [<% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
14
+ "../src/**/*.stories.ts",
15
+ "../src/**/*.stories.js",
16
+ "../src/**/*.stories.jsx",
17
+ "../src/**/*.stories.tsx",
18
+ "../src/**/*.stories.mdx",
19
+ "*.js"<% } else { %>
20
+ "../<%= mainDir %>/**/*.stories.ts",
21
+ "../<%= mainDir %>/**/*.stories.js",
22
+ "../<%= mainDir %>/**/*.stories.jsx",
23
+ "../<%= mainDir %>/**/*.stories.tsx",
24
+ "../<%= mainDir %>/**/*.stories.mdx",
25
+ "*.js"<% if(uiFramework === '@storybook/react-native') { %>, "*.ts", "*.tsx"<% } %><% } %>]
26
+ }
@@ -0,0 +1,36 @@
1
+ import type { StorybookConfig } from '<%= uiFramework %>';
2
+
3
+ const config: StorybookConfig = {
4
+ stories: [
5
+ <% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
6
+ '../**/*.stories.@(js|jsx|ts|tsx|mdx)' <% } else { %>
7
+ '../<%= projectDirectory %>/**/*.stories.@(js|jsx|ts|tsx|mdx)'
8
+ <% } %>],
9
+ addons: ['@storybook/addon-essentials' <% if(uiFramework === '@storybook/react-webpack5') { %>, '@nrwl/react/plugins/storybook' <% } %><% if(uiFramework === '@storybook/react-native') { %>, '@storybook/addon-ondevice-actions', '@storybook/addon-ondevice-backgrounds', '@storybook/addon-ondevice-controls', '@storybook/addon-ondevice-notes' <% } %>
10
+ <% if(usesSwc) { %>, 'storybook-addon-swc' <% } %>
11
+ ],
12
+ framework: {
13
+ name: '<%= uiFramework %>',
14
+ options: {
15
+ <% if (usesVite) { %>
16
+ builder: {
17
+ viteConfigPath: '<%= viteConfigFilePath %>',
18
+ },
19
+ <% } %>
20
+ },
21
+ },
22
+ };
23
+
24
+ export default config;
25
+
26
+ <% if(!usesVite) { %>
27
+ // To customize your webpack configuration you can use the webpackFinal field.
28
+ // Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
29
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
30
+ <% } %>
31
+
32
+ <% if(usesVite) { %>
33
+ // To customize your Vite configuration you can use the viteFinal field.
34
+ // Check https://storybook.js.org/docs/react/builders/vite#configuration
35
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
36
+ <% } %>
@@ -0,0 +1,28 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "emitDecoratorMetadata": true
5
+ <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>, "outDir": "" <% } %>
6
+ },
7
+ <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>"files": [
8
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/styled-jsx.d.ts",
9
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/cssmodule.d.ts",
10
+ "<% if(!isRootProject) { %><%= offsetFromRoot %><% } %>../node_modules/@nrwl/react/typings/image.d.ts"
11
+ ],<% } %>
12
+ "exclude": ["../**/*.spec.ts" <% if(uiFramework === '@storybook/react-webpack5' || uiFramework === '@storybook/react-vite') { %>, "../**/*.spec.js", "../**/*.spec.tsx", "../**/*.spec.jsx"<% } %>],
13
+ "include": [<% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
14
+ "../src/**/*.stories.ts",
15
+ "../src/**/*.stories.js",
16
+ "../src/**/*.stories.jsx",
17
+ "../src/**/*.stories.tsx",
18
+ "../src/**/*.stories.mdx",
19
+ "*.ts",
20
+ "*.js"<% } else { %>
21
+ "../<%= mainDir %>/**/*.stories.ts",
22
+ "../<%= mainDir %>/**/*.stories.js",
23
+ "../<%= mainDir %>/**/*.stories.jsx",
24
+ "../<%= mainDir %>/**/*.stories.tsx",
25
+ "../<%= mainDir %>/**/*.stories.mdx",
26
+ "*.ts",
27
+ "*.js"<% if(uiFramework === '@storybook/react-native') { %>, "*.tsx"<% } %><% } %>]
28
+ }
@@ -0,0 +1,49 @@
1
+ import type { StorybookConfig } from '@storybook/core-common';
2
+ <% if (isNextJs){ %>import path from 'path';<% } %>
3
+ <% if (usesVite){ %>import { mergeConfig } from 'vite';<% } %>
4
+ <% if (usesVite){ %>import viteTsConfigPaths from 'vite-tsconfig-paths';<% } %>
5
+
6
+ const config: StorybookConfig = {
7
+ core: { builder: <% if (!usesVite) { %>'webpack5'<% } %><% if (usesVite) { %>'@storybook/builder-vite'<% } %> },
8
+ stories: [
9
+ <% if(uiFramework === '@storybook/angular' && projectType === 'library') { %>
10
+ '../**/*.stories.mdx',
11
+ '../**/*.stories.@(js|jsx|ts|tsx)' <% } else { %>
12
+ '../<%= projectDirectory %>/**/*.stories.mdx',
13
+ '../<%= projectDirectory %>/**/*.stories.@(js|jsx|ts|tsx)'
14
+ <% } %>],
15
+ addons: ['@storybook/addon-essentials' <% if(uiFramework === '@storybook/react' && !usesVite) { %>, '@nrwl/react/plugins/storybook' <% } %><% if(uiFramework === '@storybook/react-native') { %>, '@storybook/addon-ondevice-actions', '@storybook/addon-ondevice-backgrounds', '@storybook/addon-ondevice-controls', '@storybook/addon-ondevice-notes' <% } %>
16
+ <% if(usesSwc && !isNextJs) { %>, 'storybook-addon-swc' <% } %>
17
+ <% if(isNextJs) { %>, 'storybook-addon-swc',
18
+ {
19
+ name: 'storybook-addon-next',
20
+ options: {
21
+ nextConfigPath: path.resolve(__dirname, '../next.config.js'),
22
+ },
23
+ }
24
+ <% } %>
25
+ ]<% if (usesVite) { %>,
26
+ async viteFinal(config: any) {
27
+ return mergeConfig(config, {
28
+ plugins: [
29
+ viteTsConfigPaths({
30
+ root: '<%= offsetFromRoot %>../',
31
+ }),
32
+ ],
33
+ });
34
+ },<% } %>
35
+ }<% if (usesVite) { %> as StorybookConfig<% } %>;
36
+
37
+ module.exports = config;
38
+
39
+ <% if(!usesVite) { %>
40
+ // To customize your webpack configuration you can use the webpackFinal field.
41
+ // Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
42
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
43
+ <% } %>
44
+
45
+ <% if(usesVite) { %>
46
+ // To customize your Vite configuration you can use the viteFinal field.
47
+ // Check https://storybook.js.org/docs/react/builders/vite#configuration
48
+ // and https://nx.dev/packages/storybook/documents/custom-builder-configs
49
+ <% } %>