diff --git a/.yarnrc.yml b/.yarnrc.yml index 01793fe600..0de62886aa 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,9 +4,18 @@ enableGlobalCache: false nodeLinker: node-modules +packageExtensions: + "@svgr/core@*": + dependencies: + "@svgr/plugin-jsx": "*" + "@svgr/plugin-svgo": "*" + react-native-svg@*: + dependencies: + buffer: "*" + plugins: - checksum: 672e525b81762c6162366bd3ffec5e86ab8fac2655ef0267047e86a0f32e79a4bde0f170bc30479663f40aa3f006d91f8dc3289f679dd4dc5ae5a5d12ba3ad0b path: .yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs - spec: 'https://raw.githubusercontent.com/microsoft/rnx-kit/main/incubator/yarn-plugin-dynamic-extensions/index.js' + spec: "https://raw.githubusercontent.com/microsoft/rnx-kit/main/incubator/yarn-plugin-dynamic-extensions/index.js" yarnPath: .yarn/releases/yarn-4.9.2.cjs diff --git a/apps/E2E/tsconfig.json b/apps/E2E/tsconfig.json index 3e1e97d2d0..7135cd5488 100644 --- a/apps/E2E/tsconfig.json +++ b/apps/E2E/tsconfig.json @@ -2,7 +2,6 @@ "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "baseUrl": ".", - "importHelpers": true, "outDir": "lib", "paths": { "*": ["*", "*.win32", "./*"], diff --git a/apps/component-generator/component-templates/ComponentTemplate/babel.config.js b/apps/component-generator/component-templates/ComponentTemplate/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/apps/component-generator/component-templates/ComponentTemplate/babel.config.js +++ b/apps/component-generator/component-templates/ComponentTemplate/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/apps/component-generator/component-templates/ComponentTemplate/jest.config.js b/apps/component-generator/component-templates/ComponentTemplate/jest.config.js index 051098f649..92f4643e49 100644 --- a/apps/component-generator/component-templates/ComponentTemplate/jest.config.js +++ b/apps/component-generator/component-templates/ComponentTemplate/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/apps/component-generator/component-templates/ComponentTemplate/package.json b/apps/component-generator/component-templates/ComponentTemplate/package.json index b2f0b40851..5b8b1079e0 100644 --- a/apps/component-generator/component-templates/ComponentTemplate/package.json +++ b/apps/component-generator/component-templates/ComponentTemplate/package.json @@ -24,7 +24,9 @@ }, "dependencies": {}, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "react": "18.2.0", diff --git a/apps/fluent-tester/ios/Podfile b/apps/fluent-tester/ios/Podfile index 09f761915f..843917572a 100644 --- a/apps/fluent-tester/ios/Podfile +++ b/apps/fluent-tester/ios/Podfile @@ -1,15 +1,15 @@ +# (pnpm-mode) ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') + +# (pnpm-mode) require_relative '../node_modules/react-native-test-app/test_app' require_relative '../../../node_modules/react-native-test-app/test_app' workspace 'FluentTester.xcworkspace' +# (pnpm-mode) react_native_path = "#{__dir__}/../node_modules/react-native" react_native_path = "#{__dir__}/../../../node_modules/react-native" use_test_app! do |target| target.app do platform :ios, '15.0' - - # There is a bug where autolinking isn't working, so specify these manually. - pod 'FRNAppearanceAdditions', :path => '../../../packages/experimental/AppearanceAdditions/FRNAppearanceAdditions.podspec' - pod 'FRNFontMetrics', :path => '../../../packages/experimental/NativeFontMetrics/FRNFontMetrics.podspec' end end diff --git a/apps/fluent-tester/ios/Podfile.lock b/apps/fluent-tester/ios/Podfile.lock index b341bccbaa..79ca51a54f 100644 --- a/apps/fluent-tester/ios/Podfile.lock +++ b/apps/fluent-tester/ios/Podfile.lock @@ -3,15 +3,15 @@ PODS: - DoubleConversion (1.1.6) - FBLazyVector (0.74.7) - fmt (9.1.0) - - FRNAppearanceAdditions (0.7.2): + - FRNAppearanceAdditions (0.7.11): - React - - FRNAvatar (0.21.4): + - FRNAvatar (0.21.13): - MicrosoftFluentUI (= 0.13.1) - React - - FRNDatePicker (0.11.0): + - FRNDatePicker (0.11.4): - MicrosoftFluentUI (= 0.13.1) - React - - FRNFontMetrics (0.6.0): + - FRNFontMetrics (0.6.4): - React - glog (0.3.5) - MicrosoftFluentUI (0.13.1): @@ -1080,7 +1080,7 @@ PODS: - React-debug - react-native-menu (0.7.3): - React - - react-native-slider (4.5.3): + - react-native-slider (4.5.7): - DoubleConversion - glog - RCT-Folly (= 2024.01.01.00) @@ -1351,10 +1351,10 @@ DEPENDENCIES: - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`) - fmt (from `../../../node_modules/react-native/third-party-podspecs/fmt.podspec`) - - FRNAppearanceAdditions (from `../../../packages/experimental/AppearanceAdditions/FRNAppearanceAdditions.podspec`) - - "FRNAvatar (from `../../../node_modules/@fluentui-react-native/experimental-avatar`)" - - "FRNDatePicker (from `../../../node_modules/@fluentui-react-native/experimental-native-date-picker`)" - - FRNFontMetrics (from `../../../packages/experimental/NativeFontMetrics/FRNFontMetrics.podspec`) + - "FRNAppearanceAdditions (from `../node_modules/@fluentui-react-native/experimental-appearance-additions`)" + - "FRNAvatar (from `../node_modules/@fluentui-react-native/experimental-avatar`)" + - "FRNDatePicker (from `../node_modules/@fluentui-react-native/experimental-native-date-picker`)" + - "FRNFontMetrics (from `../node_modules/@fluentui-react-native/experimental-native-font-metrics`)" - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`) - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCT-Folly/Fabric (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) @@ -1428,13 +1428,13 @@ EXTERNAL SOURCES: fmt: :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec" FRNAppearanceAdditions: - :path: "../../../packages/experimental/AppearanceAdditions/FRNAppearanceAdditions.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-appearance-additions" FRNAvatar: - :path: "../../../node_modules/@fluentui-react-native/experimental-avatar" + :path: "../node_modules/@fluentui-react-native/experimental-avatar" FRNDatePicker: - :path: "../../../node_modules/@fluentui-react-native/experimental-native-date-picker" + :path: "../node_modules/@fluentui-react-native/experimental-native-date-picker" FRNFontMetrics: - :path: "../../../packages/experimental/NativeFontMetrics/FRNFontMetrics.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-native-font-metrics" glog: :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" RCT-Folly: @@ -1551,10 +1551,10 @@ SPEC CHECKSUMS: DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 FBLazyVector: 04dc972982abebd96d823752c3a426bbe6ac397f fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 - FRNAppearanceAdditions: 203a3fb8929b3fe0e1d9256a5a4d88c7116fdcb9 - FRNAvatar: ec4d219c71bfd3d74306a1fcf94f71393b63359f - FRNDatePicker: 6ddae28f04880d89fc609dc791943943dabba718 - FRNFontMetrics: 2cb281cc763879e4c5e5d3b3ed662181689e8939 + FRNAppearanceAdditions: 9d37ce1ce2df3559d0616234557b024774e59a92 + FRNAvatar: 3616c78fb72770b8d972619cb9d8b9a841e6d07f + FRNDatePicker: b1dc2056dcb52614e1a1fd4054115a33130d334e + FRNFontMetrics: 4d90cf418139e1b8ad202cd190b76f36bd027eef glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f MicrosoftFluentUI: dde98d8ed3fc306d9ddd0a6f0bc0c1f24fe5275e RCT-Folly: 5dc73daec3476616d19e8a53f0156176f7b55461 @@ -1582,7 +1582,7 @@ SPEC CHECKSUMS: React-logger: 58cd5ca2c3ab03a06b33e6d46a210d2b17ca116d React-Mapbuffer: f245095650540b8ddd09ac907a79605f68b1f4d4 react-native-menu: 166490a809e627736b2dd887a564e8e6f093d128 - react-native-slider: fb9f245bfade8fe24998f88133e06c5110853868 + react-native-slider: ef3da51d021999dc76a1efefae60176ac4910c36 React-nativeconfig: 3b359be06d9ee8d64c1eacbca4f1040f331573fd React-NativeModulesApple: c6259e85e61f211854e632ed3eb21f25e15651f4 React-perflogger: e9ebfc705cb9f60ef5d471637350ccab7abd0444 @@ -1613,6 +1613,6 @@ SPEC CHECKSUMS: SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: 9db4b2da1ed5d8e0c94158f9ac379c8b1b529f59 -PODFILE CHECKSUM: fae4d25651430550ed89e2c0320a71f5f1d40f44 +PODFILE CHECKSUM: da2b0060460364a6479fbaf8e70713ef63c09b0b COCOAPODS: 1.16.2 diff --git a/apps/fluent-tester/macos/Podfile b/apps/fluent-tester/macos/Podfile index bb8ea02e51..c247756fea 100644 --- a/apps/fluent-tester/macos/Podfile +++ b/apps/fluent-tester/macos/Podfile @@ -1,18 +1,15 @@ +# (pnpm-mode) ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') + +# require_relative '../node_modules/react-native-test-app/macos/test_app' require_relative '../../../node_modules/react-native-test-app/macos/test_app' workspace 'FluentTester.xcworkspace' +# (pnpm-mode) react_native_path = "#{__dir__}/../node_modules/react-native" react_native_path = "#{__dir__}/../../../node_modules/react-native" use_test_app! do |target| target.app do platform :osx, '12' - - # There is a bug where autolinking isn't working, do specify these manually. - pod 'FRNAvatar', :path => '../../../packages/experimental/Avatar/FRNAvatar.podspec' - pod 'FRNCheckbox', :path => '../../../packages/experimental/Checkbox/FRNCheckbox.podspec' - pod 'FRNMenuButton', :path => '../../../packages/components/MenuButton/FRNMenuButton.podspec' - pod 'FRNRadioButton', :path => '../../../packages/components/RadioGroup/FRNRadioButton.podspec' - pod 'RCTFocusZone', :path => '../../../packages/components/FocusZone/RCTFocusZone.podspec' end end diff --git a/apps/fluent-tester/macos/Podfile.lock b/apps/fluent-tester/macos/Podfile.lock index 4f12ff3a39..f12755d1ad 100644 --- a/apps/fluent-tester/macos/Podfile.lock +++ b/apps/fluent-tester/macos/Podfile.lock @@ -3,10 +3,10 @@ PODS: - DoubleConversion (1.1.6) - FBLazyVector (0.74.30) - fmt (9.1.0) - - FRNAvatar (0.21.11): + - FRNAvatar (0.21.13): - MicrosoftFluentUI (= 0.13.1) - React - - FRNCallout (0.27.9): + - FRNCallout (0.27.11): - DoubleConversion - glog - RCT-Folly (= 2024.01.01.00) @@ -28,11 +28,11 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - FRNCheckbox (0.17.16): + - FRNCheckbox (0.17.18): - React - - FRNMenuButton (0.13.26): + - FRNMenuButton (0.13.28): - React - - FRNRadioButton (0.21.23): + - FRNRadioButton (0.21.25): - React - FRNVibrancyView (0.3.4): - React @@ -123,7 +123,7 @@ PODS: - fmt (= 9.1.0) - glog - RCTDeprecation (0.74.30) - - RCTFocusZone (0.21.7): + - RCTFocusZone (0.21.9): - React - RCTRequired (0.74.30) - RCTTypeSafety (0.74.30): @@ -1261,17 +1261,17 @@ DEPENDENCIES: - DoubleConversion (from `../../../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../../../node_modules/react-native-macos/Libraries/FBLazyVector`) - fmt (from `../../../node_modules/react-native-macos/third-party-podspecs/fmt.podspec`) - - FRNAvatar (from `../../../packages/experimental/Avatar/FRNAvatar.podspec`) + - "FRNAvatar (from `../node_modules/@fluentui-react-native/experimental-avatar`)" - "FRNCallout (from `../node_modules/@fluentui-react-native/callout`)" - - FRNCheckbox (from `../../../packages/experimental/Checkbox/FRNCheckbox.podspec`) - - FRNMenuButton (from `../../../packages/components/MenuButton/FRNMenuButton.podspec`) - - FRNRadioButton (from `../../../packages/components/RadioGroup/FRNRadioButton.podspec`) + - "FRNCheckbox (from `../node_modules/@fluentui-react-native/experimental-checkbox`)" + - "FRNMenuButton (from `../node_modules/@fluentui-react-native/menu-button`)" + - "FRNRadioButton (from `../node_modules/@fluentui-react-native/radio-group`)" - "FRNVibrancyView (from `../node_modules/@fluentui-react-native/vibrancy-view`)" - glog (from `../../../node_modules/react-native-macos/third-party-podspecs/glog.podspec`) - RCT-Folly (from `../../../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec`) - RCT-Folly/Fabric (from `../../../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec`) - RCTDeprecation (from `../../../node_modules/react-native-macos/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTFocusZone (from `../../../packages/components/FocusZone/RCTFocusZone.podspec`) + - "RCTFocusZone (from `../node_modules/@fluentui-react-native/focus-zone`)" - RCTRequired (from `../../../node_modules/react-native-macos/Libraries/Required`) - RCTTypeSafety (from `../../../node_modules/react-native-macos/Libraries/TypeSafety`) - React (from `../../../node_modules/react-native-macos/`) @@ -1339,15 +1339,15 @@ EXTERNAL SOURCES: fmt: :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/fmt.podspec" FRNAvatar: - :path: "../../../packages/experimental/Avatar/FRNAvatar.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-avatar" FRNCallout: :path: "../node_modules/@fluentui-react-native/callout" FRNCheckbox: - :path: "../../../packages/experimental/Checkbox/FRNCheckbox.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-checkbox" FRNMenuButton: - :path: "../../../packages/components/MenuButton/FRNMenuButton.podspec" + :path: "../node_modules/@fluentui-react-native/menu-button" FRNRadioButton: - :path: "../../../packages/components/RadioGroup/FRNRadioButton.podspec" + :path: "../node_modules/@fluentui-react-native/radio-group" FRNVibrancyView: :path: "../node_modules/@fluentui-react-native/vibrancy-view" glog: @@ -1357,7 +1357,7 @@ EXTERNAL SOURCES: RCTDeprecation: :path: "../../../node_modules/react-native-macos/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTFocusZone: - :path: "../../../packages/components/FocusZone/RCTFocusZone.podspec" + :path: "../node_modules/@fluentui-react-native/focus-zone" RCTRequired: :path: "../../../node_modules/react-native-macos/Libraries/Required" RCTTypeSafety: @@ -1466,17 +1466,17 @@ SPEC CHECKSUMS: DoubleConversion: 5b92c4507c560bb62e7aa1acdf2785ea3ff08b3b FBLazyVector: 0aa0591844f7fe4736f3aba70d30232edbd21eb5 fmt: 03574da4b7ba40de39da59677ca66610ce8c4a02 - FRNAvatar: 1eccbe629f3034e2caa11f62e16db120ac3c7836 - FRNCallout: 3eca65ff4ee29de3881a8402842b230626024ff6 - FRNCheckbox: 1d87e81b71e6706b6e94e69ab6923e50755c4a29 - FRNMenuButton: d87749093d3418d9c9377144f9e17e09af707335 - FRNRadioButton: 8b6c2d6c2d5c513ce493568ac0597d114359cb57 + FRNAvatar: 3616c78fb72770b8d972619cb9d8b9a841e6d07f + FRNCallout: b91d07ae396f69e77b8b2ae71501d6b6494254fa + FRNCheckbox: 23027d19870f99006ddb8eaa129f0f2af95a374c + FRNMenuButton: 5c58612fa8480cfc47f299755d5daf410dc1c4e1 + FRNRadioButton: 400c56cbcafe7d2b7df5481fdba963e4ee868edd FRNVibrancyView: 0fb5d289c2a4b934596fb26d81166151d66fa28c glog: ba31c1afa7dcf1915a109861bccdb4421be6175b MicrosoftFluentUI: dde98d8ed3fc306d9ddd0a6f0bc0c1f24fe5275e RCT-Folly: f47da9a444aae485a0528b3bccf0336156009d60 RCTDeprecation: 6c1d8fdaf3e34933c33a56531bd984bc2d22ef9e - RCTFocusZone: 999b4c2acb2193fd189f9ef6d1e970c2a6676250 + RCTFocusZone: 80f74daff8795ecfe3c7987c99afdd3b7545191c RCTRequired: 5266165e3b6c7ca1554c5a75fb4c1ebe1bc60b53 RCTTypeSafety: ced894df76a17b8f7331d24e2efa862a7a616e89 React: 620dbf1e10232c8517a8b89d0def5b29e04ad24e @@ -1529,6 +1529,6 @@ SPEC CHECKSUMS: SocketRocket: f6c6249082c011e6de2de60ed641ef8bbe0cfac9 Yoga: bd03cda842f416ba4c2d4b79fcd0fd27e917b91e -PODFILE CHECKSUM: 1c580785758db094d8282f8e1360afc97dfac817 +PODFILE CHECKSUM: 820f3959373af874ba70e1313bf6680f1a037104 COCOAPODS: 1.16.2 diff --git a/apps/fluent-tester/metro.config.js b/apps/fluent-tester/metro.config.js index a0e07e5624..851c0a2f32 100644 --- a/apps/fluent-tester/metro.config.js +++ b/apps/fluent-tester/metro.config.js @@ -27,7 +27,7 @@ function ensureUniqueModule(moduleName, excludeList, nodeModules) { } // build up the added excludes and extraNodeModules -['react-is', 'invariant', '@babel/runtime', 'base64-js'].forEach((moduleName) => ensureUniqueModule(moduleName)); +['react-native-svg'].forEach((moduleName) => ensureUniqueModule(moduleName)); const blockList = exclusionList([ // This stops "react-native run-windows" from causing the metro server to diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 3e00bc0295..5225e29540 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -90,24 +90,29 @@ "@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.2.0", + "@react-native-community/slider": "^4.5.7", "@react-native-menu/menu": "^0.7.3", "@react-native-picker/picker": "^2.7.0", + "@types/node": "^22.0.0", "@types/react": "~18.2.0", "@warren-ms/react-native-icons": "^0.0.13", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0", - "tslib": "^2.3.1" + "react-native-windows": "^0.74.0" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/runtime": "^7.20.0", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/menu-button": "workspace:*", "@fluentui-react-native/scripts": "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", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-babel-transformer": "^0.74.0", "@react-native/metro-config": "^0.74.0", @@ -115,6 +120,7 @@ "@rnx-kit/metro-config": "^2.1.0", "@rnx-kit/metro-resolver-symlinks": "^0.2.5", "@types/jasmine": "5.1.4", + "@types/react-test-renderer": "^18.2.0", "@wdio/cli": "^8.40.0", "@wdio/globals": "^8.40.0", "@wdio/jasmine-framework": "^8.40.0", @@ -196,7 +202,8 @@ "react", "react-test-renderer", "svg", - "test-app" + "test-app", + "community/cli" ] } }, diff --git a/apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx b/apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx index d239a4c71c..342b4e1889 100644 --- a/apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx +++ b/apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx @@ -1,14 +1,17 @@ -import * as React from 'react'; +import React from 'react'; import { Switch, View, Text, TextInput, StyleSheet } from 'react-native'; import { PersonaCoin } from '@fluentui/react-native'; import { useTheme } from '@fluentui-react-native/theme-types'; import Slider from '@react-native-community/slider'; +import type { SliderProps } from '@react-native-community/slider'; import type { undefinedText } from './styles'; import { steveBallmerPhotoUrl } from './styles'; import { commonTestStyles as commonStyles } from '../Common/styles'; +const NativeSlider = Slider as unknown as React.ComponentType; + type WithUndefined = T | typeof undefinedText; const styles = StyleSheet.create({ slider: { ...commonStyles.vmargin, flex: 1 } }); @@ -19,7 +22,7 @@ const StyledSlider = (props) => { return ( {title} - + {current} ); diff --git a/apps/fluent-tester/tsconfig.json b/apps/fluent-tester/tsconfig.json index 3e1e97d2d0..583daaaa98 100644 --- a/apps/fluent-tester/tsconfig.json +++ b/apps/fluent-tester/tsconfig.json @@ -2,8 +2,8 @@ "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "baseUrl": ".", - "importHelpers": true, "outDir": "lib", + "allowSyntheticDefaultImports": true, "paths": { "*": ["*", "*.win32", "./*"], "src/*": ["./src/*", "src"] diff --git a/apps/win32/metro.config.js b/apps/win32/metro.config.js index 40eef9b70a..79dd8892bd 100644 --- a/apps/win32/metro.config.js +++ b/apps/win32/metro.config.js @@ -5,10 +5,21 @@ * @format */ // @ts-check -const { makeMetroConfig } = require('@rnx-kit/metro-config'); +const { exclusionList, makeMetroConfig, resolveUniqueModule } = require('@rnx-kit/metro-config'); const MetroSymlinksResolver = require('@rnx-kit/metro-resolver-symlinks'); const { getDefaultConfig } = require('metro-config'); +const excludeMixins = []; +const extraNodeModules = {}; +function ensureUniqueModule(moduleName, excludeList, nodeModules) { + const [nmEntry, excludePattern] = resolveUniqueModule(moduleName); + excludeMixins.push(excludePattern); + extraNodeModules[moduleName] = nmEntry; +} + +// build up the added excludes and extraNodeModules +['react-native-svg'].forEach((moduleName) => ensureUniqueModule(moduleName)); + module.exports = async () => { const { resolver: { sourceExts, assetExts }, @@ -17,6 +28,10 @@ module.exports = async () => { return makeMetroConfig({ resolver: { assetExts: [...assetExts.filter((ext) => ext !== 'svg'), 'ttf', 'otf', 'png'], + blockList: exclusionList(excludeMixins), + extraNodeModules: { + ...extraNodeModules, + }, sourceExts: [...sourceExts, 'svg'], resolveRequest: MetroSymlinksResolver(), }, diff --git a/apps/win32/package.json b/apps/win32/package.json index 8ee6699a5a..9ec4fc841e 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -37,8 +37,7 @@ "@fluentui-react-native/tester": "workspace:*", "react": "18.2.0", "react-native": "^0.74.0", - "react-native-svg": "^15.4.0", - "tslib": "^2.3.1" + "react-native-svg": "^15.4.0" }, "devDependencies": { "@babel/core": "^7.20.0", @@ -53,6 +52,7 @@ "@rnx-kit/metro-config": "^2.1.0", "@rnx-kit/metro-resolver-symlinks": "^0.2.5", "@types/react": "^18.2.0", + "@types/react-test-renderer": "^18.2.0", "metro-config": "^0.80.3", "react-native-svg-transformer": "^1.0.0", "react-test-renderer": "18.2.0", diff --git a/apps/win32/tsconfig.json b/apps/win32/tsconfig.json index 67dda0ad8a..a1a7d153a2 100644 --- a/apps/win32/tsconfig.json +++ b/apps/win32/tsconfig.json @@ -2,7 +2,6 @@ "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "baseUrl": ".", - "importHelpers": true, "paths": { "*": ["*", "*.win32"], "src/*": ["./src/*"] diff --git a/change/@fluentui-react-native-67f57b80-1a47-45d9-bf00-8de7aec7992e.json b/change/@fluentui-react-native-67f57b80-1a47-45d9-bf00-8de7aec7992e.json new file mode 100644 index 0000000000..c2474480ff --- /dev/null +++ b/change/@fluentui-react-native-67f57b80-1a47-45d9-bf00-8de7aec7992e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui/react-native", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-adapters-1e099a4d-89f8-4ff7-8a6c-35207b5c6201.json b/change/@fluentui-react-native-adapters-1e099a4d-89f8-4ff7-8a6c-35207b5c6201.json new file mode 100644 index 0000000000..e56e39d10e --- /dev/null +++ b/change/@fluentui-react-native-adapters-1e099a4d-89f8-4ff7-8a6c-35207b5c6201.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/adapters", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-android-theme-1515ddf2-094b-4c64-907b-a4f2d3c7179f.json b/change/@fluentui-react-native-android-theme-1515ddf2-094b-4c64-907b-a4f2d3c7179f.json new file mode 100644 index 0000000000..0949b0aca5 --- /dev/null +++ b/change/@fluentui-react-native-android-theme-1515ddf2-094b-4c64-907b-a4f2d3c7179f.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/android-theme", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-apple-theme-9176009c-e48c-4c72-8636-a883171b0ad1.json b/change/@fluentui-react-native-apple-theme-9176009c-e48c-4c72-8636-a883171b0ad1.json new file mode 100644 index 0000000000..d2687239b3 --- /dev/null +++ b/change/@fluentui-react-native-apple-theme-9176009c-e48c-4c72-8636-a883171b0ad1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/apple-theme", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-avatar-f6d4b476-7f83-4df4-92e5-8622caf37035.json b/change/@fluentui-react-native-avatar-f6d4b476-7f83-4df4-92e5-8622caf37035.json new file mode 100644 index 0000000000..f2627f54cd --- /dev/null +++ b/change/@fluentui-react-native-avatar-f6d4b476-7f83-4df4-92e5-8622caf37035.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/avatar", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-badge-7ffe61c5-80ae-46c7-a07c-e515823a76e7.json b/change/@fluentui-react-native-badge-7ffe61c5-80ae-46c7-a07c-e515823a76e7.json new file mode 100644 index 0000000000..572d169df7 --- /dev/null +++ b/change/@fluentui-react-native-badge-7ffe61c5-80ae-46c7-a07c-e515823a76e7.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/badge", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-button-25db35a3-0f5b-4fd5-bca2-ef6b4e96ea58.json b/change/@fluentui-react-native-button-25db35a3-0f5b-4fd5-bca2-ef6b4e96ea58.json new file mode 100644 index 0000000000..341310811d --- /dev/null +++ b/change/@fluentui-react-native-button-25db35a3-0f5b-4fd5-bca2-ef6b4e96ea58.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-callout-ce2e6dcc-15c9-4536-91db-c8c645d21a97.json b/change/@fluentui-react-native-callout-ce2e6dcc-15c9-4536-91db-c8c645d21a97.json new file mode 100644 index 0000000000..4b6ee32ca6 --- /dev/null +++ b/change/@fluentui-react-native-callout-ce2e6dcc-15c9-4536-91db-c8c645d21a97.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/callout", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-checkbox-15644ee6-e484-4179-9371-19381421d4d6.json b/change/@fluentui-react-native-checkbox-15644ee6-e484-4179-9371-19381421d4d6.json new file mode 100644 index 0000000000..87d09db13b --- /dev/null +++ b/change/@fluentui-react-native-checkbox-15644ee6-e484-4179-9371-19381421d4d6.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/checkbox", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-chip-cfeb65fd-609d-47f1-99fc-e5af48c29d37.json b/change/@fluentui-react-native-chip-cfeb65fd-609d-47f1-99fc-e5af48c29d37.json new file mode 100644 index 0000000000..0018d1f6e3 --- /dev/null +++ b/change/@fluentui-react-native-chip-cfeb65fd-609d-47f1-99fc-e5af48c29d37.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/chip", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-codemods-13409971-43c7-424b-8b8d-3fb346a05f40.json b/change/@fluentui-react-native-codemods-13409971-43c7-424b-8b8d-3fb346a05f40.json new file mode 100644 index 0000000000..1d54fb54d2 --- /dev/null +++ b/change/@fluentui-react-native-codemods-13409971-43c7-424b-8b8d-3fb346a05f40.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/codemods", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-composition-369cdef8-4f80-4ab6-8db3-7741fe6756ab.json b/change/@fluentui-react-native-composition-369cdef8-4f80-4ab6-8db3-7741fe6756ab.json new file mode 100644 index 0000000000..401521d44f --- /dev/null +++ b/change/@fluentui-react-native-composition-369cdef8-4f80-4ab6-8db3-7741fe6756ab.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/composition", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-contextual-menu-39afd36b-014b-41e5-a595-e1ad2c90c4e1.json b/change/@fluentui-react-native-contextual-menu-39afd36b-014b-41e5-a595-e1ad2c90c4e1.json new file mode 100644 index 0000000000..a81935fbac --- /dev/null +++ b/change/@fluentui-react-native-contextual-menu-39afd36b-014b-41e5-a595-e1ad2c90c4e1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/contextual-menu", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-default-theme-9f4c765c-e033-43e4-b285-496c5eed855c.json b/change/@fluentui-react-native-default-theme-9f4c765c-e033-43e4-b285-496c5eed855c.json new file mode 100644 index 0000000000..49c4f95074 --- /dev/null +++ b/change/@fluentui-react-native-default-theme-9f4c765c-e033-43e4-b285-496c5eed855c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/default-theme", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-divider-1e15fb50-0e73-476a-90fd-103338be6ca4.json b/change/@fluentui-react-native-divider-1e15fb50-0e73-476a-90fd-103338be6ca4.json new file mode 100644 index 0000000000..8199292f32 --- /dev/null +++ b/change/@fluentui-react-native-divider-1e15fb50-0e73-476a-90fd-103338be6ca4.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/divider", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-drawer-07ea5922-d707-4a22-a9bb-8f3d4f7e004a.json b/change/@fluentui-react-native-drawer-07ea5922-d707-4a22-a9bb-8f3d4f7e004a.json new file mode 100644 index 0000000000..12bd335571 --- /dev/null +++ b/change/@fluentui-react-native-drawer-07ea5922-d707-4a22-a9bb-8f3d4f7e004a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/drawer", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-dropdown-18747c37-5b7f-4aa6-ae26-cadf53758a84.json b/change/@fluentui-react-native-dropdown-18747c37-5b7f-4aa6-ae26-cadf53758a84.json new file mode 100644 index 0000000000..9d2c1e65dc --- /dev/null +++ b/change/@fluentui-react-native-dropdown-18747c37-5b7f-4aa6-ae26-cadf53758a84.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/dropdown", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-e2e-testing-95c4ec4e-06de-47fb-9ac0-512ef7f42ad0.json b/change/@fluentui-react-native-e2e-testing-95c4ec4e-06de-47fb-9ac0-512ef7f42ad0.json new file mode 100644 index 0000000000..c24eada581 --- /dev/null +++ b/change/@fluentui-react-native-e2e-testing-95c4ec4e-06de-47fb-9ac0-512ef7f42ad0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/e2e-testing", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-appearance-additions-66603ef1-a590-4694-b0f1-2ebd2ae12108.json b/change/@fluentui-react-native-experimental-appearance-additions-66603ef1-a590-4694-b0f1-2ebd2ae12108.json new file mode 100644 index 0000000000..f1efc8ec1e --- /dev/null +++ b/change/@fluentui-react-native-experimental-appearance-additions-66603ef1-a590-4694-b0f1-2ebd2ae12108.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-appearance-additions", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-avatar-ffddd6cf-eb77-47e7-a453-8d3dfd663571.json b/change/@fluentui-react-native-experimental-avatar-ffddd6cf-eb77-47e7-a453-8d3dfd663571.json new file mode 100644 index 0000000000..ccc731ff75 --- /dev/null +++ b/change/@fluentui-react-native-experimental-avatar-ffddd6cf-eb77-47e7-a453-8d3dfd663571.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-avatar", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-checkbox-d2da87f1-eb0a-4191-9265-3020d24b565c.json b/change/@fluentui-react-native-experimental-checkbox-d2da87f1-eb0a-4191-9265-3020d24b565c.json new file mode 100644 index 0000000000..b2c4557f2b --- /dev/null +++ b/change/@fluentui-react-native-experimental-checkbox-d2da87f1-eb0a-4191-9265-3020d24b565c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-checkbox", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-expander-13715983-8e05-49c5-a70c-d7b1291728e0.json b/change/@fluentui-react-native-experimental-expander-13715983-8e05-49c5-a70c-d7b1291728e0.json new file mode 100644 index 0000000000..6d15b55928 --- /dev/null +++ b/change/@fluentui-react-native-experimental-expander-13715983-8e05-49c5-a70c-d7b1291728e0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-expander", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-menu-button-a31d601f-9c9b-454a-8c08-64875f236fae.json b/change/@fluentui-react-native-experimental-menu-button-a31d601f-9c9b-454a-8c08-64875f236fae.json new file mode 100644 index 0000000000..4a7999a294 --- /dev/null +++ b/change/@fluentui-react-native-experimental-menu-button-a31d601f-9c9b-454a-8c08-64875f236fae.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-native-date-picker-83f41882-9486-4e66-9a63-86737fed18e3.json b/change/@fluentui-react-native-experimental-native-date-picker-83f41882-9486-4e66-9a63-86737fed18e3.json new file mode 100644 index 0000000000..6a978b9e92 --- /dev/null +++ b/change/@fluentui-react-native-experimental-native-date-picker-83f41882-9486-4e66-9a63-86737fed18e3.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-native-date-picker", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-native-font-metrics-e0853e8f-71cc-41d5-a3a4-cc77be7c9f41.json b/change/@fluentui-react-native-experimental-native-font-metrics-e0853e8f-71cc-41d5-a3a4-cc77be7c9f41.json new file mode 100644 index 0000000000..0e0a68f7b1 --- /dev/null +++ b/change/@fluentui-react-native-experimental-native-font-metrics-e0853e8f-71cc-41d5-a3a4-cc77be7c9f41.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-native-font-metrics", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-shadow-7c1bed9b-309b-4306-87fe-d0fd5acf85ff.json b/change/@fluentui-react-native-experimental-shadow-7c1bed9b-309b-4306-87fe-d0fd5acf85ff.json new file mode 100644 index 0000000000..158d021142 --- /dev/null +++ b/change/@fluentui-react-native-experimental-shadow-7c1bed9b-309b-4306-87fe-d0fd5acf85ff.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-shadow", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-shimmer-ab1fa8dc-631a-4b76-ac92-b6b4535942e4.json b/change/@fluentui-react-native-experimental-shimmer-ab1fa8dc-631a-4b76-ac92-b6b4535942e4.json new file mode 100644 index 0000000000..104364f8e2 --- /dev/null +++ b/change/@fluentui-react-native-experimental-shimmer-ab1fa8dc-631a-4b76-ac92-b6b4535942e4.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/experimental-shimmer", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-focus-trap-zone-1da03c70-2b0c-425f-b5b4-43ba679b6f55.json b/change/@fluentui-react-native-focus-trap-zone-1da03c70-2b0c-425f-b5b4-43ba679b6f55.json new file mode 100644 index 0000000000..4f6c23068c --- /dev/null +++ b/change/@fluentui-react-native-focus-trap-zone-1da03c70-2b0c-425f-b5b4-43ba679b6f55.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/focus-trap-zone", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-focus-zone-97f21799-890e-44b0-bcdc-666566fc1884.json b/change/@fluentui-react-native-focus-zone-97f21799-890e-44b0-bcdc-666566fc1884.json new file mode 100644 index 0000000000..e617a9b832 --- /dev/null +++ b/change/@fluentui-react-native-focus-zone-97f21799-890e-44b0-bcdc-666566fc1884.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/focus-zone", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-framework-base-5c7aa10c-8af6-4719-b0dc-9d9ed0882f07.json b/change/@fluentui-react-native-framework-base-5c7aa10c-8af6-4719-b0dc-9d9ed0882f07.json new file mode 100644 index 0000000000..a8b2a5a31a --- /dev/null +++ b/change/@fluentui-react-native-framework-base-5c7aa10c-8af6-4719-b0dc-9d9ed0882f07.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/framework-base", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-framework-e329185b-c237-4dea-a228-d037945e753f.json b/change/@fluentui-react-native-framework-e329185b-c237-4dea-a228-d037945e753f.json new file mode 100644 index 0000000000..cd1bd01992 --- /dev/null +++ b/change/@fluentui-react-native-framework-e329185b-c237-4dea-a228-d037945e753f.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/framework", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-icon-db0eb992-d54c-4b74-a2aa-f0e9d6ccaf97.json b/change/@fluentui-react-native-icon-db0eb992-d54c-4b74-a2aa-f0e9d6ccaf97.json new file mode 100644 index 0000000000..5350002921 --- /dev/null +++ b/change/@fluentui-react-native-icon-db0eb992-d54c-4b74-a2aa-f0e9d6ccaf97.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/icon", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-immutable-merge-3d3f97b0-6977-4b32-b615-60ed26cf775a.json b/change/@fluentui-react-native-immutable-merge-3d3f97b0-6977-4b32-b615-60ed26cf775a.json new file mode 100644 index 0000000000..33e865cfd9 --- /dev/null +++ b/change/@fluentui-react-native-immutable-merge-3d3f97b0-6977-4b32-b615-60ed26cf775a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/immutable-merge", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-input-a471069b-6518-4276-bd22-74853a9805e2.json b/change/@fluentui-react-native-input-a471069b-6518-4276-bd22-74853a9805e2.json new file mode 100644 index 0000000000..8b4eb5a285 --- /dev/null +++ b/change/@fluentui-react-native-input-a471069b-6518-4276-bd22-74853a9805e2.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/input", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-interactive-hooks-25d4bbae-6266-44ad-ba9f-2c22ba6cf3cb.json b/change/@fluentui-react-native-interactive-hooks-25d4bbae-6266-44ad-ba9f-2c22ba6cf3cb.json new file mode 100644 index 0000000000..db82db1c44 --- /dev/null +++ b/change/@fluentui-react-native-interactive-hooks-25d4bbae-6266-44ad-ba9f-2c22ba6cf3cb.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/interactive-hooks", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-link-75301fa6-7df0-4544-9086-56658f977278.json b/change/@fluentui-react-native-link-75301fa6-7df0-4544-9086-56658f977278.json new file mode 100644 index 0000000000..b922f2f281 --- /dev/null +++ b/change/@fluentui-react-native-link-75301fa6-7df0-4544-9086-56658f977278.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/link", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-memo-cache-08057fc1-c592-4c36-a206-1289b50ad657.json b/change/@fluentui-react-native-memo-cache-08057fc1-c592-4c36-a206-1289b50ad657.json new file mode 100644 index 0000000000..b7f52d24ff --- /dev/null +++ b/change/@fluentui-react-native-memo-cache-08057fc1-c592-4c36-a206-1289b50ad657.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/memo-cache", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-menu-12bf3abe-c8ff-4cf0-849b-e2dec26568b1.json b/change/@fluentui-react-native-menu-12bf3abe-c8ff-4cf0-849b-e2dec26568b1.json new file mode 100644 index 0000000000..3c9c7bcbe9 --- /dev/null +++ b/change/@fluentui-react-native-menu-12bf3abe-c8ff-4cf0-849b-e2dec26568b1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/menu", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-menu-button-6d6e2b73-73ee-4dd7-b84b-5ea9604fe1a8.json b/change/@fluentui-react-native-menu-button-6d6e2b73-73ee-4dd7-b84b-5ea9604fe1a8.json new file mode 100644 index 0000000000..d36c512fa3 --- /dev/null +++ b/change/@fluentui-react-native-menu-button-6d6e2b73-73ee-4dd7-b84b-5ea9604fe1a8.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-merge-props-456d59b3-8247-42d3-9f61-2a8d2e4217fd.json b/change/@fluentui-react-native-merge-props-456d59b3-8247-42d3-9f61-2a8d2e4217fd.json new file mode 100644 index 0000000000..8d5ee5c2ce --- /dev/null +++ b/change/@fluentui-react-native-merge-props-456d59b3-8247-42d3-9f61-2a8d2e4217fd.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/merge-props", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-notification-828ae334-4b94-4530-bd87-2a709e948ec8.json b/change/@fluentui-react-native-notification-828ae334-4b94-4530-bd87-2a709e948ec8.json new file mode 100644 index 0000000000..7da3dab5f7 --- /dev/null +++ b/change/@fluentui-react-native-notification-828ae334-4b94-4530-bd87-2a709e948ec8.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/notification", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-overflow-4a2f94d0-8428-4a0c-9492-5b79bc8040fe.json b/change/@fluentui-react-native-overflow-4a2f94d0-8428-4a0c-9492-5b79bc8040fe.json new file mode 100644 index 0000000000..c593a3757b --- /dev/null +++ b/change/@fluentui-react-native-overflow-4a2f94d0-8428-4a0c-9492-5b79bc8040fe.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/overflow", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-9447a89b-f80a-4566-92d0-61fae142c351.json b/change/@fluentui-react-native-persona-9447a89b-f80a-4566-92d0-61fae142c351.json new file mode 100644 index 0000000000..8d601bcc59 --- /dev/null +++ b/change/@fluentui-react-native-persona-9447a89b-f80a-4566-92d0-61fae142c351.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/persona", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-coin-8d9595ff-14d0-41fc-ac41-549f57e696af.json b/change/@fluentui-react-native-persona-coin-8d9595ff-14d0-41fc-ac41-549f57e696af.json new file mode 100644 index 0000000000..bdc414ab3e --- /dev/null +++ b/change/@fluentui-react-native-persona-coin-8d9595ff-14d0-41fc-ac41-549f57e696af.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/persona-coin", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-popover-e0b38efa-7ffd-40eb-a3ca-52395cc25099.json b/change/@fluentui-react-native-popover-e0b38efa-7ffd-40eb-a3ca-52395cc25099.json new file mode 100644 index 0000000000..82056dff43 --- /dev/null +++ b/change/@fluentui-react-native-popover-e0b38efa-7ffd-40eb-a3ca-52395cc25099.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/popover", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-pressable-4cfd6946-fd8d-49dc-984d-7778212c41eb.json b/change/@fluentui-react-native-pressable-4cfd6946-fd8d-49dc-984d-7778212c41eb.json new file mode 100644 index 0000000000..56435a5815 --- /dev/null +++ b/change/@fluentui-react-native-pressable-4cfd6946-fd8d-49dc-984d-7778212c41eb.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/pressable", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-radio-group-149d1300-8b38-4035-95c9-7e6ccaeafcc0.json b/change/@fluentui-react-native-radio-group-149d1300-8b38-4035-95c9-7e6ccaeafcc0.json new file mode 100644 index 0000000000..6a638a9dde --- /dev/null +++ b/change/@fluentui-react-native-radio-group-149d1300-8b38-4035-95c9-7e6ccaeafcc0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/radio-group", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-separator-f3df5b92-6736-4394-bb68-007c481637a0.json b/change/@fluentui-react-native-separator-f3df5b92-6736-4394-bb68-007c481637a0.json new file mode 100644 index 0000000000..73f171c099 --- /dev/null +++ b/change/@fluentui-react-native-separator-f3df5b92-6736-4394-bb68-007c481637a0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/separator", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-spinner-da5f27b1-252c-4305-816c-8fd54ab21d24.json b/change/@fluentui-react-native-spinner-da5f27b1-252c-4305-816c-8fd54ab21d24.json new file mode 100644 index 0000000000..a848b7772d --- /dev/null +++ b/change/@fluentui-react-native-spinner-da5f27b1-252c-4305-816c-8fd54ab21d24.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/spinner", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-stack-d2e32cdd-9eaa-494e-9a27-bb610f13647a.json b/change/@fluentui-react-native-stack-d2e32cdd-9eaa-494e-9a27-bb610f13647a.json new file mode 100644 index 0000000000..93a85ae156 --- /dev/null +++ b/change/@fluentui-react-native-stack-d2e32cdd-9eaa-494e-9a27-bb610f13647a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/stack", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-styling-utils-91f1e1e5-4399-4024-b6f1-e9d19d2d5f0b.json b/change/@fluentui-react-native-styling-utils-91f1e1e5-4399-4024-b6f1-e9d19d2d5f0b.json new file mode 100644 index 0000000000..fcc43713ca --- /dev/null +++ b/change/@fluentui-react-native-styling-utils-91f1e1e5-4399-4024-b6f1-e9d19d2d5f0b.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/styling-utils", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-switch-7b7a7ab4-1b04-4401-aaea-c240455dcb9a.json b/change/@fluentui-react-native-switch-7b7a7ab4-1b04-4401-aaea-c240455dcb9a.json new file mode 100644 index 0000000000..089b93a667 --- /dev/null +++ b/change/@fluentui-react-native-switch-7b7a7ab4-1b04-4401-aaea-c240455dcb9a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/switch", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tablist-447bbefb-97f0-48e6-a6e2-b802174d884e.json b/change/@fluentui-react-native-tablist-447bbefb-97f0-48e6-a6e2-b802174d884e.json new file mode 100644 index 0000000000..a9cf79e111 --- /dev/null +++ b/change/@fluentui-react-native-tablist-447bbefb-97f0-48e6-a6e2-b802174d884e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/tablist", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tester-ba211d9d-d380-4960-9bb6-12081ec37221.json b/change/@fluentui-react-native-tester-ba211d9d-d380-4960-9bb6-12081ec37221.json new file mode 100644 index 0000000000..89209a281d --- /dev/null +++ b/change/@fluentui-react-native-tester-ba211d9d-d380-4960-9bb6-12081ec37221.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/tester", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tester-win32-f0be4986-fdb5-4469-aecc-f53e04ba278a.json b/change/@fluentui-react-native-tester-win32-f0be4986-fdb5-4469-aecc-f53e04ba278a.json new file mode 100644 index 0000000000..33bb00ba2a --- /dev/null +++ b/change/@fluentui-react-native-tester-win32-f0be4986-fdb5-4469-aecc-f53e04ba278a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/tester-win32", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-text-b62ed3fa-6840-41f1-968d-11f4c2dd2e6b.json b/change/@fluentui-react-native-text-b62ed3fa-6840-41f1-968d-11f4c2dd2e6b.json new file mode 100644 index 0000000000..e0da28ba0b --- /dev/null +++ b/change/@fluentui-react-native-text-b62ed3fa-6840-41f1-968d-11f4c2dd2e6b.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/text", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-theme-1d10a478-4f8a-47ae-b017-09f86ea6414e.json b/change/@fluentui-react-native-theme-1d10a478-4f8a-47ae-b017-09f86ea6414e.json new file mode 100644 index 0000000000..170d48916e --- /dev/null +++ b/change/@fluentui-react-native-theme-1d10a478-4f8a-47ae-b017-09f86ea6414e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/theme", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-theme-tokens-de0bdae9-1959-4c17-b1ce-53d10bb9c746.json b/change/@fluentui-react-native-theme-tokens-de0bdae9-1959-4c17-b1ce-53d10bb9c746.json new file mode 100644 index 0000000000..36e7585518 --- /dev/null +++ b/change/@fluentui-react-native-theme-tokens-de0bdae9-1959-4c17-b1ce-53d10bb9c746.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/theme-tokens", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-theme-types-4970e67a-52dc-4d8d-8b48-36644f73737f.json b/change/@fluentui-react-native-theme-types-4970e67a-52dc-4d8d-8b48-36644f73737f.json new file mode 100644 index 0000000000..e81e1153e8 --- /dev/null +++ b/change/@fluentui-react-native-theme-types-4970e67a-52dc-4d8d-8b48-36644f73737f.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/theme-types", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-themed-stylesheet-cc7f34ed-1f3d-40d8-be2e-905de258ebac.json b/change/@fluentui-react-native-themed-stylesheet-cc7f34ed-1f3d-40d8-be2e-905de258ebac.json new file mode 100644 index 0000000000..81b8422c71 --- /dev/null +++ b/change/@fluentui-react-native-themed-stylesheet-cc7f34ed-1f3d-40d8-be2e-905de258ebac.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/themed-stylesheet", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-theming-utils-c3c450cd-688d-4e35-bc1f-5d2454037d29.json b/change/@fluentui-react-native-theming-utils-c3c450cd-688d-4e35-bc1f-5d2454037d29.json new file mode 100644 index 0000000000..650ffd18ce --- /dev/null +++ b/change/@fluentui-react-native-theming-utils-c3c450cd-688d-4e35-bc1f-5d2454037d29.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/theming-utils", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tokens-439b2a6b-f092-45af-8acf-201f91141a07.json b/change/@fluentui-react-native-tokens-439b2a6b-f092-45af-8acf-201f91141a07.json new file mode 100644 index 0000000000..d3520ec719 --- /dev/null +++ b/change/@fluentui-react-native-tokens-439b2a6b-f092-45af-8acf-201f91141a07.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/tokens", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tooltip-b643f7ec-7356-4845-8118-77e59ea0f469.json b/change/@fluentui-react-native-tooltip-b643f7ec-7356-4845-8118-77e59ea0f469.json new file mode 100644 index 0000000000..d6cdc92055 --- /dev/null +++ b/change/@fluentui-react-native-tooltip-b643f7ec-7356-4845-8118-77e59ea0f469.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/tooltip", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-slot-d467a2d2-21d2-4527-a44c-81a93323375b.json b/change/@fluentui-react-native-use-slot-d467a2d2-21d2-4527-a44c-81a93323375b.json new file mode 100644 index 0000000000..67a05fb968 --- /dev/null +++ b/change/@fluentui-react-native-use-slot-d467a2d2-21d2-4527-a44c-81a93323375b.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/use-slot", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-slots-47cc5ca4-c3f3-4f3c-ad3d-c73f41c3f6c1.json b/change/@fluentui-react-native-use-slots-47cc5ca4-c3f3-4f3c-ad3d-c73f41c3f6c1.json new file mode 100644 index 0000000000..c6f7fa1c82 --- /dev/null +++ b/change/@fluentui-react-native-use-slots-47cc5ca4-c3f3-4f3c-ad3d-c73f41c3f6c1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/use-slots", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-styling-7edf9738-4711-468b-9ae1-c1efe8066fe6.json b/change/@fluentui-react-native-use-styling-7edf9738-4711-468b-9ae1-c1efe8066fe6.json new file mode 100644 index 0000000000..70d7eadc57 --- /dev/null +++ b/change/@fluentui-react-native-use-styling-7edf9738-4711-468b-9ae1-c1efe8066fe6.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/use-styling", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-tokens-34fb11ea-c61a-4034-a69f-76ef918f6d33.json b/change/@fluentui-react-native-use-tokens-34fb11ea-c61a-4034-a69f-76ef918f6d33.json new file mode 100644 index 0000000000..d7b3b28c71 --- /dev/null +++ b/change/@fluentui-react-native-use-tokens-34fb11ea-c61a-4034-a69f-76ef918f6d33.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/use-tokens", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-vibrancy-view-d4988e82-cc92-4139-b6bf-d4e516932057.json b/change/@fluentui-react-native-vibrancy-view-d4988e82-cc92-4139-b6bf-d4e516932057.json new file mode 100644 index 0000000000..5a58910be3 --- /dev/null +++ b/change/@fluentui-react-native-vibrancy-view-d4988e82-cc92-4139-b6bf-d4e516932057.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/vibrancy-view", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-win32-theme-152c8a98-a3d5-457a-bb6a-abf910fa789f.json b/change/@fluentui-react-native-win32-theme-152c8a98-a3d5-457a-bb6a-abf910fa789f.json new file mode 100644 index 0000000000..bc9530dda4 --- /dev/null +++ b/change/@fluentui-react-native-win32-theme-152c8a98-a3d5-457a-bb6a-abf910fa789f.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@fluentui-react-native/win32-theme", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-composable-537f14ef-d1bd-4497-aaa2-13bf1c82af90.json b/change/@uifabricshared-foundation-composable-537f14ef-d1bd-4497-aaa2-13bf1c82af90.json new file mode 100644 index 0000000000..3a9713d8cd --- /dev/null +++ b/change/@uifabricshared-foundation-composable-537f14ef-d1bd-4497-aaa2-13bf1c82af90.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/foundation-composable", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-compose-d30923a0-efa9-4ab2-a569-d3f71b8074f9.json b/change/@uifabricshared-foundation-compose-d30923a0-efa9-4ab2-a569-d3f71b8074f9.json new file mode 100644 index 0000000000..d5012192e5 --- /dev/null +++ b/change/@uifabricshared-foundation-compose-d30923a0-efa9-4ab2-a569-d3f71b8074f9.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/foundation-compose", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-settings-92570c64-9140-4624-9f7f-5dc3ea7143d9.json b/change/@uifabricshared-foundation-settings-92570c64-9140-4624-9f7f-5dc3ea7143d9.json new file mode 100644 index 0000000000..3ce9608ad1 --- /dev/null +++ b/change/@uifabricshared-foundation-settings-92570c64-9140-4624-9f7f-5dc3ea7143d9.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/foundation-settings", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-tokens-9e98a0b7-7fcd-44a8-8633-f1d9b045b668.json b/change/@uifabricshared-foundation-tokens-9e98a0b7-7fcd-44a8-8633-f1d9b045b668.json new file mode 100644 index 0000000000..a5cf3f520b --- /dev/null +++ b/change/@uifabricshared-foundation-tokens-9e98a0b7-7fcd-44a8-8633-f1d9b045b668.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/foundation-tokens", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-theme-registry-130620f0-951d-419f-b540-246f2293ab66.json b/change/@uifabricshared-theme-registry-130620f0-951d-419f-b540-246f2293ab66.json new file mode 100644 index 0000000000..a05146844e --- /dev/null +++ b/change/@uifabricshared-theme-registry-130620f0-951d-419f-b540-246f2293ab66.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/theme-registry", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-themed-settings-e56d800b-32eb-4c31-a451-8c05495014d0.json b/change/@uifabricshared-themed-settings-e56d800b-32eb-4c31-a451-8c05495014d0.json new file mode 100644 index 0000000000..e92f0b8839 --- /dev/null +++ b/change/@uifabricshared-themed-settings-e56d800b-32eb-4c31-a451-8c05495014d0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/themed-settings", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-theming-ramp-3fc6a428-eee3-478f-9fa5-74389d2deeb1.json b/change/@uifabricshared-theming-ramp-3fc6a428-eee3-478f-9fa5-74389d2deeb1.json new file mode 100644 index 0000000000..a00926568c --- /dev/null +++ b/change/@uifabricshared-theming-ramp-3fc6a428-eee3-478f-9fa5-74389d2deeb1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/theming-ramp", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-theming-react-native-662f5e61-3d66-4683-9531-51fa83fc819c.json b/change/@uifabricshared-theming-react-native-662f5e61-3d66-4683-9531-51fa83fc819c.json new file mode 100644 index 0000000000..dca6058702 --- /dev/null +++ b/change/@uifabricshared-theming-react-native-662f5e61-3d66-4683-9531-51fa83fc819c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "move repo to pnpm, create babel and jest config packages, fix dependencies", + "packageName": "@uifabricshared/theming-react-native", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/lage.config.js b/lage.config.js index 6d01fb7fa9..da7d7001d6 100644 --- a/lage.config.js +++ b/lage.config.js @@ -6,7 +6,7 @@ module.exports = { inputs: ['*', 'src/**/*', 'assets/**/*'], outputs: ['lib/**/*', 'lib-commonjs/**/*'], }, - buildci: ['build', 'test', 'lint', 'depcheck'], + buildci: ['build', 'test', 'lint', 'depcheck', 'check-publishing'], bundle: { inputs: ['**/*', '!node_modules/**/*', '!dist/**/*', '!lib/**/*', '!lib-commonjs/**/*'], outputs: ['dist/**/*'], @@ -26,6 +26,7 @@ module.exports = { inputs: ['*', 'src/**/*'], outputs: [], }, + ['pr-check']: ['build', 'test', 'lint', 'depcheck', 'check-publishing', 'align-deps', 'lint-lockfile', 'prettier'], ['prettier-fix']: [], test: { dependsOn: ['build'], diff --git a/package.json b/package.json index 38fd4377b1..7495c2c407 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,13 @@ "change": "beachball change", "check-for-changed-files": "cd scripts && yarn fluentui-scripts check-changes", "checkchange": "beachball check --changehint \"Run 'yarn change' to generate a change file\"", + "check-publishing": "node ./scripts/src/cli.mjs check-publishing", "align-deps": "rnx-align-deps --no-unmanaged --requirements react-native@0.74", "depcheck": "lage depcheck", + "depcheck-fix": "yarn workspaces foreach -all -no-private run depcheck --fix-errors", + "depcheck-fix-check": "yarn workspaces foreach -all -no-private run depcheck --fix-errors --dry-run", "lint": "lage lint", + "pr-check": "lage pr-check", "preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", "prettier": "lage prettier", "prettier-fix": "lage prettier-fix", @@ -35,6 +39,7 @@ "@babel/preset-env": "^7.8.0", "@babel/preset-react": "^7.8.0", "@babel/preset-typescript": "^7.8.0", + "@babel/runtime": "^7.20.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-babel-transformer": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/codemods/babel.config.js b/packages/codemods/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/codemods/babel.config.js +++ b/packages/codemods/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/codemods/jest.config.js b/packages/codemods/jest.config.js index b1f9d15ff0..6e7be0db56 100644 --- a/packages/codemods/jest.config.js +++ b/packages/codemods/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); -module.exports = configureJest({ testRegex: '/__tests__/.*-test\\.ts$' }); +const { configureJest } = require('@fluentui-react-native/jest-config'); +module.exports = configureJest(); diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 614885c18a..5434dc4d20 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -41,10 +41,13 @@ "devDependencies": { "@babel/core": "^7.8.0", "@babel/preset-env": "^7.8.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", - "@types/jscodeshift": "^0.11.11" + "@types/jscodeshift": "^0.11.11", + "@types/node": "^22.0.0" }, "depcheck": { "ignoreMatches": [ diff --git a/packages/codemods/src/transforms/__tests__/button-v0-to-v1-test.ts b/packages/codemods/src/transforms/__tests__/button-v0-to-v1.test.ts similarity index 100% rename from packages/codemods/src/transforms/__tests__/button-v0-to-v1-test.ts rename to packages/codemods/src/transforms/__tests__/button-v0-to-v1.test.ts diff --git a/packages/codemods/src/transforms/__tests__/deprecate-exports-test.ts b/packages/codemods/src/transforms/__tests__/deprecate-exports.test.ts similarity index 100% rename from packages/codemods/src/transforms/__tests__/deprecate-exports-test.ts rename to packages/codemods/src/transforms/__tests__/deprecate-exports.test.ts diff --git a/packages/components/Avatar/babel.config.js b/packages/components/Avatar/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Avatar/babel.config.js +++ b/packages/components/Avatar/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Avatar/jest.config.js b/packages/components/Avatar/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Avatar/jest.config.js +++ b/packages/components/Avatar/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index 87fb077421..99c0c4477f 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -44,17 +44,21 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -86,6 +90,7 @@ "core-macos", "core-windows", "react", + "react-test-renderer", "svg" ] } diff --git a/packages/components/Badge/babel.config.js b/packages/components/Badge/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Badge/babel.config.js +++ b/packages/components/Badge/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Badge/jest.config.js b/packages/components/Badge/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Badge/jest.config.js +++ b/packages/components/Badge/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index 9aed369c42..d825901c44 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -41,18 +41,22 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -85,6 +89,7 @@ "core-macos", "core-windows", "react", + "react-test-renderer", "svg" ] } diff --git a/packages/components/Button/babel.config.js b/packages/components/Button/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Button/babel.config.js +++ b/packages/components/Button/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Button/jest.config.js b/packages/components/Button/jest.config.js index a8bf7c4f87..012dd1d9c5 100644 --- a/packages/components/Button/jest.config.js +++ b/packages/components/Button/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('ios'); diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index 57c8113b1e..6ff8612f54 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -46,23 +46,26 @@ "@fluentui-react-native/use-styling": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", - "@uifabricshared/foundation-settings": "workspace:*", - "tslib": "^2.3.1" + "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -97,7 +100,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Callout/babel.config.js b/packages/components/Callout/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Callout/babel.config.js +++ b/packages/components/Callout/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Callout/jest.config.js b/packages/components/Callout/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Callout/jest.config.js +++ b/packages/components/Callout/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index e7874e458e..591c0fa5da 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -41,7 +41,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", @@ -50,7 +52,8 @@ "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -80,7 +83,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Checkbox/babel.config.js b/packages/components/Checkbox/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Checkbox/babel.config.js +++ b/packages/components/Checkbox/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Checkbox/jest.config.js b/packages/components/Checkbox/jest.config.js new file mode 100644 index 0000000000..e35d4a0faa --- /dev/null +++ b/packages/components/Checkbox/jest.config.js @@ -0,0 +1,2 @@ +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); +module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index 2e1561047d..da7293c882 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -42,23 +42,26 @@ "@fluentui-react-native/use-styling": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", - "@uifabricshared/foundation-settings": "workspace:*", - "tslib": "^2.3.1" + "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -93,7 +96,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Checkbox/src/__tests__/__snapshots__/Checkbox.test.tsx.snap b/packages/components/Checkbox/src/__tests__/__snapshots__/Checkbox.test.tsx.snap index 1983da7421..a2a9b2013a 100644 --- a/packages/components/Checkbox/src/__tests__/__snapshots__/Checkbox.test.tsx.snap +++ b/packages/components/Checkbox/src/__tests__/__snapshots__/Checkbox.test.tsx.snap @@ -3,8 +3,8 @@ exports[`Checkbox component tests Checkbox all props 1`] = ` All Props Checkbox @@ -282,8 +411,8 @@ exports[`Checkbox component tests Checkbox all tokens 1`] = ` exports[`Checkbox component tests Checkbox composed 1`] = ` @@ -408,8 +568,8 @@ exports[`Checkbox component tests Checkbox composed 1`] = ` exports[`Checkbox component tests Checkbox default 1`] = ` @@ -537,30 +760,52 @@ exports[`Checkbox component tests Checkbox default 1`] = ` exports[`Checkbox component tests Checkbox no label 1`] = ` , renderData: IStackRenderData, ...children: React.ReactNode[]): JSX.Element => { const { gap, horizontal, wrap } = renderData.state!; - if (gap && gap > 0 && children && global.__jsiExecutorDescription !== 'ChakraRuntime') { + if (gap && gap > 0 && children && globalThis.__jsiExecutorDescription !== 'ChakraRuntime') { const extraStyle: ViewStyle = horizontal ? { marginLeft: gap } : { marginTop: gap }; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - TODO, fix typing error @@ -91,5 +91,4 @@ export const Stack = compose({ }, }); -// eslint-disable-next-line no-restricted-exports export default Stack; diff --git a/packages/components/Switch/babel.config.js b/packages/components/Switch/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Switch/babel.config.js +++ b/packages/components/Switch/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Switch/jest.config.js b/packages/components/Switch/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Switch/jest.config.js +++ b/packages/components/Switch/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index afd9cd02ff..47f1b3c02e 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -36,22 +36,25 @@ "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theming-utils": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", - "@fluentui-react-native/use-styling": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/use-styling": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -83,7 +86,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/TabList/babel.config.js b/packages/components/TabList/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/TabList/babel.config.js +++ b/packages/components/TabList/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/TabList/jest.config.js b/packages/components/TabList/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/TabList/jest.config.js +++ b/packages/components/TabList/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index f9aff28d82..003dbd1aa1 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -38,23 +38,26 @@ "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theming-utils": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", - "@fluentui-react-native/use-styling": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/use-styling": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -88,7 +91,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/TabList/tsconfig.json b/packages/components/TabList/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/components/TabList/tsconfig.json +++ b/packages/components/TabList/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/components/Text/babel.config.js b/packages/components/Text/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Text/babel.config.js +++ b/packages/components/Text/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/components/Text/jest.config.js b/packages/components/Text/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Text/jest.config.js +++ b/packages/components/Text/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index ce4bbed82e..2fe0fecea9 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -35,21 +35,24 @@ "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", - "@uifabricshared/foundation-compose": "workspace:*", - "tslib": "^2.3.1" + "@uifabricshared/foundation-compose": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -81,7 +84,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/configs/babel-config/README.md b/packages/configs/babel-config/README.md new file mode 100644 index 0000000000..58af27fc71 --- /dev/null +++ b/packages/configs/babel-config/README.md @@ -0,0 +1,3 @@ +# `@fluentui-react-native/babel-config` + +Common babel configuration for the fluentui-react-native repository. diff --git a/packages/configs/babel-config/babel.config.js b/packages/configs/babel-config/babel.config.js new file mode 100644 index 0000000000..975b636e48 --- /dev/null +++ b/packages/configs/babel-config/babel.config.js @@ -0,0 +1,22 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + modules: 'auto', + targets: { node: 'current' }, + }, + ], + '@babel/preset-react', + ['@babel/preset-typescript', { allowSyntheticDefaultImports: true }], + ['module:@react-native/babel-preset', { runtime: 'automatic' }], + ], + overrides: [ + { + plugins: [ + [require('@babel/plugin-transform-react-jsx'), { runtime: 'automatic' }], + [require('@babel/plugin-transform-react-jsx-source')], + ], + }, + ], +}; diff --git a/packages/configs/babel-config/babel.react.config.js b/packages/configs/babel-config/babel.react.config.js new file mode 100644 index 0000000000..3bac67a819 --- /dev/null +++ b/packages/configs/babel-config/babel.react.config.js @@ -0,0 +1,21 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + modules: 'auto', + targets: { node: 'current' }, + }, + ], + '@babel/preset-react', + ['@babel/preset-typescript', { allowSyntheticDefaultImports: true }], + ], + overrides: [ + { + plugins: [ + [require('@babel/plugin-transform-react-jsx'), { runtime: 'automatic' }], + [require('@babel/plugin-transform-react-jsx-source')], + ], + }, + ], +}; diff --git a/packages/configs/babel-config/package.json b/packages/configs/babel-config/package.json new file mode 100644 index 0000000000..417d105ac6 --- /dev/null +++ b/packages/configs/babel-config/package.json @@ -0,0 +1,36 @@ +{ + "name": "@fluentui-react-native/babel-config", + "private": true, + "version": "0.1.1", + "description": "Babel configuration for UI Fabric React Native", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/fluentui-react-native", + "directory": "packages/framework/babel-config" + }, + "main": "./babel.config.js", + "exports": { + ".": "./babel.config.js", + "./babel.config.js": "./babel.config.js", + "./babel.react.config.js": "./babel.react.config.js" + }, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.0", + "@babel/plugin-transform-react-jsx-source": "^7.22.0", + "@babel/plugin-transform-typescript": "^7.22.0", + "@babel/preset-env": "^7.22.0", + "@babel/preset-react": "^7.22.0", + "@babel/preset-typescript": "^7.22.0", + "@babel/runtime": "^7.22.0", + "@react-native/babel-preset": "^0.74.0", + "@react-native/metro-babel-transformer": "^0.74.0" + }, + "beachball": { + "shouldPublish": false, + "disallowedChangeTypes": [ + "major" + ] + } +} diff --git a/packages/configs/jest-config/README.md b/packages/configs/jest-config/README.md new file mode 100644 index 0000000000..58af27fc71 --- /dev/null +++ b/packages/configs/jest-config/README.md @@ -0,0 +1,3 @@ +# `@fluentui-react-native/babel-config` + +Common babel configuration for the fluentui-react-native repository. diff --git a/packages/configs/jest-config/eslint.config.js b/packages/configs/jest-config/eslint.config.js new file mode 100644 index 0000000000..a4f7e7df54 --- /dev/null +++ b/packages/configs/jest-config/eslint.config.js @@ -0,0 +1,2 @@ +import baseConfig from '@fluentui-react-native/eslint-config-rules'; +export default baseConfig; diff --git a/packages/configs/jest-config/package.json b/packages/configs/jest-config/package.json new file mode 100644 index 0000000000..c777578a28 --- /dev/null +++ b/packages/configs/jest-config/package.json @@ -0,0 +1,42 @@ +{ + "name": "@fluentui-react-native/jest-config", + "private": true, + "version": "0.1.1", + "description": "Jest configuration for UI Fabric React Native", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/fluentui-react-native", + "directory": "packages/framework/jest-config" + }, + "main": "./src/index.js", + "exports": { + ".": "./src/index.js" + }, + "type": "module", + "license": "MIT", + "scripts": { + "build": "fluentui-scripts build", + "depcheck": "fluentui-scripts depcheck", + "lint": "fluentui-scripts eslint" + }, + "dependencies": { + "@rnx-kit/jest-preset": "^0.2.1" + }, + "devDependencies": { + "@babel/core": "^7.28.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/scripts": "workspace:*", + "@types/node": "^22.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.2.1", + "jest-transform-stub": "^2.0.0", + "typescript": "^5.8.0" + }, + "beachball": { + "shouldPublish": false, + "disallowedChangeTypes": [ + "major" + ] + } +} diff --git a/packages/configs/jest-config/src/configureJest.js b/packages/configs/jest-config/src/configureJest.js new file mode 100644 index 0000000000..2c3a7bd997 --- /dev/null +++ b/packages/configs/jest-config/src/configureJest.js @@ -0,0 +1,92 @@ +// @ts-check + +/** + * @typedef {import('jest').Config} JestConfig + */ + +/** + * Jest configuration for pure React packages (non-React Native). + * Uses babel-jest for TypeScript transpilation with the babel configuration + * from @fluentui-react-native/babel-config/babel.react.config.js + * + * @param {JestConfig} [customConfig] - Optional custom configuration to merge + * @returns {JestConfig} - The Jest configuration object + */ +export function configureJest(customConfig) { + /** @type {JestConfig} */ + const baseConfig = { + // File patterns + roots: ['/src'], + testMatch: ['**/__tests__/**/*.(ts|tsx|js|jsx)', '**/*.(test|spec).(ts|tsx|js|jsx)'], + + // Module file extensions + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'], + + // Module name mapping for non-JS assets + moduleNameMapper: { + // Handle static assets + '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'jest-transform-stub', + }, + + // Transform configuration using babel-jest + transform: { + '^.+\\.(ts|tsx|js|jsx)$': [ + 'babel-jest', + { + configFile: '@fluentui-react-native/babel-config/babel.react.config.js', + }, + ], + }, + + // Files to ignore during transformation + // Allow ES modules in node_modules to be transformed + transformIgnorePatterns: ['node_modules/(?!(.*\\.mjs$))'], + + // Setup files (optional - packages can override this) + setupFilesAfterEnv: [], + + // Coverage configuration + collectCoverageFrom: [ + 'src/**/*.{ts,tsx,js,jsx}', + '!src/**/*.d.ts', + '!src/**/*.stories.{ts,tsx,js,jsx}', + '!src/**/index.{ts,tsx,js,jsx}', + '!src/setupTests.{ts,js}', + ], + + // Coverage thresholds (can be overridden) + coverageThreshold: undefined, + + // Output configuration + verbose: false, + silent: false, + + // Clear mocks between tests + clearMocks: true, + + // Restore mocks after each test + restoreMocks: true, + + // Handle ES modules properly with Yarn v4 PnP + extensionsToTreatAsEsm: ['.ts', '.tsx'], + + // Module resolution for Yarn v4 PnP + resolver: undefined, + + // Error handling + errorOnDeprecated: false, + + // Test timeout + testTimeout: 10000, + }; + + return { + ...baseConfig, + ...customConfig, + }; +} + +/** + * Default export for convenience + */ +export default configureJest; diff --git a/packages/configs/jest-config/src/configureReactNativeJest.js b/packages/configs/jest-config/src/configureReactNativeJest.js new file mode 100644 index 0000000000..3cc8552801 --- /dev/null +++ b/packages/configs/jest-config/src/configureReactNativeJest.js @@ -0,0 +1,32 @@ +// @ts-check + +// @ts-expect-error no types available for jest-preset +import jestPreset from '@rnx-kit/jest-preset'; +import { ensurePlatform } from './platforms.js'; +import { isPnpmMode } from '@fluentui-react-native/scripts'; + +/** + * @typedef {import('jest').Config} JestConfig + */ + +/** + * + * @param {import('./platforms.js').PlatformValue} [platform] + * @param {JestConfig} [customConfig] + * @returns {JestConfig} + */ +export function configureReactNativeJest(platform, customConfig) { + const config = jestPreset(ensurePlatform(platform, 'ios'), { + roots: ['/src'], + verbose: false, + ...customConfig, + }); + if (isPnpmMode()) { + // In pnpm mode, we need to ensure that the transformIgnorePatterns + // are set correctly to avoid issues with hoisted packages. + config.transformIgnorePatterns = [ + '/node_modules/(?!((jest-)?react-native(-macos)?|@react-native(-community)?|@office-iss-react-native-win32|@?react-native-windows))', + ]; + } + return config; +} diff --git a/packages/configs/jest-config/src/index.js b/packages/configs/jest-config/src/index.js new file mode 100644 index 0000000000..379012529d --- /dev/null +++ b/packages/configs/jest-config/src/index.js @@ -0,0 +1,5 @@ +// Export React Native Jest configurations +export { configureReactNativeJest } from './configureReactNativeJest.js'; + +// Export pure React Jest configuration +export { configureJest } from './configureJest.js'; diff --git a/scripts/src/configs/jest/jest-mock.js b/packages/configs/jest-config/src/jest-mock.js similarity index 100% rename from scripts/src/configs/jest/jest-mock.js rename to packages/configs/jest-config/src/jest-mock.js diff --git a/scripts/src/utils/platforms.js b/packages/configs/jest-config/src/platforms.js similarity index 100% rename from scripts/src/utils/platforms.js rename to packages/configs/jest-config/src/platforms.js diff --git a/packages/configs/jest-config/tsconfig.json b/packages/configs/jest-config/tsconfig.json new file mode 100644 index 0000000000..29105ab787 --- /dev/null +++ b/packages/configs/jest-config/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "@fluentui-react-native/scripts/tsconfig.json", + "include": ["src"] +} diff --git a/packages/deprecated/foundation-composable/babel.config.js b/packages/deprecated/foundation-composable/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/deprecated/foundation-composable/babel.config.js +++ b/packages/deprecated/foundation-composable/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/deprecated/foundation-composable/package.json b/packages/deprecated/foundation-composable/package.json index 6911fe0cf1..12ae1676f6 100644 --- a/packages/deprecated/foundation-composable/package.json +++ b/packages/deprecated/foundation-composable/package.json @@ -39,6 +39,7 @@ "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/foundation-compose/babel.config.js b/packages/deprecated/foundation-compose/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/deprecated/foundation-compose/babel.config.js +++ b/packages/deprecated/foundation-compose/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/deprecated/foundation-compose/package.json b/packages/deprecated/foundation-compose/package.json index 218d54973c..9855ef9981 100644 --- a/packages/deprecated/foundation-compose/package.json +++ b/packages/deprecated/foundation-compose/package.json @@ -45,6 +45,7 @@ "@uifabricshared/theming-ramp": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/deprecated/foundation-settings/babel.config.js b/packages/deprecated/foundation-settings/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/deprecated/foundation-settings/babel.config.js +++ b/packages/deprecated/foundation-settings/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/deprecated/foundation-settings/jest.config.js b/packages/deprecated/foundation-settings/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/deprecated/foundation-settings/jest.config.js +++ b/packages/deprecated/foundation-settings/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/deprecated/foundation-settings/package.json b/packages/deprecated/foundation-settings/package.json index 57409cad5b..bde4080b92 100644 --- a/packages/deprecated/foundation-settings/package.json +++ b/packages/deprecated/foundation-settings/package.json @@ -39,7 +39,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/foundation-tokens/babel.config.js b/packages/deprecated/foundation-tokens/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/deprecated/foundation-tokens/babel.config.js +++ b/packages/deprecated/foundation-tokens/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/deprecated/foundation-tokens/jest.config.js b/packages/deprecated/foundation-tokens/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/deprecated/foundation-tokens/jest.config.js +++ b/packages/deprecated/foundation-tokens/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index b8c4c2df42..4f58927f21 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -37,10 +37,14 @@ "dependencies": { "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", + "@types/node": "^22.0.0", "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/theme-registry/babel.config.js b/packages/deprecated/theme-registry/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/deprecated/theme-registry/babel.config.js +++ b/packages/deprecated/theme-registry/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/deprecated/theme-registry/jest.config.js b/packages/deprecated/theme-registry/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/deprecated/theme-registry/jest.config.js +++ b/packages/deprecated/theme-registry/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/deprecated/theme-registry/package.json b/packages/deprecated/theme-registry/package.json index 7da8f3f381..cda829cc51 100644 --- a/packages/deprecated/theme-registry/package.json +++ b/packages/deprecated/theme-registry/package.json @@ -36,8 +36,10 @@ "license": "MIT", "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/framework-base": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/themed-settings/babel.config.js b/packages/deprecated/themed-settings/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/deprecated/themed-settings/babel.config.js +++ b/packages/deprecated/themed-settings/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/deprecated/themed-settings/jest.config.js b/packages/deprecated/themed-settings/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/deprecated/themed-settings/jest.config.js +++ b/packages/deprecated/themed-settings/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/deprecated/themed-settings/package.json b/packages/deprecated/themed-settings/package.json index f1f5144849..11b22a2536 100644 --- a/packages/deprecated/themed-settings/package.json +++ b/packages/deprecated/themed-settings/package.json @@ -40,7 +40,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/theming-ramp/babel.config.js b/packages/deprecated/theming-ramp/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/deprecated/theming-ramp/babel.config.js +++ b/packages/deprecated/theming-ramp/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/deprecated/theming-ramp/jest.config.js b/packages/deprecated/theming-ramp/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/deprecated/theming-ramp/jest.config.js +++ b/packages/deprecated/theming-ramp/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index 88100bd4a9..d5556304bc 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -40,7 +40,9 @@ "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@react-native/metro-config": "^0.74.0", diff --git a/packages/deprecated/theming-react-native/babel.config.js b/packages/deprecated/theming-react-native/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/deprecated/theming-react-native/babel.config.js +++ b/packages/deprecated/theming-react-native/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/deprecated/theming-react-native/package.json b/packages/deprecated/theming-react-native/package.json index af87190b4b..ceab6cd6c7 100644 --- a/packages/deprecated/theming-react-native/package.json +++ b/packages/deprecated/theming-react-native/package.json @@ -42,6 +42,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/AppearanceAdditions/babel.config.js b/packages/experimental/AppearanceAdditions/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/AppearanceAdditions/babel.config.js +++ b/packages/experimental/AppearanceAdditions/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/AppearanceAdditions/package.json b/packages/experimental/AppearanceAdditions/package.json index ce590b3fb6..e7db0b013c 100644 --- a/packages/experimental/AppearanceAdditions/package.json +++ b/packages/experimental/AppearanceAdditions/package.json @@ -38,6 +38,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/framework": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", diff --git a/packages/experimental/Avatar/babel.config.js b/packages/experimental/Avatar/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Avatar/babel.config.js +++ b/packages/experimental/Avatar/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index 775356c5fa..2d9fb91ac9 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -37,15 +37,18 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -75,7 +78,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Checkbox/babel.config.js b/packages/experimental/Checkbox/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Checkbox/babel.config.js +++ b/packages/experimental/Checkbox/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json index 620f49ba22..ab178f741e 100644 --- a/packages/experimental/Checkbox/package.json +++ b/packages/experimental/Checkbox/package.json @@ -32,11 +32,11 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/checkbox": "workspace:*", - "@fluentui-react-native/framework": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/experimental/Checkbox/tsconfig.json b/packages/experimental/Checkbox/tsconfig.json index cd7a01480e..89a07a88a9 100644 --- a/packages/experimental/Checkbox/tsconfig.json +++ b/packages/experimental/Checkbox/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, - "outDir": "lib", - "types": ["node"] + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/experimental/Drawer/babel.config.js b/packages/experimental/Drawer/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Drawer/babel.config.js +++ b/packages/experimental/Drawer/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Drawer/jest.config.js b/packages/experimental/Drawer/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/experimental/Drawer/jest.config.js +++ b/packages/experimental/Drawer/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index 9000a2b1a5..1b02c86db3 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -37,15 +37,19 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -77,7 +81,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Dropdown/babel.config.js b/packages/experimental/Dropdown/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Dropdown/babel.config.js +++ b/packages/experimental/Dropdown/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json index 0187e5fceb..56aa2b9b62 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -40,6 +40,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", diff --git a/packages/experimental/Dropdown/tsconfig.json b/packages/experimental/Dropdown/tsconfig.json index cd7a01480e..89a07a88a9 100644 --- a/packages/experimental/Dropdown/tsconfig.json +++ b/packages/experimental/Dropdown/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, - "outDir": "lib", - "types": ["node"] + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/experimental/Expander/babel.config.js b/packages/experimental/Expander/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Expander/babel.config.js +++ b/packages/experimental/Expander/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Expander/package.json b/packages/experimental/Expander/package.json index 522d0fd1b0..2e84c3b080 100644 --- a/packages/experimental/Expander/package.json +++ b/packages/experimental/Expander/package.json @@ -38,6 +38,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/Expander/src/Expander.tsx b/packages/experimental/Expander/src/Expander.tsx index 3fe76073f7..3acbb38c5d 100644 --- a/packages/experimental/Expander/src/Expander.tsx +++ b/packages/experimental/Expander/src/Expander.tsx @@ -16,7 +16,7 @@ import { expanderName } from './Expander.types'; import ExpanderComponent from './ExpanderNativeComponent'; function delay(ms: number) { - return new Promise((resolve) => setTimeout(resolve, ms)); + return new Promise((resolve) => setTimeout(resolve, ms)); } export const Expander = compose({ diff --git a/packages/experimental/MenuButton/babel.config.js b/packages/experimental/MenuButton/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/MenuButton/babel.config.js +++ b/packages/experimental/MenuButton/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/MenuButton/jest.config.js b/packages/experimental/MenuButton/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/experimental/MenuButton/jest.config.js +++ b/packages/experimental/MenuButton/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index e314833e8f..ec66e161d7 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -37,17 +37,21 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -81,7 +85,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/NativeDatePicker/babel.config.js b/packages/experimental/NativeDatePicker/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/NativeDatePicker/babel.config.js +++ b/packages/experimental/NativeDatePicker/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/NativeDatePicker/package.json b/packages/experimental/NativeDatePicker/package.json index d8d1c36dc5..7600419e11 100644 --- a/packages/experimental/NativeDatePicker/package.json +++ b/packages/experimental/NativeDatePicker/package.json @@ -34,6 +34,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/NativeFontMetrics/babel.config.js b/packages/experimental/NativeFontMetrics/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/NativeFontMetrics/babel.config.js +++ b/packages/experimental/NativeFontMetrics/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/NativeFontMetrics/package.json b/packages/experimental/NativeFontMetrics/package.json index f819029b31..93de5c23d6 100644 --- a/packages/experimental/NativeFontMetrics/package.json +++ b/packages/experimental/NativeFontMetrics/package.json @@ -37,6 +37,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/Overflow/babel.config.js b/packages/experimental/Overflow/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Overflow/babel.config.js +++ b/packages/experimental/Overflow/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Overflow/jest.config.js b/packages/experimental/Overflow/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/experimental/Overflow/jest.config.js +++ b/packages/experimental/Overflow/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index 73cb3519d6..c282451750 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -30,13 +30,14 @@ "directory": "packages/experimental/Overflow" }, "dependencies": { - "@fluentui-react-native/framework": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/button": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/menu": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", @@ -44,11 +45,13 @@ "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -80,7 +83,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Overflow/tsconfig.json b/packages/experimental/Overflow/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/experimental/Overflow/tsconfig.json +++ b/packages/experimental/Overflow/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/experimental/Popover/babel.config.js b/packages/experimental/Popover/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Popover/babel.config.js +++ b/packages/experimental/Popover/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Popover/package.json b/packages/experimental/Popover/package.json index 0cc5211fa1..78ceede27e 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -31,11 +31,11 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", - "@fluentui-react-native/framework": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/Popover/tsconfig.json b/packages/experimental/Popover/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/experimental/Popover/tsconfig.json +++ b/packages/experimental/Popover/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/experimental/Shadow/babel.config.js b/packages/experimental/Shadow/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Shadow/babel.config.js +++ b/packages/experimental/Shadow/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Shadow/jest.config.js b/packages/experimental/Shadow/jest.config.js index a8bf7c4f87..012dd1d9c5 100644 --- a/packages/experimental/Shadow/jest.config.js +++ b/packages/experimental/Shadow/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('ios'); diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index 9dd5a181ef..3e0faf4dbb 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -36,16 +36,20 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -77,7 +81,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Shimmer/babel.config.js b/packages/experimental/Shimmer/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Shimmer/babel.config.js +++ b/packages/experimental/Shimmer/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Shimmer/jest.config.js b/packages/experimental/Shimmer/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/experimental/Shimmer/jest.config.js +++ b/packages/experimental/Shimmer/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index b8947d596e..9f486852f7 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -38,16 +38,20 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -80,7 +84,8 @@ "core-ios", "core-macos", "core-windows", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Spinner/babel.config.js b/packages/experimental/Spinner/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Spinner/babel.config.js +++ b/packages/experimental/Spinner/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Spinner/package.json b/packages/experimental/Spinner/package.json index 629fca263b..6eb9fa97c3 100644 --- a/packages/experimental/Spinner/package.json +++ b/packages/experimental/Spinner/package.json @@ -37,6 +37,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/Stack/babel.config.js b/packages/experimental/Stack/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Stack/babel.config.js +++ b/packages/experimental/Stack/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Stack/package.json b/packages/experimental/Stack/package.json index 2c9f4565cc..2b43e877cc 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -37,16 +37,21 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", + "@types/jest": "^29.0.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0", "tslib": "^2.3.1" }, "peerDependencies": { @@ -79,7 +84,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Stack/src/Stack.tsx b/packages/experimental/Stack/src/Stack.tsx index 6ff61cbe7c..f316a470e5 100644 --- a/packages/experimental/Stack/src/Stack.tsx +++ b/packages/experimental/Stack/src/Stack.tsx @@ -57,7 +57,7 @@ export const Stack = compose({ const { gap, horizontal, wrap, ...rest } = props; const Slots = useSlots(props); return (final: StackProps, ...children: React.ReactNode[]) => { - if (gap && gap > 0 && children && global.__jsiExecutorDescription !== 'ChakraRuntime') { + if (gap && gap > 0 && children && globalThis.__jsiExecutorDescription !== 'ChakraRuntime') { const mixinProps = getMixinProps(horizontal, gap); // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/experimental/Stack/tsconfig.json b/packages/experimental/Stack/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/experimental/Stack/tsconfig.json +++ b/packages/experimental/Stack/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/experimental/Tooltip/babel.config.js b/packages/experimental/Tooltip/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/Tooltip/babel.config.js +++ b/packages/experimental/Tooltip/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/Tooltip/jest.config.js b/packages/experimental/Tooltip/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/experimental/Tooltip/jest.config.js +++ b/packages/experimental/Tooltip/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index e29ac671c7..c5ae800903 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -31,24 +31,27 @@ }, "dependencies": { "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/framework": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/button": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-svg": "^15.4.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -80,7 +83,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Tooltip/tsconfig.json b/packages/experimental/Tooltip/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/experimental/Tooltip/tsconfig.json +++ b/packages/experimental/Tooltip/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/experimental/VibrancyView/babel.config.js b/packages/experimental/VibrancyView/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/experimental/VibrancyView/babel.config.js +++ b/packages/experimental/VibrancyView/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/experimental/VibrancyView/package.json b/packages/experimental/VibrancyView/package.json index e3e1856e2f..7179da938e 100644 --- a/packages/experimental/VibrancyView/package.json +++ b/packages/experimental/VibrancyView/package.json @@ -31,11 +31,11 @@ "directory": "packages/experimental/VibrancyView" }, "dependencies": { - "@fluentui-react-native/adapters": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/adapters": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/experimental/VibrancyView/tsconfig.json b/packages/experimental/VibrancyView/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/experimental/VibrancyView/tsconfig.json +++ b/packages/experimental/VibrancyView/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework-base/babel.config.js b/packages/framework-base/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/framework-base/babel.config.js +++ b/packages/framework-base/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/framework-base/jest.config.js b/packages/framework-base/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/framework-base/jest.config.js +++ b/packages/framework-base/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index 3c0e2163e7..f2dd6a116f 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -39,8 +39,14 @@ "keywords": [], "author": "", "license": "MIT", + "dependencies": { + "@types/react": "^18.2.0", + "react": "18.2.0" + }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@types/jest": "^29.0.0", "@types/node": "^22.0.0" diff --git a/packages/framework-base/src/merge-props/mergeStyles.test.ts b/packages/framework-base/src/merge-props/mergeStyles.test.ts index 3fd2d9b934..7be505ed32 100644 --- a/packages/framework-base/src/merge-props/mergeStyles.test.ts +++ b/packages/framework-base/src/merge-props/mergeStyles.test.ts @@ -1,8 +1,9 @@ -import type { ColorValue } from 'react-native'; - import { flattenStyle, mergeAndFlattenStyles, mergeStyles } from './mergeStyles'; import type { StyleProp } from './mergeStyles.types'; +type OpaqueColorValue = symbol & { __TYPE__: 'Color' }; +type ColorValue = string | OpaqueColorValue; + interface IFakeStyle { backgroundColor?: ColorValue; color?: ColorValue; diff --git a/packages/framework-base/tsconfig.json b/packages/framework-base/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework-base/tsconfig.json +++ b/packages/framework-base/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/composition/babel.config.js b/packages/framework/composition/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/composition/babel.config.js +++ b/packages/framework/composition/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/composition/jest.config.js b/packages/framework/composition/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/composition/jest.config.js +++ b/packages/framework/composition/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index ebc94602d2..d446fc8140 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -41,11 +41,17 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", + "@types/react": "18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "react": "18.2.0", @@ -69,7 +75,8 @@ "babel-preset-react-native", "core", "core-android", - "core-ios" + "core-ios", + "react-test-renderer" ] } } diff --git a/packages/framework/eslint-config-rules/eslint.config.js b/packages/framework/eslint-config-rules/eslint.config.js index e3ada9e0e0..962857bc76 100644 --- a/packages/framework/eslint-config-rules/eslint.config.js +++ b/packages/framework/eslint-config-rules/eslint.config.js @@ -1,16 +1,15 @@ const rnx = require('@rnx-kit/eslint-plugin'); const sdl = require('@microsoft/eslint-plugin-sdl'); -const tsLint = require('typescript-eslint'); module.exports = [ ...sdl.configs.common, - ...tsLint.configs.strict, ...rnx.configs.strict, // Base configuration for all files { languageOptions: { parserOptions: { - project: ['./tsconfig.json', 'apps/*/tsconfig.json', 'packages/*/*/tsconfig.json'], + projectService: true, + tsconfigRootDir: process.cwd(), }, }, rules: { diff --git a/packages/framework/eslint-config-rules/package.json b/packages/framework/eslint-config-rules/package.json index 5df03e6697..10df79a3f2 100644 --- a/packages/framework/eslint-config-rules/package.json +++ b/packages/framework/eslint-config-rules/package.json @@ -12,14 +12,18 @@ ".": "./eslint.config.js", "./eslint.config.js": "./eslint.config.js" }, + "scripts": { + "build": "fluentui-scripts build" + }, "license": "MIT", "dependencies": { "@microsoft/eslint-plugin-sdl": "^1.1.0", - "@rnx-kit/eslint-plugin": "^0.8.6", - "typescript-eslint": "^8.36.0" + "@rnx-kit/eslint-plugin": "^0.8.6" }, "devDependencies": { + "@fluentui-react-native/scripts": "workspace:*", "@types/eslint": "^9.0.0", + "@types/node": "^22.0.0", "eslint": "^9.0.0" }, "beachball": { diff --git a/packages/framework/eslint-config-rules/tsconfig.json b/packages/framework/eslint-config-rules/tsconfig.json index 219673e623..d1242b336d 100644 --- a/packages/framework/eslint-config-rules/tsconfig.json +++ b/packages/framework/eslint-config-rules/tsconfig.json @@ -1,8 +1,9 @@ { - "extends": "@fluentui-react-native/scripts/tsconfig.json", + "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "allowJs": true, - "checkJs": true + "checkJs": true, + "noEmit": true }, "include": ["eslint.config.js"] } diff --git a/packages/framework/framework/jest.config.js b/packages/framework/framework/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/framework/jest.config.js +++ b/packages/framework/framework/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/framework/package.json b/packages/framework/framework/package.json index 1f4cdd7d4d..7321a23643 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -40,20 +40,22 @@ "@fluentui-react-native/use-slot": "workspace:*", "@fluentui-react-native/use-slots": "workspace:*", "@fluentui-react-native/use-styling": "workspace:*", - "@fluentui-react-native/use-tokens": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/use-tokens": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/react": "^18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -85,7 +87,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/framework/framework/tsconfig.json b/packages/framework/framework/tsconfig.json index d44cf8bf85..32c0e3620f 100644 --- a/packages/framework/framework/tsconfig.json +++ b/packages/framework/framework/tsconfig.json @@ -3,7 +3,6 @@ "compilerOptions": { "resolveJsonModule": true, "experimentalDecorators": true, - "importHelpers": true, "strictNullChecks": true, "noImplicitAny": true }, diff --git a/packages/framework/immutable-merge/babel.config.js b/packages/framework/immutable-merge/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/immutable-merge/babel.config.js +++ b/packages/framework/immutable-merge/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/immutable-merge/package.json b/packages/framework/immutable-merge/package.json index d4df3a1eb6..9f08be8551 100644 --- a/packages/framework/immutable-merge/package.json +++ b/packages/framework/immutable-merge/package.json @@ -36,6 +36,7 @@ "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@types/jest": "^29.0.0", diff --git a/packages/framework/immutable-merge/tsconfig.json b/packages/framework/immutable-merge/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/immutable-merge/tsconfig.json +++ b/packages/framework/immutable-merge/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/memo-cache/babel.config.js b/packages/framework/memo-cache/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/memo-cache/babel.config.js +++ b/packages/framework/memo-cache/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/memo-cache/package.json b/packages/framework/memo-cache/package.json index 783eef31f9..f66daec81a 100644 --- a/packages/framework/memo-cache/package.json +++ b/packages/framework/memo-cache/package.json @@ -36,6 +36,7 @@ "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@types/jest": "^29.0.0", diff --git a/packages/framework/memo-cache/tsconfig.json b/packages/framework/memo-cache/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/memo-cache/tsconfig.json +++ b/packages/framework/memo-cache/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/merge-props/babel.config.js b/packages/framework/merge-props/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/merge-props/babel.config.js +++ b/packages/framework/merge-props/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/merge-props/package.json b/packages/framework/merge-props/package.json index 6d1916803e..78f79704fc 100644 --- a/packages/framework/merge-props/package.json +++ b/packages/framework/merge-props/package.json @@ -35,11 +35,11 @@ "author": "", "license": "MIT", "dependencies": { - "@fluentui-react-native/framework-base": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/framework/merge-props/tsconfig.json b/packages/framework/merge-props/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/merge-props/tsconfig.json +++ b/packages/framework/merge-props/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/theme/babel.config.js b/packages/framework/theme/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/theme/babel.config.js +++ b/packages/framework/theme/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/theme/jest.config.js b/packages/framework/theme/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/theme/jest.config.js +++ b/packages/framework/theme/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/theme/package.json b/packages/framework/theme/package.json index 11cb04d4a4..b0a1eeb6de 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/package.json @@ -40,6 +40,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/framework/theme/src/ThemeProvider.tsx b/packages/framework/theme/src/ThemeProvider.tsx index 9c6ff5b546..6a951c4997 100644 --- a/packages/framework/theme/src/ThemeProvider.tsx +++ b/packages/framework/theme/src/ThemeProvider.tsx @@ -11,7 +11,7 @@ export interface ThemeProviderProps extends React.PropsWithChildren = (props: ThemeProviderProps) => { +export const ThemeProvider: React.FunctionComponent = (props: React.PropsWithChildren) => { const { theme: themeRef, children } = props; const [theme, setThemeState] = React.useState(() => themeRef.theme); diff --git a/packages/framework/themed-stylesheet/babel.config.js b/packages/framework/themed-stylesheet/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/themed-stylesheet/babel.config.js +++ b/packages/framework/themed-stylesheet/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/themed-stylesheet/jest.config.js b/packages/framework/themed-stylesheet/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/themed-stylesheet/jest.config.js +++ b/packages/framework/themed-stylesheet/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/themed-stylesheet/package.json b/packages/framework/themed-stylesheet/package.json index 4bea6975df..9bd49c3f57 100644 --- a/packages/framework/themed-stylesheet/package.json +++ b/packages/framework/themed-stylesheet/package.json @@ -39,7 +39,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/framework/use-slot/babel.config.js b/packages/framework/use-slot/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/use-slot/babel.config.js +++ b/packages/framework/use-slot/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/use-slot/jest.config.js b/packages/framework/use-slot/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/use-slot/jest.config.js +++ b/packages/framework/use-slot/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index ff44b22c43..1b3b189235 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -35,16 +35,20 @@ "author": "", "license": "MIT", "dependencies": { - "@fluentui-react-native/framework-base": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { - "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", - "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", + "@types/jest": "^29.0.0", + "@types/react": "18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "react": "18.2.0", @@ -65,11 +69,11 @@ ] }, "capabilities": [ - "babel-preset-react-native", "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } } diff --git a/packages/framework/use-slot/tsconfig.json b/packages/framework/use-slot/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/use-slot/tsconfig.json +++ b/packages/framework/use-slot/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/use-slots/babel.config.js b/packages/framework/use-slots/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/use-slots/babel.config.js +++ b/packages/framework/use-slots/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/use-slots/jest.config.js b/packages/framework/use-slots/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/use-slots/jest.config.js +++ b/packages/framework/use-slots/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index e809df5eb5..ea3756c00a 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -40,11 +40,17 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", + "@types/react": "18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "react": "18.2.0", @@ -69,7 +75,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } } diff --git a/packages/framework/use-styling/babel.config.js b/packages/framework/use-styling/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/use-styling/babel.config.js +++ b/packages/framework/use-styling/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/use-styling/jest.config.js b/packages/framework/use-styling/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/use-styling/jest.config.js +++ b/packages/framework/use-styling/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index ce59f7f67a..ecbed3e9bf 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -36,17 +36,22 @@ "license": "MIT", "dependencies": { "@fluentui-react-native/framework-base": "workspace:*", - "@fluentui-react-native/use-tokens": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/use-tokens": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/jest": "^29.0.0", + "@types/react": "18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "rnx-kit": { "kitType": "library", @@ -67,7 +72,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/framework/use-styling/tsconfig.json b/packages/framework/use-styling/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/use-styling/tsconfig.json +++ b/packages/framework/use-styling/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/framework/use-tokens/babel.config.js b/packages/framework/use-tokens/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/framework/use-tokens/babel.config.js +++ b/packages/framework/use-tokens/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/framework/use-tokens/jest.config.js b/packages/framework/use-tokens/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/framework/use-tokens/jest.config.js +++ b/packages/framework/use-tokens/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index be8198e451..7e68e088d9 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -35,17 +35,22 @@ "author": "", "license": "MIT", "dependencies": { - "@fluentui-react-native/framework-base": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/jest": "^29.0.0", + "@types/react": "18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "rnx-kit": { "kitType": "library", @@ -66,7 +71,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/framework/use-tokens/tsconfig.json b/packages/framework/use-tokens/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/framework/use-tokens/tsconfig.json +++ b/packages/framework/use-tokens/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/packages/libraries/core/jest.config.win32.js b/packages/libraries/core/jest.config.win32.js index f6813bad78..e35d4a0faa 100644 --- a/packages/libraries/core/jest.config.win32.js +++ b/packages/libraries/core/jest.config.win32.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/libraries/core/package.json b/packages/libraries/core/package.json index efd7639ff0..95b8bd5692 100644 --- a/packages/libraries/core/package.json +++ b/packages/libraries/core/package.json @@ -72,6 +72,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/libraries/core/tsconfig.json b/packages/libraries/core/tsconfig.json index c02956dd07..555ee5da3d 100644 --- a/packages/libraries/core/tsconfig.json +++ b/packages/libraries/core/tsconfig.json @@ -1,22 +1,18 @@ { + "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "baseUrl": ".", - "target": "es5", "jsx": "react", "outDir": "lib", "declaration": true, "sourceMap": true, - "experimentalDecorators": true, - "importHelpers": true, "strictNullChecks": true, "noImplicitAny": true, "noEmitOnError": true, "skipLibCheck": true, - "moduleResolution": "node", "noUnusedLocals": true, "strict": true, - "suppressImplicitAnyIndexErrors": true, - "lib": ["es6"] + "suppressImplicitAnyIndexErrors": true }, "include": ["src"] } diff --git a/packages/theming/android-theme/babel.config.js b/packages/theming/android-theme/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/android-theme/babel.config.js +++ b/packages/theming/android-theme/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/android-theme/jest.config.js b/packages/theming/android-theme/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/theming/android-theme/jest.config.js +++ b/packages/theming/android-theme/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/theming/android-theme/package.json b/packages/theming/android-theme/package.json index 912a4b4535..a34332ded4 100644 --- a/packages/theming/android-theme/package.json +++ b/packages/theming/android-theme/package.json @@ -43,7 +43,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/theming/apple-theme/babel.config.js b/packages/theming/apple-theme/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/apple-theme/babel.config.js +++ b/packages/theming/apple-theme/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/apple-theme/jest.config.js b/packages/theming/apple-theme/jest.config.js index dc1a8e11b2..e8751194f7 100644 --- a/packages/theming/apple-theme/jest.config.js +++ b/packages/theming/apple-theme/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('macos'); diff --git a/packages/theming/apple-theme/package.json b/packages/theming/apple-theme/package.json index b07c5598fb..3c89a8b5f9 100644 --- a/packages/theming/apple-theme/package.json +++ b/packages/theming/apple-theme/package.json @@ -48,7 +48,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/theming/default-theme/babel.config.js b/packages/theming/default-theme/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/default-theme/babel.config.js +++ b/packages/theming/default-theme/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/default-theme/jest.config.js b/packages/theming/default-theme/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/theming/default-theme/jest.config.js +++ b/packages/theming/default-theme/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/theming/default-theme/package.json b/packages/theming/default-theme/package.json index c4264e75f3..78ba3f7675 100644 --- a/packages/theming/default-theme/package.json +++ b/packages/theming/default-theme/package.json @@ -44,7 +44,9 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/theming/theme-tokens/babel.config.js b/packages/theming/theme-tokens/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/theme-tokens/babel.config.js +++ b/packages/theming/theme-tokens/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/theme-tokens/package.json b/packages/theming/theme-tokens/package.json index 0696acb3a6..aed2ac2fb9 100644 --- a/packages/theming/theme-tokens/package.json +++ b/packages/theming/theme-tokens/package.json @@ -44,6 +44,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/theming/theme-types/babel.config.js b/packages/theming/theme-types/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/theme-types/babel.config.js +++ b/packages/theming/theme-types/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/theme-types/package.json b/packages/theming/theme-types/package.json index bd87816a93..e179adc586 100644 --- a/packages/theming/theme-types/package.json +++ b/packages/theming/theme-types/package.json @@ -36,6 +36,7 @@ "license": "MIT", "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/theming/theming-utils/babel.config.js b/packages/theming/theming-utils/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/theming-utils/babel.config.js +++ b/packages/theming/theming-utils/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/theming-utils/jest.config.js b/packages/theming/theming-utils/jest.config.js index 7ac36fef57..ae7531f1cb 100644 --- a/packages/theming/theming-utils/jest.config.js +++ b/packages/theming/theming-utils/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('windows'); diff --git a/packages/theming/theming-utils/package.json b/packages/theming/theming-utils/package.json index 7f46960119..2e190c7420 100644 --- a/packages/theming/theming-utils/package.json +++ b/packages/theming/theming-utils/package.json @@ -35,9 +35,11 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/design-tokens-win32": "^0.53.0", "@fluentui-react-native/design-tokens-windows": "^0.53.0", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", diff --git a/packages/theming/win32-theme/babel.config.js b/packages/theming/win32-theme/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/theming/win32-theme/babel.config.js +++ b/packages/theming/win32-theme/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/theming/win32-theme/jest.config.js b/packages/theming/win32-theme/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/theming/win32-theme/jest.config.js +++ b/packages/theming/win32-theme/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/theming/win32-theme/package.json b/packages/theming/win32-theme/package.json index 707677da63..5e05a72a17 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -41,12 +41,13 @@ "@fluentui-react-native/theme": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/theme-types": "workspace:*", - "@fluentui-react-native/theming-utils": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/theming-utils": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/theming/win32-theme/src/NativeModule/getThemingModule.native.ts b/packages/theming/win32-theme/src/NativeModule/getThemingModule.native.ts index bb0dbe1fa5..593d5754da 100644 --- a/packages/theming/win32-theme/src/NativeModule/getThemingModule.native.ts +++ b/packages/theming/win32-theme/src/NativeModule/getThemingModule.native.ts @@ -10,7 +10,7 @@ import type { OfficeThemingModule } from './officeThemingModule'; */ function disableGetPalette(): boolean { - const disabled = __DEV__ && navigator && navigator.userAgent !== undefined; + const disabled = __DEV__ && typeof globalThis.navigator !== 'undefined' && globalThis.navigator.userAgent !== undefined; disabled && console.warn(console.warn('Web Debugging forces Theming Native Module to fallback to fake color values.')); return disabled; } diff --git a/packages/theming/win32-theme/tsconfig.json b/packages/theming/win32-theme/tsconfig.json index b7594d2ea9..854074dd75 100644 --- a/packages/theming/win32-theme/tsconfig.json +++ b/packages/theming/win32-theme/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib", "resolveJsonModule": true }, diff --git a/packages/utils/adapters/babel.config.js b/packages/utils/adapters/babel.config.js index 556f80622c..098a0a1f6f 100644 --- a/packages/utils/adapters/babel.config.js +++ b/packages/utils/adapters/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config/babel.react.config.js'); diff --git a/packages/utils/adapters/jest.config.js b/packages/utils/adapters/jest.config.js index 9163d4be7c..6e7be0db56 100644 --- a/packages/utils/adapters/jest.config.js +++ b/packages/utils/adapters/jest.config.js @@ -1,2 +1,2 @@ -const { configureJest } = require('@fluentui-react-native/scripts'); +const { configureJest } = require('@fluentui-react-native/jest-config'); module.exports = configureJest(); diff --git a/packages/utils/adapters/package.json b/packages/utils/adapters/package.json index 204ccc95b4..d6889eb5fd 100644 --- a/packages/utils/adapters/package.json +++ b/packages/utils/adapters/package.json @@ -31,8 +31,11 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", + "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@types/jest": "^29.0.0", @@ -43,7 +46,7 @@ "react-native-windows": "^0.74.0" }, "peerDependencies": { - "@office-iss/react-native-win32": "^0.74.0", + "@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", @@ -55,6 +58,7 @@ "kitType": "library", "alignDeps": { "presets": [ + "@fluentui-react-native/scripts/configs/align-deps-preset.cjs", "microsoft/react-native" ], "requirements": { @@ -71,7 +75,8 @@ "core-android", "core-ios", "core-macos", - "core-windows" + "core-windows", + "core-win32" ] } }, diff --git a/packages/utils/interactive-hooks/babel.config.js b/packages/utils/interactive-hooks/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/utils/interactive-hooks/babel.config.js +++ b/packages/utils/interactive-hooks/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/utils/interactive-hooks/jest.config.js b/packages/utils/interactive-hooks/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/utils/interactive-hooks/jest.config.js +++ b/packages/utils/interactive-hooks/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('win32'); diff --git a/packages/utils/interactive-hooks/package.json b/packages/utils/interactive-hooks/package.json index 9d867066f0..b92cdaef41 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -32,12 +32,13 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework-base": "workspace:*", - "invariant": "^2.2.0", - "tslib": "^2.3.1" + "invariant": "^2.2.0" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", @@ -46,10 +47,12 @@ "@types/invariant": "^2.2.0", "@types/jest": "^29.0.0", "@types/react": "^18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", - "react-native-windows": "^0.74.0" + "react-native-windows": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "@office-iss/react-native-win32": "^0.74.0", @@ -81,7 +84,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/utils/interactive-hooks/tsconfig.json b/packages/utils/interactive-hooks/tsconfig.json index bd68e1f728..b2b278d2ca 100644 --- a/packages/utils/interactive-hooks/tsconfig.json +++ b/packages/utils/interactive-hooks/tsconfig.json @@ -1,8 +1,8 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, - "outDir": "lib" + "outDir": "lib", + "lib": ["es2022", "dom"] }, "include": ["src"] } diff --git a/packages/utils/styling/babel.config.js b/packages/utils/styling/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/utils/styling/babel.config.js +++ b/packages/utils/styling/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/utils/styling/package.json b/packages/utils/styling/package.json index 09a77c5806..19a2506fe2 100644 --- a/packages/utils/styling/package.json +++ b/packages/utils/styling/package.json @@ -31,6 +31,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/utils/test-tools/babel.config.js b/packages/utils/test-tools/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/utils/test-tools/babel.config.js +++ b/packages/utils/test-tools/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/utils/test-tools/jest.config.js b/packages/utils/test-tools/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/utils/test-tools/jest.config.js +++ b/packages/utils/test-tools/jest.config.js @@ -1,2 +1,2 @@ -const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +const { configureReactNativeJest } = require('@fluentui-react-native/jest-config'); module.exports = configureReactNativeJest('android'); diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index 5a2e25266d..7ce94d8c04 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -32,12 +32,16 @@ "@fluentui-react-native/theme-types": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/jest-config": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", - "@react-native/metro-config": "^0.74.0", + "@types/jest": "^29.0.0", "@types/react": "^18.2.0", + "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", - "react-native": "^0.74.0" + "react-native": "^0.74.0", + "react-test-renderer": "18.2.0" }, "peerDependencies": { "react": "18.2.0", @@ -46,22 +50,6 @@ "author": "", "license": "MIT", "rnx-kit": { - "kitType": "library", - "alignDeps": { - "presets": [ - "microsoft/react-native" - ], - "requirements": { - "development": [ - "react-native@0.74" - ], - "production": [ - "react-native@0.73 || 0.74" - ] - }, - "capabilities": [ - "core" - ] - } + "kitType": "library" } } diff --git a/packages/utils/tokens/babel.config.js b/packages/utils/tokens/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/utils/tokens/babel.config.js +++ b/packages/utils/tokens/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/scripts/configs/babel.config'); +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/packages/utils/tokens/package.json b/packages/utils/tokens/package.json index 2e6d229b95..c5af4b2d2e 100644 --- a/packages/utils/tokens/package.json +++ b/packages/utils/tokens/package.json @@ -31,11 +31,11 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", - "@fluentui-react-native/theme-types": "workspace:*", - "tslib": "^2.3.1" + "@fluentui-react-native/theme-types": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/utils/tokens/tsconfig.json b/packages/utils/tokens/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/utils/tokens/tsconfig.json +++ b/packages/utils/tokens/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { - "importHelpers": true, "outDir": "lib" }, "include": ["src"] diff --git a/scripts/configs/babel.config.js b/scripts/configs/babel.config.js deleted file mode 100644 index 9da16aeb0c..0000000000 --- a/scripts/configs/babel.config.js +++ /dev/null @@ -1,2 +0,0 @@ -import { configureBabel } from '../src/configs/configureBabel.js'; -export default configureBabel(); diff --git a/scripts/configs/tsconfig.json b/scripts/configs/tsconfig.json index 1375d01370..2839078494 100644 --- a/scripts/configs/tsconfig.json +++ b/scripts/configs/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "outDir": "./lib", "target": "es2022", - "types": ["node", "jest"], + "lib": ["ES2022"], "module": "node16", "moduleResolution": "node16", "declaration": true, @@ -21,7 +21,8 @@ "skipDefaultLibCheck": true, "sourceMap": true, "jsx": "react", - "resolveJsonModule": true + "resolveJsonModule": true, + "types": ["jest", "node"] }, "baseUrl": ".", "paths": { diff --git a/scripts/dynamic.extensions.mjs b/scripts/dynamic.extensions.mjs index 5c348e20bb..964d32f86d 100644 --- a/scripts/dynamic.extensions.mjs +++ b/scripts/dynamic.extensions.mjs @@ -2,36 +2,12 @@ import fs from 'node:fs'; import path from 'node:path'; -import { fileURLToPath } from 'url'; +import { getToolVersion } from './src/preinstall/tool-versions.js'; /** * @typedef {() => boolean} ConditionalCheck */ -/** - * Get the package.json manifest for a given folder. - * @param {string} folder - * @returns {import('./src/utils/projectRoot.js').PackageManifest} - */ -function getPackageManifest(folder) { - const manifestPath = path.join(folder, 'package.json'); - return JSON.parse(fs.readFileSync(manifestPath, 'utf-8')); -} - -// Get the versions once, so we don't query again on each package -const scriptFolder = path.dirname(fileURLToPath(import.meta.url)); -const scriptManifest = getPackageManifest(scriptFolder); -const rootManifest = getPackageManifest(path.dirname(scriptFolder)); -// all merged versions from the root and script manifests -// have the root manifest take precedence over the script manifest, this allows the script folder to ingest newer -// tooling without updating all projects in the repo -const baseVersions = { - ...scriptManifest?.devDependencies, - ...scriptManifest?.dependencies, - ...rootManifest?.devDependencies, - ...rootManifest?.dependencies, -}; - /** * Conditionally add a dependency to the given dependencies object if it is not already present * @param {string[]} depsToAdd @@ -45,12 +21,13 @@ function conditionallyAdd(depsToAdd, manifest, condition) { if (!condition || (typeof condition === 'function' ? condition() : condition)) { for (const dep of depsToAdd) { if (!manifest.dependencies?.[dep] && !manifest.devDependencies?.[dep]) { - if (baseVersions[dep]) { + const version = getToolVersion(dep); + if (version) { // If the dependency is not already present, and the extra condition is met, add it - newDeps[dep] = baseVersions[dep]; + newDeps[dep] = version; } else { // If the dependency is not found in the base versions, log a warning - console.warn(`Dependency ${dep} not found in base versions. Skipping dynamic add.`); + console.warn(`Dependency ${dep} version not found. Skipping dynamic add.`); } } } @@ -89,7 +66,7 @@ export default function ({ cwd, manifest }) { ...conditionallyAdd(['typescript'], manifest, () => fs.existsSync(path.join(cwd, 'tsconfig.json'))), ...conditionallyAdd(['eslint'], manifest, enableLinting), ...conditionallyAdd(['prettier'], manifest, () => addPrettier(manifest)), - ...conditionallyAdd(['jest'], manifest, () => addJest(cwd, manifest)), + ...conditionallyAdd(['jest', '@types/jest'], manifest, () => addJest(cwd, manifest)), }, }; } diff --git a/scripts/package.json b/scripts/package.json index af674ee496..3fea835254 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -10,8 +10,8 @@ "scripts": { "build": "node ./src/cli.mjs build", "bundlesize": "bundlesize --debug", - "depcheck": "node ./src/cli.mjs check-publishing", - "lint": "eslint", + "depcheck": "node ./src/cli.mjs depcheck", + "lint": "node ./src/cli.mjs lint", "prettier": "node ./src/cli.mjs prettier", "prettier-fix": "node ./src/cli.mjs prettier --fix true" }, @@ -21,48 +21,23 @@ "directory": "scripts" }, "devDependencies": { - "@babel/core": "^7.22.5", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@babel/plugin-transform-private-methods": "^7.27.1", "@eslint/js": "^9.0.0", - "@microsoft/eslint-plugin-sdl": "^1.1.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/metro-babel-transformer": "^0.74.0", - "@react-native/metro-config": "^0.74.0", "@rnx-kit/eslint-plugin": "^0.8.6", "@rnx-kit/jest-preset": "^0.2.1", + "@rnx-kit/reporter": "^0.1.0", "@rnx-kit/tools-packages": "^0.1.1", "@rnx-kit/tools-typescript": "^0.1.1", "@rnx-kit/tsconfig": "^2.1.1", - "@types/es6-collections": "^0.5.29", - "@types/es6-promise": "0.0.32", - "@types/jest": "^29.0.0", + "@types/micromatch": "^4.0.9", "@types/node": "^22.0.0", - "@types/react-test-renderer": "16.9.0", - "@typescript-eslint/eslint-plugin": "^8.36.0", - "@typescript-eslint/parser": "^8.36.0", - "@uifabric/prettier-rules": "^7.0.3", "clipanion": "^4.0.0-rc.4", "depcheck": "^1.0.0", "eslint": "^9.0.0", "find-up": "^5.0.0", - "fs-extra": "^7.0.1", - "glob": "^10.0.0", "jest": "^29.2.1", - "jest-diff": "^27.0.0", - "jsdom": "^25.0.0", - "metro-config": "^0.80.3", - "metro-react-native-babel-transformer": "^0.76.5", - "prettier": "^2.4.1", + "micromatch": "^4.0.8", "react": "18.2.0", "react-native": "^0.74.0", - "react-native-svg": "^15.4.0", - "react-native-svg-transformer": "^1.0.0", - "react-test-renderer": "18.2.0", - "rimraf": "^5.0.1", "typescript": "^5.8.0", "workspace-tools": "^0.26.3" }, @@ -79,34 +54,6 @@ ] }, "rnx-kit": { - "kitType": "library", - "alignDeps": { - "presets": [ - "microsoft/react-native", - "./configs/align-deps-preset.cjs" - ], - "requirements": { - "development": [ - "react-native@0.74" - ], - "production": [ - "react-native@0.73 || 0.74" - ] - }, - "capabilities": [ - "community/cli", - "core", - "jest", - "metro-config", - "metro-react-native-babel-transformer", - "react-test-renderer", - "svg" - ] - } - }, - "peerDependencies": { - "react": "18.2.0", - "react-native": "^0.73.0 || ^0.74.0", - "react-native-svg": "^15.0.0 || ^15.4.0" + "kitType": "library" } } diff --git a/scripts/src/configs/configureBabel.js b/scripts/src/configs/configureBabel.js deleted file mode 100644 index 39070b2a99..0000000000 --- a/scripts/src/configs/configureBabel.js +++ /dev/null @@ -1,30 +0,0 @@ -/** @typedef {{ esmodule?: boolean, estarget?: string, jsxRuntime?: boolean }} BabelConfigOptions */ - -/** - * @param {BabelConfigOptions} options - * @param {import('@babel/core').TransformOptions} [mixin] - Additional Babel configuration options to mix in. - * @returns {import('@babel/core').TransformOptions} - The complete Babel configuration object. - */ -export function configureBabel(/** @type {BabelConfigOptions} */ options = {}, mixin = {}) { - const { esmodule, jsxRuntime } = options; - return { - presets: [ - [ - '@babel/preset-env', - { - modules: esmodule ? false : 'auto', - targets: { node: 'current' }, - }, - ], - '@babel/preset-react', - '@babel/preset-typescript', - ['module:@react-native/babel-preset', { runtime: jsxRuntime ? 'automatic' : 'classic' }], - ], - plugins: [ - ['@babel/plugin-proposal-private-property-in-object', { loose: false }], - ['@babel/plugin-proposal-class-properties', { loose: false }], - ['@babel/plugin-transform-private-methods', { loose: false }], - ], - ...mixin, - }; -} diff --git a/scripts/src/configs/configureJest.js b/scripts/src/configs/configureJest.js deleted file mode 100644 index 5e152a95d6..0000000000 --- a/scripts/src/configs/configureJest.js +++ /dev/null @@ -1,35 +0,0 @@ -// @ts-check - -// @ts-expect-error the preset doesn't contain typing information -import jestPreset from '@rnx-kit/jest-preset'; -import { ensurePlatform } from '../utils/platforms.js'; - -/** - * @typedef {import('jest').Config} JestConfig - */ - -/** - * @param {JestConfig} [customConfig] - * @returns {JestConfig} - The Jest configuration object. - */ -export function configureJest(customConfig) { - return jestPreset(undefined, { - roots: ['/src'], - verbose: false, - ...customConfig, - }); -} - -/** - * - * @param {import('../utils/platforms.js').PlatformValue} [platform] - * @param {JestConfig} [customConfig] - * @returns {JestConfig} - */ -export function configureReactNativeJest(platform, customConfig) { - return jestPreset(ensurePlatform(platform, 'ios'), { - roots: ['/src'], - verbose: false, - ...customConfig, - }); -} diff --git a/scripts/src/configs/mergeConfigs.js b/scripts/src/configs/mergeConfigs.js deleted file mode 100644 index 601c781853..0000000000 --- a/scripts/src/configs/mergeConfigs.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @typedef {string | number | symbol} KeyType - * @typedef {Record} GenericObject - */ - -/** - * - * @param {GenericObject} obj1 - * @param {GenericObject} obj2 - * @returns {GenericObject} - */ -export function mergeConfigs(obj1, obj2) { - const merged = Object.assign({}, obj1, obj2); - - for (const prop in obj2) { - const sourceValue = obj2[prop]; - const targetValue = obj1[prop]; - if (sourceValue && targetValue) { - if (Array.isArray(sourceValue) && Array.isArray(targetValue)) { - merged[prop] = targetValue.concat(sourceValue); - } else if (typeof targetValue === 'object' && typeof sourceValue === 'object') { - merged[prop] = mergeConfigs(/** @type {GenericObject} */ (targetValue), /** @type {GenericObject} */ (sourceValue)); - } - } - } - - return merged; -} diff --git a/scripts/src/configs/transform-selector.js b/scripts/src/configs/transform-selector.js deleted file mode 100644 index afc32ece48..0000000000 --- a/scripts/src/configs/transform-selector.js +++ /dev/null @@ -1,18 +0,0 @@ -// @ts-check - -// @ts-expect-error - declaration file is not needed for this config -import * as upstreamTransformer from 'metro-react-native-babel-transformer'; -// @ts-expect-error - declaration file is not needed for this config -import * as svgTransformer from 'react-native-svg-transformer'; - -/** - * - * @param {{src: string, filename: string, options: object}} param0 - */ -export function transform({ src, filename, options }) { - if (filename.endsWith('.svg')) { - return svgTransformer.transform({ src, filename, options }); - } else { - return upstreamTransformer.transform({ src, filename, options }); - } -} diff --git a/scripts/src/index.js b/scripts/src/index.js index 6fa158994b..f08c5b266b 100644 --- a/scripts/src/index.js +++ b/scripts/src/index.js @@ -1,4 +1,2 @@ // @ts-check - -export { configureBabel } from './configs/configureBabel.js'; -export { configureJest, configureReactNativeJest } from './configs/configureJest.js'; +export { isPnpmMode } from './utils/ispnpm.js'; diff --git a/scripts/src/preinstall/tool-versions.js b/scripts/src/preinstall/tool-versions.js new file mode 100644 index 0000000000..62bd83d0ec --- /dev/null +++ b/scripts/src/preinstall/tool-versions.js @@ -0,0 +1,73 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +/** + * Get the package.json manifest for a given folder. + * @param {string} folder + * @returns {import('../utils/projectRoot.js').PackageManifest} + */ +function getPackageManifest(folder) { + const manifestPath = path.join(folder, 'package.json'); + return JSON.parse(fs.readFileSync(manifestPath, 'utf-8')); +} + +// Get the versions once, so we don't query again on each package +const scriptFolder = path.join(path.dirname(fileURLToPath(import.meta.url)), '../..'); +const scriptManifest = getPackageManifest(scriptFolder); +const rootManifest = getPackageManifest(path.dirname(scriptFolder)); + +/** @type {Record} */ +const devToolVersions = { + '@eslint/js': '^9.0.0', + '@microsoft/eslint-plugin-sdl': '^1.1.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', + '@rnx-kit/eslint-plugin': '^0.8.6', + '@rnx-kit/jest-preset': '^0.2.1', + '@rnx-kit/tools-packages': '^0.1.1', + '@rnx-kit/tools-typescript': '^0.1.1', + '@rnx-kit/tsconfig': '^2.1.1', + '@types/es6-collections': '^0.5.29', + '@types/es6-promise': '0.0.32', + '@types/jest': '^29.0.0', + '@types/node': '^22.0.0', + '@types/react-test-renderer': '16.9.0', + '@typescript-eslint/eslint-plugin': '^8.36.0', + '@typescript-eslint/parser': '^8.36.0', + '@uifabric/prettier-rules': '^7.0.3', + clipanion: '^4.0.0-rc.4', + depcheck: '^1.0.0', + 'find-up': '^5.0.0', + 'fs-extra': '^7.0.1', + glob: '^10.0.0', + jest: '^29.2.1', + 'jest-diff': '^27.0.0', + jsdom: '^25.0.0', + 'metro-config': '^0.80.3', + 'metro-react-native-babel-transformer': '^0.76.5', + 'react-test-renderer': '18.2.0', + rimraf: '^5.0.1', + // Fill versions from scripts first + ...scriptManifest.devDependencies, + // use the root workspace dev dependencies as the highest priority, overwriting any duplicates from scripts + ...rootManifest.devDependencies, +}; + +/** @type {Record} */ +const workspaceToolVersions = { + '@fluentui-react-native/babel-config': 'workspace:*', + '@fluentui-react-native/eslint-config-rules': 'workspace:*', + '@fluentui-react-native/jest-config': 'workspace:*', + '@fluentui-react-native/scripts': 'workspace:*', +}; + +/** + * + * @param {string} packageName + * @returns {string | null} + */ +export function getToolVersion(packageName) { + return devToolVersions[packageName] ?? workspaceToolVersions[packageName] ?? null; +} diff --git a/scripts/src/tasks/build.js b/scripts/src/tasks/build.js index e058f6c681..1b876d5811 100644 --- a/scripts/src/tasks/build.js +++ b/scripts/src/tasks/build.js @@ -1,15 +1,18 @@ // @ts-check import { Command } from 'clipanion'; -import { findNativeComponents, codegenNativeComponents } from '../utils/codegenNativeComponents.js'; import path from 'node:path'; import fs from 'node:fs'; import { runScript } from '../utils/runScript.js'; import { readTypeScriptConfig } from '@rnx-kit/tools-typescript'; import { getPackageInfoFromPath } from '@rnx-kit/tools-packages'; -import { JsxEmit, ModuleKind } from 'typescript'; +import { ModuleKind } from 'typescript'; import { cleanFolder } from './clean.js'; +/** + * @typedef {{ module: string, outDir: string }} BuildTarget + */ + export class BuildCommand extends Command { /** @override */ static paths = [['build']]; @@ -61,46 +64,31 @@ function getModuleString(moduleKind) { /** * Get the build targets for the project. * @param {string} cwd - The current working directory to search in. - * @returns {import('../utils/codegenNativeComponents.js').BuildTarget[]} - The build targets found. + * @returns {BuildTarget[]} - The build targets found. */ function getBuildTargets(cwd = process.cwd()) { - /** @type {import('../utils/codegenNativeComponents.js').BuildTarget[]} */ + /** @type {BuildTarget[]} */ const targets = []; const pkgInfo = getPackageInfoFromPath(cwd); // do nothing if no tsconfig.json exists if (fs.existsSync(path.join(cwd, 'tsconfig.json'))) { const manifest = pkgInfo.manifest; - const nativeComponents = findNativeComponents(cwd); const tsconfig = readTypeScriptConfig(pkgInfo); const options = tsconfig.options || {}; const moduleBase = getModuleString(options.module); - const jsxRuntime = options.jsx === JsxEmit.ReactJSX || options.jsx === JsxEmit.ReactJSXDev; - - /** - * @param {string} srcTarget - * @param {string} module - */ - function addTarget(srcTarget, module) { - targets.push({ - module, - outDir: path.dirname(srcTarget), - nativeComponents, - jsxRuntime, - }); - } // now look for a cjs target const cjsPath = manifest.main; if (cjsPath && typeof cjsPath === 'string') { const module = moduleBase && moduleBase !== 'esnext' ? moduleBase : 'node16'; - addTarget(cjsPath, module); + targets.push({ module, outDir: path.dirname(cjsPath) }); } // look for an esm target const esmPath = manifest.module; if (esmPath && typeof esmPath === 'string') { - addTarget(esmPath, 'esnext'); + targets.push({ module: 'esnext', outDir: path.dirname(esmPath) }); } } @@ -109,19 +97,15 @@ function getBuildTargets(cwd = process.cwd()) { /** * Execute the build for a given target - * @param {import('../utils/codegenNativeComponents.js').BuildTarget} target - The build target to execute. + * @param {BuildTarget} target - The build target to execute. * @param {string} cwd - The current working directory. * @returns {Promise} - The exit code of the build process. */ async function buildTarget(target, cwd) { - const { module, outDir, nativeComponents } = target; + const { module, outDir } = target; const extraArgs = ['--outDir', outDir, '--module', module]; const result = await runScript('tsc', ...extraArgs); - if (result === 0 && nativeComponents && nativeComponents.length > 0) { - codegenNativeComponents(target, cwd); - } - if (result !== 0) { console.error(`Build failed for target: ${cwd}:${outDir}`); } diff --git a/scripts/src/tasks/depcheck.js b/scripts/src/tasks/depcheck.js index 9df09ec342..70bc286f04 100644 --- a/scripts/src/tasks/depcheck.js +++ b/scripts/src/tasks/depcheck.js @@ -1,8 +1,18 @@ // @ts-check -import { Command } from 'clipanion'; +import { Command, Option } from 'clipanion'; import depcheck from 'depcheck'; -import { getProjectRoot, getScriptProjectRoot } from '../utils/projectRoot.js'; +import { getProjectRoot } from '../utils/projectRoot.js'; +import getInjectedDeps from '../../dynamic.extensions.mjs'; +import { getReporter } from '../utils/getReporter.js'; +import { getToolVersion } from '../preinstall/tool-versions.js'; +import micromatch from 'micromatch'; + +/** + * @typedef {'unused' | 'missing'} IssueType + * @typedef {'dependency' | 'devDependency'} DependencyType + * @typedef {{issue: IssueType, depType?: DependencyType, dependency: string, files?: string[]}} Issue + */ /** * Merges two objects at one level. @@ -20,9 +30,11 @@ function mergeOneLevel(a, b = {}) { return result; } +/* function scriptsDevDeps() { return Object.keys(getScriptProjectRoot().manifest.devDependencies || {}); } +*/ export class DepcheckCommand extends Command { /** @override */ @@ -35,20 +47,50 @@ export class DepcheckCommand extends Command { examples: [['Check dependencies in the current package', '$0 depcheck']], }); + verbose = Option.Boolean('--verbose', false, { + description: 'Enable verbose output, showing suppressed warnings and errors', + }); + + fixErrors = Option.Boolean('--fix-errors', false, { + description: 'Attempt to automatically fix issues found by depcheck', + }); + + fixWarnings = Option.Boolean('--fix-warnings', false, { + description: 'Attempt to automatically fix warnings found by depcheck', + }); + + dryRun = Option.Boolean('--dry-run', false, { + description: 'Perform a dry run of fixes without making any changes', + }); + + /** @type {import('@rnx-kit/reporter').Reporter} */ + reporter = getReporter(); + + projectRoot = getProjectRoot(); + ignored = new Set(injectedDevDeps(this.projectRoot)); + + /** @type {Issue[]} */ + issues = []; + + /** @type {number} */ + errors = 0; + + /** @type {string[]} */ + removedDevDeps = []; + + /** @type {string[]} */ + removedDeps = []; + + /** @type {{dependencies?: Record, devDependencies?: Record}} */ + addedDeps = {}; + async execute() { - const config = getProjectRoot().manifest; + const config = this.projectRoot.manifest; const depcheckOptions = typeof config.depcheck === 'object' && !Array.isArray(config.depcheck) ? config.depcheck : {}; const options = mergeOneLevel( { - ignorePatterns: ['*eslint*', '/lib/*', '/lib-commonjs/*'], - ignoreMatches: [ - '@fluentui-react-native/scripts', - '@fluentui-react-native/eslint-config-rules', - 'tslib', - '@react-native/metro-config', - ...scriptsDevDeps(), - ], - specials: [depcheck.special.eslint, depcheck.special.jest], + ignorePatterns: ['/lib/*', '/lib-commonjs/*'], + specials: [depcheck.special.eslint, depcheck.special.jest, depcheck.special.ttypescript], }, depcheckOptions, ); @@ -56,30 +98,21 @@ export class DepcheckCommand extends Command { return new Promise((resolve, reject) => { depcheck(process.cwd(), options, (result) => { try { - if (result.devDependencies.length > 0) { - console.warn('Unused devDependencies'); - result.devDependencies.forEach((dependency) => { - console.warn(`-- ${dependency}`); - }); - } - if (result.dependencies.length > 0 || Object.keys(result.missing).length > 0) { - if (result.dependencies.length > 0) { - console.error('Unused dependencies'); - result.dependencies.forEach((dependency) => { - console.error(`-- ${dependency}`); - }); - } - - Object.keys(result.missing).forEach((dependency) => { - console.error(`Missing dependency on ${dependency}`); - result.missing[dependency].forEach((file) => { - console.error(`-- ${file}`); - }); - }); + // build up the set of found issues + result.devDependencies.forEach((dependency) => this.issues.push({ issue: 'unused', depType: 'devDependency', dependency })); + result.dependencies.forEach((dependency) => this.issues.push({ issue: 'unused', depType: 'dependency', dependency })); + Object.keys(result.missing).forEach((dependency) => + this.issues.push({ issue: 'missing', dependency, files: result.missing[dependency] }), + ); + + // handle and/or report the issues + this.handleIssues(); + if (this.errors > 0) { reject(new Error('Dependency checking failed')); return; } + resolve(0); } catch (error) { reject(error); @@ -87,4 +120,155 @@ export class DepcheckCommand extends Command { }); }); } + + handleIssues() { + for (const issue of this.issues) { + if (issue.issue === 'unused') { + this.handleUnused(issue); + } else if (issue.issue === 'missing') { + this.handleMissing(issue); + } + } + + this.handleFixes(); + } + + handleFixes() { + let hasFixes = this.removedDeps.length > 0 || this.removedDevDeps.length > 0 || Object.keys(this.addedDeps).length > 0; + const prefix = this.dryRun ? '[dry-run]' : ' -'; + if (this.removedDevDeps.length > 0) { + if (!this.dryRun) { + this.projectRoot.removeDependencies(this.removedDevDeps, 'devDependencies'); + } + console.warn( + prefix, + `Removed unused devDependencies: ${this.removedDevDeps.map((dep) => this.reporter.formatPackage(dep)).join(', ')}`, + ); + } + if (this.removedDeps.length > 0) { + if (!this.dryRun) { + this.projectRoot.removeDependencies(this.removedDeps, 'dependencies'); + } + console.error(prefix, `Removed unused dependencies: ${this.removedDeps.map((dep) => this.reporter.formatPackage(dep)).join(', ')}`); + } + if (this.addedDeps.dependencies) { + for (const [dep, version] of Object.entries(this.addedDeps.dependencies)) { + if (!this.dryRun) { + this.projectRoot.addDependencies({ [dep]: version }, 'dependencies'); + } + console.warn(prefix, `Added dependency: ${this.reporter.formatPackage(dep)}@${version}`); + } + } + if (this.addedDeps.devDependencies) { + for (const [dep, version] of Object.entries(this.addedDeps.devDependencies)) { + if (!this.dryRun) { + this.projectRoot.addDependencies({ [dep]: version }, 'devDependencies'); + } + console.warn(prefix, `Added devDependency: ${this.reporter.formatPackage(dep)}@${version}`); + } + } + if (hasFixes && !this.dryRun) { + this.projectRoot.writeManifest(); + } + } + + /** + * @param {Issue} issue + */ + handleUnused(issue) { + const color = this.reporter.color; + const { dependency, depType = 'dependency' } = issue; + const prettyDependency = this.reporter.formatPackage(dependency); + if (this.ignored.has(dependency)) { + if (this.verbose) { + console.log(`- [${color('ignored', 'highlight1')}]: unused ${depType}: ${prettyDependency}`); + } + return; + } + if (depType === 'devDependency') { + if (this.fixWarnings) { + this.removedDevDeps.push(dependency); + } else { + console.warn(`- [${color('warn', 'warnPrefix')}]: unused ${depType}: ${prettyDependency}`); + } + } else { + if (this.fixErrors) { + this.removedDeps.push(dependency); + } else { + console.error(`- [${color('error', 'errorPrefix')}]: unused ${depType}: ${prettyDependency}`); + this.errors++; + } + } + } + + /** + * Handle a missing dependency issue. + * @param {Issue} issue + */ + handleMissing(issue) { + const color = this.reporter.color; + const { dependency, files } = issue; + const prettyDependency = this.reporter.formatPackage(dependency); + if (files && files.length > 0) { + const fileNames = files.map((file) => ` - ${color(file, 'highlight3')}`).join('\n'); + const msgEnd = `missing dependency: ${prettyDependency} from files:\n${fileNames}`; + if (this.ignored.has(dependency)) { + if (this.verbose) { + console.log(`- [${color('ignored', 'highlight1')}]: ${msgEnd}`); + } + return; + } + const toolVersion = getToolVersion(dependency); + if (this.fixErrors && toolVersion) { + let isNonTest = false; + for (const file of files) { + isNonTest = isNonTest || !isTestFile(file); + } + if (isNonTest) { + this.addedDeps.dependencies ??= {}; + this.addedDeps.dependencies[dependency] = toolVersion; + } else { + this.addedDeps.devDependencies ??= {}; + this.addedDeps.devDependencies[dependency] = toolVersion; + } + } else { + console.error(`- [${color('error', 'errorPrefix')}]: ${msgEnd}`); + this.errors++; + } + } + + if (this.ignored.has(dependency)) { + if (this.verbose) { + console.log(`- [${color('ignored', 'highlight1')}]: missing ${prettyDependency}`); + } + return; + } + console.error(`- [${color('error', 'errorPrefix')}]: missing ${prettyDependency}`); + } +} + +/** + * @param {import('../utils/projectRoot.js').ProjectRoot} projectRoot + * @returns {string[]} + */ +function injectedDevDeps(projectRoot) { + const options = { cwd: projectRoot.root, manifest: projectRoot.manifest }; + const injectedDeps = getInjectedDeps(options); + return Object.keys(injectedDeps); +} + +/** + * @param {string} fileName + * @returns {boolean} + */ +function isTestFile(fileName) { + return micromatch.isMatch(fileName, [ + '**/*.test.*', + '**/*.spec.*', + '**/__tests__/**', + '**/__testfixtures__/**', + '**/babel.config.*', + '**/jest.config.*', + '**/eslint.config.*', + ]); } diff --git a/scripts/src/tasks/prettier.js b/scripts/src/tasks/prettier.js index 6eeb45c5af..f046da1ede 100644 --- a/scripts/src/tasks/prettier.js +++ b/scripts/src/tasks/prettier.js @@ -14,7 +14,7 @@ export class PrettierCommand extends Command { examples: [['Format the current package', '$0 prettier']], }); - fix = Option.Boolean('fix', false, { + fix = Option.Boolean('--fix', false, { description: 'Automatically fix issues where possible', }); diff --git a/scripts/src/utils/codegenNativeComponents.js b/scripts/src/utils/codegenNativeComponents.js deleted file mode 100644 index 06f60242e0..0000000000 --- a/scripts/src/utils/codegenNativeComponents.js +++ /dev/null @@ -1,57 +0,0 @@ -// @ts-check -import * as glob from 'glob'; - -import fs from 'node:fs'; -import path from 'node:path'; - -import { configureBabel } from '../configs/configureBabel.js'; -import babel from '@babel/core'; - -/** - * @typedef {{ module: string, outDir: string, jsxRuntime?: boolean, nativeComponents?: string[] }} BuildTarget - */ - -/** - * Finds all native components under the specified directory. - * @param {string} [cwd=process.cwd()] - The current working directory to search in. - * @returns {string[] | undefined} - */ -export function findNativeComponents(cwd = process.cwd()) { - const results = glob.sync('src/**/*NativeComponent.ts', { cwd }); - return results.length > 0 ? results : undefined; -} - -/** - * Generates code for native components. - * @param {BuildTarget} target - * @param {string} [cwd=process.cwd()] - The current working directory. - */ -export function codegenNativeComponents(target, cwd = process.cwd()) { - const { module, outDir, nativeComponents, jsxRuntime } = target; - if (nativeComponents && nativeComponents.length > 0) { - const configOptions = { esmodule: module === 'esnext', jsxRuntime }; - const optionsBase = configureBabel(configOptions, { - ast: false, - babelrc: false, - cwd: cwd, - sourceRoot: cwd, - root: cwd, - }); - - for (const matchedPath of nativeComponents) { - const relativePath = path.relative(path.resolve(process.cwd(), 'src'), matchedPath); - const code = fs.readFileSync(matchedPath).toString(); - const filename = path.resolve(process.cwd(), matchedPath); - - const res = babel.transformSync(code, { - ...optionsBase, - filename, - }); - - if (res && res.code) { - const relativeOutputPath = relativePath.replace(/\.ts$/, '.js'); - fs.writeFileSync(path.resolve(cwd, outDir, relativeOutputPath), res.code); - } - } - } -} diff --git a/scripts/src/utils/getReporter.js b/scripts/src/utils/getReporter.js new file mode 100644 index 0000000000..5e4f41b2df --- /dev/null +++ b/scripts/src/utils/getReporter.js @@ -0,0 +1,14 @@ +import { createReporter } from '@rnx-kit/reporter'; + +const reporter = createReporter({ + name: 'fluentui-scripts reporter', + packageName: '@fluentui-react-native/scripts', +}); + +/** + * Get the reporter instance for logging. + * @returns {import('@rnx-kit/reporter').Reporter} The reporter instance. + */ +export function getReporter() { + return reporter; +} diff --git a/scripts/src/utils/ispnpm.js b/scripts/src/utils/ispnpm.js new file mode 100644 index 0000000000..36edc9fab7 --- /dev/null +++ b/scripts/src/utils/ispnpm.js @@ -0,0 +1,19 @@ +import path from 'node:path'; +import fs from 'node:fs'; +import { fileURLToPath } from 'node:url'; + +/** @type {boolean | undefined} */ +let isPnpmModeCached = undefined; + +function checkPnpmMode() { + const __filename = fileURLToPath(import.meta.url); + const __dirname = path.dirname(__filename); + const yarnConfigPath = path.resolve(__dirname, '../../../.yarnrc.yml'); + const yarnConfig = fs.readFileSync(yarnConfigPath, { encoding: 'utf-8' }); + return yarnConfig.includes('nodeLinker: pnpm'); +} + +export function isPnpmMode() { + isPnpmModeCached ??= checkPnpmMode(); + return isPnpmModeCached; +} diff --git a/scripts/src/utils/projectRoot.js b/scripts/src/utils/projectRoot.js index 0267c10471..2e5ba2dcb3 100644 --- a/scripts/src/utils/projectRoot.js +++ b/scripts/src/utils/projectRoot.js @@ -87,6 +87,41 @@ export class ProjectRoot { return (this.cachedRequire ??= Module.createRequire(this.root)); } + /** + * Adds dependencies to the project manifest. + * @param {Record} depsToAdd + * @param {'dependencies' | 'devDependencies'} depType + */ + addDependencies(depsToAdd, depType = 'dependencies') { + // add the dependencies to the manifest, outputting the dependencies in sorted order + const existingDeps = (this.manifest[depType] ??= {}); + const newDeps = { ...existingDeps, ...depsToAdd }; + const depKeys = Object.keys(newDeps).sort((a, b) => a.localeCompare(b)); + this.manifest[depType] = Object.fromEntries(depKeys.map((key) => [key, newDeps[key]])); + } + + /** + * Removes dependencies from the project manifest. + * @param {string[]} depsToRemove + * @param {'dependencies' | 'devDependencies'} depType + */ + removeDependencies(depsToRemove, depType = 'dependencies') { + // remove the dependencies from the manifest + if (this.manifest[depType]) { + for (const dep of depsToRemove) { + if (this.manifest[depType][dep]) { + delete this.manifest[depType][dep]; + } + } + } + } + + writeManifest() { + // write the manifest to disk + const pkgJsonPath = path.join(this.root, 'package.json'); + fs.writeFileSync(pkgJsonPath, JSON.stringify(this.manifest, null, 2) + '\n', 'utf-8'); + } + /** * Open a module relative to this project root * @param {string} moduleName - name of the module to require diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 7cb2f3ff57..b9983f0655 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -4,7 +4,8 @@ "allowJs": true, "checkJs": true, "noEmit": true, - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "target": "es2022" }, "include": ["."], "exclude": ["./lib"] diff --git a/yarn.lock b/yarn.lock index 52ec12f829..2ffa7e32f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -428,14 +428,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.27.2": - version: 7.27.5 - resolution: "@babel/compat-data@npm:7.27.5" - checksum: 10c0/da2751fcd0b58eea958f2b2f7ff7d6de1280712b709fa1ad054b73dc7d31f589e353bb50479b9dc96007935f3ed3cada68ac5b45ce93086b7122ddc32e60dc00 +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/compat-data@npm:7.28.0" + checksum: 10c0/c4e527302bcd61052423f757355a71c3bc62362bac13f7f130de16e439716f66091ff5bdecda418e8fa0271d4c725f860f0ee23ab7bf6e769f7a8bb16dfcb531 languageName: node linkType: hard -"@babel/core@npm:^7.0.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.5, @babel/core@npm:^7.24.7, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.0.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.7, @babel/core@npm:^7.28.0, @babel/core@npm:^7.8.0": version: 7.28.0 resolution: "@babel/core@npm:7.28.0" dependencies: @@ -471,7 +471,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1": +"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: @@ -553,18 +553,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.3": - version: 0.6.3 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.3" +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + debug: "npm:^4.4.1" lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" + resolve: "npm:^1.22.10" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/4320e3527645e98b6a0d5626fef815680e3b2b03ec36045de5e909b0f01546ab3674e96f50bf3bc8413f8c9037e5ee1a5f560ebdf8210426dad1c2c03c96184a + checksum: 10c0/4886a068d9ca1e70af395340656a9dda33c50502c67eed39ff6451785f370bdfc6e57095b90cb92678adcd4a111ca60909af53d3a741120719c5604346ae409e languageName: node linkType: hard @@ -711,7 +711,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": version: 7.28.0 resolution: "@babel/parser@npm:7.28.0" dependencies: @@ -795,7 +795,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.13.0, @babel/plugin-proposal-class-properties@npm:^7.18.0, @babel/plugin-proposal-class-properties@npm:^7.18.6": +"@babel/plugin-proposal-class-properties@npm:^7.13.0, @babel/plugin-proposal-class-properties@npm:^7.18.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: @@ -855,7 +855,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.0.0, @babel/plugin-proposal-object-rest-spread@npm:^7.20.0": +"@babel/plugin-proposal-object-rest-spread@npm:^7.20.0": version: 7.20.7 resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.20.7" dependencies: @@ -940,7 +940,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.0.0, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.8.3": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -973,7 +973,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.0.0, @babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.18.0, @babel/plugin-syntax-flow@npm:^7.24.7": +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.18.0, @babel/plugin-syntax-flow@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-syntax-flow@npm:7.24.7" dependencies: @@ -1028,7 +1028,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.0.0, @babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.7.2": +"@babel/plugin-syntax-jsx@npm:^7.27.1, @babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.27.1 resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: @@ -1072,7 +1072,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.0.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: @@ -1161,16 +1161,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.27.1" +"@babel/plugin-transform-async-generator-functions@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.27.1" "@babel/helper-remap-async-to-generator": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/772e449c69ee42a466443acefb07083bd89efb1a1d95679a4dc99ea3be9d8a3c43a2b74d2da95d7c818e9dd9e0b72bfa7c03217a1feaf108f21b7e542f0943c0 + checksum: 10c0/739d577e649d7d7b9845dc309e132964327ab3eaea43ad04d04a7dcb977c63f9aa9a423d1ca39baf10939128d02f52e6fda39c834fb9f1753785b1497e72c4dc languageName: node linkType: hard @@ -1187,7 +1187,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.0.0, @babel/plugin-transform-block-scoped-functions@npm:^7.27.1": +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: @@ -1198,14 +1198,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.27.1": - version: 7.27.5 - resolution: "@babel/plugin-transform-block-scoping@npm:7.27.5" +"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5c1a61f312f18d3807c4df25868161301a7bd0807092b86951fa6b9918e07ee382d58d61a204c3f9ad0b72b8f6f1d18586f8e485c355a3e959c26a070397e95e + checksum: 10c0/787d85e72a92917e735aa54e23062fa777031f8a07046e67f5026eff3d91e64eb535575dd1df917b0011bee014ae51287478af14c1d4ba60bc81e326bc044cfc languageName: node linkType: hard @@ -1233,19 +1233,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-classes@npm:7.27.1" +"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-classes@npm:7.28.0" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-globals": "npm:^7.28.0" "@babel/helper-plugin-utils": "npm:^7.27.1" "@babel/helper-replace-supers": "npm:^7.27.1" - "@babel/traverse": "npm:^7.27.1" - globals: "npm:^11.1.0" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1071f4cb1ed5deb5e6f8d0442f2293a540cac5caa5ab3c25ad0571aadcbf961f61e26d367a67894976165a543e02f3a19e40b63b909afbed6e710801a590635c + checksum: 10c0/3b213b43104fe99dd7e79401a86d09e545836e057a70ffe77e8196a87bf67ae167e502ae90afdf0d1a2be683be5652514aaeda743bd984e583523dd8ecfef887 languageName: node linkType: hard @@ -1261,14 +1261,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.27.1, @babel/plugin-transform-destructuring@npm:^7.27.3": - version: 7.27.3 - resolution: "@babel/plugin-transform-destructuring@npm:7.27.3" +"@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f8ac96deef6f9a4cb1dff148dfa2a43116ca1c48434bba433964498c4ef5cef5557693b47463e64a71ffaaf10191c7fab0270844e8dbdc47dc4d120435025df5 + checksum: 10c0/cc7ccafa952b3ff7888544d5688cfafaba78c69ce1e2f04f3233f4f78c9de5e46e9695f5ea42c085b0c0cfa39b10f366d362a2be245b6d35b66d3eb1d427ccb2 languageName: node linkType: hard @@ -1318,6 +1319,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3baa706af3112adf2ae0c7ec0dc61b63dd02695eb5582f3c3a2b2d05399c6aa7756f55e7bbbd5412e613a6ba1dd6b6736904074b4d7ebd6b45a1e3f9145e4094 + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" @@ -1340,7 +1353,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.0.0, @babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.24.7": +"@babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.24.7": version: 7.25.2 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" dependencies: @@ -1352,7 +1365,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.0.0, @babel/plugin-transform-for-of@npm:^7.27.1": +"@babel/plugin-transform-for-of@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: @@ -1410,7 +1423,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.0.0, @babel/plugin-transform-member-expression-literals@npm:^7.27.1": +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: @@ -1516,21 +1529,22 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.27.2": - version: 7.27.3 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.27.3" +"@babel/plugin-transform-object-rest-spread@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.0" dependencies: "@babel/helper-compilation-targets": "npm:^7.27.2" "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.27.3" - "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f2d04f59f773a9480bbaabd082fecdb5fb2b6ae5e77147ae8df34a8b773b6148d0c4260d2beaa4755eb5f548a105f2069124b9cea96f9387128656cbb0730ee4 + checksum: 10c0/360dc6fd5285ee5e1d3be8a1fb0decd120b2a1726800317b4ab48b7c91616247030239b7fa06ceaa1a8a586fde1e143c24d45f8d41956876099d97d664f8ef1e languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.27.1": +"@babel/plugin-transform-object-super@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: @@ -1565,14 +1579,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-parameters@npm:7.27.1" +"@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f languageName: node linkType: hard @@ -1601,7 +1615,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.0.0, @babel/plugin-transform-property-literals@npm:^7.27.1": +"@babel/plugin-transform-property-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: @@ -1645,18 +1659,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.0.0": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" +"@babel/plugin-transform-react-jsx-source@npm:^7.0.0, @babel/plugin-transform-react-jsx-source@npm:^7.22.0": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/defc9debb76b4295e3617ef7795a0533dbbecef6f51bf5ba4bfc162df892a84fd39e14d5f1b9a5aad7b09b97074fef4c6756f9d2036eef5a9874acabe198f75a + checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.27.1": +"@babel/plugin-transform-react-jsx@npm:^7.0.0, @babel/plugin-transform-react-jsx@npm:^7.22.0, @babel/plugin-transform-react-jsx@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" dependencies: @@ -1683,14 +1697,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.27.1": - version: 7.27.5 - resolution: "@babel/plugin-transform-regenerator@npm:7.27.5" +"@babel/plugin-transform-regenerator@npm:^7.28.0": + version: 7.28.1 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.1" dependencies: "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4ace8ced76b421cd44dd9fa08bebc2f3fd76ec84e532cd1027738f411afdbc239789edd6c96dd1db412fc4a42cead5c1ac98a8aef94f35102f5de1049e64c07a + checksum: 10c0/6c9e6eb80ce9c0bde0876c80979e078fbc85dc802272cba4ee72b5b1c858472e38167c418917e4f0d4384ce888706d95544a8d266880c0e199e167e078168b67 languageName: node linkType: hard @@ -1767,7 +1781,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.0.0, @babel/plugin-transform-template-literals@npm:^7.27.1": +"@babel/plugin-transform-template-literals@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: @@ -1789,18 +1803,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.27.1, @babel/plugin-transform-typescript@npm:^7.5.0": - version: 7.27.1 - resolution: "@babel/plugin-transform-typescript@npm:7.27.1" +"@babel/plugin-transform-typescript@npm:^7.22.0, @babel/plugin-transform-typescript@npm:^7.27.1, @babel/plugin-transform-typescript@npm:^7.5.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-typescript@npm:7.28.0" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" "@babel/helper-create-class-features-plugin": "npm:^7.27.1" "@babel/helper-plugin-utils": "npm:^7.27.1" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" "@babel/plugin-syntax-typescript": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 + checksum: 10c0/049c2bd3407bbf5041d8c95805a4fadee6d176e034f6b94ce7967b92a846f1e00f323cf7dfbb2d06c93485f241fb8cf4c10520e30096a6059d251b94e80386e9 languageName: node linkType: hard @@ -1851,11 +1865,11 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.0.0, @babel/preset-env@npm:^7.8.0": - version: 7.27.2 - resolution: "@babel/preset-env@npm:7.27.2" +"@babel/preset-env@npm:^7.0.0, @babel/preset-env@npm:^7.22.0, @babel/preset-env@npm:^7.8.0": + version: 7.28.0 + resolution: "@babel/preset-env@npm:7.28.0" dependencies: - "@babel/compat-data": "npm:^7.27.2" + "@babel/compat-data": "npm:^7.28.0" "@babel/helper-compilation-targets": "npm:^7.27.2" "@babel/helper-plugin-utils": "npm:^7.27.1" "@babel/helper-validator-option": "npm:^7.27.1" @@ -1869,19 +1883,20 @@ __metadata: "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.28.0" "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" - "@babel/plugin-transform-block-scoping": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.0" "@babel/plugin-transform-class-properties": "npm:^7.27.1" "@babel/plugin-transform-class-static-block": "npm:^7.27.1" - "@babel/plugin-transform-classes": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.28.0" "@babel/plugin-transform-computed-properties": "npm:^7.27.1" - "@babel/plugin-transform-destructuring": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.0" "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" "@babel/plugin-transform-for-of": "npm:^7.27.1" @@ -1898,15 +1913,15 @@ __metadata: "@babel/plugin-transform-new-target": "npm:^7.27.1" "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.27.2" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.0" "@babel/plugin-transform-object-super": "npm:^7.27.1" "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" - "@babel/plugin-transform-parameters": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.7" "@babel/plugin-transform-private-methods": "npm:^7.27.1" "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" "@babel/plugin-transform-property-literals": "npm:^7.27.1" - "@babel/plugin-transform-regenerator": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.28.0" "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" "@babel/plugin-transform-reserved-words": "npm:^7.27.1" "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" @@ -1919,14 +1934,14 @@ __metadata: "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.11.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.40.0" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fd7ec310832a9ff26ed8d56bc0832cdbdb3a188e022050b74790796650649fb8373568af05b320b58b3ff922507979bad50ff95a4d504ab0081134480103504e + checksum: 10c0/f343103b8f0e8da5be4ae031aff8bf35da4764997af4af78ae9506f421b785dd45da1bc09f845b1fc308c8b7d134aead4a1f89e7fb6e213cd2f9fe1d2aa78bc9 languageName: node linkType: hard @@ -1956,7 +1971,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.8.0": +"@babel/preset-react@npm:^7.22.0, @babel/preset-react@npm:^7.8.0": version: 7.27.1 resolution: "@babel/preset-react@npm:7.27.1" dependencies: @@ -1972,7 +1987,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.0.0, @babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.24.7, @babel/preset-typescript@npm:^7.8.0": +"@babel/preset-typescript@npm:^7.0.0, @babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.22.0, @babel/preset-typescript@npm:^7.24.7, @babel/preset-typescript@npm:^7.8.0": version: 7.27.1 resolution: "@babel/preset-typescript@npm:7.27.1" dependencies: @@ -2002,10 +2017,10 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.8.0": - version: 7.27.6 - resolution: "@babel/runtime@npm:7.27.6" - checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.22.0, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.8.0": + version: 7.28.2 + resolution: "@babel/runtime@npm:7.28.2" + checksum: 10c0/c20afe253629d53a405a610b12a62ac74d341a2c1e0fb202bbef0c118f6b5c84f94bf16039f58fd0483dd256901259930a43976845bdeb180cab1f882c21b6e0 languageName: node linkType: hard @@ -2370,8 +2385,11 @@ __metadata: resolution: "@fluentui-react-native/adapters@workspace:packages/utils/adapters" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" + "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/jest": "npm:^29.0.0" @@ -2381,7 +2399,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" peerDependencies: - "@office-iss/react-native-win32": ^0.74.0 + "@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 @@ -2401,8 +2419,10 @@ __metadata: resolution: "@fluentui-react-native/android-theme@workspace:packages/theming/android-theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -2436,12 +2456,14 @@ __metadata: resolution: "@fluentui-react-native/apple-theme@workspace:packages/theming/apple-theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/default-theme": "workspace:*" "@fluentui-react-native/design-tokens-ios": "npm:^0.53.0" "@fluentui-react-native/design-tokens-macos": "npm:^0.53.0" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/experimental-appearance-additions": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -2477,10 +2499,12 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/badge": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" "@fluentui-react-native/theming-utils": "workspace:*" @@ -2490,11 +2514,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2512,16 +2538,35 @@ __metadata: languageName: unknown linkType: soft +"@fluentui-react-native/babel-config@workspace:*, @fluentui-react-native/babel-config@workspace:packages/configs/babel-config": + version: 0.0.0-use.local + resolution: "@fluentui-react-native/babel-config@workspace:packages/configs/babel-config" + dependencies: + "@babel/core": "npm:^7.22.5" + "@babel/plugin-transform-react-jsx": "npm:^7.22.0" + "@babel/plugin-transform-react-jsx-source": "npm:^7.22.0" + "@babel/plugin-transform-typescript": "npm:^7.22.0" + "@babel/preset-env": "npm:^7.22.0" + "@babel/preset-react": "npm:^7.22.0" + "@babel/preset-typescript": "npm:^7.22.0" + "@babel/runtime": "npm:^7.22.0" + "@react-native/babel-preset": "npm:^0.74.0" + "@react-native/metro-babel-transformer": "npm:^0.74.0" + languageName: unknown + linkType: soft + "@fluentui-react-native/badge@npm:*, @fluentui-react-native/badge@workspace:*, @fluentui-react-native/badge@workspace:packages/components/Badge": version: 0.0.0-use.local resolution: "@fluentui-react-native/badge@workspace:packages/components/Badge" dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/experimental-shadow": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -2534,11 +2579,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2562,12 +2609,14 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/experimental-activity-indicator": "workspace:*" "@fluentui-react-native/experimental-shadow": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/styling-utils": "workspace:*" @@ -2582,6 +2631,7 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -2590,7 +2640,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2614,7 +2664,9 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" @@ -2628,6 +2680,7 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2650,9 +2703,11 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/styling-utils": "workspace:*" @@ -2666,6 +2721,7 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -2674,7 +2730,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2698,10 +2754,12 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -2717,6 +2775,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2740,10 +2799,13 @@ __metadata: dependencies: "@babel/core": "npm:^7.8.0" "@babel/preset-env": "npm:^7.8.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@types/jscodeshift": "npm:^0.11.11" + "@types/node": "npm:^22.0.0" jscodeshift: "npm:^17.0.0" yargs: "npm:^17.0.0" bin: @@ -2756,14 +2818,20 @@ __metadata: resolution: "@fluentui-react-native/composition@workspace:packages/framework/composition" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-slots": "workspace:*" "@fluentui-react-native/use-styling": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" + "@types/react": "npm:18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -2776,11 +2844,13 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -2789,15 +2859,18 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" + metro-config: "npm:^0.80.3" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-svg-transformer: "npm:^1.0.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -2820,8 +2893,10 @@ __metadata: resolution: "@fluentui-react-native/default-theme@workspace:packages/theming/default-theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -2979,9 +3054,11 @@ __metadata: resolution: "@fluentui-react-native/divider@workspace:packages/components/Divider" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -2991,11 +3068,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3018,19 +3097,23 @@ __metadata: resolution: "@fluentui-react-native/drawer@workspace:packages/experimental/Drawer" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" "@fluentui-react-native/use-styling": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3053,6 +3136,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" @@ -3131,11 +3215,12 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/eslint-config-rules@workspace:packages/framework/eslint-config-rules" dependencies: + "@fluentui-react-native/scripts": "workspace:*" "@microsoft/eslint-plugin-sdl": "npm:^1.1.0" "@rnx-kit/eslint-plugin": "npm:^0.8.6" "@types/eslint": "npm:^9.0.0" + "@types/node": "npm:^22.0.0" eslint: "npm:^9.0.0" - typescript-eslint: "npm:^8.36.0" languageName: unknown linkType: soft @@ -3178,6 +3263,7 @@ __metadata: resolution: "@fluentui-react-native/experimental-appearance-additions@workspace:packages/experimental/AppearanceAdditions" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3211,16 +3297,19 @@ __metadata: resolution: "@fluentui-react-native/experimental-avatar@workspace:packages/experimental/Avatar" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3243,6 +3332,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/checkbox": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" @@ -3256,7 +3346,6 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3279,6 +3368,7 @@ __metadata: resolution: "@fluentui-react-native/experimental-expander@workspace:packages/experimental/Expander" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3310,21 +3400,25 @@ __metadata: resolution: "@fluentui-react-native/experimental-menu-button@workspace:packages/experimental/MenuButton" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/contextual-menu": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3347,6 +3441,7 @@ __metadata: resolution: "@fluentui-react-native/experimental-native-date-picker@workspace:packages/experimental/NativeDatePicker" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -3359,11 +3454,12 @@ __metadata: languageName: unknown linkType: soft -"@fluentui-react-native/experimental-native-font-metrics@workspace:packages/experimental/NativeFontMetrics": +"@fluentui-react-native/experimental-native-font-metrics@workspace:*, @fluentui-react-native/experimental-native-font-metrics@workspace:packages/experimental/NativeFontMetrics": version: 0.0.0-use.local resolution: "@fluentui-react-native/experimental-native-font-metrics@workspace:packages/experimental/NativeFontMetrics" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -3383,8 +3479,10 @@ __metadata: resolution: "@fluentui-react-native/experimental-shadow@workspace:packages/experimental/Shadow" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3392,10 +3490,12 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3417,8 +3517,10 @@ __metadata: resolution: "@fluentui-react-native/experimental-shimmer@workspace:packages/experimental/Shimmer" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theming-utils": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -3426,12 +3528,14 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" assert-never: "npm:^1.2.1" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3455,18 +3559,23 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" + "@types/jest": "npm:^29.0.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 @@ -3490,19 +3599,23 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3525,19 +3638,24 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" + "@react-native/metro-babel-transformer": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3558,10 +3676,14 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/framework-base@workspace:packages/framework-base" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@types/jest": "npm:^29.0.0" "@types/node": "npm:^22.0.0" + "@types/react": "npm:^18.2.0" + react: "npm:18.2.0" languageName: unknown linkType: soft @@ -3574,6 +3696,7 @@ __metadata: "@fluentui-react-native/default-theme": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -3584,11 +3707,12 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:^18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3611,8 +3735,10 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -3620,11 +3746,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3646,6 +3774,7 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/immutable-merge@workspace:packages/framework/immutable-merge" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3659,10 +3788,12 @@ __metadata: resolution: "@fluentui-react-native/input@workspace:packages/components/Input" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/styling-utils": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3673,11 +3804,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3701,8 +3834,10 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" @@ -3711,12 +3846,13 @@ __metadata: "@types/invariant": "npm:^2.2.0" "@types/jest": "npm:^29.0.0" "@types/react": "npm:^18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" invariant: "npm:^2.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3733,15 +3869,34 @@ __metadata: languageName: unknown linkType: soft +"@fluentui-react-native/jest-config@workspace:*, @fluentui-react-native/jest-config@workspace:packages/configs/jest-config": + version: 0.0.0-use.local + resolution: "@fluentui-react-native/jest-config@workspace:packages/configs/jest-config" + dependencies: + "@babel/core": "npm:^7.28.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/scripts": "workspace:*" + "@rnx-kit/jest-preset": "npm:^0.2.1" + "@types/node": "npm:^22.0.0" + babel-jest: "npm:^29.0.0" + jest: "npm:^29.2.1" + jest-transform-stub: "npm:^2.0.0" + typescript: "npm:^5.8.0" + languageName: unknown + linkType: soft + "@fluentui-react-native/link@npm:*, @fluentui-react-native/link@workspace:*, @fluentui-react-native/link@workspace:packages/components/Link": version: 0.0.0-use.local resolution: "@fluentui-react-native/link@workspace:packages/components/Link" dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -3750,6 +3905,7 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -3757,7 +3913,7 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3778,6 +3934,7 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/memo-cache@workspace:packages/framework/memo-cache" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3792,16 +3949,19 @@ __metadata: resolution: "@fluentui-react-native/menu-button@workspace:packages/components/MenuButton" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/contextual-menu": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/icon": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -3810,6 +3970,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3833,6 +3994,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" @@ -3840,6 +4002,7 @@ __metadata: "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -3850,13 +4013,15 @@ __metadata: "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" + "@types/node": "npm:^22.0.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3879,6 +4044,7 @@ __metadata: resolution: "@fluentui-react-native/merge-props@workspace:packages/framework/merge-props" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3887,7 +4053,6 @@ __metadata: "@types/jest": "npm:^29.0.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -3900,6 +4065,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/experimental-appearance-additions": "workspace:*" @@ -3907,6 +4073,7 @@ __metadata: "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3919,11 +4086,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3946,9 +4115,11 @@ __metadata: resolution: "@fluentui-react-native/overflow@workspace:packages/experimental/Overflow" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/menu": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3956,12 +4127,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3985,6 +4157,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4024,6 +4197,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/persona-coin": "workspace:*" @@ -4062,6 +4236,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4072,7 +4247,6 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4095,6 +4269,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4129,10 +4304,12 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -4144,6 +4321,7 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -4152,7 +4330,7 @@ __metadata: react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4179,6 +4357,7 @@ __metadata: "@babel/preset-env": "npm:^7.8.0" "@babel/preset-react": "npm:^7.8.0" "@babel/preset-typescript": "npm:^7.8.0" + "@babel/runtime": "npm:^7.20.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-babel-transformer": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -4204,54 +4383,25 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/scripts@workspace:scripts" dependencies: - "@babel/core": "npm:^7.22.5" - "@babel/plugin-proposal-class-properties": "npm:^7.18.6" - "@babel/plugin-proposal-private-property-in-object": "npm:^7.21.11" - "@babel/plugin-transform-private-methods": "npm:^7.27.1" "@eslint/js": "npm:^9.0.0" - "@microsoft/eslint-plugin-sdl": "npm:^1.1.0" - "@react-native-community/cli": "npm:^13.6.4" - "@react-native-community/cli-platform-android": "npm:^13.6.4" - "@react-native-community/cli-platform-ios": "npm:^13.6.4" - "@react-native/metro-babel-transformer": "npm:^0.74.0" - "@react-native/metro-config": "npm:^0.74.0" "@rnx-kit/eslint-plugin": "npm:^0.8.6" "@rnx-kit/jest-preset": "npm:^0.2.1" + "@rnx-kit/reporter": "npm:^0.1.0" "@rnx-kit/tools-packages": "npm:^0.1.1" "@rnx-kit/tools-typescript": "npm:^0.1.1" "@rnx-kit/tsconfig": "npm:^2.1.1" - "@types/es6-collections": "npm:^0.5.29" - "@types/es6-promise": "npm:0.0.32" - "@types/jest": "npm:^29.0.0" + "@types/micromatch": "npm:^4.0.9" "@types/node": "npm:^22.0.0" - "@types/react-test-renderer": "npm:16.9.0" - "@typescript-eslint/eslint-plugin": "npm:^8.36.0" - "@typescript-eslint/parser": "npm:^8.36.0" - "@uifabric/prettier-rules": "npm:^7.0.3" clipanion: "npm:^4.0.0-rc.4" depcheck: "npm:^1.0.0" eslint: "npm:^9.0.0" find-up: "npm:^5.0.0" - fs-extra: "npm:^7.0.1" - glob: "npm:^10.0.0" jest: "npm:^29.2.1" - jest-diff: "npm:^27.0.0" - jsdom: "npm:^25.0.0" - metro-config: "npm:^0.80.3" - metro-react-native-babel-transformer: "npm:^0.76.5" - prettier: "npm:^2.4.1" + micromatch: "npm:^4.0.8" react: "npm:18.2.0" react-native: "npm:^0.74.0" - react-native-svg: "npm:^15.4.0" - react-native-svg-transformer: "npm:^1.0.0" - react-test-renderer: "npm:18.2.0" - rimraf: "npm:^5.0.1" typescript: "npm:^5.8.0" workspace-tools: "npm:^0.26.3" - peerDependencies: - react: 18.2.0 - react-native: ^0.73.0 || ^0.74.0 - react-native-svg: ^15.0.0 || ^15.4.0 bin: fluentui-scripts: ./src/cli.mjs languageName: unknown @@ -4262,8 +4412,10 @@ __metadata: resolution: "@fluentui-react-native/separator@workspace:packages/components/Separator" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" "@fluentui-react-native/use-styling": "workspace:*" @@ -4271,10 +4423,12 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4296,6 +4450,7 @@ __metadata: resolution: "@fluentui-react-native/spinner@workspace:packages/experimental/Spinner" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4333,14 +4488,17 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-composable": "workspace:*" "@uifabricshared/foundation-compose": "workspace:*" "@uifabricshared/foundation-settings": "workspace:*" @@ -4349,6 +4507,7 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4370,6 +4529,7 @@ __metadata: resolution: "@fluentui-react-native/styling-utils@workspace:packages/utils/styling" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -4388,9 +4548,11 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -4401,11 +4563,12 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4428,11 +4591,13 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -4443,12 +4608,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4470,13 +4636,17 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/test-tools@workspace:packages/utils/test-tools" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" - "@react-native/metro-config": "npm:^0.74.0" + "@types/jest": "npm:^29.0.0" "@types/react": "npm:^18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -4500,6 +4670,7 @@ __metadata: "@rnx-kit/metro-config": "npm:^2.1.0" "@rnx-kit/metro-resolver-symlinks": "npm:^0.2.5" "@types/react": "npm:^18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" metro-config: "npm:^0.80.3" react: "npm:18.2.0" react-native: "npm:^0.74.0" @@ -4507,7 +4678,6 @@ __metadata: react-native-svg-transformer: "npm:^1.0.0" react-test-renderer: "npm:18.2.0" rimraf: "npm:^5.0.1" - tslib: "npm:^2.3.1" typescript: "npm:4.9.4" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 @@ -4543,6 +4713,7 @@ __metadata: "@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:*" @@ -4552,6 +4723,7 @@ __metadata: "@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:*" @@ -4575,7 +4747,10 @@ __metadata: "@fortawesome/free-solid-svg-icons": "npm:^6.2.0" "@fortawesome/react-native-fontawesome": "npm:^0.3.0" "@office-iss/react-native-win32": "npm:^0.74.0" - "@react-native-community/slider": "npm:^4.2.0" + "@react-native-community/cli": "npm:^13.6.4" + "@react-native-community/cli-platform-android": "npm:^13.6.4" + "@react-native-community/cli-platform-ios": "npm:^13.6.4" + "@react-native-community/slider": "npm:^4.5.7" "@react-native-menu/menu": "npm:^0.7.3" "@react-native-picker/picker": "npm:^2.7.0" "@react-native/babel-preset": "npm:^0.74.0" @@ -4585,7 +4760,9 @@ __metadata: "@rnx-kit/metro-config": "npm:^2.1.0" "@rnx-kit/metro-resolver-symlinks": "npm:^0.2.5" "@types/jasmine": "npm:5.1.4" + "@types/node": "npm:^22.0.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@warren-ms/react-native-icons": "npm:^0.0.13" "@wdio/cli": "npm:^8.40.0" "@wdio/globals": "npm:^8.40.0" @@ -4600,7 +4777,6 @@ __metadata: react-native-test-app: "npm:^3.9.2" react-native-windows: "npm:^0.74.0" react-test-renderer: "npm:18.2.0" - tslib: "npm:^2.3.1" webdriverio: "npm:^8.40.0" peerDependenciesMeta: "@office-iss/react-native-win32": @@ -4614,9 +4790,11 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -4624,12 +4802,13 @@ __metadata: "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" "@uifabricshared/foundation-compose": "workspace:*" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4651,6 +4830,7 @@ __metadata: resolution: "@fluentui-react-native/theme-tokens@workspace:packages/theming/theme-tokens" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/design-tokens-android": "npm:^0.53.0" "@fluentui-react-native/design-tokens-ios": "npm:^0.53.0" "@fluentui-react-native/design-tokens-win32": "npm:^0.53.0" @@ -4674,6 +4854,7 @@ __metadata: resolution: "@fluentui-react-native/theme-types@workspace:packages/theming/theme-types" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -4692,7 +4873,10 @@ __metadata: resolution: "@fluentui-react-native/theme@workspace:packages/framework/theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" @@ -4711,8 +4895,10 @@ __metadata: resolution: "@fluentui-react-native/themed-stylesheet@workspace:packages/framework/themed-stylesheet" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -4729,9 +4915,11 @@ __metadata: resolution: "@fluentui-react-native/theming-utils@workspace:packages/theming/theming-utils" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/design-tokens-win32": "npm:^0.53.0" "@fluentui-react-native/design-tokens-windows": "npm:^0.53.0" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -4764,6 +4952,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" @@ -4774,7 +4963,6 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4796,22 +4984,25 @@ __metadata: resolution: "@fluentui-react-native/tooltip@workspace:packages/experimental/Tooltip" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/react": "npm:~18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-svg: "npm:^15.4.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4833,14 +5024,18 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/use-slot@workspace:packages/framework/use-slot" dependencies: - "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" - "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" + "@types/jest": "npm:^29.0.0" + "@types/react": "npm:18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -4852,13 +5047,19 @@ __metadata: resolution: "@fluentui-react-native/use-slots@workspace:packages/framework/use-slots" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-slot": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" + "@types/react": "npm:18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -4870,15 +5071,20 @@ __metadata: resolution: "@fluentui-react-native/use-styling@workspace:packages/framework/use-styling" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-tokens": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/jest": "npm:^29.0.0" + "@types/react": "npm:18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -4890,14 +5096,19 @@ __metadata: resolution: "@fluentui-react-native/use-tokens@workspace:packages/framework/use-tokens" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/jest": "npm:^29.0.0" + "@types/react": "npm:18.2.0" + "@types/react-test-renderer": "npm:^18.2.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" - tslib: "npm:^2.3.1" + react-test-renderer: "npm:18.2.0" peerDependencies: react: 18.2.0 react-native: ^0.73.0 || ^0.74.0 @@ -4910,6 +5121,7 @@ __metadata: dependencies: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/adapters": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -4919,7 +5131,6 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4941,10 +5152,12 @@ __metadata: resolution: "@fluentui-react-native/win32-theme@workspace:packages/theming/win32-theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/default-theme": "workspace:*" "@fluentui-react-native/design-tokens-win32": "npm:^0.53.0" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -4958,7 +5171,6 @@ __metadata: react-native: "npm:^0.74.0" react-native-macos: "npm:^0.74.0" react-native-windows: "npm:^0.74.0" - tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -4988,6 +5200,7 @@ __metadata: "@fluentui-react-native/focus-trap-zone": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/link": "workspace:*" "@fluentui-react-native/menu-button": "workspace:*" "@fluentui-react-native/persona": "workspace:*" @@ -5516,7 +5729,7 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2": +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a @@ -6293,10 +6506,10 @@ __metadata: languageName: node linkType: hard -"@react-native-community/slider@npm:^4.2.0": - version: 4.5.3 - resolution: "@react-native-community/slider@npm:4.5.3" - checksum: 10c0/6f71185c859014ae56fedf1eb422f8a9b9cfd069a8c028c787f3833cc5be0842b89ac5675c6e9e69adf033a5bbb69f40f84ad001b41f738b36c09c35b667759f +"@react-native-community/slider@npm:^4.5.7": + version: 4.5.7 + resolution: "@react-native-community/slider@npm:4.5.7" + checksum: 10c0/9154c88972eb97ecb53190ff215148b41ec195619991e51061f543dc67c8b2463d1d195dd9c166755b8db1cc4d5a1ae8a152c3ecd5d3285cc4a14c35fddb3716 languageName: node linkType: hard @@ -6899,6 +7112,15 @@ __metadata: languageName: node linkType: hard +"@rnx-kit/reporter@npm:^0.1.0": + version: 0.1.0 + resolution: "@rnx-kit/reporter@npm:0.1.0" + dependencies: + chalk: "npm:^4.1.0" + checksum: 10c0/95ea2f9df3a5973b06b91a953dc0261750ead98d58ee0faaba6c7bcf47f5b40245c2adb0b03a8f40ab8794823224a9f409eb4a191f5cff2b910b61e225801d23 + languageName: node + linkType: hard + "@rnx-kit/third-party-notices@npm:^2.0.0": version: 2.0.0 resolution: "@rnx-kit/third-party-notices@npm:2.0.0" @@ -7233,7 +7455,7 @@ __metadata: languageName: node linkType: hard -"@svgr/plugin-jsx@npm:^8.1.0": +"@svgr/plugin-jsx@npm:*, @svgr/plugin-jsx@npm:^8.1.0": version: 8.1.0 resolution: "@svgr/plugin-jsx@npm:8.1.0" dependencies: @@ -7247,7 +7469,7 @@ __metadata: languageName: node linkType: hard -"@svgr/plugin-svgo@npm:^8.1.0": +"@svgr/plugin-svgo@npm:*, @svgr/plugin-svgo@npm:^8.1.0": version: 8.1.0 resolution: "@svgr/plugin-svgo@npm:8.1.0" dependencies: @@ -7349,15 +7571,15 @@ __metadata: linkType: hard "@types/babel__core@npm:^7.1.14": - version: 7.20.0 - resolution: "@types/babel__core@npm:7.20.0" + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" dependencies: "@babel/parser": "npm:^7.20.7" "@babel/types": "npm:^7.20.7" "@types/babel__generator": "npm:*" "@types/babel__template": "npm:*" "@types/babel__traverse": "npm:*" - checksum: 10c0/75dcd39258bc008b6fd4db7de2c8bfeb29b5cd2c726f54407f70243ddea1d8ce9e7082281557614c4a5f9f30d478387ca6ab6cc576fc829cebeb159bfaa8799f + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff languageName: node linkType: hard @@ -7415,6 +7637,13 @@ __metadata: languageName: node linkType: hard +"@types/braces@npm:*": + version: 3.0.5 + resolution: "@types/braces@npm:3.0.5" + checksum: 10c0/fff17426731376b452abf747e862f0116b80ccc68a2c8e6b56aff240048c26c983d61c456c6792dffe9df407d80c1a504bea21e8c1a56afaed1f311dfe75bc68 + languageName: node + linkType: hard + "@types/connect@npm:*": version: 3.4.35 resolution: "@types/connect@npm:3.4.35" @@ -7424,20 +7653,6 @@ __metadata: languageName: node linkType: hard -"@types/es6-collections@npm:^0.5.29": - version: 0.5.36 - resolution: "@types/es6-collections@npm:0.5.36" - checksum: 10c0/5c2155a9e88f508db8ee927a27d0edf97e7d2710d645217d5cb4f8f12511d777a7d6220d98f376a39b50f3f392f3901631edb043889cf8b60ec39f6221aa2f6e - languageName: node - linkType: hard - -"@types/es6-promise@npm:0.0.32": - version: 0.0.32 - resolution: "@types/es6-promise@npm:0.0.32" - checksum: 10c0/8398a821d1d42f20003ee40161171a7ef990c3fcefc814e57b32db7035af2de02dbcbe65becf75114d3739d905670ad891a8924357266ba87bf42d5764315974 - languageName: node - linkType: hard - "@types/eslint@npm:^9.0.0": version: 9.6.1 resolution: "@types/eslint@npm:9.6.1" @@ -7533,9 +7748,9 @@ __metadata: linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 languageName: node linkType: hard @@ -7639,6 +7854,15 @@ __metadata: languageName: node linkType: hard +"@types/micromatch@npm:^4.0.9": + version: 4.0.9 + resolution: "@types/micromatch@npm:4.0.9" + dependencies: + "@types/braces": "npm:*" + checksum: 10c0/b13d7594b4320f20729f20156c51e957d79deb15083f98a736689cd0d3e4ba83b5d125959f6edf65270a6b6db90db9cebef8168d88e1c4eedc9a18aecc0234a3 + languageName: node + linkType: hard + "@types/mime@npm:*": version: 3.0.1 resolution: "@types/mime@npm:3.0.1" @@ -7772,12 +7996,12 @@ __metadata: languageName: node linkType: hard -"@types/react-test-renderer@npm:16.9.0": - version: 16.9.0 - resolution: "@types/react-test-renderer@npm:16.9.0" +"@types/react-test-renderer@npm:^18.2.0": + version: 18.3.1 + resolution: "@types/react-test-renderer@npm:18.3.1" dependencies: - "@types/react": "npm:*" - checksum: 10c0/90cd65c002db5f6025813d9229db1b1597128ffdafd28e6c3edb7c26a6493826981d55cd0680ec661f969e67a51fb2de1e8b3a3c7cbb073590d0beee289794d7 + "@types/react": "npm:^18" + checksum: 10c0/9fc8467ff1a3f14be6cc3498a75fc788d2c92c0fffa7bf21269ed5d9d82db9195bf2178ddc42ea16a0836995c1b77601c6be8abb27bd1864668c418c6d0e5a3b languageName: node linkType: hard @@ -7974,105 +8198,106 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.36.0, @typescript-eslint/eslint-plugin@npm:^8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.36.0" +"@typescript-eslint/eslint-plugin@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.38.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.36.0" - "@typescript-eslint/type-utils": "npm:8.36.0" - "@typescript-eslint/utils": "npm:8.36.0" - "@typescript-eslint/visitor-keys": "npm:8.36.0" + "@typescript-eslint/scope-manager": "npm:8.38.0" + "@typescript-eslint/type-utils": "npm:8.38.0" + "@typescript-eslint/utils": "npm:8.38.0" + "@typescript-eslint/visitor-keys": "npm:8.38.0" graphemer: "npm:^1.4.0" ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.36.0 + "@typescript-eslint/parser": ^8.38.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/a9bb55b896717bea630f969d1c7ca15ddaf0d0f72df1d8a05696a7ca75e8b40dc9abdc8ad447a0a0130f1d81a4bb5befd66c7f5e10950c4b1a389542ac3e0298 + checksum: 10c0/199b82e9f0136baecf515df7c31bfed926a7c6d4e6298f64ee1a77c8bdd7a8cb92a2ea55a5a345c9f2948a02f7be6d72530efbe803afa1892b593fbd529d0c27 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.36.0, @typescript-eslint/parser@npm:^8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/parser@npm:8.36.0" +"@typescript-eslint/parser@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/parser@npm:8.38.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.36.0" - "@typescript-eslint/types": "npm:8.36.0" - "@typescript-eslint/typescript-estree": "npm:8.36.0" - "@typescript-eslint/visitor-keys": "npm:8.36.0" + "@typescript-eslint/scope-manager": "npm:8.38.0" + "@typescript-eslint/types": "npm:8.38.0" + "@typescript-eslint/typescript-estree": "npm:8.38.0" + "@typescript-eslint/visitor-keys": "npm:8.38.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/4cba651b9fb6a3662775dcb9391d7c65c0674442674fb46e19bc612cc284057e638b4c3410ba5985f78d4a6bf55f522d875e428bc334e26e91a58d3b0f55904f + checksum: 10c0/5580c2a328f0c15f85e4a0961a07584013cc0aca85fe868486187f7c92e9e3f6602c6e3dab917b092b94cd492ed40827c6f5fea42730bef88eb17592c947adf4 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/project-service@npm:8.36.0" +"@typescript-eslint/project-service@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/project-service@npm:8.38.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.36.0" - "@typescript-eslint/types": "npm:^8.36.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.38.0" + "@typescript-eslint/types": "npm:^8.38.0" debug: "npm:^4.3.4" peerDependencies: typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/4199bb52118fa530f24709707e0ab7677ffbe2885412aea294a24befe6ffe2af19b05512913752ab08b8177b00784da23285a6b091066e28fe4449cddcf0ef7a + checksum: 10c0/87d2f55521e289bbcdc666b1f4587ee2d43039cee927310b05abaa534b528dfb1b5565c1545bb4996d7fbdf9d5a3b0aa0e6c93a8f1289e3fcfd60d246364a884 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/scope-manager@npm:8.36.0" +"@typescript-eslint/scope-manager@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/scope-manager@npm:8.38.0" dependencies: - "@typescript-eslint/types": "npm:8.36.0" - "@typescript-eslint/visitor-keys": "npm:8.36.0" - checksum: 10c0/ee40ac6ac130c8656530eac5705f386b9e33ee6aa4bb285794b62023bc42e1004c871260b0accdff57275cf8c939981dc72c5a64043310375e9117734827e9bb + "@typescript-eslint/types": "npm:8.38.0" + "@typescript-eslint/visitor-keys": "npm:8.38.0" + checksum: 10c0/ceaf489ea1f005afb187932a7ee363dfe1e0f7cc3db921283991e20e4c756411a5e25afbec72edd2095d6a4384f73591f4c750cf65b5eaa650c90f64ef9fe809 languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.36.0, @typescript-eslint/tsconfig-utils@npm:^8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.36.0" +"@typescript-eslint/tsconfig-utils@npm:8.38.0, @typescript-eslint/tsconfig-utils@npm:^8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.38.0" peerDependencies: typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/e0e1bacd3f5bfddb90a90362dbedf793d98ee1ada203fc2d83531a61617d246b9e0d0bfac493680f635afb3cfd749da2008e06e4404660334a5f804392064006 + checksum: 10c0/1a90da16bf1f7cfbd0303640a8ead64a0080f2b1d5969994bdac3b80abfa1177f0c6fbf61250bae082e72cf5014308f2f5cc98edd6510202f13420a7ffd07a84 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/type-utils@npm:8.36.0" +"@typescript-eslint/type-utils@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/type-utils@npm:8.38.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.36.0" - "@typescript-eslint/utils": "npm:8.36.0" + "@typescript-eslint/types": "npm:8.38.0" + "@typescript-eslint/typescript-estree": "npm:8.38.0" + "@typescript-eslint/utils": "npm:8.38.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/9743b99d1ab5c98b96e9b43472c1c0c787256285fe4c5fe3e54bbf331cd3c9a3bfac1188a490f6e0de8eacea0940731478feef6b3e0266d701bb0686815532c6 + checksum: 10c0/27795c4bd0be395dda3424e57d746639c579b7522af1c17731b915298a6378fd78869e8e141526064b6047db2c86ba06444469ace19c98cda5779d06f4abd37c languageName: node linkType: hard -"@typescript-eslint/types@npm:8.36.0, @typescript-eslint/types@npm:^8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/types@npm:8.36.0" - checksum: 10c0/cacb941a0caad6ab556c416051b97ec33b364b7c8e0703e2729ae43f12daf02b42eef12011705329107752e3f1685ca82cfffe181d637f85907293cb634bee31 +"@typescript-eslint/types@npm:8.38.0, @typescript-eslint/types@npm:^8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/types@npm:8.38.0" + checksum: 10c0/f0ac0060c98c0f3d1871f107177b6ae25a0f1846ca8bd8cfc7e1f1dd0ddce293cd8ac4a5764d6a767de3503d5d01defcd68c758cb7ba6de52f82b209a918d0d2 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.36.0" +"@typescript-eslint/typescript-estree@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.38.0" dependencies: - "@typescript-eslint/project-service": "npm:8.36.0" - "@typescript-eslint/tsconfig-utils": "npm:8.36.0" - "@typescript-eslint/types": "npm:8.36.0" - "@typescript-eslint/visitor-keys": "npm:8.36.0" + "@typescript-eslint/project-service": "npm:8.38.0" + "@typescript-eslint/tsconfig-utils": "npm:8.38.0" + "@typescript-eslint/types": "npm:8.38.0" + "@typescript-eslint/visitor-keys": "npm:8.38.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -8081,39 +8306,32 @@ __metadata: ts-api-utils: "npm:^2.1.0" peerDependencies: typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/3581401620de27fbeb4ce5052211432eff839961b4430324b505429637e3d19270be1ab1575e29da0115817d32fb5b1fa5e774667b91d92da7f6b95fff5dbf74 + checksum: 10c0/00a00f6549877f4ae5c2847fa5ac52bf42cbd59a87533856c359e2746e448ed150b27a6137c92fd50c06e6a4b39e386d6b738fac97d80d05596e81ce55933230 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/utils@npm:8.36.0" +"@typescript-eslint/utils@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/utils@npm:8.38.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.36.0" - "@typescript-eslint/types": "npm:8.36.0" - "@typescript-eslint/typescript-estree": "npm:8.36.0" + "@typescript-eslint/scope-manager": "npm:8.38.0" + "@typescript-eslint/types": "npm:8.38.0" + "@typescript-eslint/typescript-estree": "npm:8.38.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/b107018ae0ba1cca954c3e8c3280cf1844c81c1c8494f9967014eadf41fdc44a88d13accc935c5371c61df02a13decd4846f12e63d9b2b2c789e5007abce1050 + checksum: 10c0/e97a45bf44f315f9ed8c2988429e18c88e3369c9ee3227ee86446d2d49f7325abebbbc9ce801e178f676baa986d3e1fd4b5391f1640c6eb8944c123423ae43bb languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.36.0": - version: 8.36.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.36.0" +"@typescript-eslint/visitor-keys@npm:8.38.0": + version: 8.38.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.38.0" dependencies: - "@typescript-eslint/types": "npm:8.36.0" + "@typescript-eslint/types": "npm:8.38.0" eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/cc5cc3ab8cf0a84c73c6aa025556e8c6ed04c1a114f6d03c4c4a05c0b197f2de4f02764d053760f2ba81b256234bb14be391a8601f294e3ac31baaa1dce44a63 - languageName: node - linkType: hard - -"@uifabric/prettier-rules@npm:^7.0.3": - version: 7.0.4 - resolution: "@uifabric/prettier-rules@npm:7.0.4" - checksum: 10c0/e108c7dc5018f83e2f380c9e77e7e4a707fb9db978ce23f4029a345b394b791b7de61923b53f2f6eafde3a9e008c9de01554cc5fa1f737ef713208290a5784e1 + checksum: 10c0/071a756e383f41a6c9e51d78c8c64bd41cd5af68b0faef5fbaec4fa5dbd65ec9e4cd610c2e2cdbe9e2facc362995f202850622b78e821609a277b5b601a1d4ec languageName: node linkType: hard @@ -8121,6 +8339,7 @@ __metadata: version: 0.0.0-use.local resolution: "@uifabricshared/foundation-composable@workspace:packages/deprecated/foundation-composable" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -8140,6 +8359,7 @@ __metadata: version: 0.0.0-use.local resolution: "@uifabricshared/foundation-compose@workspace:packages/deprecated/foundation-compose" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/default-theme": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" @@ -8178,8 +8398,10 @@ __metadata: resolution: "@uifabricshared/foundation-settings@workspace:packages/deprecated/foundation-settings" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -8197,12 +8419,16 @@ __metadata: resolution: "@uifabricshared/foundation-tokens@workspace:packages/deprecated/foundation-tokens" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" "@types/jest": "npm:^29.0.0" + "@types/node": "npm:^22.0.0" "@types/react": "npm:^18.2.0" "@uifabricshared/foundation-settings": "workspace:*" react: "npm:18.2.0" @@ -8230,8 +8456,10 @@ __metadata: resolution: "@uifabricshared/theme-registry@workspace:packages/deprecated/theme-registry" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -8249,8 +8477,10 @@ __metadata: resolution: "@uifabricshared/themed-settings@workspace:packages/deprecated/themed-settings" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -8269,8 +8499,10 @@ __metadata: version: 0.0.0-use.local resolution: "@uifabricshared/theming-ramp@workspace:packages/deprecated/theming-ramp" dependencies: + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" + "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" @@ -8291,6 +8523,7 @@ __metadata: resolution: "@uifabricshared/theming-react-native@workspace:packages/deprecated/theming-react-native" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/default-theme": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -9850,7 +10083,7 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": +"babel-jest@npm:^29.0.0, babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" dependencies: @@ -9892,28 +10125,28 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10, babel-plugin-polyfill-corejs2@npm:^0.4.5": - version: 0.4.10 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.10" +"babel-plugin-polyfill-corejs2@npm:^0.4.14, babel-plugin-polyfill-corejs2@npm:^0.4.5": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + "@babel/compat-data": "npm:^7.27.7" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/910bfb1d809cae49cf43348f9b1e4a5e4c895aa25686fdd2ff8af7b7a996b88ad39597707905d097e08d4e70e14340ac935082ef4e035e77f68741f813f2a80d + checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.11.0": - version: 0.11.1 - resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.3" - core-js-compat: "npm:^3.40.0" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard @@ -9940,21 +10173,14 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.1 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.1" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/0b55a35a75a261f62477d8d0f0c4a8e3b66f109323ce301d7de6898e168c41224de3bc26a92f48f2c7fcc19dfd1fc60fe71098bfd4f804a0463ff78586892403 - languageName: node - linkType: hard - -"babel-plugin-syntax-trailing-function-commas@npm:^7.0.0-beta.0": - version: 7.0.0-beta.0 - resolution: "babel-plugin-syntax-trailing-function-commas@npm:7.0.0-beta.0" - checksum: 10c0/67e3d6a706637097526b2d3046d3124d3efd3aac28b47af940c2f8df01b8d7ffeb4cdf5648f3b5eac3f098f5b61c4845e306f34301c869e5e14db6ae8b77f699 + checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d languageName: node linkType: hard @@ -9989,43 +10215,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-fbjs@npm:^3.4.0": - version: 3.4.0 - resolution: "babel-preset-fbjs@npm:3.4.0" - dependencies: - "@babel/plugin-proposal-class-properties": "npm:^7.0.0" - "@babel/plugin-proposal-object-rest-spread": "npm:^7.0.0" - "@babel/plugin-syntax-class-properties": "npm:^7.0.0" - "@babel/plugin-syntax-flow": "npm:^7.0.0" - "@babel/plugin-syntax-jsx": "npm:^7.0.0" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.0.0" - "@babel/plugin-transform-arrow-functions": "npm:^7.0.0" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.0.0" - "@babel/plugin-transform-block-scoping": "npm:^7.0.0" - "@babel/plugin-transform-classes": "npm:^7.0.0" - "@babel/plugin-transform-computed-properties": "npm:^7.0.0" - "@babel/plugin-transform-destructuring": "npm:^7.0.0" - "@babel/plugin-transform-flow-strip-types": "npm:^7.0.0" - "@babel/plugin-transform-for-of": "npm:^7.0.0" - "@babel/plugin-transform-function-name": "npm:^7.0.0" - "@babel/plugin-transform-literals": "npm:^7.0.0" - "@babel/plugin-transform-member-expression-literals": "npm:^7.0.0" - "@babel/plugin-transform-modules-commonjs": "npm:^7.0.0" - "@babel/plugin-transform-object-super": "npm:^7.0.0" - "@babel/plugin-transform-parameters": "npm:^7.0.0" - "@babel/plugin-transform-property-literals": "npm:^7.0.0" - "@babel/plugin-transform-react-display-name": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx": "npm:^7.0.0" - "@babel/plugin-transform-shorthand-properties": "npm:^7.0.0" - "@babel/plugin-transform-spread": "npm:^7.0.0" - "@babel/plugin-transform-template-literals": "npm:^7.0.0" - babel-plugin-syntax-trailing-function-commas: "npm:^7.0.0-beta.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/2be440c0fd7d1df247417be35644cb89f40a300e7fcdc44878b737ec49b04380eff422e4ebdc7bb5efd5ecfef45b634fc5fe11c3a409a50c9084e81083037902 - languageName: node - linkType: hard - "babel-preset-jest@npm:^29.6.3": version: 29.6.3 resolution: "babel-preset-jest@npm:29.6.3" @@ -10268,17 +10457,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": - version: 4.24.4 - resolution: "browserslist@npm:4.24.4" +"browserslist@npm:^4.24.0, browserslist@npm:^4.25.1": + version: 4.25.1 + resolution: "browserslist@npm:4.25.1" dependencies: - caniuse-lite: "npm:^1.0.30001688" - electron-to-chromium: "npm:^1.5.73" + caniuse-lite: "npm:^1.0.30001726" + electron-to-chromium: "npm:^1.5.173" node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.1" + update-browserslist-db: "npm:^1.1.3" bin: browserslist: cli.js - checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 + checksum: 10c0/acba5f0bdbd5e72dafae1e6ec79235b7bad305ed104e082ed07c34c38c7cb8ea1bc0f6be1496958c40482e40166084458fc3aee15111f15faa79212ad9081b2a languageName: node linkType: hard @@ -10319,23 +10508,23 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.2.1, buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" +"buffer@npm:*, buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" dependencies: base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" +"buffer@npm:^5.2.1, buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" dependencies: base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e languageName: node linkType: hard @@ -10487,10 +10676,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001704 - resolution: "caniuse-lite@npm:1.0.30001704" - checksum: 10c0/4efa0ece51ef58e7ce7e7c8cd7b50372bcb910581a47397be5c086c046c3cd436d123b734351fb20f638c322b339198edf89b5b632ff59bdd171c74ff7f4efcf +"caniuse-lite@npm:^1.0.30001726": + version: 1.0.30001731 + resolution: "caniuse-lite@npm:1.0.30001731" + checksum: 10c0/d8cddf817d5bec8e7c2106affdbf1bfc3923463ca16697c992b2efeb043e6a5d9dcb70cda913bc6acf9112fd66f9e80279316c08e7800359116925066a63fdfa languageName: node linkType: hard @@ -10642,9 +10831,9 @@ __metadata: linkType: hard "cjs-module-lexer@npm:^1.0.0, cjs-module-lexer@npm:^1.2.2": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be languageName: node linkType: hard @@ -10768,9 +10957,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.1 - resolution: "collect-v8-coverage@npm:1.0.1" - checksum: 10c0/df8192811a773d10978fd25060124e4228d9a86bab40de3f18df5ce1a3730832351a52ba1c0e3915d5bd638298fc7bc9723760d25f534462746e269a6f0ac91c + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 languageName: node linkType: hard @@ -11054,13 +11243,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.6.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -11082,12 +11264,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.33.1, core-js-compat@npm:^3.40.0": - version: 3.41.0 - resolution: "core-js-compat@npm:3.41.0" +"core-js-compat@npm:^3.33.1, core-js-compat@npm:^3.43.0": + version: 3.44.0 + resolution: "core-js-compat@npm:3.44.0" dependencies: - browserslist: "npm:^4.24.4" - checksum: 10c0/92d2c748d3dd1c4e3b6cee6b6683b9212db9bc0a6574d933781210daf3baaeb76334ed4636eb8935b45802aa8d9235ab604c9a262694e02a2fa17ad0f6976829 + browserslist: "npm:^4.25.1" + checksum: 10c0/5de4b042b8bb232b8390be3079030de5c7354610f136ed3eb91310a44455a78df02cfcf49b2fd05d5a5aa2695460620abf1b400784715f7482ed4770d40a68b2 languageName: node linkType: hard @@ -11308,15 +11490,6 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^4.1.0": - version: 4.1.0 - resolution: "cssstyle@npm:4.1.0" - dependencies: - rrweb-cssom: "npm:^0.7.1" - checksum: 10c0/05c6597e5d3e0ec6b15221f2c0ce9a0443a46cc50a6089a3ba9ee1ac27f83ff86a445a8f95435137dadd859f091fc61b6d342abaf396d3c910471b5b33cfcbfa - languageName: node - linkType: hard - "csstype@npm:^3.0.10, csstype@npm:^3.0.2": version: 3.1.1 resolution: "csstype@npm:3.1.1" @@ -11338,16 +11511,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^5.0.0": - version: 5.0.0 - resolution: "data-urls@npm:5.0.0" - dependencies: - whatwg-mimetype: "npm:^4.0.0" - whatwg-url: "npm:^14.0.0" - checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad - languageName: node - linkType: hard - "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -11453,13 +11616,6 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.4.3": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee - languageName: node - linkType: hard - "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -11470,14 +11626,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" + version: 1.6.0 + resolution: "dedent@npm:1.6.0" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: 10c0/f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 + checksum: 10c0/671b8f5e390dd2a560862c4511dd6d2638e71911486f78cb32116551f8f2aa6fcaf50579ffffb2f866d46b5b80fd72470659ca5760ede8f967619ef7df79e8a5 languageName: node linkType: hard @@ -11700,13 +11856,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^27.5.1": - version: 27.5.1 - resolution: "diff-sequences@npm:27.5.1" - checksum: 10c0/a52566d891b89a666f48ba69f54262fa8293ae6264ae04da82c7bf3b6661cba75561de0729f18463179d56003cc0fd69aa09845f2c2cd7a353b1ec1e1a96beb9 - languageName: node - linkType: hard - "diff-sequences@npm:^29.6.3": version: 29.6.3 resolution: "diff-sequences@npm:29.6.3" @@ -11928,10 +12077,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.73": - version: 1.5.116 - resolution: "electron-to-chromium@npm:1.5.116" - checksum: 10c0/27f117cd18b17b6a7c4ddf82db5f5093c0eaa37bab27798f544648bf6408ef7d7c938251b50210eb1fa98d1bcf0a65b4302f926a147896f8a3dea3c0fc9a45f6 +"electron-to-chromium@npm:^1.5.173": + version: 1.5.192 + resolution: "electron-to-chromium@npm:1.5.192" + checksum: 10c0/7993350fdd3c12d9667a42370ce3202bf3012fd6fed13ac1393eeb3fdda51347e805f340ae06939192f37b00a3d0856034b69b1bf6696ba96848fd42267a6f8b languageName: node linkType: hard @@ -13334,17 +13483,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 - languageName: node - linkType: hard - "fs-extra@npm:^8.1.0": version: 8.1.0 resolution: "fs-extra@npm:8.1.0" @@ -13804,13 +13942,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -13988,13 +14119,6 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.12.0": - version: 0.12.0 - resolution: "hermes-estree@npm:0.12.0" - checksum: 10c0/df16c382b1d899dc1ce5dd716ca7b3191fd6e065138db3b7981ef87e1216d39798f5f951eb2534cfa40193ab771214ef030ec4e8ad4a8ae5007435ebdf9abacd - languageName: node - linkType: hard - "hermes-estree@npm:0.19.1": version: 0.19.1 resolution: "hermes-estree@npm:0.19.1" @@ -14009,15 +14133,6 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.12.0": - version: 0.12.0 - resolution: "hermes-parser@npm:0.12.0" - dependencies: - hermes-estree: "npm:0.12.0" - checksum: 10c0/329f7a5c2028e9d2e3e0008865e5a7a7ef847c9425183b696a1f043f42f72e7a438368d978904c22adefc1212f3b867f48842e62c2159a5704a677bfc1a5a87e - languageName: node - linkType: hard - "hermes-parser@npm:0.19.1": version: 0.19.1 resolution: "hermes-parser@npm:0.19.1" @@ -14082,15 +14197,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^4.0.0": - version: 4.0.0 - resolution: "html-encoding-sniffer@npm:4.0.0" - dependencies: - whatwg-encoding: "npm:^3.1.1" - checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 - languageName: node - linkType: hard - "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -14352,14 +14458,14 @@ __metadata: linkType: hard "import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" + version: 3.2.0 + resolution: "import-local@npm:3.2.0" dependencies: pkg-dir: "npm:^4.2.0" resolve-cwd: "npm:^3.0.0" bin: import-local-fixture: fixtures/cli.js - checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 + checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433 languageName: node linkType: hard @@ -14591,12 +14697,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.8.1": - version: 2.15.1 - resolution: "is-core-module@npm:2.15.1" +"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0, is-core-module@npm:^2.8.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard @@ -14765,13 +14871,6 @@ __metadata: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 - languageName: node - linkType: hard - "is-regex@npm:^1.2.1": version: 1.2.1 resolution: "is-regex@npm:1.2.1" @@ -14989,9 +15088,9 @@ __metadata: linkType: hard "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: 10c0/10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9 + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b languageName: node linkType: hard @@ -15009,26 +15108,26 @@ __metadata: linkType: hard "istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.0 - resolution: "istanbul-lib-instrument@npm:6.0.0" + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" istanbul-lib-coverage: "npm:^3.2.0" semver: "npm:^7.5.4" - checksum: 10c0/ee86777f3692f95c3ae35c5cbc9aa979b551241da2de1284f75c507a2bdef948cc56ca90214c3bb47b5dc2ebe748610eb4f7c4d39b304f24a933bcd0867a05e8 + checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 languageName: node linkType: hard "istanbul-lib-report@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-report@npm:3.0.0" + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" dependencies: istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^3.0.0" + make-dir: "npm:^4.0.0" supports-color: "npm:^7.1.0" - checksum: 10c0/81b0d5187c7603ed71bdea0b701a7329f8146549ca19aa26d91b4a163aea756f9d55c1a6dc1dcd087e24dfcb99baa69e266a68644fbfd5dc98107d6f6f5948d2 + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 languageName: node linkType: hard @@ -15044,12 +15143,12 @@ __metadata: linkType: hard "istanbul-reports@npm:^3.1.3": - version: 3.1.5 - resolution: "istanbul-reports@npm:3.1.5" + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/3a147171bffdbd3034856410b6ec81637871d17d10986513328fec23df6b666f66bd08ea480f5b7a5b9f7e8abc30f3e3c2e7d1b661fc57cdc479aaaa677b1011 + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 languageName: node linkType: hard @@ -15216,18 +15315,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^27.0.0": - version: 27.5.1 - resolution: "jest-diff@npm:27.5.1" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^27.5.1" - jest-get-type: "npm:^27.5.1" - pretty-format: "npm:^27.5.1" - checksum: 10c0/48f008c7b4ea7794108319eb61050315b1723e7391cb01e4377c072cadcab10a984cb09d2a6876cb65f100d06c970fd932996192e092b26006f885c00945e7ad - languageName: node - linkType: hard - "jest-diff@npm:^29.7.0": version: 29.7.0 resolution: "jest-diff@npm:29.7.0" @@ -15276,13 +15363,6 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-get-type@npm:27.5.1" - checksum: 10c0/42ee0101336bccfc3c1cff598b603c6006db7876b6117e5bd4a9fb7ffaadfb68febdb9ae68d1c47bc3a4174b070153fc6cfb59df995dcd054e81ace5028a7269 - languageName: node - linkType: hard - "jest-get-type@npm:^29.6.3": version: 29.6.3 resolution: "jest-get-type@npm:29.6.3" @@ -15496,6 +15576,13 @@ __metadata: languageName: node linkType: hard +"jest-transform-stub@npm:^2.0.0": + version: 2.0.0 + resolution: "jest-transform-stub@npm:2.0.0" + checksum: 10c0/75c8c193882ab6d81d07fcd34b88decdaeccc39de5fcf1b8ea2af36870223d188f89ea8b150811ceec853329e2b1a22b66e8850d84bd4482f11a5325cabe16c2 + languageName: node + linkType: hard + "jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" @@ -15713,40 +15800,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^25.0.0": - version: 25.0.1 - resolution: "jsdom@npm:25.0.1" - dependencies: - cssstyle: "npm:^4.1.0" - data-urls: "npm:^5.0.0" - decimal.js: "npm:^10.4.3" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^4.0.0" - http-proxy-agent: "npm:^7.0.2" - https-proxy-agent: "npm:^7.0.5" - is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.12" - parse5: "npm:^7.1.2" - rrweb-cssom: "npm:^0.7.1" - saxes: "npm:^6.0.0" - symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^5.0.0" - w3c-xmlserializer: "npm:^5.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^3.1.1" - whatwg-mimetype: "npm:^4.0.0" - whatwg-url: "npm:^14.0.0" - ws: "npm:^8.18.0" - xml-name-validator: "npm:^5.0.0" - peerDependencies: - canvas: ^2.11.2 - peerDependenciesMeta: - canvas: - optional: true - checksum: 10c0/6bda32a6dfe4e37a30568bf51136bdb3ba9c0b72aadd6356280404275a34c9e097c8c25b5eb3c742e602623741e172da977ff456684befd77c9042ed9bf8c2b4 - languageName: node - linkType: hard - "jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" @@ -16367,12 +16420,12 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" dependencies: - semver: "npm:^6.0.0" - checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 languageName: node linkType: hard @@ -16665,70 +16718,6 @@ __metadata: languageName: node linkType: hard -"metro-react-native-babel-preset@npm:0.76.9": - version: 0.76.9 - resolution: "metro-react-native-babel-preset@npm:0.76.9" - dependencies: - "@babel/core": "npm:^7.20.0" - "@babel/plugin-proposal-async-generator-functions": "npm:^7.0.0" - "@babel/plugin-proposal-class-properties": "npm:^7.18.0" - "@babel/plugin-proposal-export-default-from": "npm:^7.0.0" - "@babel/plugin-proposal-nullish-coalescing-operator": "npm:^7.18.0" - "@babel/plugin-proposal-numeric-separator": "npm:^7.0.0" - "@babel/plugin-proposal-object-rest-spread": "npm:^7.20.0" - "@babel/plugin-proposal-optional-catch-binding": "npm:^7.0.0" - "@babel/plugin-proposal-optional-chaining": "npm:^7.20.0" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.0" - "@babel/plugin-syntax-export-default-from": "npm:^7.0.0" - "@babel/plugin-syntax-flow": "npm:^7.18.0" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.0.0" - "@babel/plugin-syntax-optional-chaining": "npm:^7.0.0" - "@babel/plugin-transform-arrow-functions": "npm:^7.0.0" - "@babel/plugin-transform-async-to-generator": "npm:^7.20.0" - "@babel/plugin-transform-block-scoping": "npm:^7.0.0" - "@babel/plugin-transform-classes": "npm:^7.0.0" - "@babel/plugin-transform-computed-properties": "npm:^7.0.0" - "@babel/plugin-transform-destructuring": "npm:^7.20.0" - "@babel/plugin-transform-flow-strip-types": "npm:^7.20.0" - "@babel/plugin-transform-function-name": "npm:^7.0.0" - "@babel/plugin-transform-literals": "npm:^7.0.0" - "@babel/plugin-transform-modules-commonjs": "npm:^7.0.0" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.0.0" - "@babel/plugin-transform-parameters": "npm:^7.0.0" - "@babel/plugin-transform-react-display-name": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx-self": "npm:^7.0.0" - "@babel/plugin-transform-react-jsx-source": "npm:^7.0.0" - "@babel/plugin-transform-runtime": "npm:^7.0.0" - "@babel/plugin-transform-shorthand-properties": "npm:^7.0.0" - "@babel/plugin-transform-spread": "npm:^7.0.0" - "@babel/plugin-transform-sticky-regex": "npm:^7.0.0" - "@babel/plugin-transform-typescript": "npm:^7.5.0" - "@babel/plugin-transform-unicode-regex": "npm:^7.0.0" - "@babel/template": "npm:^7.0.0" - babel-plugin-transform-flow-enums: "npm:^0.0.2" - react-refresh: "npm:^0.4.0" - peerDependencies: - "@babel/core": "*" - checksum: 10c0/62966203a5abcadda16a180d5601446e0ab41f8d37c99edb9b6edcaa6a00498f3cc42f259e1da4419ebdd22ca78a734c6b0b2be4b5fce0329dc1a08231e108df - languageName: node - linkType: hard - -"metro-react-native-babel-transformer@npm:^0.76.5": - version: 0.76.9 - resolution: "metro-react-native-babel-transformer@npm:0.76.9" - dependencies: - "@babel/core": "npm:^7.20.0" - babel-preset-fbjs: "npm:^3.4.0" - hermes-parser: "npm:0.12.0" - metro-react-native-babel-preset: "npm:0.76.9" - nullthrows: "npm:^1.1.1" - peerDependencies: - "@babel/core": "*" - checksum: 10c0/7178cae7cea86c8d7a00aebf615c1611a3b208d27308672dca071c037c4432708ff463b9c992600064a95fb5c6141d11056ca7e85d6eb361f307c305b0e19f62 - languageName: node - linkType: hard - "metro-resolver@npm:0.80.12": version: 0.80.12 resolution: "metro-resolver@npm:0.80.12" @@ -17534,13 +17523,6 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.12": - version: 2.2.12 - resolution: "nwsapi@npm:2.2.12" - checksum: 10c0/95e9623d63df111405503df8c5d800e26f71675d319e2c9c70cddfa31e5ace1d3f8b6d98d354544fc156a1506d920ec291e303fab761e4f99296868e199a466e - languageName: node - linkType: hard - "ob1@npm:0.80.12": version: 0.80.12 resolution: "ob1@npm:0.80.12" @@ -18069,7 +18051,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0, parse5@npm:^7.1.2, parse5@npm:^7.3.0": +"parse5@npm:^7.0.0, parse5@npm:^7.3.0": version: 7.3.0 resolution: "parse5@npm:7.3.0" dependencies: @@ -18361,17 +18343,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.5.1": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: "npm:^5.0.1" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^17.0.1" - checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" @@ -18519,7 +18490,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.3.1": +"punycode@npm:^2.1.0": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 @@ -18541,9 +18512,9 @@ __metadata: linkType: hard "pure-rand@npm:^6.0.0": - version: 6.0.2 - resolution: "pure-rand@npm:6.0.2" - checksum: 10c0/0556bee2e16a8d081a2b7630d9cb4e5dafd4e6bd6e4c61de1cf1ef5974f127847523e3d0e62884f6f5d64b66a5e93b05bd8f37ed009f3a4fe5089899e05914aa + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 languageName: node linkType: hard @@ -18954,13 +18925,6 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.4.0": - version: 0.4.3 - resolution: "react-refresh@npm:0.4.3" - checksum: 10c0/2b4e4b14b54bfbdfdd6d1c16b8476151b3e61083387061d4e5923b0342c678f6d0f23705835c3a04ab151bd92551d437395da3fb52ea7461a408f457d11ac6fa - languageName: node - linkType: hard - "react-shallow-renderer@npm:^16.15.0": version: 16.15.0 resolution: "react-shallow-renderer@npm:16.15.0" @@ -19375,22 +19339,22 @@ __metadata: linkType: hard "resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.3, resolve@npm:^1.22.4": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.10, resolve@npm:^1.22.3, resolve@npm:^1.22.4": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 languageName: node linkType: hard @@ -19407,16 +19371,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.3#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 languageName: node linkType: hard @@ -19554,13 +19518,6 @@ __metadata: languageName: node linkType: hard -"rrweb-cssom@npm:^0.7.1": - version: 0.7.1 - resolution: "rrweb-cssom@npm:0.7.1" - checksum: 10c0/127b8ca6c8aac45e2755abbae6138d4a813b1bedc2caabf79466ae83ab3cfc84b5bfab513b7033f0aa4561c7753edf787d0dd01163ceacdee2e8eb1b6bf7237e - languageName: node - linkType: hard - "rtl-css-js@npm:^1.16.0": version: 1.16.1 resolution: "rtl-css-js@npm:1.16.1" @@ -19703,15 +19660,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^6.0.0": - version: 6.0.0 - resolution: "saxes@npm:6.0.0" - dependencies: - xmlchars: "npm:^2.2.0" - checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 - languageName: node - linkType: hard - "scheduler@npm:0.24.0-canary-efb381bbf-20230505": version: 0.24.0-canary-efb381bbf-20230505 resolution: "scheduler@npm:0.24.0-canary-efb381bbf-20230505" @@ -20725,13 +20673,6 @@ __metadata: languageName: node linkType: hard -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 - languageName: node - linkType: hard - "table-layout@npm:^0.4.3": version: 0.4.5 resolution: "table-layout@npm:0.4.5" @@ -20932,24 +20873,6 @@ __metadata: languageName: node linkType: hard -"tldts-core@npm:^6.1.47": - version: 6.1.47 - resolution: "tldts-core@npm:6.1.47" - checksum: 10c0/538372072aea7153e842646a9e22d0d9335acf7fd877d10ee374cf78dceff79a2ccebadf7d25e0dbddd7b7b60bafe1c885aac3e3b1d5bec7806963c89b163ee7 - languageName: node - linkType: hard - -"tldts@npm:^6.1.32": - version: 6.1.47 - resolution: "tldts@npm:6.1.47" - dependencies: - tldts-core: "npm:^6.1.47" - bin: - tldts: bin/cli.js - checksum: 10c0/42c999ab24ce3ab221cfefe77488d145d16d9523524913badaa4af4f1f0d65e0a92a678659b22b7d26d1c62796540c95158049220c9ff243090b93470f236302 - languageName: node - linkType: hard - "tmp@npm:^0.0.33": version: 0.0.33 resolution: "tmp@npm:0.0.33" @@ -20996,24 +20919,6 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^5.0.0": - version: 5.0.0 - resolution: "tough-cookie@npm:5.0.0" - dependencies: - tldts: "npm:^6.1.32" - checksum: 10c0/4a69c885bf6f45c5a64e60262af99e8c0d58a33bd3d0ce5da62121eeb9c00996d0128a72df8fc4614cbde59cc8b70aa3e21e4c3c98c2bbde137d7aba7fa00124 - languageName: node - linkType: hard - -"tr46@npm:^5.0.0": - version: 5.0.0 - resolution: "tr46@npm:5.0.0" - dependencies: - punycode: "npm:^2.3.1" - checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee - languageName: node - linkType: hard - "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -21305,17 +21210,18 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.0.0, typescript-eslint@npm:^8.36.0": - version: 8.36.0 - resolution: "typescript-eslint@npm:8.36.0" +"typescript-eslint@npm:^8.0.0": + version: 8.38.0 + resolution: "typescript-eslint@npm:8.38.0" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.36.0" - "@typescript-eslint/parser": "npm:8.36.0" - "@typescript-eslint/utils": "npm:8.36.0" + "@typescript-eslint/eslint-plugin": "npm:8.38.0" + "@typescript-eslint/parser": "npm:8.38.0" + "@typescript-eslint/typescript-estree": "npm:8.38.0" + "@typescript-eslint/utils": "npm:8.38.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/ba6155b7a950e198400b656bca2ec9df5ed6e18283da276722aaeb4f7d2caf80b2a37d38003532ff1bfbd306201b3a69e56256cc76eb75db1128235a1be2c031 + checksum: 10c0/486b9862ee08f7827d808a2264ce03b58087b11c4c646c0da3533c192a67ae3fcb4e68d7a1e69d0f35a1edc274371a903a50ecfe74012d5eaa896cb9d5a81e0b languageName: node linkType: hard @@ -21565,7 +21471,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.1": +"update-browserslist-db@npm:^1.1.3": version: 1.1.3 resolution: "update-browserslist-db@npm:1.1.3" dependencies: @@ -21713,13 +21619,13 @@ __metadata: linkType: hard "v8-to-istanbul@npm:^9.0.1": - version: 9.1.0 - resolution: "v8-to-istanbul@npm:9.1.0" + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" dependencies: "@jridgewell/trace-mapping": "npm:^0.3.12" "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^1.6.0" - checksum: 10c0/657ef7c52a514c1a0769663f96dd6f2cd11d2d3f6c8272d1035f4a543dca0b52c84b005beb7f0ca215eb98425c8bc4aa92a62826b1fc76abc1f7228d33ccbc60 + convert-source-map: "npm:^2.0.0" + checksum: 10c0/968bcf1c7c88c04df1ffb463c179558a2ec17aa49e49376120504958239d9e9dad5281aa05f2a78542b8557f2be0b0b4c325710262f3b838b40d703d5ed30c23 languageName: node linkType: hard @@ -21761,15 +21667,6 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^5.0.0": - version: 5.0.0 - resolution: "w3c-xmlserializer@npm:5.0.0" - dependencies: - xml-name-validator: "npm:^5.0.0" - checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b - languageName: node - linkType: hard - "wait-port@npm:^1.0.4, wait-port@npm:^1.1.0": version: 1.1.0 resolution: "wait-port@npm:1.1.0" @@ -21944,13 +21841,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - "whatwg-encoding@npm:^3.1.1": version: 3.1.1 resolution: "whatwg-encoding@npm:3.1.1" @@ -21974,16 +21864,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^14.0.0": - version: 14.0.0 - resolution: "whatwg-url@npm:14.0.0" - dependencies: - tr46: "npm:^5.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 - languageName: node - linkType: hard - "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -22287,13 +22167,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^5.0.0": - version: 5.0.0 - resolution: "xml-name-validator@npm:5.0.0" - checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 - languageName: node - linkType: hard - "xml-parser-xo@npm:^3.2.0": version: 3.2.0 resolution: "xml-parser-xo@npm:3.2.0" @@ -22329,13 +22202,6 @@ __metadata: languageName: node linkType: hard -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 - languageName: node - linkType: hard - "xpath@npm:^0.0.27": version: 0.0.27 resolution: "xpath@npm:0.0.27"