Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation
599 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test-storybooks/external-docs/pages/api/hello.js | 4 | res.status(200).json({ name: 'John Doe' }); |
| LOW | …ortable-stories-kitchen-sink/nextjs/pages/api/hello.ts | 12 | res.status(200).json({ name: "John Doe" }); |
| LOW | test-storybooks/yarn-pnp/src/stories/Page.vue | 65 | user.value = { name: 'Jane Doe' }; |
| LOW | test-storybooks/yarn-pnp/src/stories/Page.vue | 71 | user.value = { name: 'Jane Doe' }; |
| LOW | test-storybooks/yarn-pnp/src/stories/Header.stories.ts | 40 | name: 'Jane Doe', |
| LOW | …/server-kitchen-sink/stories/kitchen_sink.stories.json | 13 | "params": { "name": "Jane Doe" } |
| LOW | …/server-kitchen-sink/stories/kitchen_sink.stories.json | 29 | "args": { "name": "John Doe", "age": 44 } |
| LOW | …rver-kitchen-sink/stories/addons/controls.stories.json | 11 | "args": { "name": "John Doe", "age": 44 } |
| LOW | …rver-kitchen-sink/stories/addons/controls.stories.json | 18 | "args": { "name": "John Doe", "color": "orangered" }, |
| LOW | code/renderers/svelte/template/cli/js/Page.svelte | 11 | onLogin={() => (user = { name: 'Jane Doe' })} |
| LOW | code/renderers/svelte/template/cli/js/Page.svelte | 13 | onCreateAccount={() => (user = { name: 'Jane Doe' })} |
| LOW | …renderers/svelte/template/cli/js/Header.stories.svelte | 24 | <Story name="Logged In" args={{ user: { name: 'Jane Doe' } }} /> |
| LOW | code/renderers/svelte/template/cli/ts/Page.svelte | 11 | onLogin={() => (user = { name: 'Jane Doe' })} |
| LOW | code/renderers/svelte/template/cli/ts/Page.svelte | 13 | onCreateAccount={() => (user = { name: 'Jane Doe' })} |
| LOW | …renderers/svelte/template/cli/ts/Header.stories.svelte | 24 | <Story name="Logged In" args={{ user: { name: 'Jane Doe' } }} /> |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 12 | const loremIpsum = 'Lorem ipsum dolor sit amet'; |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 12 | const loremIpsum = 'Lorem ipsum dolor sit amet'; |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 46 | property1="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 46 | property1="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 47 | property2="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 47 | property2="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 48 | property3="Lorem ipsum dolor sit amet"/> |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 48 | property3="Lorem ipsum dolor sit amet"/> |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 62 | property1="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 62 | property1="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 63 | property2="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 63 | property2="Lorem ipsum dolor sit amet" |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 64 | property3="Lorem ipsum dolor sit amet"> |
| LOW | code/renderers/svelte/src/docs/sourceDecorator.test.ts | 64 | property3="Lorem ipsum dolor sit amet"> |
| LOW | code/renderers/html/template/cli/js/Page.js | 15 | user = { name: 'Jane Doe' }; |
| LOW | code/renderers/html/template/cli/js/Page.js | 25 | user = { name: 'Jane Doe' }; |
| LOW | code/renderers/html/template/cli/js/Header.stories.js | 24 | name: 'Jane Doe', |
| LOW | code/renderers/html/template/cli/ts/Page.ts | 19 | user = { name: 'Jane Doe' }; |
| LOW | code/renderers/html/template/cli/ts/Page.ts | 29 | user = { name: 'Jane Doe' }; |
| LOW | code/renderers/html/template/cli/ts/Header.stories.ts | 31 | name: 'Jane Doe', |
| LOW | code/renderers/preact/template/cli/Header.stories.jsx | 24 | name: 'Jane Doe', |
| LOW | code/renderers/preact/template/cli/Page.jsx | 14 | onLogin={() => setUser({ name: 'Jane Doe' })} |
| LOW | code/renderers/preact/template/cli/Page.jsx | 16 | onCreateAccount={() => setUser({ name: 'Jane Doe' })} |
| LOW | …erers/web-components/template/cli/js/Header.stories.js | 19 | name: 'Jane Doe', |
| LOW | …erers/web-components/template/cli/ts/Header.stories.ts | 26 | name: 'Jane Doe', |
| LOW | code/renderers/vue3/template/cli/js/Header.stories.js | 39 | name: 'Jane Doe', |
| LOW | code/renderers/vue3/template/cli/js/Page.vue | 73 | this.user = { name: 'Jane Doe' }; |
| LOW | code/renderers/vue3/template/cli/js/Page.vue | 79 | this.user = { name: 'Jane Doe' }; |
| LOW | code/renderers/vue3/template/cli/ts/Page.vue | 65 | user.value = { name: 'Jane Doe' }; |
| LOW | code/renderers/vue3/template/cli/ts/Page.vue | 71 | user.value = { name: 'Jane Doe' }; |
| LOW | code/renderers/vue3/template/cli/ts/Header.stories.ts | 40 | name: 'Jane Doe', |
| LOW | code/renderers/vue3/src/csf-factories.test.ts | 217 | name: 'John Doe', |
| LOW | code/renderers/react/template/cli/js/Header.stories.js | 24 | name: 'Jane Doe', |
| LOW | code/renderers/react/template/cli/js/Page.jsx | 13 | onLogin={() => setUser({ name: 'Jane Doe' })} |
| LOW | code/renderers/react/template/cli/js/Page.jsx | 15 | onCreateAccount={() => setUser({ name: 'Jane Doe' })} |
| LOW | code/renderers/react/template/cli/ts/Page.tsx | 17 | onLogin={() => setUser({ name: 'Jane Doe' })} |
| LOW | code/renderers/react/template/cli/ts/Page.tsx | 19 | onCreateAccount={() => setUser({ name: 'Jane Doe' })} |
| LOW | code/renderers/react/template/cli/ts/Header.stories.ts | 29 | name: 'Jane Doe', |
| LOW | code/renderers/react/src/componentManifest/fixtures.ts | 79 | export const LoggedIn: Story = { args: { user: { name: 'Jane Doe' } } }; |
| LOW | …enderers/react/src/componentManifest/generator.test.ts | 260 | user={{ name: 'Jane Doe' }} />;", |
| LOW | …onents/syntaxhighlighter/syntaxhighlighter.stories.tsx | 204 | name: 'Jane Doe', |
| LOW | …ponents/components/tooltip/TooltipProvider.stories.tsx | 11 | const SampleTooltip = () => 'Lorem ipsum dolor sit'; |
| LOW | …ponents/components/tooltip/TooltipProvider.stories.tsx | 189 | await expect(await screen.findByText('Lorem ipsum dolor sit')).toBeInTheDocument(); |
| LOW | …ponents/components/tooltip/TooltipProvider.stories.tsx | 201 | await expect(await screen.queryByText('Lorem ipsum dolor sit')).not.toBeInTheDocument(); |
| LOW | …/components/components/tooltip/WithTooltip.stories.tsx | 41 | title="Lorem ipsum dolor sit" |
| 232 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …de/renderers/svelte/src/extractComponentDescription.ts | 2 | export function extractComponentDescription(component?: any): string { |
| LOW | code/renderers/web-components/src/framework-api.ts | 33 | export function setCustomElementsManifest(customElements: any) { |
| LOW | code/renderers/vue3/src/decorateStory.ts | 16 | function normalizeFunctionalComponent(options: ConcreteComponent): ComponentOptions { |
| LOW | …plate/stories/docgen-components/js-proptypes/input.jsx | 92 | inlineFunctionalElementNamedInline: function InlinedFunctionalComponent() { |
| LOW | …plate/stories/docgen-components/js-proptypes/input.jsx | 372 | functionalElementNamedInline: function InlinedFunctionalComponent() { |
| LOW | …renderers/react/src/componentManifest/subcomponents.ts | 22 | export function extractDeclaredSubcomponents(csf: CsfFile): DeclaredSubcomponent[] { |
| LOW | …renderers/react/src/componentManifest/subcomponents.ts | 46 | function findVariableInitialization(identifier: string, program: t.Program) { |
| LOW | …renderers/react/src/componentManifest/subcomponents.ts | 113 | function getComponentExpressionName(node: t.Node | undefined): string | undefined { |
| LOW | code/renderers/react/src/componentManifest/generator.ts | 48 | async function createComponentMetaManager( |
| LOW | code/renderers/react/src/componentManifest/generator.ts | 213 | function createSubcomponentManifest({ |
| LOW | code/renderers/react/src/componentManifest/generator.ts | 300 | function extractComponentDescription( |
| LOW | …s/react/src/componentManifest/reactDocgenTypescript.ts | 67 | function findDisplayNameAssignment( |
| LOW | …s/react/src/componentManifest/reactDocgenTypescript.ts | 267 | export function getReactDocgenTypescriptError( |
| LOW | …ers/react/src/componentManifest/generateCodeSnippet.ts | 492 | function transformArgsSpreadsInJsx( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 118 | function resolveComponentSymbolFromNode( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 254 | export function resolvePropsFromStoryFile( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 425 | export function resolvePropsFromComponentType( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 822 | function isPropsDerivedInitializer( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 882 | function extractDestructuringDefaults( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 965 | function collectObjectLiteralDefaults( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 1001 | function extractStaticDefaultProps( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 1235 | function extractComponentJsDocTags( |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 1452 | function extractDefaultsFromSourceFile( |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 148 | raw: 'function InlinedFunctionalComponent() {\n return <div>Inlined FunctionalComponent!</div>;\n}', |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 156 | const expectedDetail = `function InlinedFunctionalComponent() { |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 1107 | 'function InlinedFunctionalComponent() {\n return <div>Inlined FunctionalComponent!</div>;\n}' |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 1115 | const expectedDetail = `function InlinedFunctionalComponent() { |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 1398 | const { defaultValue } = extractPropDef(component, function InlinedFunctionalComponent() { |
| LOW | …renderers/react/src/docs/propTypes/handleProp.test.tsx | 1412 | function InlinedFunctionalComponent({ foo }: { foo: string }) { |
| LOW | …rers/react/src/docs/propTypes/generateFuncSignature.ts | 40 | export function generateShortFuncSignature( |
| LOW | code/renderers/react/src/docs/propTypes/sortProps.ts | 7 | export function keepOriginalDefinitionOrder( |
| LOW | code/renderers/react/src/docs/propTypes/createType.ts | 91 | function getCaptionForInspectionType(type: InspectionType): string { |
| LOW | code/renderers/react/src/docs/propTypes/createType.ts | 294 | function createArrayOfObjectTypeDef( |
| LOW | …enderers/react/src/docs/typeScript/handleProp.test.tsx | 218 | 'function InlinedFunctionalComponent() {\n return <div>Inlined FunctionalComponent!</div>;\n}' |
| LOW | …enderers/react/src/docs/typeScript/handleProp.test.tsx | 226 | const expectedDetail = `function InlinedFunctionalComponent() { |
| LOW | …enderers/react/src/docs/typeScript/handleProp.test.tsx | 492 | const { defaultValue } = extractPropDef(component, function InlinedFunctionalComponent() { |
| LOW | …enderers/react/src/docs/typeScript/handleProp.test.tsx | 505 | function InlinedFunctionalComponent({ foo }: { foo: string }) { |
| LOW | code/renderers/react/src/docs/lib/generateCode.ts | 32 | function generateCompactObjectCode(ast: any): string { |
| LOW | code/renderers/react/src/docs/lib/generateCode.ts | 48 | function generateMultilineArrayCode(ast: any): string { |
| LOW | …src/docs/lib/defaultValues/createFromRawDefaultProp.ts | 175 | export function createDefaultValueFromRawDefaultProp( |
| LOW | …s/react/src/docs/lib/defaultValues/prettyIdentifier.ts | 8 | export function getPrettyElementIdentifier(identifier: string) { |
| LOW | code/core/src/server-errors.ts | 564 | function createMinimumReleaseAgeHandledErrorMessage(data: MinimumReleaseAgeHandledErrorData) { |
| LOW | …c/preview-api/modules/preview-web/simulate-pageload.ts | 72 | function insertScriptsSequentially(scriptsToExecute: any[], callback: any, index = 0) { |
| LOW | code/core/src/preview-api/modules/store/decorators.ts | 30 | export function sanitizeStoryContextUpdate({ |
| LOW | code/core/src/bin/loader.ts | 113 | export function addExtensionsToRelativeImports(source: string, filePath: string): string { |
| LOW | code/core/src/mocking-utils/esmWalker.ts | 333 | export function isInDestructuringAssignment(parent: _Node, parentStack: _Node[]): boolean { |
| LOW | code/core/src/mocking-utils/esmWalker.ts | 341 | export function getArbitraryModuleIdentifier(node: Identifier | Literal): string { |
| LOW | code/core/src/shared/open-service/fixtures.ts | 130 | export function createSharedStaticFileServiceDef() { |
| LOW | code/core/src/shared/open-service/fixtures.ts | 191 | export function createDerivedBooleanFromChildQueryServiceDef() { |
| LOW | code/core/src/shared/open-service/fixtures.ts | 220 | export function createInvalidQueryOutputServiceDef() { |
| LOW | code/core/src/shared/open-service/fixtures.ts | 238 | export function createInvalidCommandOutputServiceDef() { |
| LOW | code/core/src/shared/open-service/fixtures.ts | 256 | export function createInvalidStaticInputServiceDef() { |
| LOW | code/core/src/shared/open-service/service-runtime.ts | 191 | function normalizeStaticStoragePath(serviceId: ServiceId, name: string, rawPath: string): string { |
| LOW | code/core/src/shared/open-service/server.ts | 114 | export async function writeOpenServiceStaticFiles(outputDir: string): Promise<void> { |
| LOW | code/core/src/cli/helpers.ts | 106 | export function addToDevDependenciesIfNotPresent( |
| LOW | code/core/src/babel/babelParse.ts | 6 | function parseWithFlowOrTypescript(source: string, parserOptions: parser.ParserOptions) { |
| LOW | …c/manager/components/sidebar/FileSearchModal.utils.tsx | 5 | export function extractSeededRequiredArgs(argTypes: ArgTypes) { |
| LOW | …de/core/src/manager/components/sidebar/ContextMenu.tsx | 253 | export function generateTestProviderLinks( |
| LOW | …/src/manager/components/layout/useLandmarkIndicator.ts | 7 | function findActiveLandmarkElement() { |
| LOW | code/core/src/manager/components/preview/Toolbar.tsx | 129 | function toolbarItemHasBeenExcluded(item: Partial<Addon_BaseType>, entry: LeafEntry | undefined) { |
| 151 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test-storybooks/external-docs/next-env.d.ts | 1 | /// <reference types="next" /> |
| LOW | …table-stories-kitchen-sink/svelte/playwright.config.ts | 41 | // { |
| LOW | …tories-kitchen-sink/svelte/cypress/support/commands.ts | 1 | /// <reference types="cypress" /> |
| LOW | …tories-kitchen-sink/svelte/cypress/support/commands.ts | 21 | // -- This is a dual command -- |
| LOW | …ories-kitchen-sink/svelte/cypress/support/component.ts | 1 | // *********************************************************** |
| LOW | …able-stories-kitchen-sink/svelte/stories/Button.cy.tsx | 21 | |
| LOW | …able-stories-kitchen-sink/svelte/stories/Button.cy.tsx | 41 | // await CSF3InputFieldFilled.play!({ canvasElement: document.querySelector('[data-cy-root]') as HTMLElement }); |
| LOW | …-stories-kitchen-sink/vue3/cypress/support/commands.ts | 1 | /// <reference types="cypress" /> |
| LOW | …stories-kitchen-sink/vue3/cypress/support/component.ts | 1 | /* eslint-disable @typescript-eslint/no-namespace */ |
| LOW | …ble-stories-kitchen-sink/react/playwright-ct.config.ts | 41 | // use: { ...devices['Desktop Firefox'] }, |
| LOW | …stories-kitchen-sink/react/cypress/support/commands.ts | 1 | /// <reference types="cypress" /> |
| LOW | …tories-kitchen-sink/react/cypress/support/component.ts | 1 | /* eslint-disable @typescript-eslint/no-namespace */ |
| LOW | test-storybooks/ember-cli/ember-cli-build.js | 1 | const EmberApp = require('ember-cli/lib/broccoli/ember-app'); |
| LOW | code/playwright.config.ts | 81 | // ...devices['Desktop Safari'], |
| LOW | code/playwright.config.ts | 101 | // name: 'Microsoft Edge', |
| LOW | code/renderers/react/src/enrichCsf.ts | 61 | t.identifier('docs'), |
| LOW | …e/core/template/stories/loader-enhancements.stories.ts | 21 | // async play({ userEvent }) { |
| LOW | …ore/template/stories/test/NodeModuleMocking.stories.js | 1 | import { global as globalThis } from '@storybook/global'; |
| LOW | …de/core/src/preview-api/modules/preview-web/WebView.ts | 201 | // When 'showStory' is called (at the start of rendering) we get rid of our display:none |
| LOW | …w-api/modules/store/csf/normalizeProjectAnnotations.ts | 41 | // |
| LOW | code/core/src/csf/story.ts | 501 | * |
| LOW | code/core/src/instrumenter/instrumenter.ts | 801 | |
| LOW | code/core/src/instrumenter/instrumenter.ts | 821 | // it's not configurable (can't update property flags), so it |
| LOW | code/core/src/node-logger/logger/console.ts | 61 | // if (this.lastStatusLine !== null) { |
| LOW | …lders/builder-vite/src/plugins/webpack-stats-plugin.ts | 61 | |
| LOW | …ons/docs/template/stories/docspage/override.stories.ts | 1 | // FIXME: do this using basic React functions for multi-framework |
| LOW | …dons/pseudo-states/src/stories/NestedRules.stories.tsx | 21 | // const button = canvas.getByRole('button')!; |
| LOW | code/lib/cli-storybook/src/sandbox-templates.ts | 801 | extraDependencies: ['preact-render-to-string'], |
| LOW | code/lib/cli-storybook/src/sandbox-templates.ts | 841 | // NOTE: create-expo-app installs React 18.2.0. But yarn portal |
| LOW | code/lib/eslint-plugin/src/types/index.ts | 21 | > & { |
| LOW | code/frameworks/nextjs-vite/template/next-env.d.ts | 1 | // Reference necessary since Next.js 13.2.0, because types in `next/navigation` are not exported per default, but |
| LOW | …nextjs-vite/template/stories/ServerActions.stories.tsx | 41 | pathname: '/', |
| LOW | …orks/nextjs-vite/template/stories/Redirect.stories.tsx | 21 | <button>Submit</button> |
| LOW | code/frameworks/nextjs/template/next-env.d.ts | 1 | // Reference necessary since Next.js 13.2.0, because types in `next/navigation` are not exported per default, but |
| LOW | …te/stories_nextjs-default-ts/ServerActions.stories.tsx | 41 | pathname: '/', |
| LOW | …emplate/stories_nextjs-default-ts/Redirect.stories.tsx | 21 | <button>Submit</button> |
| LOW | …te/stories_nextjs-prerelease/ServerActions.stories.tsx | 41 | pathname: '/', |
| LOW | …emplate/stories_nextjs-prerelease/Redirect.stories.tsx | 21 | <button>Submit</button> |
| LOW | scripts/event-log-checker.ts | 81 | |
| LOW | .github/workflows/agent-scan.yml | 1 | ################################################################################################### |
| LOW | .github/workflows/agent-scan.yml | 21 | # ░░ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ # |
| LOW | .github/workflows/duplicate-code-detector.lock.yml | 1 | # |
| LOW | .github/workflows/duplicate-code-detector.lock.yml | 21 | # |
| LOW | .github/workflows/code-simplifier.lock.yml | 1 | # |
| LOW | .github/workflows/code-simplifier.lock.yml | 21 | # |
| LOW | .github/workflows/danger-js.yml | 1 | ################################################################################################### |
| LOW | .github/workflows/danger-js.yml | 21 | # ░░ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ # |
| LOW | .github/workflows/trigger-circle-ci-workflow.yml | 1 | ################################################################################################### |
| LOW | .github/workflows/trigger-circle-ci-workflow.yml | 21 | # ░░ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ # |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/renderers/react/src/componentManifest/generator.ts | 341 | // Step 1: Resolve components for all entries |
| LOW | code/renderers/react/src/componentManifest/generator.ts | 384 | // Step 2: Batch extract rcm props (one TS program build per tsconfig project) |
| LOW | code/renderers/react/src/componentManifest/generator.ts | 402 | // Step 3: Build manifests |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 267 | // Step 1: Find the import binding symbol in the story file. |
| LOW | …ponentManifest/componentMeta/componentMetaExtractor.ts | 341 | // Step 2: Walk story file to find JSX elements using this import |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 472 | ### Step 1: Analyze the codebase |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 534 | ### Step 2: Build one default app environment in preview |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 564 | ### Step 3: Support portals with preview-body.html |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 600 | ### Step 4: Mock side effects globally |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 669 | ### Step 5: Write stories |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 717 | ### Step 6: Write a play function for every story |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 789 | ### Step 7: Prove CSS is loaded in exactly one story named \`CssCheck\` |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 806 | ### Step 8: Cover the patterns you found |
| LOW | …li-storybook/src/ai/setup-prompts/pattern-copy-play.ts | 822 | ### Step 9: Verify both rendering and types |
| LOW | code/lib/cli-storybook/src/ai/setup-prompts/setup.ts | 166 | ### Step 1: Analyze the codebase |
| LOW | code/lib/cli-storybook/src/ai/setup-prompts/setup.ts | 178 | ### Step 2: Configure \`${configDir}/preview.tsx\` with decorators |
| LOW | code/lib/cli-storybook/src/ai/setup-prompts/setup.ts | 193 | ### Step 3: Write stories for 9 components |
| LOW | code/lib/cli-storybook/src/ai/setup-prompts/setup.ts | 235 | ### Step 4: Verify each story with Vitest |
| LOW | code/lib/create-storybook/src/initiate.ts | 91 | // Step 1: Run preflight checks |
| LOW | code/lib/create-storybook/src/initiate.ts | 94 | // Step 2: Detect project type |
| LOW | code/lib/create-storybook/src/initiate.ts | 97 | // Step 3: Detect framework, renderer, and builder |
| LOW | code/lib/create-storybook/src/initiate.ts | 104 | // Step 4: Get user preferences and feature selections (with framework/builder for validation) |
| LOW | code/lib/create-storybook/src/initiate.ts | 124 | // Step 5: Execute generator with dependency collector (now with frameworkInfo) |
| LOW | code/lib/create-storybook/src/initiate.ts | 137 | // Step 6: Install all dependencies in a single operation |
| LOW | code/lib/create-storybook/src/initiate.ts | 159 | // Step 7: Configure addons (run postinstall scripts for configuration only) |
| LOW | code/lib/create-storybook/src/initiate.ts | 167 | // Step 8: Print final summary |
| LOW | code/lib/create-storybook/src/initiate.ts | 195 | // Step 9: Track telemetry |
| LOW | scripts/eval/lib/grading-helpers.test.ts | 69 | // Step 1: Find candidates — both components should be discovered |
| LOW | scripts/eval/lib/grading-helpers.test.ts | 73 | // Step 2: Simulate git output where the agent added storybook config + one |
| LOW | scripts/eval/lib/grading-helpers.test.ts | 89 | // Step 3: Score is now just story-render preview gain. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | CONTRIBUTING.md | 29 | Pull requests or issues entirely generated by AI with no human involvement (e.g. by an automated agent) will be labeled |
| HIGH | …ore/src/core-server/server-channel/ai-setup-channel.ts | 75 | // Fetch AI-generated stories and score them with the ghost stories metrics, if any are found. |
| HIGH | …ore/src/core-server/server-channel/ai-setup-channel.ts | 120 | runError: 'No stories found that were generated by ai setup', |
| HIGH | code/core/src/core-server/utils/checklist.ts | 128 | // Find at least one entry generated by AI. |
| HIGH | code/core/src/core-server/utils/checklist.ts | 159 | // `ai-setup-ran` cache and the AI-generated stories appear *after* the |
| HIGH | code/core/src/core-server/utils/checklist.ts | 173 | // Sync aiSetup UI as soon as we observe AI-generated stories in the |
| HIGH | …e-server/utils/manifests/render-components-manifest.ts | 45 | // AI generated manifests/components.html page |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …api/modules/preview-web/PreviewWeb.integration.test.ts | 88 | componentOneExports.default.parameters.docs.container.mockClear(); |
| CRITICAL | …api/modules/preview-web/PreviewWeb.integration.test.ts | 137 | componentOneExports.default.parameters.docs.container.mockImplementationOnce(() => |
| CRITICAL | …api/modules/preview-web/PreviewWeb.integration.test.ts | 169 | componentOneExports.default.parameters.docs.container.mockImplementation(() => { |
| CRITICAL | code/addons/vitest/src/vitest-plugin/index.ts | 465 | context.vitest.config.coverage.exclude.push('storybook-static'); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | code/core/src/manager-api/modules/layout.ts | 451 | // ways to make this API more robust to focus-trap race conditions. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | code/core/src/babel/vitest-config-helpers.test.ts | 277 | // ─── canUpdateVitestWorkspaceFile ──────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | scripts/ecosystem-ci/build.sh | 15 | # Create the storybook-sandboxes directory with a package.json that specifies Yarn as the package manager. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/core/src/csf/story.test.ts | 41 | async function doSomething() { |
| LOW | code/core/src/manager-api/modules/refs.ts | 106 | async function handleRequest( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | code/addons/docs/src/blocks/controls/Boolean.tsx | 117 | * ## Example usage |