Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2a98cf5
switch repo to typescript 5.x
JasonVMo Jan 13, 2026
167a573
Change files
JasonVMo Jan 13, 2026
dc8ba6c
remove text behavior change from type fixes
JasonVMo Jan 13, 2026
6edd672
add lint-package command and switch to tsgo
JasonVMo Jan 16, 2026
b067295
more package.json normalization
JasonVMo Jan 17, 2026
279964d
switch runtime to automatic, clean up lint errors
JasonVMo Jan 18, 2026
7e9a561
switch everything to modern jsx-runtime
JasonVMo Jan 19, 2026
0b88d20
integrate depcheck and align deps with package linting and make thing…
JasonVMo Jan 21, 2026
8b8bb5e
Change files
JasonVMo Jan 21, 2026
aa3d567
update catalog usage and integrate it into lint-package
JasonVMo Jan 21, 2026
4439465
update eslint versions and apply fixes
JasonVMo Jan 21, 2026
2241c64
fix some last bits before submitting the PR
JasonVMo Jan 21, 2026
e2d791d
fix scripts on windows machines
JasonVMo Jan 21, 2026
5a4ffc0
Merge remote-tracking branch 'origin' into user/jasonvmo/pre-81
JasonVMo Jan 21, 2026
b3ed4d6
add lockfile update after merge
JasonVMo Jan 21, 2026
2c86546
Change files
JasonVMo Jan 21, 2026
ca77b52
Merge branch 'main' of https://github.com/microsoft/fluentui-react-na…
JasonVMo Jan 21, 2026
e3a2ff0
reorder package.json files based on standard sort-package-json order
JasonVMo Jan 21, 2026
d908242
revert change to force rewrites
JasonVMo Jan 21, 2026
98da8e8
split out tester implementation into a separate package
JasonVMo Jan 22, 2026
3724c8f
Change files
JasonVMo Jan 22, 2026
0bdc02a
fix validation errors
JasonVMo Jan 22, 2026
870c309
fix package linting error
JasonVMo Jan 22, 2026
0a30f85
Merge branch 'main' of https://github.com/microsoft/fluentui-react-na…
JasonVMo Jan 23, 2026
390d188
Merge branch 'user/jasonvmo/split-tester' of https://github.com/micro…
JasonVMo Jan 23, 2026
a461126
Change files
JasonVMo Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 1 addition & 13 deletions apps/fluent-tester/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1 @@
'use strict';

import { AppRegistry, LogBox } from 'react-native';

import { FluentTesterApp } from './src/FluentTesterApp';

// When selecting a test page, the test page button might be under the yellowbox,
//so we have to ensure that no yellowboxes are shown on boot that could affect test selection
LogBox.ignoreLogs([/.*deprecated.*/, /.*Platform is not supported.*/])

AppRegistry.registerComponent('FluentTester', () => FluentTesterApp);

