diff --git a/code/renderers/react/package.json b/code/renderers/react/package.json index 87f3603da96e..859641c6ab33 100644 --- a/code/renderers/react/package.json +++ b/code/renderers/react/package.json @@ -61,7 +61,6 @@ "@types/escodegen": "^0.0.6", "@types/estree": "^1.0.6", "@types/node": "^22.0.0", - "@types/semver": "^7.3.4", "acorn": "^7.4.1", "acorn-jsx": "^5.3.1", "acorn-walk": "^7.2.0", @@ -73,7 +72,6 @@ "prop-types": "^15.7.2", "react-element-to-jsx-string": "npm:@7rulnik/react-element-to-jsx-string@15.0.1", "require-from-string": "^2.0.2", - "semver": "^7.3.7", "ts-dedent": "^2.0.0", "type-fest": "~2.19" }, diff --git a/code/renderers/react/src/entry-preview.tsx b/code/renderers/react/src/entry-preview.tsx index b6f2928c1c8b..9c09399a0821 100644 --- a/code/renderers/react/src/entry-preview.tsx +++ b/code/renderers/react/src/entry-preview.tsx @@ -2,7 +2,6 @@ import * as React from 'react'; import { global } from '@storybook/global'; -import semver from 'semver'; import { configure } from 'storybook/test'; import { getAct, getReactActEnvironment, setReactActEnvironment } from './act-compat'; @@ -19,8 +18,11 @@ export const decorators: Decorator[] = [ return story(); } - const major = semver.major(React.version); - const minor = semver.minor(React.version); + const [major, minor] = React.version.split('.').map((part) => parseInt(part, 10)); + + if (!Number.isInteger(major) || !Number.isInteger(minor)) { + throw new Error('Unable to parse React version'); + } if (major < 18 || (major === 18 && minor < 3)) { throw new Error('React Server Components require React >= 18.3'); } diff --git a/code/yarn.lock b/code/yarn.lock index 9ddcdc8c2e0d..8faf4f2926c6 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -6819,7 +6819,6 @@ __metadata: "@types/escodegen": "npm:^0.0.6" "@types/estree": "npm:^1.0.6" "@types/node": "npm:^22.0.0" - "@types/semver": "npm:^7.3.4" acorn: "npm:^7.4.1" acorn-jsx: "npm:^5.3.1" acorn-walk: "npm:^7.2.0" @@ -6831,7 +6830,6 @@ __metadata: prop-types: "npm:^15.7.2" react-element-to-jsx-string: "npm:@7rulnik/react-element-to-jsx-string@15.0.1" require-from-string: "npm:^2.0.2" - semver: "npm:^7.3.7" ts-dedent: "npm:^2.0.0" type-fest: "npm:~2.19" peerDependencies: