diff --git a/.changeset/build-typescript-5.md b/.changeset/build-typescript-5.md new file mode 100644 index 0000000000..2d701c7d5b --- /dev/null +++ b/.changeset/build-typescript-5.md @@ -0,0 +1,8 @@ +--- +'@lg-tools/build': minor +--- + +- Upgrades to TS 5.8. +- Adds `--downlevel` option for `build-ts`. This option exports downleveled `*.d.ts` files for a defined set of targets. +Updates a package's `package.json` if necessary `--update` flag is provided. +This uses [downlevel-dts](https://github.com/sandersn/downlevel-dts) under the hood. diff --git a/.changeset/cli-ts-downlevel.md b/.changeset/cli-ts-downlevel.md new file mode 100644 index 0000000000..7e6ea17146 --- /dev/null +++ b/.changeset/cli-ts-downlevel.md @@ -0,0 +1,5 @@ +--- +'@lg-tools/cli': minor +--- + +Adds `--downlevel` option for `build-ts`. This option reads a package's package.json and exports downleveled `*.d.ts` files for all targets listed in `"typeVersions"` diff --git a/.changeset/typescript-5-all.md b/.changeset/typescript-5-all.md new file mode 100644 index 0000000000..4d415a0dce --- /dev/null +++ b/.changeset/typescript-5-all.md @@ -0,0 +1,102 @@ +--- +'@leafygreen-ui/a11y': major +'@leafygreen-ui/avatar': major +'@leafygreen-ui/badge': major +'@leafygreen-ui/banner': major +'@leafygreen-ui/box': major +'@leafygreen-ui/button': major +'@leafygreen-ui/callout': major +'@leafygreen-ui/card': major +'@leafygreen-ui/checkbox': major +'@leafygreen-ui/chip': major +'@leafygreen-ui/code': major +'@leafygreen-ui/combobox': major +'@leafygreen-ui/confirmation-modal': major +'@leafygreen-ui/copyable': major +'@leafygreen-ui/date-picker': major +'@leafygreen-ui/descendants': major +'@leafygreen-ui/drawer': major +'@leafygreen-ui/emotion': major +'@leafygreen-ui/empty-state': major +'@leafygreen-ui/expandable-card': major +'@leafygreen-ui/form-field': major +'@leafygreen-ui/form-footer': major +'@leafygreen-ui/gallery-indicator': major +'@leafygreen-ui/guide-cue': major +'@leafygreen-ui/hooks': major +'@leafygreen-ui/icon': major +'@leafygreen-ui/icon-button': major +'@leafygreen-ui/info-sprinkle': major +'@leafygreen-ui/inline-definition': major +'@leafygreen-ui/input-option': major +'@leafygreen-ui/leafygreen-provider': major +'@leafygreen-ui/lib': major +'@leafygreen-ui/loading-indicator': major +'@leafygreen-ui/logo': major +'@leafygreen-ui/marketing-modal': major +'@leafygreen-ui/menu': major +'@leafygreen-ui/modal': major +'@leafygreen-ui/number-input': major +'@leafygreen-ui/ordered-list': major +'@leafygreen-ui/pagination': major +'@leafygreen-ui/palette': major +'@leafygreen-ui/password-input': major +'@leafygreen-ui/pipeline': major +'@leafygreen-ui/polymorphic': major +'@leafygreen-ui/popover': major +'@leafygreen-ui/portal': major +'@leafygreen-ui/radio-box-group': major +'@leafygreen-ui/radio-group': major +'@leafygreen-ui/ripple': major +'@leafygreen-ui/search-input': major +'@leafygreen-ui/segmented-control': major +'@leafygreen-ui/select': major +'@leafygreen-ui/side-nav': major +'@leafygreen-ui/skeleton-loader': major +'@leafygreen-ui/split-button': major +'@leafygreen-ui/stepper': major +'@leafygreen-ui/table': major +'@leafygreen-ui/tabs': major +'@leafygreen-ui/text-area': major +'@leafygreen-ui/text-input': major +'@leafygreen-ui/toast': major +'@leafygreen-ui/toggle': major +'@leafygreen-ui/tokens': major +'@leafygreen-ui/tooltip': major +'@leafygreen-ui/typography': major +'@lg-chat/avatar': major +'@lg-chat/chat-disclaimer': major +'@lg-chat/chat-window': major +'@lg-chat/fixed-chat-window': major +'@lg-chat/input-bar': major +'@lg-chat/leafygreen-chat-provider': major +'@lg-chat/lg-markdown': major +'@lg-chat/message': major +'@lg-chat/message-feed': major +'@lg-chat/message-feedback': major +'@lg-chat/message-prompts': major +'@lg-chat/message-rating': major +'@lg-chat/rich-links': major +'@lg-chat/title-bar': major +'@lg-tools/lint': major + +'@lg-tools/build': minor +'@lg-tools/cli': minor +'@lg-tools/meta': minor +'@lg-tools/codemods': minor +'@leafygreen-ui/date-utils': minor +'@leafygreen-ui/testing-lib': minor +'@lg-tools/storybook-addon': minor +'@lg-tools/storybook-decorators': minor +'@lg-tools/storybook-utils': minor +'@lg-tools/test-harnesses': minor +'@lg-charts/chart-card': minor +'@lg-charts/colors': minor +'@lg-charts/core': minor +'@lg-charts/drag-provider': minor +'@lg-charts/legend': minor +'@lg-charts/series-provider': minor + +--- + +Updates Typescript build to TS5.0 diff --git a/charts/chart-card/package.json b/charts/chart-card/package.json index 45a60bf026..274b698e0d 100644 --- a/charts/chart-card/package.json +++ b/charts/chart-card/package.json @@ -34,5 +34,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/charts/colors/package.json b/charts/colors/package.json index 2bcc88f078..8cd0340791 100644 --- a/charts/colors/package.json +++ b/charts/colors/package.json @@ -31,5 +31,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/charts/core/package.json b/charts/core/package.json index 991a6135d2..4300be0f67 100644 --- a/charts/core/package.json +++ b/charts/core/package.json @@ -42,5 +42,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/charts/core/src/XAxis/XAxis.tsx b/charts/core/src/XAxis/XAxis.tsx index 97b414c7bd..213ed26b1f 100644 --- a/charts/core/src/XAxis/XAxis.tsx +++ b/charts/core/src/XAxis/XAxis.tsx @@ -33,6 +33,7 @@ const getOptions = ({ width: 1, }, }, + // @ts-expect-error TODO: axisLabel: { show: true, fontFamily: fontFamilies.default, diff --git a/charts/core/src/YAxis/YAxis.tsx b/charts/core/src/YAxis/YAxis.tsx index db663c9ef0..eb8940bca9 100644 --- a/charts/core/src/YAxis/YAxis.tsx +++ b/charts/core/src/YAxis/YAxis.tsx @@ -33,6 +33,7 @@ const getOptions = ({ width: 1, }, }, + // @ts-expect-error TODO: axisLabel: { show: true, fontFamily: fontFamilies.default, diff --git a/charts/drag-provider/package.json b/charts/drag-provider/package.json index 5b05dfa02b..3ecd091a4a 100644 --- a/charts/drag-provider/package.json +++ b/charts/drag-provider/package.json @@ -32,5 +32,6 @@ }, "devDependencies": { "@storybook/test": "8.5.3" - } -} \ No newline at end of file + }, + "typesVersions": {} +} diff --git a/charts/legend/package.json b/charts/legend/package.json index eb1ce6a478..91c00adb96 100644 --- a/charts/legend/package.json +++ b/charts/legend/package.json @@ -36,5 +36,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/charts/series-provider/package.json b/charts/series-provider/package.json index 95e8612806..dff0c33ab5 100644 --- a/charts/series-provider/package.json +++ b/charts/series-provider/package.json @@ -23,5 +23,6 @@ }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "workspace:^" - } -} \ No newline at end of file + }, + "typesVersions": {} +} diff --git a/chat/avatar/package.json b/chat/avatar/package.json index 0a85b533bc..aa3e305590 100644 --- a/chat/avatar/package.json +++ b/chat/avatar/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/chat-disclaimer/package.json b/chat/chat-disclaimer/package.json index e1c4b25c2d..62e0ea30a7 100644 --- a/chat/chat-disclaimer/package.json +++ b/chat/chat-disclaimer/package.json @@ -32,5 +32,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/chat/chat-window/package.json b/chat/chat-window/package.json index 3d93339e9f..a04f61c119 100644 --- a/chat/chat-window/package.json +++ b/chat/chat-window/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/fixed-chat-window/package.json b/chat/fixed-chat-window/package.json index 6745a79728..a77404d140 100644 --- a/chat/fixed-chat-window/package.json +++ b/chat/fixed-chat-window/package.json @@ -45,5 +45,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/chat/input-bar/package.json b/chat/input-bar/package.json index 66c4936a37..3fe690a226 100644 --- a/chat/input-bar/package.json +++ b/chat/input-bar/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/leafygreen-chat-provider/package.json b/chat/leafygreen-chat-provider/package.json index 31a3923019..59fc43ec6e 100644 --- a/chat/leafygreen-chat-provider/package.json +++ b/chat/leafygreen-chat-provider/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/lg-markdown/package.json b/chat/lg-markdown/package.json index 87fb31dbe5..af6f046bce 100644 --- a/chat/lg-markdown/package.json +++ b/chat/lg-markdown/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/message-feed/package.json b/chat/message-feed/package.json index a6e8dccfa8..a92c86b644 100644 --- a/chat/message-feed/package.json +++ b/chat/message-feed/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/message-feedback/package.json b/chat/message-feedback/package.json index 7defdb78c5..1dc8288669 100644 --- a/chat/message-feedback/package.json +++ b/chat/message-feedback/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "license": "Apache-2.0", "scripts": { "build": "lg build-package", diff --git a/chat/message-prompts/package.json b/chat/message-prompts/package.json index 5b28bd3362..25d4608f85 100644 --- a/chat/message-prompts/package.json +++ b/chat/message-prompts/package.json @@ -32,5 +32,6 @@ "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" }, - "devDependencies": {} + "devDependencies": {}, + "typesVersions": {} } diff --git a/chat/message-rating/package.json b/chat/message-rating/package.json index 75f14d28be..9d166bdbc6 100644 --- a/chat/message-rating/package.json +++ b/chat/message-rating/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/message/package.json b/chat/message/package.json index a90f90f79c..56c2f3ce87 100644 --- a/chat/message/package.json +++ b/chat/message/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/chat/rich-links/package.json b/chat/rich-links/package.json index 19c76ea5be..c8bd9b61bb 100644 --- a/chat/rich-links/package.json +++ b/chat/rich-links/package.json @@ -36,5 +36,6 @@ "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" }, - "devDependencies": {} + "devDependencies": {}, + "typesVersions": {} } diff --git a/chat/title-bar/package.json b/chat/title-bar/package.json index 6ccbacd550..12ead86a44 100644 --- a/chat/title-bar/package.json +++ b/chat/title-bar/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts" diff --git a/package.json b/package.json index 5bcc9c21e0..1eb82aab35 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "build:cli": "turbo run build tsc --filter=@lg-tools/cli", "build:docs": "turbo run docs", "build:tsc": "turbo run tsc", + "build:ts-downlevel": "pnpm recursive exec lg-ts-downlevel", "build-storybook": "npx storybook build", "chromatic": "npx chromatic", "clean": "npm-run-all --parallel clean:*", @@ -26,7 +27,7 @@ "fix": "lg lint --fix", "link": "lg link", "lint": "lg lint", - "prepublishOnly": "pnpm run build && turbo run docs", + "prepublishOnly": "pnpm run build && pnpm build:ts-downlevel && pnpm build:docs", "publish": "pnpm changeset publish --public", "slackbot": "lg slackbot release", "start": "npx storybook dev -p 9001 --no-version-updates --no-open", @@ -66,18 +67,18 @@ "prettier": "2.8.8", "react": "^18.2.0", "react-dom": "^18.2.0", - "stream": "^0.0.3", "storybook": "^8.6.12", + "stream": "^0.0.3", "ts-node": "10.9.2", "turbo": "^2.0.6", - "typescript": "~4.9.0" + "typescript": "~5.8.0" }, "pnpm": { "overrides": { - "caniuse-lite": "^1.0.30001585", - "jackspeak": "2.1.1", "@testing-library/dom": "9.3.4", - "@testing-library/user-event": "13.5.0" + "@testing-library/user-event": "13.5.0", + "caniuse-lite": "^1.0.30001585", + "jackspeak": "2.1.1" } }, "lg": { @@ -104,5 +105,6 @@ "bugs": { "url": "https://github.com/mongodb/leafygreen-ui/issues" }, - "packageManager": "pnpm@9.15.0" + "packageManager": "pnpm@9.15.0", + "typesVersions": {} } diff --git a/packages/a11y/package.json b/packages/a11y/package.json index 1bee4faf10..eb6f79e254 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/avatar/package.json b/packages/avatar/package.json index ead186d902..bf5ad0790c 100644 --- a/packages/avatar/package.json +++ b/packages/avatar/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/badge/package.json b/packages/badge/package.json index 3f29d13c2e..4de96e7f28 100644 --- a/packages/badge/package.json +++ b/packages/badge/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/banner/package.json b/packages/banner/package.json index 5f32e52351..dd11dede10 100644 --- a/packages/banner/package.json +++ b/packages/banner/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/box/package.json b/packages/box/package.json index cfd4328a7b..2c19c14f95 100644 --- a/packages/box/package.json +++ b/packages/box/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/button/package.json b/packages/button/package.json index 8573980d26..5b38a41013 100644 --- a/packages/button/package.json +++ b/packages/button/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/callout/package.json b/packages/callout/package.json index b377e3a30d..0c80710999 100644 --- a/packages/callout/package.json +++ b/packages/callout/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/card/package.json b/packages/card/package.json index 6a69ecdb9e..fa3b347582 100644 --- a/packages/card/package.json +++ b/packages/card/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/checkbox/package.json b/packages/checkbox/package.json index a6752d6e1d..6af6542764 100644 --- a/packages/checkbox/package.json +++ b/packages/checkbox/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/chip/package.json b/packages/chip/package.json index 5e37083843..4e2a07b8b2 100644 --- a/packages/chip/package.json +++ b/packages/chip/package.json @@ -33,5 +33,6 @@ "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" }, - "devDependencies": {} + "devDependencies": {}, + "typesVersions": {} } diff --git a/packages/code/package.json b/packages/code/package.json index 9f021003cc..20911ea02e 100644 --- a/packages/code/package.json +++ b/packages/code/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/code/src/CopyButton/CopyButton.tsx b/packages/code/src/CopyButton/CopyButton.tsx index 213ba5299e..39b94f3a05 100644 --- a/packages/code/src/CopyButton/CopyButton.tsx +++ b/packages/code/src/CopyButton/CopyButton.tsx @@ -62,6 +62,7 @@ function CopyButton({ onCopy, contents, className, ...rest }: CopyProps) { const clipboard = new ClipboardJS(buttonRef.current, { text: () => contents, + // @ts-expect-error TODO: types container: portalContainer, }); diff --git a/packages/code/tsconfig.json b/packages/code/tsconfig.json index b266709304..d7fc91c421 100644 --- a/packages/code/tsconfig.json +++ b/packages/code/tsconfig.json @@ -11,16 +11,17 @@ ], "@leafygreen-ui/*": [ "../*/src" - ] + ], + "highlight.js": [ + "./node_modules/highlight.js" + ], } }, - "include": [ - "src/**/*", - "../../typings" - ], + "include": ["src/**/*",], "exclude": [ - "**/*.spec.*", - "**/*.stories.*" + "**/*.spec.*", + "**/*.stories.*", + "node_modules" ], "references": [ { diff --git a/packages/combobox/package.json b/packages/combobox/package.json index f39da6cb45..fe92fe0e98 100644 --- a/packages/combobox/package.json +++ b/packages/combobox/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/confirmation-modal/package.json b/packages/confirmation-modal/package.json index ee43066d5e..700e2dea04 100644 --- a/packages/confirmation-modal/package.json +++ b/packages/confirmation-modal/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/copyable/package.json b/packages/copyable/package.json index b074ecea9f..fb7806b39d 100644 --- a/packages/copyable/package.json +++ b/packages/copyable/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/date-picker/package.json b/packages/date-picker/package.json index e3284a399d..fdd073583d 100644 --- a/packages/date-picker/package.json +++ b/packages/date-picker/package.json @@ -49,5 +49,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/packages/date-utils/package.json b/packages/date-utils/package.json index 35973e66d2..e8e9bac161 100644 --- a/packages/date-utils/package.json +++ b/packages/date-utils/package.json @@ -37,5 +37,6 @@ "leafygreen", "date", "date-fns" - ] + ], + "typesVersions": {} } diff --git a/packages/descendants/package.json b/packages/descendants/package.json index 1b1986b26c..a4b87fea96 100644 --- a/packages/descendants/package.json +++ b/packages/descendants/package.json @@ -35,5 +35,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/packages/drawer/package.json b/packages/drawer/package.json index 883b3d659f..f4f0966398 100644 --- a/packages/drawer/package.json +++ b/packages/drawer/package.json @@ -43,5 +43,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/packages/emotion/package.json b/packages/emotion/package.json index 43695bc9fe..8e8d04ec2d 100644 --- a/packages/emotion/package.json +++ b/packages/emotion/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "prebuild": "ts-node scripts/prebuild.ts", "build": "lg build-package", diff --git a/packages/emotion/scripts/tsconfig.json b/packages/emotion/scripts/tsconfig.json index 64bae4d3ed..dcc14b3519 100644 --- a/packages/emotion/scripts/tsconfig.json +++ b/packages/emotion/scripts/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "@lg-tools/build/config/root.tsconfig.json" + "extends": "@lg-tools/build/config/script.tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + } } diff --git a/packages/empty-state/package.json b/packages/empty-state/package.json index 45fb4306e3..01d7c6e4c4 100644 --- a/packages/empty-state/package.json +++ b/packages/empty-state/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/expandable-card/package.json b/packages/expandable-card/package.json index 730239cfd7..6c32bc6c13 100644 --- a/packages/expandable-card/package.json +++ b/packages/expandable-card/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/form-field/package.json b/packages/form-field/package.json index 5dcf8d89f4..52ce7bf3b8 100644 --- a/packages/form-field/package.json +++ b/packages/form-field/package.json @@ -37,5 +37,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/packages/form-footer/package.json b/packages/form-footer/package.json index de13e8ee78..a11c6c4939 100644 --- a/packages/form-footer/package.json +++ b/packages/form-footer/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/gallery-indicator/package.json b/packages/gallery-indicator/package.json index b417d73f7e..b8caa5ae51 100644 --- a/packages/gallery-indicator/package.json +++ b/packages/gallery-indicator/package.json @@ -32,5 +32,6 @@ "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" }, - "devDependencies": {} + "devDependencies": {}, + "typesVersions": {} } diff --git a/packages/guide-cue/package.json b/packages/guide-cue/package.json index 1b2a08e9e0..4506c3004a 100644 --- a/packages/guide-cue/package.json +++ b/packages/guide-cue/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 8a0a482200..df4ad00242 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/icon-button/package.json b/packages/icon-button/package.json index 2ba294d991..2e640eb2cf 100644 --- a/packages/icon-button/package.json +++ b/packages/icon-button/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/icon/package.json b/packages/icon/package.json index 605b1d4e6f..229ce74a02 100644 --- a/packages/icon/package.json +++ b/packages/icon/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "prebuild": "ts-node ./scripts/prebuild.ts", "build": "lg build-package", diff --git a/packages/icon/scripts/tsconfig.json b/packages/icon/scripts/tsconfig.json index 8b474f56ce..dcc14b3519 100644 --- a/packages/icon/scripts/tsconfig.json +++ b/packages/icon/scripts/tsconfig.json @@ -1,8 +1,6 @@ { - "extends": "@lg-tools/build/config/root.tsconfig.json", + "extends": "@lg-tools/build/config/script.tsconfig.json", "compilerOptions": { - "noUnusedLocals": false, - "strict": true, "baseUrl": ".", } } diff --git a/packages/info-sprinkle/package.json b/packages/info-sprinkle/package.json index 92f63affdf..883e11dca4 100644 --- a/packages/info-sprinkle/package.json +++ b/packages/info-sprinkle/package.json @@ -33,5 +33,6 @@ "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" }, - "devDependencies": {} + "devDependencies": {}, + "typesVersions": {} } diff --git a/packages/inline-definition/package.json b/packages/inline-definition/package.json index 7dfdc2e6da..73a9f4d910 100644 --- a/packages/inline-definition/package.json +++ b/packages/inline-definition/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/input-option/package.json b/packages/input-option/package.json index b93d3cc587..cddf4b6053 100644 --- a/packages/input-option/package.json +++ b/packages/input-option/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/leafygreen-provider/package.json b/packages/leafygreen-provider/package.json index a43609e5a6..7c0aec8ed4 100644 --- a/packages/leafygreen-provider/package.json +++ b/packages/leafygreen-provider/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/lib/package.json b/packages/lib/package.json index 3a920df9a5..737a338e9a 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/loading-indicator/package.json b/packages/loading-indicator/package.json index 7bfaabdd47..46d3b64673 100644 --- a/packages/loading-indicator/package.json +++ b/packages/loading-indicator/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/logo/package.json b/packages/logo/package.json index d7954fd622..24d6413b7c 100644 --- a/packages/logo/package.json +++ b/packages/logo/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/marketing-modal/package.json b/packages/marketing-modal/package.json index d37ce13f48..3319390a63 100644 --- a/packages/marketing-modal/package.json +++ b/packages/marketing-modal/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/menu/package.json b/packages/menu/package.json index db6718b7c2..1e068a8bc9 100644 --- a/packages/menu/package.json +++ b/packages/menu/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/modal/package.json b/packages/modal/package.json index af95f2633c..f5e22c0e92 100644 --- a/packages/modal/package.json +++ b/packages/modal/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/number-input/package.json b/packages/number-input/package.json index cfdbabceff..2df96fe448 100644 --- a/packages/number-input/package.json +++ b/packages/number-input/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/ordered-list/package.json b/packages/ordered-list/package.json index 886db14207..746154c80a 100644 --- a/packages/ordered-list/package.json +++ b/packages/ordered-list/package.json @@ -32,5 +32,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/packages/pagination/package.json b/packages/pagination/package.json index b693da2436..af7f6f4841 100644 --- a/packages/pagination/package.json +++ b/packages/pagination/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/palette/package.json b/packages/palette/package.json index a091ce3af7..0eb9dff255 100644 --- a/packages/palette/package.json +++ b/packages/palette/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/password-input/package.json b/packages/password-input/package.json index 200ebc1f60..7bbcb60cfb 100644 --- a/packages/password-input/package.json +++ b/packages/password-input/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/pipeline/package.json b/packages/pipeline/package.json index a0f94a7259..7cb9af732a 100644 --- a/packages/pipeline/package.json +++ b/packages/pipeline/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/polymorphic/package.json b/packages/polymorphic/package.json index 1303bdfa09..50d411352f 100644 --- a/packages/polymorphic/package.json +++ b/packages/polymorphic/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/polymorphic/src/Polymorphic/Polymorph.tsx b/packages/polymorphic/src/Polymorphic/Polymorph.tsx index ba0df3c508..9e4d8e68b0 100644 --- a/packages/polymorphic/src/Polymorphic/Polymorph.tsx +++ b/packages/polymorphic/src/Polymorphic/Polymorph.tsx @@ -36,6 +36,7 @@ export const BasePolymorph = ( * However: If you want to expose `as` as a prop of your component, * prefer the `{@link Polymorphic}` factory function and related hooks. */ +// @ts-expect-error TODO: Polymorphic TS export const Polymorph: PolymorphicComponentType = React.forwardRef(BasePolymorph); Polymorph.displayName = 'Polymorph'; diff --git a/packages/popover/package.json b/packages/popover/package.json index 2c37eb8b78..7407328fd4 100644 --- a/packages/popover/package.json +++ b/packages/popover/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/popover/src/Popover/Popover.tsx b/packages/popover/src/Popover/Popover.tsx index 5ea4691905..1b8ad5ff48 100644 --- a/packages/popover/src/Popover/Popover.tsx +++ b/packages/popover/src/Popover/Popover.tsx @@ -177,7 +177,6 @@ export const Popover = forwardRef( if (renderMode === RenderMode.TopLayer) { // @ts-expect-error - `toggle` event not supported pre-typescript v5 elements.floating?.addEventListener('toggle', onToggle); - // @ts-expect-error - Popover API not currently supported in react v18 https://github.com/facebook/react/pull/27981 elements.floating?.showPopover?.(); } @@ -195,7 +194,6 @@ export const Popover = forwardRef( if (renderMode === RenderMode.TopLayer) { // @ts-expect-error - `toggle` event not supported pre-typescript v5 elements.floating?.removeEventListener('toggle', onToggle); - // @ts-expect-error - Popover API not currently supported in react v18 https://github.com/facebook/react/pull/27981 elements.floating?.hidePopover?.(); } diff --git a/packages/portal/package.json b/packages/portal/package.json index c38806bdce..718e48d064 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/radio-box-group/package.json b/packages/radio-box-group/package.json index 3bbafc438c..19d4a6ab67 100644 --- a/packages/radio-box-group/package.json +++ b/packages/radio-box-group/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/radio-group/package.json b/packages/radio-group/package.json index 8668bd009b..8819ed533d 100644 --- a/packages/radio-group/package.json +++ b/packages/radio-group/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/ripple/package.json b/packages/ripple/package.json index 82ef1db953..217d9c97cf 100644 --- a/packages/ripple/package.json +++ b/packages/ripple/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/search-input/package.json b/packages/search-input/package.json index 92d903074d..e603d0f2fc 100644 --- a/packages/search-input/package.json +++ b/packages/search-input/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/segmented-control/package.json b/packages/segmented-control/package.json index 77a0d4338c..a9948abb5d 100644 --- a/packages/segmented-control/package.json +++ b/packages/segmented-control/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/select/package.json b/packages/select/package.json index bb9a63312f..f6fe4b7adb 100644 --- a/packages/select/package.json +++ b/packages/select/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/side-nav/package.json b/packages/side-nav/package.json index 20c00e468a..7f0a54e06b 100644 --- a/packages/side-nav/package.json +++ b/packages/side-nav/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/skeleton-loader/package.json b/packages/skeleton-loader/package.json index 1f37d6043e..576fe1927a 100644 --- a/packages/skeleton-loader/package.json +++ b/packages/skeleton-loader/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/split-button/package.json b/packages/split-button/package.json index 4ea4ff34db..b1e5eec828 100644 --- a/packages/split-button/package.json +++ b/packages/split-button/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/stepper/package.json b/packages/stepper/package.json index f9e6aae6f5..002332a08e 100644 --- a/packages/stepper/package.json +++ b/packages/stepper/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/table/package.json b/packages/table/package.json index 14a9ded005..a62afdf655 100644 --- a/packages/table/package.json +++ b/packages/table/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/tabs/package.json b/packages/tabs/package.json index 3be2d82038..9a18e42834 100644 --- a/packages/tabs/package.json +++ b/packages/tabs/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/testing-lib/package.json b/packages/testing-lib/package.json index 293da90ff1..2c07f07607 100644 --- a/packages/testing-lib/package.json +++ b/packages/testing-lib/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "dependencies": { "@lg-tools/build": "workspace:^", "@testing-library/user-event": "13.5.0", diff --git a/packages/text-area/package.json b/packages/text-area/package.json index 06c367116f..bd089f391a 100644 --- a/packages/text-area/package.json +++ b/packages/text-area/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/text-input/package.json b/packages/text-input/package.json index b21c01115c..3a11e258a4 100644 --- a/packages/text-input/package.json +++ b/packages/text-input/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/toast/package.json b/packages/toast/package.json index 958f88ce06..afc1747dcb 100644 --- a/packages/toast/package.json +++ b/packages/toast/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/toggle/package.json b/packages/toggle/package.json index 544a879f2d..35ae85d59b 100644 --- a/packages/toggle/package.json +++ b/packages/toggle/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/tokens/package.json b/packages/tokens/package.json index 92a1776ef2..46150abec6 100644 --- a/packages/tokens/package.json +++ b/packages/tokens/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/tooltip/package.json b/packages/tooltip/package.json index 2c7f7be0d2..ea022cbbdd 100644 --- a/packages/tooltip/package.json +++ b/packages/tooltip/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/typography/package.json b/packages/typography/package.json index dd8be9b524..47a2084b04 100644 --- a/packages/typography/package.json +++ b/packages/typography/package.json @@ -5,13 +5,7 @@ "main": "./dist/index.js", "module": "./dist/esm/index.js", "types": "./dist/index.d.ts", - "typesVersions": { - "<3.9": { - "*": [ - "ts3.4/*" - ] - } - }, + "typesVersions": {}, "scripts": { "build": "lg build-package", "tsc": "lg build-ts", diff --git a/packages/typography/src/InlineCode/InlineCode.tsx b/packages/typography/src/InlineCode/InlineCode.tsx index df630d0617..c6a29b8d2a 100644 --- a/packages/typography/src/InlineCode/InlineCode.tsx +++ b/packages/typography/src/InlineCode/InlineCode.tsx @@ -38,11 +38,8 @@ const InlineCode = InferredPolymorphic( const baseFontSize = useUpdatedBaseFontSize(baseFontSizeOverride); const { Component } = useInferredPolymorphic(as, rest, 'code'); - const whiteSpace = - ((typeof children === 'string' && children.match(/./gu)?.length) ?? 0) <= - 30 - ? nowrap - : normal; + const charsCount = children.match(/./gu)?.length ?? 0; + const whiteSpace = charsCount <= 30 ? nowrap : normal; const needsWrapper = Component !== 'code'; const renderedInlineCode = ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ef9c70dcc..a039c241db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,10 +5,10 @@ settings: excludeLinksFromLockfile: false overrides: - caniuse-lite: ^1.0.30001585 - jackspeak: 2.1.1 '@testing-library/dom': 9.3.4 '@testing-library/user-event': 13.5.0 + caniuse-lite: ^1.0.30001585 + jackspeak: 2.1.1 importers: @@ -49,7 +49,7 @@ importers: version: link:tools/test '@storybook/react': specifier: ^8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@5.8.3) '@testing-library/react': specifier: ^14.0.0 version: 14.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -82,7 +82,7 @@ importers: version: 3.2.3 npm-package-json-lint: specifier: 8.0.0 - version: 8.0.0(typescript@4.9.5) + version: 8.0.0(typescript@5.8.3) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -103,13 +103,13 @@ importers: version: 0.0.3 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5) + version: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.8.3) turbo: specifier: ^2.0.6 version: 2.0.6 typescript: - specifier: ~4.9.0 - version: 4.9.5 + specifier: ~5.8.0 + version: 5.8.3 charts/chart-card: dependencies: @@ -235,7 +235,7 @@ importers: devDependencies: '@storybook/test': specifier: 8.5.3 - version: 8.5.3(storybook@8.6.12(prettier@2.8.8)) + version: 8.5.3(storybook@8.6.12(prettier@3.5.3)) charts/legend: dependencies: @@ -1623,7 +1623,7 @@ importers: version: 11.0.0 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5) + version: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.9.0-dev.20250422) xml2json: specifier: ^0.12.0 version: 0.12.0 @@ -2898,6 +2898,18 @@ importers: specifier: workspace:^ version: link:../tokens + scripts: + dependencies: + '@lg-tools/meta': + specifier: workspace:* + version: link:../tools/meta + chalk: + specifier: ^4.1.2 + version: 4.1.2 + prettier: + specifier: ^3.5.3 + version: 3.5.3 + tools/build: dependencies: '@babel/core': @@ -2941,10 +2953,10 @@ importers: version: 8.0.0(@babel/core@7.24.3) '@svgr/cli': specifier: 8.0.1 - version: 8.0.1(typescript@4.9.5) + version: 8.0.1(typescript@5.8.3) '@svgr/rollup': specifier: ^8.1.0 - version: 8.1.0(rollup@4.16.1)(typescript@4.9.5) + version: 8.1.0(rollup@4.16.1)(typescript@5.8.3) '@types/cross-spawn': specifier: 6.0.2 version: 6.0.2 @@ -2957,6 +2969,9 @@ importers: cross-spawn: specifier: 7.0.3 version: 7.0.3 + downlevel-dts: + specifier: ^0.11.0 + version: 0.11.0 fs-extra: specifier: 11.1.1 version: 11.1.1 @@ -2968,7 +2983,7 @@ importers: version: 4.17.21 react-docgen-typescript: specifier: 2.2.2 - version: 2.2.2(typescript@4.9.5) + version: 2.2.2(typescript@5.8.3) rollup: specifier: 4.16.1 version: 4.16.1 @@ -2985,8 +3000,15 @@ importers: specifier: ^2.0.6 version: 2.0.6 typescript: - specifier: ~4.9.0 - version: 4.9.5 + specifier: ~5.8.0 + version: 5.8.3 + devDependencies: + '@types/mock-fs': + specifier: ^4.13.4 + version: 4.13.4 + mock-fs: + specifier: ^5.5.0 + version: 5.5.0 tools/cli: dependencies: @@ -3148,7 +3170,7 @@ importers: version: 7.25.9(@babel/core@7.23.2)(eslint@9.16.0) '@emotion/eslint-plugin': specifier: 11.12.0 - version: 11.12.0(eslint@9.16.0)(typescript@4.9.5) + version: 11.12.0(eslint@9.16.0)(typescript@5.0.4) '@eslint/compat': specifier: ^1.2.3 version: 1.2.3(eslint@9.16.0) @@ -3172,10 +3194,10 @@ importers: version: 2.7.3 '@typescript-eslint/eslint-plugin': specifier: 8.17.0 - version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(typescript@4.9.5) + version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4) '@typescript-eslint/parser': specifier: 8.17.0 - version: 8.17.0(eslint@9.16.0)(typescript@4.9.5) + version: 8.17.0(eslint@9.16.0)(typescript@5.0.4) chalk: specifier: 4.1.2 version: 4.1.2 @@ -3190,10 +3212,10 @@ importers: version: 9.1.0(eslint@9.16.0) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0) + version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0) eslint-plugin-jest: specifier: 28.9.0 - version: 28.9.0(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)))(typescript@4.9.5) + version: 28.9.0(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)))(typescript@5.0.4) eslint-plugin-jsx-a11y: specifier: 6.10.2 version: 6.10.2(eslint@9.16.0) @@ -3208,7 +3230,7 @@ importers: version: 12.1.1(eslint@9.16.0) eslint-plugin-storybook: specifier: 0.11.1 - version: 0.11.1(eslint@9.16.0)(typescript@4.9.5) + version: 0.11.1(eslint@9.16.0)(typescript@5.0.4) glob: specifier: 11.0.1 version: 11.0.1 @@ -3217,16 +3239,16 @@ importers: version: 15.13.0 npm-package-json-lint: specifier: 8.0.0 - version: 8.0.0(typescript@4.9.5) + version: 8.0.0(typescript@5.0.4) npm-package-json-lint-config-default: specifier: 7.0.1 - version: 7.0.1(npm-package-json-lint@8.0.0(typescript@4.9.5)) + version: 7.0.1(npm-package-json-lint@8.0.0(typescript@5.0.4)) prettier: specifier: 2.8.8 version: 2.8.8 typescript: - specifier: ~4.9.0 - version: 4.9.5 + specifier: ~5.0.0 + version: 5.0.4 tools/meta: dependencies: @@ -3311,46 +3333,46 @@ importers: version: 2.3.0(react@18.2.0) '@storybook/addon-a11y': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-essentials': specifier: 8.6.12 - version: 8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-interactions': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-links': specifier: 8.6.12 - version: 8.6.12(react@18.2.0)(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-mdx-gfm': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/components': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/core-events': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/manager-api': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/preview-api': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/react': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) '@storybook/react-webpack5': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) '@storybook/test': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/theming': specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12(prettier@2.8.8)) + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@svgr/webpack': specifier: 8.0.1 - version: 8.0.1(typescript@4.9.5) + version: 8.0.1(typescript@5.9.0-dev.20250422) assert: specifier: ^2.1.0 version: 2.1.0 @@ -3392,16 +3414,16 @@ importers: version: 18.2.0 react-docgen-typescript: specifier: 2.2.2 - version: 2.2.2(typescript@4.9.5) + version: 2.2.2(typescript@5.9.0-dev.20250422) react-dom: specifier: ^17.0.0 || ^18.0.0 version: 18.2.0(react@18.2.0) storybook: specifier: ^8.6.0 - version: 8.6.12(prettier@2.8.8) + version: 8.6.12(prettier@3.5.3) storybook-dark-mode: specifier: ^4.0.1 - version: 4.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8)) + version: 4.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) stream-browserify: specifier: 3.0.0 version: 3.0.0 @@ -3452,7 +3474,7 @@ importers: version: link:../storybook-utils '@storybook/react': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3) lodash: specifier: 4.17.21 version: 4.17.21 @@ -3464,7 +3486,7 @@ importers: version: 0.1.13 '@storybook/react': specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) + version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3) glob: specifier: 10.3.12 version: 10.3.12 @@ -3539,7 +3561,7 @@ importers: version: 11.1.1 jest: specifier: 29.6.2 - version: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + version: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) jest-axe: specifier: 8.0.0 version: 8.0.0 @@ -5772,6 +5794,9 @@ packages: '@types/minimist@1.2.2': resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + '@types/mock-fs@4.13.4': + resolution: {integrity: sha512-mXmM0o6lULPI8z3XNnQCpL0BGxPwx1Ul1wXYEPBGl4efShyxW2Rln0JOPEWGyZaYZMM6OVXM/15zUuFMY52ljg==} + '@types/ms@0.7.31': resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} @@ -6962,6 +6987,10 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + downlevel-dts@0.11.0: + resolution: {integrity: sha512-vo835pntK7kzYStk7xUHDifiYJvXxVhUapt85uk2AI94gUUAQX9HNRtrcMHNSc3YHJUEHGbYIGsM99uIbgAtxw==} + hasBin: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -7767,6 +7796,10 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -8728,6 +8761,10 @@ packages: engines: {node: '>=10'} hasBin: true + mock-fs@5.5.0: + resolution: {integrity: sha512-d/P1M/RacgM3dB0sJ8rjeRNXxtapkPCUnMGmIN0ixJ16F/E4GUZCvWcSGfWGz8eaXYvn1s9baUwNjI4LOPEjiA==} + engines: {node: '>=12.0.0'} + mockdate@3.0.5: resolution: {integrity: sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==} @@ -9190,6 +9227,11 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} + hasBin: true + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} @@ -9395,6 +9437,10 @@ packages: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -9668,6 +9714,11 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -10182,9 +10233,19 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.9.0-dev.20250422: + resolution: {integrity: sha512-nhqzYEg74esioK1dt0zLZBEdpDv1VXZqX9qWe9qFi3pkYjXr2Rok3MTV0+CEDc7DIL6sKeJ5YBRuePpIsSmmfA==} + engines: {node: '>=14.17'} hasBin: true unbox-primitive@1.0.2: @@ -11727,9 +11788,9 @@ snapshots: optionalDependencies: '@babel/core': 7.24.3 - '@emotion/eslint-plugin@11.12.0(eslint@9.16.0)(typescript@4.9.5)': + '@emotion/eslint-plugin@11.12.0(eslint@9.16.0)(typescript@5.0.4)': dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@9.16.0)(typescript@5.0.4) eslint: 9.16.0 transitivePeerDependencies: - supports-color @@ -12024,7 +12085,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5))': + '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4))': dependencies: '@jest/console': 29.6.2 '@jest/reporters': 29.6.2 @@ -12038,7 +12099,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.5.0 - jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -12060,7 +12121,7 @@ snapshots: - ts-node optional: true - '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5))': + '@jest/core@29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422))': dependencies: '@jest/console': 29.6.2 '@jest/reporters': 29.6.2 @@ -12074,7 +12135,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.5.0 - jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -12425,129 +12486,129 @@ snapshots: transitivePeerDependencies: - debug - '@storybook/addon-a11y@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-a11y@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/global': 5.0.0 - '@storybook/test': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/test': 8.6.12(storybook@8.6.12(prettier@3.5.3)) axe-core: 4.10.2 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/addon-actions@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-actions@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) uuid: 9.0.0 - '@storybook/addon-backgrounds@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-backgrounds@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-controls@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-docs@8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@3.5.3))': dependencies: '@mdx-js/react': 3.1.0(@types/react@18.2.23)(react@18.2.0) - '@storybook/blocks': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8)) - '@storybook/csf-plugin': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/react-dom-shim': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8)) + '@storybook/blocks': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/csf-plugin': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-essentials@8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@2.8.8))': - dependencies: - '@storybook/addon-actions': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-backgrounds': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-controls': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-docs': 8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-measure': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-outline': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-toolbars': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/addon-viewport': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - storybook: 8.6.12(prettier@2.8.8) + '@storybook/addon-essentials@8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@3.5.3))': + dependencies: + '@storybook/addon-actions': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-backgrounds': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-controls': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-docs': 8.6.12(@types/react@18.2.23)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-measure': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-outline': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-toolbars': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/addon-viewport': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/addon-highlight@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-highlight@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/addon-interactions@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-interactions@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/test': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/instrumenter': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/test': 8.6.12(storybook@8.6.12(prettier@3.5.3)) polished: 4.3.1 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-links@8.6.12(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-links@8.6.12(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 - '@storybook/addon-mdx-gfm@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-mdx-gfm@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: remark-gfm: 4.0.0 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - '@storybook/addon-measure@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-measure@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-outline@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-toolbars@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/addon-viewport@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/addon-viewport@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: memoizerific: 1.11.3 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/blocks@8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))': + '@storybook/blocks@8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/icons': 1.3.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/builder-webpack5@8.6.12(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5)': + '@storybook/builder-webpack5@8.6.12(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422)': dependencies: - '@storybook/core-webpack': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/core-webpack': 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@types/semver': 7.5.0 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -12555,13 +12616,13 @@ snapshots: constants-browserify: 1.0.0 css-loader: 6.8.1(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) es-module-lexer: 1.6.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@4.9.5)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.9.0-dev.20250422)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) html-webpack-plugin: 5.5.3(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) magic-string: 0.30.17 path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) style-loader: 3.3.3(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) terser-webpack-plugin: 5.3.9(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) ts-dedent: 2.2.0 @@ -12573,7 +12634,7 @@ snapshots: webpack-hot-middleware: 2.25.4 webpack-virtual-modules: 0.6.2 optionalDependencies: - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 transitivePeerDependencies: - '@swc/core' - esbuild @@ -12584,13 +12645,17 @@ snapshots: dependencies: storybook: 8.6.12(prettier@2.8.8) - '@storybook/core-events@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/components@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) - '@storybook/core-webpack@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/core-events@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) + + '@storybook/core-webpack@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + storybook: 8.6.12(prettier@3.5.3) ts-dedent: 2.2.0 '@storybook/core@8.6.12(prettier@2.8.8)(storybook@8.6.12(prettier@2.8.8))': @@ -12614,9 +12679,30 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@8.6.12(storybook@8.6.12(prettier@2.8.8))': + '@storybook/core@8.6.12(prettier@3.5.3)(storybook@8.6.12(prettier@3.5.3))': dependencies: - storybook: 8.6.12(prettier@2.8.8) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.24.2 + esbuild-register: 3.5.0(esbuild@0.24.2) + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.6.3 + util: 0.12.5 + ws: 8.16.0 + optionalDependencies: + prettier: 3.5.3 + transitivePeerDependencies: + - bufferutil + - storybook + - supports-color + - utf-8-validate + + '@storybook/csf-plugin@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + storybook: 8.6.12(prettier@3.5.3) unplugin: 1.4.0 '@storybook/csf@0.1.12': @@ -12639,27 +12725,38 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@storybook/instrumenter@8.5.3(storybook@8.6.12(prettier@2.8.8))': + '@storybook/instrumenter@8.5.3(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) '@storybook/instrumenter@8.6.12(storybook@8.6.12(prettier@2.8.8))': dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.9 storybook: 8.6.12(prettier@2.8.8) + optional: true + + '@storybook/instrumenter@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + '@storybook/global': 5.0.0 + '@vitest/utils': 2.1.9 + storybook: 8.6.12(prettier@3.5.3) '@storybook/manager-api@8.6.12(storybook@8.6.12(prettier@2.8.8))': dependencies: storybook: 8.6.12(prettier@2.8.8) - '@storybook/preset-react-webpack@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5)': + '@storybook/manager-api@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/core-webpack': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@4.9.5)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) + storybook: 8.6.12(prettier@3.5.3) + + '@storybook/preset-react-webpack@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422)': + dependencies: + '@storybook/core-webpack': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.9.0-dev.20250422)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)) '@types/semver': 7.5.0 find-up: 5.0.0 magic-string: 0.30.17 @@ -12668,11 +12765,11 @@ snapshots: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.10 semver: 7.6.3 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) tsconfig-paths: 4.2.0 webpack: 5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2) optionalDependencies: - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 transitivePeerDependencies: - '@storybook/test' - '@swc/core' @@ -12685,16 +12782,20 @@ snapshots: dependencies: storybook: 8.6.12(prettier@2.8.8) - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@4.9.5)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2))': + '@storybook/preview-api@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + storybook: 8.6.12(prettier@3.5.3) + + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.9.0-dev.20250422)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2))': dependencies: debug: 4.4.0 endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.0.4 micromatch: 4.0.5 - react-docgen-typescript: 2.2.2(typescript@4.9.5) + react-docgen-typescript: 2.2.2(typescript@5.9.0-dev.20250422) tslib: 2.6.2 - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 webpack: 5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2) transitivePeerDependencies: - supports-color @@ -12705,16 +12806,22 @@ snapshots: react-dom: 18.2.0(react@18.2.0) storybook: 8.6.12(prettier@2.8.8) - '@storybook/react-webpack5@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5)': + '@storybook/react-dom-shim@8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))': dependencies: - '@storybook/builder-webpack5': 8.6.12(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) - '@storybook/preset-react-webpack': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) + + '@storybook/react-webpack5@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422)': + dependencies: + '@storybook/builder-webpack5': 8.6.12(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) + '@storybook/preset-react-webpack': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) + '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + storybook: 8.6.12(prettier@3.5.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 transitivePeerDependencies: - '@storybook/test' - '@swc/core' @@ -12723,7 +12830,7 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@4.9.5)': + '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8))(typescript@5.8.3)': dependencies: '@storybook/components': 8.6.12(storybook@8.6.12(prettier@2.8.8)) '@storybook/global': 5.0.0 @@ -12736,19 +12843,49 @@ snapshots: storybook: 8.6.12(prettier@2.8.8) optionalDependencies: '@storybook/test': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - typescript: 4.9.5 + typescript: 5.8.3 + + '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.8.3)': + dependencies: + '@storybook/components': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/preview-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + storybook: 8.6.12(prettier@3.5.3) + optionalDependencies: + '@storybook/test': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + typescript: 5.8.3 + + '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3))(typescript@5.9.0-dev.20250422)': + dependencies: + '@storybook/components': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/preview-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/react-dom-shim': 8.6.12(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + storybook: 8.6.12(prettier@3.5.3) + optionalDependencies: + '@storybook/test': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + typescript: 5.9.0-dev.20250422 - '@storybook/test@8.5.3(storybook@8.6.12(prettier@2.8.8))': + '@storybook/test@8.5.3(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/csf': 0.1.12 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.5.3(storybook@8.6.12(prettier@2.8.8)) + '@storybook/instrumenter': 8.5.3(storybook@8.6.12(prettier@3.5.3)) '@testing-library/dom': 9.3.4 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 13.5.0(@testing-library/dom@9.3.4) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.6.12(prettier@2.8.8) + storybook: 8.6.12(prettier@3.5.3) '@storybook/test@8.6.12(storybook@8.6.12(prettier@2.8.8))': dependencies: @@ -12760,11 +12897,27 @@ snapshots: '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 storybook: 8.6.12(prettier@2.8.8) + optional: true + + '@storybook/test@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@testing-library/dom': 9.3.4 + '@testing-library/jest-dom': 6.5.0 + '@testing-library/user-event': 13.5.0(@testing-library/dom@9.3.4) + '@vitest/expect': 2.0.5 + '@vitest/spy': 2.0.5 + storybook: 8.6.12(prettier@3.5.3) '@storybook/theming@8.6.12(storybook@8.6.12(prettier@2.8.8))': dependencies: storybook: 8.6.12(prettier@2.8.8) + '@storybook/theming@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + storybook: 8.6.12(prettier@3.5.3) + '@svgr/babel-plugin-add-jsx-attribute@5.4.0': {} '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.3)': @@ -12852,12 +13005,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.3) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.3) - '@svgr/cli@8.0.1(typescript@4.9.5)': + '@svgr/cli@8.0.1(typescript@5.8.3)': dependencies: - '@svgr/core': 8.0.0(typescript@4.9.5) - '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@4.9.5)) - '@svgr/plugin-prettier': 8.0.1(@svgr/core@8.0.0(typescript@4.9.5)) - '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@4.9.5))(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.8.3) + '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@5.8.3)) + '@svgr/plugin-prettier': 8.0.1(@svgr/core@8.0.0(typescript@5.8.3)) + '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@5.8.3))(typescript@5.8.3) camelcase: 6.3.0 chalk: 4.1.2 commander: 9.5.0 @@ -12876,23 +13029,34 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/core@8.0.0(typescript@4.9.5)': + '@svgr/core@8.0.0(typescript@5.8.3)': + dependencies: + '@babel/core': 7.24.3 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.8.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/core@8.0.0(typescript@5.9.0-dev.20250422)': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.9.0-dev.20250422) snake-case: 3.0.4 transitivePeerDependencies: - supports-color - typescript - '@svgr/core@8.1.0(typescript@4.9.5)': + '@svgr/core@8.1.0(typescript@5.8.3)': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.3) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.8.3) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -12916,51 +13080,70 @@ snapshots: transitivePeerDependencies: - supports-color - '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@4.9.5))': + '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@5.8.3))': + dependencies: + '@babel/core': 7.24.3 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) + '@svgr/core': 8.0.0(typescript@5.8.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-jsx@8.0.1(@svgr/core@8.0.0(typescript@5.9.0-dev.20250422))': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.0.0(@babel/core@7.24.3) - '@svgr/core': 8.0.0(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.9.0-dev.20250422) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@4.9.5))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))': dependencies: '@babel/core': 7.24.3 '@svgr/babel-preset': 8.1.0(@babel/core@7.24.3) - '@svgr/core': 8.1.0(typescript@4.9.5) + '@svgr/core': 8.1.0(typescript@5.8.3) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: - supports-color - '@svgr/plugin-prettier@8.0.1(@svgr/core@8.0.0(typescript@4.9.5))': + '@svgr/plugin-prettier@8.0.1(@svgr/core@8.0.0(typescript@5.8.3))': dependencies: - '@svgr/core': 8.0.0(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.8.3) deepmerge: 4.3.1 prettier: 2.8.8 - '@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0(typescript@4.9.5))(typescript@4.9.5)': + '@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0(typescript@5.8.3))(typescript@5.8.3)': dependencies: - '@svgr/core': 8.0.0(typescript@4.9.5) - cosmiconfig: 8.3.6(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.8.3) + cosmiconfig: 8.3.6(typescript@5.8.3) deepmerge: 4.3.1 svgo: 3.0.2 transitivePeerDependencies: - typescript - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@4.9.5))(typescript@4.9.5)': + '@svgr/plugin-svgo@8.0.1(@svgr/core@8.0.0(typescript@5.9.0-dev.20250422))(typescript@5.9.0-dev.20250422)': dependencies: - '@svgr/core': 8.1.0(typescript@4.9.5) - cosmiconfig: 8.3.6(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.9.0-dev.20250422) + cosmiconfig: 8.3.6(typescript@5.9.0-dev.20250422) deepmerge: 4.3.1 svgo: 3.0.2 transitivePeerDependencies: - typescript - '@svgr/rollup@8.1.0(rollup@4.16.1)(typescript@4.9.5)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.8.3) + cosmiconfig: 8.3.6(typescript@5.8.3) + deepmerge: 4.3.1 + svgo: 3.0.2 + transitivePeerDependencies: + - typescript + + '@svgr/rollup@8.1.0(rollup@4.16.1)(typescript@5.8.3)': dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.24.3) @@ -12968,24 +13151,24 @@ snapshots: '@babel/preset-react': 7.24.1(@babel/core@7.24.3) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) '@rollup/pluginutils': 5.0.2(rollup@4.16.1) - '@svgr/core': 8.1.0(typescript@4.9.5) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@4.9.5)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@4.9.5))(typescript@4.9.5) + '@svgr/core': 8.1.0(typescript@5.8.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3) transitivePeerDependencies: - rollup - supports-color - typescript - '@svgr/webpack@8.0.1(typescript@4.9.5)': + '@svgr/webpack@8.0.1(typescript@5.9.0-dev.20250422)': dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.24.3) '@babel/preset-env': 7.24.3(@babel/core@7.24.3) '@babel/preset-react': 7.24.1(@babel/core@7.24.3) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) - '@svgr/core': 8.0.0(typescript@4.9.5) - '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@4.9.5)) - '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@4.9.5))(typescript@4.9.5) + '@svgr/core': 8.0.0(typescript@5.9.0-dev.20250422) + '@svgr/plugin-jsx': 8.0.1(@svgr/core@8.0.0(typescript@5.9.0-dev.20250422)) + '@svgr/plugin-svgo': 8.0.1(@svgr/core@8.0.0(typescript@5.9.0-dev.20250422))(typescript@5.9.0-dev.20250422) transitivePeerDependencies: - supports-color - typescript @@ -13279,6 +13462,10 @@ snapshots: '@types/minimist@1.2.2': {} + '@types/mock-fs@4.13.4': + dependencies: + '@types/node': 20.17.12 + '@types/ms@0.7.31': {} '@types/node-fetch@2.6.12': @@ -13354,34 +13541,34 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.0.4) '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@4.9.5) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) '@typescript-eslint/visitor-keys': 8.17.0 eslint: 9.16.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@4.9.5) + ts-api-utils: 1.4.3(typescript@5.0.4) optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5)': + '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4)': dependencies: '@typescript-eslint/scope-manager': 8.17.0 '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.0.4) '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.4 eslint: 9.16.0 optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color @@ -13395,15 +13582,15 @@ snapshots: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@4.9.5)': + '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.0.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@4.9.5) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.0.4) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) debug: 4.3.4 eslint: 9.16.0 - ts-api-utils: 1.4.3(typescript@4.9.5) + ts-api-utils: 1.4.3(typescript@5.0.4) optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color @@ -13411,7 +13598,7 @@ snapshots: '@typescript-eslint/types@8.17.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.0.4)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -13419,13 +13606,13 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) + tsutils: 3.21.0(typescript@5.0.4) optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.17.0(typescript@4.9.5)': + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.0.4)': dependencies: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 @@ -13434,20 +13621,20 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@4.9.5) + ts-api-utils: 1.4.3(typescript@5.0.4) optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@9.16.0)(typescript@4.9.5)': + '@typescript-eslint/utils@5.62.0(eslint@9.16.0)(typescript@5.0.4)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4) eslint: 9.16.0 eslint-scope: 5.1.1 semver: 7.6.3 @@ -13455,15 +13642,15 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@4.9.5)': + '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.0.4)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) '@typescript-eslint/scope-manager': 8.17.0 '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.0.4) eslint: 9.16.0 optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color @@ -14279,14 +14466,32 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 - cosmiconfig@8.3.6(typescript@4.9.5): + cosmiconfig@8.3.6(typescript@5.0.4): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 4.9.5 + typescript: 5.0.4 + + cosmiconfig@8.3.6(typescript@5.8.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.8.3 + + cosmiconfig@8.3.6(typescript@5.9.0-dev.20250422): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.9.0-dev.20250422 create-ecdh@4.0.4: dependencies: @@ -14678,6 +14883,12 @@ snapshots: dotenv@16.4.7: {} + downlevel-dts@0.11.0: + dependencies: + semver: 7.6.3 + shelljs: 0.8.5 + typescript: 5.9.0-dev.20250422 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -14919,17 +15130,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.0.4) eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -14940,7 +15151,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -14952,19 +15163,19 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.0.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@28.9.0(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)))(typescript@4.9.5): + eslint-plugin-jest@28.9.0(@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)))(typescript@5.0.4): dependencies: - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) eslint: 9.16.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@4.9.5))(eslint@9.16.0)(typescript@4.9.5) - jest: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4) + jest: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) transitivePeerDependencies: - supports-color - typescript @@ -15018,10 +15229,10 @@ snapshots: dependencies: eslint: 9.16.0 - eslint-plugin-storybook@0.11.1(eslint@9.16.0)(typescript@4.9.5): + eslint-plugin-storybook@0.11.1(eslint@9.16.0)(typescript@5.0.4): dependencies: '@storybook/csf': 0.1.12 - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@4.9.5) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) eslint: 9.16.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -15293,7 +15504,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@8.0.0(typescript@4.9.5)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)): + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.9.0-dev.20250422)(webpack@5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2)): dependencies: '@babel/code-frame': 7.24.2 chalk: 4.1.2 @@ -15307,7 +15518,7 @@ snapshots: schema-utils: 3.3.0 semver: 7.6.3 tapable: 2.2.1 - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 webpack: 5.88.0(@swc/core@1.4.2(@swc/helpers@0.5.1))(esbuild@0.24.2) form-data@2.5.1: @@ -15688,6 +15899,8 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.6 + interpret@1.4.0: {} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 @@ -15964,16 +16177,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)): + jest-cli@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)): dependencies: - '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) '@jest/test-result': 29.6.2 '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + jest-config: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) jest-util: 29.7.0 jest-validate: 29.6.2 prompts: 2.4.2 @@ -15985,16 +16198,16 @@ snapshots: - ts-node optional: true - jest-cli@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)): + jest-cli@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)): dependencies: - '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) '@jest/test-result': 29.6.2 '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + jest-config: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) jest-util: 29.7.0 jest-validate: 29.6.2 prompts: 2.4.2 @@ -16005,7 +16218,7 @@ snapshots: - supports-color - ts-node - jest-config@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)): + jest-config@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)): dependencies: '@babel/core': 7.24.3 '@jest/test-sequencer': 29.6.2 @@ -16031,13 +16244,13 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.17.12 - ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4) transitivePeerDependencies: - babel-plugin-macros - supports-color optional: true - jest-config@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)): + jest-config@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)): dependencies: '@babel/core': 7.24.3 '@jest/test-sequencer': 29.6.2 @@ -16063,13 +16276,13 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.4.8 - ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4) transitivePeerDependencies: - babel-plugin-macros - supports-color optional: true - jest-config@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)): + jest-config@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)): dependencies: '@babel/core': 7.24.3 '@jest/test-sequencer': 29.6.2 @@ -16095,7 +16308,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.4.8 - ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5) + ts-node: 10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16350,12 +16563,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)): + jest@29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)): dependencies: - '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5)) + jest-cli: 29.6.2(@types/node@20.17.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16363,12 +16576,12 @@ snapshots: - ts-node optional: true - jest@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)): + jest@29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)): dependencies: - '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + '@jest/core': 29.6.2(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5)) + jest-cli: 29.6.2(@types/node@20.4.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -17215,6 +17428,8 @@ snapshots: mkdirp@1.0.4: {} + mock-fs@5.5.0: {} + mockdate@3.0.5: {} moo-color@1.0.3: @@ -17335,16 +17550,39 @@ snapshots: normalize-path@3.0.0: {} - npm-package-json-lint-config-default@7.0.1(npm-package-json-lint@8.0.0(typescript@4.9.5)): + npm-package-json-lint-config-default@7.0.1(npm-package-json-lint@8.0.0(typescript@5.0.4)): dependencies: - npm-package-json-lint: 8.0.0(typescript@4.9.5) + npm-package-json-lint: 8.0.0(typescript@5.0.4) - npm-package-json-lint@8.0.0(typescript@4.9.5): + npm-package-json-lint@8.0.0(typescript@5.0.4): dependencies: ajv: 6.12.6 ajv-errors: 1.0.1(ajv@6.12.6) chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.0.4) + debug: 4.3.4 + globby: 11.1.0 + ignore: 5.3.2 + is-plain-obj: 3.0.0 + jsonc-parser: 3.3.1 + log-symbols: 4.1.0 + meow: 9.0.0 + plur: 4.0.0 + semver: 7.6.3 + slash: 3.0.0 + strip-json-comments: 3.1.1 + type-fest: 4.30.0 + validate-npm-package-name: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + + npm-package-json-lint@8.0.0(typescript@5.8.3): + dependencies: + ajv: 6.12.6 + ajv-errors: 1.0.1(ajv@6.12.6) + chalk: 4.1.2 + cosmiconfig: 8.3.6(typescript@5.8.3) debug: 4.3.4 globby: 11.1.0 ignore: 5.3.2 @@ -17706,6 +17944,8 @@ snapshots: prettier@2.8.8: {} + prettier@3.5.3: {} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 @@ -17787,9 +18027,13 @@ snapshots: range-parser@1.2.1: {} - react-docgen-typescript@2.2.2(typescript@4.9.5): + react-docgen-typescript@2.2.2(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + react-docgen-typescript@2.2.2(typescript@5.9.0-dev.20250422): dependencies: - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 react-docgen@7.0.3: dependencies: @@ -17979,6 +18223,10 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.6.2 + rechoir@0.6.2: + dependencies: + resolve: 1.22.10 + redent@3.0.0: dependencies: indent-string: 4.0.0 @@ -18300,6 +18548,12 @@ snapshots: shell-quote@1.8.1: {} + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -18408,14 +18662,14 @@ snapshots: dependencies: internal-slot: 1.0.7 - storybook-dark-mode@4.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@2.8.8)): + storybook-dark-mode@4.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.12(prettier@3.5.3)): dependencies: - '@storybook/components': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/core-events': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/components': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/core-events': 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@storybook/manager-api': 8.6.12(storybook@8.6.12(prettier@2.8.8)) - '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@2.8.8)) + '@storybook/manager-api': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/theming': 8.6.12(storybook@8.6.12(prettier@3.5.3)) fast-deep-equal: 3.1.3 memoizerific: 1.11.3 transitivePeerDependencies: @@ -18433,6 +18687,16 @@ snapshots: - supports-color - utf-8-validate + storybook@8.6.12(prettier@3.5.3): + dependencies: + '@storybook/core': 8.6.12(prettier@3.5.3)(storybook@8.6.12(prettier@3.5.3)) + optionalDependencies: + prettier: 3.5.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -18701,13 +18965,54 @@ snapshots: trough@2.1.0: {} - ts-api-utils@1.4.3(typescript@4.9.5): + ts-api-utils@1.4.3(typescript@5.0.4): dependencies: - typescript: 4.9.5 + typescript: 5.0.4 ts-dedent@2.2.0: {} - ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@4.9.5): + ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.0.4): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.12 + acorn: 8.14.0 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.0.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.4.2(@swc/helpers@0.5.1) + optional: true + + ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.8.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.12 + acorn: 8.14.0 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.8.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.4.2(@swc/helpers@0.5.1) + + ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.17.12)(typescript@5.9.0-dev.20250422): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -18721,13 +19026,13 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: '@swc/core': 1.4.2(@swc/helpers@0.5.1) - ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@4.9.5): + ts-node@10.9.2(@swc/core@1.4.2(@swc/helpers@0.5.1))(@types/node@20.4.8)(typescript@5.9.0-dev.20250422): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -18741,7 +19046,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.9.0-dev.20250422 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: @@ -18767,10 +19072,10 @@ snapshots: tslib@2.6.2: {} - tsutils@3.21.0(typescript@4.9.5): + tsutils@3.21.0(typescript@5.0.4): dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.4 tty-browserify@0.0.1: {} @@ -18866,7 +19171,11 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.7 - typescript@4.9.5: {} + typescript@5.0.4: {} + + typescript@5.8.3: {} + + typescript@5.9.0-dev.20250422: {} unbox-primitive@1.0.2: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4951654c3a..f3dd7b7ed6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,4 +3,5 @@ packages: - 'charts/*' - 'chat/*' - 'packages/*' - - 'tools/*' \ No newline at end of file + - 'tools/*' + - 'scripts' diff --git a/scripts/package.json b/scripts/package.json new file mode 100644 index 0000000000..db580a0db5 --- /dev/null +++ b/scripts/package.json @@ -0,0 +1,13 @@ +{ + "name": "lg-scripts", + "description": "Defines dependencies for LeafyGreen scripts, so they don't need to be installed at the root level.", + "version": "0.0.0", + "keywords": [], + "author": "", + "license": "Apache-2.0", + "dependencies": { + "@lg-tools/meta": "workspace:*", + "chalk": "^4.1.2", + "prettier": "^3.5.3" + } +} diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 8b474f56ce..87becf0a5a 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/root.tsconfig.json", + "extends": "@lg-tools/build/config/script.tsconfig.json", "compilerOptions": { "noUnusedLocals": false, "strict": true, diff --git a/scripts/update-readme.ts b/scripts/update-readme.ts index f0a8d75730..0de29e97b3 100644 --- a/scripts/update-readme.ts +++ b/scripts/update-readme.ts @@ -1,7 +1,6 @@ import { getAllPackageNames, getLGConfig } from '@lg-tools/meta'; import fs from 'fs'; import path from 'path'; -// @ts-expect-error - no prettier types import * as prettier from 'prettier'; updateReadme(); diff --git a/tools/build/README.md b/tools/build/README.md index dff392023e..699b07fdc8 100644 --- a/tools/build/README.md +++ b/tools/build/README.md @@ -30,6 +30,6 @@ For a package that cli depends on, define the following scripts in its `package. ```json "scripts": { "build": "lg-internal-build-package", - "tsc": "tsc --build tsconfig.json" + "tsc": "lg-internal-build-ts" } ``` diff --git a/tools/build/bin/build-ts.sh b/tools/build/bin/build-ts.sh new file mode 100755 index 0000000000..0ec1d20a47 --- /dev/null +++ b/tools/build/bin/build-ts.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Build TypeScript files using the TypeScript CLI directly. +# We build this from a .sh script, since `tsc` doesn't take the same flags as our +# build-ts command. As a result, when trying to build with our custom flags, running this command directly will fail. +tsc --build tsconfig.json +exit 0 \ No newline at end of file diff --git a/tools/build/bin/ts-downlevel.js b/tools/build/bin/ts-downlevel.js new file mode 100755 index 0000000000..35b3f7cef8 --- /dev/null +++ b/tools/build/bin/ts-downlevel.js @@ -0,0 +1,5 @@ +#! /usr/bin/env node +const { runTypescriptDownlevel } = require('../dist/index.js'); +const args = process.argv.slice(2); +const verbose = args.includes('--verbose') || args.includes('-v'); +runTypescriptDownlevel({ verbose }); diff --git a/tools/build/config/node.tsconfig.json b/tools/build/config/node.tsconfig.json new file mode 100644 index 0000000000..86a2d11196 --- /dev/null +++ b/tools/build/config/node.tsconfig.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./package.tsconfig.json", + "compilerOptions": { + "resolveJsonModule": true, + "lib": ["ES2020"] + } +} diff --git a/tools/build/config/package.tsconfig.json b/tools/build/config/package.tsconfig.json index 3c69443fe2..143abf8ddc 100644 --- a/tools/build/config/package.tsconfig.json +++ b/tools/build/config/package.tsconfig.json @@ -1,22 +1,22 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "module": "esnext", + "module": "ESNext", "moduleResolution": "node", + "target": "ES2017", + "jsx": "react", + "incremental": true, + "composite": true, "declaration": true, "declarationMap": true, "emitDeclarationOnly": true, - "importHelpers": false, - "composite": true, - "target": "ES2017", - "jsx": "react", - "allowJs": false, - "pretty": true, - "strictNullChecks": true, - "noUnusedLocals": true, "esModuleInterop": true, - "strict": true, "allowSyntheticDefaultImports": true, + "importHelpers": false, + "allowJs": true, + "strict": true, + "strictNullChecks": true, + "pretty": true, "skipLibCheck": true } } diff --git a/tools/build/config/root.tsconfig.json b/tools/build/config/script.tsconfig.json similarity index 52% rename from tools/build/config/root.tsconfig.json rename to tools/build/config/script.tsconfig.json index 679381ebe5..ab15f461b6 100644 --- a/tools/build/config/root.tsconfig.json +++ b/tools/build/config/script.tsconfig.json @@ -1,20 +1,22 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { - "module": "CommonJS", - "moduleResolution": "node", - "target": "ES6", - "jsx": "react", - "incremental": true, + "module": "NodeNext", + "moduleResolution": "nodenext", + "target": "ESNext", + "incremental": false, + "composite": false, + "declaration": false, + "declarationMap": false, "noEmit": true, "emitDeclarationOnly": false, - "allowJs": true, - "pretty": true, - "strictNullChecks": true, - "noUnusedLocals": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, + "allowJs": true, + "strict": true, "resolveJsonModule": true, - "skipLibCheck": true + "pretty": true, + "skipLibCheck": true, + "lib": ["ESNext"] } } diff --git a/tools/build/package.json b/tools/build/package.json index 67f605db15..9905b89f36 100644 --- a/tools/build/package.json +++ b/tools/build/package.json @@ -7,13 +7,15 @@ "access": "public" }, "bin": { - "lg-internal-build-package": "./bin/build-package.js" + "lg-internal-build-package": "./bin/build-package.js", + "lg-ts-downlevel": "./bin/ts-downlevel.js" }, "main": "dist/index.js", "module": "dist/esm/index.js", "scripts": { "build": "rollup -c ./config/rollup.config.mjs", - "tsc": "tsc --build tsconfig.json" + "tsc": "tsc --build tsconfig.json", + "update-types-versions": "ts-node ./scripts/updateTypesVersions.ts" }, "dependencies": { "@babel/core": "7.24.3", @@ -35,6 +37,7 @@ "@types/fs-extra": "11.0.1", "chalk": "4.1.2", "cross-spawn": "7.0.3", + "downlevel-dts": "^0.11.0", "fs-extra": "11.1.1", "glob": "10.3.12", "lodash": "4.17.21", @@ -42,11 +45,16 @@ "rollup": "4.16.1", "rollup-plugin-bundle-stats": "^4.18.2", "rollup-plugin-node-externals": "7.1.1", - "rollup-plugin-polyfill-node": "0.13.0" + "rollup-plugin-polyfill-node": "0.13.0", + "typescript": "~5.8.0" }, "peerDependencies": { "@babel/core": "7.24.0", "turbo": "^2.0.6", - "typescript": "~4.9.0" + "typescript": "~5.8.0" + }, + "devDependencies": { + "@types/mock-fs": "^4.13.4", + "mock-fs": "^5.5.0" } } diff --git a/tools/build/scripts/build-ts.sh b/tools/build/scripts/build-ts.sh new file mode 100755 index 0000000000..f9fc590656 --- /dev/null +++ b/tools/build/scripts/build-ts.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# lg-build can't use itself as a dependency in the build process +tsc --build tsconfig.json +exit 0 \ No newline at end of file diff --git a/tools/build/scripts/build.sh b/tools/build/scripts/build.sh new file mode 100755 index 0000000000..ef032b8f35 --- /dev/null +++ b/tools/build/scripts/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# lg-build can't use itself as a dependency in the build process +rollup -c ./config/rollup.config.mjs +exit 0 diff --git a/tools/build/scripts/tsconfig.json b/tools/build/scripts/tsconfig.json new file mode 100644 index 0000000000..cfac9cffbf --- /dev/null +++ b/tools/build/scripts/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../config/script.tsconfig.json", + "compilerOptions": { + "noUnusedLocals": false, + "strict": true, + "baseUrl": ".", + } +} diff --git a/tools/build/src/index.ts b/tools/build/src/index.ts index f605f948cc..08537b9fd6 100644 --- a/tools/build/src/index.ts +++ b/tools/build/src/index.ts @@ -4,6 +4,7 @@ export { buildPackage } from './rollup/build-package'; export { buildTSDoc } from './tsdoc/build-tsdoc'; export { parseTSDoc } from './tsdoc/tsdocParser'; export { buildTypescript } from './typescript/build-ts'; +export { runTypescriptDownlevel } from './typescript/downlevel'; interface BuildOptions { only: Array; diff --git a/tools/build/src/rollup/build-package.ts b/tools/build/src/rollup/build-package.ts index c0664ab048..71e08a282f 100644 --- a/tools/build/src/rollup/build-package.ts +++ b/tools/build/src/rollup/build-package.ts @@ -4,9 +4,9 @@ import rollup, { type MergedRollupOptions } from 'rollup'; import { type BatchWarnings, type LoadConfigFile, -} from 'rollup/dist/loadConfigFile'; -// @ts-expect-error - type declaration incorrectly defined -import { loadConfigFile as _loadConfigFile } from 'rollup/loadConfigFile'; + loadConfigFile as _loadConfigFile, + // @ts-expect-error - types not declared correctly in rollup +} from 'rollup/loadConfigFile'; import { findRollupConfigFile } from './findRollupConfigFile'; @@ -35,7 +35,7 @@ export function buildPackage({ direct, verbose }: BuildPackageOptions) { if (direct && scopeName !== 'tools') { console.warn( - 'Building package using the `lg-build-package` command directly from `@lg-tools/build`.', + `Building package @${scopeName}/${packageName} using the \`lg-internal-build-package\` command directly from \`@lg-tools/build\`.`, 'Consider using the global `lg build-package` command from `@lg-tools/cli` instead.', ); } diff --git a/tools/build/src/typescript/build-ts.spec.ts b/tools/build/src/typescript/build-ts.spec.ts index 44b9e7ed18..a5f8374e7a 100644 --- a/tools/build/src/typescript/build-ts.spec.ts +++ b/tools/build/src/typescript/build-ts.spec.ts @@ -1,24 +1,102 @@ -import xSpawn from 'cross-spawn'; +import mockFs from 'mock-fs'; import { buildTypescript } from './build-ts'; -type SpawnType = ReturnType; -const onCb = (_e: string) => {}; +import { runTypescriptDownlevel } from './downlevel'; -const spawnSpy = jest.spyOn(xSpawn, 'spawn'); -spawnSpy.mockImplementation( - (..._args) => ({ on: onCb } as unknown as SpawnType), -); +// Only mock the downlevel function +jest.mock('./downlevel'); + +// Mock process.exit to prevent tests from actually exiting +const originalExit = process.exit; +let mockExit: jest.Mock; + +describe('buildTypescript', () => { + let consoleLogSpy: jest.SpyInstance; + let consoleErrorSpy: jest.SpyInstance; + let originalCwd: () => string; + + beforeAll(() => { + // Save original process.exit and cwd + originalCwd = process.cwd; + mockExit = jest.fn(); + process.exit = mockExit as any; + }); + + afterAll(() => { + // Restore process.exit and cwd + process.exit = originalExit; + process.cwd = originalCwd; + }); + + beforeEach(() => { + jest.clearAllMocks(); + + // Mock console methods for output verification + consoleLogSpy = jest.spyOn(console, 'log').mockImplementation(() => {}); + consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {}); + + // Set up base mock filesystem for all tests + mockFs({ + '/test-project': { + 'package.json': '{"name": "test-project"}', + 'tsconfig.json': '{"compilerOptions": {}}', + src: { + 'index.ts': 'console.log("Hello world");', + }, + }, + }); + + // Set cwd to our test directory + jest.spyOn(process, 'cwd').mockReturnValue('/test-project'); + }); + + afterEach(() => { + consoleLogSpy.mockRestore(); + consoleErrorSpy.mockRestore(); + mockFs.restore(); + }); + + test('should run downlevel when option is provided', () => { + buildTypescript([], { downlevel: true }); + expect(runTypescriptDownlevel).toHaveBeenCalled(); + }); + + test('should not run downlevel when option is not provided', () => { + buildTypescript(); + expect(runTypescriptDownlevel).not.toHaveBeenCalled(); + }); + + test('should log verbose information when enabled', () => { + buildTypescript([], { verbose: true }); + expect(consoleLogSpy).toHaveBeenCalledWith( + expect.stringContaining('Building TypeScript'), + ); + }); + + test('should find tsconfig.json in the current directory', () => { + buildTypescript(); + expect(consoleErrorSpy).not.toHaveBeenCalledWith( + expect.stringContaining('Could not find tsconfig'), + ); + }); + + test('should exit with error when tsconfig.json is not found', () => { + // Remove tsconfig.json from mock filesystem + mockFs.restore(); + mockFs({ + '/test-project': { + 'package.json': '{"name": "test-project"}', + src: { + 'index.ts': 'console.log("Hello world");', + }, + }, + }); -describe('tools/build/build-ts', () => { - test('runs with no options', () => { buildTypescript(); - expect(spawnSpy).toHaveBeenCalledWith( - 'tsc', - expect.arrayContaining(['--build']), - expect.objectContaining({ - stdio: 'inherit', - }), + expect(consoleErrorSpy).toHaveBeenCalledWith( + expect.stringContaining('Could not find tsconfig'), ); + expect(mockExit).toHaveBeenCalledWith(1); }); }); diff --git a/tools/build/src/typescript/build-ts.ts b/tools/build/src/typescript/build-ts.ts index 0ff14e8ac7..ed8ca506ac 100644 --- a/tools/build/src/typescript/build-ts.ts +++ b/tools/build/src/typescript/build-ts.ts @@ -1,15 +1,29 @@ /* eslint-disable no-console */ import chalk from 'chalk'; -import { spawn } from 'cross-spawn'; import fse from 'fs-extra'; import path from 'path'; +import ts from 'typescript'; + +import { runTypescriptDownlevel } from './downlevel'; +import { makeTypescriptDiagnosticReporter } from './makeTypescriptDiagnosticReporter'; +import { parsePassThruOptions } from './parsePassThruOptions'; + +interface BuildTypescriptOptions { + /** Whether to print verbose output*/ + verbose?: boolean; + + /** + * Builds all TS downlevel targets based on the typesVersions field in package.json + */ + downlevel?: boolean; +} /** * Builds Typescript definitions for the current directory */ export function buildTypescript( passThru?: Array, - options?: Record, + options?: BuildTypescriptOptions, ) { const { verbose } = options ?? { verbose: false }; const packageDir = process.cwd(); @@ -20,13 +34,39 @@ export function buildTypescript( process.exit(1); } + verbose && + console.log(chalk.blue.bold(`Building TypeScript (v${ts.version})`)); verbose && console.log(chalk.blue('Building TypeScript')); verbose && console.log(chalk.gray(tsConfigPath)); - spawn('tsc', ['--build', tsConfigPath, ...(passThru ?? [''])], { - cwd: packageDir, - stdio: 'inherit', - }).on('exit', code => { - process.exit(code ?? undefined); + // Any additional options passed in via the CLI + const cliCompilerOptions = parsePassThruOptions(passThru); + const reportTypescriptDiagnostic = makeTypescriptDiagnosticReporter(verbose); + + // Create a Solution Builder Host to properly handle --build functionality + const buildHost = ts.createSolutionBuilderHost( + ts.sys, // system + ts.createEmitAndSemanticDiagnosticsBuilderProgram, // createProgram + reportTypescriptDiagnostic, // reportDiagnostic + reportTypescriptDiagnostic, // reportSolutionBuilderStatus + verbose ? message => console.log(chalk.gray(message)) : undefined, // reportErrorSummary + ); + + // Create a Solution Builder (equivalent to tsc --build) + const builder = ts.createSolutionBuilder(buildHost, [tsConfigPath], { + ...cliCompilerOptions, + verbose: verbose, }); + + // Build the project + const exitStatus = builder.build(); + + if (options?.downlevel) { + runTypescriptDownlevel({ + verbose, + }); + } + + // Exit with appropriate code + process.exit(exitStatus); } diff --git a/tools/build/src/typescript/downlevel/TYPES_VERSIONS.ts b/tools/build/src/typescript/downlevel/TYPES_VERSIONS.ts new file mode 100644 index 0000000000..a473e4dd94 --- /dev/null +++ b/tools/build/src/typescript/downlevel/TYPES_VERSIONS.ts @@ -0,0 +1,34 @@ +interface DownlevelVersion { + /** If the consuming application's TS version satisfies the condition... */ + condition: `${'<' | '>' | ''}${number}.${number}`; + /** ...we should use this version of the package */ + target: `${number}.${number}`; +} + +// TS Downlevel mapping +export const DOWNLEVEL_VERSIONS = [ + { + condition: '<4.8', + target: '4.0', + }, + { + condition: '<5.0', + target: '4.9', + }, +] as const satisfies Readonly>; + +// Packages to exclude from typesVersions updates +// These packages are CLI-only, and don't need to be down-leveled +export const EXCLUDED_PACKAGES = [ + 'lg-scripts', + '@lg-tools/build', + '@lg-tools/cli', + '@lg-tools/create', + '@lg-tools/install', + '@lg-tools/link', + '@lg-tools/slackbot', + '@lg-tools/build', + '@lg-tools/test', + '@lg-tools/update', + '@lg-tools/validate', +]; diff --git a/tools/build/src/typescript/downlevel/downlevel-dts.ts b/tools/build/src/typescript/downlevel/downlevel-dts.ts new file mode 100644 index 0000000000..c10b796ecb --- /dev/null +++ b/tools/build/src/typescript/downlevel/downlevel-dts.ts @@ -0,0 +1,70 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +// @ts-ignore - ironically, this package doesn't have types +import { main as downlevel } from 'downlevel-dts'; +import fse from 'fs-extra'; +import path from 'path'; + +interface DownlevelDtsOptions { + /** Whether to print verbose output */ + verbose?: boolean; + + /** Target TypeScript version for output */ + target?: `${number}.${number}`; + + /** Directory to output downleveled declaration files */ + outDir?: string; +} + +/** + * Runs downlevel-dts to create backward compatible TypeScript declaration files + * + * This function is called from the command line as `lg build-ts --downlevel` + * + * @param options Configuration options + */ +export async function downlevelDts( + options?: DownlevelDtsOptions, +): Promise { + const { verbose, target, outDir } = options ?? {}; + const packageDir = process.cwd(); + + // Default to types directory if not specified + const typesDirPath = path.resolve(packageDir, 'dist'); + + // Default output directory + const defaultOutDir = `ts${target}`; + const outputDirPath = path.resolve( + packageDir, + `dist/${outDir ?? defaultOutDir}`, + ); + + // Ensure types directory exists + if (!fse.existsSync(typesDirPath)) { + console.error(chalk.red(`Types directory not found: ${typesDirPath}`)); + return; + } + + console.log( + chalk.blue.bold(`Downlevelling TypeScript declarations to TS${target}`), + ); + verbose && console.log(chalk.gray(`Input: ${typesDirPath}`)); + verbose && console.log(chalk.gray(`Output: ${outputDirPath}`)); + + try { + const semverTarget = target + '.0'; + downlevel(typesDirPath, outputDirPath, semverTarget); + + verbose && + console.log( + chalk.green( + `Successfully created downleveled declarations in ${outputDirPath}`, + ), + ); + } catch (error: any) { + console.error( + chalk.red(`Error downleveling declarations: ${error.message}`), + ); + process.exit(1); + } +} diff --git a/tools/build/src/typescript/downlevel/index.ts b/tools/build/src/typescript/downlevel/index.ts new file mode 100644 index 0000000000..4c5773c616 --- /dev/null +++ b/tools/build/src/typescript/downlevel/index.ts @@ -0,0 +1,59 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import fse from 'fs-extra'; +import path from 'path'; + +import { downlevelDts } from './downlevel-dts'; +import { DOWNLEVEL_VERSIONS, EXCLUDED_PACKAGES } from './TYPES_VERSIONS'; +import { updatePackageJsonTypes } from './updatePackageJsonTypes'; + +interface DownlevelCommandOptions { + verbose?: boolean; + update?: boolean; +} + +/** + * Downlevel TypeScript definitions + * based on the typesVersions field in package.json. + * + * @param options.verbose - Enable verbose logging + * @param options.update - When true, updates the package.json typesVersions and exports fields + */ +export function runTypescriptDownlevel({ + verbose, + update = false, +}: DownlevelCommandOptions) { + const packageDir = process.cwd(); + console.log('\nRunning TypeScript downlevel...', packageDir); + + const packageJsonPath = path.join(packageDir, 'package.json'); + const packageJsonContent = fse.readFileSync(packageJsonPath, 'utf8'); + const packageJson = JSON.parse(packageJsonContent); + const { name: packageName } = packageJson; + + // Skip excluded packages + if (EXCLUDED_PACKAGES.includes(packageName)) { + console.log(chalk.gray(`\tSkipping excluded package: ${packageName}`)); + return; + } + + if (DOWNLEVEL_VERSIONS && DOWNLEVEL_VERSIONS?.length > 0) { + // Only update typesVersions and exports in package.json when flag is true + if (update) { + console.log( + chalk.blue('Updating package.json typesVersions and exports fields...'), + ); + updatePackageJsonTypes(packageDir, { verbose }); + } + + // Then generate downlevelled TypeScript declaration files + DOWNLEVEL_VERSIONS.forEach(({ target }) => { + downlevelDts({ verbose, target }); + }); + } else { + verbose && + console.log(chalk.yellow('No downlevel versions configured'), { + DOWNLEVEL_VERSIONS, + }); + } +} diff --git a/tools/build/src/typescript/downlevel/updatePackageJsonTypes.ts b/tools/build/src/typescript/downlevel/updatePackageJsonTypes.ts new file mode 100644 index 0000000000..a65052deb7 --- /dev/null +++ b/tools/build/src/typescript/downlevel/updatePackageJsonTypes.ts @@ -0,0 +1,131 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import fs from 'fs'; +import path from 'path'; + +import { DOWNLEVEL_VERSIONS, EXCLUDED_PACKAGES } from './TYPES_VERSIONS'; + +/** + * Updates the `typesVersions` and `exports` fields in a package's package.json file + * based on the TypeScript downlevel versions we support. + * + * For TS targets < 4.9, it adds a `typesVersions` field with the downlevelled + * TypeScript declaration files. + * For TS targets >= 4.9, it adds an `exports` field with the types condition. + * + * e.g. + * ```json + * { + * "typesVersions": { + * "*": { + * ".": ["./index.d.ts"] + * }, + * "<4.8": { + * ".": ["./ts4.0/index.d.ts"] + * } + * }, + * "exports": { + * ".": { + * "import": "./index.d.ts", + * "require": "./index.d.ts", + * "types<4.8": "./ts4.0/index.d.ts", + * "types<5.0": "./ts4.9/index.d.ts" + * } + * } + * } + * ``` + */ +export function updatePackageJsonTypes( + packageDir: string = process.cwd(), + { verbose }: { verbose?: boolean } = {}, +) { + try { + const packageJsonPath = path.join(packageDir, 'package.json'); + + // Check if package.json exists + if (!fs.existsSync(packageJsonPath)) { + console.log(chalk.yellow(`No package.json found in ${packageDir}`)); + return; + } + + // Read the package.json file + const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8'); + const packageJson = JSON.parse(packageJsonContent); + + const { name: packageName } = packageJson; + + // Skip excluded packages + if (EXCLUDED_PACKAGES.includes(packageName)) { + verbose && + console.log(chalk.gray(`\tSkipping excluded package: ${packageName}`)); + return; + } + + // Construct the base typesVersions field + const typesVersions: Record>> = { + '*': { + '.': ['./index.d.ts'], + }, + }; + + // Construct the exports field with types conditions + let exportsField = packageJson.exports || { '.': {} }; + + // If exports field is a string, convert it to an object + if (typeof exportsField === 'string') { + exportsField = { '.': exportsField }; + } + + // Ensure the main export path exists + if (!exportsField['.']) { + exportsField['.'] = {}; + } else if (typeof exportsField['.'] === 'string') { + // If the main export is a string, convert it to an object + const mainExport = exportsField['.']; + exportsField['.'] = { + import: mainExport, + require: mainExport, + }; + } + + // set the default types export + if (!exportsField['.'].types) { + exportsField['.'].types = './index.d.ts'; + } + + // Add entries for each TypeScript version we support + DOWNLEVEL_VERSIONS.forEach(({ condition, target }) => { + // Add to typesVersions if target is less than 4.9 + // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-9.html#exports-is-prioritized-over-typesversions + if (parseFloat(target) < 4.9) { + typesVersions[condition] = { + '.': [`./ts${target}/index.d.ts`], + }; + } + + // Add to exports field with types condition + if (typeof exportsField['.'] === 'object') { + exportsField['.'][`types${condition}`] = `./ts${target}/index.d.ts`; + } + }); + + // Update package.json + packageJson.typesVersions = typesVersions; + + // TODO: Add this once the multiple exports PR is merged + // packageJson.exports = exportsField; + + // Write the updated package.json + fs.writeFileSync( + packageJsonPath, + JSON.stringify(packageJson, null, 2) + '\n', + ); + + console.log( + verbose && + chalk.green.bold(`Updated typesVersions and exports in ${packageName}`), + ); + } catch (error) { + console.error(chalk.red('Error updating typesVersions:'), error); + } +} diff --git a/tools/build/src/typescript/makeTypescriptDiagnosticReporter.ts b/tools/build/src/typescript/makeTypescriptDiagnosticReporter.ts new file mode 100644 index 0000000000..aa8771cad5 --- /dev/null +++ b/tools/build/src/typescript/makeTypescriptDiagnosticReporter.ts @@ -0,0 +1,39 @@ +/* eslint-disable no-console */ +import chalk from 'chalk'; +import ts from 'typescript'; +/** + * Helper function to report diagnostic messages + */ + +export function makeTypescriptDiagnosticReporter(verbose?: boolean) { + return function reportTypescriptDiagnostic(diagnostic: ts.Diagnostic): void { + const msg = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); + + const isError = diagnostic.category === ts.DiagnosticCategory.Error; + const isWarning = diagnostic.category === ts.DiagnosticCategory.Warning; + + // Only show non-errors in verbose + if (!verbose && !(isError || isWarning)) { + return; + } + + let message = msg; + + if (diagnostic.file && diagnostic.start !== undefined) { + const { line, character } = diagnostic.file.getLineAndCharacterOfPosition( + diagnostic.start, + ); + const l = line + 1; + const c = character + 1; + message = `${diagnostic.file.fileName} (${l},${c}): ${msg}`; + } + + const msgColor = isError + ? chalk.red + : isWarning + ? chalk.yellow + : chalk.gray; + + console.log(msgColor(message)); + }; +} diff --git a/tools/build/src/typescript/parsePassThruOptions.ts b/tools/build/src/typescript/parsePassThruOptions.ts new file mode 100644 index 0000000000..056cd6effa --- /dev/null +++ b/tools/build/src/typescript/parsePassThruOptions.ts @@ -0,0 +1,20 @@ +/** + * Parses cli arguments passed to the build command + * into an object that can be used in the build process + */ +export function parsePassThruOptions( + passThru?: Array, +): Record | undefined { + return passThru?.reduce((acc, arg) => { + const [_key, value] = arg.split('='); + const key = _key.replace(/^-+/, ''); + + if (value) { + acc[key] = value; + } else { + acc[key] = true; + } + + return acc; + }, {} as Record); +} diff --git a/tools/build/tsconfig.json b/tools/build/tsconfig.json index 5eec8d81f7..36ac1f48de 100644 --- a/tools/build/tsconfig.json +++ b/tools/build/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "./config/package.tsconfig.json", + "extends": "./config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/cli/src/index.ts b/tools/cli/src/index.ts index a863c6ca6d..5aef3fa515 100644 --- a/tools/cli/src/index.ts +++ b/tools/cli/src/index.ts @@ -232,8 +232,12 @@ cli .command('build-ts') .description("Builds a package's TypeScript definitions") .argument('[pass-through...]', 'Pass-through options for `tsc`') - .passThroughOptions(true) // allows passing flags to the `tsc` CLI .option('-v --verbose', 'Prints additional information to the console', false) + .option( + '--downlevel', + 'Builds all TS downlevel targets based on the typesVersions field in package.json', + false, + ) .allowUnknownOption(true) .action(buildTypescript); cli diff --git a/tools/cli/tsconfig.json b/tools/cli/tsconfig.json index 7a5936bebb..e48ee335ce 100644 --- a/tools/cli/tsconfig.json +++ b/tools/cli/tsconfig.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/codemods/package.json b/tools/codemods/package.json index 4ffe089e86..d3fbe6767a 100644 --- a/tools/codemods/package.json +++ b/tools/codemods/package.json @@ -34,5 +34,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/tools/codemods/tsconfig.json b/tools/codemods/tsconfig.json index 8355aef68a..9241b199cb 100644 --- a/tools/codemods/tsconfig.json +++ b/tools/codemods/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/create/tsconfig.json b/tools/create/tsconfig.json index 8aa47f44f2..26e7d3c9f4 100644 --- a/tools/create/tsconfig.json +++ b/tools/create/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/install/scripts/tsconfig.json b/tools/install/scripts/tsconfig.json index b2cb3a1768..1c195bbc16 100644 --- a/tools/install/scripts/tsconfig.json +++ b/tools/install/scripts/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/root.tsconfig.json", + "extends": "@lg-tools/build/config/script.tsconfig.json", "compilerOptions": { "strict": true, "baseUrl": ".", diff --git a/tools/install/tsconfig.json b/tools/install/tsconfig.json index 4e2c6dd331..2863411147 100644 --- a/tools/install/tsconfig.json +++ b/tools/install/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/link/tsconfig.json b/tools/link/tsconfig.json index df524d7435..5eec0fcfa1 100644 --- a/tools/link/tsconfig.json +++ b/tools/link/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/lint/package.json b/tools/lint/package.json index 7e5638a0fb..fde6f7d2f4 100644 --- a/tools/lint/package.json +++ b/tools/lint/package.json @@ -43,6 +43,7 @@ "prettier": "2.8.8" }, "peerDependencies": { - "typescript": "~4.9.0" - } + "typescript": "~5.0.0" + }, + "typesVersions": {} } diff --git a/tools/lint/src/config.ts b/tools/lint/src/config.ts index a0a595b112..0cc587d750 100644 --- a/tools/lint/src/config.ts +++ b/tools/lint/src/config.ts @@ -15,10 +15,11 @@ export const esLintExtensions = ['ts', 'tsx']; // Create an instance of ESLint with the configuration passed to the function export function createESLintInstance(options: Partial): ESLint { - return new ESLint({ + const eslint = new ESLint({ overrideConfigFile: eslintConfigPath, ...options, }); + return eslint; } /******************* diff --git a/tools/lint/tsconfig.json b/tools/lint/tsconfig.json index 138b1ff296..2d8c266657 100644 --- a/tools/lint/tsconfig.json +++ b/tools/lint/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/meta/package.json b/tools/meta/package.json index 5da58c9ddb..3b58998f3d 100644 --- a/tools/meta/package.json +++ b/tools/meta/package.json @@ -20,5 +20,6 @@ "cross-spawn": "7.0.3", "fs-extra": "11.1.1", "lodash": "4.17.21" - } + }, + "typesVersions": {} } diff --git a/tools/meta/tsconfig.json b/tools/meta/tsconfig.json index 5cf2118d39..3f4d88e47a 100644 --- a/tools/meta/tsconfig.json +++ b/tools/meta/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/slackbot/tsconfig.json b/tools/slackbot/tsconfig.json index 56246f186f..d28416e26f 100644 --- a/tools/slackbot/tsconfig.json +++ b/tools/slackbot/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/storybook-addon/package.json b/tools/storybook-addon/package.json index cf97c1c67b..c7d5019f61 100644 --- a/tools/storybook-addon/package.json +++ b/tools/storybook-addon/package.json @@ -74,5 +74,6 @@ "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0", "storybook": "^8.6.0" - } + }, + "typesVersions": {} } diff --git a/tools/storybook-addon/tsconfig.json b/tools/storybook-addon/tsconfig.json index 9bd3637ea3..4819377ef9 100644 --- a/tools/storybook-addon/tsconfig.json +++ b/tools/storybook-addon/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/storybook-decorators/package.json b/tools/storybook-decorators/package.json index 5133e39223..bdc1b22621 100644 --- a/tools/storybook-decorators/package.json +++ b/tools/storybook-decorators/package.json @@ -26,5 +26,6 @@ }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "workspace:^" - } + }, + "typesVersions": {} } diff --git a/tools/storybook-decorators/src/decorators/PropCombinations/utils/valStr.ts b/tools/storybook-decorators/src/decorators/PropCombinations/utils/valStr.ts index c1d81815bd..458efe2923 100644 --- a/tools/storybook-decorators/src/decorators/PropCombinations/utils/valStr.ts +++ b/tools/storybook-decorators/src/decorators/PropCombinations/utils/valStr.ts @@ -13,8 +13,9 @@ export function valStr(val: any): string { if (typeof val === 'object') { if (val.type) { if (typeof val.type === 'string') return `<${val.type} />`; - // eslint-disable-next-line no-constant-binary-expression - return `<${val.type.displayName} />` ?? 'JSX Element'; + return val.type.displayName + ? `<${val.type.displayName} />` + : 'JSX Element'; } if (Array.isArray(val)) return 'Array'; diff --git a/tools/storybook-utils/package.json b/tools/storybook-utils/package.json index 5df2a990e7..903343cf07 100644 --- a/tools/storybook-utils/package.json +++ b/tools/storybook-utils/package.json @@ -27,5 +27,6 @@ }, "bugs": { "url": "https://jira.mongodb.org/projects/PD/summary" - } + }, + "typesVersions": {} } diff --git a/tools/test-harnesses/package.json b/tools/test-harnesses/package.json index 3024b6722a..80e165cd26 100644 --- a/tools/test-harnesses/package.json +++ b/tools/test-harnesses/package.json @@ -14,5 +14,6 @@ }, "dependencies": { "@testing-library/dom": "9.3.1" - } + }, + "typesVersions": {} } diff --git a/tools/test/scripts/tsconfig.json b/tools/test/scripts/tsconfig.json index 8a87b66e02..693fb6c516 100644 --- a/tools/test/scripts/tsconfig.json +++ b/tools/test/scripts/tsconfig.json @@ -1,21 +1,3 @@ { - "compilerOptions": { - "module": "CommonJS", - "noEmit": true, - "tsBuildInfoFile": "./tsconfig.tsbuildinfo", - "incremental": true, - "target": "ES6", - "jsx": "react", - "allowJs": true, - "pretty": true, - "strictNullChecks": true, - "noUnusedLocals": false, - "esModuleInterop": true, - "strict": true, - "allowSyntheticDefaultImports": true, - "moduleResolution": "node", - "baseUrl": ".", - "skipLibCheck": true, - "resolveJsonModule": true, - } + "extends": "@lg-tools/build/config/scripts.tsconfig.json", } diff --git a/tools/test/tsconfig.json b/tools/test/tsconfig.json index b84fcb1e92..a4f4e58d33 100644 --- a/tools/test/tsconfig.json +++ b/tools/test/tsconfig.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/update/tsconfig.json b/tools/update/tsconfig.json index 9adbfb12f2..083e921781 100644 --- a/tools/update/tsconfig.json +++ b/tools/update/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tools/validate/tsconfig.json b/tools/validate/tsconfig.json index 7ecd464d13..a47d7178ef 100644 --- a/tools/validate/tsconfig.json +++ b/tools/validate/tsconfig.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@lg-tools/build/config/package.tsconfig.json", + "extends": "@lg-tools/build/config/node.tsconfig.json", "compilerOptions": { "declarationDir": "dist", "outDir": "dist", diff --git a/tsconfig.json b/tsconfig.json index 724dab671b..97f9701916 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,8 @@ { "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@lg-tools/build/config/root.tsconfig.json", "compilerOptions": { + "module": "None", + "composite": true, "baseUrl": ".", "paths": { "@leafygreen-ui/icon/dist/*": ["./packages/icon/src/generated/*"], @@ -11,6 +12,6 @@ "@lg-tools/*": ["tools/*/src"], } }, - "include": ["./charts", "./chat", "./packages", "./tools", "./scripts" ], + "include": ["./charts", "./chat", "./packages", "./tools" ], "exclude": ["node_modules", "**/dist"] }