export default FluentTesterApp;
require('./src/index');
285 changes: 124 additions & 161 deletions apps/fluent-tester/ios/Podfile.lock

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions apps/fluent-tester/macos/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1249,8 +1249,6 @@ PODS:
- React-Core
- React-jsi
- ReactTestApp-Resources (1.0.0-dev)
- RNCPicker (2.11.0):
- React-Core
- RNSVG (15.12.1):
- React-Core
- SocketRocket (0.7.0)
Expand Down Expand Up @@ -1320,7 +1318,6 @@ DEPENDENCIES:
- "ReactNativeHost (from `../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host`)"
- ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`)
- ReactTestApp-Resources (from `..`)
- "RNCPicker (from `../node_modules/@react-native-picker/picker`)"
- RNSVG (from `../node_modules/react-native-svg`)
- SocketRocket (from `../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec`)
- Yoga (from `../node_modules/react-native-macos/ReactCommon/yoga`)
Expand Down Expand Up @@ -1452,8 +1449,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-test-app"
ReactTestApp-Resources:
:path: ".."
RNCPicker:
:path: "../node_modules/@react-native-picker/picker"
RNSVG:
:path: "../node_modules/react-native-svg"
SocketRocket:
Expand Down Expand Up @@ -1524,7 +1519,6 @@ SPEC CHECKSUMS:
ReactNativeHost: 91d43cc8ebaf158a27f8ae406a7e8b43ec823faa
ReactTestApp-DevSupport: 52ac76197e5accf579592aa3b9aa07fd0766f211
ReactTestApp-Resources: 3c8739a3e3ed26f67f8ab68f13102fb9591301c8
RNCPicker: 124b4fb5859ba1a3fd53a91e16d1e7a0fc016e59
RNSVG: d39a9be65c439dfb061955f7615f1f71a51ecede
SocketRocket: f6c6249082c011e6de2de60ed641ef8bbe0cfac9
Yoga: bd03cda842f416ba4c2d4b79fcd0fd27e917b91e
Expand Down
65 changes: 11 additions & 54 deletions apps/fluent-tester/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,59 +44,6 @@
"preset": "react-native"
},
"dependencies": {
"@fluentui-react-native/android-theme": "workspace:*",
"@fluentui-react-native/apple-theme": "workspace:*",
"@fluentui-react-native/avatar": "workspace:*",
"@fluentui-react-native/badge": "workspace:*",
"@fluentui-react-native/button": "workspace:*",
"@fluentui-react-native/callout": "workspace:*",
"@fluentui-react-native/chip": "workspace:*",
"@fluentui-react-native/default-theme": "workspace:*",
"@fluentui-react-native/divider": "workspace:*",
"@fluentui-react-native/drawer": "workspace:*",
"@fluentui-react-native/dropdown": "workspace:*",
"@fluentui-react-native/e2e-testing": "workspace:*",
"@fluentui-react-native/experimental-activity-indicator": "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-menu-button": "workspace:*",
"@fluentui-react-native/experimental-native-date-picker": "workspace:*",
"@fluentui-react-native/experimental-shadow": "workspace:*",
"@fluentui-react-native/experimental-shimmer": "workspace:*",
"@fluentui-react-native/framework": "workspace:*",
"@fluentui-react-native/framework-base": "workspace:*",
"@fluentui-react-native/icon": "workspace:*",
"@fluentui-react-native/input": "workspace:*",
"@fluentui-react-native/interactive-hooks": "workspace:*",
"@fluentui-react-native/menu": "workspace:*",
"@fluentui-react-native/notification": "workspace:*",
"@fluentui-react-native/overflow": "workspace:*",
"@fluentui-react-native/radio-group": "workspace:*",
"@fluentui-react-native/separator": "workspace:*",
"@fluentui-react-native/spinner": "workspace:*",
"@fluentui-react-native/stack": "workspace:*",
"@fluentui-react-native/switch": "workspace:*",
"@fluentui-react-native/tablist": "workspace:*",
"@fluentui-react-native/text": "workspace:*",
"@fluentui-react-native/theme": "workspace:*",
"@fluentui-react-native/theme-tokens": "workspace:*",
"@fluentui-react-native/theme-types": "workspace:*",
"@fluentui-react-native/themed-stylesheet": "workspace:*",
"@fluentui-react-native/theming-utils": "workspace:*",
"@fluentui-react-native/tooltip": "workspace:*",
"@fluentui-react-native/vibrancy-view": "workspace:*",
"@fluentui-react-native/win32-theme": "workspace:*",
"@fluentui/react-native": "workspace:*",
"@fluentui/react-native-icons": "^2.0.316",
"@fortawesome/fontawesome-svg-core": "^6.2.0",
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@office-iss/react-native-win32": "^0.74.0",
"@react-native-community/slider": "^4.5.7",
"@react-native-menu/menu": "^0.7.3",
"@react-native-picker/picker": "^2.7.0",
"@types/node": "catalog:",
"@types/react": "~18.2.0",
"react": "18.2.0",
Expand All @@ -109,12 +56,23 @@
"@babel/core": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@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:*",
"@react-native-community/cli": "^13.6.4",
"@react-native-community/cli-platform-android": "^13.6.4",
"@react-native-community/cli-platform-ios": "^13.6.4",
Expand Down Expand Up @@ -212,7 +170,6 @@
"core-android",
"core-ios",
"core-macos",
"core-win32",
"core-windows",
"metro-config",
"metro-react-native-babel-transformer",
Expand Down
13 changes: 13 additions & 0 deletions apps/fluent-tester/src/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
'use strict';

import { AppRegistry, LogBox } from 'react-native';

import { FluentTesterApp } from '@fluentui-react-native/tester-core';

// When selecting a test page, the test page button might be under the yellowbox,
//so we have to ensure that no yellowboxes are shown on boot that could affect test selection
LogBox.ignoreLogs([/.*deprecated.*/, /.*Platform is not supported.*/]);

AppRegistry.registerComponent('FluentTester', () => FluentTesterApp);

export default FluentTesterApp;
File renamed without changes
1 change: 1 addition & 0 deletions apps/tester-core/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('@fluentui-react-native/babel-config');
3 changes: 3 additions & 0 deletions apps/tester-core/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
const baseConfig = require('@fluentui-react-native/eslint-config-rules');

module.exports = baseConfig;
220 changes: 220 additions & 0 deletions apps/tester-core/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
{
"name": "@fluentui-react-native/tester-core",
"version": "0.1.1",
"description": "Core implementation of the fluent tester app",
"homepage": "https://github.com/microsoft/fluentui-react-native",
"repository": {
"type": "git",
"url": "https://github.com/microsoft/fluentui-react-native.git",
"directory": "apps/fluent-tester-core"
},
"license": "MIT",
"author": "Microsoft <[email protected]>",
"exports": {
".": {
"types": "./lib/index.d.ts",
"import": "./lib/index.js",
"require": "./lib-commonjs/index.js"
}
},
"main": "lib-commonjs/index.js",
"module": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"build": "fluentui-scripts build",
"build-cjs": "tsgo --outDir lib-commonjs",
"build-esm": "tsgo --outDir lib --module esnext --moduleResolution bundler",
"clean": "fluentui-scripts clean",
"depcheck": "fluentui-scripts depcheck",
"lint": "fluentui-scripts eslint",
"lint-package": "fluentui-scripts lint-package",
"prettier": "fluentui-scripts prettier"
},
"jest": {
"preset": "react-native"
},
"dependencies": {
"@fluentui-react-native/android-theme": "workspace:*",
"@fluentui-react-native/apple-theme": "workspace:*",
"@fluentui-react-native/avatar": "workspace:*",
"@fluentui-react-native/badge": "workspace:*",
"@fluentui-react-native/button": "workspace:*",
"@fluentui-react-native/callout": "workspace:*",
"@fluentui-react-native/chip": "workspace:*",
"@fluentui-react-native/default-theme": "workspace:*",
"@fluentui-react-native/divider": "workspace:*",
"@fluentui-react-native/drawer": "workspace:*",
"@fluentui-react-native/dropdown": "workspace:*",
"@fluentui-react-native/e2e-testing": "workspace:*",
"@fluentui-react-native/experimental-activity-indicator": "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-menu-button": "workspace:*",
"@fluentui-react-native/experimental-native-date-picker": "workspace:*",
"@fluentui-react-native/experimental-native-font-metrics": "workspace:*",
"@fluentui-react-native/experimental-shadow": "workspace:*",
"@fluentui-react-native/experimental-shimmer": "workspace:*",
"@fluentui-react-native/focus-zone": "workspace:*",
"@fluentui-react-native/framework": "workspace:*",
"@fluentui-react-native/framework-base": "workspace:*",
"@fluentui-react-native/icon": "workspace:*",
"@fluentui-react-native/input": "workspace:*",
"@fluentui-react-native/interactive-hooks": "workspace:*",
"@fluentui-react-native/menu": "workspace:*",
"@fluentui-react-native/menu-button": "workspace:*",
"@fluentui-react-native/notification": "workspace:*",
"@fluentui-react-native/overflow": "workspace:*",
"@fluentui-react-native/radio-group": "workspace:*",
"@fluentui-react-native/separator": "workspace:*",
"@fluentui-react-native/spinner": "workspace:*",
"@fluentui-react-native/stack": "workspace:*",
"@fluentui-react-native/switch": "workspace:*",
"@fluentui-react-native/tablist": "workspace:*",
"@fluentui-react-native/text": "workspace:*",
"@fluentui-react-native/theme": "workspace:*",
"@fluentui-react-native/theme-tokens": "workspace:*",
"@fluentui-react-native/theme-types": "workspace:*",
"@fluentui-react-native/themed-stylesheet": "workspace:*",
"@fluentui-react-native/theming-utils": "workspace:*",
"@fluentui-react-native/tooltip": "workspace:*",
"@fluentui-react-native/vibrancy-view": "workspace:*",
"@fluentui-react-native/win32-theme": "workspace:*",
"@fluentui/react-native": "workspace:*",
"@fluentui/react-native-icons": "^2.0.316",
"@fortawesome/fontawesome-svg-core": "^6.2.0",
"@fortawesome/free-solid-svg-icons": "^6.2.0",
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@react-native-community/slider": "^4.5.7",
"@react-native-menu/menu": "^0.7.3",
"@react-native-picker/picker": "^2.7.0",
"@types/node": "catalog:",
"@types/react": "~18.2.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@fluentui-react-native/babel-config": "workspace:*",
"@fluentui-react-native/eslint-config-rules": "workspace:*",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@office-iss/react-native-win32": "^0.74.0",
"@react-native-community/cli": "^13.6.4",
"@react-native-community/cli-platform-android": "^13.6.4",
"@react-native-community/cli-platform-ios": "^13.6.4",
"@react-native-windows/cli": "^0.74.0",
"@react-native/babel-preset": "^0.74.0",
"@react-native/metro-babel-transformer": "^0.74.0",
"@react-native/metro-config": "^0.74.0",
"@rnx-kit/cli": "^0.18.14",
"@rnx-kit/metro-config": "^2.1.0",
"@rnx-kit/metro-resolver-symlinks": "^0.2.5",
"@types/jasmine": "catalog:",
"@types/react-test-renderer": "^18.2.0",
"@wdio/cli": "catalog:",
"@wdio/globals": "catalog:",
"@wdio/jasmine-framework": "catalog:",
"@wdio/logger": "catalog:",
"@wdio/runner": "catalog:",
"expect-webdriverio": "catalog:",
"flow-bin": "^0.113.0",
"metro-config": "^0.80.3",
"react": "18.2.0",
"react-native": "^0.74.0",
"react-native-macos": "^0.74.0",
"react-native-svg": ">=15.4.0 <15.13.0",
"react-native-svg-transformer": "^1.0.0",
"react-native-test-app": "^3.9.2",
"react-native-windows": "^0.74.0",
"react-test-renderer": "18.2.0",
"webdriverio": "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/tester-core": "workspace:*",
"@fluentui-react-native/tooltip": "workspace:*",
"@fluentui-react-native/vibrancy-view": "workspace:*",
"@office-iss/react-native-win32": "^0.73.0 || ^0.74.0",
"react": "18.2.0",
"react-native": "^0.73.0 || ^0.74.0",
"react-native-macos": "^0.73.0 || ^0.74.0",
"react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0",
"react-native-windows": "^0.73.0 || ^0.74.0"
},
"peerDependenciesMeta": {
"@fluentui-react-native/callout": {
"optional": true
},
"@fluentui-react-native/experimental-appearance-additions": {
"optional": true
},
"@fluentui-react-native/experimental-avatar": {
"optional": true
},
"@fluentui-react-native/experimental-checkbox": {
"optional": true
},
"@fluentui-react-native/experimental-expander": {
"optional": true
},
"@fluentui-react-native/experimental-native-date-picker": {
"optional": true
},
"@fluentui-react-native/experimental-native-font-metrics": {
"optional": true
},
"@fluentui-react-native/experimental-shimmer": {
"optional": true
},
"@fluentui-react-native/menu-button": {
"optional": true
},
"@fluentui-react-native/radio-group": {
"optional": true
},
"@fluentui-react-native/tooltip": {
"optional": true
},
"@fluentui-react-native/vibrancy-view": {
"optional": true
},
"@office-iss/react-native-win32": {
"optional": true
}
},
"furn": {
"depcheck": {
"ignoreMatches": [
"@fluentui-react-native/experimental-expander"
]
}
},
"rnx-kit": {
"kitType": "library",
"alignDeps": {
"capabilities": [
"core-android",
"core-ios",
"core-macos",
"core-win32",
"core-windows",
"react",
"react-test-renderer",
"svg",
"tools-core"
]
},
"extends": "@fluentui-react-native/kit-config"
}
}
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions apps/tester-core/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "@fluentui-react-native/scripts/configs/tsconfig.json",
"compilerOptions": {
"outDir": "lib",
"allowSyntheticDefaultImports": true,
"types": ["@types/jasmine", "@wdio/globals/types", "@wdio/jasmine-framework", "node"]
},
"include": ["src"]
}
Loading
Loading