@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,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configurationSchematic = exports.configurationGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const cypress_project_1 = require("../cypress-project/cypress-project");
7
+ const init_1 = require("../init/init");
8
+ const util_functions_1 = require("./lib/util-functions");
9
+ const linter_1 = require("@nx/linter");
10
+ const utilities_1 = require("../../utils/utilities");
11
+ const versions_1 = require("../../utils/versions");
12
+ const user_prompts_1 = require("./lib/user-prompts");
13
+ const utils_1 = require("../../executors/utils");
14
+ function configurationGenerator(tree, rawSchema) {
15
+ var _a, _b, _c, _d, _e;
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ /**
18
+ * Make sure someone is not trying to configure Storybook
19
+ * with the wrong version.
20
+ */
21
+ let storybook7 = (0, utilities_1.storybookMajorVersion)() === 7 || rawSchema.storybook7Configuration;
22
+ if ((0, utilities_1.storybookMajorVersion)() === 6 && rawSchema.storybook7Configuration) {
23
+ devkit_1.logger.error(`You are using Storybook version 6.
24
+ So Nx will configure Storybook for version 6.`);
25
+ (0, utils_1.pleaseUpgrade)();
26
+ rawSchema.storybook7Configuration = false;
27
+ storybook7 = false;
28
+ }
29
+ if (storybook7 && !rawSchema.storybook7Configuration) {
30
+ rawSchema.storybook7Configuration = true;
31
+ devkit_1.logger.info(`You are using Storybook version 7.
32
+ So Nx will configure Storybook for version 7.`);
33
+ }
34
+ if (process.env.NX_INTERACTIVE === 'true') {
35
+ rawSchema = yield (0, user_prompts_1.getGeneratorConfigurationOptions)(rawSchema);
36
+ }
37
+ const schema = normalizeSchema(rawSchema);
38
+ const tasks = [];
39
+ const { projectType, targets, root } = (0, devkit_1.readProjectConfiguration)(tree, schema.name);
40
+ const { nextBuildTarget, compiler, viteBuildTarget } = (0, utilities_1.findStorybookAndBuildTargetsAndCompiler)(targets);
41
+ let viteConfigFilePath;
42
+ if (viteBuildTarget) {
43
+ if (schema.bundler !== 'vite') {
44
+ if (!storybook7) {
45
+ // The warnings for v7 are handled in the next if statement
46
+ devkit_1.logger.info(`Your project ${schema.name} uses Vite as a bundler.
47
+ Nx will configure Storybook for this project to use Vite as well.`);
48
+ }
49
+ // We need this regardless of Storybook version
50
+ // because we use it in the init task
51
+ schema.bundler = 'vite';
52
+ }
53
+ viteConfigFilePath = (0, util_functions_1.getViteConfigFilePath)(tree, root, (_b = (_a = targets[viteBuildTarget]) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.configFile);
54
+ }
55
+ if (storybook7) {
56
+ if (viteBuildTarget) {
57
+ if (schema.storybook7UiFramework === '@storybook/react-webpack5') {
58
+ devkit_1.logger.info(`Your project ${schema.name} uses Vite as a bundler.
59
+ Nx will configure Storybook for this project to use Vite as well.`);
60
+ schema.storybook7UiFramework = '@storybook/react-vite';
61
+ }
62
+ if (schema.storybook7UiFramework === '@storybook/web-components-webpack5') {
63
+ devkit_1.logger.info(`Your project ${schema.name} uses Vite as a bundler.
64
+ Nx will configure Storybook for this project to use Vite as well.`);
65
+ schema.storybook7UiFramework = '@storybook/web-components-vite';
66
+ }
67
+ }
68
+ if (nextBuildTarget) {
69
+ schema.storybook7UiFramework = '@storybook/nextjs';
70
+ }
71
+ if (!schema.storybook7UiFramework) {
72
+ if (schema.uiFramework === '@storybook/react') {
73
+ schema.storybook7UiFramework = viteBuildTarget
74
+ ? '@storybook/react-vite'
75
+ : '@storybook/react-webpack5';
76
+ }
77
+ else if (schema.uiFramework === '@storybook/web-components') {
78
+ schema.storybook7UiFramework = viteBuildTarget
79
+ ? '@storybook/web-components-vite'
80
+ : '@storybook/web-components-webpack5';
81
+ }
82
+ else if (schema.uiFramework === '@storybook/angular') {
83
+ schema.storybook7UiFramework = '@storybook/angular';
84
+ }
85
+ else if (schema.uiFramework !== '@storybook/react-native') {
86
+ schema.storybook7UiFramework = `${schema.uiFramework}-webpack5`;
87
+ }
88
+ }
89
+ }
90
+ else {
91
+ if (!schema.uiFramework) {
92
+ if ((_c = schema.storybook7UiFramework) === null || _c === void 0 ? void 0 : _c.startsWith('@storybook/react')) {
93
+ schema.uiFramework = '@storybook/react';
94
+ }
95
+ else if ((_d = schema.storybook7UiFramework) === null || _d === void 0 ? void 0 : _d.startsWith('@storybook/web-components')) {
96
+ schema.uiFramework = '@storybook/web-components';
97
+ }
98
+ else if (schema.storybook7UiFramework === '@storybook/angular') {
99
+ schema.uiFramework = '@storybook/angular';
100
+ }
101
+ else if ((_e = schema.storybook7UiFramework) === null || _e === void 0 ? void 0 : _e.startsWith('@storybook/react-native')) {
102
+ schema.uiFramework = '@storybook/react-native';
103
+ }
104
+ else {
105
+ devkit_1.logger.error(`You have to specify a uiFramework for Storybook version 6.`);
106
+ }
107
+ }
108
+ }
109
+ // If we're on Storybook 7, ignore schema.uiFramework
110
+ const uiFrameworkUsed = storybook7
111
+ ? schema.storybook7UiFramework
112
+ : schema.uiFramework;
113
+ const initTask = yield (0, init_1.initGenerator)(tree, {
114
+ uiFramework: uiFrameworkUsed,
115
+ js: schema.js,
116
+ bundler: schema.bundler,
117
+ storybook7Configuration: storybook7,
118
+ });
119
+ tasks.push(initTask);
120
+ (0, util_functions_1.createProjectStorybookDir)(tree, schema.name, uiFrameworkUsed, schema.js, schema.tsConfiguration, root, projectType, (0, util_functions_1.projectIsRootProjectInStandaloneWorkspace)(root), !!nextBuildTarget, compiler === 'swc', schema.bundler === 'vite', storybook7, viteConfigFilePath);
121
+ (0, util_functions_1.configureTsProjectConfig)(tree, schema);
122
+ (0, util_functions_1.configureTsSolutionConfig)(tree, schema);
123
+ (0, util_functions_1.updateLintConfig)(tree, schema);
124
+ (0, util_functions_1.addBuildStorybookToCacheableOperations)(tree);
125
+ (0, util_functions_1.addStorybookToNamedInputs)(tree);
126
+ if (uiFrameworkUsed === '@storybook/angular') {
127
+ (0, util_functions_1.addAngularStorybookTask)(tree, schema.name, schema.configureTestRunner);
128
+ }
129
+ else {
130
+ (0, util_functions_1.addStorybookTask)(tree, schema.name, uiFrameworkUsed, schema.configureTestRunner, storybook7);
131
+ }
132
+ if (schema.configureStaticServe) {
133
+ (0, util_functions_1.addStaticTarget)(tree, schema);
134
+ }
135
+ if (schema.configureCypress) {
136
+ const e2eProject = yield (0, util_functions_1.getE2EProjectName)(tree, schema.name);
137
+ if (!e2eProject) {
138
+ const cypressTask = yield (0, cypress_project_1.cypressProjectGenerator)(tree, {
139
+ name: schema.name,
140
+ js: schema.js,
141
+ linter: schema.linter,
142
+ directory: schema.cypressDirectory,
143
+ standaloneConfig: schema.standaloneConfig,
144
+ ciTargetName: schema.configureStaticServe
145
+ ? 'static-storybook'
146
+ : undefined,
147
+ skipFormat: true,
148
+ });
149
+ tasks.push(cypressTask);
150
+ }
151
+ else {
152
+ devkit_1.logger.warn(`There is already an e2e project setup for ${schema.name}, called ${e2eProject}.`);
153
+ }
154
+ }
155
+ const devDeps = {};
156
+ if (schema.tsConfiguration) {
157
+ devDeps['@storybook/core-common'] = versions_1.storybookVersion;
158
+ devDeps['ts-node'] = versions_1.tsNodeVersion;
159
+ }
160
+ if (nextBuildTarget && projectType === 'application' && !storybook7) {
161
+ devDeps['storybook-addon-next'] = versions_1.storybookNextAddonVersion;
162
+ devDeps['storybook-addon-swc'] = versions_1.storybookSwcAddonVersion;
163
+ }
164
+ else if (compiler === 'swc') {
165
+ devDeps['storybook-addon-swc'] = versions_1.storybookSwcAddonVersion;
166
+ }
167
+ if (schema.configureTestRunner === true) {
168
+ devDeps['@storybook/test-runner'] = versions_1.storybookTestRunnerVersion;
169
+ }
170
+ if (schema.configureStaticServe) {
171
+ devDeps['@nrwl/web'] = versions_1.nxVersion;
172
+ }
173
+ tasks.push((0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDeps));
174
+ if (!schema.skipFormat) {
175
+ yield (0, devkit_1.formatFiles)(tree);
176
+ }
177
+ return (0, devkit_1.runTasksInSerial)(...tasks);
178
+ });
179
+ }
180
+ exports.configurationGenerator = configurationGenerator;
181
+ function normalizeSchema(schema) {
182
+ const defaults = {
183
+ configureCypress: true,
184
+ linter: linter_1.Linter.EsLint,
185
+ js: false,
186
+ };
187
+ return Object.assign(Object.assign({}, defaults), schema);
188
+ }
189
+ exports.default = configurationGenerator;
190
+ exports.configurationSchematic = (0, devkit_1.convertNxGenerator)(configurationGenerator);
191
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../../../packages/storybook/src/generators/configuration/configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { UiFramework, UiFramework7 } from '../../../utils/models';
2
+ import { StorybookConfigureSchema } from '../schema';
3
+ export declare function getGeneratorConfigurationOptions(rawSchema: StorybookConfigureSchema): Promise<StorybookConfigureSchema>;
4
+ export declare function getBundler(): Promise<'vite' | 'webpack'>;
5
+ export declare function getStorybook7Framework(): Promise<UiFramework7>;
6
+ export declare function getStorybook6Framework(): Promise<UiFramework>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStorybook6Framework = exports.getStorybook7Framework = exports.getBundler = exports.getGeneratorConfigurationOptions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utilities_1 = require("../../../utils/utilities");
6
+ const enquirer_1 = require("enquirer");
7
+ function getGeneratorConfigurationOptions(rawSchema) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ if (rawSchema.storybook7Configuration) {
10
+ if (!rawSchema.storybook7UiFramework) {
11
+ rawSchema.storybook7UiFramework = yield getStorybook7Framework();
12
+ }
13
+ }
14
+ else {
15
+ if (!rawSchema.uiFramework) {
16
+ rawSchema.uiFramework = yield getStorybook6Framework();
17
+ }
18
+ }
19
+ if ((rawSchema === null || rawSchema === void 0 ? void 0 : rawSchema.uiFramework) === '@storybook/react' ||
20
+ (rawSchema === null || rawSchema === void 0 ? void 0 : rawSchema.uiFramework) === '@storybook/web-components') {
21
+ if (!(rawSchema === null || rawSchema === void 0 ? void 0 : rawSchema.bundler)) {
22
+ rawSchema.bundler = yield getBundler();
23
+ }
24
+ }
25
+ return rawSchema;
26
+ });
27
+ }
28
+ exports.getGeneratorConfigurationOptions = getGeneratorConfigurationOptions;
29
+ function getBundler() {
30
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
31
+ const a = yield (0, enquirer_1.prompt)([
32
+ {
33
+ name: 'bundler',
34
+ message: `Choose the builder you want to use for Storybook`,
35
+ type: 'autocomplete',
36
+ choices: [
37
+ {
38
+ name: 'vite',
39
+ message: 'Use Vite.js with the @storybook/builder-vite package',
40
+ },
41
+ {
42
+ name: 'webpack',
43
+ message: 'Use Webpack 5 with the @storybook/builder-webpack5 package',
44
+ },
45
+ ],
46
+ },
47
+ ]);
48
+ return a.bundler;
49
+ });
50
+ }
51
+ exports.getBundler = getBundler;
52
+ function getStorybook7Framework() {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const a = yield (0, enquirer_1.prompt)([
55
+ {
56
+ name: 'UiFramework7',
57
+ message: `Choose the Storybook 7 framework that you need to use`,
58
+ type: 'autocomplete',
59
+ choices: [
60
+ ...utilities_1.Constants.uiFrameworks7.map((uiFramework7) => ({
61
+ name: uiFramework7,
62
+ message: uiFramework7,
63
+ })),
64
+ ],
65
+ },
66
+ ]);
67
+ return a.UiFramework7;
68
+ });
69
+ }
70
+ exports.getStorybook7Framework = getStorybook7Framework;
71
+ function getStorybook6Framework() {
72
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
+ const a = yield (0, enquirer_1.prompt)([
74
+ {
75
+ name: 'UiFramework',
76
+ message: `Choose the Storybook framework that you need to use`,
77
+ type: 'autocomplete',
78
+ choices: [
79
+ ...Object.entries(utilities_1.Constants.uiFrameworks).map(([_key, uiFramework]) => ({
80
+ name: uiFramework,
81
+ message: uiFramework,
82
+ })),
83
+ ],
84
+ },
85
+ ]);
86
+ return a.UiFramework;
87
+ });
88
+ }
89
+ exports.getStorybook6Framework = getStorybook6Framework;
90
+ //# sourceMappingURL=user-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-prompts.js","sourceRoot":"","sources":["../../../../../../../packages/storybook/src/generators/configuration/lib/user-prompts.ts"],"names":[],"mappings":";;;;AACA,wDAAqD;AACrD,uCAAkC;AAGlC,SAAsB,gCAAgC,CACpD,SAAmC;;QAEnC,IAAI,SAAS,CAAC,uBAAuB,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE;gBACpC,SAAS,CAAC,qBAAqB,GAAG,MAAM,sBAAsB,EAAE,CAAC;aAClE;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBAC1B,SAAS,CAAC,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;aACxD;SACF;QACD,IACE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,kBAAkB;YAC7C,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,2BAA2B,EACtD;YACA,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;gBACvB,SAAS,CAAC,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;aACxC;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CAAA;AAtBD,4EAsBC;AAED,SAAsB,UAAU;;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAA,iBAAM,EAAkC;YACtD;gBACE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kDAAkD;gBAC3D,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,sDAAsD;qBAChE;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,4DAA4D;qBACtE;iBACF;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;CAAA;AAnBD,gCAmBC;AAED,SAAsB,sBAAsB;;QAC1C,MAAM,CAAC,GAAG,MAAM,IAAA,iBAAM,EAAiC;YACrD;gBACE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uDAAuD;gBAChE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP,GAAG,qBAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;wBAChD,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,YAAY;qBACtB,CAAC,CAAC;iBACJ;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC;CAAA;AAfD,wDAeC;AAED,SAAsB,sBAAsB;;QAC1C,MAAM,CAAC,GAAG,MAAM,IAAA,iBAAM,EAA+B;YACnD;gBACE,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,qDAAqD;gBAC9D,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAC3C,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,WAAW;qBACrB,CAAC,CACH;iBACF;aACF;SACF,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;CAAA;AAjBD,wDAiBC"}
@@ -0,0 +1,27 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { StorybookConfigureSchema } from '../schema';
3
+ import { UiFramework, UiFramework7 } from '../../../utils/models';
4
+ export declare function addStorybookTask(tree: Tree, projectName: string, uiFramework: string, configureTestRunner: boolean, usesV7?: boolean): void;
5
+ export declare function addAngularStorybookTask(tree: Tree, projectName: string, configureTestRunner: boolean): void;
6
+ export declare function addStaticTarget(tree: Tree, opts: StorybookConfigureSchema): void;
7
+ export declare function configureTsProjectConfig(tree: Tree, schema: StorybookConfigureSchema): void;
8
+ export declare function configureTsSolutionConfig(tree: Tree, schema: StorybookConfigureSchema): void;
9
+ /**
10
+ * When adding storybook we need to inform TSLint or ESLint
11
+ * of the additional tsconfig.json file which will be the only tsconfig
12
+ * which includes *.stories files.
13
+ *
14
+ * For TSLint this is done via the builder config, for ESLint this is
15
+ * done within the .eslintrc.json file.
16
+ */
17
+ export declare function updateLintConfig(tree: Tree, schema: StorybookConfigureSchema): void;
18
+ export declare function normalizeSchema(schema: StorybookConfigureSchema): StorybookConfigureSchema;
19
+ export declare function addStorybookToNamedInputs(tree: Tree): void;
20
+ export declare function createProjectStorybookDir(tree: Tree, projectName: string, uiFramework: UiFramework | UiFramework7, js: boolean, tsConfiguration: boolean, root: string, projectType: string, projectIsRootProjectInStandaloneWorkspace: boolean, isNextJs?: boolean, usesSwc?: boolean, usesVite?: boolean, usesV7?: boolean, viteConfigFilePath?: string): void;
21
+ export declare function getTsConfigPath(tree: Tree, projectName: string, path?: string): string;
22
+ export declare function addBuildStorybookToCacheableOperations(tree: Tree): void;
23
+ export declare function projectIsRootProjectInStandaloneWorkspace(projectRoot: string): boolean;
24
+ export declare function workspaceHasRootProject(tree: Tree): boolean;
25
+ export declare function rootFileIsTs(tree: Tree, rootFileName: string, tsConfiguration: boolean): boolean;
26
+ export declare function getE2EProjectName(tree: Tree, mainProject: string): Promise<string | undefined>;
27
+ export declare function getViteConfigFilePath(tree: Tree, projectRoot: string, configFile?: string): string | undefined;