@storybook/cli 10.4.0-alpha.8 → 10.4.0-beta.0

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 (26) hide show
  1. package/dist/_node-chunks/{block-dependencies-versions-KAQ5OGIY.js → block-dependencies-versions-G6EVEL6U.js} +11 -11
  2. package/dist/_node-chunks/{block-experimental-addon-test-KUQXSPGU.js → block-experimental-addon-test-MFHC3KUS.js} +9 -9
  3. package/dist/_node-chunks/{block-major-version-OPMG63V3.js → block-major-version-4U4WEGMA.js} +9 -9
  4. package/dist/_node-chunks/{block-node-version-FCO4PM62.js → block-node-version-ZHYGYUI7.js} +9 -9
  5. package/dist/_node-chunks/{block-webpack5-frameworks-GJ4QI6G7.js → block-webpack5-frameworks-Y3AGGFNB.js} +11 -11
  6. package/dist/_node-chunks/chunk-4C3DFANT.js +115 -0
  7. package/dist/_node-chunks/chunk-6CXRNZGR.js +638 -0
  8. package/dist/_node-chunks/{chunk-HO4ISOZ6.js → chunk-JYKXO3MW.js} +7 -7
  9. package/dist/_node-chunks/chunk-LIGFKPNZ.js +23 -0
  10. package/dist/_node-chunks/{chunk-UN5QQNB6.js → chunk-NBAX35QO.js} +7 -7
  11. package/dist/_node-chunks/chunk-NSIFSQMM.js +11 -0
  12. package/dist/_node-chunks/chunk-RJYKSYUS.js +20 -0
  13. package/dist/_node-chunks/{chunk-ABAAUOSF.js → chunk-XXFWAJQS.js} +6 -6
  14. package/dist/_node-chunks/{chunk-ESNUSFMN.js → chunk-ZBC5DXUL.js} +37 -22
  15. package/dist/_node-chunks/{globby-D6DJUDT4.js → globby-PHG23IID.js} +8 -8
  16. package/dist/_node-chunks/monorepo-JBBOX7QG.js +119 -0
  17. package/dist/_node-chunks/monorepo-optimized-tests-relaxed-limits-no-story-deletion-G2X5WHM3.js +119 -0
  18. package/dist/_node-chunks/optimized-tests-NI7YTCNF.js +20 -0
  19. package/dist/_node-chunks/{p-limit-373GHOOY.js → p-limit-T75YPGMQ.js} +7 -7
  20. package/dist/_node-chunks/pattern-copy-play-6QEXGF3O.js +810 -0
  21. package/dist/_node-chunks/relaxed-limits-EWX3BPFO.js +115 -0
  22. package/dist/_node-chunks/{run-ZEG5DUPG.js → run-CYEK3WXX.js} +1158 -295
  23. package/dist/_node-chunks/setup-WAWFVYQV.js +281 -0
  24. package/dist/bin/index.js +11 -10
  25. package/package.json +5 -4
  26. package/dist/_node-chunks/chunk-KRWZUTLX.js +0 -11
@@ -0,0 +1,23 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+
13
+ // src/ai/utils/docs-markdown-url.ts
14
+ function getDocsMarkdownUrl(path, projectInfo) {
15
+ let { majorVersion, renderer = "react", language = "ts" } = projectInfo ?? {}, versionSegment = majorVersion ? `/${majorVersion}` : "", params = new URLSearchParams();
16
+ renderer && params.set("renderer", renderer), params.set("language", language);
17
+ let query = params.toString();
18
+ return `https://storybook.js.org/docs${versionSegment}/${path}.md${query ? `?${query}` : ""}`;
19
+ }
20
+
21
+ export {
22
+ getDocsMarkdownUrl
23
+ };
@@ -1,17 +1,17 @@
1
- import CJS_COMPAT_NODE_URL_heajmwsix5v from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_heajmwsix5v from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_heajmwsix5v from "node:module";
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_heajmwsix5v.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_heajmwsix5v.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  __commonJS
14
- } from "./chunk-ABAAUOSF.js";
14
+ } from "./chunk-XXFWAJQS.js";
15
15
 
16
16
  // ../../../node_modules/semver/internal/constants.js
