From 4325da53a2008ea599327c5566871608cbfc4700 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Fri, 17 Jan 2025 15:19:30 +0100 Subject: [PATCH 01/10] lint: resolve nx/dependency-check issues in projects --- packages/azure-theme/package.json | 8 +------- packages/houdini-utils/package.json | 9 +-------- packages/pierce-dom/package.json | 4 ---- packages/react-chat/package.json | 3 ++- .../components/Chat/useChatMoverAttribute.tsx | 17 ++++++++--------- .../ChatMessage/ChatMessage.styles.ts | 2 +- .../src/components/ChatMessage/ChatMessage.tsx | 2 +- .../components/ChatMessage/ChatMessage.types.ts | 2 +- .../package.json | 4 +--- .../components/DataGridCell/DataGridCell.tsx | 6 ++++-- .../src/components/DataGrid/DataGrid.tsx | 2 +- .../components/DataGridBody/useDataGridBody.tsx | 4 +++- packages/react-draggable-dialog/package.json | 4 +--- packages/react-gamepad-navigation/project.json | 16 ++-------------- packages/react-interactive-tab/package.json | 9 ++++----- .../useInteractiveTabStyles.styles.ts | 2 +- packages/react-keytips/package.json | 5 +---- packages/react-resize-handle/package.json | 7 +++---- packages/react-themeless-provider/package.json | 2 +- packages/react-tree-grid/package.json | 7 ++----- packages/stylelint-plugin/src/postcss-utils.ts | 1 + packages/teams-components/package.json | 4 +--- packages/variant-theme/package.json | 4 +--- .../src/ThemeDesigner/utils/brandColors.ts | 2 +- .../utils/getOverridableTokenBrandColors.ts | 3 ++- 25 files changed, 45 insertions(+), 84 deletions(-) diff --git a/packages/azure-theme/package.json b/packages/azure-theme/package.json index f028bc62..bbbdfb42 100644 --- a/packages/azure-theme/package.json +++ b/packages/azure-theme/package.json @@ -2,7 +2,6 @@ "name": "@fluentui-contrib/azure-theme", "version": "0.1.0", "dependencies": { - "@fluentui/react-icons": ">=2.0.204 <3.0.0", "@swc/helpers": "~0.5.2" }, "main": "./src/index.js", @@ -14,11 +13,6 @@ ] }, "peerDependencies": { - "@fluentui/react-components": ">=9.46.3 <10.0.0", - "@fluentui/react-icons": ">=2.0.204 <3.0.0", - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "@fluentui/react-components": ">=9.46.3 <10.0.0" } } diff --git a/packages/houdini-utils/package.json b/packages/houdini-utils/package.json index 2859f6be..e81547e1 100644 --- a/packages/houdini-utils/package.json +++ b/packages/houdini-utils/package.json @@ -5,12 +5,5 @@ "@swc/helpers": "~0.5.2" }, "main": "./src/index.js", - "typings": "./src/index.d.ts", - "peerDependencies": { - "@fluentui/react-components": ">=9.46.3 <10.0.0", - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" - } + "typings": "./src/index.d.ts" } diff --git a/packages/pierce-dom/package.json b/packages/pierce-dom/package.json index dd60bf2d..2c1f4839 100644 --- a/packages/pierce-dom/package.json +++ b/packages/pierce-dom/package.json @@ -3,10 +3,6 @@ "version": "0.1.0", "peerDependencies": { "@fluentui/react-components": ">=9.46.3 <10.0.0", - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0", "tabster": ">=6.0.0" } } diff --git a/packages/react-chat/package.json b/packages/react-chat/package.json index da599bbb..1f2dbf13 100644 --- a/packages/react-chat/package.json +++ b/packages/react-chat/package.json @@ -4,9 +4,10 @@ "peerDependencies": { "@fluentui/react-components": ">=9.25.1 <10.0.0", "@fluentui/react-icons": ">=2.0.204 <3.0.0", + "@types/react": ">=16.8.0 <19.0.0", "react": ">=16.8.0 <19.0.0" }, "dependencies": { - "@fluentui/react-jsx-runtime": ">=9.0.29 < 10.0.0" + "@fluentui/react-jsx-runtime": "^9.0.29" } } diff --git a/packages/react-chat/src/components/Chat/useChatMoverAttribute.tsx b/packages/react-chat/src/components/Chat/useChatMoverAttribute.tsx index d3a5fa12..305fa17e 100644 --- a/packages/react-chat/src/components/Chat/useChatMoverAttribute.tsx +++ b/packages/react-chat/src/components/Chat/useChatMoverAttribute.tsx @@ -1,11 +1,10 @@ import { useArrowNavigationGroup } from '@fluentui/react-components'; -import type { Types as TabsterTypes } from 'tabster'; - -export const useChatMoverAttribute_unstable = - (): TabsterTypes.TabsterDOMAttribute => - useArrowNavigationGroup({ - axis: 'vertical', - memorizeCurrent: true, - unstable_hasDefault: true, - }); +export const useChatMoverAttribute_unstable = (): ReturnType< + typeof useArrowNavigationGroup +> => + useArrowNavigationGroup({ + axis: 'vertical', + memorizeCurrent: true, + unstable_hasDefault: true, + }); diff --git a/packages/react-chat/src/components/ChatMessage/ChatMessage.styles.ts b/packages/react-chat/src/components/ChatMessage/ChatMessage.styles.ts index 17ddefce..f24c7ea4 100644 --- a/packages/react-chat/src/components/ChatMessage/ChatMessage.styles.ts +++ b/packages/react-chat/src/components/ChatMessage/ChatMessage.styles.ts @@ -4,8 +4,8 @@ import { shorthands, tokens, } from '@fluentui/react-components'; +import type { SlotClassNames } from '@fluentui/react-components'; import type { ChatMessageSlots, ChatMessageState } from './ChatMessage.types'; -import type { SlotClassNames } from '@fluentui/react-utilities'; import { bodyBaseStyles, reactionsBaseStyles, diff --git a/packages/react-chat/src/components/ChatMessage/ChatMessage.tsx b/packages/react-chat/src/components/ChatMessage/ChatMessage.tsx index 8de7d2f9..06ce667b 100644 --- a/packages/react-chat/src/components/ChatMessage/ChatMessage.tsx +++ b/packages/react-chat/src/components/ChatMessage/ChatMessage.tsx @@ -3,7 +3,7 @@ import { useChatMessage_unstable } from './useChatMessage'; import { renderChatMessage_unstable } from './renderChatMessage'; import { useChatMessageStyles_unstable } from './ChatMessage.styles'; import type { ChatMessageProps } from './ChatMessage.types'; -import type { ForwardRefComponent } from '@fluentui/react-utilities'; +import type { ForwardRefComponent } from '@fluentui/react-components'; /** * ChatMessage component - TODO: add more docs diff --git a/packages/react-chat/src/components/ChatMessage/ChatMessage.types.ts b/packages/react-chat/src/components/ChatMessage/ChatMessage.types.ts index 6c3ec6de..a87fb77d 100644 --- a/packages/react-chat/src/components/ChatMessage/ChatMessage.types.ts +++ b/packages/react-chat/src/components/ChatMessage/ChatMessage.types.ts @@ -2,7 +2,7 @@ import type { ComponentProps, ComponentState, Slot, -} from '@fluentui/react-utilities'; +} from '@fluentui/react-components'; export type ChatMessageSlots = { author?: Slot<'div'>; diff --git a/packages/react-data-grid-react-window-grid/package.json b/packages/react-data-grid-react-window-grid/package.json index ee31c9ab..ee1f612f 100644 --- a/packages/react-data-grid-react-window-grid/package.json +++ b/packages/react-data-grid-react-window-grid/package.json @@ -4,9 +4,7 @@ "peerDependencies": { "@fluentui/react-components": ">=9.30.0 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" }, "dependencies": { "react-window": "^1.8.5" diff --git a/packages/react-data-grid-react-window-grid/src/components/DataGridCell/DataGridCell.tsx b/packages/react-data-grid-react-window-grid/src/components/DataGridCell/DataGridCell.tsx index 6affbdd6..86f89712 100644 --- a/packages/react-data-grid-react-window-grid/src/components/DataGridCell/DataGridCell.tsx +++ b/packages/react-data-grid-react-window-grid/src/components/DataGridCell/DataGridCell.tsx @@ -3,8 +3,10 @@ import { renderDataGridCell_unstable, useDataGridCellStyles_unstable, } from '@fluentui/react-components'; -import type { DataGridCellProps } from '@fluentui/react-components'; -import type { ForwardRefComponent } from '@fluentui/react-utilities'; +import type { + DataGridCellProps, + ForwardRefComponent, +} from '@fluentui/react-components'; import { useDataGridCell_unstable } from './useDataGridCell'; /** diff --git a/packages/react-data-grid-react-window/src/components/DataGrid/DataGrid.tsx b/packages/react-data-grid-react-window/src/components/DataGrid/DataGrid.tsx index d1add97d..8a6b7165 100644 --- a/packages/react-data-grid-react-window/src/components/DataGrid/DataGrid.tsx +++ b/packages/react-data-grid-react-window/src/components/DataGrid/DataGrid.tsx @@ -7,7 +7,7 @@ import { DataGridProps, useDataGridStyles_unstable, } from '@fluentui/react-components'; -import type { ForwardRefComponent } from '@fluentui/react-utilities'; +import type { ForwardRefComponent } from '@fluentui/react-components'; export const DataGrid: ForwardRefComponent = React.forwardRef( (props, ref) => { diff --git a/packages/react-data-grid-react-window/src/components/DataGridBody/useDataGridBody.tsx b/packages/react-data-grid-react-window/src/components/DataGridBody/useDataGridBody.tsx index 89018fae..ff7fd595 100644 --- a/packages/react-data-grid-react-window/src/components/DataGridBody/useDataGridBody.tsx +++ b/packages/react-data-grid-react-window/src/components/DataGridBody/useDataGridBody.tsx @@ -8,11 +8,13 @@ import { TableRowData, TableRowIdContextProvider, } from '@fluentui/react-components'; -import type { RowRenderFunction } from '@fluentui/react-table'; import { TableRowIndexContextProvider } from '../../contexts/rowIndexContext'; import { useBodyRefContext } from '../../contexts/bodyRefContext'; import { useHeaderRefContext } from '../../contexts/headerRefContext'; +type RowRenderFunction = + import('@fluentui/react-components').DataGridBodyState['renderRow']; + /** * Create the state required to render DataGridBody. * diff --git a/packages/react-draggable-dialog/package.json b/packages/react-draggable-dialog/package.json index 6646b911..503a68e3 100644 --- a/packages/react-draggable-dialog/package.json +++ b/packages/react-draggable-dialog/package.json @@ -9,9 +9,7 @@ "peerDependencies": { "@fluentui/react-components": ">=9.35.1 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" }, "beachball": { "disallowedChangeTypes": [ diff --git a/packages/react-gamepad-navigation/project.json b/packages/react-gamepad-navigation/project.json index 4337389a..b8fda948 100644 --- a/packages/react-gamepad-navigation/project.json +++ b/packages/react-gamepad-navigation/project.json @@ -3,30 +3,18 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/react-gamepad-navigation/src", "projectType": "library", - "release": { - "version": { - "generatorOptions": { - "packageRoot": "dist\\{projectRoot}", - "currentVersionResolver": "git-tag" - } - } - }, "tags": [], "targets": { "build": { "executor": "@fluentui-contrib/nx-plugin:build" }, - "nx-release-publish": { - "options": { - "packageRoot": "dist\\{projectRoot}" - } - }, "lint": { "executor": "@nx/eslint:lint", "options": { "lintFilePatterns": [ "packages/react-gamepad-navigation/**/*.ts", - "packages/react-gamepad-navigation/**/*.tsx" + "packages/react-gamepad-navigation/**/*.tsx", + "packages/nx-plugin/package.json" ] } }, diff --git a/packages/react-interactive-tab/package.json b/packages/react-interactive-tab/package.json index bd26022b..7039be1e 100644 --- a/packages/react-interactive-tab/package.json +++ b/packages/react-interactive-tab/package.json @@ -1,17 +1,16 @@ { "name": "@fluentui-contrib/react-interactive-tab", "version": "0.1.1", + "main": "./src/index.js", + "typings": "./src/index.d.ts", "dependencies": { "@fluentui/react-jsx-runtime": "^9.0.29", + "@fluentui/react-tabs": "^9.5.0", "@swc/helpers": "~0.5.2" }, - "main": "./src/index.js", - "typings": "./src/index.d.ts", "peerDependencies": { "@fluentui/react-components": ">=9.54.13 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" } } diff --git a/packages/react-interactive-tab/src/components/InteractiveTab/useInteractiveTabStyles.styles.ts b/packages/react-interactive-tab/src/components/InteractiveTab/useInteractiveTabStyles.styles.ts index 228c63cf..7f222403 100644 --- a/packages/react-interactive-tab/src/components/InteractiveTab/useInteractiveTabStyles.styles.ts +++ b/packages/react-interactive-tab/src/components/InteractiveTab/useInteractiveTabStyles.styles.ts @@ -1,6 +1,6 @@ import type { SlotClassNames, TabState } from '@fluentui/react-components'; import { mergeClasses } from '@fluentui/react-components'; -// eslint-disable-next-line import/no-extraneous-dependencies + import { useTabButtonStyles_unstable, useTabContentStyles_unstable, diff --git a/packages/react-keytips/package.json b/packages/react-keytips/package.json index 70dd4fae..e9890cd0 100644 --- a/packages/react-keytips/package.json +++ b/packages/react-keytips/package.json @@ -5,11 +5,8 @@ "typings": "./src/index.d.ts", "peerDependencies": { "@fluentui/react-components": ">=9.46.3 <10.0.0", - "@fluentui/react-icons": ">=2.0.204 <3.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" }, "dependencies": { "@fluentui/react-jsx-runtime": "^9.0.29", diff --git a/packages/react-resize-handle/package.json b/packages/react-resize-handle/package.json index 4fdf776f..805b564c 100644 --- a/packages/react-resize-handle/package.json +++ b/packages/react-resize-handle/package.json @@ -4,11 +4,10 @@ "peerDependencies": { "@fluentui/react-components": ">=9.35.1 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" }, "dependencies": { - "@fluentui/react-utilities": ">=9.16.0 < 10.0.0" + "@fluentui/react-utilities": "^9.16.0", + "@swc/helpers": "~0.5.2" } } diff --git a/packages/react-themeless-provider/package.json b/packages/react-themeless-provider/package.json index 3ffabfa8..7ba21ed4 100644 --- a/packages/react-themeless-provider/package.json +++ b/packages/react-themeless-provider/package.json @@ -4,7 +4,7 @@ "main": "./src/index.js", "typings": "./src/index.d.ts", "dependencies": { - "@fluentui/react-jsx-runtime": ">=9.0.29 < 10.0.0", + "@fluentui/react-jsx-runtime": "^9.0.29", "@griffel/react": "^1.5.14", "@swc/helpers": "~0.5.2" }, diff --git a/packages/react-tree-grid/package.json b/packages/react-tree-grid/package.json index 33d10bb6..1248b0bd 100644 --- a/packages/react-tree-grid/package.json +++ b/packages/react-tree-grid/package.json @@ -4,13 +4,10 @@ "peerDependencies": { "@fluentui/react-components": ">=9.44.5 < 10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" }, "dependencies": { - "@fluentui/react-context-selector": "~9.1.47", - "@fluentui/react-jsx-runtime": ">=9.0.29 < 10.0.0", + "@fluentui/react-jsx-runtime": "^9.0.29", "@fluentui/keyboard-keys": "~9.0.6", "@fluentui/react-tabster": ">=9.17.2 < 10.0.0", "@fluentui/react-utilities": ">=9.16.0 < 10.0.0" diff --git a/packages/stylelint-plugin/src/postcss-utils.ts b/packages/stylelint-plugin/src/postcss-utils.ts index 6b5a64d5..f1e1bd0a 100644 --- a/packages/stylelint-plugin/src/postcss-utils.ts +++ b/packages/stylelint-plugin/src/postcss-utils.ts @@ -1,3 +1,4 @@ +// nx-ignore-next-line - needs https://github.com/nrwl/nx/issues/29853 to resolve transitive dependency if direct import is used import type { Document, AtRule, Root, Container, Rule } from 'postcss'; export function isAtRule(container: { type: string }): container is AtRule { diff --git a/packages/teams-components/package.json b/packages/teams-components/package.json index 3e67b2a2..ac03fee4 100644 --- a/packages/teams-components/package.json +++ b/packages/teams-components/package.json @@ -9,8 +9,6 @@ "peerDependencies": { "@fluentui/react-components": ">=9.54.13 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" } } diff --git a/packages/variant-theme/package.json b/packages/variant-theme/package.json index f90808a7..9eb9d5a6 100644 --- a/packages/variant-theme/package.json +++ b/packages/variant-theme/package.json @@ -12,8 +12,6 @@ "peerDependencies": { "@fluentui/react-components": ">=9.25.1 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" } } diff --git a/packages/variant-theme/src/ThemeDesigner/utils/brandColors.ts b/packages/variant-theme/src/ThemeDesigner/utils/brandColors.ts index 8336bdbd..d70523a0 100644 --- a/packages/variant-theme/src/ThemeDesigner/utils/brandColors.ts +++ b/packages/variant-theme/src/ThemeDesigner/utils/brandColors.ts @@ -1,4 +1,4 @@ -import type { BrandVariants } from '@fluentui/react-theme'; +import type { BrandVariants } from '@fluentui/react-components'; export const brandWeb: BrandVariants = { 10: `#061724`, diff --git a/packages/variant-theme/src/ThemeDesigner/utils/getOverridableTokenBrandColors.ts b/packages/variant-theme/src/ThemeDesigner/utils/getOverridableTokenBrandColors.ts index 78fefb33..79ce9399 100644 --- a/packages/variant-theme/src/ThemeDesigner/utils/getOverridableTokenBrandColors.ts +++ b/packages/variant-theme/src/ThemeDesigner/utils/getOverridableTokenBrandColors.ts @@ -1,6 +1,7 @@ -import type { Brands, BrandVariants, Theme } from '@fluentui/react-theme'; +import type { BrandVariants, Theme } from '@fluentui/react-components'; import { createDarkTheme } from '@fluentui/react-components'; // import { ColorOverrideBrands } from '../Context/ThemeDesignerContext'; +type Brands = keyof BrandVariants; type ColorOverrideBrands = Record; export const brandRamp: Brands[] = [ From 4f07e4dfc4cf645fdfe5818bd40f44ca0d17ed02 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Fri, 17 Jan 2025 14:19:41 +0100 Subject: [PATCH 02/10] lint: enable nx dependency checks rule in projects --- eslint.config.js | 1 + packages/azure-theme/project.json | 3 ++- packages/houdini-utils/project.json | 3 ++- packages/nx-plugin/project.json | 3 +-- packages/pierce-dom/project.json | 3 ++- packages/react-chat/project.json | 3 ++- packages/react-data-grid-react-window-grid/project.json | 3 ++- packages/react-data-grid-react-window/project.json | 3 ++- packages/react-draggable-dialog/project.json | 3 ++- packages/react-gamepad-navigation/project.json | 2 +- packages/react-headless-provider/project.json | 3 ++- packages/react-interactive-tab/project.json | 3 ++- packages/react-keytips/project.json | 3 ++- packages/react-resize-handle/project.json | 3 ++- packages/react-shadow/project.json | 3 ++- packages/react-themeless-provider/project.json | 3 ++- packages/react-tree-grid/project.json | 3 ++- packages/stylelint-plugin/project.json | 3 ++- packages/teams-components/project.json | 3 ++- packages/variant-theme/project.json | 3 ++- 20 files changed, 37 insertions(+), 20 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 726f173d..77d32f9d 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -74,6 +74,7 @@ module.exports = [ '**/*.test.[jt]s?(x)', '**/*.spec.[jt]s?(x)', '**/*.stories.[jt]s?(x)', + '**/stories/**', '**/*.component-browser-spec.tsx', '**/generators/**/files/**', '**/.storybook/**', diff --git a/packages/azure-theme/project.json b/packages/azure-theme/project.json index 2fa218b4..04ab40bb 100644 --- a/packages/azure-theme/project.json +++ b/packages/azure-theme/project.json @@ -16,7 +16,8 @@ "options": { "lintFilePatterns": [ "packages/azure-theme/**/*.ts", - "packages/azure-theme/**/*.tsx" + "packages/azure-theme/**/*.tsx", + "packages/azure-theme/package.json" ] } }, diff --git a/packages/houdini-utils/project.json b/packages/houdini-utils/project.json index d36aed22..e21f8494 100644 --- a/packages/houdini-utils/project.json +++ b/packages/houdini-utils/project.json @@ -16,7 +16,8 @@ "options": { "lintFilePatterns": [ "packages/houdini-utils/**/*.ts", - "packages/houdini-utils/**/*.tsx" + "packages/houdini-utils/**/*.tsx", + "packages/houdini-utils/package.json" ] } }, diff --git a/packages/nx-plugin/project.json b/packages/nx-plugin/project.json index 76374937..a6162013 100644 --- a/packages/nx-plugin/project.json +++ b/packages/nx-plugin/project.json @@ -45,8 +45,7 @@ "packages/nx-plugin/**/*.ts", "packages/nx-plugin/package.json", "packages/nx-plugin/generators.json", - "packages/nx-plugin/executors.json", - "packages/nx-plugin/package.json" + "packages/nx-plugin/executors.json" ] } }, diff --git a/packages/pierce-dom/project.json b/packages/pierce-dom/project.json index 9aab9b94..a8c1aa2e 100644 --- a/packages/pierce-dom/project.json +++ b/packages/pierce-dom/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/pierce-dom/**/*.ts", - "packages/pierce-dom/**/*.tsx" + "packages/pierce-dom/**/*.tsx", + "packages/pierce-dom/package.json" ] } }, diff --git a/packages/react-chat/project.json b/packages/react-chat/project.json index 2ba9e198..af9c92fb 100644 --- a/packages/react-chat/project.json +++ b/packages/react-chat/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-chat/**/*.ts", - "packages/react-chat/**/*.tsx" + "packages/react-chat/**/*.tsx", + "packages/react-chat/package.json" ] } }, diff --git a/packages/react-data-grid-react-window-grid/project.json b/packages/react-data-grid-react-window-grid/project.json index 13f6f02f..a6bc8df1 100644 --- a/packages/react-data-grid-react-window-grid/project.json +++ b/packages/react-data-grid-react-window-grid/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-data-grid-react-window-grid/**/*.ts", - "packages/react-data-grid-react-window-grid/**/*.tsx" + "packages/react-data-grid-react-window-grid/**/*.tsx", + "packages/react-data-grid-react-window-grid/package.json" ] } }, diff --git a/packages/react-data-grid-react-window/project.json b/packages/react-data-grid-react-window/project.json index 545d32e4..fb3031b5 100644 --- a/packages/react-data-grid-react-window/project.json +++ b/packages/react-data-grid-react-window/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-data-grid-react-window/**/*.ts", - "packages/react-data-grid-react-window/**/*.tsx" + "packages/react-data-grid-react-window/**/*.tsx", + "packages/react-data-grid-react-window/package.json" ] } }, diff --git a/packages/react-draggable-dialog/project.json b/packages/react-draggable-dialog/project.json index e7dc8195..d488081e 100644 --- a/packages/react-draggable-dialog/project.json +++ b/packages/react-draggable-dialog/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-draggable-dialog/**/*.ts", - "packages/react-draggable-dialog/**/*.tsx" + "packages/react-draggable-dialog/**/*.tsx", + "packages/react-draggable-dialog/package.json" ] } }, diff --git a/packages/react-gamepad-navigation/project.json b/packages/react-gamepad-navigation/project.json index b8fda948..16d67913 100644 --- a/packages/react-gamepad-navigation/project.json +++ b/packages/react-gamepad-navigation/project.json @@ -14,7 +14,7 @@ "lintFilePatterns": [ "packages/react-gamepad-navigation/**/*.ts", "packages/react-gamepad-navigation/**/*.tsx", - "packages/nx-plugin/package.json" + "packages/react-gamepad-navigation/package.json" ] } }, diff --git a/packages/react-headless-provider/project.json b/packages/react-headless-provider/project.json index 5fac451f..8867bdb6 100644 --- a/packages/react-headless-provider/project.json +++ b/packages/react-headless-provider/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-headless-provider/**/*.ts", - "packages/react-headless-provider/**/*.tsx" + "packages/react-headless-provider/**/*.tsx", + "packages/react-headless-provider/package.json" ] } }, diff --git a/packages/react-interactive-tab/project.json b/packages/react-interactive-tab/project.json index 1e9b952e..c92701e8 100644 --- a/packages/react-interactive-tab/project.json +++ b/packages/react-interactive-tab/project.json @@ -13,7 +13,8 @@ "options": { "lintFilePatterns": [ "packages/react-interactive-tab/**/*.ts", - "packages/react-interactive-tab/**/*.tsx" + "packages/react-interactive-tab/**/*.tsx", + "packages/react-interactive-tab/package.json" ] } }, diff --git a/packages/react-keytips/project.json b/packages/react-keytips/project.json index a9e6ce3f..65f5e13d 100644 --- a/packages/react-keytips/project.json +++ b/packages/react-keytips/project.json @@ -13,7 +13,8 @@ "options": { "lintFilePatterns": [ "packages/react-keytips/**/*.ts", - "packages/react-keytips/**/*.tsx" + "packages/react-keytips/**/*.tsx", + "packages/react-keytips/package.json" ] } }, diff --git a/packages/react-resize-handle/project.json b/packages/react-resize-handle/project.json index 4485888e..5d734bc7 100644 --- a/packages/react-resize-handle/project.json +++ b/packages/react-resize-handle/project.json @@ -18,7 +18,8 @@ "options": { "lintFilePatterns": [ "packages/react-resize-handle/**/*.ts", - "packages/react-resize-handle/**/*.tsx" + "packages/react-resize-handle/**/*.tsx", + "packages/react-resize-handle/package.json" ] } }, diff --git a/packages/react-shadow/project.json b/packages/react-shadow/project.json index d4455416..075ec93c 100644 --- a/packages/react-shadow/project.json +++ b/packages/react-shadow/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-shadow/**/*.ts", - "packages/react-shadow/**/*.tsx" + "packages/react-shadow/**/*.tsx", + "packages/react-shadow/package.json" ] } }, diff --git a/packages/react-themeless-provider/project.json b/packages/react-themeless-provider/project.json index d35878b9..64044342 100644 --- a/packages/react-themeless-provider/project.json +++ b/packages/react-themeless-provider/project.json @@ -16,7 +16,8 @@ "options": { "lintFilePatterns": [ "packages/react-themeless-provider/**/*.ts", - "packages/react-themeless-provider/**/*.tsx" + "packages/react-themeless-provider/**/*.tsx", + "packages/react-themeless-provider/package.json" ] } }, diff --git a/packages/react-tree-grid/project.json b/packages/react-tree-grid/project.json index 6e8a077a..c6f5a97b 100644 --- a/packages/react-tree-grid/project.json +++ b/packages/react-tree-grid/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/react-tree-grid/**/*.ts", - "packages/react-tree-grid/**/*.tsx" + "packages/react-tree-grid/**/*.tsx", + "packages/react-tree-grid/package.json" ] } }, diff --git a/packages/stylelint-plugin/project.json b/packages/stylelint-plugin/project.json index 3102ebed..91d705a7 100644 --- a/packages/stylelint-plugin/project.json +++ b/packages/stylelint-plugin/project.json @@ -17,7 +17,8 @@ "options": { "lintFilePatterns": [ "packages/stylelint-plugin/**/*.ts", - "packages/stylelint-plugin/**/*.tsx" + "packages/stylelint-plugin/**/*.tsx", + "packages/stylelint-plugin/package.json" ] } }, diff --git a/packages/teams-components/project.json b/packages/teams-components/project.json index 412b0abd..87b8ee50 100644 --- a/packages/teams-components/project.json +++ b/packages/teams-components/project.json @@ -13,7 +13,8 @@ "options": { "lintFilePatterns": [ "packages/teams-components/**/*.ts", - "packages/teams-components/**/*.tsx" + "packages/teams-components/**/*.tsx", + "packages/teams-components/package.json" ] } }, diff --git a/packages/variant-theme/project.json b/packages/variant-theme/project.json index eaf43c55..832b338c 100644 --- a/packages/variant-theme/project.json +++ b/packages/variant-theme/project.json @@ -16,7 +16,8 @@ "options": { "lintFilePatterns": [ "packages/variant-theme/**/*.ts", - "packages/variant-theme/**/*.tsx" + "packages/variant-theme/**/*.tsx", + "packages/variant-theme/package.json" ] } }, From 8d44f966179de4683bdec4c02d53c0f9f1a71d0f Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 26 Feb 2025 14:40:08 +0100 Subject: [PATCH 03/10] fix(nx-plugin): add React related dependencies to library only during Component generation --- .../generators/component/generator.spec.ts | 29 ++++++++++++- .../src/generators/component/generator.ts | 4 ++ .../component/update-dependencies.ts | 41 +++++++++++++++++++ .../src/generators/library/generator.spec.ts | 20 --------- .../src/generators/library/generator.ts | 27 ------------ 5 files changed, 73 insertions(+), 48 deletions(-) create mode 100644 packages/nx-plugin/src/generators/component/update-dependencies.ts diff --git a/packages/nx-plugin/src/generators/component/generator.spec.ts b/packages/nx-plugin/src/generators/component/generator.spec.ts index 2bb973d5..2fc2d8d0 100644 --- a/packages/nx-plugin/src/generators/component/generator.spec.ts +++ b/packages/nx-plugin/src/generators/component/generator.spec.ts @@ -1,5 +1,11 @@ import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { Tree, joinPathFragments, readProjectConfiguration } from '@nx/devkit'; +import { + Tree, + joinPathFragments, + readJson, + readProjectConfiguration, + workspaceRoot, +} from '@nx/devkit'; import libraryGenerator from '../library/generator'; import { @@ -9,6 +15,7 @@ import { import generator from './generator'; import { ComponentGeneratorSchema } from './schema'; +import { getPackagePaths } from '../../utils'; describe('component generator', () => { let tree: Tree; @@ -68,4 +75,24 @@ describe('component generator', () => { " `); }); + + describe(`package.json`, () => { + it('should update peer dependencies', async () => { + const config = readProjectConfiguration(tree, options.name); + const paths = getPackagePaths(workspaceRoot, config.root); + let pkgJson = readJson(tree, paths.packageJson); + + expect(pkgJson.peerDependencies).toEqual(undefined); + + await generator(tree, options); + + pkgJson = readJson(tree, paths.packageJson); + + expect(pkgJson.peerDependencies).toEqual({ + '@fluentui/react-components': '>=9.46.3 <10.0.0', + '@types/react': '>=16.8.0 <19.0.0', + react: '>=16.8.0 <19.0.0', + }); + }); + }); }); diff --git a/packages/nx-plugin/src/generators/component/generator.ts b/packages/nx-plugin/src/generators/component/generator.ts index efc7054b..a49214b9 100644 --- a/packages/nx-plugin/src/generators/component/generator.ts +++ b/packages/nx-plugin/src/generators/component/generator.ts @@ -2,6 +2,7 @@ import { formatFiles, generateFiles, Tree, workspaceRoot } from '@nx/devkit'; import * as path from 'path'; import { ComponentGeneratorSchema } from './schema'; import { getPackagePaths, getProject, npmScope } from '../../utils'; +import { updateDependencies } from './update-dependencies'; export default async function (tree: Tree, options: ComponentGeneratorSchema) { const { name, componentName } = options; @@ -25,5 +26,8 @@ export default async function (tree: Tree, options: ComponentGeneratorSchema) { '\n' + main; tree.write(paths.main, main); + + updateDependencies(tree, { paths }); + await formatFiles(tree); } diff --git a/packages/nx-plugin/src/generators/component/update-dependencies.ts b/packages/nx-plugin/src/generators/component/update-dependencies.ts new file mode 100644 index 00000000..ffecf09e --- /dev/null +++ b/packages/nx-plugin/src/generators/component/update-dependencies.ts @@ -0,0 +1,41 @@ +import { readJson, updateJson, type Tree } from '@nx/devkit'; +import { getPackagePaths, type PackageJson } from '../../utils'; + +function getReactComponentsVersion(tree: Tree): string { + const monorepoRootPkgJson: PackageJson = readJson(tree, '/package.json'); + const { dependencies = {}, devDependencies = {} } = monorepoRootPkgJson; + const reactComponentsVersion = + dependencies['@fluentui/react-components'] || + devDependencies['@fluentui/react-components']; + + if (!reactComponentsVersion) { + throw new Error( + '🚨 Could not find @fluentui/react-components in package.json. please report this issue' + ); + } + + // strip version ranges non-numeric characters + return reactComponentsVersion.replace(/^[~^]/, ''); +} + +export function updateDependencies( + tree: Tree, + options: { paths: ReturnType } +) { + const reactComponentsVersion = getReactComponentsVersion(tree); + const peerDeps = { + '@fluentui/react-components': `>=${reactComponentsVersion} <10.0.0`, + '@types/react': '>=16.8.0 <19.0.0', + react: '>=16.8.0 <19.0.0', + }; + + updateJson(tree, options.paths.packageJson, (packageJson) => { + packageJson.peerDependencies = packageJson.peerDependencies ?? {}; + + Object.assign(packageJson.peerDependencies, peerDeps); + + return packageJson; + }); + + return tree; +} diff --git a/packages/nx-plugin/src/generators/library/generator.spec.ts b/packages/nx-plugin/src/generators/library/generator.spec.ts index 494f6e99..a95b643e 100644 --- a/packages/nx-plugin/src/generators/library/generator.spec.ts +++ b/packages/nx-plugin/src/generators/library/generator.spec.ts @@ -3,7 +3,6 @@ import { Tree, readProjectConfiguration, readJson, - workspaceRoot, joinPathFragments, readNxJson, updateNxJson, @@ -11,7 +10,6 @@ import { import generator from './generator'; import { LibraryGeneratorSchema } from './schema'; -import { getPackagePaths } from '../../utils'; import { createCodeowners, setupWorkspaceDependencies, @@ -101,24 +99,6 @@ describe('create-package generator', () => { }); }); - describe(`package.json`, () => { - it('should generate peer dependencies', async () => { - await generator(tree, options); - const config = readProjectConfiguration(tree, 'test'); - const paths = getPackagePaths(workspaceRoot, config.root); - const pkgJson = readJson(tree, paths.packageJson); - expect(pkgJson.peerDependencies).toMatchInlineSnapshot(` - { - "@fluentui/react-components": ">=9.46.3 <10.0.0", - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0", - } - `); - }); - }); - describe(`targets`, () => { it('should add test target', async () => { await generator(tree, options); diff --git a/packages/nx-plugin/src/generators/library/generator.ts b/packages/nx-plugin/src/generators/library/generator.ts index 5ffe4bf7..9d9119ae 100644 --- a/packages/nx-plugin/src/generators/library/generator.ts +++ b/packages/nx-plugin/src/generators/library/generator.ts @@ -51,20 +51,10 @@ export default async function (tree: Tree, options: LibraryGeneratorSchema) { updateProjectConfiguration(tree, name, newProject); tree.delete(path.join(paths.src, 'lib')); - const reactComponentsVersion = getReactComponentsVersion(tree); - updateJson(tree, paths.packageJson, (packageJson) => { packageJson.type = undefined; packageJson.private = true; - packageJson.peerDependencies ??= { - '@fluentui/react-components': `>=${reactComponentsVersion} <10.0.0`, - '@types/react': '>=16.8.0 <19.0.0', - '@types/react-dom': '>=16.8.0 <19.0.0', - react: '>=16.8.0 <19.0.0', - 'react-dom': '>=16.8.0 <19.0.0', - }; - return packageJson; }); @@ -73,23 +63,6 @@ export default async function (tree: Tree, options: LibraryGeneratorSchema) { await formatFiles(tree); } -function getReactComponentsVersion(tree: Tree) { - const pkgJson: PackageJson = readJson(tree, '/package.json'); - const { dependencies = {}, devDependencies = {} } = pkgJson; - const reactComponentsVersion = - dependencies['@fluentui/react-components'] || - devDependencies['@fluentui/react-components']; - - if (!reactComponentsVersion) { - throw new Error( - '🚨 Could not find @fluentui/react-components in package.json. please report this issue' - ); - } - - // strip version ranges non-numeric characters - return reactComponentsVersion.replace(/^[~^]/, ''); -} - async function invokeNxGenerators(tree: Tree, options: LibraryGeneratorSchema) { const { name } = options; const currentNxJson = readNxJson(tree); From ffd4cbd162e3828caa1e520419c36ebb03f1c39e Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 26 Feb 2025 14:43:12 +0100 Subject: [PATCH 04/10] change files --- ...b-azure-theme-fbc70169-fe55-4268-9318-43cf8b9bac0e.json | 7 +++++++ ...houdini-utils-5d21256e-0883-4348-98ca-781ad00cb31c.json | 7 +++++++ ...ib-pierce-dom-7aa51c12-d109-4d9a-843d-fc27672d0b98.json | 7 +++++++ ...ib-react-chat-599eff36-ad2c-484e-891f-6e443f7d795c.json | 7 +++++++ ...-react-window-d86043b0-c49d-4132-b499-fe3b2d8dbc1d.json | 7 +++++++ ...t-window-grid-3bfeef1a-452a-4fb1-a424-6bdb57fb7d8c.json | 7 +++++++ ...ggable-dialog-59c6b320-b3ca-4be4-bb2a-a72d872c5a6d.json | 7 +++++++ ...ad-navigation-6beeb604-67a3-4432-b55a-564e2c4d8f83.json | 7 +++++++ ...teractive-tab-ace7932a-adfc-4f23-8bf4-e401844d3955.json | 7 +++++++ ...react-keytips-55d49519-8b48-4d1d-99ea-1d8bceaccef2.json | 7 +++++++ ...resize-handle-d98cb8e5-088e-4f21-bc99-45976abfe791.json | 7 +++++++ ...act-tree-grid-d501cc79-17d5-460b-b2ae-6c136995b8ca.json | 7 +++++++ ...lelint-plugin-d571b89b-5828-4598-bd89-08d522c9f44e.json | 7 +++++++ ...variant-theme-1347c744-6f0d-42c4-ae1b-6d9b610d5d06.json | 7 +++++++ 14 files changed, 98 insertions(+) create mode 100644 change/@fluentui-contrib-azure-theme-fbc70169-fe55-4268-9318-43cf8b9bac0e.json create mode 100644 change/@fluentui-contrib-houdini-utils-5d21256e-0883-4348-98ca-781ad00cb31c.json create mode 100644 change/@fluentui-contrib-pierce-dom-7aa51c12-d109-4d9a-843d-fc27672d0b98.json create mode 100644 change/@fluentui-contrib-react-chat-599eff36-ad2c-484e-891f-6e443f7d795c.json create mode 100644 change/@fluentui-contrib-react-data-grid-react-window-d86043b0-c49d-4132-b499-fe3b2d8dbc1d.json create mode 100644 change/@fluentui-contrib-react-data-grid-react-window-grid-3bfeef1a-452a-4fb1-a424-6bdb57fb7d8c.json create mode 100644 change/@fluentui-contrib-react-draggable-dialog-59c6b320-b3ca-4be4-bb2a-a72d872c5a6d.json create mode 100644 change/@fluentui-contrib-react-gamepad-navigation-6beeb604-67a3-4432-b55a-564e2c4d8f83.json create mode 100644 change/@fluentui-contrib-react-interactive-tab-ace7932a-adfc-4f23-8bf4-e401844d3955.json create mode 100644 change/@fluentui-contrib-react-keytips-55d49519-8b48-4d1d-99ea-1d8bceaccef2.json create mode 100644 change/@fluentui-contrib-react-resize-handle-d98cb8e5-088e-4f21-bc99-45976abfe791.json create mode 100644 change/@fluentui-contrib-react-tree-grid-d501cc79-17d5-460b-b2ae-6c136995b8ca.json create mode 100644 change/@fluentui-contrib-stylelint-plugin-d571b89b-5828-4598-bd89-08d522c9f44e.json create mode 100644 change/@fluentui-contrib-variant-theme-1347c744-6f0d-42c4-ae1b-6d9b610d5d06.json diff --git a/change/@fluentui-contrib-azure-theme-fbc70169-fe55-4268-9318-43cf8b9bac0e.json b/change/@fluentui-contrib-azure-theme-fbc70169-fe55-4268-9318-43cf8b9bac0e.json new file mode 100644 index 00000000..1a512bb2 --- /dev/null +++ b/change/@fluentui-contrib-azure-theme-fbc70169-fe55-4268-9318-43cf8b9bac0e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/azure-theme", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-houdini-utils-5d21256e-0883-4348-98ca-781ad00cb31c.json b/change/@fluentui-contrib-houdini-utils-5d21256e-0883-4348-98ca-781ad00cb31c.json new file mode 100644 index 00000000..f428268d --- /dev/null +++ b/change/@fluentui-contrib-houdini-utils-5d21256e-0883-4348-98ca-781ad00cb31c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/houdini-utils", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-pierce-dom-7aa51c12-d109-4d9a-843d-fc27672d0b98.json b/change/@fluentui-contrib-pierce-dom-7aa51c12-d109-4d9a-843d-fc27672d0b98.json new file mode 100644 index 00000000..1d13f255 --- /dev/null +++ b/change/@fluentui-contrib-pierce-dom-7aa51c12-d109-4d9a-843d-fc27672d0b98.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/pierce-dom", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-chat-599eff36-ad2c-484e-891f-6e443f7d795c.json b/change/@fluentui-contrib-react-chat-599eff36-ad2c-484e-891f-6e443f7d795c.json new file mode 100644 index 00000000..4a63e47d --- /dev/null +++ b/change/@fluentui-contrib-react-chat-599eff36-ad2c-484e-891f-6e443f7d795c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-chat", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-data-grid-react-window-d86043b0-c49d-4132-b499-fe3b2d8dbc1d.json b/change/@fluentui-contrib-react-data-grid-react-window-d86043b0-c49d-4132-b499-fe3b2d8dbc1d.json new file mode 100644 index 00000000..8954358a --- /dev/null +++ b/change/@fluentui-contrib-react-data-grid-react-window-d86043b0-c49d-4132-b499-fe3b2d8dbc1d.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-data-grid-react-window", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-data-grid-react-window-grid-3bfeef1a-452a-4fb1-a424-6bdb57fb7d8c.json b/change/@fluentui-contrib-react-data-grid-react-window-grid-3bfeef1a-452a-4fb1-a424-6bdb57fb7d8c.json new file mode 100644 index 00000000..27962414 --- /dev/null +++ b/change/@fluentui-contrib-react-data-grid-react-window-grid-3bfeef1a-452a-4fb1-a424-6bdb57fb7d8c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-data-grid-react-window-grid", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-draggable-dialog-59c6b320-b3ca-4be4-bb2a-a72d872c5a6d.json b/change/@fluentui-contrib-react-draggable-dialog-59c6b320-b3ca-4be4-bb2a-a72d872c5a6d.json new file mode 100644 index 00000000..b48b3766 --- /dev/null +++ b/change/@fluentui-contrib-react-draggable-dialog-59c6b320-b3ca-4be4-bb2a-a72d872c5a6d.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-draggable-dialog", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-gamepad-navigation-6beeb604-67a3-4432-b55a-564e2c4d8f83.json b/change/@fluentui-contrib-react-gamepad-navigation-6beeb604-67a3-4432-b55a-564e2c4d8f83.json new file mode 100644 index 00000000..97b0e051 --- /dev/null +++ b/change/@fluentui-contrib-react-gamepad-navigation-6beeb604-67a3-4432-b55a-564e2c4d8f83.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-gamepad-navigation", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-interactive-tab-ace7932a-adfc-4f23-8bf4-e401844d3955.json b/change/@fluentui-contrib-react-interactive-tab-ace7932a-adfc-4f23-8bf4-e401844d3955.json new file mode 100644 index 00000000..1a535710 --- /dev/null +++ b/change/@fluentui-contrib-react-interactive-tab-ace7932a-adfc-4f23-8bf4-e401844d3955.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-interactive-tab", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-keytips-55d49519-8b48-4d1d-99ea-1d8bceaccef2.json b/change/@fluentui-contrib-react-keytips-55d49519-8b48-4d1d-99ea-1d8bceaccef2.json new file mode 100644 index 00000000..f2bb526a --- /dev/null +++ b/change/@fluentui-contrib-react-keytips-55d49519-8b48-4d1d-99ea-1d8bceaccef2.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-keytips", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-resize-handle-d98cb8e5-088e-4f21-bc99-45976abfe791.json b/change/@fluentui-contrib-react-resize-handle-d98cb8e5-088e-4f21-bc99-45976abfe791.json new file mode 100644 index 00000000..a19639dc --- /dev/null +++ b/change/@fluentui-contrib-react-resize-handle-d98cb8e5-088e-4f21-bc99-45976abfe791.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-resize-handle", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-react-tree-grid-d501cc79-17d5-460b-b2ae-6c136995b8ca.json b/change/@fluentui-contrib-react-tree-grid-d501cc79-17d5-460b-b2ae-6c136995b8ca.json new file mode 100644 index 00000000..ebd8f56b --- /dev/null +++ b/change/@fluentui-contrib-react-tree-grid-d501cc79-17d5-460b-b2ae-6c136995b8ca.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-tree-grid", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-stylelint-plugin-d571b89b-5828-4598-bd89-08d522c9f44e.json b/change/@fluentui-contrib-stylelint-plugin-d571b89b-5828-4598-bd89-08d522c9f44e.json new file mode 100644 index 00000000..8af1f87e --- /dev/null +++ b/change/@fluentui-contrib-stylelint-plugin-d571b89b-5828-4598-bd89-08d522c9f44e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/stylelint-plugin", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-contrib-variant-theme-1347c744-6f0d-42c4-ae1b-6d9b610d5d06.json b/change/@fluentui-contrib-variant-theme-1347c744-6f0d-42c4-ae1b-6d9b610d5d06.json new file mode 100644 index 00000000..0e0d600d --- /dev/null +++ b/change/@fluentui-contrib-variant-theme-1347c744-6f0d-42c4-ae1b-6d9b610d5d06.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/variant-theme", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} From 46f5f1c1aa34271b1ccc1766051631311056c2f0 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 26 Feb 2025 15:16:43 +0100 Subject: [PATCH 05/10] Change files --- ...less-provider-67126431-1943-4ab5-9536-cf9b2c627a76.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@fluentui-contrib-react-themeless-provider-67126431-1943-4ab5-9536-cf9b2c627a76.json diff --git a/change/@fluentui-contrib-react-themeless-provider-67126431-1943-4ab5-9536-cf9b2c627a76.json b/change/@fluentui-contrib-react-themeless-provider-67126431-1943-4ab5-9536-cf9b2c627a76.json new file mode 100644 index 00000000..c5068b43 --- /dev/null +++ b/change/@fluentui-contrib-react-themeless-provider-67126431-1943-4ab5-9536-cf9b2c627a76.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/react-themeless-provider", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +} From 1c06493b6ef2cd072160dd86114e09609a7eb787 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Wed, 26 Feb 2025 15:23:52 +0100 Subject: [PATCH 06/10] chore: remove unused eslint-plugin-import --- eslint.config.js | 4 +- package.json | 1 - yarn.lock | 110 ++++++----------------------------------------- 3 files changed, 14 insertions(+), 101 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 77d32f9d..3b0f0095 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,6 +1,5 @@ const prettierConfig = require('eslint-config-prettier'); const nxEslintPlugin = require('@nx/eslint-plugin'); -const eslintPluginImport = require('eslint-plugin-import'); const rnxKitEslintPlugin = require('@rnx-kit/eslint-plugin'); const stylisticPlugin = require('@stylistic/eslint-plugin'); const jsonParser = require('jsonc-eslint-parser'); @@ -26,7 +25,6 @@ module.exports = [ { plugins: { '@nx': nxEslintPlugin, - import: eslintPluginImport, '@rnx-kit': rnxKitEslintPlugin, '@stylistic': stylisticPlugin, }, @@ -69,7 +67,7 @@ module.exports = [ }, { files: ['**/*.ts?(x)', '**/*.js?(x)'], - rules: { 'import/no-extraneous-dependencies': ['error'] }, + rules: {}, ignores: [ '**/*.test.[jt]s?(x)', '**/*.spec.[jt]s?(x)', diff --git a/package.json b/package.json index 91a6e109..042d1dac 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,6 @@ "beachball": "^2.33.2", "eslint": "9.21.0", "eslint-config-prettier": "10.0.2", - "eslint-plugin-import": "2.31.0", "eslint-plugin-playwright": "2.2.0", "globals": "15.15.0", "jest": "29.7.0", diff --git a/yarn.lock b/yarn.lock index 7b081bb6..66c08dd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4342,11 +4342,6 @@ resolved "https://registry.yarnpkg.com/@rspack/lite-tapable/-/lite-tapable-1.0.1.tgz#d4540a5d28bd6177164bc0ba0bee4bdec0458591" integrity sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w== -"@rtsao/scc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" - integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== - "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" @@ -5646,11 +5641,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - "@types/keyv@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" @@ -6579,19 +6569,7 @@ array.prototype.findlast@^1.2.5: es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" -array.prototype.findlastindex@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: +array.prototype.flat@^1.3.1: version "1.3.3" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== @@ -6601,7 +6579,7 @@ array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: es-abstract "^1.23.5" es-shim-unscopables "^1.0.2" -array.prototype.flatmap@^1.3.2, array.prototype.flatmap@^1.3.3: +array.prototype.flatmap@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== @@ -8806,47 +8784,6 @@ eslint-config-prettier@10.0.2: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz#47444de8aa104ce82c2f91ad2a5e96b62c01e20d" integrity sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg== -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" - integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@2.31.0: - version "2.31.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" - integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== - dependencies: - "@rtsao/scc" "^1.1.0" - array-includes "^3.1.8" - array.prototype.findlastindex "^1.2.5" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.12.0" - hasown "^2.0.2" - is-core-module "^2.15.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - object.groupby "^1.0.3" - object.values "^1.2.0" - semver "^6.3.1" - string.prototype.trimend "^1.0.8" - tsconfig-paths "^3.15.0" - eslint-plugin-playwright@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-playwright/-/eslint-plugin-playwright-2.2.0.tgz#d7eda21e670274fc0c006e11ba5cc2c8417b2a6e" @@ -10535,7 +10472,7 @@ is-callable@^1.1.3, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0: +is-core-module@^2.13.0, is-core-module@^2.5.0: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -11543,13 +11480,6 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" @@ -12334,7 +12264,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -12717,16 +12647,7 @@ object.fromentries@^2.0.8: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.groupby@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.values@^1.1.6, object.values@^1.2.0, object.values@^1.2.1: +object.values@^1.1.6, object.values@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== @@ -14191,12 +14112,17 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve.exports@2.0.3, resolve.exports@^2.0.0: +resolve.exports@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@1.22.8, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.4: +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@1.22.8, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -15052,7 +14978,7 @@ string.prototype.trim@^1.2.10: es-object-atoms "^1.0.0" has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: +string.prototype.trimend@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== @@ -15597,16 +15523,6 @@ tsconfig-paths-webpack-plugin@4.0.0: enhanced-resolve "^5.7.0" tsconfig-paths "^4.0.0" -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: version "4.2.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" From c617ea032d80607da3a15e19b82b06dc10f4d6fa Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 31 Mar 2025 12:07:05 +0200 Subject: [PATCH 07/10] chore: bring back dependency-checks rule after eslint 9 flat config migration --- eslint.config.js | 21 +++++++++++++++- .../react-gamepad-navigation/eslint.config.js | 24 +++++++++++++++++++ .../react-gamepad-navigation/package.json | 11 ++++----- 3 files changed, 49 insertions(+), 7 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 3b0f0095..2722589f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -135,6 +135,25 @@ module.exports = [ languageOptions: { parser: jsonParser, }, - rules: {}, + rules: { + '@nx/dependency-checks': [ + 'error', + { + includeTransitiveDependencies: false, + ignoredDependencies: [ + '@types/react', + '@types/react-dom', + '@swc/helpers', + ], + ignoredFiles: [ + '{projectRoot}/playwright.config.ts', + '{projectRoot}/playwright/**', + '{projectRoot}/.storybook/**', + '{projectRoot}/stories/**', + '{projectRoot}/**/*.component-browser-spec.tsx', + ], + }, + ], + }, }, ]; diff --git a/packages/react-gamepad-navigation/eslint.config.js b/packages/react-gamepad-navigation/eslint.config.js index eafb4fd2..d2347b07 100644 --- a/packages/react-gamepad-navigation/eslint.config.js +++ b/packages/react-gamepad-navigation/eslint.config.js @@ -1,5 +1,12 @@ const baseConfig = require('../../eslint.config.js'); +const jsonRuleset = baseConfig.find((ruleset) => { + return ruleset.files?.includes('**/*.json'); +}); + +const [, dependencyChecksConfig] = + jsonRuleset.rules['@nx/dependency-checks'] ?? []; + module.exports = [ ...baseConfig, { @@ -17,4 +24,21 @@ module.exports = [ // Override or add rules here rules: {}, }, + { + files: ['**/*.json'], + // Override or add rules here + rules: { + '@nx/dependency-checks': [ + 'error', + { + ...dependencyChecksConfig, + ignoredDependencies: [ + ...dependencyChecksConfig.ignoredDependencies, + // FIXME: suite version needs to be aligned in monorepo: "error The version specifier does not contain the installed version of "@fluentui/react-components" package: 9.54.14 @nx/dependency-checks" + '@fluentui/react-components', + ], + }, + ], + }, + }, ]; diff --git a/packages/react-gamepad-navigation/package.json b/packages/react-gamepad-navigation/package.json index 644f9f10..88398cd4 100644 --- a/packages/react-gamepad-navigation/package.json +++ b/packages/react-gamepad-navigation/package.json @@ -1,16 +1,15 @@ { "name": "@fluentui-contrib/react-gamepad-navigation", "version": "0.1.1", - "dependencies": { - "@fluentui/react-tabster": ">=9.17.2 < 10.0.0" - }, "main": "./src/index.js", "typings": "./src/index.d.ts", + "dependencies": { + "@fluentui/react-tabster": "^9.17.2", + "@swc/helpers": "~0.5.2" + }, "peerDependencies": { "@fluentui/react-components": ">=9.56.8 <10.0.0", "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "react": ">=16.8.0 <19.0.0" } } From 22b28f24c9732140ea7d9501378527b4b2b3fe0c Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 31 Mar 2025 13:24:45 +0200 Subject: [PATCH 08/10] lint: remove empty ruleset which is not needed after eslint 9 flat migration --- eslint.config.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 2722589f..e30193df 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -65,21 +65,6 @@ module.exports = [ '@rnx-kit/no-export-all': 'error', }, }, - { - files: ['**/*.ts?(x)', '**/*.js?(x)'], - rules: {}, - ignores: [ - '**/*.test.[jt]s?(x)', - '**/*.spec.[jt]s?(x)', - '**/*.stories.[jt]s?(x)', - '**/stories/**', - '**/*.component-browser-spec.tsx', - '**/generators/**/files/**', - '**/.storybook/**', - '**/playwright.config.ts', - '**/playwright/**', - ], - }, { files: ['**/*.spec.[jt]s?(x)', '**/*.test.[jt]s?(x)'], languageOptions: { From b41ffe669bdf53a25fb1ee71c555b1e5b35bcf26 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 31 Mar 2025 13:32:45 +0200 Subject: [PATCH 09/10] chore: fix yarn lock --- packages/react-tree-grid/package.json | 4 ++-- yarn.lock | 7 +------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/react-tree-grid/package.json b/packages/react-tree-grid/package.json index 1248b0bd..5ff9b2a7 100644 --- a/packages/react-tree-grid/package.json +++ b/packages/react-tree-grid/package.json @@ -9,7 +9,7 @@ "dependencies": { "@fluentui/react-jsx-runtime": "^9.0.29", "@fluentui/keyboard-keys": "~9.0.6", - "@fluentui/react-tabster": ">=9.17.2 < 10.0.0", - "@fluentui/react-utilities": ">=9.16.0 < 10.0.0" + "@fluentui/react-tabster": "^9.17.2", + "@fluentui/react-utilities": "^9.16.0" } } diff --git a/yarn.lock b/yarn.lock index 66c08dd3..509a7aeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14112,16 +14112,11 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve.exports@2.0.3: +resolve.exports@2.0.3, resolve.exports@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - resolve@1.22.8, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" From 626f6094e690c5545f59245b87e0130fa73e2237 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 31 Mar 2025 14:16:44 +0200 Subject: [PATCH 10/10] Change files --- ...ms-components-c4004edf-c605-4a49-90b1-9f08c9b0edd8.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@fluentui-contrib-teams-components-c4004edf-c605-4a49-90b1-9f08c9b0edd8.json diff --git a/change/@fluentui-contrib-teams-components-c4004edf-c605-4a49-90b1-9f08c9b0edd8.json b/change/@fluentui-contrib-teams-components-c4004edf-c605-4a49-90b1-9f08c9b0edd8.json new file mode 100644 index 00000000..6032618a --- /dev/null +++ b/change/@fluentui-contrib-teams-components-c4004edf-c605-4a49-90b1-9f08c9b0edd8.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "fix: normalize package dependencies", + "packageName": "@fluentui-contrib/teams-components", + "email": "hochelmartin@gmail.com", + "dependentChangeType": "patch" +}