From 4f0f2dafca98dd34dd09ecc50bc277bae7b6760a Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 01:44:42 -0800 Subject: [PATCH 1/8] lint-package makes some fixes --- .github/workflows/pr.yml | 8 +------- lage.config.js => lage.config.mjs | 30 ++++++++++++++++++++++-------- package.json | 5 +++-- 3 files changed, 26 insertions(+), 17 deletions(-) rename lage.config.js => lage.config.mjs (59%) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 494f8c7f7c..51d2644171 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -27,12 +27,6 @@ jobs: - name: Install dependencies run: yarn - - name: Check formatting - run: yarn format:check - - - name: Run lint-lockfile - run: yarn lint-lockfile - - name: Build CI run: yarn buildci @@ -325,7 +319,7 @@ jobs: run: yarn build - name: Simulate publish - run: yarn lage publish-dry-run --verbose --grouped + run: yarn lage publish:dry-run --verbose --grouped test-links: name: Test repo links diff --git a/lage.config.js b/lage.config.mjs similarity index 59% rename from lage.config.js rename to lage.config.mjs index 3fd5d25fa6..9c73ce9f82 100644 --- a/lage.config.js +++ b/lage.config.mjs @@ -2,6 +2,7 @@ const config = { npmClient: 'yarn', pipeline: { + // ── Per-package tasks ────────────────────────────────────────────────── 'build-cjs': { // cjs builds need to wait for the esm builds to produce the type definitions dependsOn: ['^build-core', '^build-cjs'], @@ -20,7 +21,6 @@ const config = { inputs: ['*', 'src/**/*', 'assets/**/*'], outputs: ['lib/**/*', 'lib-commonjs/**/*'], }, - buildci: ['build-all', 'test', 'lint', 'lint-package'], bundle: { inputs: ['**/*', '!node_modules/**/*', '!dist/**/*', '!lib/**/*', '!lib-commonjs/**/*'], outputs: ['dist/**/*'], @@ -36,16 +36,30 @@ const config = { inputs: ['**/*', '!node_modules/**/*', '!dist/**/*', '!lib/**/*', '!lib-commonjs/**/*'], outputs: [], }, - format: { - inputs: ['*', 'src/**/*'], - outputs: [], - }, - 'pr-check': ['buildci', 'lint-package', 'lint-lockfile', 'format:check'], test: { dependsOn: ['build-all'], inputs: [], outputs: [], }, + + // ── Root-only tasks (scripts exist only in the root package.json) ────── + // These run once for the whole repo. Sub-packages do not have these scripts, + // so lage naturally scopes them to the root workspace. + 'check-publishing': { + cache: false, + }, + 'format:check': { + cache: false, + }, + 'lint-lockfile': { + cache: false, + }, + + // ── Pipeline aliases ─────────────────────────────────────────────────── + 'repo-checks': ['lint-lockfile', 'format:check', 'check-publishing'], + buildci: ['build-all', 'test', 'lint', 'lint-package', 'repo-checks'], + + // ── Worker tasks ─────────────────────────────────────────────────────── publish: { dependsOn: ['^publish'], type: 'worker', @@ -54,7 +68,7 @@ const config = { }, cache: false, }, - 'publish-dry-run': { + 'publish:dry-run': { dependsOn: ['^publish-dry-run'], type: 'worker', options: { @@ -66,4 +80,4 @@ const config = { }, }; -module.exports = config; +export default config; diff --git a/package.json b/package.json index ddf338c898..f72d07ede7 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "url": "https://github.com/microsoft/fluentui-react-native.git" }, "workspaces": [ + ".", "apps/*", "packages/**", "scripts" @@ -28,10 +29,10 @@ "lint-fix": "cross-env FURN_FIX_MODE=true lage lint", "lint-package": "lage lint-package", "lint-package-fix": "cross-env FURN_FIX_MODE=true lage lint-package", - "pr-check": "lage pr-check", - "preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", +"preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", "format": "oxfmt", "format:check": "oxfmt --check", + "lint-lockfile": "lint-lockfile", "test": "lage test", "test-links": "markdown-link-check" }, From 6726bc80a2c1f0ba01ad732e6d0ffd4b8284dc46 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 01:46:32 -0800 Subject: [PATCH 2/8] lint-package --- apps/tester-core/package.json | 8 +++++- apps/win32-81/package.json | 27 ++++++++++++++++++- apps/win32/package.json | 27 ++++++++++++++++++- packages/deprecated/theming-ramp/package.json | 5 ++-- packages/utils/test-tools/package.json | 5 ++-- 5 files changed, 65 insertions(+), 7 deletions(-) diff --git a/apps/tester-core/package.json b/apps/tester-core/package.json index 09159e985e..ee709d0fce 100644 --- a/apps/tester-core/package.json +++ b/apps/tester-core/package.json @@ -194,6 +194,12 @@ }, "@types/react": { "optional": true + }, + "react-native-macos": { + "optional": true + }, + "react-native-windows": { + "optional": true } }, "jest": { @@ -223,4 +229,4 @@ }, "extends": "@fluentui-react-native/kit-config" } -} +} \ No newline at end of file diff --git a/apps/win32-81/package.json b/apps/win32-81/package.json index 382891b401..e1dbf8e64a 100644 --- a/apps/win32-81/package.json +++ b/apps/win32-81/package.json @@ -138,5 +138,30 @@ ] }, "extends": "@fluentui-react-native/kit-config" + }, + "peerDependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", + "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" + }, + "peerDependenciesMeta": { + "react-native-macos": { + "optional": true + }, + "react-native-windows": { + "optional": true + } } -} +} \ No newline at end of file diff --git a/apps/win32/package.json b/apps/win32/package.json index 72e242ac32..da66938320 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -130,5 +130,30 @@ ] }, "extends": "@fluentui-react-native/kit-config" + }, + "peerDependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", + "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" + }, + "peerDependenciesMeta": { + "react-native-macos": { + "optional": true + }, + "react-native-windows": { + "optional": true + } } -} +} \ No newline at end of file diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index b0ac082372..d0918e35de 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -54,7 +54,8 @@ }, "peerDependencies": { "@types/react": "~18.2.0 || ~19.0.0 || ~19.1.0", - "react": "18.2.0 || 19.0.0 || 19.1.0" + "react": "18.2.0 || 19.0.0 || 19.1.0", + "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" }, "peerDependenciesMeta": { "@types/react": { @@ -72,4 +73,4 @@ }, "extends": "@fluentui-react-native/kit-config" } -} +} \ No newline at end of file diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index cfba87109a..401d563d6d 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -50,7 +50,8 @@ }, "peerDependencies": { "react": "18.2.0 || 19.0.0 || 19.1.0", - "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" + "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", + "@types/react": "~18.2.0 || ~19.0.0 || ~19.1.0" }, "rnx-kit": { "kitType": "library", @@ -62,4 +63,4 @@ ] } } -} +} \ No newline at end of file From 8d4fb9df7d2659e5cf19f70cc312f8fa3a3291c4 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 01:50:20 -0800 Subject: [PATCH 3/8] yarn format --- apps/tester-core/package.json | 2 +- apps/win32-81/package.json | 52 +++++++++---------- apps/win32/package.json | 52 +++++++++---------- packages/deprecated/theming-ramp/package.json | 2 +- packages/utils/test-tools/package.json | 6 +-- 5 files changed, 57 insertions(+), 57 deletions(-) diff --git a/apps/tester-core/package.json b/apps/tester-core/package.json index ee709d0fce..14195f1bb3 100644 --- a/apps/tester-core/package.json +++ b/apps/tester-core/package.json @@ -229,4 +229,4 @@ }, "extends": "@fluentui-react-native/kit-config" } -} \ No newline at end of file +} diff --git a/apps/win32-81/package.json b/apps/win32-81/package.json index e1dbf8e64a..2ebf61a5d1 100644 --- a/apps/win32-81/package.json +++ b/apps/win32-81/package.json @@ -75,6 +75,31 @@ "react-test-renderer": "19.1.0", "rimraf": "catalog:" }, + "peerDependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", + "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" + }, + "peerDependenciesMeta": { + "react-native-macos": { + "optional": true + }, + "react-native-windows": { + "optional": true + } + }, "jest": { "preset": "react-native" }, @@ -138,30 +163,5 @@ ] }, "extends": "@fluentui-react-native/kit-config" - }, - "peerDependencies": { - "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/experimental-appearance-additions": "workspace:*", - "@fluentui-react-native/experimental-avatar": "workspace:*", - "@fluentui-react-native/experimental-checkbox": "workspace:*", - "@fluentui-react-native/experimental-expander": "workspace:*", - "@fluentui-react-native/experimental-native-date-picker": "workspace:*", - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", - "@fluentui-react-native/experimental-shimmer": "workspace:*", - "@fluentui-react-native/focus-zone": "workspace:*", - "@fluentui-react-native/menu-button": "workspace:*", - "@fluentui-react-native/radio-group": "workspace:*", - "@fluentui-react-native/tooltip": "workspace:*", - "@fluentui-react-native/vibrancy-view": "workspace:*", - "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", - "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" - }, - "peerDependenciesMeta": { - "react-native-macos": { - "optional": true - }, - "react-native-windows": { - "optional": true - } } -} \ No newline at end of file +} diff --git a/apps/win32/package.json b/apps/win32/package.json index da66938320..2239f04aaf 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -70,6 +70,31 @@ "react-test-renderer": "18.2.0", "rimraf": "catalog:" }, + "peerDependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", + "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" + }, + "peerDependenciesMeta": { + "react-native-macos": { + "optional": true + }, + "react-native-windows": { + "optional": true + } + }, "jest": { "preset": "react-native" }, @@ -130,30 +155,5 @@ ] }, "extends": "@fluentui-react-native/kit-config" - }, - "peerDependencies": { - "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/experimental-appearance-additions": "workspace:*", - "@fluentui-react-native/experimental-avatar": "workspace:*", - "@fluentui-react-native/experimental-checkbox": "workspace:*", - "@fluentui-react-native/experimental-expander": "workspace:*", - "@fluentui-react-native/experimental-native-date-picker": "workspace:*", - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", - "@fluentui-react-native/experimental-shimmer": "workspace:*", - "@fluentui-react-native/focus-zone": "workspace:*", - "@fluentui-react-native/menu-button": "workspace:*", - "@fluentui-react-native/radio-group": "workspace:*", - "@fluentui-react-native/tooltip": "workspace:*", - "@fluentui-react-native/vibrancy-view": "workspace:*", - "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", - "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" - }, - "peerDependenciesMeta": { - "react-native-macos": { - "optional": true - }, - "react-native-windows": { - "optional": true - } } -} \ No newline at end of file +} diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index d0918e35de..50509590b5 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -73,4 +73,4 @@ }, "extends": "@fluentui-react-native/kit-config" } -} \ No newline at end of file +} diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index 401d563d6d..e94a31fff0 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -49,9 +49,9 @@ "react-test-renderer": "19.1.0" }, "peerDependencies": { + "@types/react": "~18.2.0 || ~19.0.0 || ~19.1.0", "react": "18.2.0 || 19.0.0 || 19.1.0", - "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", - "@types/react": "~18.2.0 || ~19.0.0 || ~19.1.0" + "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" }, "rnx-kit": { "kitType": "library", @@ -63,4 +63,4 @@ ] } } -} \ No newline at end of file +} From 603c9b98447dc47ebea84e98768f1c5a6c7c4849 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 01:55:24 -0800 Subject: [PATCH 4/8] lint-package-fix && format --- packages/utils/test-tools/package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index e94a31fff0..23cb4fe317 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -53,6 +53,11 @@ "react": "18.2.0 || 19.0.0 || 19.1.0", "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + }, "rnx-kit": { "kitType": "library", "extends": "@fluentui-react-native/kit-config", From 0159431256afc5a50bae1a9c28ed736c25ce46a2 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 01:56:12 -0800 Subject: [PATCH 5/8] remove root lage to stop a recursion thing --- .github/workflows/pr.yml | 2 +- package.json | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 51d2644171..9bf821060a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -28,7 +28,7 @@ jobs: run: yarn - name: Build CI - run: yarn buildci + run: yarn lage buildci android: name: Android PR diff --git a/package.json b/package.json index f72d07ede7..449b87e397 100644 --- a/package.json +++ b/package.json @@ -16,24 +16,18 @@ ], "scripts": { "build": "lage build-all", - "buildci": "lage buildci", "clean-all": "node ./scripts/src/preinstall/clean-all.js", "docs": "yarn workspace fluent-rn-website start", - "bundle": "lage bundle", - "clean": "lage clean", "change": "changeset", "changeset:version": "node .github/scripts/changeset-version-with-postbump.mts", "changeset:validate": "node .github/scripts/validate-changesets.mts", "check-publishing": "node ./scripts/src/cli.mjs check-publishing", - "lint": "lage lint", "lint-fix": "cross-env FURN_FIX_MODE=true lage lint", - "lint-package": "lage lint-package", "lint-package-fix": "cross-env FURN_FIX_MODE=true lage lint-package", -"preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", + "preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", "format": "oxfmt", "format:check": "oxfmt --check", "lint-lockfile": "lint-lockfile", - "test": "lage test", "test-links": "markdown-link-check" }, "devDependencies": { From 1cd38ff0204426f150e13466af64f542a066fdc2 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Sun, 1 Mar 2026 02:56:47 -0800 Subject: [PATCH 6/8] update lock --- yarn.lock | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/yarn.lock b/yarn.lock index 5cab8e54e5..90463810bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5257,8 +5257,12 @@ __metadata: react-native: "npm:^0.81.0" react-test-renderer: "npm:19.1.0" peerDependencies: + "@types/react": ~18.2.0 || ~19.0.0 || ~19.1.0 react: 18.2.0 || 19.0.0 || 19.1.0 react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 + peerDependenciesMeta: + "@types/react": + optional: true languageName: unknown linkType: soft @@ -5411,6 +5415,10 @@ __metadata: optional: true "@types/react": optional: true + react-native-macos: + optional: true + react-native-windows: + optional: true languageName: unknown linkType: soft @@ -5454,6 +5462,27 @@ __metadata: react-native-test-app: "npm:^4.4.11" react-test-renderer: "npm:19.1.0" rimraf: "catalog:" + peerDependencies: + "@fluentui-react-native/callout": "workspace:*" + "@fluentui-react-native/experimental-appearance-additions": "workspace:*" + "@fluentui-react-native/experimental-avatar": "workspace:*" + "@fluentui-react-native/experimental-checkbox": "workspace:*" + "@fluentui-react-native/experimental-expander": "workspace:*" + "@fluentui-react-native/experimental-native-date-picker": "workspace:*" + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" + "@fluentui-react-native/experimental-shimmer": "workspace:*" + "@fluentui-react-native/focus-zone": "workspace:*" + "@fluentui-react-native/menu-button": "workspace:*" + "@fluentui-react-native/radio-group": "workspace:*" + "@fluentui-react-native/tooltip": "workspace:*" + "@fluentui-react-native/vibrancy-view": "workspace:*" + react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 + react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 + peerDependenciesMeta: + react-native-macos: + optional: true + react-native-windows: + optional: true languageName: unknown linkType: soft @@ -5492,6 +5521,27 @@ __metadata: react-native-test-app: "npm:^3.9.2" react-test-renderer: "npm:18.2.0" rimraf: "catalog:" + peerDependencies: + "@fluentui-react-native/callout": "workspace:*" + "@fluentui-react-native/experimental-appearance-additions": "workspace:*" + "@fluentui-react-native/experimental-avatar": "workspace:*" + "@fluentui-react-native/experimental-checkbox": "workspace:*" + "@fluentui-react-native/experimental-expander": "workspace:*" + "@fluentui-react-native/experimental-native-date-picker": "workspace:*" + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" + "@fluentui-react-native/experimental-shimmer": "workspace:*" + "@fluentui-react-native/focus-zone": "workspace:*" + "@fluentui-react-native/menu-button": "workspace:*" + "@fluentui-react-native/radio-group": "workspace:*" + "@fluentui-react-native/tooltip": "workspace:*" + "@fluentui-react-native/vibrancy-view": "workspace:*" + react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 + react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 + peerDependenciesMeta: + react-native-macos: + optional: true + react-native-windows: + optional: true languageName: unknown linkType: soft @@ -10620,6 +10670,7 @@ __metadata: peerDependencies: "@types/react": ~18.2.0 || ~19.0.0 || ~19.1.0 react: 18.2.0 || 19.0.0 || 19.1.0 + react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 peerDependenciesMeta: "@types/react": optional: true From a777620e0f9f6d80848c931d5df5f5917549ed61 Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Mon, 2 Mar 2026 15:38:44 -0800 Subject: [PATCH 7/8] fix peer deps --- apps/win32-81/package.json | 36 ++++---- apps/win32/package.json | 41 ++++----- yarn.lock | 170 +++++++++++++++++++++++++++++-------- 3 files changed, 164 insertions(+), 83 deletions(-) diff --git a/apps/win32-81/package.json b/apps/win32-81/package.json index 2ebf61a5d1..66b211cdf6 100644 --- a/apps/win32-81/package.json +++ b/apps/win32-81/package.json @@ -36,12 +36,26 @@ "start": "rnx-cli start" }, "dependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", "@fluentui-react-native/tester-core": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", "@office-iss/react-native-win32": "^0.81.0", "@types/react": "~19.1.0", "react": "19.1.0", "react-native": "^0.81.0", - "react-native-svg": "^15.12.1" + "react-native-svg": "^15.12.1", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" }, "devDependencies": { "@babel/core": "catalog:", @@ -75,27 +89,7 @@ "react-test-renderer": "19.1.0", "rimraf": "catalog:" }, - "peerDependencies": { - "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/experimental-appearance-additions": "workspace:*", - "@fluentui-react-native/experimental-avatar": "workspace:*", - "@fluentui-react-native/experimental-checkbox": "workspace:*", - "@fluentui-react-native/experimental-expander": "workspace:*", - "@fluentui-react-native/experimental-native-date-picker": "workspace:*", - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", - "@fluentui-react-native/experimental-shimmer": "workspace:*", - "@fluentui-react-native/focus-zone": "workspace:*", - "@fluentui-react-native/menu-button": "workspace:*", - "@fluentui-react-native/radio-group": "workspace:*", - "@fluentui-react-native/tooltip": "workspace:*", - "@fluentui-react-native/vibrancy-view": "workspace:*", - "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", - "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" - }, "peerDependenciesMeta": { - "react-native-macos": { - "optional": true - }, "react-native-windows": { "optional": true } diff --git a/apps/win32/package.json b/apps/win32/package.json index 2239f04aaf..d3f1448962 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -36,12 +36,26 @@ "start": "rnx-cli start" }, "dependencies": { + "@fluentui-react-native/callout": "workspace:*", + "@fluentui-react-native/experimental-appearance-additions": "workspace:*", + "@fluentui-react-native/experimental-avatar": "workspace:*", + "@fluentui-react-native/experimental-checkbox": "workspace:*", + "@fluentui-react-native/experimental-expander": "workspace:*", + "@fluentui-react-native/experimental-native-date-picker": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", + "@fluentui-react-native/experimental-shimmer": "workspace:*", + "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", + "@fluentui-react-native/radio-group": "workspace:*", "@fluentui-react-native/tester-core": "workspace:*", + "@fluentui-react-native/tooltip": "workspace:*", + "@fluentui-react-native/vibrancy-view": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@types/react": "~18.2.0", "react": "18.2.0", "react-native": "^0.74.0", - "react-native-svg": ">=15.4.0 <15.13.0" + "react-native-svg": ">=15.4.0 <15.13.0", + "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" }, "devDependencies": { "@babel/core": "catalog:", @@ -70,31 +84,6 @@ "react-test-renderer": "18.2.0", "rimraf": "catalog:" }, - "peerDependencies": { - "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/experimental-appearance-additions": "workspace:*", - "@fluentui-react-native/experimental-avatar": "workspace:*", - "@fluentui-react-native/experimental-checkbox": "workspace:*", - "@fluentui-react-native/experimental-expander": "workspace:*", - "@fluentui-react-native/experimental-native-date-picker": "workspace:*", - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", - "@fluentui-react-native/experimental-shimmer": "workspace:*", - "@fluentui-react-native/focus-zone": "workspace:*", - "@fluentui-react-native/menu-button": "workspace:*", - "@fluentui-react-native/radio-group": "workspace:*", - "@fluentui-react-native/tooltip": "workspace:*", - "@fluentui-react-native/vibrancy-view": "workspace:*", - "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0", - "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" - }, - "peerDependenciesMeta": { - "react-native-macos": { - "optional": true - }, - "react-native-windows": { - "optional": true - } - }, "jest": { "preset": "react-native" }, diff --git a/yarn.lock b/yarn.lock index 90463810bd..aa8e33a71f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5429,10 +5429,23 @@ __metadata: "@babel/core": "catalog:" "@babel/runtime": "catalog:" "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/experimental-appearance-additions": "workspace:*" + "@fluentui-react-native/experimental-avatar": "workspace:*" + "@fluentui-react-native/experimental-checkbox": "workspace:*" + "@fluentui-react-native/experimental-expander": "workspace:*" + "@fluentui-react-native/experimental-native-date-picker": "workspace:*" + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" + "@fluentui-react-native/experimental-shimmer": "workspace:*" + "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/kit-config": "workspace:*" + "@fluentui-react-native/menu-button": "workspace:*" + "@fluentui-react-native/radio-group": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tester-core": "workspace:*" + "@fluentui-react-native/tooltip": "workspace:*" + "@fluentui-react-native/vibrancy-view": "workspace:*" "@office-iss/react-native-win32": "npm:^0.81.0" "@office-iss/rex-win32": "npm:0.81.0-preview.0" "@react-native-community/cli": "npm:^20.0.0" @@ -5460,27 +5473,10 @@ __metadata: react-native-svg: "npm:^15.12.1" react-native-svg-transformer: "npm:^1.0.0" react-native-test-app: "npm:^4.4.11" + react-native-windows: "npm:^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" react-test-renderer: "npm:19.1.0" rimraf: "catalog:" - peerDependencies: - "@fluentui-react-native/callout": "workspace:*" - "@fluentui-react-native/experimental-appearance-additions": "workspace:*" - "@fluentui-react-native/experimental-avatar": "workspace:*" - "@fluentui-react-native/experimental-checkbox": "workspace:*" - "@fluentui-react-native/experimental-expander": "workspace:*" - "@fluentui-react-native/experimental-native-date-picker": "workspace:*" - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" - "@fluentui-react-native/experimental-shimmer": "workspace:*" - "@fluentui-react-native/focus-zone": "workspace:*" - "@fluentui-react-native/menu-button": "workspace:*" - "@fluentui-react-native/radio-group": "workspace:*" - "@fluentui-react-native/tooltip": "workspace:*" - "@fluentui-react-native/vibrancy-view": "workspace:*" - react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 - react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 peerDependenciesMeta: - react-native-macos: - optional: true react-native-windows: optional: true languageName: unknown @@ -5493,10 +5489,23 @@ __metadata: "@babel/core": "catalog:" "@babel/runtime": "catalog:" "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/experimental-appearance-additions": "workspace:*" + "@fluentui-react-native/experimental-avatar": "workspace:*" + "@fluentui-react-native/experimental-checkbox": "workspace:*" + "@fluentui-react-native/experimental-expander": "workspace:*" + "@fluentui-react-native/experimental-native-date-picker": "workspace:*" + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" + "@fluentui-react-native/experimental-shimmer": "workspace:*" + "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/kit-config": "workspace:*" + "@fluentui-react-native/menu-button": "workspace:*" + "@fluentui-react-native/radio-group": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tester-core": "workspace:*" + "@fluentui-react-native/tooltip": "workspace:*" + "@fluentui-react-native/vibrancy-view": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@office-iss/rex-win32": "npm:0.73.11-devmain.16.0.17615.15030" "@react-native-community/cli": "npm:^13.6.4" @@ -5519,27 +5528,10 @@ __metadata: react-native-svg: "npm:>=15.4.0 <15.13.0" react-native-svg-transformer: "npm:^1.0.0" react-native-test-app: "npm:^3.9.2" + react-native-windows: "npm:^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0" react-test-renderer: "npm:18.2.0" rimraf: "catalog:" - peerDependencies: - "@fluentui-react-native/callout": "workspace:*" - "@fluentui-react-native/experimental-appearance-additions": "workspace:*" - "@fluentui-react-native/experimental-avatar": "workspace:*" - "@fluentui-react-native/experimental-checkbox": "workspace:*" - "@fluentui-react-native/experimental-expander": "workspace:*" - "@fluentui-react-native/experimental-native-date-picker": "workspace:*" - "@fluentui-react-native/experimental-native-font-metrics": "workspace:*" - "@fluentui-react-native/experimental-shimmer": "workspace:*" - "@fluentui-react-native/focus-zone": "workspace:*" - "@fluentui-react-native/menu-button": "workspace:*" - "@fluentui-react-native/radio-group": "workspace:*" - "@fluentui-react-native/tooltip": "workspace:*" - "@fluentui-react-native/vibrancy-view": "workspace:*" - react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 - react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0 peerDependenciesMeta: - react-native-macos: - optional: true react-native-windows: optional: true languageName: unknown @@ -8551,6 +8543,37 @@ __metadata: languageName: node linkType: hard +"@react-native-windows/cli@npm:0.81.2": + version: 0.81.2 + resolution: "@react-native-windows/cli@npm:0.81.2" + dependencies: + "@react-native-windows/codegen": "npm:0.81.2" + "@react-native-windows/fs": "npm:0.81.0" + "@react-native-windows/package-utils": "npm:0.81.0" + "@react-native-windows/telemetry": "npm:0.81.0" + "@xmldom/xmldom": "npm:^0.7.7" + chalk: "npm:^4.1.0" + cli-spinners: "npm:^2.2.0" + envinfo: "npm:^7.5.0" + execa: "npm:^5.0.0" + find-up: "npm:^4.1.0" + glob: "npm:^7.1.1" + lodash: "npm:^4.17.15" + mustache: "npm:^4.0.1" + ora: "npm:^3.4.0" + prompts: "npm:^2.4.1" + semver: "npm:^7.3.2" + shelljs: "npm:^0.8.4" + username: "npm:^5.1.0" + xml-formatter: "npm:^2.4.0" + xml-parser: "npm:^1.2.1" + xpath: "npm:^0.0.27" + peerDependencies: + react-native: ^0.81.0-0 + checksum: 10c0/de9a42e47447ae3a8234df121eefc6a3b4dd53c42e9c69ab868ce3a7625969eccb0fa7d1ddb73949a3671e83169e6ba64153c05c3dcb608605c703fa21cc70b7 + languageName: node + linkType: hard + "@react-native-windows/cli@npm:^0.74.0": version: 0.74.12 resolution: "@react-native-windows/cli@npm:0.74.12" @@ -8618,6 +8641,24 @@ __metadata: languageName: node linkType: hard +"@react-native-windows/codegen@npm:0.81.2": + version: 0.81.2 + resolution: "@react-native-windows/codegen@npm:0.81.2" + dependencies: + "@react-native-windows/fs": "npm:0.81.0" + chalk: "npm:^4.1.0" + globby: "npm:^11.1.0" + mustache: "npm:^4.0.1" + source-map-support: "npm:^0.5.19" + yargs: "npm:^16.2.0" + peerDependencies: + react-native: ^0.81.0-0 + bin: + react-native-windows-codegen: bin.js + checksum: 10c0/080e2673493473bad1c9201a83e92e9a9799ac5e5b59b5b7cb6ad705592caad27b9b230dd292621b21284f18df41ff92e3bc4b1ba28e6a106c470368f58f5d6c + languageName: node + linkType: hard + "@react-native-windows/find-repo-root@npm:0.74.1": version: 0.74.1 resolution: "@react-native-windows/find-repo-root@npm:0.74.1" @@ -21850,6 +21891,63 @@ __metadata: languageName: node linkType: hard +"react-native-windows@npm:^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0": + version: 0.81.4 + resolution: "react-native-windows@npm:0.81.4" + dependencies: + "@babel/runtime": "npm:^7.0.0" + "@jest/create-cache-key-function": "npm:^29.7.0" + "@react-native-community/cli": "npm:17.0.0" + "@react-native-community/cli-platform-android": "npm:17.0.0" + "@react-native-community/cli-platform-ios": "npm:17.0.0" + "@react-native-windows/cli": "npm:0.81.2" + "@react-native/assets": "npm:1.0.0" + "@react-native/assets-registry": "npm:0.81.5" + "@react-native/codegen": "npm:0.81.5" + "@react-native/community-cli-plugin": "npm:0.81.5" + "@react-native/gradle-plugin": "npm:0.81.5" + "@react-native/js-polyfills": "npm:0.81.5" + "@react-native/new-app-screen": "npm:0.81.5" + "@react-native/normalize-colors": "npm:0.81.5" + "@react-native/virtualized-lists": "npm:0.81.5" + abort-controller: "npm:^3.0.0" + anser: "npm:^1.4.9" + ansi-regex: "npm:^5.0.0" + babel-jest: "npm:^29.7.0" + babel-plugin-syntax-hermes-parser: "npm:0.28.1" + base64-js: "npm:^1.5.1" + chalk: "npm:^4.0.0" + commander: "npm:^12.0.0" + event-target-shim: "npm:^5.0.1" + flow-enums-runtime: "npm:^0.0.6" + glob: "npm:^7.1.1" + invariant: "npm:^2.2.4" + jest-environment-node: "npm:^29.7.0" + memoize-one: "npm:^5.0.0" + metro-runtime: "npm:^0.83.1" + metro-source-map: "npm:^0.82.2" + mkdirp: "npm:^0.5.1" + nullthrows: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + promise: "npm:^8.3.0" + react-devtools-core: "npm:^6.1.1" + react-refresh: "npm:^0.14.0" + regenerator-runtime: "npm:^0.13.2" + scheduler: "npm:0.26.0" + semver: "npm:^7.1.3" + source-map-support: "npm:^0.5.19" + stacktrace-parser: "npm:^0.1.10" + whatwg-fetch: "npm:^3.0.0" + ws: "npm:^6.2.3" + yargs: "npm:^17.6.2" + peerDependencies: + "@types/react": ^19.1.0 + react: ^19.1.0 + react-native: 0.81.5 + checksum: 10c0/9417eb333410dd289dac1e665fd80edc4a6316616a845db1c1083fdab51041d4789b4daf95a28f2d488593e6a1a6fb6f50044b759d773634bf1141ffaf12884d + languageName: node + linkType: hard + "react-native-windows@npm:^0.74.0": version: 0.74.46 resolution: "react-native-windows@npm:0.74.46" From b58e52ff46074b9f02ed65bb311fbea2c9203cdc Mon Sep 17 00:00:00 2001 From: Saad Najmi Date: Mon, 2 Mar 2026 15:39:58 -0800 Subject: [PATCH 8/8] remove publish dry run --- .github/workflows/pr.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9bf821060a..3a02814896 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -299,28 +299,6 @@ jobs: - name: Validate changesets run: yarn changeset:validate - publish-dry-run: - name: NPM Publish Dry Run - runs-on: ubuntu-latest - timeout-minutes: 60 - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up toolchain - uses: microsoft/react-native-test-app/.github/actions/setup-toolchain@5.0.14 - with: - node-version: 22 - - - name: Install dependencies - run: yarn - - - name: Build packages - run: yarn build - - - name: Simulate publish - run: yarn lage publish:dry-run --verbose --grouped - test-links: name: Test repo links runs-on: ubuntu-latest @@ -352,7 +330,6 @@ jobs: - windows - win32 - check-changesets - - publish-dry-run - test-links steps: - name: All required jobs passed