17
17
  var require_constants = __commonJS({
@@ -0,0 +1,11 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
@@ -0,0 +1,20 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+
13
+ // src/ai/utils/type-import-source.ts
14
+ function getTypeImportSource(projectInfo) {
15
+ return projectInfo.framework || projectInfo.rendererPackage || "@storybook/react";
16
+ }
17
+
18
+ export {
19
+ getTypeImportSource
20
+ };
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_heajmwsix5v from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_heajmwsix5v from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_heajmwsix5v from "node:module";
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_heajmwsix5v.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_heajmwsix5v.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_heajmwsix5v from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_heajmwsix5v from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_heajmwsix5v from "node:module";
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_heajmwsix5v.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_heajmwsix5v.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,14 +12,14 @@ var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
12
12
  import {
13
13
  globby,
14
14
  globbySync
15
- } from "./chunk-HO4ISOZ6.js";
15
+ } from "./chunk-JYKXO3MW.js";
16
16
  import {
17
17
  require_semver
18
- } from "./chunk-UN5QQNB6.js";
18
+ } from "./chunk-NBAX35QO.js";
19
19
  import {
20
20
  __commonJS,
21
21
  __toESM
22
- } from "./chunk-ABAAUOSF.js";
22
+ } from "./chunk-XXFWAJQS.js";
23
23
 
24
24
  // ../../../node_modules/picocolors/picocolors.js
