From 53b3e5a03aa23fb098812e7b46020a89d69a0ea3 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 15:20:02 +0200 Subject: [PATCH 01/42] cleanup `no-extraneous-dependencies` --- code/.eslintrc.js | 32 +++++++++++-------- code/builders/builder-vite/vitest.config.ts | 1 - .../builder-webpack5/vitest.config.ts | 1 - code/core/{.eslintrc => .eslintrc.json} | 2 -- code/frameworks/angular/.eslintrc.js | 16 ---------- code/frameworks/angular/.eslintrc.json | 8 +++++ .../angular-beta/utils/BootstrapQueue.test.ts | 3 +- .../template/cli/.eslintrc.json | 1 - .../experimental-nextjs-vite/vitest.config.ts | 1 - .../frameworks/html-webpack5/vitest.config.ts | 1 - .../nextjs/template/cli/.eslintrc.json | 1 - code/frameworks/nextjs/vitest.config.ts | 1 - code/frameworks/preact-vite/vitest.config.ts | 1 - .../preact-webpack5/vitest.config.ts | 1 - code/frameworks/react-vite/vitest.config.ts | 1 - .../react-webpack5/vitest.config.ts | 1 - .../server-webpack5/vitest.config.ts | 1 - code/frameworks/svelte-vite/vitest.config.ts | 1 - .../svelte-webpack5/vitest.config.ts | 1 - code/frameworks/sveltekit/vitest.config.ts | 1 - code/frameworks/vue3-vite/vitest.config.ts | 1 - .../frameworks/vue3-webpack5/vitest.config.ts | 1 - .../web-components-vite/vitest.config.ts | 1 - .../web-components-webpack5/vitest.config.ts | 1 - code/lib/cli-storybook/.eslintrc.cjs | 27 +++++++--------- code/lib/cli/.eslintrc.cjs | 27 +++++++--------- .../export-destructuring.input.js | 1 - .../export-destructuring.output.snapshot | 3 +- .../storiesof-to-csf/export-function.input.js | 1 - .../export-function.output.snapshot | 3 +- .../storiesof-to-csf/export-names.input.js | 1 - .../export-names.output.snapshot | 3 +- .../parameters-as-var.input.js | 1 - .../parameters-as-var.output.snapshot | 3 +- .../storiesof-to-csf/storiesof-var.input.js | 1 - .../storiesof-var.output.snapshot | 3 +- code/lib/create-storybook/.eslintrc.cjs | 27 +++++++--------- .../rendererAssets/.eslintrc.json | 3 +- code/renderers/html/vitest.config.ts | 1 - .../preact/template/cli/.eslintrc.json | 3 +- .../preact/template/stories/React.jsx | 1 - code/renderers/preact/vitest.config.ts | 1 - code/renderers/react/vitest.config.ts | 1 - code/renderers/server/vitest.config.ts | 1 - code/renderers/svelte/vitest.config.ts | 1 - .../vue3/template/stories/preview.js | 1 - code/renderers/vue3/vitest.config.ts | 1 - .../template/stories/preview.js | 1 - .../renderers/web-components/vitest.config.ts | 1 - scripts/tasks/generate.ts | 1 - 50 files changed, 72 insertions(+), 126 deletions(-) rename code/core/{.eslintrc => .eslintrc.json} (71%) delete mode 100644 code/frameworks/angular/.eslintrc.js create mode 100644 code/frameworks/angular/.eslintrc.json diff --git a/code/.eslintrc.js b/code/.eslintrc.js index baac3337d8d6..f07455786875 100644 --- a/code/.eslintrc.js +++ b/code/.eslintrc.js @@ -58,18 +58,6 @@ module.exports = { '@typescript-eslint/dot-notation': 'off', }, }, - { - files: [ - '*.test.*', - '*.spec.*', - '**/template/**/*', - '**/vitest.config.ts', - '**/addons/docs/**/*', - ], - rules: { - 'import/no-extraneous-dependencies': 'off', - }, - }, { files: ['*.js', '*.jsx', '*.json', '*.html', '**/.storybook/*.ts', '**/.storybook/*.tsx'], parserOptions: { @@ -141,11 +129,29 @@ module.exports = { ], }, })), + { + files: [ + '*.test.*', + '*.spec.*', + '**/template/**/*', + '**/vitest.config.*', + '**/addons/docs/**/*', + '**/__tests__/**', + '**/__testfixtures__/**', + '**/*.test.*', + '**/*.stories.*', + '**/scripts/**/*', + '**/*.mockdata.*', + 'vitest.d.ts', + ], + rules: { + 'import/no-extraneous-dependencies': 'off', + }, + }, { files: ['**/__tests__/**', '**/__testfixtures__/**', '**/*.test.*', '**/*.stories.*'], rules: { '@typescript-eslint/no-empty-function': 'off', - 'import/no-extraneous-dependencies': 'off', }, }, { diff --git a/code/builders/builder-vite/vitest.config.ts b/code/builders/builder-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/builders/builder-vite/vitest.config.ts +++ b/code/builders/builder-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/builders/builder-webpack5/vitest.config.ts b/code/builders/builder-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/builders/builder-webpack5/vitest.config.ts +++ b/code/builders/builder-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/core/.eslintrc b/code/core/.eslintrc.json similarity index 71% rename from code/core/.eslintrc rename to code/core/.eslintrc.json index 4506d2eb4307..92e5cd2775d3 100644 --- a/code/core/.eslintrc +++ b/code/core/.eslintrc.json @@ -1,8 +1,6 @@ { "rules": { "@typescript-eslint/triple-slash-reference": "off", - "import/no-extraneous-dependencies": "off", "storybook/use-storybook-expect": "off" - } } diff --git a/code/frameworks/angular/.eslintrc.js b/code/frameworks/angular/.eslintrc.js deleted file mode 100644 index 31a4520f54f5..000000000000 --- a/code/frameworks/angular/.eslintrc.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - rules: { - '@typescript-eslint/consistent-type-imports': [ - 'error', - { prefer: 'no-type-imports', disallowTypeAnnotations: false }, - ], - }, - overrides: [ - { - files: ['template/**/*.*'], - rules: { - 'import/no-extraneous-dependencies': 'off', - }, - }, - ], -}; diff --git a/code/frameworks/angular/.eslintrc.json b/code/frameworks/angular/.eslintrc.json new file mode 100644 index 000000000000..99467966c024 --- /dev/null +++ b/code/frameworks/angular/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "rules": { + "@typescript-eslint/consistent-type-imports": [ + "error", + { "prefer": "no-type-imports", "disallowTypeAnnotations": false } + ] + } +} diff --git a/code/frameworks/angular/src/client/angular-beta/utils/BootstrapQueue.test.ts b/code/frameworks/angular/src/client/angular-beta/utils/BootstrapQueue.test.ts index c8d5a156c835..dc57bb182bcb 100644 --- a/code/frameworks/angular/src/client/angular-beta/utils/BootstrapQueue.test.ts +++ b/code/frameworks/angular/src/client/angular-beta/utils/BootstrapQueue.test.ts @@ -1,7 +1,8 @@ // @vitest-environment happy-dom -import { Subject, lastValueFrom } from 'rxjs'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { Subject, lastValueFrom } from 'rxjs'; + import { queueBootstrapping } from './BootstrapQueue'; const instantWaitFor = (fn: () => void) => { diff --git a/code/frameworks/experimental-nextjs-vite/template/cli/.eslintrc.json b/code/frameworks/experimental-nextjs-vite/template/cli/.eslintrc.json index 2ce44cb74ab3..012842ba7b28 100644 --- a/code/frameworks/experimental-nextjs-vite/template/cli/.eslintrc.json +++ b/code/frameworks/experimental-nextjs-vite/template/cli/.eslintrc.json @@ -1,6 +1,5 @@ { "rules": { - "import/no-extraneous-dependencies": "off", "import/extensions": "off", "react/no-unknown-property": "off" } diff --git a/code/frameworks/experimental-nextjs-vite/vitest.config.ts b/code/frameworks/experimental-nextjs-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/experimental-nextjs-vite/vitest.config.ts +++ b/code/frameworks/experimental-nextjs-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/html-webpack5/vitest.config.ts b/code/frameworks/html-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/html-webpack5/vitest.config.ts +++ b/code/frameworks/html-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/nextjs/template/cli/.eslintrc.json b/code/frameworks/nextjs/template/cli/.eslintrc.json index 2ce44cb74ab3..012842ba7b28 100644 --- a/code/frameworks/nextjs/template/cli/.eslintrc.json +++ b/code/frameworks/nextjs/template/cli/.eslintrc.json @@ -1,6 +1,5 @@ { "rules": { - "import/no-extraneous-dependencies": "off", "import/extensions": "off", "react/no-unknown-property": "off" } diff --git a/code/frameworks/nextjs/vitest.config.ts b/code/frameworks/nextjs/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/nextjs/vitest.config.ts +++ b/code/frameworks/nextjs/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/preact-vite/vitest.config.ts b/code/frameworks/preact-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/preact-vite/vitest.config.ts +++ b/code/frameworks/preact-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/preact-webpack5/vitest.config.ts b/code/frameworks/preact-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/preact-webpack5/vitest.config.ts +++ b/code/frameworks/preact-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/react-vite/vitest.config.ts b/code/frameworks/react-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/react-vite/vitest.config.ts +++ b/code/frameworks/react-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/react-webpack5/vitest.config.ts b/code/frameworks/react-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/react-webpack5/vitest.config.ts +++ b/code/frameworks/react-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/server-webpack5/vitest.config.ts b/code/frameworks/server-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/server-webpack5/vitest.config.ts +++ b/code/frameworks/server-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/svelte-vite/vitest.config.ts b/code/frameworks/svelte-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/svelte-vite/vitest.config.ts +++ b/code/frameworks/svelte-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/svelte-webpack5/vitest.config.ts b/code/frameworks/svelte-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/svelte-webpack5/vitest.config.ts +++ b/code/frameworks/svelte-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/sveltekit/vitest.config.ts b/code/frameworks/sveltekit/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/sveltekit/vitest.config.ts +++ b/code/frameworks/sveltekit/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/vue3-vite/vitest.config.ts b/code/frameworks/vue3-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/vue3-vite/vitest.config.ts +++ b/code/frameworks/vue3-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/vue3-webpack5/vitest.config.ts b/code/frameworks/vue3-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/vue3-webpack5/vitest.config.ts +++ b/code/frameworks/vue3-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/web-components-vite/vitest.config.ts b/code/frameworks/web-components-vite/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/web-components-vite/vitest.config.ts +++ b/code/frameworks/web-components-vite/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/frameworks/web-components-webpack5/vitest.config.ts b/code/frameworks/web-components-webpack5/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/frameworks/web-components-webpack5/vitest.config.ts +++ b/code/frameworks/web-components-webpack5/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/lib/cli-storybook/.eslintrc.cjs b/code/lib/cli-storybook/.eslintrc.cjs index a2dae9fc88d3..c39bc16469ff 100644 --- a/code/lib/cli-storybook/.eslintrc.cjs +++ b/code/lib/cli-storybook/.eslintrc.cjs @@ -1,4 +1,3 @@ -const ignore = 0; module.exports = { overrides: [ @@ -8,13 +7,12 @@ module.exports = { browser: true, }, rules: { - 'react/no-this-in-sfc': ignore, - 'import/no-unresolved': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'global-require': ignore, - 'no-redeclare': ignore, - 'react/prop-types': ignore, + 'react/no-this-in-sfc': "off", + 'import/no-unresolved': "off", + 'react/react-in-jsx-scope': "off", + 'global-require': "off", + 'no-redeclare': "off", + 'react/prop-types': "off", }, }, { @@ -23,13 +21,12 @@ module.exports = { browser: true, }, rules: { - 'jsx-a11y/anchor-is-valid': ignore, - 'import/no-unresolved': ignore, - 'react/prop-types': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'import/extensions': ignore, - 'import/named': ignore, + 'jsx-a11y/anchor-is-valid': "off", + 'import/no-unresolved': "off", + 'react/prop-types': "off", + 'react/react-in-jsx-scope': "off", + 'import/extensions': "off", + 'import/named': "off", }, }, ], diff --git a/code/lib/cli/.eslintrc.cjs b/code/lib/cli/.eslintrc.cjs index a2dae9fc88d3..c39bc16469ff 100644 --- a/code/lib/cli/.eslintrc.cjs +++ b/code/lib/cli/.eslintrc.cjs @@ -1,4 +1,3 @@ -const ignore = 0; module.exports = { overrides: [ @@ -8,13 +7,12 @@ module.exports = { browser: true, }, rules: { - 'react/no-this-in-sfc': ignore, - 'import/no-unresolved': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'global-require': ignore, - 'no-redeclare': ignore, - 'react/prop-types': ignore, + 'react/no-this-in-sfc': "off", + 'import/no-unresolved': "off", + 'react/react-in-jsx-scope': "off", + 'global-require': "off", + 'no-redeclare': "off", + 'react/prop-types': "off", }, }, { @@ -23,13 +21,12 @@ module.exports = { browser: true, }, rules: { - 'jsx-a11y/anchor-is-valid': ignore, - 'import/no-unresolved': ignore, - 'react/prop-types': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'import/extensions': ignore, - 'import/named': ignore, + 'jsx-a11y/anchor-is-valid': "off", + 'import/no-unresolved': "off", + 'react/prop-types': "off", + 'react/react-in-jsx-scope': "off", + 'import/extensions': "off", + 'import/named': "off", }, }, ], diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js index 1c4f5faa706e..b4b81747e943 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import React from 'react'; import { storiesOf } from '@storybook/react'; import ComponentRow from './ComponentRow'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot index 5225069c4651..7451d642a5af 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`storiesof-to-csf transforms correctly using "export-destructuring.input.js" data 1`] = ` -"/* eslint-disable import/no-extraneous-dependencies */ -import React from 'react'; +"import React from 'react'; import ComponentRow from './ComponentRow'; import * as SpecRowStories from './SpecRow.stories'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js index 38ab94884fe7..244e7f18b467 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import React from 'react'; import { storiesOf } from '@storybook/react'; import ComponentItem from './ComponentItem'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot index 49096c22ffd3..dcf27d168a8d 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`storiesof-to-csf transforms correctly using "export-function.input.js" data 1`] = ` -"/* eslint-disable import/no-extraneous-dependencies */ -import React from 'react'; +"import React from 'react'; import ComponentItem from './ComponentItem'; export function someHelper() { diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js index c87d8695b8ee..0a172ac28122 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import React from 'react'; import { storiesOf } from '@storybook/react'; import FlexCenter from './FlexCenter'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot index 95ddc5056ced..cdd23ad4c4f6 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`storiesof-to-csf transforms correctly using "export-names.input.js" data 1`] = ` -"/* eslint-disable import/no-extraneous-dependencies */ -import React from 'react'; +"import React from 'react'; import FlexCenter from './FlexCenter'; import { specs, urls } from './LiveView.stories'; import { ignoredRegions } from './IgnoredRegions.stories'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js index 6d8dcc497032..ef0851f75ed0 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import React from 'react'; import { storiesOf } from '@storybook/react'; import Canvas from './Canvas'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot index b0489d3c5f3d..53b0df85c745 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`storiesof-to-csf transforms correctly using "parameters-as-var.input.js" data 1`] = ` -"/* eslint-disable import/no-extraneous-dependencies */ -import React from 'react'; +"import React from 'react'; import Canvas from './Canvas'; const CHROMATIC_DELAY = { chromatic: { delay: 500 } }; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js index 3a66045ea7b9..f1b6c7e9c385 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import React from 'react'; import { storiesOf } from '@storybook/react'; import Hero from './Hero'; diff --git a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot index 4c0889c9137a..fb21ea3b37bb 100644 --- a/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot +++ b/code/lib/codemod/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot @@ -1,8 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`storiesof-to-csf transforms correctly using "storiesof-var.input.js" data 1`] = ` -"/* eslint-disable import/no-extraneous-dependencies */ -import React from 'react'; +"import React from 'react'; import Hero from './Hero'; export default { diff --git a/code/lib/create-storybook/.eslintrc.cjs b/code/lib/create-storybook/.eslintrc.cjs index a2dae9fc88d3..c39bc16469ff 100644 --- a/code/lib/create-storybook/.eslintrc.cjs +++ b/code/lib/create-storybook/.eslintrc.cjs @@ -1,4 +1,3 @@ -const ignore = 0; module.exports = { overrides: [ @@ -8,13 +7,12 @@ module.exports = { browser: true, }, rules: { - 'react/no-this-in-sfc': ignore, - 'import/no-unresolved': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'global-require': ignore, - 'no-redeclare': ignore, - 'react/prop-types': ignore, + 'react/no-this-in-sfc': "off", + 'import/no-unresolved': "off", + 'react/react-in-jsx-scope': "off", + 'global-require': "off", + 'no-redeclare': "off", + 'react/prop-types': "off", }, }, { @@ -23,13 +21,12 @@ module.exports = { browser: true, }, rules: { - 'jsx-a11y/anchor-is-valid': ignore, - 'import/no-unresolved': ignore, - 'react/prop-types': ignore, - 'react/react-in-jsx-scope': ignore, - 'import/no-extraneous-dependencies': ignore, - 'import/extensions': ignore, - 'import/named': ignore, + 'jsx-a11y/anchor-is-valid': "off", + 'import/no-unresolved': "off", + 'react/prop-types': "off", + 'react/react-in-jsx-scope': "off", + 'import/extensions': "off", + 'import/named': "off", }, }, ], diff --git a/code/lib/create-storybook/rendererAssets/.eslintrc.json b/code/lib/create-storybook/rendererAssets/.eslintrc.json index 5a2d2b06ab7b..0ea993fa4d74 100644 --- a/code/lib/create-storybook/rendererAssets/.eslintrc.json +++ b/code/lib/create-storybook/rendererAssets/.eslintrc.json @@ -5,8 +5,7 @@ "react/prop-types": "off", "react/react-in-jsx-scope": "off", "import/extensions": "off", - "import/no-unresolved": "off", - "import/no-extraneous-dependencies": "off" + "import/no-unresolved": "off" }, "overrides": [ { diff --git a/code/renderers/html/vitest.config.ts b/code/renderers/html/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/renderers/html/vitest.config.ts +++ b/code/renderers/html/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/renderers/preact/template/cli/.eslintrc.json b/code/renderers/preact/template/cli/.eslintrc.json index 8040ae0ce9f0..d0f596fbfe05 100644 --- a/code/renderers/preact/template/cli/.eslintrc.json +++ b/code/renderers/preact/template/cli/.eslintrc.json @@ -1,7 +1,6 @@ { "rules": { "import/extensions": "off", - "react/react-in-jsx-scope": "off", - "import/no-extraneous-dependencies": "off" + "react/react-in-jsx-scope": "off" } } diff --git a/code/renderers/preact/template/stories/React.jsx b/code/renderers/preact/template/stories/React.jsx index 1d1fa97c55d8..8e626adea3fc 100644 --- a/code/renderers/preact/template/stories/React.jsx +++ b/code/renderers/preact/template/stories/React.jsx @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import React from 'react'; /** diff --git a/code/renderers/preact/vitest.config.ts b/code/renderers/preact/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/renderers/preact/vitest.config.ts +++ b/code/renderers/preact/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/renderers/react/vitest.config.ts b/code/renderers/react/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/renderers/react/vitest.config.ts +++ b/code/renderers/react/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/renderers/server/vitest.config.ts b/code/renderers/server/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/renderers/server/vitest.config.ts +++ b/code/renderers/server/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/renderers/svelte/vitest.config.ts b/code/renderers/svelte/vitest.config.ts index 9f0b12c24f8b..58fc647e8f30 100644 --- a/code/renderers/svelte/vitest.config.ts +++ b/code/renderers/svelte/vitest.config.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/code/renderers/vue3/template/stories/preview.js b/code/renderers/vue3/template/stories/preview.js index 2bee659276ae..f1081a57a537 100644 --- a/code/renderers/vue3/template/stories/preview.js +++ b/code/renderers/vue3/template/stories/preview.js @@ -1,5 +1,4 @@ import { global as globalThis } from '@storybook/global'; -// eslint-disable-next-line import/no-extraneous-dependencies import { setup } from '@storybook/vue3'; const somePlugin = { diff --git a/code/renderers/vue3/vitest.config.ts b/code/renderers/vue3/vitest.config.ts index 426baf015c05..a38043181627 100644 --- a/code/renderers/vue3/vitest.config.ts +++ b/code/renderers/vue3/vitest.config.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import { defineConfig, mergeConfig } from 'vitest/config'; import vue from '@vitejs/plugin-vue'; diff --git a/code/renderers/web-components/template/stories/preview.js b/code/renderers/web-components/template/stories/preview.js index 54b6c8c13b9b..127b104ee030 100644 --- a/code/renderers/web-components/template/stories/preview.js +++ b/code/renderers/web-components/template/stories/preview.js @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { setCustomElementsManifest } from '@storybook/web-components'; import customElementsManifest from './custom-elements.json'; diff --git a/code/renderers/web-components/vitest.config.ts b/code/renderers/web-components/vitest.config.ts index edf3cc3ea035..7420176b2e46 100644 --- a/code/renderers/web-components/vitest.config.ts +++ b/code/renderers/web-components/vitest.config.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-extraneous-dependencies import { defineConfig, mergeConfig } from 'vitest/config'; import { vitestCommonConfig } from '../../vitest.workspace'; diff --git a/scripts/tasks/generate.ts b/scripts/tasks/generate.ts index fb9c37df4dc3..3e1b0ddc5bc3 100644 --- a/scripts/tasks/generate.ts +++ b/scripts/tasks/generate.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/extensions */ import { pathExists, remove } from 'fs-extra'; import { join } from 'path'; From f5019500465b5534757a3e86d25b62b10ca47fe8 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 15:38:25 +0200 Subject: [PATCH 02/42] simplify eslint config further --- code/.eslintrc.js | 51 +------------------ code/addons/controls/package.json | 1 + .../src/decorators/provider.decorator.tsx | 1 + code/addons/themes/src/theme-switcher.tsx | 1 + .../__search-files-tests__/src/es-module.js | 1 - .../experimental-nextjs-vite/.eslintrc.json | 3 +- code/frameworks/nextjs/.eslintrc.json | 3 +- code/lib/cli-storybook/.eslintrc.cjs | 2 - code/lib/cli-storybook/package.json | 1 + .../automigrate/helpers/testing-helpers.ts | 1 + code/lib/cli/.eslintrc.cjs | 2 - code/lib/create-storybook/.eslintrc.cjs | 2 - .../rendererAssets/.eslintrc.json | 3 +- code/lib/test/package.json | 1 + code/yarn.lock | 3 ++ .../ember-cli/.storybook/preview.js | 1 - 16 files changed, 13 insertions(+), 64 deletions(-) diff --git a/code/.eslintrc.js b/code/.eslintrc.js index f07455786875..f62b79473060 100644 --- a/code/.eslintrc.js +++ b/code/.eslintrc.js @@ -1,15 +1,7 @@ const path = require('path'); -const fs = require('fs'); const scriptPath = path.join(__dirname, '..', 'scripts'); -const addonsPackages = fs - .readdirSync(path.join(__dirname, 'addons')) - .filter((p) => fs.statSync(path.join(__dirname, 'addons', p)).isDirectory()); -const libPackages = fs - .readdirSync(path.join(__dirname, 'lib')) - .filter((p) => fs.statSync(path.join(__dirname, 'lib', p)).isDirectory()); - module.exports = { root: true, extends: [path.join(scriptPath, '.eslintrc.cjs')], @@ -85,17 +77,6 @@ module.exports = { '@typescript-eslint/no-unused-expressions': 'off', // should become error, in the future }, }, - { - // these packages use pre-bundling, dependencies will be bundled, and will be in devDepenencies - files: ['frameworks/**/*', 'builders/**/*', 'deprecated/**/*', 'renderers/**/*'], - excludedFiles: ['frameworks/angular/**/*', 'frameworks/ember/**/*', 'core/**/*'], - rules: { - 'import/no-extraneous-dependencies': [ - 'error', - { bundledDependencies: false, devDependencies: true, peerDependencies: true }, - ], - }, - }, { files: ['**/.storybook/**'], rules: { @@ -105,30 +86,7 @@ module.exports = { ], }, }, - ...addonsPackages.map((directory) => ({ - files: [path.join('**', 'addons', directory, '**', '*.*')], - rules: { - 'import/no-extraneous-dependencies': [ - 'error', - { - packageDir: [__dirname, path.join(__dirname, 'addons', directory)], - devDependencies: true, - }, - ], - }, - })), - ...libPackages.map((directory) => ({ - files: [path.join('**', 'lib', directory, '**', '*.*')], - rules: { - 'import/no-extraneous-dependencies': [ - 'error', - { - packageDir: [__dirname, path.join(__dirname, 'lib', directory)], - devDependencies: true, - }, - ], - }, - })), + { files: [ '*.test.*', @@ -210,13 +168,6 @@ module.exports = { 'no-undef': 'off', // ignore "window" undef errors }, }, - { - // Because those templates reference css files in other directory. - files: ['**/template/cli/**/*'], - rules: { - 'import/no-unresolved': 'off', - }, - }, { files: ['**/*.ts', '!**/*.test.*', '!**/*.spec.*'], excludedFiles: ['**/*.test.*', '**/*.mockdata.*'], diff --git a/code/addons/controls/package.json b/code/addons/controls/package.json index 7eb88c5d0455..de7a82c93620 100644 --- a/code/addons/controls/package.json +++ b/code/addons/controls/package.json @@ -51,6 +51,7 @@ "prep": "jiti ../../../scripts/prepare/addon-bundle.ts" }, "dependencies": { + "@storybook/global": "^5.0.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" diff --git a/code/addons/themes/src/decorators/provider.decorator.tsx b/code/addons/themes/src/decorators/provider.decorator.tsx index 3cc1bce2fdb3..8985a9773fad 100644 --- a/code/addons/themes/src/decorators/provider.decorator.tsx +++ b/code/addons/themes/src/decorators/provider.decorator.tsx @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/no-extraneous-dependencies import React from 'react'; import { useMemo } from 'storybook/internal/preview-api'; diff --git a/code/addons/themes/src/theme-switcher.tsx b/code/addons/themes/src/theme-switcher.tsx index 2af5530a0a86..d8e24f4afc08 100644 --- a/code/addons/themes/src/theme-switcher.tsx +++ b/code/addons/themes/src/theme-switcher.tsx @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/no-extraneous-dependencies import React from 'react'; import { IconButton, TooltipLinkList, WithTooltip } from 'storybook/internal/components'; diff --git a/code/core/src/core-server/utils/__search-files-tests__/src/es-module.js b/code/core/src/core-server/utils/__search-files-tests__/src/es-module.js index 34fc39774ae6..6d491b0f8811 100644 --- a/code/core/src/core-server/utils/__search-files-tests__/src/es-module.js +++ b/code/core/src/core-server/utils/__search-files-tests__/src/es-module.js @@ -1,4 +1,3 @@ -/* eslint-disable import/no-unresolved */ import * as ns from 'external2'; export var p = 5; diff --git a/code/frameworks/experimental-nextjs-vite/.eslintrc.json b/code/frameworks/experimental-nextjs-vite/.eslintrc.json index d76f64f6803d..39ff10750097 100644 --- a/code/frameworks/experimental-nextjs-vite/.eslintrc.json +++ b/code/frameworks/experimental-nextjs-vite/.eslintrc.json @@ -2,8 +2,7 @@ "rules": { "global-require": "off", "no-param-reassign": "off", - "import/no-dynamic-require": "off", - "import/no-unresolved": "off" + "import/no-dynamic-require": "off" }, "overrides": [ { diff --git a/code/frameworks/nextjs/.eslintrc.json b/code/frameworks/nextjs/.eslintrc.json index d76f64f6803d..39ff10750097 100644 --- a/code/frameworks/nextjs/.eslintrc.json +++ b/code/frameworks/nextjs/.eslintrc.json @@ -2,8 +2,7 @@ "rules": { "global-require": "off", "no-param-reassign": "off", - "import/no-dynamic-require": "off", - "import/no-unresolved": "off" + "import/no-dynamic-require": "off" }, "overrides": [ { diff --git a/code/lib/cli-storybook/.eslintrc.cjs b/code/lib/cli-storybook/.eslintrc.cjs index c39bc16469ff..687842d5aaee 100644 --- a/code/lib/cli-storybook/.eslintrc.cjs +++ b/code/lib/cli-storybook/.eslintrc.cjs @@ -8,7 +8,6 @@ module.exports = { }, rules: { 'react/no-this-in-sfc': "off", - 'import/no-unresolved': "off", 'react/react-in-jsx-scope': "off", 'global-require': "off", 'no-redeclare': "off", @@ -22,7 +21,6 @@ module.exports = { }, rules: { 'jsx-a11y/anchor-is-valid': "off", - 'import/no-unresolved': "off", 'react/prop-types': "off", 'react/react-in-jsx-scope': "off", 'import/extensions': "off", diff --git a/code/lib/cli-storybook/package.json b/code/lib/cli-storybook/package.json index 82e974829f7f..795f40ae4d3c 100644 --- a/code/lib/cli-storybook/package.json +++ b/code/lib/cli-storybook/package.json @@ -53,6 +53,7 @@ "find-up": "^5.0.0", "fs-extra": "^11.1.0", "giget": "^1.0.0", + "glob": "^10.0.0", "globby": "^14.0.1", "jscodeshift": "^0.15.1", "leven": "^3.1.0", diff --git a/code/lib/cli-storybook/src/automigrate/helpers/testing-helpers.ts b/code/lib/cli-storybook/src/automigrate/helpers/testing-helpers.ts index bb73cc6ab036..ca7e14e1225b 100644 --- a/code/lib/cli-storybook/src/automigrate/helpers/testing-helpers.ts +++ b/code/lib/cli-storybook/src/automigrate/helpers/testing-helpers.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/no-extraneous-dependencies import { vi } from 'vitest'; import type { JsPackageManager, PackageJson } from 'storybook/internal/common'; diff --git a/code/lib/cli/.eslintrc.cjs b/code/lib/cli/.eslintrc.cjs index c39bc16469ff..687842d5aaee 100644 --- a/code/lib/cli/.eslintrc.cjs +++ b/code/lib/cli/.eslintrc.cjs @@ -8,7 +8,6 @@ module.exports = { }, rules: { 'react/no-this-in-sfc': "off", - 'import/no-unresolved': "off", 'react/react-in-jsx-scope': "off", 'global-require': "off", 'no-redeclare': "off", @@ -22,7 +21,6 @@ module.exports = { }, rules: { 'jsx-a11y/anchor-is-valid': "off", - 'import/no-unresolved': "off", 'react/prop-types': "off", 'react/react-in-jsx-scope': "off", 'import/extensions': "off", diff --git a/code/lib/create-storybook/.eslintrc.cjs b/code/lib/create-storybook/.eslintrc.cjs index c39bc16469ff..687842d5aaee 100644 --- a/code/lib/create-storybook/.eslintrc.cjs +++ b/code/lib/create-storybook/.eslintrc.cjs @@ -8,7 +8,6 @@ module.exports = { }, rules: { 'react/no-this-in-sfc': "off", - 'import/no-unresolved': "off", 'react/react-in-jsx-scope': "off", 'global-require': "off", 'no-redeclare': "off", @@ -22,7 +21,6 @@ module.exports = { }, rules: { 'jsx-a11y/anchor-is-valid': "off", - 'import/no-unresolved': "off", 'react/prop-types': "off", 'react/react-in-jsx-scope': "off", 'import/extensions': "off", diff --git a/code/lib/create-storybook/rendererAssets/.eslintrc.json b/code/lib/create-storybook/rendererAssets/.eslintrc.json index 0ea993fa4d74..db1bf82ab33b 100644 --- a/code/lib/create-storybook/rendererAssets/.eslintrc.json +++ b/code/lib/create-storybook/rendererAssets/.eslintrc.json @@ -4,8 +4,7 @@ "@typescript-eslint/ban-types": "off", "react/prop-types": "off", "react/react-in-jsx-scope": "off", - "import/extensions": "off", - "import/no-unresolved": "off" + "import/extensions": "off" }, "overrides": [ { diff --git a/code/lib/test/package.json b/code/lib/test/package.json index 4fbb8edcff34..bcb489cbfb57 100644 --- a/code/lib/test/package.json +++ b/code/lib/test/package.json @@ -45,6 +45,7 @@ }, "dependencies": { "@storybook/csf": "^0.1.11", + "@storybook/global": "^5.0.0", "@storybook/instrumenter": "workspace:*", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.4.8", diff --git a/code/yarn.lock b/code/yarn.lock index 2aa5193261ef..820f7e76b234 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -5357,6 +5357,7 @@ __metadata: resolution: "@storybook/addon-controls@workspace:addons/controls" dependencies: "@storybook/blocks": "workspace:*" + "@storybook/global": "npm:^5.0.0" "@storybook/icons": "npm:^1.2.5" dequal: "npm:^2.0.2" lodash: "npm:^4.17.21" @@ -5865,6 +5866,7 @@ __metadata: find-up: "npm:^5.0.0" fs-extra: "npm:^11.1.0" giget: "npm:^1.0.0" + glob: "npm:^10.0.0" globby: "npm:^14.0.1" jscodeshift: "npm:^0.15.1" leven: "npm:^3.1.0" @@ -7034,6 +7036,7 @@ __metadata: resolution: "@storybook/test@workspace:lib/test" dependencies: "@storybook/csf": "npm:^0.1.11" + "@storybook/global": "npm:^5.0.0" "@storybook/instrumenter": "workspace:*" "@testing-library/dom": "npm:10.4.0" "@testing-library/jest-dom": "npm:6.4.8" diff --git a/test-storybooks/ember-cli/.storybook/preview.js b/test-storybooks/ember-cli/.storybook/preview.js index 9e7eaa3b889c..458ddf8981d5 100644 --- a/test-storybooks/ember-cli/.storybook/preview.js +++ b/test-storybooks/ember-cli/.storybook/preview.js @@ -1,5 +1,4 @@ import { setJSONDoc } from '@storybook/addon-docs/ember'; -// eslint-disable-next-line import/no-unresolved import docJson from '../ember-output/storybook-docgen/index.json'; setJSONDoc(docJson); From bee96d0c68850d5c26741a853288aabe937358c7 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 15:56:57 +0200 Subject: [PATCH 03/42] minor fixes --- code/.eslintrc.js | 16 ++-------------- code/core/package.json | 1 + .../rendererAssets/.eslintrc.json | 1 - code/package.json | 2 ++ code/vitest.helpers.ts | 3 +-- code/yarn.lock | 3 +++ 6 files changed, 9 insertions(+), 17 deletions(-) diff --git a/code/.eslintrc.js b/code/.eslintrc.js index f62b79473060..6b27a23c57c6 100644 --- a/code/.eslintrc.js +++ b/code/.eslintrc.js @@ -62,14 +62,6 @@ module.exports = { '@typescript-eslint/return-await': 'off', }, }, - { - // this package depends on a lot of peerDependencies we don't want to specify, because npm would install them - files: ['**/*.ts', '**/*.tsx'], - rules: { - 'no-shadow': 'off', - '@typescript-eslint/ban-types': 'warn', // should become error, in the future - }, - }, { // this package depends on a lot of peerDependencies we don't want to specify, because npm would install them files: ['**/builder-vite/**/*.html'], @@ -78,7 +70,7 @@ module.exports = { }, }, { - files: ['**/.storybook/**'], + files: ['**/.storybook/**', '**/scripts/**/*', 'vitest.d.ts', '**/vitest.config.*'], rules: { 'import/no-extraneous-dependencies': [ 'error', @@ -86,21 +78,17 @@ module.exports = { ], }, }, - { files: [ '*.test.*', '*.spec.*', - '**/template/**/*', - '**/vitest.config.*', '**/addons/docs/**/*', '**/__tests__/**', '**/__testfixtures__/**', '**/*.test.*', '**/*.stories.*', - '**/scripts/**/*', '**/*.mockdata.*', - 'vitest.d.ts', + '**/template/**/*', ], rules: { 'import/no-extraneous-dependencies': 'off', diff --git a/code/core/package.json b/code/core/package.json index 52b4ea26a984..abb4ebc1bce1 100644 --- a/code/core/package.json +++ b/code/core/package.json @@ -306,6 +306,7 @@ "@tanstack/react-virtual": "^3.3.0", "@testing-library/react": "^14.0.0", "@types/compression": "^1.7.0", + "@types/cross-spawn": "^6.0.2", "@types/detect-port": "^1.3.0", "@types/diff": "^5.0.9", "@types/ejs": "^3.1.1", diff --git a/code/lib/create-storybook/rendererAssets/.eslintrc.json b/code/lib/create-storybook/rendererAssets/.eslintrc.json index db1bf82ab33b..f8be3f90cb20 100644 --- a/code/lib/create-storybook/rendererAssets/.eslintrc.json +++ b/code/lib/create-storybook/rendererAssets/.eslintrc.json @@ -1,7 +1,6 @@ { "rules": { "no-undef": "off", - "@typescript-eslint/ban-types": "off", "react/prop-types": "off", "react/react-in-jsx-scope": "off", "import/extensions": "off" diff --git a/code/package.json b/code/package.json index 78ec1fff6a05..dd3377600bac 100644 --- a/code/package.json +++ b/code/package.json @@ -174,6 +174,7 @@ "@typescript-eslint/experimental-utils": "^5.62.0", "@typescript-eslint/parser": "^6.18.1", "@vitejs/plugin-react": "^3.0.1", + "@vitejs/plugin-vue": "^4.4.0", "@vitest/coverage-v8": "^2.0.5", "create-storybook": "workspace:*", "cross-env": "^7.0.3", @@ -201,6 +202,7 @@ "react-dom": "^18.2.0", "semver": "^7.3.7", "serve-static": "^1.14.1", + "slash": "^5.0.0", "storybook": "workspace:^", "svelte": "^5.0.0-next.65", "ts-dedent": "^2.0.0", diff --git a/code/vitest.helpers.ts b/code/vitest.helpers.ts index df1de32f54a3..8eaf3f976a10 100644 --- a/code/vitest.helpers.ts +++ b/code/vitest.helpers.ts @@ -1,5 +1,4 @@ -/* eslint-disable @typescript-eslint/ban-types */ -import { platform } from 'os'; +import { platform } from 'node:os'; const WINDOWS_PLATFORM = 'win32'; // Implement these whenever needed... diff --git a/code/yarn.lock b/code/yarn.lock index 820f7e76b234..cfe72a234e61 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -6000,6 +6000,7 @@ __metadata: "@tanstack/react-virtual": "npm:^3.3.0" "@testing-library/react": "npm:^14.0.0" "@types/compression": "npm:^1.7.0" + "@types/cross-spawn": "npm:^6.0.2" "@types/detect-port": "npm:^1.3.0" "@types/diff": "npm:^5.0.9" "@types/ejs": "npm:^3.1.1" @@ -6829,6 +6830,7 @@ __metadata: "@typescript-eslint/experimental-utils": "npm:^5.62.0" "@typescript-eslint/parser": "npm:^6.18.1" "@vitejs/plugin-react": "npm:^3.0.1" + "@vitejs/plugin-vue": "npm:^4.4.0" "@vitest/coverage-v8": "npm:^2.0.5" create-storybook: "workspace:*" cross-env: "npm:^7.0.3" @@ -6856,6 +6858,7 @@ __metadata: react-dom: "npm:^18.2.0" semver: "npm:^7.3.7" serve-static: "npm:^1.14.1" + slash: "npm:^5.0.0" storybook: "workspace:^" svelte: "npm:^5.0.0-next.65" ts-dedent: "npm:^2.0.0" From d044cc5bc872473e518d24e8bf65c2785937aac5 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 17:36:43 +0200 Subject: [PATCH 04/42] move nx cache dir up to avoid vite watching it for our main storybook --- .gitignore | 3 ++- code/.gitignore | 1 - code/.storybook/main.ts | 17 ++++++++++------- code/nx.json | 1 + 4 files changed, 13 insertions(+), 9 deletions(-) delete mode 100644 code/.gitignore diff --git a/.gitignore b/.gitignore index fbcfa2cf8253..3173fbe0d03b 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,5 @@ code/bench-results/ /packs code/.nx/cache -!**/fixtures/**/yarn.lock \ No newline at end of file +.nx/cache +!**/fixtures/**/yarn.lock diff --git a/code/.gitignore b/code/.gitignore deleted file mode 100644 index 0cba03f65076..000000000000 --- a/code/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.nx/cache \ No newline at end of file diff --git a/code/.storybook/main.ts b/code/.storybook/main.ts index 52e8a12175b4..f95444803a6b 100644 --- a/code/.storybook/main.ts +++ b/code/.storybook/main.ts @@ -1,8 +1,5 @@ import { join } from 'node:path'; -// eslint-disable-next-line @typescript-eslint/no-restricted-imports -import { mergeConfig } from 'vite'; - import type { StorybookConfig } from '../frameworks/react-vite'; const componentsPath = join(__dirname, '../core/src/components'); @@ -128,8 +125,10 @@ const config: StorybookConfig = { viewportStoryGlobals: true, backgroundsStoryGlobals: true, }, - viteFinal: (viteConfig, { configType }) => - mergeConfig(viteConfig, { + viteFinal: async (viteConfig, { configType }) => { + const { mergeConfig } = await import('vite'); + + return mergeConfig(viteConfig, { resolve: { alias: { ...(configType === 'DEVELOPMENT' @@ -142,12 +141,16 @@ const config: StorybookConfig = { : {}), }, }, - optimizeDeps: { force: true }, + optimizeDeps: { + force: true, + include: ['@storybook/blocks'], + }, build: { // disable sourcemaps in CI to not run out of memory sourcemap: process.env.CI !== 'true', }, - }), + } satisfies typeof viteConfig); + }, // logLevel: 'debug', }; diff --git a/code/nx.json b/code/nx.json index f8b5510efcde..12070cbb8d4e 100644 --- a/code/nx.json +++ b/code/nx.json @@ -1,6 +1,7 @@ { "$schema": "./node_modules/nx/schemas/nx-schema.json", "extends": "nx/presets/npm.json", + "cacheDirectory": "../.nx/cache", "nxCloudAccessToken": "NGVmYTkxMmItYzY3OS00MjkxLTk1ZDktZDFmYTFmNmVlNGY4fHJlYWQ=", "defaultBase": "next", "parallel": 8, From 49036cb89a86a66be86bb10142ca2e984df7ca08 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 17:48:31 +0200 Subject: [PATCH 05/42] add `node:` prefixes --- code/core/src/builder-manager/utils/files.test.ts | 3 ++- code/core/src/common/js-package-manager/NPMProxy.ts | 2 +- .../src/core-server/utils/__tests__/server-address.test.ts | 6 +++--- code/core/src/core-server/utils/server-address.test.ts | 2 +- code/core/src/core-server/utils/server-address.ts | 3 ++- code/core/src/telemetry/telemetry.ts | 3 ++- code/frameworks/nextjs/src/next-image-loader-stub.ts | 3 ++- code/lib/cli-storybook/src/automigrate/helpers/cleanLog.ts | 2 +- scripts/utils/concurrency.ts | 2 +- scripts/utils/maxConcurrentTasks.ts | 2 +- 10 files changed, 16 insertions(+), 12 deletions(-) diff --git a/code/core/src/builder-manager/utils/files.test.ts b/code/core/src/builder-manager/utils/files.test.ts index 4d37bbd3af6c..d01a9f739109 100644 --- a/code/core/src/builder-manager/utils/files.test.ts +++ b/code/core/src/builder-manager/utils/files.test.ts @@ -1,7 +1,8 @@ +import { platform } from 'node:os'; + import { expect, it } from 'vitest'; import type { OutputFile } from 'esbuild'; -import { platform } from 'os'; import { sanitizePath } from './files'; diff --git a/code/core/src/common/js-package-manager/NPMProxy.ts b/code/core/src/common/js-package-manager/NPMProxy.ts index 69a89a741d53..1347a4a124d3 100644 --- a/code/core/src/common/js-package-manager/NPMProxy.ts +++ b/code/core/src/common/js-package-manager/NPMProxy.ts @@ -1,11 +1,11 @@ import { existsSync, readFileSync } from 'node:fs'; +import { platform } from 'node:os'; import { join } from 'node:path'; import { logger } from '@storybook/core/node-logger'; import { FindPackageVersionsError } from '@storybook/core/server-errors'; import { findUp } from 'find-up'; -import { platform } from 'os'; import sort from 'semver/functions/sort.js'; import dedent from 'ts-dedent'; diff --git a/code/core/src/core-server/utils/__tests__/server-address.test.ts b/code/core/src/core-server/utils/__tests__/server-address.test.ts index cc9b3dfa6f53..d4da0d269849 100644 --- a/code/core/src/core-server/utils/__tests__/server-address.test.ts +++ b/code/core/src/core-server/utils/__tests__/server-address.test.ts @@ -1,10 +1,10 @@ -import { beforeEach, describe, expect, it, vi } from 'vitest'; +import os, { type NetworkInterfaceInfoIPv4 } from 'node:os'; -import os, { type NetworkInterfaceInfoIPv4 } from 'os'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; import { getServerAddresses } from '../server-address'; -vi.mock('os'); +vi.mock('node:os'); const mockedOs = vi.mocked(os); describe('getServerAddresses', () => { diff --git a/code/core/src/core-server/utils/server-address.test.ts b/code/core/src/core-server/utils/server-address.test.ts index 114fbfd9608a..a2c5475dc2e6 100644 --- a/code/core/src/core-server/utils/server-address.test.ts +++ b/code/core/src/core-server/utils/server-address.test.ts @@ -4,7 +4,7 @@ import detectPort from 'detect-port'; import { getServerAddresses, getServerChannelUrl, getServerPort } from './server-address'; -vi.mock('os', () => ({ +vi.mock('node:os', () => ({ default: { release: () => '' }, })); vi.mock('detect-port'); diff --git a/code/core/src/core-server/utils/server-address.ts b/code/core/src/core-server/utils/server-address.ts index 7fc59312a084..7bbc6970a9c2 100644 --- a/code/core/src/core-server/utils/server-address.ts +++ b/code/core/src/core-server/utils/server-address.ts @@ -1,7 +1,8 @@ +import os from 'node:os'; + import { logger } from '@storybook/core/node-logger'; import detectFreePort from 'detect-port'; -import os from 'os'; export function getServerAddresses( port: number, diff --git a/code/core/src/telemetry/telemetry.ts b/code/core/src/telemetry/telemetry.ts index 90b0eaa4d9dc..0cd21dbc07e1 100644 --- a/code/core/src/telemetry/telemetry.ts +++ b/code/core/src/telemetry/telemetry.ts @@ -1,7 +1,8 @@ /// +import * as os from 'node:os'; + import retry from 'fetch-retry'; import { nanoid } from 'nanoid'; -import * as os from 'os'; import { getAnonymousProjectId } from './anonymous-id'; import { set as saveToCache } from './event-cache'; diff --git a/code/frameworks/nextjs/src/next-image-loader-stub.ts b/code/frameworks/nextjs/src/next-image-loader-stub.ts index 1cdf966cb5c5..e85414c85d15 100644 --- a/code/frameworks/nextjs/src/next-image-loader-stub.ts +++ b/code/frameworks/nextjs/src/next-image-loader-stub.ts @@ -1,9 +1,10 @@ +import { cpus } from 'node:os'; + import { NextJsSharpError } from 'storybook/internal/preview-errors'; import imageSizeOf from 'image-size'; import { interpolateName } from 'loader-utils'; import type { NextConfig } from 'next'; -import { cpus } from 'os'; import type { RawLoaderDefinition } from 'webpack'; interface LoaderOptions { diff --git a/code/lib/cli-storybook/src/automigrate/helpers/cleanLog.ts b/code/lib/cli-storybook/src/automigrate/helpers/cleanLog.ts index 25f97289ea29..7cb8c864197a 100644 --- a/code/lib/cli-storybook/src/automigrate/helpers/cleanLog.ts +++ b/code/lib/cli-storybook/src/automigrate/helpers/cleanLog.ts @@ -1,4 +1,4 @@ -import { EOL } from 'os'; +import { EOL } from 'node:os'; // copied from https://github.com/chalk/ansi-regex // the package is ESM only so not compatible with jest diff --git a/scripts/utils/concurrency.ts b/scripts/utils/concurrency.ts index f80487794555..dcd7b7280b85 100644 --- a/scripts/utils/concurrency.ts +++ b/scripts/utils/concurrency.ts @@ -1,4 +1,4 @@ -import os from 'os'; +import os from 'node:os'; /** * The maximum number of concurrent tasks we want to have on some CLI and CI tasks. diff --git a/scripts/utils/maxConcurrentTasks.ts b/scripts/utils/maxConcurrentTasks.ts index 645ab0099620..6f758338caf4 100644 --- a/scripts/utils/maxConcurrentTasks.ts +++ b/scripts/utils/maxConcurrentTasks.ts @@ -1,4 +1,4 @@ -import { cpus } from 'os'; +import { cpus } from 'node:os'; /** * The maximum number of concurrent tasks we want to have on some CLI and CI tasks. From b8235cb53a6a683422ac57c1014a9f109f8d9c21 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 18:29:54 +0200 Subject: [PATCH 06/42] fix --- code/frameworks/nextjs/src/routing/app-router-provider.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/code/frameworks/nextjs/src/routing/app-router-provider.tsx b/code/frameworks/nextjs/src/routing/app-router-provider.tsx index 5685ec8bbf85..9f37f5768e15 100644 --- a/code/frameworks/nextjs/src/routing/app-router-provider.tsx +++ b/code/frameworks/nextjs/src/routing/app-router-provider.tsx @@ -101,6 +101,7 @@ export const AppRouterProvider: React.FC {children} From a042cc59d8fe0534ad912e0a6a8a20c34e0018f1 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 19:54:28 +0200 Subject: [PATCH 07/42] add more formatting plugins --- code/package.json | 5 ++ code/yarn.lock | 115 +++++++++++++++++++++++++++++++- scripts/package.json | 5 ++ scripts/prettier.config.js | 13 +++- scripts/yarn.lock | 132 +++++++++++++++++++++++++++++++++++-- 5 files changed, 261 insertions(+), 9 deletions(-) diff --git a/code/package.json b/code/package.json index 0deb9562f337..412f78c1ddd6 100644 --- a/code/package.json +++ b/code/package.json @@ -202,6 +202,11 @@ "mock-require": "^3.0.3", "nx": "18.0.6", "prettier": "^3.1.1", + "prettier-plugin-brace-style": "^0.6.2", + "prettier-plugin-css-order": "^2.1.2", + "prettier-plugin-curly": "^0.2.2", + "prettier-plugin-jsdoc": "^1.3.0", + "prettier-plugin-merge": "^0.7.0", "process": "^0.11.10", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/code/yarn.lock b/code/yarn.lock index 79ab5ea664a5..34cf0e23881e 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -788,7 +788,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": version: 7.25.3 resolution: "@babel/parser@npm:7.25.3" dependencies: @@ -2276,7 +2276,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.9, @babel/traverse@npm:^7.24.0, @babel/traverse@npm:^7.24.1, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.4.5": +"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.22.5, @babel/traverse@npm:^7.23.9, @babel/traverse@npm:^7.24.0, @babel/traverse@npm:^7.24.1, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.4.5": version: 7.25.3 resolution: "@babel/traverse@npm:7.25.3" dependencies: @@ -6796,6 +6796,11 @@ __metadata: mock-require: "npm:^3.0.3" nx: "npm:18.0.6" prettier: "npm:^3.1.1" + prettier-plugin-brace-style: "npm:^0.6.2" + prettier-plugin-css-order: "npm:^2.1.2" + prettier-plugin-curly: "npm:^0.2.2" + prettier-plugin-jsdoc: "npm:^1.3.0" + prettier-plugin-merge: "npm:^0.7.0" process: "npm:^0.11.10" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -10594,6 +10599,13 @@ __metadata: languageName: node linkType: hard +"binary-searching@npm:^2.0.5": + version: 2.0.5 + resolution: "binary-searching@npm:2.0.5" + checksum: 10c0/914ccf15d4c989a8900e5617e2b6ec77a016f894b3833eaa5720a310214420dbd5d8eb577c158f99d25769968225c522cc37580c8d2ed46cc469f9d0365b7f15 + languageName: node + linkType: hard + "binaryextensions@npm:1 || 2": version: 2.3.0 resolution: "binaryextensions@npm:2.3.0" @@ -11957,7 +11969,7 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:^1.4.1": +"comment-parser@npm:^1.4.0, comment-parser@npm:^1.4.1": version: 1.4.1 resolution: "comment-parser@npm:1.4.1" checksum: 10c0/d6c4be3f5be058f98b24f2d557f745d8fe1cc9eb75bebbdccabd404a0e1ed41563171b16285f593011f8b6a5ec81f564fb1f2121418ac5cbf0f49255bf0840dd @@ -12442,6 +12454,15 @@ __metadata: languageName: node linkType: hard +"css-declaration-sorter@npm:^7.1.1": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + "css-loader@npm:6.10.0, css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": version: 6.10.0 resolution: "css-loader@npm:6.10.0" @@ -13070,6 +13091,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:5.1.0": + version: 5.1.0 + resolution: "diff@npm:5.1.0" + checksum: 10c0/77a0d9beb9ed54796154ac2511872288432124ac90a1cabb1878783c9b4d81f1847f3b746a0630b1e836181461d2c76e1e6b95559bef86ed16294d114862e364 + languageName: node + linkType: hard + "diff@npm:^4.0.1": version: 4.0.2 resolution: "diff@npm:4.0.2" @@ -22673,6 +22701,15 @@ __metadata: languageName: node linkType: hard +"postcss-less@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-less@npm:6.0.0" + peerDependencies: + postcss: ^8.3.5 + checksum: 10c0/09869ba66e1340f03d6ffd34cba2721f48d1c4a71314af5b10d8a3cc4f78c15f22da809442bf5e50d04eff2a96389d6a0fdb9f0c20a191945aacfb1747fd47ca + languageName: node + linkType: hard + "postcss-loader@npm:8.1.1, postcss-loader@npm:^8.1.1": version: 8.1.1 resolution: "postcss-loader@npm:8.1.1" @@ -22802,6 +22839,15 @@ __metadata: languageName: node linkType: hard +"postcss-scss@npm:^4.0.9": + version: 4.0.9 + resolution: "postcss-scss@npm:4.0.9" + peerDependencies: + postcss: ^8.4.29 + checksum: 10c0/f917ecfd4b9113a6648e966a41f027ff7e14238393914978d44596e227a50f084667dc8818742348dc7d8b20130b30d4259aca1d4db86754a9c141202ae03714 + languageName: node + linkType: hard + "postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": version: 6.0.13 resolution: "postcss-selector-parser@npm:6.0.13" @@ -22885,6 +22931,69 @@ __metadata: languageName: node linkType: hard +"prettier-plugin-brace-style@npm:^0.6.2": + version: 0.6.2 + resolution: "prettier-plugin-brace-style@npm:0.6.2" + peerDependencies: + prettier: ^2 || ^3 + prettier-plugin-astro: "*" + peerDependenciesMeta: + prettier-plugin-astro: + optional: true + checksum: 10c0/cd64e2b6c01f267ec4a286f035cb26fcf5563c8ce9e46745c4150118bbc3e954ff7cc80d3753de4a5d880083eb82242be26abca21ed42cba9eb1b48aa80f2a9e + languageName: node + linkType: hard + +"prettier-plugin-css-order@npm:^2.1.2": + version: 2.1.2 + resolution: "prettier-plugin-css-order@npm:2.1.2" + dependencies: + css-declaration-sorter: "npm:^7.1.1" + postcss-less: "npm:^6.0.0" + postcss-scss: "npm:^4.0.9" + peerDependencies: + prettier: 3.x + checksum: 10c0/e6e8230048fb9d994cde207796b35e0e074cb83420b0c17c764353da290bb2b3d099265bf65537a70c03e60a0854bfa4ce2576b436933d8b4b0d86bdd61a6e73 + languageName: node + linkType: hard + +"prettier-plugin-curly@npm:^0.2.2": + version: 0.2.2 + resolution: "prettier-plugin-curly@npm:0.2.2" + dependencies: + "@babel/generator": "npm:^7.23.6" + "@babel/parser": "npm:^7.22.5" + "@babel/traverse": "npm:^7.22.5" + peerDependencies: + prettier: ^2 || ^3 + checksum: 10c0/2354c0b22d16f4177b20028aff973c1630fd273001835ecc4af177805ebaa7ad165cf1238191d47393a31a62daba74336475fd724a8a84ec257c1c51530dad0f + languageName: node + linkType: hard + +"prettier-plugin-jsdoc@npm:^1.3.0": + version: 1.3.0 + resolution: "prettier-plugin-jsdoc@npm:1.3.0" + dependencies: + binary-searching: "npm:^2.0.5" + comment-parser: "npm:^1.4.0" + mdast-util-from-markdown: "npm:^2.0.0" + peerDependencies: + prettier: ^3.0.0 + checksum: 10c0/c716ba9257765a33a9e8e3e9302724287f50efccba47602bc73b20a873dc2bb68244e8c600ed993580d5a9948d1db5b5c72766f89e11fe40da43b190fbcc52e1 + languageName: node + linkType: hard + +"prettier-plugin-merge@npm:^0.7.0": + version: 0.7.0 + resolution: "prettier-plugin-merge@npm:0.7.0" + dependencies: + diff: "npm:5.1.0" + peerDependencies: + prettier: ^2 || ^3 + checksum: 10c0/4c4fbb50596d731b9a8942aa97848c8f20b13e69b17cb10ea0d53cf069ea13a197342daafecc533009c16fc778c157d407e9a1dcda1b8a7ab60be8b9b01c6a4f + languageName: node + linkType: hard + "prettier@npm:*, prettier@npm:^3.1.1, prettier@npm:^3.2.5": version: 3.2.5 resolution: "prettier@npm:3.2.5" diff --git a/scripts/package.json b/scripts/package.json index fef126cfb4bf..a85ca1935fd8 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -146,6 +146,11 @@ "playwright": "1.46.0", "playwright-core": "1.46.0", "prettier": "^3.3.2", + "prettier-plugin-brace-style": "^0.6.2", + "prettier-plugin-css-order": "^2.1.2", + "prettier-plugin-curly": "^0.2.2", + "prettier-plugin-jsdoc": "^1.3.0", + "prettier-plugin-merge": "^0.7.0", "pretty-bytes": "^6.1.1", "pretty-hrtime": "^1.0.3", "pretty-ms": "^8.0.0", diff --git a/scripts/prettier.config.js b/scripts/prettier.config.js index e3d2af6af7d5..f2a2045bff72 100644 --- a/scripts/prettier.config.js +++ b/scripts/prettier.config.js @@ -4,6 +4,8 @@ export default { bracketSpacing: true, trailingComma: 'es5', singleQuote: true, + arrowParens: 'always', + overrides: [ { files: '*.html', @@ -25,7 +27,14 @@ export default { }, }, ], - plugins: ['@trivago/prettier-plugin-sort-imports'], + plugins: [ + '@trivago/prettier-plugin-sort-imports', + // 'prettier-plugin-brace-style', + // 'prettier-plugin-curly', + 'prettier-plugin-jsdoc', + 'prettier-plugin-css-order', + 'prettier-plugin-merge', + ], importOrder: [ '^node:', @@ -41,5 +50,5 @@ export default { importOrderSeparation: true, importOrderSortSpecifiers: true, - arrowParens: 'always', + // braceStyle: '1tbs', }; diff --git a/scripts/yarn.lock b/scripts/yarn.lock index 62e1e87f23f8..ad7f7dc69e67 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -70,7 +70,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.0": +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.25.0": version: 7.25.0 resolution: "@babel/generator@npm:7.25.0" dependencies: @@ -145,7 +145,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.20.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.0": +"@babel/parser@npm:^7.20.5, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3": version: 7.25.3 resolution: "@babel/parser@npm:7.25.3" dependencies: @@ -165,7 +165,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.24.7": +"@babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0": version: 7.25.0 resolution: "@babel/template@npm:7.25.0" dependencies: @@ -194,6 +194,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.22.5": + version: 7.25.3 + resolution: "@babel/traverse@npm:7.25.3" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/template": "npm:^7.25.0" + "@babel/types": "npm:^7.25.2" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/4c8a1966fa90b53a783a4afd2fcdaa6ab1a912e6621dca9fcc6633e80ccb9491620e88caf73b537da4e16cefd537b548c87d7087868d5b0066414dea375c0e9b + languageName: node + linkType: hard + "@babel/types@npm:7.17.0": version: 7.17.0 resolution: "@babel/types@npm:7.17.0" @@ -1583,6 +1598,11 @@ __metadata: playwright: "npm:1.46.0" playwright-core: "npm:1.46.0" prettier: "npm:^3.3.2" + prettier-plugin-brace-style: "npm:^0.6.2" + prettier-plugin-css-order: "npm:^2.1.2" + prettier-plugin-curly: "npm:^0.2.2" + prettier-plugin-jsdoc: "npm:^1.3.0" + prettier-plugin-merge: "npm:^0.7.0" pretty-bytes: "npm:^6.1.1" pretty-hrtime: "npm:^1.0.3" pretty-ms: "npm:^8.0.0" @@ -3567,6 +3587,13 @@ __metadata: languageName: node linkType: hard +"binary-searching@npm:^2.0.5": + version: 2.0.5 + resolution: "binary-searching@npm:2.0.5" + checksum: 10c0/914ccf15d4c989a8900e5617e2b6ec77a016f894b3833eaa5720a310214420dbd5d8eb577c158f99d25769968225c522cc37580c8d2ed46cc469f9d0365b7f15 + languageName: node + linkType: hard + "bl@npm:^1.0.0": version: 1.2.3 resolution: "bl@npm:1.2.3" @@ -4152,6 +4179,13 @@ __metadata: languageName: node linkType: hard +"comment-parser@npm:^1.4.0": + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: 10c0/d6c4be3f5be058f98b24f2d557f745d8fe1cc9eb75bebbdccabd404a0e1ed41563171b16285f593011f8b6a5ec81f564fb1f2121418ac5cbf0f49255bf0840dd + languageName: node + linkType: hard + "compare-versions@npm:^3.6.0": version: 3.6.0 resolution: "compare-versions@npm:3.6.0" @@ -4333,6 +4367,15 @@ __metadata: languageName: node linkType: hard +"css-declaration-sorter@npm:^7.1.1": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" + peerDependencies: + postcss: ^8.0.9 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 + languageName: node + linkType: hard + "css.escape@npm:^1.5.1": version: 1.5.1 resolution: "css.escape@npm:1.5.1" @@ -4739,7 +4782,7 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.0.0": +"diff@npm:5.1.0, diff@npm:^5.0.0": version: 5.1.0 resolution: "diff@npm:5.1.0" checksum: 10c0/77a0d9beb9ed54796154ac2511872288432124ac90a1cabb1878783c9b4d81f1847f3b746a0630b1e836181461d2c76e1e6b95559bef86ed16294d114862e364 @@ -10854,6 +10897,15 @@ __metadata: languageName: node linkType: hard +"postcss-less@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-less@npm:6.0.0" + peerDependencies: + postcss: ^8.3.5 + checksum: 10c0/09869ba66e1340f03d6ffd34cba2721f48d1c4a71314af5b10d8a3cc4f78c15f22da809442bf5e50d04eff2a96389d6a0fdb9f0c20a191945aacfb1747fd47ca + languageName: node + linkType: hard + "postcss-load-config@npm:^3.0.1": version: 3.1.4 resolution: "postcss-load-config@npm:3.1.4" @@ -10872,6 +10924,15 @@ __metadata: languageName: node linkType: hard +"postcss-scss@npm:^4.0.9": + version: 4.0.9 + resolution: "postcss-scss@npm:4.0.9" + peerDependencies: + postcss: ^8.4.29 + checksum: 10c0/f917ecfd4b9113a6648e966a41f027ff7e14238393914978d44596e227a50f084667dc8818742348dc7d8b20130b30d4259aca1d4db86754a9c141202ae03714 + languageName: node + linkType: hard + "postcss@npm:^8.4.35": version: 8.4.35 resolution: "postcss@npm:8.4.35" @@ -10899,6 +10960,69 @@ __metadata: languageName: node linkType: hard +"prettier-plugin-brace-style@npm:^0.6.2": + version: 0.6.2 + resolution: "prettier-plugin-brace-style@npm:0.6.2" + peerDependencies: + prettier: ^2 || ^3 + prettier-plugin-astro: "*" + peerDependenciesMeta: + prettier-plugin-astro: + optional: true + checksum: 10c0/cd64e2b6c01f267ec4a286f035cb26fcf5563c8ce9e46745c4150118bbc3e954ff7cc80d3753de4a5d880083eb82242be26abca21ed42cba9eb1b48aa80f2a9e + languageName: node + linkType: hard + +"prettier-plugin-css-order@npm:^2.1.2": + version: 2.1.2 + resolution: "prettier-plugin-css-order@npm:2.1.2" + dependencies: + css-declaration-sorter: "npm:^7.1.1" + postcss-less: "npm:^6.0.0" + postcss-scss: "npm:^4.0.9" + peerDependencies: + prettier: 3.x + checksum: 10c0/e6e8230048fb9d994cde207796b35e0e074cb83420b0c17c764353da290bb2b3d099265bf65537a70c03e60a0854bfa4ce2576b436933d8b4b0d86bdd61a6e73 + languageName: node + linkType: hard + +"prettier-plugin-curly@npm:^0.2.2": + version: 0.2.2 + resolution: "prettier-plugin-curly@npm:0.2.2" + dependencies: + "@babel/generator": "npm:^7.23.6" + "@babel/parser": "npm:^7.22.5" + "@babel/traverse": "npm:^7.22.5" + peerDependencies: + prettier: ^2 || ^3 + checksum: 10c0/2354c0b22d16f4177b20028aff973c1630fd273001835ecc4af177805ebaa7ad165cf1238191d47393a31a62daba74336475fd724a8a84ec257c1c51530dad0f + languageName: node + linkType: hard + +"prettier-plugin-jsdoc@npm:^1.3.0": + version: 1.3.0 + resolution: "prettier-plugin-jsdoc@npm:1.3.0" + dependencies: + binary-searching: "npm:^2.0.5" + comment-parser: "npm:^1.4.0" + mdast-util-from-markdown: "npm:^2.0.0" + peerDependencies: + prettier: ^3.0.0 + checksum: 10c0/c716ba9257765a33a9e8e3e9302724287f50efccba47602bc73b20a873dc2bb68244e8c600ed993580d5a9948d1db5b5c72766f89e11fe40da43b190fbcc52e1 + languageName: node + linkType: hard + +"prettier-plugin-merge@npm:^0.7.0": + version: 0.7.0 + resolution: "prettier-plugin-merge@npm:0.7.0" + dependencies: + diff: "npm:5.1.0" + peerDependencies: + prettier: ^2 || ^3 + checksum: 10c0/4c4fbb50596d731b9a8942aa97848c8f20b13e69b17cb10ea0d53cf069ea13a197342daafecc533009c16fc778c157d407e9a1dcda1b8a7ab60be8b9b01c6a4f + languageName: node + linkType: hard + "prettier@npm:*, prettier@npm:^3.3.2": version: 3.3.2 resolution: "prettier@npm:3.3.2" From 5d7b05c476bde718079597f96856a2a7b84b2f60 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Wed, 14 Aug 2024 21:51:42 +0200 Subject: [PATCH 08/42] lint jsdoc comments --- code/.storybook/preview.tsx | 22 +- .../stories/docspage/error.stories.ts | 4 +- .../src/utils/process-preview-annotation.ts | 7 +- code/builders/builder-webpack5/src/index.ts | 8 +- code/core/src/builder-manager/index.ts | 8 +- .../builder-manager/utils/managerEntries.ts | 17 +- code/core/src/channels/postmessage/index.ts | 5 +- code/core/src/cli/helpers.ts | 21 +- code/core/src/cli/project_types.ts | 12 +- .../js-package-manager/JsPackageManager.ts | 76 +++--- .../JsPackageManagerFactory.ts | 8 +- .../src/common/js-package-manager/NPMProxy.ts | 1 - code/core/src/common/presets.ts | 15 +- code/core/src/common/utils/cli.ts | 74 +++--- .../src/common/utils/get-framework-name.ts | 14 +- code/core/src/common/utils/remove.ts | 7 +- .../src/components/components/bar/button.tsx | 5 +- .../src/core-server/presets/common-preset.ts | 20 +- code/core/src/csf-tools/ConfigFile.ts | 73 +++--- code/core/src/csf-tools/CsfFile.ts | 20 +- code/core/src/manager-api/lib/stories.ts | 6 +- code/core/src/manager-api/modules/refs.ts | 7 + code/core/src/manager-api/modules/stories.ts | 52 +++-- code/core/src/manager-api/root.tsx | 14 +- .../src/preview-api/modules/addons/hooks.ts | 194 +++++++++------- .../modules/addons/make-decorator.ts | 24 +- .../preview-web/render/CsfDocsRender.ts | 9 +- .../preview-web/render/MdxDocsRender.ts | 7 +- .../modules/preview-web/render/Render.ts | 5 +- .../modules/preview-web/render/StoryRender.ts | 9 +- .../preview-api/modules/store/decorators.ts | 10 +- code/core/src/router/router.tsx | 18 +- code/core/src/types/modules/addons.ts | 179 +++++++-------- code/core/src/types/modules/api.ts | 25 +- code/core/src/types/modules/core-common.ts | 217 ++++++++---------- .../angular-beta/utils/PropertyExtractor.ts | 2 - code/frameworks/angular/src/types.ts | 4 +- .../template/components/pre.component.ts | 12 +- .../angular-src/service.component.ts | 10 +- .../experimental-nextjs-vite/src/types.ts | 5 +- .../src/babel/plugins/next-page-config.ts | 3 +- .../src/babel/plugins/next-ssg-transform.ts | 3 +- code/frameworks/svelte-vite/src/utils.ts | 6 +- code/lib/blocks/src/blocks/Canvas.tsx | 26 +-- code/lib/blocks/src/blocks/Description.tsx | 4 +- code/lib/blocks/src/blocks/Primary.tsx | 4 +- code/lib/blocks/src/blocks/Source.tsx | 23 +- code/lib/blocks/src/blocks/Story.tsx | 26 +-- code/lib/blocks/src/blocks/Subtitle.tsx | 4 +- code/lib/blocks/src/blocks/Title.tsx | 8 +- code/lib/blocks/src/components/Preview.tsx | 5 +- code/lib/blocks/src/components/Story.tsx | 5 +- .../blocks/src/components/TableOfContents.tsx | 20 +- .../blocks/src/controls/options/Options.tsx | 13 +- code/lib/cli-storybook/src/add.ts | 23 +- .../src/automigrate/fixes/autodocs-true.ts | 4 +- .../src/automigrate/fixes/new-frameworks.ts | 20 +- .../src/automigrate/helpers/mainConfigFile.ts | 17 +- code/lib/cli-storybook/src/migrate.ts | 8 +- code/lib/instrumenter/src/instrumenter.ts | 12 +- .../src/svelte-docgen-loader.ts | 5 +- .../preact/template/stories/React.jsx | 2 + code/renderers/svelte/src/render.ts | 12 +- .../web-components/src/framework-api.ts | 4 +- scripts/prettier.config.js | 3 + 65 files changed, 703 insertions(+), 783 deletions(-) diff --git a/code/.storybook/preview.tsx b/code/.storybook/preview.tsx index 3fbae06f064f..f08bb92f1b70 100644 --- a/code/.storybook/preview.tsx +++ b/code/.storybook/preview.tsx @@ -16,7 +16,7 @@ import { import { DocsContext } from '@storybook/blocks'; import { global } from '@storybook/global'; -import type { Decorator, ReactRenderer } from '@storybook/react'; +import type { Decorator, Loader, ReactRenderer } from '@storybook/react'; import { MINIMAL_VIEWPORTS } from '@storybook/addon-viewport'; @@ -95,7 +95,6 @@ const StackContainer = ({ children, layout }) => ( height: '100%', display: 'flex', flexDirection: 'column', - // margin: layout === 'fullscreen' ? 0 : '-1rem', }} >