25
25
  var require_picocolors = __commonJS({
@@ -87,6 +87,7 @@ var require_picocolors = __commonJS({
87
87
 
88
88
  // src/autoblock/utils.ts
89
89
  var import_semver2 = __toESM(require_semver(), 1);
90
+ import { getVitePlusVersions } from "storybook/internal/common";
90
91
  import { CLI_COLORS } from "storybook/internal/node-logger";
91
92
 
92
93
  // src/util.ts
@@ -122,11 +123,11 @@ var import_picocolors2 = __toESM(require_picocolors(), 1), import_semver = __toE
122
123
  // src/autoblock/index.ts
123
124
  var blockers = () => [
124
125
  // add/remove blockers here
125
- import("./block-dependencies-versions-KAQ5OGIY.js"),
126
- import("./block-node-version-FCO4PM62.js"),
127
- import("./block-webpack5-frameworks-GJ4QI6G7.js"),
128
- import("./block-major-version-OPMG63V3.js"),
129
- import("./block-experimental-addon-test-KUQXSPGU.js")
126
+ import("./block-dependencies-versions-G6EVEL6U.js"),
127
+ import("./block-node-version-ZHYGYUI7.js"),
128
+ import("./block-webpack5-frameworks-Y3AGGFNB.js"),
129
+ import("./block-major-version-4U4WEGMA.js"),
130
+ import("./block-experimental-addon-test-MFHC3KUS.js")
130
131
  ], autoblock = async (options, list = blockers()) => list.length === 0 ? null : await Promise.all(
131
132
  list.map(async (i) => {
132
133
  let blocker = (await i).blocker;
@@ -165,7 +166,12 @@ var getStorybookData = async ({
165
166
  mainConfigPath,
166
167
  configDir: configDirFromScript,
167
168
  previewConfigPath,
168
- versionSpecifier
169
+ versionSpecifier,
170
+ frameworkPackage,
171
+ rendererPackage,
172
+ renderer,
173
+ builderPackage,
174
+ addons
169
175
  } = await getStorybookInfo(
170
176
  userDefinedConfigDir,
171
177
  userDefinedConfigDir ? dirname2(userDefinedConfigDir) : void 0
@@ -199,7 +205,12 @@ var getStorybookData = async ({
199
205
  previewConfigPath,
200
206
  packageManager,
201
207
  storiesPaths,
202
- hasCsfFactoryPreview
208
+ hasCsfFactoryPreview,
209
+ frameworkPackage,
210
+ rendererPackage,
211
+ renderer,
212
+ builderPackage,
213
+ addons
203
214
  };
204
215
  }, updateMainConfig = async ({ mainConfigPath, dryRun }, callback) => {
205
216
  try {
@@ -340,7 +351,7 @@ var processProject = async ({
340
351
  };
341
352
  }
342
353
  }, collectProjects = async (options, configDirs, onProjectScanStart) => {
343
- let { default: pLimit } = await import("./p-limit-373GHOOY.js"), currentCLIVersion = versions.storybook, limit = pLimit(5), projectPromises = configDirs.map(
354
+ let { default: pLimit } = await import("./p-limit-T75YPGMQ.js"), currentCLIVersion = versions.storybook, limit = pLimit(5), projectPromises = configDirs.map(
344
355
  (configDir) => limit(
345
356
  () => processProject({
346
357
  configDir,
@@ -524,11 +535,14 @@ var getStoriesPathsFromConfig = async ({
524
535
  var typedKeys = (obj) => Object.keys(obj);
525
536
  async function findOutdatedPackage(minimalVersionsMap, options) {
526
537
  return (await Promise.all(
527
- typedKeys(minimalVersionsMap).map(async (packageName) => ({
528
- packageName,
529
- installedVersion: (await options.packageManager.getModulePackageJSON(packageName))?.version ?? null,
530
- minimumVersion: minimalVersionsMap[packageName]
531
- }))
538
+ typedKeys(minimalVersionsMap).map(async (packageName) => {
539
+ let installedVersion = (await getVitePlusVersions())?.[packageName] ?? null;
540
+ return installedVersion || (installedVersion = (await options.packageManager.getModulePackageJSON(packageName))?.version ?? null), {
541
+ packageName,
542
+ installedVersion,
543
+ minimumVersion: minimalVersionsMap[packageName]
544
+ };
545
+ })
532
546
  )).reduce(
533
547
  (acc, { installedVersion, minimumVersion, packageName }) => acc || (packageName && installedVersion && (0, import_semver2.lt)(installedVersion, minimumVersion) ? {
534
548
  installedVersion,
@@ -588,6 +602,7 @@ After addressing this, you can try running the upgrade command again. You can al
588
602
 
589
603
  export {
590
604
  require_picocolors,
605
+ up,
591
606
  findOutdatedPackage,
592
607
  processAutoblockerResults,
593
608
  upgradeStorybookDependencies,
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_heajmwsix5v from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_heajmwsix5v from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_heajmwsix5v from "node:module";
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_heajmwsix5v.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_heajmwsix5v.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -21,8 +21,8 @@ import {
21
21
  isGitIgnoredSync,
22
22
  isIgnoredByIgnoreFiles,
23
23
  isIgnoredByIgnoreFilesSync
24
- } from "./chunk-HO4ISOZ6.js";
25
- import "./chunk-ABAAUOSF.js";
24
+ } from "./chunk-JYKXO3MW.js";
25
+ import "./chunk-XXFWAJQS.js";
26
26
  export {
27
27
  convertPathToPattern,
28
28
  generateGlobTasks,
@@ -0,0 +1,119 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+ import {
13
+ batchTestsRule,
14
+ buildPortalStep,
15
+ buildSharedPreviewStep,
16
+ cleanupStep,
17
+ cssCheckDOD,
18
+ discoveryStepStrict,
19
+ editOverWriteRule,
20
+ ext,
21
+ interactionPlayStep,
22
+ listDOD,
23
+ listRules,
24
+ listSteps,
25
+ monorepoRule,
26
+ monorepoStep,
27
+ mswStep,
28
+ noPolishRule,
29
+ nodeModuleReadsRule,
30
+ packageManagerRule,
31
+ preferSharedFixesRule,
32
+ readBudgetRule,
33
+ sharedPreviewDOD,
34
+ storyTagsV1DOD,
35
+ toolsVsShellRule,
36
+ typeCheckPassesStrictDOD,
37
+ verifyStep,
38
+ vitestPassesStrictDOD,
39
+ writeStoriesStep
40
+ } from "./chunk-6CXRNZGR.js";
41
+ import {
42
+ getDocsMarkdownUrl
43
+ } from "./chunk-LIGFKPNZ.js";
44
+ import "./chunk-XXFWAJQS.js";
45
+
46
+ // src/ai/setup-prompts/monorepo.ts
47
+ import { dedent } from "ts-dedent";
48
+ function instructions(projectInfo) {
49
+ let { configDir, language, needsUserOnboarding, packageManager, packageManagerName } = projectInfo, tsx = ext(language, !0), ts = ext(language, !1), docsUrl = (path) => getDocsMarkdownUrl(path, projectInfo), mswInstall = packageManager.getInstallCommand(
50
+ ["msw", "msw-storybook-addon", "mockdate"],
51
+ !0
52
+ ), ctx = {
53
+ configDir,
54
+ docsUrl,
55
+ mswInstall,
56
+ needsUserOnboarding,
57
+ packageManager,
58
+ packageManagerName,
59
+ tsx,
60
+ ts
61
+ };
62
+ return dedent`
63
+ Your goal is to make Storybook fully functional in this project: configure \`${configDir}/preview.${tsx}\` with the right decorators, add MSW for data, and write up to 10 colocated \`*.stories.${tsx}\` files. Add \`play\` functions only where they prove something non-trivial.
64
+
65
+ ## Rules of engagement (follow strictly — these are time budgets, not suggestions)
66
+
67
+ ${listRules([
68
+ toolsVsShellRule(ctx),
69
+ nodeModuleReadsRule(ctx),
70
+ monorepoRule(ctx),
71
+ readBudgetRule(ctx),
72
+ editOverWriteRule(ctx),
73
+ batchTestsRule(ctx),
74
+ packageManagerRule(ctx),
75
+ preferSharedFixesRule(ctx),
76
+ noPolishRule(ctx)
77
+ ])}
78
+
79
+ ## Plan (do not skip steps, but keep each step lean)
80
+
81
+ ${listSteps(
82
+ [
83
+ discoveryStepStrict(projectInfo, ctx),
84
+ monorepoStep(projectInfo, ctx),
85
+ buildSharedPreviewStep(projectInfo, ctx),
86
+ buildPortalStep(projectInfo, ctx),
87
+ mswStep(projectInfo, ctx),
88
+ writeStoriesStep(projectInfo, ctx),
89
+ interactionPlayStep(projectInfo, ctx),
90
+ verifyStep(projectInfo, ctx),
91
+ cleanupStep(projectInfo, ctx)
92
+ ],
93
+ { level: 3 }
94
+ )}
95
+
96
+ ## Done when
97
+
98
+ ${listDOD([
99
+ cssCheckDOD(ctx),
100
+ storyTagsV1DOD(ctx),
101
+ vitestPassesStrictDOD(ctx),
102
+ typeCheckPassesStrictDOD(ctx),
103
+ sharedPreviewDOD(ctx)
104
+ ])}
105
+
106
+ ## Reference (only fetch if stuck)
107
+
108
+ - Docs index: https://storybook.js.org/llms.txt
109
+ - Writing stories: ${docsUrl("writing-stories")}
110
+ - Decorators: ${docsUrl("writing-stories/decorators")}
111
+ - Play functions: ${docsUrl("writing-stories/play-function")}
112
+ - Vitest integration: ${docsUrl("writing-tests/vitest-plugin")}
113
+
114
+ Append \`?codeOnly=true\` to any docs URL for code-only snippets. Don't fetch unless a specific question can't be answered from this prompt.
115
+ `;
116
+ }
117
+ export {
118
+ instructions
119
+ };
@@ -0,0 +1,119 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+ import {
13
+ batchTestsRule,
14
+ buildPortalStep,
15
+ buildSharedPreviewStep,
16
+ cleanupStep,
17
+ cssCheckDOD,
18
+ discoveryStepRelaxed,
19
+ editOverWriteRule,
20
+ ext,
21
+ interactionPlayStep,
22
+ listDOD,
23
+ listRules,
24
+ listSteps,
25
+ monorepoRule,
26
+ monorepoStep,
27
+ mswStep,
28
+ noPolishRule,
29
+ nodeModuleReadsRule,
30
+ packageManagerRule,
31
+ preferSharedFixesRule,
32
+ readBudgetRuleRelaxed,
33
+ sharedPreviewDOD,
34
+ storyTagsV2DOD,
35
+ toolsVsShellRule,
36
+ typeCheckPassesWhenExpectedDOD,
37
+ verifyWithAllowedFailureStep,
38
+ vitestPassesWhenExpectedDOD,
39
+ writeStoriesWithAllowedFailuresStep
40
+ } from "./chunk-6CXRNZGR.js";
41
+ import {
42
+ getDocsMarkdownUrl
43
+ } from "./chunk-LIGFKPNZ.js";
44
+ import "./chunk-XXFWAJQS.js";
45
+
46
+ // src/ai/setup-prompts/monorepo-optimized-tests-relaxed-limits-no-story-deletion.ts
47
+ import { dedent } from "ts-dedent";
48
+ function instructions(projectInfo) {
49
+ let { configDir, language, needsUserOnboarding, packageManager, packageManagerName } = projectInfo, tsx = ext(language, !0), ts = ext(language, !1), docsUrl = (path) => getDocsMarkdownUrl(path, projectInfo), mswInstall = packageManager.getInstallCommand(
50
+ ["msw", "msw-storybook-addon", "mockdate"],
51
+ !0
52
+ ), ctx = {
53
+ configDir,
54
+ docsUrl,
55
+ mswInstall,
56
+ needsUserOnboarding,
57
+ packageManager,
58
+ packageManagerName,
59
+ tsx,
60
+ ts
61
+ };
62
+ return dedent`
63
+ Your goal is to make Storybook fully functional in this project: configure \`${configDir}/preview.${tsx}\` with the right decorators, add MSW for data, and write up to 10 colocated \`*.stories.${tsx}\` files. Add \`play\` functions only where they prove something non-trivial.
64
+
65
+ ## Rules of engagement (follow strictly — these are time budgets, not suggestions)
66
+
67
+ ${listRules([
68
+ toolsVsShellRule(ctx),
69
+ nodeModuleReadsRule(ctx),
70
+ monorepoRule(ctx),
71
+ readBudgetRuleRelaxed(ctx),
72
+ editOverWriteRule(ctx),
73
+ batchTestsRule(ctx),
74
+ packageManagerRule(ctx),
75
+ preferSharedFixesRule(ctx),
76
+ noPolishRule(ctx)
77
+ ])}
78
+
79
+ ## Plan (do not skip steps, but keep each step lean)
80
+
81
+ ${listSteps(
82
+ [
83
+ discoveryStepRelaxed(projectInfo, ctx),
84
+ monorepoStep(projectInfo, ctx),
85
+ buildSharedPreviewStep(projectInfo, ctx),
86
+ buildPortalStep(projectInfo, ctx),
87
+ mswStep(projectInfo, ctx),
88
+ writeStoriesWithAllowedFailuresStep(projectInfo, ctx),
89
+ interactionPlayStep(projectInfo, ctx),
90
+ verifyWithAllowedFailureStep(projectInfo, ctx),
91
+ cleanupStep(projectInfo, ctx)
92
+ ],
93
+ { level: 3 }
94
+ )}
95
+
96
+ ## Done when
97
+
98
+ ${listDOD([
99
+ cssCheckDOD(ctx),
100
+ storyTagsV2DOD(ctx),
101
+ vitestPassesWhenExpectedDOD(ctx),
102
+ typeCheckPassesWhenExpectedDOD(ctx),
103
+ sharedPreviewDOD(ctx)
104
+ ])}
105
+
106
+ ## Reference (only fetch if stuck)
107
+
108
+ - Docs index: https://storybook.js.org/llms.txt
109
+ - Writing stories: ${docsUrl("writing-stories")}
110
+ - Decorators: ${docsUrl("writing-stories/decorators")}
111
+ - Play functions: ${docsUrl("writing-stories/play-function")}
112
+ - Vitest integration: ${docsUrl("writing-tests/vitest-plugin")}
113
+
114
+ Append \`?codeOnly=true\` to any docs URL for code-only snippets. Don't fetch unless a specific question can't be answered from this prompt.
115
+ `;
116
+ }
117
+ export {
118
+ instructions
119
+ };
@@ -0,0 +1,20 @@
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+ import {
13
+ instructions
14
+ } from "./chunk-4C3DFANT.js";
15
+ import "./chunk-6CXRNZGR.js";
16
+ import "./chunk-LIGFKPNZ.js";
17
+ import "./chunk-XXFWAJQS.js";
18
+ export {
19
+ instructions
20
+ };
@@ -1,15 +1,15 @@
1
- import CJS_COMPAT_NODE_URL_heajmwsix5v from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_heajmwsix5v from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_heajmwsix5v from "node:module";
1
+ import CJS_COMPAT_NODE_URL_vb9chkpq80c from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_vb9chkpq80c from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_vb9chkpq80c from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_heajmwsix5v.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_heajmwsix5v.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_heajmwsix5v.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_vb9chkpq80c.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_vb9chkpq80c.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_vb9chkpq80c.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
- import "./chunk-ABAAUOSF.js";
12
+ import "./chunk-XXFWAJQS.js";
13
13
 
14
14
  // ../../../node_modules/yocto-queue/index.js
15
15
  var Node = class {