From a2bfc621d5aba3eba88527a0f377b1eac31275a3 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 28 Jul 2025 00:20:49 -0700 Subject: [PATCH 01/33] create a more robust depcheck implementation --- lage.config.js | 2 +- package.json | 2 + packages/framework-base/package.json | 7 +- scripts/dynamic.extensions.mjs | 33 +- scripts/package.json | 28 +- scripts/src/preinstall/tool-versions.js | 58 +++ scripts/src/tasks/depcheck.js | 246 ++++++++++-- scripts/src/utils/getReporter.js | 14 + scripts/src/utils/projectRoot.js | 35 ++ yarn.lock | 483 +++++++----------------- 10 files changed, 479 insertions(+), 429 deletions(-) create mode 100644 scripts/src/preinstall/tool-versions.js create mode 100644 scripts/src/utils/getReporter.js diff --git a/lage.config.js b/lage.config.js index 6d01fb7fa9..f00be3349a 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/**/*'], diff --git a/package.json b/package.json index 38fd4377b1..25ee8c661b 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,10 @@ "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": "lage depcheck --args=\"--fix-errors --dry-run\"", "lint": "lage lint", "preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", "prettier": "lage prettier", diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index d58cd5af8c..33af844b67 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -34,10 +34,15 @@ "keywords": [], "author": "", "license": "MIT", + "dependencies": { + "react": "18.2.0" + }, "devDependencies": { "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@types/jest": "^29.0.0", - "@types/node": "^22.0.0" + "@types/node": "^22.0.0", + "@types/react": "^18.2.0", + "react-native": "^0.74.0" } } diff --git a/scripts/dynamic.extensions.mjs b/scripts/dynamic.extensions.mjs index 5c348e20bb..9fc9a84d2d 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.`); } } } diff --git a/scripts/package.json b/scripts/package.json index af674ee496..debdd16ec5 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -10,7 +10,7 @@ "scripts": { "build": "node ./src/cli.mjs build", "bundlesize": "bundlesize --debug", - "depcheck": "node ./src/cli.mjs check-publishing", + "depcheck": "node ./src/cli.mjs depcheck", "lint": "eslint", "prettier": "node ./src/cli.mjs prettier", "prettier-fix": "node ./src/cli.mjs prettier --fix true" @@ -22,47 +22,27 @@ }, "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" }, diff --git a/scripts/src/preinstall/tool-versions.js b/scripts/src/preinstall/tool-versions.js new file mode 100644 index 0000000000..f8a6125e07 --- /dev/null +++ b/scripts/src/preinstall/tool-versions.js @@ -0,0 +1,58 @@ +/** @type {Record} */ +export const devToolVersions = { + '@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', + '@babel/preset-env': '^7.8.0', + '@babel/preset-react': '^7.8.0', + '@babel/preset-typescript': '^7.8.0', + '@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/babel-preset': '^0.74.0', + '@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/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', + 'babel-jest': '^29.7.0', + clipanion: '^4.0.0-rc.4', + depcheck: '^1.0.0', + eslint: '^9.0.0', + 'eslint-plugin-import': '^2.27.5', + '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', + 'markdown-link-check': '^3.8.7', + 'metro-config': '^0.80.3', + 'metro-react-native-babel-transformer': '^0.76.5', + prettier: '^2.4.1', + 'react-test-renderer': '18.2.0', + rimraf: '^5.0.1', + typescript: '^4.9.4', +}; + +/** + * + * @param {string} packageName + * @returns {string | null} + */ +export function getToolVersion(packageName) { + return devToolVersions[packageName] || null; +} diff --git a/scripts/src/tasks/depcheck.js b/scripts/src/tasks/depcheck.js index 9df09ec342..94c5b7817e 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,56 @@ 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([ + // '@fluentui-react-native/scripts', + // '@fluentui-react-native/eslint-config-rules', + // 'tslib', + // '@react-native/metro-config', + ...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 +104,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 +126,147 @@ 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__/**']); } 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/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/yarn.lock b/yarn.lock index 52ec12f829..b726cb6577 100644 --- a/yarn.lock +++ b/yarn.lock @@ -435,7 +435,7 @@ __metadata: 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.8.0": version: 7.28.0 resolution: "@babel/core@npm:7.28.0" dependencies: @@ -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.0.0, @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: @@ -3562,6 +3562,9 @@ __metadata: "@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" + react-native: "npm:^0.74.0" languageName: unknown linkType: soft @@ -4205,47 +4208,27 @@ __metadata: 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: @@ -5516,7 +5499,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 @@ -6184,7 +6167,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:13.6.9, @react-native-community/cli-platform-android@npm:^13.6.4": +"@react-native-community/cli-platform-android@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-platform-android@npm:13.6.9" dependencies: @@ -6212,7 +6195,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-platform-ios@npm:13.6.9, @react-native-community/cli-platform-ios@npm:^13.6.4": +"@react-native-community/cli-platform-ios@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli-platform-ios@npm:13.6.9" dependencies: @@ -6266,7 +6249,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli@npm:13.6.9, @react-native-community/cli@npm:^13.6.4": +"@react-native-community/cli@npm:13.6.9": version: 13.6.9 resolution: "@react-native-community/cli@npm:13.6.9" dependencies: @@ -6899,6 +6882,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" @@ -7415,6 +7407,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 +7423,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" @@ -7532,13 +7517,20 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": version: 2.0.4 resolution: "@types/istanbul-lib-coverage@npm:2.0.4" checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 languageName: node linkType: hard +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + "@types/istanbul-lib-report@npm:*": version: 3.0.0 resolution: "@types/istanbul-lib-report@npm:3.0.0" @@ -7639,6 +7631,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,15 +7773,6 @@ __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" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/90cd65c002db5f6025813d9229db1b1597128ffdafd28e6c3edb7c26a6493826981d55cd0680ec661f969e67a51fb2de1e8b3a3c7cbb073590d0beee289794d7 - languageName: node - linkType: hard - "@types/react@npm:^18.2.0": version: 18.3.20 resolution: "@types/react@npm:18.3.20" @@ -7974,7 +7966,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.36.0, @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" dependencies: @@ -7995,7 +7987,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.36.0, @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" dependencies: @@ -8110,13 +8102,6 @@ __metadata: 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 - languageName: node - linkType: hard - "@uifabricshared/foundation-composable@npm:*, @uifabricshared/foundation-composable@workspace:*, @uifabricshared/foundation-composable@workspace:packages/deprecated/foundation-composable": version: 0.0.0-use.local resolution: "@uifabricshared/foundation-composable@workspace:packages/deprecated/foundation-composable" @@ -10641,7 +10626,14 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0, cjs-module-lexer@npm:^1.2.2": +"cjs-module-lexer@npm:^1.0.0": + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.2.2": version: 1.2.3 resolution: "cjs-module-lexer@npm:1.2.3" checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab @@ -10768,9 +10760,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 +11046,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" @@ -11308,15 +11293,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 +11314,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 +11419,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 +11429,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 +11659,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" @@ -13334,17 +13286,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" @@ -14082,15 +14023,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 +14284,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 @@ -14600,6 +14532,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd + languageName: node + linkType: hard + "is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": version: 1.0.2 resolution: "is-data-view@npm:1.0.2" @@ -14765,13 +14706,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" @@ -14988,7 +14922,14 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.0.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" checksum: 10c0/10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9 @@ -15009,26 +14950,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 +14985,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 +15157,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 +15205,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" @@ -15713,40 +15635,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 +16255,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 @@ -17534,13 +17422,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 +17950,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 +18242,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 +18389,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 +18411,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 @@ -19375,13 +19245,13 @@ __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": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, 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" dependencies: @@ -19394,6 +19264,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.20.0": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + 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/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203 + languageName: node + linkType: hard + "resolve@npm:^2.0.0-next.5": version: 2.0.0-next.5 resolution: "resolve@npm:2.0.0-next.5" @@ -19407,7 +19290,7 @@ __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": +"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.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" dependencies: @@ -19420,6 +19303,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.20.0#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.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939 + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": version: 2.0.0-next.5 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" @@ -19554,13 +19450,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 +19592,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 +20605,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 +20805,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 +20851,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" @@ -21713,13 +21550,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 +21598,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 +21772,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 +21795,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 +22098,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 +22133,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" From 0a19faa20b3ae42c7eb2c5c7f6f573ef949334bb Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 28 Jul 2025 00:31:05 -0700 Subject: [PATCH 02/33] fix missing eslint config dependencies --- packages/deprecated/foundation-tokens/package.json | 1 + packages/framework/composition/package.json | 1 + packages/framework/theme/package.json | 1 + packages/framework/use-slot/package.json | 1 + packages/framework/use-slots/package.json | 1 + packages/framework/use-styling/package.json | 1 + packages/framework/use-tokens/package.json | 1 + scripts/src/tasks/depcheck.js | 8 +------- yarn.lock | 7 +++++++ 9 files changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index 495784e5c4..07bc14919f 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -41,6 +41,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index 4705a637c7..c56545ac6b 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -41,6 +41,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/packages/framework/theme/package.json b/packages/framework/theme/package.json index bb0a858f46..adf2525775 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/package.json @@ -40,6 +40,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index 71a198a785..ab3fdd43aa 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -40,6 +40,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index 0e943829d4..413a27316e 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -40,6 +40,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index ef9968ec9a..109b3e0012 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -41,6 +41,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index 400a56c37f..49ae091707 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -40,6 +40,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@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", diff --git a/scripts/src/tasks/depcheck.js b/scripts/src/tasks/depcheck.js index 94c5b7817e..333fde0767 100644 --- a/scripts/src/tasks/depcheck.js +++ b/scripts/src/tasks/depcheck.js @@ -67,13 +67,7 @@ export class DepcheckCommand extends Command { reporter = getReporter(); projectRoot = getProjectRoot(); - ignored = new Set([ - // '@fluentui-react-native/scripts', - // '@fluentui-react-native/eslint-config-rules', - // 'tslib', - // '@react-native/metro-config', - ...injectedDevDeps(this.projectRoot), - ]); + ignored = new Set(injectedDevDeps(this.projectRoot)); /** @type {Issue[]} */ issues = []; diff --git a/yarn.lock b/yarn.lock index b726cb6577..c47c4a6a67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2756,6 +2756,7 @@ __metadata: resolution: "@fluentui-react-native/composition@workspace:packages/framework/composition" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-slots": "workspace:*" @@ -4675,6 +4676,7 @@ __metadata: resolution: "@fluentui-react-native/theme@workspace:packages/framework/theme" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -4817,6 +4819,7 @@ __metadata: resolution: "@fluentui-react-native/use-slot@workspace:packages/framework/use-slot" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -4835,6 +4838,7 @@ __metadata: resolution: "@fluentui-react-native/use-slots@workspace:packages/framework/use-slots" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-slot": "workspace:*" @@ -4853,6 +4857,7 @@ __metadata: resolution: "@fluentui-react-native/use-styling@workspace:packages/framework/use-styling" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/use-tokens": "workspace:*" @@ -4873,6 +4878,7 @@ __metadata: resolution: "@fluentui-react-native/use-tokens@workspace:packages/framework/use-tokens" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -8182,6 +8188,7 @@ __metadata: resolution: "@uifabricshared/foundation-tokens@workspace:packages/deprecated/foundation-tokens" dependencies: "@babel/core": "npm:^7.20.0" + "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" From cc464e2c2e4712d123f16a9d04d0eca49deab093 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 28 Jul 2025 00:48:17 -0700 Subject: [PATCH 03/33] apply depcheck fix to directories to fix error level issues --- apps/fluent-tester/package.json | 5 +- apps/win32/package.json | 4 +- package.json | 3 +- packages/components/Avatar/package.json | 4 +- packages/components/Badge/package.json | 4 +- packages/components/Button/package.json | 7 +- packages/components/Callout/package.json | 3 +- packages/components/Checkbox/package.json | 7 +- packages/components/Chip/package.json | 3 +- .../components/ContextualMenu/package.json | 7 +- packages/components/Divider/package.json | 4 +- .../components/FocusTrapZone/package.json | 4 +- packages/components/FocusZone/package.json | 4 +- packages/components/Icon/package.json | 4 +- packages/components/Input/package.json | 4 +- packages/components/Link/package.json | 7 +- packages/components/Menu/package.json | 7 +- packages/components/MenuButton/package.json | 4 +- packages/components/Notification/package.json | 4 +- packages/components/RadioGroup/package.json | 7 +- packages/components/Separator/package.json | 4 +- packages/components/Stack/package.json | 4 +- packages/components/Switch/package.json | 7 +- packages/components/TabList/package.json | 7 +- packages/components/Text/package.json | 7 +- .../deprecated/foundation-tokens/package.json | 1 + packages/experimental/Avatar/package.json | 4 +- packages/experimental/Checkbox/package.json | 2 +- packages/experimental/Drawer/package.json | 4 +- packages/experimental/Dropdown/package.json | 3 +- packages/experimental/MenuButton/package.json | 4 +- packages/experimental/Overflow/package.json | 7 +- packages/experimental/Popover/package.json | 3 +- packages/experimental/Shadow/package.json | 4 +- packages/experimental/Shimmer/package.json | 4 +- packages/experimental/Tooltip/package.json | 7 +- .../experimental/VibrancyView/package.json | 3 +- packages/framework/composition/package.json | 5 +- packages/framework/framework/package.json | 7 +- packages/framework/merge-props/package.json | 3 +- packages/framework/use-slot/package.json | 8 +- packages/framework/use-slots/package.json | 5 +- packages/framework/use-styling/package.json | 8 +- packages/framework/use-tokens/package.json | 8 +- packages/theming/win32-theme/package.json | 3 +- packages/utils/interactive-hooks/package.json | 7 +- packages/utils/tokens/package.json | 3 +- yarn.lock | 114 ++++++++++++++---- 48 files changed, 235 insertions(+), 107 deletions(-) diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 93d4a31819..8b8f220e3a 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -93,14 +93,14 @@ "@react-native-community/slider": "^4.2.0", "@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", @@ -115,6 +115,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", diff --git a/apps/win32/package.json b/apps/win32/package.json index b3cadf25a7..a29d138a7a 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/package.json b/package.json index 25ee8c661b..371f26d244 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "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": "lage depcheck --args=\"--fix-errors --dry-run\"", + "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", "preinstall": "node ./scripts/src/preinstall/use-yarn-please.js", "prettier": "lage prettier", diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index 420fc9030b..b8ce032b15 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -50,11 +50,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", diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index db0832cec8..32d57c8024 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -48,11 +48,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", diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index 33796db575..838e70cc31 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -46,8 +46,7 @@ "@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", @@ -58,11 +57,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", diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index 25cabddc16..02a7be86a0 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -50,7 +50,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", diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index 960dcce70b..0605c9cbce 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -42,8 +42,7 @@ "@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", @@ -54,11 +53,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", diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json index 144d19d289..83ec35d952 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -50,7 +50,8 @@ "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", diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index e8c76d7918..9261d61871 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -42,7 +42,8 @@ "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", - "@uifabricshared/foundation-settings": "workspace:*" + "@uifabricshared/foundation-settings": "workspace:*", + "metro-config": "^0.80.3" }, "devDependencies": { "@babel/core": "^7.20.0", @@ -53,12 +54,14 @@ "@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-svg-transformer": "^1.0.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", diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json index 55cfd41567..3baebb8050 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -45,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", diff --git a/packages/components/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index 6816165c19..a1bf4c53a9 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -43,10 +43,12 @@ "@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", diff --git a/packages/components/FocusZone/package.json b/packages/components/FocusZone/package.json index 59299faa99..184e65b833 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -43,10 +43,12 @@ "@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", diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json index ffc43f839f..0b99da3b52 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -43,11 +43,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", diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json index d3cfb4f1ca..a5784d10df 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -47,11 +47,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", diff --git a/packages/components/Link/package.json b/packages/components/Link/package.json index 656b5f6b20..ec45662cc4 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -38,8 +38,7 @@ "@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", @@ -49,10 +48,12 @@ "@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", diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json index af3f640f5e..360533400a 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -40,8 +40,7 @@ "@fluentui-react-native/theme-tokens": "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", @@ -53,11 +52,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", diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json index 79d194e7ec..cb7a912686 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -49,11 +49,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", diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json index 3fb5837583..a9a885eee2 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -53,11 +53,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", diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json index beb3553a4c..68fa6d1190 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -41,8 +41,7 @@ "@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", @@ -53,11 +52,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", diff --git a/packages/components/Separator/package.json b/packages/components/Separator/package.json index 21770b53b4..636d88c982 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -42,10 +42,12 @@ "@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", diff --git a/packages/components/Stack/package.json b/packages/components/Stack/package.json index 399710d662..64d8181850 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -46,10 +46,12 @@ "@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", diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index 5ad4145822..29abd24d75 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -36,8 +36,7 @@ "@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", @@ -48,10 +47,12 @@ "@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", diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index 538f03a63b..e40d723881 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -38,8 +38,7 @@ "@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", @@ -50,11 +49,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", diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index e02d8b525f..6329c8cd6c 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -35,8 +35,7 @@ "@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", @@ -46,10 +45,12 @@ "@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", diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index 07bc14919f..e2e709670f 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -37,6 +37,7 @@ "dependencies": { "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", + "@types/node": "^22.0.0", "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index af76af62c3..e45e03ceb9 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -42,10 +42,12 @@ "@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", diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json index 08490f6f8e..2ae29af206 100644 --- a/packages/experimental/Checkbox/package.json +++ b/packages/experimental/Checkbox/package.json @@ -33,7 +33,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/checkbox": "workspace:*", "@fluentui-react-native/framework": "workspace:*", - "tslib": "^2.3.1" + "@types/node": "^22.0.0" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index f9f16c9f28..1cb6e2e7a1 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -42,10 +42,12 @@ "@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", diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json index e45e2322af..d1ef23214f 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -36,7 +36,8 @@ "@fluentui-react-native/framework": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", - "@fluentui-react-native/theme-tokens": "workspace:*" + "@fluentui-react-native/theme-tokens": "workspace:*", + "@types/node": "^22.0.0" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index 12373ac279..6339f2a7a4 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -43,11 +43,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", diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index 145e16105c..296d5eabfd 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -30,8 +30,7 @@ "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", @@ -44,11 +43,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", diff --git a/packages/experimental/Popover/package.json b/packages/experimental/Popover/package.json index befff8c7f1..23ab6676d8 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -31,8 +31,7 @@ }, "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", diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index bf5f20e41e..d4d33e9091 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -42,10 +42,12 @@ "@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", diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index 2befbe207a..4df8f483aa 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -43,11 +43,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", diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index 9556260683..3b54d4e1ef 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -31,8 +31,7 @@ }, "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", @@ -44,11 +43,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", diff --git a/packages/experimental/VibrancyView/package.json b/packages/experimental/VibrancyView/package.json index e3e1856e2f..4007e5b9ed 100644 --- a/packages/experimental/VibrancyView/package.json +++ b/packages/experimental/VibrancyView/package.json @@ -31,8 +31,7 @@ "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", diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index c56545ac6b..d1711f67ad 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -45,8 +45,11 @@ "@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", diff --git a/packages/framework/framework/package.json b/packages/framework/framework/package.json index 6c6ba0ea3d..4a0f1fabbb 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -40,8 +40,7 @@ "@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", @@ -50,10 +49,12 @@ "@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", diff --git a/packages/framework/merge-props/package.json b/packages/framework/merge-props/package.json index 0eab56d00f..92e811d8ef 100644 --- a/packages/framework/merge-props/package.json +++ b/packages/framework/merge-props/package.json @@ -35,8 +35,7 @@ "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", diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index ab3fdd43aa..a312760c54 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -35,8 +35,7 @@ "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", @@ -44,8 +43,11 @@ "@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", diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index 413a27316e..9789be3aa2 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -44,8 +44,11 @@ "@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", diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index 109b3e0012..ccc53a2239 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -36,8 +36,7 @@ "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", @@ -46,8 +45,11 @@ "@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", diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index 49ae091707..b85ba54952 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -35,8 +35,7 @@ "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", @@ -45,8 +44,11 @@ "@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", diff --git a/packages/theming/win32-theme/package.json b/packages/theming/win32-theme/package.json index 7a8a6439cf..86a14b1a77 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -41,8 +41,7 @@ "@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", diff --git a/packages/utils/interactive-hooks/package.json b/packages/utils/interactive-hooks/package.json index 9260465f74..f95873bb35 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -32,8 +32,7 @@ "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", @@ -46,10 +45,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", diff --git a/packages/utils/tokens/package.json b/packages/utils/tokens/package.json index 2e6d229b95..c16b15110e 100644 --- a/packages/utils/tokens/package.json +++ b/packages/utils/tokens/package.json @@ -31,8 +31,7 @@ }, "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", diff --git a/yarn.lock b/yarn.lock index c47c4a6a67..57bb00aff9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2490,11 +2490,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 @@ -2534,11 +2536,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 @@ -2582,6 +2586,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 +2595,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 @@ -2628,6 +2633,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 @@ -2666,6 +2672,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 +2681,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 @@ -2717,6 +2724,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 @@ -2763,8 +2771,11 @@ __metadata: "@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 @@ -2790,15 +2801,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 @@ -2992,11 +3006,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 @@ -3028,10 +3044,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 @@ -3065,6 +3083,7 @@ __metadata: "@fluentui-react-native/theme-tokens": "workspace:*" "@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" react: "npm:18.2.0" react-native: "npm:^0.74.0" @@ -3218,10 +3237,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 @@ -3251,13 +3272,13 @@ __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" 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" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 react: 18.2.0 @@ -3321,11 +3342,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 @@ -3393,10 +3416,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 @@ -3427,12 +3452,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 @@ -3498,12 +3525,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" "@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 @@ -3533,12 +3562,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" "@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 @@ -3588,11 +3619,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 @@ -3624,11 +3656,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 @@ -3677,11 +3711,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 @@ -3715,12 +3751,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 @@ -3754,6 +3791,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:*" @@ -3761,7 +3799,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 @@ -3806,6 +3844,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:*" @@ -3814,6 +3853,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 @@ -3855,12 +3895,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 @@ -3891,7 +3932,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 @@ -3923,11 +3963,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 @@ -3960,12 +4002,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 @@ -4076,7 +4119,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 @@ -4148,6 +4190,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:*" @@ -4156,7 +4199,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 @@ -4255,10 +4298,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 @@ -4325,6 +4370,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:*" @@ -4333,6 +4379,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 @@ -4385,11 +4432,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 @@ -4427,12 +4475,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 @@ -4484,6 +4533,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" @@ -4491,7 +4541,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 @@ -4569,7 +4618,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" @@ -4584,7 +4635,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": @@ -4608,12 +4658,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 @@ -4759,7 +4810,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 @@ -4791,12 +4841,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 @@ -4824,9 +4875,11 @@ __metadata: "@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" - 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 @@ -4844,8 +4897,11 @@ __metadata: "@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 @@ -4864,9 +4920,11 @@ __metadata: "@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 @@ -4884,9 +4942,11 @@ __metadata: "@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 @@ -4908,7 +4968,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 @@ -4947,7 +5006,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 @@ -7779,6 +7837,15 @@ __metadata: languageName: node linkType: hard +"@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:^18" + checksum: 10c0/9fc8467ff1a3f14be6cc3498a75fc788d2c92c0fffa7bf21269ed5d9d82db9195bf2178ddc42ea16a0836995c1b77601c6be8abb27bd1864668c418c6d0e5a3b + languageName: node + linkType: hard + "@types/react@npm:^18.2.0": version: 18.3.20 resolution: "@types/react@npm:18.3.20" @@ -8195,6 +8262,7 @@ __metadata: "@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" From 271699dff33342bf18323ccb4518b46be8c82c7b Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 28 Jul 2025 00:52:43 -0700 Subject: [PATCH 04/33] fix missing deps for private packages --- packages/experimental/Stack/package.json | 2 ++ packages/utils/test-tools/package.json | 5 +++-- yarn.lock | 27 ++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/packages/experimental/Stack/package.json b/packages/experimental/Stack/package.json index 2c9f4565cc..648d53c8dc 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -43,10 +43,12 @@ "@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-test-renderer": "^18.2.0", "tslib": "^2.3.1" }, "peerDependencies": { diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index 5a2e25266d..bc4ce031ee 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -29,13 +29,14 @@ "directory": "packages/utils/test-tools" }, "dependencies": { - "@fluentui-react-native/theme-types": "workspace:*" + "@fluentui-react-native/theme-types": "workspace:*", + "react-test-renderer": "18.2.0" }, "devDependencies": { "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", - "@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" }, diff --git a/yarn.lock b/yarn.lock index 57bb00aff9..1f55f2ff27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3491,10 +3491,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" tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 @@ -4506,10 +4508,11 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" - "@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 @@ -18609,6 +18612,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^18.3.1": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + "react-native-macos@npm:0.74.30": version: 0.74.30 resolution: "react-native-macos@npm:0.74.30" @@ -18931,6 +18941,19 @@ __metadata: languageName: node linkType: hard +"react-test-renderer@npm:^18.2.0": + version: 18.3.1 + resolution: "react-test-renderer@npm:18.3.1" + dependencies: + react-is: "npm:^18.3.1" + react-shallow-renderer: "npm:^16.15.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/c633558ef9af33bc68f0c4dbb5163a004c4fb9eade7bd0a7cfc0355fb367f36bd9d96533c90b7e85a146be6c525113a15f58683d269e0177ad77e2b04d4fe51c + languageName: node + linkType: hard + "react@npm:18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -19676,7 +19699,7 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": +"scheduler@npm:^0.23.0, scheduler@npm:^0.23.2": version: 0.23.2 resolution: "scheduler@npm:0.23.2" dependencies: From a9fc3a2f0ee8206bf65817b0c51d1f9e59ea82fc Mon Sep 17 00:00:00 2001 From: UI-Fabric-RN-Bot Date: Fri, 25 Jul 2025 21:36:37 +0000 Subject: [PATCH 05/33] applying package updates --- apps/E2E/package.json | 2 +- apps/fluent-tester/package.json | 2 +- apps/win32/package.json | 2 +- ...-aae7d1a0-0fd4-4337-9e31-27282c9ecd1b.json | 7 - ...-f44046fd-d33d-4906-90fc-f740074f8e90.json | 7 - ...-2b134818-5dbb-4698-aabb-1639aa75fd6e.json | 7 - ...-f1e8ad51-ae79-443d-94f7-8c88daa53919.json | 7 - packages/components/Avatar/package.json | 2 +- packages/components/Badge/package.json | 2 +- packages/components/Button/package.json | 2 +- packages/components/Callout/package.json | 2 +- packages/components/Checkbox/package.json | 2 +- packages/components/Chip/package.json | 2 +- .../components/ContextualMenu/package.json | 2 +- packages/components/Divider/package.json | 2 +- .../components/FocusTrapZone/package.json | 2 +- packages/components/FocusZone/package.json | 2 +- packages/components/Icon/package.json | 2 +- packages/components/Input/package.json | 2 +- packages/components/Link/package.json | 2 +- packages/components/Menu/package.json | 2 +- packages/components/MenuButton/package.json | 2 +- packages/components/Notification/package.json | 2 +- packages/components/Persona/package.json | 2 +- packages/components/PersonaCoin/package.json | 2 +- packages/components/Pressable/package.json | 2 +- packages/components/RadioGroup/package.json | 2 +- packages/components/Separator/package.json | 2 +- packages/components/Stack/package.json | 2 +- packages/components/Switch/package.json | 2 +- packages/components/TabList/package.json | 2 +- packages/components/Text/package.json | 2 +- packages/dependency-profiles/package.json | 2 +- packages/dependency-profiles/src/index.js | 136 +++++++++--------- .../foundation-composable/package.json | 2 +- .../foundation-compose/package.json | 2 +- .../foundation-settings/package.json | 2 +- .../deprecated/foundation-tokens/package.json | 2 +- .../deprecated/theme-registry/package.json | 2 +- .../deprecated/themed-settings/CHANGELOG.json | 15 ++ .../deprecated/themed-settings/CHANGELOG.md | 10 +- .../deprecated/themed-settings/package.json | 2 +- packages/deprecated/theming-ramp/package.json | 2 +- .../theming-react-native/package.json | 2 +- .../ActivityIndicator/package.json | 2 +- .../AppearanceAdditions/package.json | 2 +- packages/experimental/Avatar/package.json | 2 +- packages/experimental/Checkbox/package.json | 2 +- packages/experimental/Drawer/package.json | 2 +- packages/experimental/Dropdown/package.json | 2 +- packages/experimental/Expander/package.json | 2 +- packages/experimental/MenuButton/package.json | 2 +- packages/experimental/Overflow/package.json | 2 +- packages/experimental/Popover/package.json | 2 +- packages/experimental/Shadow/package.json | 2 +- packages/experimental/Shimmer/package.json | 2 +- packages/experimental/Spinner/package.json | 2 +- packages/experimental/Tooltip/package.json | 2 +- packages/framework-base/CHANGELOG.json | 15 ++ packages/framework-base/CHANGELOG.md | 10 +- packages/framework-base/package.json | 2 +- packages/framework/composition/package.json | 2 +- packages/framework/framework/package.json | 2 +- .../framework/immutable-merge/CHANGELOG.json | 15 ++ .../framework/immutable-merge/CHANGELOG.md | 10 +- .../framework/immutable-merge/package.json | 2 +- packages/framework/memo-cache/CHANGELOG.json | 15 ++ packages/framework/memo-cache/CHANGELOG.md | 10 +- packages/framework/memo-cache/package.json | 2 +- packages/framework/merge-props/package.json | 2 +- packages/framework/theme/package.json | 2 +- .../framework/themed-stylesheet/package.json | 2 +- packages/framework/use-slot/package.json | 2 +- packages/framework/use-slots/package.json | 2 +- packages/framework/use-styling/package.json | 2 +- packages/framework/use-tokens/package.json | 2 +- packages/libraries/core/package.json | 2 +- packages/theming/android-theme/package.json | 2 +- packages/theming/apple-theme/package.json | 2 +- packages/theming/default-theme/package.json | 2 +- packages/theming/win32-theme/package.json | 2 +- packages/utils/interactive-hooks/package.json | 2 +- 82 files changed, 233 insertions(+), 169 deletions(-) delete mode 100644 change/@fluentui-react-native-framework-base-aae7d1a0-0fd4-4337-9e31-27282c9ecd1b.json delete mode 100644 change/@fluentui-react-native-immutable-merge-f44046fd-d33d-4906-90fc-f740074f8e90.json delete mode 100644 change/@fluentui-react-native-memo-cache-2b134818-5dbb-4698-aabb-1639aa75fd6e.json delete mode 100644 change/@uifabricshared-themed-settings-f1e8ad51-ae79-443d-94f7-8c88daa53919.json diff --git a/apps/E2E/package.json b/apps/E2E/package.json index 1a852dd2d1..04f195a756 100644 --- a/apps/E2E/package.json +++ b/apps/E2E/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/e2e-testing", - "version": "1.43.3", + "version": "1.43.4", "description": "Package containing E2E testing specs", "license": "MIT", "main": "lib-commonjs/index.js", diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 8b8f220e3a..15b1c528ad 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tester", - "version": "0.170.35", + "version": "0.170.36", "description": "A test app to test FluentUI React Native Components during development", "license": "MIT", "author": "Microsoft ", diff --git a/apps/win32/package.json b/apps/win32/package.json index a29d138a7a..e4d51b805b 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tester-win32", - "version": "0.38.54", + "version": "0.38.55", "main": "lib-commonjs/index.js", "module": "lib/index.js", "react-native": "src/index.ts", diff --git a/change/@fluentui-react-native-framework-base-aae7d1a0-0fd4-4337-9e31-27282c9ecd1b.json b/change/@fluentui-react-native-framework-base-aae7d1a0-0fd4-4337-9e31-27282c9ecd1b.json deleted file mode 100644 index 89cbeeb5a8..0000000000 --- a/change/@fluentui-react-native-framework-base-aae7d1a0-0fd4-4337-9e31-27282c9ecd1b.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "tune lage.config and fix @types/node version", - "packageName": "@fluentui-react-native/framework-base", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@fluentui-react-native-immutable-merge-f44046fd-d33d-4906-90fc-f740074f8e90.json b/change/@fluentui-react-native-immutable-merge-f44046fd-d33d-4906-90fc-f740074f8e90.json deleted file mode 100644 index 6b1ee09c47..0000000000 --- a/change/@fluentui-react-native-immutable-merge-f44046fd-d33d-4906-90fc-f740074f8e90.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "tune lage.config and fix @types/node version", - "packageName": "@fluentui-react-native/immutable-merge", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@fluentui-react-native-memo-cache-2b134818-5dbb-4698-aabb-1639aa75fd6e.json b/change/@fluentui-react-native-memo-cache-2b134818-5dbb-4698-aabb-1639aa75fd6e.json deleted file mode 100644 index d5785b2750..0000000000 --- a/change/@fluentui-react-native-memo-cache-2b134818-5dbb-4698-aabb-1639aa75fd6e.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "tune lage.config and fix @types/node version", - "packageName": "@fluentui-react-native/memo-cache", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@uifabricshared-themed-settings-f1e8ad51-ae79-443d-94f7-8c88daa53919.json b/change/@uifabricshared-themed-settings-f1e8ad51-ae79-443d-94f7-8c88daa53919.json deleted file mode 100644 index 306cf42677..0000000000 --- a/change/@uifabricshared-themed-settings-f1e8ad51-ae79-443d-94f7-8c88daa53919.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "tune lage.config and fix @types/node version", - "packageName": "@uifabricshared/themed-settings", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index b8ce032b15..cb62651179 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/avatar", - "version": "1.12.15", + "version": "1.12.16", "description": "A cross-platform Avatar component using the Fluent Design System", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index 32d57c8024..bf647a0c52 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/badge", - "version": "0.11.9", + "version": "0.11.10", "description": "A cross-platform Badge component using the Fluent Design System. A badge is an additional visual descriptor for UI elements.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index 838e70cc31..f0f805ff38 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/button", - "version": "0.39.11", + "version": "0.39.12", "description": "A cross-platform Button component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index 02a7be86a0..057e9e6aa1 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/callout", - "version": "0.27.9", + "version": "0.27.10", "description": "A cross-platform Callout component using the Fluent Design System", "license": "MIT", "author": "", diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index 0605c9cbce..053340695e 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/checkbox", - "version": "0.23.15", + "version": "0.23.16", "description": "A cross-platform Checkbox component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json index 83ec35d952..4bbf681a13 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/chip", - "version": "0.4.15", + "version": "0.4.16", "description": "A cross-platform Chip component using the Fluent Design System. A chip is a compact representations of entities (most commonly, people) that can be typed in, deleted or dragged easily.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index 9261d61871..4e4df139b9 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/contextual-menu", - "version": "0.24.23", + "version": "0.24.24", "description": "A cross-platform ContextualMenu component using the Fluent Design System", "license": "MIT", "author": "", diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json index 3baebb8050..644bd5085f 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/divider", - "version": "0.7.15", + "version": "0.7.16", "description": "A cross-platform Divider component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index a1bf4c53a9..5541b87779 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/focus-trap-zone", - "version": "0.12.12", + "version": "0.12.13", "description": "A cross-platform FocusTrapZone component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/FocusZone/package.json b/packages/components/FocusZone/package.json index 184e65b833..768b850b06 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/focus-zone", - "version": "0.21.7", + "version": "0.21.8", "description": "A cross-platform FocusZone component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json index 0b99da3b52..5a2e6c3358 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/icon", - "version": "0.21.15", + "version": "0.21.16", "description": "A cross-platform Icon component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json index a5784d10df..9d37254c9a 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/input", - "version": "0.7.15", + "version": "0.7.16", "description": "A cross-platform Text input component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Link/package.json b/packages/components/Link/package.json index ec45662cc4..1b2f18ebd7 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/link", - "version": "0.23.15", + "version": "0.23.16", "description": "A cross-platform Link component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json index 360533400a..9e59af098b 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/menu", - "version": "1.14.31", + "version": "1.14.32", "description": "A cross-platform Menu component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json index cb7a912686..515d98cbc4 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/menu-button", - "version": "0.13.26", + "version": "0.13.27", "description": "A cross-platform MenuButton component using the Fluent Design System", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json index a9a885eee2..ce143e1225 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/notification", - "version": "0.25.18", + "version": "0.25.19", "description": "add component-description", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Persona/package.json b/packages/components/Persona/package.json index 8a1374b253..c2e214d8d2 100644 --- a/packages/components/Persona/package.json +++ b/packages/components/Persona/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/persona", - "version": "0.16.9", + "version": "0.16.10", "description": "A cross-platform Persona component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/PersonaCoin/package.json b/packages/components/PersonaCoin/package.json index ebb7e8dcd7..1c32d99e15 100644 --- a/packages/components/PersonaCoin/package.json +++ b/packages/components/PersonaCoin/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/persona-coin", - "version": "0.15.9", + "version": "0.15.10", "description": "A cross-platform PersonaCoin component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Pressable/package.json b/packages/components/Pressable/package.json index 05b8412cd1..d545f1987a 100644 --- a/packages/components/Pressable/package.json +++ b/packages/components/Pressable/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/pressable", - "version": "0.12.11", + "version": "0.12.12", "description": "A cross-platform Pressable component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json index 68fa6d1190..814bd495a9 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/radio-group", - "version": "0.21.23", + "version": "0.21.24", "description": "A cross-platform Radio Group component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Separator/package.json b/packages/components/Separator/package.json index 636d88c982..8a3ace3754 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/separator", - "version": "0.18.9", + "version": "0.18.10", "description": "A cross-platform Separator component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Stack/package.json b/packages/components/Stack/package.json index 64d8181850..b435fcea7a 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/stack", - "version": "0.10.14", + "version": "0.10.15", "description": "A cross-platform opinionated Fluent Text component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index 29abd24d75..9041a5f486 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/switch", - "version": "0.13.14", + "version": "0.13.15", "description": "A cross-platform Switch component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index e40d723881..abfb2c9b3b 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tablist", - "version": "0.7.11", + "version": "0.7.12", "description": "A cross-platform TabList component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index 6329c8cd6c..6b91465eed 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/text", - "version": "0.24.13", + "version": "0.24.14", "description": "A cross-platform Text component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/dependency-profiles/package.json b/packages/dependency-profiles/package.json index 82ab236bc1..7f27838b25 100644 --- a/packages/dependency-profiles/package.json +++ b/packages/dependency-profiles/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/dependency-profiles", - "version": "0.8.54", + "version": "0.8.55", "description": "@rnx-kit/align-deps profiles covering packages published from FluentUI-React-Native", "license": "MIT", "files": [ diff --git a/packages/dependency-profiles/src/index.js b/packages/dependency-profiles/src/index.js index 826bd6c633..36cd667f21 100644 --- a/packages/dependency-profiles/src/index.js +++ b/packages/dependency-profiles/src/index.js @@ -4,179 +4,179 @@ module.exports = { "0.74": { "@fluentui-react-native/e2e-testing": { "name": "@fluentui-react-native/e2e-testing", - "version": "1.43.3" + "version": "1.43.4" }, "@fluentui-react-native/tester": { "name": "@fluentui-react-native/tester", - "version": "0.170.35" + "version": "0.170.36" }, "@fluentui-react-native/tester-win32": { "name": "@fluentui-react-native/tester-win32", - "version": "0.38.54" + "version": "0.38.55" }, "@fluentui-react-native/avatar": { "name": "@fluentui-react-native/avatar", - "version": "1.12.15" + "version": "1.12.16" }, "@fluentui-react-native/badge": { "name": "@fluentui-react-native/badge", - "version": "0.11.9" + "version": "0.11.10" }, "@fluentui-react-native/button": { "name": "@fluentui-react-native/button", - "version": "0.39.11" + "version": "0.39.12" }, "@fluentui-react-native/callout": { "name": "@fluentui-react-native/callout", - "version": "0.27.9" + "version": "0.27.10" }, "@fluentui-react-native/checkbox": { "name": "@fluentui-react-native/checkbox", - "version": "0.23.15" + "version": "0.23.16" }, "@fluentui-react-native/chip": { "name": "@fluentui-react-native/chip", - "version": "0.4.15" + "version": "0.4.16" }, "@fluentui-react-native/contextual-menu": { "name": "@fluentui-react-native/contextual-menu", - "version": "0.24.23" + "version": "0.24.24" }, "@fluentui-react-native/divider": { "name": "@fluentui-react-native/divider", - "version": "0.7.15" + "version": "0.7.16" }, "@fluentui-react-native/focus-trap-zone": { "name": "@fluentui-react-native/focus-trap-zone", - "version": "0.12.12" + "version": "0.12.13" }, "@fluentui-react-native/focus-zone": { "name": "@fluentui-react-native/focus-zone", - "version": "0.21.7" + "version": "0.21.8" }, "@fluentui-react-native/icon": { "name": "@fluentui-react-native/icon", - "version": "0.21.15" + "version": "0.21.16" }, "@fluentui-react-native/input": { "name": "@fluentui-react-native/input", - "version": "0.7.15" + "version": "0.7.16" }, "@fluentui-react-native/link": { "name": "@fluentui-react-native/link", - "version": "0.23.15" + "version": "0.23.16" }, "@fluentui-react-native/menu": { "name": "@fluentui-react-native/menu", - "version": "1.14.31" + "version": "1.14.32" }, "@fluentui-react-native/menu-button": { "name": "@fluentui-react-native/menu-button", - "version": "0.13.26" + "version": "0.13.27" }, "@fluentui-react-native/notification": { "name": "@fluentui-react-native/notification", - "version": "0.25.18" + "version": "0.25.19" }, "@fluentui-react-native/persona": { "name": "@fluentui-react-native/persona", - "version": "0.16.9" + "version": "0.16.10" }, "@fluentui-react-native/persona-coin": { "name": "@fluentui-react-native/persona-coin", - "version": "0.15.9" + "version": "0.15.10" }, "@fluentui-react-native/pressable": { "name": "@fluentui-react-native/pressable", - "version": "0.12.11" + "version": "0.12.12" }, "@fluentui-react-native/radio-group": { "name": "@fluentui-react-native/radio-group", - "version": "0.21.23" + "version": "0.21.24" }, "@fluentui-react-native/separator": { "name": "@fluentui-react-native/separator", - "version": "0.18.9" + "version": "0.18.10" }, "@fluentui-react-native/stack": { "name": "@fluentui-react-native/stack", - "version": "0.10.14" + "version": "0.10.15" }, "@fluentui-react-native/switch": { "name": "@fluentui-react-native/switch", - "version": "0.13.14" + "version": "0.13.15" }, "@fluentui-react-native/tablist": { "name": "@fluentui-react-native/tablist", - "version": "0.7.11" + "version": "0.7.12" }, "@fluentui-react-native/text": { "name": "@fluentui-react-native/text", - "version": "0.24.13" + "version": "0.24.14" }, "@uifabricshared/foundation-composable": { "name": "@uifabricshared/foundation-composable", - "version": "0.13.8" + "version": "0.13.9" }, "@uifabricshared/foundation-compose": { "name": "@uifabricshared/foundation-compose", - "version": "1.15.9" + "version": "1.15.10" }, "@uifabricshared/foundation-settings": { "name": "@uifabricshared/foundation-settings", - "version": "0.15.8" + "version": "0.15.9" }, "@uifabricshared/foundation-tokens": { "name": "@uifabricshared/foundation-tokens", - "version": "0.15.9" + "version": "0.15.10" }, "@uifabricshared/theme-registry": { "name": "@uifabricshared/theme-registry", - "version": "0.12.7" + "version": "0.12.8" }, "@uifabricshared/themed-settings": { "name": "@uifabricshared/themed-settings", - "version": "0.12.8" + "version": "0.12.9" }, "@uifabricshared/theming-ramp": { "name": "@uifabricshared/theming-ramp", - "version": "0.20.9" + "version": "0.20.10" }, "@uifabricshared/theming-react-native": { "name": "@uifabricshared/theming-react-native", - "version": "0.20.12" + "version": "0.20.13" }, "@fluentui-react-native/experimental-activity-indicator": { "name": "@fluentui-react-native/experimental-activity-indicator", - "version": "0.10.10" + "version": "0.10.11" }, "@fluentui-react-native/experimental-appearance-additions": { "name": "@fluentui-react-native/experimental-appearance-additions", - "version": "0.7.9" + "version": "0.7.10" }, "@fluentui-react-native/experimental-avatar": { "name": "@fluentui-react-native/experimental-avatar", - "version": "0.21.11" + "version": "0.21.12" }, "@fluentui-react-native/experimental-checkbox": { "name": "@fluentui-react-native/experimental-checkbox", - "version": "0.17.16" + "version": "0.17.17" }, "@fluentui-react-native/drawer": { "name": "@fluentui-react-native/drawer", - "version": "0.4.11" + "version": "0.4.12" }, "@fluentui-react-native/dropdown": { "name": "@fluentui-react-native/dropdown", - "version": "0.10.20" + "version": "0.10.21" }, "@fluentui-react-native/experimental-expander": { "name": "@fluentui-react-native/experimental-expander", - "version": "0.8.10" + "version": "0.8.11" }, "@fluentui-react-native/experimental-menu-button": { "name": "@fluentui-react-native/experimental-menu-button", - "version": "0.10.26" + "version": "0.10.27" }, "@fluentui-react-native/experimental-native-date-picker": { "name": "@fluentui-react-native/experimental-native-date-picker", @@ -188,27 +188,27 @@ module.exports = { }, "@fluentui-react-native/overflow": { "name": "@fluentui-react-native/overflow", - "version": "0.3.31" + "version": "0.3.32" }, "@fluentui-react-native/popover": { "name": "@fluentui-react-native/popover", - "version": "0.4.9" + "version": "0.4.10" }, "@fluentui-react-native/experimental-shadow": { "name": "@fluentui-react-native/experimental-shadow", - "version": "0.6.11" + "version": "0.6.12" }, "@fluentui-react-native/experimental-shimmer": { "name": "@fluentui-react-native/experimental-shimmer", - "version": "0.13.12" + "version": "0.13.13" }, "@fluentui-react-native/spinner": { "name": "@fluentui-react-native/spinner", - "version": "0.9.16" + "version": "0.9.17" }, "@fluentui-react-native/tooltip": { "name": "@fluentui-react-native/tooltip", - "version": "0.4.18" + "version": "0.4.19" }, "@fluentui-react-native/vibrancy-view": { "name": "@fluentui-react-native/vibrancy-view", @@ -216,11 +216,11 @@ module.exports = { }, "@fluentui-react-native/framework-base": { "name": "@fluentui-react-native/framework-base", - "version": "0.1.3" + "version": "0.1.4" }, "@fluentui-react-native/composition": { "name": "@fluentui-react-native/composition", - "version": "0.11.9" + "version": "0.11.10" }, "@fluentui-react-native/eslint-config-rules": { "name": "@fluentui-react-native/eslint-config-rules", @@ -228,59 +228,59 @@ module.exports = { }, "@fluentui-react-native/framework": { "name": "@fluentui-react-native/framework", - "version": "0.14.9" + "version": "0.14.10" }, "@fluentui-react-native/immutable-merge": { "name": "@fluentui-react-native/immutable-merge", - "version": "1.2.8" + "version": "1.2.9" }, "@fluentui-react-native/memo-cache": { "name": "@fluentui-react-native/memo-cache", - "version": "1.3.9" + "version": "1.3.10" }, "@fluentui-react-native/merge-props": { "name": "@fluentui-react-native/merge-props", - "version": "0.9.8" + "version": "0.9.9" }, "@fluentui-react-native/theme": { "name": "@fluentui-react-native/theme", - "version": "0.11.8" + "version": "0.11.9" }, "@fluentui-react-native/themed-stylesheet": { "name": "@fluentui-react-native/themed-stylesheet", - "version": "1.7.8" + "version": "1.7.9" }, "@fluentui-react-native/use-slot": { "name": "@fluentui-react-native/use-slot", - "version": "0.6.9" + "version": "0.6.10" }, "@fluentui-react-native/use-slots": { "name": "@fluentui-react-native/use-slots", - "version": "0.10.9" + "version": "0.10.10" }, "@fluentui-react-native/use-styling": { "name": "@fluentui-react-native/use-styling", - "version": "0.13.9" + "version": "0.13.10" }, "@fluentui-react-native/use-tokens": { "name": "@fluentui-react-native/use-tokens", - "version": "0.6.9" + "version": "0.6.10" }, "@fluentui/react-native": { "name": "@fluentui/react-native", - "version": "0.42.20" + "version": "0.42.21" }, "@fluentui-react-native/android-theme": { "name": "@fluentui-react-native/android-theme", - "version": "0.25.9" + "version": "0.25.10" }, "@fluentui-react-native/apple-theme": { "name": "@fluentui-react-native/apple-theme", - "version": "0.28.9" + "version": "0.28.10" }, "@fluentui-react-native/default-theme": { "name": "@fluentui-react-native/default-theme", - "version": "0.26.9" + "version": "0.26.10" }, "@fluentui-react-native/theme-tokens": { "name": "@fluentui-react-native/theme-tokens", @@ -296,7 +296,7 @@ module.exports = { }, "@fluentui-react-native/win32-theme": { "name": "@fluentui-react-native/win32-theme", - "version": "0.34.12" + "version": "0.34.13" }, "@fluentui-react-native/adapters": { "name": "@fluentui-react-native/adapters", @@ -304,7 +304,7 @@ module.exports = { }, "@fluentui-react-native/interactive-hooks": { "name": "@fluentui-react-native/interactive-hooks", - "version": "0.27.11" + "version": "0.27.12" }, "@fluentui-react-native/styling-utils": { "name": "@fluentui-react-native/styling-utils", diff --git a/packages/deprecated/foundation-composable/package.json b/packages/deprecated/foundation-composable/package.json index 6028130853..19ef3717e6 100644 --- a/packages/deprecated/foundation-composable/package.json +++ b/packages/deprecated/foundation-composable/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-composable", - "version": "0.13.8", + "version": "0.13.9", "description": "Composable component building blocks", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-compose/package.json b/packages/deprecated/foundation-compose/package.json index d448fa813a..870df5ef7a 100644 --- a/packages/deprecated/foundation-compose/package.json +++ b/packages/deprecated/foundation-compose/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-compose", - "version": "1.15.9", + "version": "1.15.10", "description": "Compose infrastructure", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-settings/package.json b/packages/deprecated/foundation-settings/package.json index f11f837e16..87ea739948 100644 --- a/packages/deprecated/foundation-settings/package.json +++ b/packages/deprecated/foundation-settings/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-settings", - "version": "0.15.8", + "version": "0.15.9", "description": "Settings and style definitions and helpers", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index e2e709670f..2511163280 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-tokens", - "version": "0.15.9", + "version": "0.15.10", "description": "Core tokens package", "repository": { "type": "git", diff --git a/packages/deprecated/theme-registry/package.json b/packages/deprecated/theme-registry/package.json index e05cd0ab32..7a2972cdb0 100644 --- a/packages/deprecated/theme-registry/package.json +++ b/packages/deprecated/theme-registry/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theme-registry", - "version": "0.12.7", + "version": "0.12.8", "description": "Implementation of the theme graph", "repository": { "type": "git", diff --git a/packages/deprecated/themed-settings/CHANGELOG.json b/packages/deprecated/themed-settings/CHANGELOG.json index 3dd1cfd973..03333fcc4d 100644 --- a/packages/deprecated/themed-settings/CHANGELOG.json +++ b/packages/deprecated/themed-settings/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@uifabricshared/themed-settings", "entries": [ + { + "date": "Fri, 25 Jul 2025 21:36:34 GMT", + "version": "0.12.9", + "tag": "@uifabricshared/themed-settings_v0.12.9", + "comments": { + "patch": [ + { + "author": "jasonmo@microsoft.com", + "package": "@uifabricshared/themed-settings", + "commit": "d541dadbec1c9a1750ca45509aa41df3f8a04349", + "comment": "tune lage.config and fix @types/node version" + } + ] + } + }, { "date": "Wed, 23 Jul 2025 00:22:14 GMT", "version": "0.12.8", diff --git a/packages/deprecated/themed-settings/CHANGELOG.md b/packages/deprecated/themed-settings/CHANGELOG.md index b4d67697b0..cc0bcc467d 100644 --- a/packages/deprecated/themed-settings/CHANGELOG.md +++ b/packages/deprecated/themed-settings/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @uifabricshared/themed-settings - + +## 0.12.9 + +Fri, 25 Jul 2025 21:36:34 GMT + +### Patches + +- tune lage.config and fix @types/node version (jasonmo@microsoft.com) + ## 0.12.8 Wed, 23 Jul 2025 00:22:14 GMT diff --git a/packages/deprecated/themed-settings/package.json b/packages/deprecated/themed-settings/package.json index 4c9a71cd03..f400936ce6 100644 --- a/packages/deprecated/themed-settings/package.json +++ b/packages/deprecated/themed-settings/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/themed-settings", - "version": "0.12.8", + "version": "0.12.9", "description": "Package which drives custom cacheable settings for a component", "repository": { "type": "git", diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index a5c7404870..7e706b2b1d 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theming-ramp", - "version": "0.20.9", + "version": "0.20.10", "description": "Theming Library", "repository": { "type": "git", diff --git a/packages/deprecated/theming-react-native/package.json b/packages/deprecated/theming-react-native/package.json index 4f21b3d861..62b1162b40 100644 --- a/packages/deprecated/theming-react-native/package.json +++ b/packages/deprecated/theming-react-native/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theming-react-native", - "version": "0.20.12", + "version": "0.20.13", "description": "A library of functions which produce React Native styles from a Theme", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/ActivityIndicator/package.json b/packages/experimental/ActivityIndicator/package.json index 4f841da692..3b1a6f8d91 100644 --- a/packages/experimental/ActivityIndicator/package.json +++ b/packages/experimental/ActivityIndicator/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-activity-indicator", - "version": "0.10.10", + "version": "0.10.11", "description": "A cross-platform Fluent Activity Indicator component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/AppearanceAdditions/package.json b/packages/experimental/AppearanceAdditions/package.json index 9b7cff4a65..5506d21f08 100644 --- a/packages/experimental/AppearanceAdditions/package.json +++ b/packages/experimental/AppearanceAdditions/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-appearance-additions", - "version": "0.7.9", + "version": "0.7.10", "description": "A module to expose callbacks for additional traitCollection changes.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index e45e03ceb9..1d108d79b7 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-avatar", - "version": "0.21.11", + "version": "0.21.12", "description": "A cross-platform Avatar component using the Fluent Design System. Currently only implemented on iOS", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json index 2ae29af206..170191d2c5 100644 --- a/packages/experimental/Checkbox/package.json +++ b/packages/experimental/Checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-checkbox", - "version": "0.17.16", + "version": "0.17.17", "description": "A cross-platform Checkbox component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index 1cb6e2e7a1..1737e1ac27 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/drawer", - "version": "0.4.11", + "version": "0.4.12", "description": "A cross-platform Drawer component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json index d1ef23214f..a2a16bb22d 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/dropdown", - "version": "0.10.20", + "version": "0.10.21", "description": "A cross-platform Dropdown component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Expander/package.json b/packages/experimental/Expander/package.json index 7192cc5796..9306f1c26e 100644 --- a/packages/experimental/Expander/package.json +++ b/packages/experimental/Expander/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-expander", - "version": "0.8.10", + "version": "0.8.11", "description": "A cross-platform Native Expander component using the Fluent Design System. Currently only implemented on windows", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index 6339f2a7a4..64f1014c9e 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-menu-button", - "version": "0.10.26", + "version": "0.10.27", "description": "A cross-platform MenuButton component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index 296d5eabfd..8db48a015a 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/overflow", - "version": "0.3.31", + "version": "0.3.32", "description": "A cross-platform Overflow component for React Native.", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Popover/package.json b/packages/experimental/Popover/package.json index 23ab6676d8..0cc614c57e 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/popover", - "version": "0.4.9", + "version": "0.4.10", "description": "A cross-platform Popover component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index d4d33e9091..325daf8689 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-shadow", - "version": "0.6.11", + "version": "0.6.12", "description": "A cross-platform Shadow component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index 4df8f483aa..dc67d4e6b5 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-shimmer", - "version": "0.13.12", + "version": "0.13.13", "description": "A cross-platform Fluent Shimmer component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Spinner/package.json b/packages/experimental/Spinner/package.json index 400752a813..b248f50b5c 100644 --- a/packages/experimental/Spinner/package.json +++ b/packages/experimental/Spinner/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/spinner", - "version": "0.9.16", + "version": "0.9.17", "description": "A cross-platform Fluent spinner component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index 3b54d4e1ef..e5d11019ad 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tooltip", - "version": "0.4.18", + "version": "0.4.19", "description": "A cross-platform Tooltip component for React Native.", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/framework-base/CHANGELOG.json b/packages/framework-base/CHANGELOG.json index 9d3631480e..1280e08b84 100644 --- a/packages/framework-base/CHANGELOG.json +++ b/packages/framework-base/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/framework-base", "entries": [ + { + "date": "Fri, 25 Jul 2025 21:36:33 GMT", + "version": "0.1.4", + "tag": "@fluentui-react-native/framework-base_v0.1.4", + "comments": { + "patch": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/framework-base", + "commit": "d541dadbec1c9a1750ca45509aa41df3f8a04349", + "comment": "tune lage.config and fix @types/node version" + } + ] + } + }, { "date": "Wed, 23 Jul 2025 00:22:13 GMT", "version": "0.1.3", diff --git a/packages/framework-base/CHANGELOG.md b/packages/framework-base/CHANGELOG.md index a12826fe08..f4a9206cc0 100644 --- a/packages/framework-base/CHANGELOG.md +++ b/packages/framework-base/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @fluentui-react-native/framework-base - + +## 0.1.4 + +Fri, 25 Jul 2025 21:36:33 GMT + +### Patches + +- tune lage.config and fix @types/node version (jasonmo@microsoft.com) + ## 0.1.3 Wed, 23 Jul 2025 00:22:13 GMT diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index 33af844b67..ba83f35644 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/framework-base", - "version": "0.1.3", + "version": "0.1.4", "description": "Base types and utilities fluentui-react-native frameworks", "repository": { "type": "git", diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index d1711f67ad..fa56cdcd5b 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/composition", - "version": "0.11.9", + "version": "0.11.10", "description": "Composition factories for building HOCs", "repository": { "type": "git", diff --git a/packages/framework/framework/package.json b/packages/framework/framework/package.json index 4a0f1fabbb..588e5364e9 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/framework", - "version": "0.14.9", + "version": "0.14.10", "description": "Component framework used by fluentui react native controls", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/framework/immutable-merge/CHANGELOG.json b/packages/framework/immutable-merge/CHANGELOG.json index 5d50ff0f10..4fc76ede9e 100644 --- a/packages/framework/immutable-merge/CHANGELOG.json +++ b/packages/framework/immutable-merge/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/immutable-merge", "entries": [ + { + "date": "Fri, 25 Jul 2025 21:36:33 GMT", + "version": "1.2.9", + "tag": "@fluentui-react-native/immutable-merge_v1.2.9", + "comments": { + "patch": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/immutable-merge", + "commit": "d541dadbec1c9a1750ca45509aa41df3f8a04349", + "comment": "tune lage.config and fix @types/node version" + } + ] + } + }, { "date": "Wed, 16 Jul 2025 20:06:45 GMT", "version": "1.2.6", diff --git a/packages/framework/immutable-merge/CHANGELOG.md b/packages/framework/immutable-merge/CHANGELOG.md index 2886ad030e..f54b4549ad 100644 --- a/packages/framework/immutable-merge/CHANGELOG.md +++ b/packages/framework/immutable-merge/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @fluentui-react-native/immutable-merge - + +## 1.2.9 + +Fri, 25 Jul 2025 21:36:33 GMT + +### Patches + +- tune lage.config and fix @types/node version (jasonmo@microsoft.com) + ## 1.2.6 Wed, 16 Jul 2025 20:06:45 GMT diff --git a/packages/framework/immutable-merge/package.json b/packages/framework/immutable-merge/package.json index 11a4359566..0abaed7374 100644 --- a/packages/framework/immutable-merge/package.json +++ b/packages/framework/immutable-merge/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/immutable-merge", - "version": "1.2.8", + "version": "1.2.9", "description": "Immutable merge routines for deep customizable merging", "repository": { "type": "git", diff --git a/packages/framework/memo-cache/CHANGELOG.json b/packages/framework/memo-cache/CHANGELOG.json index 02c7c4fb6c..df2b030815 100644 --- a/packages/framework/memo-cache/CHANGELOG.json +++ b/packages/framework/memo-cache/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/memo-cache", "entries": [ + { + "date": "Fri, 25 Jul 2025 21:36:33 GMT", + "version": "1.3.10", + "tag": "@fluentui-react-native/memo-cache_v1.3.10", + "comments": { + "patch": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/memo-cache", + "commit": "d541dadbec1c9a1750ca45509aa41df3f8a04349", + "comment": "tune lage.config and fix @types/node version" + } + ] + } + }, { "date": "Wed, 23 Jul 2025 00:22:13 GMT", "version": "1.3.9", diff --git a/packages/framework/memo-cache/CHANGELOG.md b/packages/framework/memo-cache/CHANGELOG.md index a9540bf496..945875af23 100644 --- a/packages/framework/memo-cache/CHANGELOG.md +++ b/packages/framework/memo-cache/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @fluentui-react-native/memo-cache - + +## 1.3.10 + +Fri, 25 Jul 2025 21:36:33 GMT + +### Patches + +- tune lage.config and fix @types/node version (jasonmo@microsoft.com) + ## 1.3.9 Wed, 23 Jul 2025 00:22:13 GMT diff --git a/packages/framework/memo-cache/package.json b/packages/framework/memo-cache/package.json index 8a1c4c3d81..ccdbe042cb 100644 --- a/packages/framework/memo-cache/package.json +++ b/packages/framework/memo-cache/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/memo-cache", - "version": "1.3.9", + "version": "1.3.10", "description": "Layered memoization style cache helper", "repository": { "type": "git", diff --git a/packages/framework/merge-props/package.json b/packages/framework/merge-props/package.json index 92e811d8ef..e00b0b7c16 100644 --- a/packages/framework/merge-props/package.json +++ b/packages/framework/merge-props/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/merge-props", - "version": "0.9.8", + "version": "0.9.9", "description": "Utility for merging props with styles and caching style combinations", "repository": { "type": "git", diff --git a/packages/framework/theme/package.json b/packages/framework/theme/package.json index adf2525775..7da5ce2154 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/theme", - "version": "0.11.8", + "version": "0.11.9", "description": "Experimental version of fluentui-react-native theme framework", "repository": { "type": "git", diff --git a/packages/framework/themed-stylesheet/package.json b/packages/framework/themed-stylesheet/package.json index e2d7b1317b..698a369553 100644 --- a/packages/framework/themed-stylesheet/package.json +++ b/packages/framework/themed-stylesheet/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/themed-stylesheet", - "version": "1.7.8", + "version": "1.7.9", "description": "Helper for using react-native StyleSheets with themes", "repository": { "type": "git", diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index a312760c54..131700be2a 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-slot", - "version": "0.6.9", + "version": "0.6.10", "description": "Hook function to use a component as a pluggable slot", "repository": { "type": "git", diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index 9789be3aa2..5f9a3f3110 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-slots", - "version": "0.10.9", + "version": "0.10.10", "description": "Hook function to return styled slots", "repository": { "type": "git", diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index ccc53a2239..4b63efbd8d 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-styling", - "version": "0.13.9", + "version": "0.13.10", "description": "Opinionated use styling hook implementation", "repository": { "type": "git", diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index b85ba54952..0d2f419c11 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-tokens", - "version": "0.6.9", + "version": "0.6.10", "description": "Utilities and hook function for getting themed tokens for a component", "repository": { "type": "git", diff --git a/packages/libraries/core/package.json b/packages/libraries/core/package.json index 8deda2ce78..e20f753000 100644 --- a/packages/libraries/core/package.json +++ b/packages/libraries/core/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui/react-native", - "version": "0.42.20", + "version": "0.42.21", "description": "A react-native component library that implements the Fluent Design System.", "license": "MIT", "repository": { diff --git a/packages/theming/android-theme/package.json b/packages/theming/android-theme/package.json index 8e2be7662b..d50364be5e 100644 --- a/packages/theming/android-theme/package.json +++ b/packages/theming/android-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/android-theme", - "version": "0.25.9", + "version": "0.25.10", "description": "A FluentUI React Native theme that pulls constants from FluentUI Android", "repository": { "type": "git", diff --git a/packages/theming/apple-theme/package.json b/packages/theming/apple-theme/package.json index 07af01b8aa..232ae646ab 100644 --- a/packages/theming/apple-theme/package.json +++ b/packages/theming/apple-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/apple-theme", - "version": "0.28.9", + "version": "0.28.10", "description": "A FluentUI React Native theme that pulls constants from FluentUI Apple", "license": "MIT", "author": "Microsoft ", diff --git a/packages/theming/default-theme/package.json b/packages/theming/default-theme/package.json index 87ba67c434..16abcb96c0 100644 --- a/packages/theming/default-theme/package.json +++ b/packages/theming/default-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/default-theme", - "version": "0.26.9", + "version": "0.26.10", "description": "Typing only package for fluentui-react-native theme types", "repository": { "type": "git", diff --git a/packages/theming/win32-theme/package.json b/packages/theming/win32-theme/package.json index 86a14b1a77..917868284a 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/win32-theme", - "version": "0.34.12", + "version": "0.34.13", "description": "Win32 office theme that works with the theming native module", "repository": { "type": "git", diff --git a/packages/utils/interactive-hooks/package.json b/packages/utils/interactive-hooks/package.json index f95873bb35..2bf0801fc2 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/interactive-hooks", - "version": "0.27.11", + "version": "0.27.12", "description": "Hooks for adding focus, hover, and press semantics to view based components", "main": "lib-commonjs/index.js", "module": "lib/index.js", From 8440fa2032c6ccc69b371d423047df03ba9d3ea0 Mon Sep 17 00:00:00 2001 From: Jason Morse <35609178+JasonVMo@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:59:44 -0700 Subject: [PATCH 06/33] JSX runtime (part 2 of 3) - more formal rendering logic for both classic and new jsx runtimes (#3947) * rework jsx helpers for both new and old runtimes * implement both new and old render patterns for classic and jsx-runtimes * Change files * move package README.md files to be next to the source code * update documentation * Change files * prettier format updates to documentation * tweak documentation just a bit --- apps/fluent-tester/macos/Podfile.lock | 36 ++-- ...-5fdded4e-da99-42ac-a660-501e4aa4e831.json | 7 + ...-fe963967-3c5d-44ee-b7b6-bd67720856d6.json | 7 + ...-f82fa9b0-24fa-493e-90bf-23f4592908f3.json | 7 + ...-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json | 7 + ...-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json | 7 + packages/framework-base/README.md | 21 +- packages/framework-base/package.json | 5 + .../src/component-patterns/README.md | 39 ++++ .../src/component-patterns/render.ts | 54 +++++ .../src/component-patterns/render.types.ts | 114 +++++++++++ .../src/component-patterns/renderSlot.ts | 27 --- .../src/component-patterns/stagedComponent.ts | 53 ----- .../component-patterns/stagedComponent.tsx | 45 +++++ .../src/component-patterns/withSlots.tsx | 12 +- .../src/immutable-merge/README.md | 185 +++++++++++++++++ packages/framework-base/src/index.ts | 21 +- packages/framework-base/src/jsx-runtime.ts | 11 ++ .../framework-base/src/memo-cache/README.md | 141 +++++++++++++ .../framework-base/src/merge-props/README.md | 43 ++++ packages/framework/immutable-merge/README.md | 186 +----------------- packages/framework/memo-cache/README.md | 142 +------------ packages/framework/merge-props/README.md | 44 +---- 23 files changed, 730 insertions(+), 484 deletions(-) create mode 100644 change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json create mode 100644 change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json create mode 100644 change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json create mode 100644 change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json create mode 100644 change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json create mode 100644 packages/framework-base/src/component-patterns/README.md create mode 100644 packages/framework-base/src/component-patterns/render.ts create mode 100644 packages/framework-base/src/component-patterns/render.types.ts delete mode 100644 packages/framework-base/src/component-patterns/renderSlot.ts delete mode 100644 packages/framework-base/src/component-patterns/stagedComponent.ts create mode 100644 packages/framework-base/src/component-patterns/stagedComponent.tsx create mode 100644 packages/framework-base/src/immutable-merge/README.md create mode 100644 packages/framework-base/src/jsx-runtime.ts create mode 100644 packages/framework-base/src/memo-cache/README.md create mode 100644 packages/framework-base/src/merge-props/README.md diff --git a/apps/fluent-tester/macos/Podfile.lock b/apps/fluent-tester/macos/Podfile.lock index 384d5d5692..4f12ff3a39 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.4): + - FRNAvatar (0.21.11): - MicrosoftFluentUI (= 0.13.1) - React - - FRNCallout (0.27.2): + - FRNCallout (0.27.9): - DoubleConversion - glog - RCT-Folly (= 2024.01.01.00) @@ -28,13 +28,13 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - FRNCheckbox (0.17.9): + - FRNCheckbox (0.17.16): - React - - FRNMenuButton (0.13.19): + - FRNMenuButton (0.13.26): - React - - FRNRadioButton (0.21.16): + - FRNRadioButton (0.21.23): - React - - FRNVibrancyView (0.3.0): + - FRNVibrancyView (0.3.4): - React - glog (0.3.5) - MicrosoftFluentUI (0.13.1): @@ -123,7 +123,7 @@ PODS: - fmt (= 9.1.0) - glog - RCTDeprecation (0.74.30) - - RCTFocusZone (0.21.0): + - RCTFocusZone (0.21.7): - React - RCTRequired (0.74.30) - RCTTypeSafety (0.74.30): @@ -1262,11 +1262,11 @@ DEPENDENCIES: - 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`) - - "FRNCallout (from `../../../node_modules/@fluentui-react-native/callout`)" + - "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`) - - "FRNVibrancyView (from `../../../node_modules/@fluentui-react-native/vibrancy-view`)" + - "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`) @@ -1341,7 +1341,7 @@ EXTERNAL SOURCES: FRNAvatar: :path: "../../../packages/experimental/Avatar/FRNAvatar.podspec" FRNCallout: - :path: "../../../node_modules/@fluentui-react-native/callout" + :path: "../node_modules/@fluentui-react-native/callout" FRNCheckbox: :path: "../../../packages/experimental/Checkbox/FRNCheckbox.podspec" FRNMenuButton: @@ -1349,7 +1349,7 @@ EXTERNAL SOURCES: FRNRadioButton: :path: "../../../packages/components/RadioGroup/FRNRadioButton.podspec" FRNVibrancyView: - :path: "../../../node_modules/@fluentui-react-native/vibrancy-view" + :path: "../node_modules/@fluentui-react-native/vibrancy-view" glog: :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/glog.podspec" RCT-Folly: @@ -1466,17 +1466,17 @@ SPEC CHECKSUMS: DoubleConversion: 5b92c4507c560bb62e7aa1acdf2785ea3ff08b3b FBLazyVector: 0aa0591844f7fe4736f3aba70d30232edbd21eb5 fmt: 03574da4b7ba40de39da59677ca66610ce8c4a02 - FRNAvatar: ec4d219c71bfd3d74306a1fcf94f71393b63359f - FRNCallout: 1989375a3f3f704d7f85a560d979c222a5d2dc5c - FRNCheckbox: 80e3700277629ce802b1f07123e564f954d0e9b1 - FRNMenuButton: 43dd93252a1a6a0a3f4546b6d8021c2a572bf586 - FRNRadioButton: 8260e87a2df63c5a67ba23ce87dc8234ef137643 - FRNVibrancyView: 975f7e8ea14999015c3224743057418574833afa + FRNAvatar: 1eccbe629f3034e2caa11f62e16db120ac3c7836 + FRNCallout: 3eca65ff4ee29de3881a8402842b230626024ff6 + FRNCheckbox: 1d87e81b71e6706b6e94e69ab6923e50755c4a29 + FRNMenuButton: d87749093d3418d9c9377144f9e17e09af707335 + FRNRadioButton: 8b6c2d6c2d5c513ce493568ac0597d114359cb57 + FRNVibrancyView: 0fb5d289c2a4b934596fb26d81166151d66fa28c glog: ba31c1afa7dcf1915a109861bccdb4421be6175b MicrosoftFluentUI: dde98d8ed3fc306d9ddd0a6f0bc0c1f24fe5275e RCT-Folly: f47da9a444aae485a0528b3bccf0336156009d60 RCTDeprecation: 6c1d8fdaf3e34933c33a56531bd984bc2d22ef9e - RCTFocusZone: 50bf108af173c92cb8c4a776c17c37d010db31bc + RCTFocusZone: 999b4c2acb2193fd189f9ef6d1e970c2a6676250 RCTRequired: 5266165e3b6c7ca1554c5a75fb4c1ebe1bc60b53 RCTTypeSafety: ced894df76a17b8f7331d24e2efa862a7a616e89 React: 620dbf1e10232c8517a8b89d0def5b29e04ad24e diff --git a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json new file mode 100644 index 0000000000..3604932430 --- /dev/null +++ b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "implement both new and old render patterns for classic and jsx-runtimes", + "packageName": "@fluentui-react-native/framework-base", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json new file mode 100644 index 0000000000..e3be8149aa --- /dev/null +++ b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/immutable-merge", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json new file mode 100644 index 0000000000..07fc2a8fd7 --- /dev/null +++ b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/memo-cache", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json new file mode 100644 index 0000000000..c245e723df --- /dev/null +++ b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/merge-props", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json new file mode 100644 index 0000000000..44f52cd801 --- /dev/null +++ b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "rework jsx helpers for both new and old runtimes", + "packageName": "@fluentui-react-native/tester", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/framework-base/README.md b/packages/framework-base/README.md index f29d99f7a6..6e3d33ed9e 100644 --- a/packages/framework-base/README.md +++ b/packages/framework-base/README.md @@ -1,20 +1,19 @@ -# Framework Base package +# `@fluentui-react-native/framework-base` -This package provides core types and helpers used by both the old and new versions of the framework. +This package provides core implementations and types to support both the legacy and current frameworks. Several previously standalone packages have had their implementations moved into this package. This allows them to share certain typings and helpers without having to work around circular dependency issues. The moved packages are: -- `@fluentui-react-native/immutable-merge` -- `@fluentui-react-native/memo-cache` -- `@fluentui-react-native/merge-props` +- [`@fluentui-react-native/immutable-merge`](./src/immutable-merge/README.md) +- [`@fluentui-react-native/memo-cache`](./src/memo-cache/README.md) +- [`@fluentui-react-native/merge-props`](./src/merge-props/README.md) -The functionality in these packages can be imported either by the base entry point for the package, or by using dedicated exports. The previous packages will continue to exist for the time being but are now just references to their individual exports. Note that export maps require special handling for metro bundling (with the exception of the jsx-runtime export) so the export maps are primarily for use -in JS/web projects. +The functionality in these packages is now exposed as part of this package. -## Type Helpers +## Component Patterns -- TODO: There are a number of issues with the way types are handled in the larger fluentui-react-native project, helpers and core types will be added here to help solve inference issues, avoid hard typecasts, and help the project eventually move to typescript 5.x. +The shared patterns for rendering components, as well as the JSX handlers have been centralized in this package. More information can be found [here](./src/component-patterns/README.md). -## JSX Helpers +## Type Helpers -- TODO: Both classic and the new jsx-runtime helpers will eventually come out of this package and be shared between old and new frameworks. This will be necessary to improve typing across the board. +- TODO: There are a number of issues with the way types are handled in the larger fluentui-react-native project, helpers and core types will be added here to help solve inference issues, avoid hard typecasts, and help the project eventually move to typescript 5.x. diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index ba83f35644..374b7d882a 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -16,6 +16,11 @@ "import": "./lib/index.js", "require": "./lib-commonjs/index.js", "types": "./lib/index.d.ts" + }, + "./jsx-runtime": { + "import": "./lib/jsx-runtime.js", + "require": "./lib-commonjs/jsx-runtime.js", + "types": "./lib/jsx-runtime.d.ts" } }, "scripts": { diff --git a/packages/framework-base/src/component-patterns/README.md b/packages/framework-base/src/component-patterns/README.md new file mode 100644 index 0000000000..18517b4ce8 --- /dev/null +++ b/packages/framework-base/src/component-patterns/README.md @@ -0,0 +1,39 @@ +# `fluentui-react-native` - Common component patterns + +These are the base component patterns shared across the deprecated or v0 framework (found under packages/deprecated), and the newer framework (found under packages/framework). This also includes the custom JSX handlers required to render them properly. + +There are two main patterns exposed here: direct rendering and staged rendering. + +## Direct Rendering + +The direct rendering pattern allows a component to be called directly, rather than creating a new entry in the DOM. + +As an example, if you want to create a wrapper around a component called `MyText` that has `italicize` as one of its props, that always wants to set that value to true. You could define: + +```ts +const MyNewText: React.FunctionComponent = (props) => { + return ; +} +``` + +When this is rendered, there is an entry for `MyNewText` which contains a `MyText` (another entry), which might contains `Text` (for react-native usage). The direct rendering pattern is one where a component can denote that it is safe to be called directly as a function, instead operating as a prop transform that gets applied to the underlying component. + +- For the above to be safe, `MyNewText` should NOT use hooks. In the case of any conditional rendering logic this will break the rule of hooks. + +There are two types of implementations in this folder: + +- `DirectComponent` - a functional component that marks itself as direct with a `_callDirect: true` attached property. This will then be called as a normal function component, with children included as part of props. +- `LegacyDirectComponent` - the pattern currently used in this library that should be moved away from. In this case `_canCompose: true` is set as an attached property, and the function component will be called with children split from props. + +The internal logic of the JSX rendering helpers will handle both patterns. In the case of the newer `DirectComponent` pattern, the component will still work, even without any jsx hooks, whereas the `LegacyDirectComponent` pattern will have a somewhat undefined behavior with regards to children. + +## Staged Rendering + +The issue with the direct component pattern above, is that hooks are integral to writing functional components. The staged rendering pattern is designed to help with this. In this case a component is implemented in two stages, the prep stage where hooks are called, and the rendering stage where the tree is emitted. + +As above there is a newer and older version of the pattern. + +- `StagedComponent` - the newer version of the pattern, where the returned component function expects children as part of props. +- `StagedRender` - the older version, where children are split out and JSX hooks are required to render correctly. + +Note that while the newer patterns work without any JSX hooks, the hooks will enable the element flattening. diff --git a/packages/framework-base/src/component-patterns/render.ts b/packages/framework-base/src/component-patterns/render.ts new file mode 100644 index 0000000000..80f0848f2e --- /dev/null +++ b/packages/framework-base/src/component-patterns/render.ts @@ -0,0 +1,54 @@ +import React from 'react'; +import * as ReactJSX from 'react/jsx-runtime'; +import type { RenderType, RenderResult, DirectComponent, LegacyDirectComponent } from './render.types'; + +export type CustomRender = () => RenderResult; + +function asDirectComponent(type: RenderType): DirectComponent | undefined { + if (typeof type === 'function' && (type as DirectComponent)._callDirect) { + return type as DirectComponent; + } + return undefined; +} + +function asLegacyDirectComponent(type: RenderType): LegacyDirectComponent | undefined { + if (typeof type === 'function' && (type as LegacyDirectComponent)._canCompose) { + return type as LegacyDirectComponent; + } + return undefined; +} + +export function renderForJsxRuntime( + type: React.ElementType, + props: React.PropsWithChildren, + key?: React.Key, + jsxFn: typeof ReactJSX.jsx = ReactJSX.jsx, +): RenderResult { + const legacyDirect = asLegacyDirectComponent(type); + if (legacyDirect) { + const { children, ...rest } = props; + const newProps = { ...rest, key }; + return legacyDirect(newProps, ...React.Children.toArray(children)) as RenderResult; + } + const directComponent = asDirectComponent(type); + if (directComponent) { + const newProps = { ...props, key }; + return directComponent(newProps); + } + return jsxFn(type, props, key); +} + +export function renderForClassicRuntime(type: RenderType, props: TProps, ...children: React.ReactNode[]): RenderResult { + const legacyDirect = asLegacyDirectComponent(type); + if (legacyDirect) { + return legacyDirect(props, ...children) as RenderResult; + } + const directComponent = asDirectComponent(type); + if (directComponent) { + const newProps = { ...props, children }; + return directComponent(newProps); + } + return React.createElement(type, props, ...children); +} + +export const renderSlot = renderForClassicRuntime; diff --git a/packages/framework-base/src/component-patterns/render.types.ts b/packages/framework-base/src/component-patterns/render.types.ts new file mode 100644 index 0000000000..52589e6a01 --- /dev/null +++ b/packages/framework-base/src/component-patterns/render.types.ts @@ -0,0 +1,114 @@ +import type React from 'react'; +import type ReactJSX from 'react/jsx-runtime'; + +/** + * Base types for rendering components in a react application, extracted from react types + */ +export type RenderResult = ReturnType; +export type RenderType = Parameters[0] | string; + +/** + * The standard element type inputs for react and react-native. This might be View or Button, or it might be 'div' in web. Effectively + * it is what react accepts for React.createElement + */ +export type NativeReactType = RenderType; + +/** + * DIRECT RENDERING + * + * This is a pattern where a function can by called directly to render a component, bypassing creating additional layers of the + * rendering tree. This is useful for higher order components that mainly need to do simple prop manipulation but want to + * compartmentalize the logic. + * + * Note that for this to be safe, hooks cannot be used in the function. This is the reason why function component is redefined, + * to help linting tools catch bad usage. + * + * The newer DirectComponent type should be used, as it will handle children consistently. + */ + +/** + * type of the render function, not a FunctionComponent to help prevent hook usage + */ +export type DirectComponentFunction = (props: TProps) => RenderResult; + +/** + * The full component definition that has the attached properties to allow the jsx handlers to render it directly. + */ +export type DirectComponent = DirectComponentFunction & { + displayName?: string; + _callDirect?: boolean; +}; + +/** + * Legacy slot function type, this allows the rendering handlers to bypass the normal JSX rendering and call the function + * directly. This expects the function to have children as the last argument of the call which isn't consistent with standard + * react usage, where children are passed as a prop. If writing new components use the DirectComponent type instead. + * @deprecated use DirectComponent instead + */ +export type LegacyDirectComponent = React.FunctionComponent & { + _canCompose?: boolean; +}; + +/** + * Legacy type name used for consistency with old rendering patterns. + */ +export type SlotFn = LegacyDirectComponent; + +/** + * MULTI-STAGE RENDERING + * + * The above direct rendering pattern is useful for simple components, but it does not allow for hooks or complex logic. The staged render pattern allows + * for a component to be rendered in two stages, allowing for hooks to be used in the first stage and then the second stage to be a simple render function that can + * be called directly. + * + * In code that respects the pattern the first stage will be called with props (though children will not be present) and will return a function that will be called + * with additional props, this time with children present. This allows for the first stage to handle all the logic and hooks, while the second stage can be a simple render function + * that can leverage direct rendering if supported. + * + * The component itself will be a FunctionComponent, but it will have an attached property that is the staged render function. This allows the component to be used in two + * parts via the useSlot hook, or to be used directly in JSX/TSX as a normal component. + */ + +/** + * This is an updated version of the staged render that handles children and types more consistently. Generally children + * will be passed as part of the props for component rendering, it is inconsistent to have them as a variable argument. + * + * The `children` prop will be automatically inferred and typed correctly by the prop type. Hooks are still expected + */ +export type TwoStageRender = (props: TProps) => React.ComponentType>; + +/** + * Component type for a component that can be rendered in two stages, with the attached render function. + */ +export type StagedComponent = React.FunctionComponent & { + _twoStageRender?: TwoStageRender; +}; + +/** + * The final rendering of the props in a staged render. This is the function component signature that matches that of + * React.createElement, children (if present) will be part of the variable args at the end. + */ +export type FinalRender = (props: TProps, ...children: React.ReactNode[]) => JSX.Element | null; + +/** + * Signature for a staged render function. + * @deprecated Use TwoStageRender instead + */ +export type StagedRender = (props: TProps, ...args: any[]) => FinalRender; + +/** + * Signature for a component that uses the staged render pattern. + * @deprecated Use TwoStageRender instead + */ +export type ComposableFunction = React.FunctionComponent & { _staged?: StagedRender }; + +/** + * A type aggregating all the custom types that can be used in the render process. + * @internal only used in this package, should not be exported + */ +export type AnyCustomType = + | React.FunctionComponent + | DirectComponent + | StagedComponent + | ComposableFunction + | LegacyDirectComponent; diff --git a/packages/framework-base/src/component-patterns/renderSlot.ts b/packages/framework-base/src/component-patterns/renderSlot.ts deleted file mode 100644 index ddf6e02a8a..0000000000 --- a/packages/framework-base/src/component-patterns/renderSlot.ts +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from 'react'; - -/** - * Component slots have a marker which allows the slot render handler to know which ones are safe to call as a function. - */ -export type SlotFn = React.FunctionComponent & { - _canCompose?: boolean; -}; - -/** - * The standard element type inputs for react and react-native. This might be View or Button, or it might be 'div' in web. Effectively - * it is what react accepts for React.createElement - */ -export type NativeReactType = React.ElementType | string; - -/** - * Renders a slot - * - * @param slot - native react type or slot function to render - * @param extraProps - additional props to mixin - * @param children - the children to pass down to the slot - */ -export function renderSlot(slot: NativeReactType | SlotFn, extraProps: TProps, ...children: React.ReactNode[]) { - return typeof slot === 'function' && (slot as SlotFn)._canCompose - ? (slot as SlotFn)(extraProps, ...children) - : React.createElement(slot, extraProps, ...children); -} diff --git a/packages/framework-base/src/component-patterns/stagedComponent.ts b/packages/framework-base/src/component-patterns/stagedComponent.ts deleted file mode 100644 index ab906146a7..0000000000 --- a/packages/framework-base/src/component-patterns/stagedComponent.ts +++ /dev/null @@ -1,53 +0,0 @@ -import * as React from 'react'; - -/** - * The final rendering of the props in a staged render. This is the function component signature that matches that of - * React.createElement, children (if present) will be part of the variable args at the end. - */ -export type FinalRender = (props: TProps, ...children: React.ReactNode[]) => JSX.Element | null; - -/** - * This is a pattern of rendering where a functional component can be executed in two stages rather than in a single pass. - * - * The pattern looks like: - * (props) => { - * // handle props - * // call hooks, remember these can't be conditional - * // build styles and props to pass to child components - * - * return (additionalProps, ...children) => { - * // return the actual element tree, this includes conditional branching or rendering - * // mixin additional props, props which require logic should be required in phase 1. - * - * // NOTE: This is where children will show up - * }; - * } - */ - -export type StagedRender = (props: TProps, ...args: any[]) => FinalRender; - -/** - * A composable function may have a two stage render function as an attached property. This allows the function to work - * in all the standard react flows, but allows for pulling out the staged render when components understand it. - */ -export type ComposableFunction = React.FunctionComponent & { _staged?: StagedRender }; - -function asArray(val: T | T[]): T[] { - return Array.isArray(val) ? val : [val]; -} - -/** - * Take a staged render function and make a real component out of it - * - * @param staged - staged render function to wrap into a staged component - * @param memo - optional flag to enable wrapping the created component in a React.memo HOC - */ -export function stagedComponent(staged: StagedRender, memo?: boolean): ComposableFunction { - const component = (props: React.PropsWithChildren) => { - const { children, ...rest } = props; - return staged(rest as TProps)({} as React.PropsWithChildren, asArray(children)); - }; - const stagedComponent = memo ? React.memo(component) : component; - Object.assign(stagedComponent, { _staged: staged }); - return stagedComponent as ComposableFunction; -} diff --git a/packages/framework-base/src/component-patterns/stagedComponent.tsx b/packages/framework-base/src/component-patterns/stagedComponent.tsx new file mode 100644 index 0000000000..492370ebe4 --- /dev/null +++ b/packages/framework-base/src/component-patterns/stagedComponent.tsx @@ -0,0 +1,45 @@ +/** + * @jsxRuntime classic + * @jsx withSlots + */ +import * as React from 'react'; +import { withSlots } from './withSlots'; + +import type { StagedComponent, TwoStageRender, StagedRender, ComposableFunction } from './render.types'; + +function asArray(val: T | T[]): T[] { + return Array.isArray(val) ? val : [val]; +} + +/** + * Take a staged render function and make a real component out of it + * + * @param staged - staged render function to wrap into a staged component + * @param memo - optional flag to enable wrapping the created component in a React.memo HOC + */ +export function stagedComponent(staged: StagedRender, memo?: boolean): ComposableFunction { + const component = (props: React.PropsWithChildren) => { + const { children, ...rest } = props; + return staged(rest as TProps)({} as React.PropsWithChildren, asArray(children)); + }; + const stagedComponent = memo ? React.memo(component) : component; + Object.assign(stagedComponent, { _staged: staged }); + return stagedComponent as ComposableFunction; +} + +/** + * Take a two stage render function and make a real component out of it, attaching the staged render function + * so it can be split if used in that manner. + * @param staged - two stage render function to wrap into a staged component + */ +export function twoStageComponent(staged: TwoStageRender): StagedComponent { + return Object.assign( + (props: React.PropsWithChildren) => { + const { children, ...outerProps } = props; + const innerProps = { children } as React.PropsWithChildren; + const Inner = staged(outerProps as TProps); + return ; + }, + { _twoStageRender: staged }, + ); +} diff --git a/packages/framework-base/src/component-patterns/withSlots.tsx b/packages/framework-base/src/component-patterns/withSlots.tsx index 5b52433f5a..a9b1c137ec 100644 --- a/packages/framework-base/src/component-patterns/withSlots.tsx +++ b/packages/framework-base/src/component-patterns/withSlots.tsx @@ -1,5 +1,5 @@ -import type { NativeReactType } from './renderSlot'; -import { renderSlot } from './renderSlot'; +import type React from 'react'; +import { renderForClassicRuntime } from './render'; /** * This function is required for any module that uses slots. @@ -15,11 +15,7 @@ import { renderSlot } from './renderSlot'; */ // Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now and widen as needed. -export function withSlots

( - reactType: NativeReactType, - props?: (React.Attributes & P) | null, - ...children: React.ReactNode[] -): ReturnType> { +export function withSlots(reactType: Parameters[0], props?: unknown, ...children: React.ReactNode[]) { // if it is a non-string type with _canCompose set just call the function directly, otherwise call createElement as normal - return renderSlot

(reactType, props, ...children); + return renderForClassicRuntime(reactType, props, ...children); } diff --git a/packages/framework-base/src/immutable-merge/README.md b/packages/framework-base/src/immutable-merge/README.md new file mode 100644 index 0000000000..6af65b94a1 --- /dev/null +++ b/packages/framework-base/src/immutable-merge/README.md @@ -0,0 +1,185 @@ +# Immutable Merge package + +This package provides a relatively concise routine to handle merging multiple objects together with the following characteristics: + +- No modifications will be made to any object +- Minimal updates. If only one value is updated three levels deep, only that value and the chain of containing objects will be recreated. +- Empty objects or undefined objects will be ignored and not cause a new branch to be created. +- Recursion is controllable in a variety of ways + +Note that this does not provide a **strict** immutable package on its own. It also doesn't operate or return only readonly objects. This is to provide flexibility. It could easily be wrapped in various ways to provide that type of functionality, but it is provided in a more flexible form to be useful in other scenarios as well. + +## Deep Merge via `immutableMerge` + +For standard deep merging, this package provides the `immutableMerge` function. The signature is as follows: + +```ts +export function immutableMerge(...objs: (T | undefined)[]): T | undefined; +``` + +This takes one or more objects of type `T` and deep merges them. If objects are undefined or null in some manner they will be ignored. Merging via this routine (and all routines in the package) typically follow the semantics of `Object.assign`, with a few extra behaviors. + +- all values at a given level will overwrite, with the last writer winning +- if a key does not exist for an object it is ignored +- if a key does exist, even if it is `undefined` it will replace the previous value +- only non-array objects will recurse, arrays will be replaced rather than appended +- keys which exist and have a value of `undefined` will be deleted + +The peculiar pattern of deleting keys which end up as undefined is the only way to delete a key without violating the core principles. An example of key deletion might look like: + +```ts +const newObj = immutableMerge(myObj, { keyToDelete1: undefined, keyToDelete2: undefined }); +``` + +## Custom Merging via `immutableMergeCore` + +In many cases, merges have to follow additional rules to match the structure or behavior of objects passed in. This results in authoring custom merge routines to handle this constraint. This package allows for deep customization of merge behaviors via `immutableMergeCore`. + +```ts +export function immutableMergeCore(options: RecursionOptions | MergeOptions, ...objs: (T | undefined)[]): T | undefined; +``` + +### RecursionOptions + +Recursion options can be a boolean or a number with behavior interpreted as follows: + +- `boolean` - Should this recurse. If the value is `true` it will recurse infinitely, if `false` it will not recurse. +- `number` - Recursion depth. A value of `0` will not recurse any farther, a positive value will recurse that many additional levels before stopping, a negative value will recurse indefinitely. + +### MergeOptions + +This object allows very precise control of the recursion. At a given level it matches values by name of the key, or by the resulting type of the property. + +```ts +export interface MergeOptions { + [typeOrName: string]: RecursionOptions | RecursionHandlers | MergeOptions; +} +``` + +Matching will happen in the following order: + +1. Merged object property key matches a key in MergeOptions. +2. The type of the key is referenced in MergeOptions. Note that arrays (which are objects) are treated as being of type 'array' for this purpose. + +The values within the options can have the following types: + +| Type | Usage | +| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RecursionOption` | Behaves as if this value was passed into the recursive call. So 0/false mean merge but don't recurse for the matching child object, less than zero / true means recurse deeply, greater than zero means recurse that many times. | +| `RecursionHandler` | Run a function to handle the merge or invoke one of the built-in handlers for the library. See below for more information. | +| `MergeOptions` | Forward the child `MergeOptions` to the child level when making the recursive call. | + +### RecursionHandler + +When merging values for a given key, providing a recursion handler allows custom processing. A handler function has the following signature: + +```ts +export type CustomRecursionHandler = (...vals: any[]) => any; +``` + +The vals parameter will have collected all the non-undefined values from the input objects. Note that type checking is the responsibility of the handler function. + +#### Built in handlers + +Built-in handlers can be referenced by name. The currently supported built-in handlers are as follows: + +| Handler | Description | +| ------------- | ------------------------------------------- | +| `appendArray` | Append arrays rather than overwriting them. | + +### Example Usage + +As an example, imagine props for react components, with a concept called SlotProps that has multiple props in the same object. + +```ts +export interface IStandardProps { + classNames?: string; + tokens?: ISomeObjectTypeWithoutStyle; + style?: CSSVariables | CSSVariables[]; + // likely more +} + +export interface IMyComponentProps extends IStandardProps { + // other stuff here +} + +export interface IComponentSlotProps { + root: IMyComponentProps; + slot1: ISomeOtherComponentProps; + slot2: IYetAnotherComponentProps; +} +``` + +In this case style needs to be merged in a special manner and classNames need to be appended. Deep recursion is not desireable in the case where a prop might be an object as with partial values you might get unexpected behavior. Here are some examples of ways to make merge routines: + +```ts +// all in one function +export function mergeSlotProps1(...slotProps: ISlotPropsBase[]): ISlotPropsBase { + return immutableMergeCore({ + // match any object + object: { + // match tokens and merge but don't recurse + tokens: 0, + // run the string merge routine on classNames + classNames: (...names: string[]) => { names.map(name => name.trim()).join(' ') }, + // run an existing style merge routine on styles + style: mergeStyles; + } + }, ...slotProps); +} + +// this could be broken into two parts, options for props +const propsOptions: MergeOptions = { + tokens: 0, + classNames: (...names: string[]) => { names.map(name => name.trim()).join(' ') }, + style: mergeStyles; +} + +// then options for slotProps that refer to the props object +const slotPropsOptions: MergeOptions = { + object: propsOptions; +} + +// then a wrapper for each +export function mergeProps(...props: T[]): T { + return immutableMergeCore(propsOptions, ...props); +} + +export function mergeSlotProps(...slotProps: T[]): T { + return immutableMergeCore(slotPropsOptions, ...slotProps); +} + +``` + +## processImmutable + +The ability to run a handler on something like a style as a part of merge is useful but in normal usage it has some limitations. If there is only one object in a branch or only one value of that type the handler won't run. If the processors are essential functions, or if it is desireable to run processors on a single object you can use `processImmutable`. + +```ts +export function processImmutable(options: MergeOptions, ...objs: (T | undefined)[]): T | undefined; +``` + +This convenience function runs the merge routine as a processor for one or more objects. An example use case might be to turn all style entries into a css class name if it is not already a css class name. This should have the following behavior: + +- Style values two levels down should be processed +- The object should remain unchanged if nothing changed +- branches which are unchanged should be untouched +- If a style gets updated the object should be mimally mutated + +The usage would be as follows. Given a processor called `myStyleProcessor`: + +```ts +let complexObject: IMyObjtype = getObjectFromSomewhere(); +complexObject = processImmutable( + { + object: { + object: { + style: myStyleProcessor, + }, + }, + }, + complexObject, +); +``` + +While the primary use case is for a single object this allows merging to happen at the same time if so desired. Merging happens as normal with the exception that processors will still be called in the case where there is only one object. diff --git a/packages/framework-base/src/index.ts b/packages/framework-base/src/index.ts index ca06f9d94c..3a2fd0510d 100644 --- a/packages/framework-base/src/index.ts +++ b/packages/framework-base/src/index.ts @@ -20,8 +20,21 @@ export { mergeStyles } from './merge-props/mergeStyles'; export { mergeProps } from './merge-props/mergeProps'; // component pattern exports -export { renderSlot } from './component-patterns/renderSlot'; -export type { SlotFn, NativeReactType } from './component-patterns/renderSlot'; +export { renderForClassicRuntime, renderForJsxRuntime, renderSlot } from './component-patterns/render'; +export type { + DirectComponent, + DirectComponentFunction, + LegacyDirectComponent, + StagedComponent, + StagedRender, + TwoStageRender, + RenderType, + RenderResult, + ComposableFunction, + FinalRender, + SlotFn, + NativeReactType, +} from './component-patterns/render.types'; export { withSlots } from './component-patterns/withSlots'; -export { stagedComponent } from './component-patterns/stagedComponent'; -export type { FinalRender, StagedRender, ComposableFunction } from './component-patterns/stagedComponent'; +export { stagedComponent, twoStageComponent } from './component-patterns/stagedComponent'; +export { jsx, jsxs } from './jsx-runtime'; diff --git a/packages/framework-base/src/jsx-runtime.ts b/packages/framework-base/src/jsx-runtime.ts new file mode 100644 index 0000000000..b5f19bddf7 --- /dev/null +++ b/packages/framework-base/src/jsx-runtime.ts @@ -0,0 +1,11 @@ +import type React from 'react'; +import * as ReactJSX from 'react/jsx-runtime'; +import { renderForJsxRuntime } from './component-patterns/render'; + +export function jsx(type: React.ElementType, props: React.PropsWithChildren, key?: React.Key): React.ReactElement { + return renderForJsxRuntime(type, props, key, ReactJSX.jsx); +} + +export function jsxs(type: React.ElementType, props: React.PropsWithChildren, key?: React.Key): React.ReactElement { + return renderForJsxRuntime(type, props, key, ReactJSX.jsxs); +} diff --git a/packages/framework-base/src/memo-cache/README.md b/packages/framework-base/src/memo-cache/README.md new file mode 100644 index 0000000000..0a2b727aac --- /dev/null +++ b/packages/framework-base/src/memo-cache/README.md @@ -0,0 +1,141 @@ +# @fluentui-react-native/memo-cache + +This package implements a hierarchical memoization cache using an API pattern that mimics the react.js useMemo hook. It also provides an implementation of traditional JavaScript memoization built using react style utility. + +Memoization is an optimization pattern used when a discrete set of inputs, typically parameters to an expensive function, yield a deterministic output. In this case, if the inputs match a previous call, a cached result can be retrieved. This is typically implemented as a factory function, which wraps a function in a closure, adding implicit caching. + +React.js provides a hook called `useMemo` which is shifts to a more explicit model, where the keys are listed explicitly. This allows more control over the inputs than the older pattern. It's worth mentioning that the react `useMemo` hook is not a global cache, it is attached to a given component instance and compares the current execution with the previous one. + +### When to Use This + +This package can be beneficial in two scenarios: + +#### Performance + +If the routine to be memoized is expensive, then caching the results can boost performance. Note that cache lookups have cost themselves so memoizing a trivial function will likely be slower. + +Also note that every additional key adds a level of depth to the hierarchical cache. This has expense and reduces the likelihood of data being already in the cache. Collapsing the inputs to a manageable set helps optimize this. For instance, if building a style from a theme definition pulls 8 values from a theme, it is more efficient to key the resulting object on the theme, than to key each property individually. + +#### Object Identity + +The other benefit to this pattern is maintaining object identity between subsequent calls. In react-native the object identity of the style property will sometimes be compared, even if the values within are identical, the shallow props compare will not see the objects as the same. + +Similarly if a style is being turned into a CSS class (which is expensive), a `WeakMap` to map style objects to CSS classes will only work if the object identities are maintained. + +## Usage guide + +The baseline cache pattern is defined by the following type: + +```ts +export type GetMemoValue = ( + factory: T | () => T, + keys: any[] +) => [T, GetMemoValue]; +``` + +The parameters are used as follows: + +| Param | Description | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `factory` | This is typically a function, often a simple closure, which returns a value. This value will be cached for a given set of keys. Subsequent calls will just return the value without executing the function. This can also be a value type in which case that will be returned directly. | +| `keys` | Variable parameter list, used as the keys for caching. Note that the order of keys matter. [A, B] resolves differently than [B, A]. | + +The return result is a tuple with two elements containing: + +- The result of the factory function, or the value of factory if it is not a function +- A function for caching which is local to the previous keys queried + +This recursive calling pattern allows for a natural pipelining of caching and memoization. Because the cache is effectively implemented as a tree, this pattern falls out fairly easily. See the examples below for more detail. + +### getMemoCache + +To get an instance of the memo cache to work with, a caller starts by calling `getMemoCache`. + +```ts +export function getMemoCache(globalKey?: object): GetMemoValue; +``` + +This function takes an optional parameter `globalKey` which can be an object to use as a base cache reference. + +- If `globalKey` is specified, the same cache will be retrieved from the global call with the same object reference. +- If `globalKey` is not specified the cache instance will be unique and contained entirely within the returned function. + +### memoize + +This library also provides a standard memoization wrapper: + +```ts +export function memoize(fn: T): T; +``` + +This should be able to handle any function as an input. It will create its own instance of the cache, use any parameters to the function as key values, and return a closure with the same signature as the input. + +This should support the following: + +- Function with any number of parameters +- Functions with no parameters +- Any return result +- Void functions + +## Examples + +The following are some examples for how to use the functions above for various optimizations. + +### Merge styles to ensure object identity does not change + +Given a function to merge styles together, wrap it in a memoization helper to ensure object identities don't change. Then add a helper for ensuring a CSS rule exists for a set of styles. + +```ts +// standard function which will be memoized +function mergeStylesWorker(...cssStyles: CSSStyle[]): CSSStyle { + // do the work of merging multiple styles together to form a new CSS style +} + +// exported function internally has a caching layer with memoize +export const mergeStyles = memoize(mergeStylesWorker); + +// all-in-one authoring of memoized function, this one to turn a style into a CSS class, traditionally +// an expensive operation in browsers +export const createRuleForStyle = memoize((style: CSSStyle) => { + const className = // do the work of creating the rule + return className; +}); +``` + +### Hierarchical Theme Caching + +This demonstrates a component called `MyComponent` that: + +1. has a unique cache based on the component identity +2. cached a style computed against a theme +3. optionally merges a style from props and caches that result + +These three levels of caching are effectively instance -> theme -> props.style. + +```ts +import { getMemoCache } from '@fluentui-react-native/memo-cache'; + +// get a unique cache for this component +const myComponentCache = getMemoCache(); + +// component is a function that takes props +export const MyComponent = (props: IMyComponentProps) => { + const theme = useContext(ThemeContext); + const newProps = { ...props }; + + // get the style, cached against the theme so it will only be called once, note that because + const [style, themeLocalCache] = myComponentCache(() => { + const colors = theme.colors; + return { + backgroundColor: colors.neutralBackground, + color: colors.neutralForeground, + // more stuff from theme + }; + }, [theme]); + + // merge the styles if a style is passed in via props, caching the union to ensure consistent object identity + newProps.style = newProps.style ? themeLocalCache(() => mergeStyles(style, newProps.style), [newProps.style])[0] : style; + + return ; +}; +``` diff --git a/packages/framework-base/src/merge-props/README.md b/packages/framework-base/src/merge-props/README.md new file mode 100644 index 0000000000..1ed1b15b8c --- /dev/null +++ b/packages/framework-base/src/merge-props/README.md @@ -0,0 +1,43 @@ +# @fluentui-react-native/merge-props + +Utilities for merging styles and props (which contain styles) + +## Merging Props + +The `mergeProps` routine handles merging props together. Generally this is a standard per property merge identical to the behavior of `Object.assign` with the following two exceptions: + +- Objects under `props.style` will be merged using `mergeStyle` above, including caching the resolved styles +- Strings contained in `props.className` will be joined together using spaces as a delimiter. + +## Merging Styles + +Styles are defined using the standard react-native pattern and will be merged in a way that maintains object identity where possible. + +### StyleProp + +This is a copy of the StyleProp definition from `react-native`. This is copied primarily in the case where it is used in web code where adding a dependency on the `react-native` package itself is not desireable. + +The StyleProp pattern itself is allows a style to be provided as a style or a recursive array of styles. So the following pattern is allowed: + +```ts +props = { + style: [{ ...style1 }, [{ ...style2 }, { ...style3 }, [{ ...style4 }]], { ...style5 }], +}; +``` + +In this model merging styles can be effectively deferred by the following: + +```ts +const styleToMerge = { ...values }; +props.style = [props.style, styleToMerge]; +``` + +### mergeStyles + +This routine merges one or more react-native styles together. The inputs are styles in the `StyleProp` format referenced above. The various input styles will be flattened and merged together to produce a single non-flattened output style. + +```ts +function mergeStyles(...styles: StyleProp[]): T; +``` + +This routine has a built-in caching layer that will attempt to ensure that object identity remains consistent. This means that style A + style B, where the references to A and B are the same, will always produce object C, where the reference will also be the same. diff --git a/packages/framework/immutable-merge/README.md b/packages/framework/immutable-merge/README.md index 2a76371b8c..a9968552af 100644 --- a/packages/framework/immutable-merge/README.md +++ b/packages/framework/immutable-merge/README.md @@ -1,185 +1,5 @@ -# Immutable Merge package +# `@fluentui-react-native/immutable-merge` -This package provides a relatively concise routine to handle merging multiple objects together with the following characteristics: +This package is now a pass-through package which references `@fluentui-react-native/framework-base` for backwards compatibility. -- No modifications will be made to any object -- Minimal updates. If only one value is updated three levels deep, only that value and the chain of containing objects will be recreated. -- Empty objects or undefined objects will be ignored and not cause a new branch to be created. -- Recursion is controllable in a variety of ways - -Note that this does not provide a **strict** immutable package on its own. It also doesn't operate or return only readonly objects. This is to provide flexibility. It could easily be wrapped in various ways to provide that type of functionality, but it is provided in a more flexible form to be useful in other scenarios as well. - -## Deep Merge via `immutableMerge` - -For standard deep merging, this package provides the `immutableMerge` function. The signature is as follows: - -```ts -export function immutableMerge(...objs: (T | undefined)[]): T | undefined; -``` - -This takes one or more objects of type `T` and deep merges them. If objects are undefined or null in some manner they will be ignored. Merging via this routine (and all routines in the package) typically follow the semantics of `Object.assign`, with a few extra behaviors. - -- all values at a given level will overwrite, with the last writer winning -- if a key does not exist for an object it is ignored -- if a key does exist, even if it is `undefined` it will replace the previous value -- only non-array objects will recurse, arrays will be replaced rather than appended -- keys which exist and have a value of `undefined` will be deleted - -The peculiar pattern of deleting keys which end up as undefined is the only way to delete a key without violating the core principles. An example of key deletion might look like: - -```ts -const newObj = immutableMerge(myObj, { keyToDelete1: undefined, keyToDelete2: undefined }); -``` - -## Custom Merging via `immutableMergeCore` - -In many cases, merges have to follow additional rules to match the structure or behavior of objects passed in. This results in authoring custom merge routines to handle this constraint. This package allows for deep customization of merge behaviors via `immutableMergeCore`. - -```ts -export function immutableMergeCore(options: RecursionOptions | MergeOptions, ...objs: (T | undefined)[]): T | undefined; -``` - -### RecursionOptions - -Recursion options can be a boolean or a number with behavior interpreted as follows: - -- `boolean` - Should this recurse. If the value is `true` it will recurse infinitely, if `false` it will not recurse. -- `number` - Recursion depth. A value of `0` will not recurse any farther, a positive value will recurse that many additional levels before stopping, a negative value will recurse indefinitely. - -### MergeOptions - -This object allows very precise control of the recursion. At a given level it matches values by name of the key, or by the resulting type of the property. - -```ts -export interface MergeOptions { - [typeOrName: string]: RecursionOptions | RecursionHandlers | MergeOptions; -} -``` - -Matching will happen in the following order: - -1. Merged object property key matches a key in MergeOptions. -2. The type of the key is referenced in MergeOptions. Note that arrays (which are objects) are treated as being of type 'array' for this purpose. - -The values within the options can have the following types: - -| Type | Usage | -| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `RecursionOption` | Behaves as if this value was passed into the recursive call. So 0/false mean merge but don't recurse for the matching child object, less than zero / true means recurse deeply, greater than zero means recurse that many times. | -| `RecursionHandler` | Run a function to handle the merge or invoke one of the built-in handlers for the library. See below for more information. | -| `MergeOptions` | Forward the child `MergeOptions` to the child level when making the recursive call. | - -### RecursionHandler - -When merging values for a given key, providing a recursion handler allows custom processing. A handler function has the following signature: - -```ts -export type CustomRecursionHandler = (...vals: any[]) => any; -``` - -The vals parameter will have collected all the non-undefined values from the input objects. Note that type checking is the responsibility of the handler function. - -#### Built in handlers - -Built-in handlers can be referenced by name. The currently supported built-in handlers are as follows: - -| Handler | Description | -| ------------- | ------------------------------------------- | -| `appendArray` | Append arrays rather than overwriting them. | - -### Example Usage - -As an example, imagine props for react components, with a concept called SlotProps that has multiple props in the same object. - -```ts -export interface IStandardProps { - classNames?: string; - tokens?: ISomeObjectTypeWithoutStyle; - style?: CSSVariables | CSSVariables[]; - // likely more -} - -export interface IMyComponentProps extends IStandardProps { - // other stuff here -} - -export interface IComponentSlotProps { - root: IMyComponentProps; - slot1: ISomeOtherComponentProps; - slot2: IYetAnotherComponentProps; -} -``` - -In this case style needs to be merged in a special manner and classNames need to be appended. Deep recursion is not desireable in the case where a prop might be an object as with partial values you might get unexpected behavior. Here are some examples of ways to make merge routines: - -```ts -// all in one function -export function mergeSlotProps1(...slotProps: ISlotPropsBase[]): ISlotPropsBase { - return immutableMergeCore({ - // match any object - object: { - // match tokens and merge but don't recurse - tokens: 0, - // run the string merge routine on classNames - classNames: (...names: string[]) => { names.map(name => name.trim()).join(' ') }, - // run an existing style merge routine on styles - style: mergeStyles; - } - }, ...slotProps); -} - -// this could be broken into two parts, options for props -const propsOptions: MergeOptions = { - tokens: 0, - classNames: (...names: string[]) => { names.map(name => name.trim()).join(' ') }, - style: mergeStyles; -} - -// then options for slotProps that refer to the props object -const slotPropsOptions: MergeOptions = { - object: propsOptions; -} - -// then a wrapper for each -export function mergeProps(...props: T[]): T { - return immutableMergeCore(propsOptions, ...props); -} - -export function mergeSlotProps(...slotProps: T[]): T { - return immutableMergeCore(slotPropsOptions, ...slotProps); -} - -``` - -## processImmutable - -The ability to run a handler on something like a style as a part of merge is useful but in normal usage it has some limitations. If there is only one object in a branch or only one value of that type the handler won't run. If the processors are essential functions, or if it is desireable to run processors on a single object you can use `processImmutable`. - -```ts -export function processImmutable(options: MergeOptions, ...objs: (T | undefined)[]): T | undefined; -``` - -This convenience function runs the merge routine as a processor for one or more objects. An example use case might be to turn all style entries into a css class name if it is not already a css class name. This should have the following behavior: - -- Style values two levels down should be processed -- The object should remain unchanged if nothing changed -- branches which are unchanged should be untouched -- If a style gets updated the object should be mimally mutated - -The usage would be as follows. Given a processor called `myStyleProcessor`: - -```ts -let complexObject: IMyObjtype = getObjectFromSomewhere(); -complexObject = processImmutable( - { - object: { - object: { - style: myStyleProcessor - } - } - }, - complexObject -); -``` - -While the primary use case is for a single object this allows merging to happen at the same time if so desired. Merging happens as normal with the exception that processors will still be called in the case where there is only one object. +The current documentation can be found [here](../../framework-base/src/immutable-merge/README.md). diff --git a/packages/framework/memo-cache/README.md b/packages/framework/memo-cache/README.md index f0ba116f73..bd8f4758e8 100644 --- a/packages/framework/memo-cache/README.md +++ b/packages/framework/memo-cache/README.md @@ -1,141 +1,5 @@ -# @fluentui-react-native/memo-cache +# `@fluentui-react-native/memo-cache` -This package implements a hierarchical memoization cache using an API pattern that mimics the react.js useMemo hook. It also provides an implementation of traditional JavaScript memoization built using react style utility. +This package is now a pass-through package which references `@fluentui-react-native/framework-base` for backwards compatibility. -Memoization is an optimization pattern used when a discrete set of inputs, typically parameters to an expensive function, yield a deterministic output. In this case, if the inputs match a previous call, a cached result can be retrieved. This is typically implemented as a factory function, which wraps a function in a closure, adding implicit caching. - -React.js provides a hook called `useMemo` which is shifts to a more explicit model, where the keys are listed explicitly. This allows more control over the inputs than the older pattern. It's worth mentioning that the react `useMemo` hook is not a global cache, it is attached to a given component instance and compares the current execution with the previous one. - -### When to Use This - -This package can be beneficial in two scenarios: - -#### Performance - -If the routine to be memoized is expensive, then caching the results can boost performance. Note that cache lookups have cost themselves so memoizing a trivial function will likely be slower. - -Also note that every additional key adds a level of depth to the hierarchical cache. This has expense and reduces the likelihood of data being already in the cache. Collapsing the inputs to a manageable set helps optimize this. For instance, if building a style from a theme definition pulls 8 values from a theme, it is more efficient to key the resulting object on the theme, than to key each property individually. - -#### Object Identity - -The other benefit to this pattern is maintaining object identity between subsequent calls. In react-native the object identity of the style property will sometimes be compared, even if the values within are identical, the shallow props compare will not see the objects as the same. - -Similarly if a style is being turned into a CSS class (which is expensive), a `WeakMap` to map style objects to CSS classes will only work if the object identities are maintained. - -## Usage guide - -The baseline cache pattern is defined by the following type: - -```ts -export type GetMemoValue = ( - factory: T | () => T, - keys: any[] -) => [T, GetMemoValue]; -``` - -The parameters are used as follows: - -| Param | Description | -| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `factory` | This is typically a function, often a simple closure, which returns a value. This value will be cached for a given set of keys. Subsequent calls will just return the value without executing the function. This can also be a value type in which case that will be returned directly. | -| `keys` | Variable parameter list, used as the keys for caching. Note that the order of keys matter. [A, B] resolves differently than [B, A]. | - -The return result is a tuple with two elements containing: - -- The result of the factory function, or the value of factory if it is not a function -- A function for caching which is local to the previous keys queried - -This recursive calling pattern allows for a natural pipelining of caching and memoization. Because the cache is effectively implemented as a tree, this pattern falls out fairly easily. See the examples below for more detail. - -### getMemoCache - -To get an instance of the memo cache to work with, a caller starts by calling `getMemoCache`. - -```ts -export function getMemoCache(globalKey?: object): GetMemoValue; -``` - -This function takes an optional parameter `globalKey` which can be an object to use as a base cache reference. - -- If `globalKey` is specified, the same cache will be retrieved from the global call with the same object reference. -- If `globalKey` is not specified the cache instance will be unique and contained entirely within the returned function. - -### memoize - -This library also provides a standard memoization wrapper: - -```ts -export function memoize(fn: T): T; -``` - -This should be able to handle any function as an input. It will create its own instance of the cache, use any parameters to the function as key values, and return a closure with the same signature as the input. - -This should support the following: - -- Function with any number of parameters -- Functions with no parameters -- Any return result -- Void functions - -## Examples - -The following are some examples for how to use the functions above for various optimizations. - -### Merge styles to ensure object identity does not change - -Given a function to merge styles together, wrap it in a memoization helper to ensure object identities don't change. Then add a helper for ensuring a CSS rule exists for a set of styles. - -```ts -// standard function which will be memoized -function mergeStylesWorker(...cssStyles: CSSStyle[]): CSSStyle { - // do the work of merging multiple styles together to form a new CSS style -} - -// exported function internally has a caching layer with memoize -export const mergeStyles = memoize(mergeStylesWorker); - -// all-in-one authoring of memoized function, this one to turn a style into a CSS class, traditionally -// an expensive operation in browsers -export const createRuleForStyle = memoize((style: CSSStyle) => { - const className = // do the work of creating the rule - return className; -}); -``` - -### Hierarchical Theme Caching - -This demonstrates a component called `MyComponent` that: - -1. has a unique cache based on the component identity -2. cached a style computed against a theme -3. optionally merges a style from props and caches that result - -These three levels of caching are effectively instance -> theme -> props.style. - -```ts -import { getMemoCache } from '@fluentui-react-native/memo-cache'; - -// get a unique cache for this component -const myComponentCache = getMemoCache(); - -// component is a function that takes props -export const MyComponent = (props: IMyComponentProps) => { - const theme = useContext(ThemeContext); - const newProps = { ...props }; - - // get the style, cached against the theme so it will only be called once, note that because - const [style, themeLocalCache] = myComponentCache(() => { - const colors = theme.colors; - return { - backgroundColor: colors.neutralBackground, - color: colors.neutralForeground - // more stuff from theme - }; - }, [theme]); - - // merge the styles if a style is passed in via props, caching the union to ensure consistent object identity - newProps.style = newProps.style ? themeLocalCache(() => mergeStyles(style, newProps.style), [newProps.style])[0] : style; - - return ; -}; -``` +The current documentation can be found [here](../../framework-base/src/memo-cache/README.md). diff --git a/packages/framework/merge-props/README.md b/packages/framework/merge-props/README.md index 1ed1b15b8c..2817ce85a4 100644 --- a/packages/framework/merge-props/README.md +++ b/packages/framework/merge-props/README.md @@ -1,43 +1,5 @@ -# @fluentui-react-native/merge-props +# `@fluentui-react-native/merge-props` -Utilities for merging styles and props (which contain styles) +This package is now a pass-through package which references `@fluentui-react-native/framework-base` for backwards compatibility. -## Merging Props - -The `mergeProps` routine handles merging props together. Generally this is a standard per property merge identical to the behavior of `Object.assign` with the following two exceptions: - -- Objects under `props.style` will be merged using `mergeStyle` above, including caching the resolved styles -- Strings contained in `props.className` will be joined together using spaces as a delimiter. - -## Merging Styles - -Styles are defined using the standard react-native pattern and will be merged in a way that maintains object identity where possible. - -### StyleProp - -This is a copy of the StyleProp definition from `react-native`. This is copied primarily in the case where it is used in web code where adding a dependency on the `react-native` package itself is not desireable. - -The StyleProp pattern itself is allows a style to be provided as a style or a recursive array of styles. So the following pattern is allowed: - -```ts -props = { - style: [{ ...style1 }, [{ ...style2 }, { ...style3 }, [{ ...style4 }]], { ...style5 }], -}; -``` - -In this model merging styles can be effectively deferred by the following: - -```ts -const styleToMerge = { ...values }; -props.style = [props.style, styleToMerge]; -``` - -### mergeStyles - -This routine merges one or more react-native styles together. The inputs are styles in the `StyleProp` format referenced above. The various input styles will be flattened and merged together to produce a single non-flattened output style. - -```ts -function mergeStyles(...styles: StyleProp[]): T; -``` - -This routine has a built-in caching layer that will attempt to ensure that object identity remains consistent. This means that style A + style B, where the references to A and B are the same, will always produce object C, where the reference will also be the same. +The current documentation can be found [here](../../framework-base/src/merge-props/README.md). From 50767519c3da94f5c531db20ed22a59d9a1e9ba3 Mon Sep 17 00:00:00 2001 From: UI-Fabric-RN-Bot Date: Tue, 29 Jul 2025 06:35:22 +0000 Subject: [PATCH 07/33] applying package updates --- apps/E2E/package.json | 2 +- apps/fluent-tester/CHANGELOG.json | 15 ++ apps/fluent-tester/CHANGELOG.md | 10 +- apps/fluent-tester/package.json | 2 +- apps/win32/package.json | 2 +- ...-5fdded4e-da99-42ac-a660-501e4aa4e831.json | 7 - ...-fe963967-3c5d-44ee-b7b6-bd67720856d6.json | 7 - ...-f82fa9b0-24fa-493e-90bf-23f4592908f3.json | 7 - ...-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json | 7 - ...-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json | 7 - packages/components/Avatar/package.json | 2 +- packages/components/Badge/package.json | 2 +- packages/components/Button/package.json | 2 +- packages/components/Callout/package.json | 2 +- packages/components/Checkbox/package.json | 2 +- packages/components/Chip/package.json | 2 +- .../components/ContextualMenu/package.json | 2 +- packages/components/Divider/package.json | 2 +- .../components/FocusTrapZone/package.json | 2 +- packages/components/FocusZone/package.json | 2 +- packages/components/Icon/package.json | 2 +- packages/components/Input/package.json | 2 +- packages/components/Link/package.json | 2 +- packages/components/Menu/package.json | 2 +- packages/components/MenuButton/package.json | 2 +- packages/components/Notification/package.json | 2 +- packages/components/Persona/package.json | 2 +- packages/components/PersonaCoin/package.json | 2 +- packages/components/Pressable/package.json | 2 +- packages/components/RadioGroup/package.json | 2 +- packages/components/Separator/package.json | 2 +- packages/components/Stack/package.json | 2 +- packages/components/Switch/package.json | 2 +- packages/components/TabList/package.json | 2 +- packages/components/Text/package.json | 2 +- packages/dependency-profiles/package.json | 2 +- packages/dependency-profiles/src/index.js | 136 +++++++++--------- .../foundation-composable/package.json | 2 +- .../foundation-compose/package.json | 2 +- .../foundation-settings/package.json | 2 +- .../deprecated/foundation-tokens/package.json | 2 +- .../deprecated/theme-registry/package.json | 2 +- .../deprecated/themed-settings/package.json | 2 +- packages/deprecated/theming-ramp/package.json | 2 +- .../theming-react-native/package.json | 2 +- .../ActivityIndicator/package.json | 2 +- .../AppearanceAdditions/package.json | 2 +- packages/experimental/Avatar/package.json | 2 +- packages/experimental/Checkbox/package.json | 2 +- packages/experimental/Drawer/package.json | 2 +- packages/experimental/Dropdown/package.json | 2 +- packages/experimental/Expander/package.json | 2 +- packages/experimental/MenuButton/package.json | 2 +- packages/experimental/Overflow/package.json | 2 +- packages/experimental/Popover/package.json | 2 +- packages/experimental/Shadow/package.json | 2 +- packages/experimental/Shimmer/package.json | 2 +- packages/experimental/Spinner/package.json | 2 +- packages/experimental/Tooltip/package.json | 2 +- packages/framework-base/CHANGELOG.json | 15 ++ packages/framework-base/CHANGELOG.md | 10 +- packages/framework-base/package.json | 2 +- packages/framework/composition/package.json | 2 +- packages/framework/framework/package.json | 2 +- .../framework/immutable-merge/CHANGELOG.json | 15 ++ .../framework/immutable-merge/package.json | 2 +- packages/framework/memo-cache/CHANGELOG.json | 15 ++ packages/framework/memo-cache/package.json | 2 +- packages/framework/merge-props/CHANGELOG.json | 15 ++ packages/framework/merge-props/package.json | 2 +- packages/framework/theme/package.json | 2 +- .../framework/themed-stylesheet/package.json | 2 +- packages/framework/use-slot/package.json | 2 +- packages/framework/use-slots/package.json | 2 +- packages/framework/use-styling/package.json | 2 +- packages/framework/use-tokens/package.json | 2 +- packages/libraries/core/package.json | 2 +- packages/theming/android-theme/package.json | 2 +- packages/theming/apple-theme/package.json | 2 +- packages/theming/default-theme/package.json | 2 +- packages/theming/win32-theme/package.json | 2 +- packages/utils/interactive-hooks/package.json | 2 +- 82 files changed, 230 insertions(+), 174 deletions(-) delete mode 100644 change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json delete mode 100644 change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json delete mode 100644 change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json delete mode 100644 change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json delete mode 100644 change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json diff --git a/apps/E2E/package.json b/apps/E2E/package.json index 04f195a756..e7143464dd 100644 --- a/apps/E2E/package.json +++ b/apps/E2E/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/e2e-testing", - "version": "1.43.4", + "version": "1.43.5", "description": "Package containing E2E testing specs", "license": "MIT", "main": "lib-commonjs/index.js", diff --git a/apps/fluent-tester/CHANGELOG.json b/apps/fluent-tester/CHANGELOG.json index c0e69945b8..e1ebe71e31 100644 --- a/apps/fluent-tester/CHANGELOG.json +++ b/apps/fluent-tester/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/tester", "entries": [ + { + "date": "Tue, 29 Jul 2025 06:35:19 GMT", + "version": "0.170.37", + "tag": "@fluentui-react-native/tester_v0.170.37", + "comments": { + "patch": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/tester", + "commit": "78329a2222622ac8d90345d3aa908355e70f5d1a", + "comment": "rework jsx helpers for both new and old runtimes" + } + ] + } + }, { "date": "Wed, 16 Jul 2025 20:06:46 GMT", "version": "0.170.31", diff --git a/apps/fluent-tester/CHANGELOG.md b/apps/fluent-tester/CHANGELOG.md index af30f3c5c2..d16d1a397d 100644 --- a/apps/fluent-tester/CHANGELOG.md +++ b/apps/fluent-tester/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @fluentui-react-native/tester - + +## 0.170.37 + +Tue, 29 Jul 2025 06:35:19 GMT + +### Patches + +- rework jsx helpers for both new and old runtimes (jasonmo@microsoft.com) + ## 0.170.31 Wed, 16 Jul 2025 20:06:46 GMT diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 15b1c528ad..a2b14aaae9 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tester", - "version": "0.170.36", + "version": "0.170.37", "description": "A test app to test FluentUI React Native Components during development", "license": "MIT", "author": "Microsoft ", diff --git a/apps/win32/package.json b/apps/win32/package.json index e4d51b805b..9ec4fc841e 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tester-win32", - "version": "0.38.55", + "version": "0.38.56", "main": "lib-commonjs/index.js", "module": "lib/index.js", "react-native": "src/index.ts", diff --git a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json deleted file mode 100644 index 3604932430..0000000000 --- a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "minor", - "comment": "implement both new and old render patterns for classic and jsx-runtimes", - "packageName": "@fluentui-react-native/framework-base", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json deleted file mode 100644 index e3be8149aa..0000000000 --- a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/immutable-merge", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json deleted file mode 100644 index 07fc2a8fd7..0000000000 --- a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/memo-cache", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json deleted file mode 100644 index c245e723df..0000000000 --- a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/merge-props", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json deleted file mode 100644 index 44f52cd801..0000000000 --- a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "rework jsx helpers for both new and old runtimes", - "packageName": "@fluentui-react-native/tester", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index cb62651179..b975c58cc2 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/avatar", - "version": "1.12.16", + "version": "1.12.17", "description": "A cross-platform Avatar component using the Fluent Design System", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index bf647a0c52..f933392750 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/badge", - "version": "0.11.10", + "version": "0.11.11", "description": "A cross-platform Badge component using the Fluent Design System. A badge is an additional visual descriptor for UI elements.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index f0f805ff38..d21281744e 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/button", - "version": "0.39.12", + "version": "0.39.13", "description": "A cross-platform Button component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index 057e9e6aa1..9798af91b1 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/callout", - "version": "0.27.10", + "version": "0.27.11", "description": "A cross-platform Callout component using the Fluent Design System", "license": "MIT", "author": "", diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index 053340695e..d1f58becea 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/checkbox", - "version": "0.23.16", + "version": "0.23.17", "description": "A cross-platform Checkbox component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json index 4bbf681a13..21252975c1 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/chip", - "version": "0.4.16", + "version": "0.4.17", "description": "A cross-platform Chip component using the Fluent Design System. A chip is a compact representations of entities (most commonly, people) that can be typed in, deleted or dragged easily.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index 4e4df139b9..c1a6c0b52a 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/contextual-menu", - "version": "0.24.24", + "version": "0.24.25", "description": "A cross-platform ContextualMenu component using the Fluent Design System", "license": "MIT", "author": "", diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json index 644bd5085f..74ae416374 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/divider", - "version": "0.7.16", + "version": "0.7.17", "description": "A cross-platform Divider component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index 5541b87779..0263ae1ab5 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/focus-trap-zone", - "version": "0.12.13", + "version": "0.12.14", "description": "A cross-platform FocusTrapZone component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/FocusZone/package.json b/packages/components/FocusZone/package.json index 768b850b06..60e8dc56e1 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/focus-zone", - "version": "0.21.8", + "version": "0.21.9", "description": "A cross-platform FocusZone component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json index 5a2e6c3358..fe7baa9f5d 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/icon", - "version": "0.21.16", + "version": "0.21.17", "description": "A cross-platform Icon component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json index 9d37254c9a..ab97a05dc7 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/input", - "version": "0.7.16", + "version": "0.7.17", "description": "A cross-platform Text input component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Link/package.json b/packages/components/Link/package.json index 1b2f18ebd7..0a91505d84 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/link", - "version": "0.23.16", + "version": "0.23.17", "description": "A cross-platform Link component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json index 9e59af098b..f5e1cf164b 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/menu", - "version": "1.14.32", + "version": "1.14.33", "description": "A cross-platform Menu component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json index 515d98cbc4..24033075e7 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/menu-button", - "version": "0.13.27", + "version": "0.13.28", "description": "A cross-platform MenuButton component using the Fluent Design System", "license": "MIT", "author": "Microsoft ", diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json index ce143e1225..39f01b6a6b 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/notification", - "version": "0.25.19", + "version": "0.25.20", "description": "add component-description", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Persona/package.json b/packages/components/Persona/package.json index c2e214d8d2..a2592a135c 100644 --- a/packages/components/Persona/package.json +++ b/packages/components/Persona/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/persona", - "version": "0.16.10", + "version": "0.16.11", "description": "A cross-platform Persona component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/PersonaCoin/package.json b/packages/components/PersonaCoin/package.json index 1c32d99e15..a85f865110 100644 --- a/packages/components/PersonaCoin/package.json +++ b/packages/components/PersonaCoin/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/persona-coin", - "version": "0.15.10", + "version": "0.15.11", "description": "A cross-platform PersonaCoin component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Pressable/package.json b/packages/components/Pressable/package.json index d545f1987a..80abe739d9 100644 --- a/packages/components/Pressable/package.json +++ b/packages/components/Pressable/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/pressable", - "version": "0.12.12", + "version": "0.12.13", "description": "A cross-platform Pressable component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json index 814bd495a9..73533f852c 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/radio-group", - "version": "0.21.24", + "version": "0.21.25", "description": "A cross-platform Radio Group component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Separator/package.json b/packages/components/Separator/package.json index 8a3ace3754..585bd83e27 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/separator", - "version": "0.18.10", + "version": "0.18.11", "description": "A cross-platform Separator component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Stack/package.json b/packages/components/Stack/package.json index b435fcea7a..f15eeda286 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/stack", - "version": "0.10.15", + "version": "0.10.16", "description": "A cross-platform opinionated Fluent Text component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index 9041a5f486..5e2a444cb9 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/switch", - "version": "0.13.15", + "version": "0.13.16", "description": "A cross-platform Switch component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index abfb2c9b3b..777a990cd7 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tablist", - "version": "0.7.12", + "version": "0.7.13", "description": "A cross-platform TabList component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index 6b91465eed..4e76ea9f57 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/text", - "version": "0.24.14", + "version": "0.24.15", "description": "A cross-platform Text component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/dependency-profiles/package.json b/packages/dependency-profiles/package.json index 7f27838b25..f9c49ed1fe 100644 --- a/packages/dependency-profiles/package.json +++ b/packages/dependency-profiles/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/dependency-profiles", - "version": "0.8.55", + "version": "0.8.56", "description": "@rnx-kit/align-deps profiles covering packages published from FluentUI-React-Native", "license": "MIT", "files": [ diff --git a/packages/dependency-profiles/src/index.js b/packages/dependency-profiles/src/index.js index 36cd667f21..8df358235c 100644 --- a/packages/dependency-profiles/src/index.js +++ b/packages/dependency-profiles/src/index.js @@ -4,179 +4,179 @@ module.exports = { "0.74": { "@fluentui-react-native/e2e-testing": { "name": "@fluentui-react-native/e2e-testing", - "version": "1.43.4" + "version": "1.43.5" }, "@fluentui-react-native/tester": { "name": "@fluentui-react-native/tester", - "version": "0.170.36" + "version": "0.170.37" }, "@fluentui-react-native/tester-win32": { "name": "@fluentui-react-native/tester-win32", - "version": "0.38.55" + "version": "0.38.56" }, "@fluentui-react-native/avatar": { "name": "@fluentui-react-native/avatar", - "version": "1.12.16" + "version": "1.12.17" }, "@fluentui-react-native/badge": { "name": "@fluentui-react-native/badge", - "version": "0.11.10" + "version": "0.11.11" }, "@fluentui-react-native/button": { "name": "@fluentui-react-native/button", - "version": "0.39.12" + "version": "0.39.13" }, "@fluentui-react-native/callout": { "name": "@fluentui-react-native/callout", - "version": "0.27.10" + "version": "0.27.11" }, "@fluentui-react-native/checkbox": { "name": "@fluentui-react-native/checkbox", - "version": "0.23.16" + "version": "0.23.17" }, "@fluentui-react-native/chip": { "name": "@fluentui-react-native/chip", - "version": "0.4.16" + "version": "0.4.17" }, "@fluentui-react-native/contextual-menu": { "name": "@fluentui-react-native/contextual-menu", - "version": "0.24.24" + "version": "0.24.25" }, "@fluentui-react-native/divider": { "name": "@fluentui-react-native/divider", - "version": "0.7.16" + "version": "0.7.17" }, "@fluentui-react-native/focus-trap-zone": { "name": "@fluentui-react-native/focus-trap-zone", - "version": "0.12.13" + "version": "0.12.14" }, "@fluentui-react-native/focus-zone": { "name": "@fluentui-react-native/focus-zone", - "version": "0.21.8" + "version": "0.21.9" }, "@fluentui-react-native/icon": { "name": "@fluentui-react-native/icon", - "version": "0.21.16" + "version": "0.21.17" }, "@fluentui-react-native/input": { "name": "@fluentui-react-native/input", - "version": "0.7.16" + "version": "0.7.17" }, "@fluentui-react-native/link": { "name": "@fluentui-react-native/link", - "version": "0.23.16" + "version": "0.23.17" }, "@fluentui-react-native/menu": { "name": "@fluentui-react-native/menu", - "version": "1.14.32" + "version": "1.14.33" }, "@fluentui-react-native/menu-button": { "name": "@fluentui-react-native/menu-button", - "version": "0.13.27" + "version": "0.13.28" }, "@fluentui-react-native/notification": { "name": "@fluentui-react-native/notification", - "version": "0.25.19" + "version": "0.25.20" }, "@fluentui-react-native/persona": { "name": "@fluentui-react-native/persona", - "version": "0.16.10" + "version": "0.16.11" }, "@fluentui-react-native/persona-coin": { "name": "@fluentui-react-native/persona-coin", - "version": "0.15.10" + "version": "0.15.11" }, "@fluentui-react-native/pressable": { "name": "@fluentui-react-native/pressable", - "version": "0.12.12" + "version": "0.12.13" }, "@fluentui-react-native/radio-group": { "name": "@fluentui-react-native/radio-group", - "version": "0.21.24" + "version": "0.21.25" }, "@fluentui-react-native/separator": { "name": "@fluentui-react-native/separator", - "version": "0.18.10" + "version": "0.18.11" }, "@fluentui-react-native/stack": { "name": "@fluentui-react-native/stack", - "version": "0.10.15" + "version": "0.10.16" }, "@fluentui-react-native/switch": { "name": "@fluentui-react-native/switch", - "version": "0.13.15" + "version": "0.13.16" }, "@fluentui-react-native/tablist": { "name": "@fluentui-react-native/tablist", - "version": "0.7.12" + "version": "0.7.13" }, "@fluentui-react-native/text": { "name": "@fluentui-react-native/text", - "version": "0.24.14" + "version": "0.24.15" }, "@uifabricshared/foundation-composable": { "name": "@uifabricshared/foundation-composable", - "version": "0.13.9" + "version": "0.13.10" }, "@uifabricshared/foundation-compose": { "name": "@uifabricshared/foundation-compose", - "version": "1.15.10" + "version": "1.15.11" }, "@uifabricshared/foundation-settings": { "name": "@uifabricshared/foundation-settings", - "version": "0.15.9" + "version": "0.15.10" }, "@uifabricshared/foundation-tokens": { "name": "@uifabricshared/foundation-tokens", - "version": "0.15.10" + "version": "0.15.11" }, "@uifabricshared/theme-registry": { "name": "@uifabricshared/theme-registry", - "version": "0.12.8" + "version": "0.12.9" }, "@uifabricshared/themed-settings": { "name": "@uifabricshared/themed-settings", - "version": "0.12.9" + "version": "0.12.10" }, "@uifabricshared/theming-ramp": { "name": "@uifabricshared/theming-ramp", - "version": "0.20.10" + "version": "0.20.11" }, "@uifabricshared/theming-react-native": { "name": "@uifabricshared/theming-react-native", - "version": "0.20.13" + "version": "0.20.14" }, "@fluentui-react-native/experimental-activity-indicator": { "name": "@fluentui-react-native/experimental-activity-indicator", - "version": "0.10.11" + "version": "0.10.12" }, "@fluentui-react-native/experimental-appearance-additions": { "name": "@fluentui-react-native/experimental-appearance-additions", - "version": "0.7.10" + "version": "0.7.11" }, "@fluentui-react-native/experimental-avatar": { "name": "@fluentui-react-native/experimental-avatar", - "version": "0.21.12" + "version": "0.21.13" }, "@fluentui-react-native/experimental-checkbox": { "name": "@fluentui-react-native/experimental-checkbox", - "version": "0.17.17" + "version": "0.17.18" }, "@fluentui-react-native/drawer": { "name": "@fluentui-react-native/drawer", - "version": "0.4.12" + "version": "0.4.13" }, "@fluentui-react-native/dropdown": { "name": "@fluentui-react-native/dropdown", - "version": "0.10.21" + "version": "0.10.22" }, "@fluentui-react-native/experimental-expander": { "name": "@fluentui-react-native/experimental-expander", - "version": "0.8.11" + "version": "0.8.12" }, "@fluentui-react-native/experimental-menu-button": { "name": "@fluentui-react-native/experimental-menu-button", - "version": "0.10.27" + "version": "0.10.28" }, "@fluentui-react-native/experimental-native-date-picker": { "name": "@fluentui-react-native/experimental-native-date-picker", @@ -188,27 +188,27 @@ module.exports = { }, "@fluentui-react-native/overflow": { "name": "@fluentui-react-native/overflow", - "version": "0.3.32" + "version": "0.3.33" }, "@fluentui-react-native/popover": { "name": "@fluentui-react-native/popover", - "version": "0.4.10" + "version": "0.4.11" }, "@fluentui-react-native/experimental-shadow": { "name": "@fluentui-react-native/experimental-shadow", - "version": "0.6.12" + "version": "0.6.13" }, "@fluentui-react-native/experimental-shimmer": { "name": "@fluentui-react-native/experimental-shimmer", - "version": "0.13.13" + "version": "0.13.14" }, "@fluentui-react-native/spinner": { "name": "@fluentui-react-native/spinner", - "version": "0.9.17" + "version": "0.9.18" }, "@fluentui-react-native/tooltip": { "name": "@fluentui-react-native/tooltip", - "version": "0.4.19" + "version": "0.4.20" }, "@fluentui-react-native/vibrancy-view": { "name": "@fluentui-react-native/vibrancy-view", @@ -216,11 +216,11 @@ module.exports = { }, "@fluentui-react-native/framework-base": { "name": "@fluentui-react-native/framework-base", - "version": "0.1.4" + "version": "0.2.0" }, "@fluentui-react-native/composition": { "name": "@fluentui-react-native/composition", - "version": "0.11.10" + "version": "0.11.11" }, "@fluentui-react-native/eslint-config-rules": { "name": "@fluentui-react-native/eslint-config-rules", @@ -228,59 +228,59 @@ module.exports = { }, "@fluentui-react-native/framework": { "name": "@fluentui-react-native/framework", - "version": "0.14.10" + "version": "0.14.11" }, "@fluentui-react-native/immutable-merge": { "name": "@fluentui-react-native/immutable-merge", - "version": "1.2.9" + "version": "1.2.10" }, "@fluentui-react-native/memo-cache": { "name": "@fluentui-react-native/memo-cache", - "version": "1.3.10" + "version": "1.3.11" }, "@fluentui-react-native/merge-props": { "name": "@fluentui-react-native/merge-props", - "version": "0.9.9" + "version": "0.9.10" }, "@fluentui-react-native/theme": { "name": "@fluentui-react-native/theme", - "version": "0.11.9" + "version": "0.11.10" }, "@fluentui-react-native/themed-stylesheet": { "name": "@fluentui-react-native/themed-stylesheet", - "version": "1.7.9" + "version": "1.7.10" }, "@fluentui-react-native/use-slot": { "name": "@fluentui-react-native/use-slot", - "version": "0.6.10" + "version": "0.6.11" }, "@fluentui-react-native/use-slots": { "name": "@fluentui-react-native/use-slots", - "version": "0.10.10" + "version": "0.10.11" }, "@fluentui-react-native/use-styling": { "name": "@fluentui-react-native/use-styling", - "version": "0.13.10" + "version": "0.13.11" }, "@fluentui-react-native/use-tokens": { "name": "@fluentui-react-native/use-tokens", - "version": "0.6.10" + "version": "0.6.11" }, "@fluentui/react-native": { "name": "@fluentui/react-native", - "version": "0.42.21" + "version": "0.42.22" }, "@fluentui-react-native/android-theme": { "name": "@fluentui-react-native/android-theme", - "version": "0.25.10" + "version": "0.25.11" }, "@fluentui-react-native/apple-theme": { "name": "@fluentui-react-native/apple-theme", - "version": "0.28.10" + "version": "0.28.11" }, "@fluentui-react-native/default-theme": { "name": "@fluentui-react-native/default-theme", - "version": "0.26.10" + "version": "0.26.11" }, "@fluentui-react-native/theme-tokens": { "name": "@fluentui-react-native/theme-tokens", @@ -296,7 +296,7 @@ module.exports = { }, "@fluentui-react-native/win32-theme": { "name": "@fluentui-react-native/win32-theme", - "version": "0.34.13" + "version": "0.34.14" }, "@fluentui-react-native/adapters": { "name": "@fluentui-react-native/adapters", @@ -304,7 +304,7 @@ module.exports = { }, "@fluentui-react-native/interactive-hooks": { "name": "@fluentui-react-native/interactive-hooks", - "version": "0.27.12" + "version": "0.27.13" }, "@fluentui-react-native/styling-utils": { "name": "@fluentui-react-native/styling-utils", diff --git a/packages/deprecated/foundation-composable/package.json b/packages/deprecated/foundation-composable/package.json index 19ef3717e6..6911fe0cf1 100644 --- a/packages/deprecated/foundation-composable/package.json +++ b/packages/deprecated/foundation-composable/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-composable", - "version": "0.13.9", + "version": "0.13.10", "description": "Composable component building blocks", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-compose/package.json b/packages/deprecated/foundation-compose/package.json index 870df5ef7a..218d54973c 100644 --- a/packages/deprecated/foundation-compose/package.json +++ b/packages/deprecated/foundation-compose/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-compose", - "version": "1.15.10", + "version": "1.15.11", "description": "Compose infrastructure", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-settings/package.json b/packages/deprecated/foundation-settings/package.json index 87ea739948..57409cad5b 100644 --- a/packages/deprecated/foundation-settings/package.json +++ b/packages/deprecated/foundation-settings/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-settings", - "version": "0.15.9", + "version": "0.15.10", "description": "Settings and style definitions and helpers", "repository": { "type": "git", diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index 2511163280..4bdceb4425 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/foundation-tokens", - "version": "0.15.10", + "version": "0.15.11", "description": "Core tokens package", "repository": { "type": "git", diff --git a/packages/deprecated/theme-registry/package.json b/packages/deprecated/theme-registry/package.json index 7a2972cdb0..7da8f3f381 100644 --- a/packages/deprecated/theme-registry/package.json +++ b/packages/deprecated/theme-registry/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theme-registry", - "version": "0.12.8", + "version": "0.12.9", "description": "Implementation of the theme graph", "repository": { "type": "git", diff --git a/packages/deprecated/themed-settings/package.json b/packages/deprecated/themed-settings/package.json index f400936ce6..f1f5144849 100644 --- a/packages/deprecated/themed-settings/package.json +++ b/packages/deprecated/themed-settings/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/themed-settings", - "version": "0.12.9", + "version": "0.12.10", "description": "Package which drives custom cacheable settings for a component", "repository": { "type": "git", diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index 7e706b2b1d..88100bd4a9 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theming-ramp", - "version": "0.20.10", + "version": "0.20.11", "description": "Theming Library", "repository": { "type": "git", diff --git a/packages/deprecated/theming-react-native/package.json b/packages/deprecated/theming-react-native/package.json index 62b1162b40..af87190b4b 100644 --- a/packages/deprecated/theming-react-native/package.json +++ b/packages/deprecated/theming-react-native/package.json @@ -1,6 +1,6 @@ { "name": "@uifabricshared/theming-react-native", - "version": "0.20.13", + "version": "0.20.14", "description": "A library of functions which produce React Native styles from a Theme", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/ActivityIndicator/package.json b/packages/experimental/ActivityIndicator/package.json index 3b1a6f8d91..76ccf76974 100644 --- a/packages/experimental/ActivityIndicator/package.json +++ b/packages/experimental/ActivityIndicator/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-activity-indicator", - "version": "0.10.11", + "version": "0.10.12", "description": "A cross-platform Fluent Activity Indicator component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/AppearanceAdditions/package.json b/packages/experimental/AppearanceAdditions/package.json index 5506d21f08..ce590b3fb6 100644 --- a/packages/experimental/AppearanceAdditions/package.json +++ b/packages/experimental/AppearanceAdditions/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-appearance-additions", - "version": "0.7.10", + "version": "0.7.11", "description": "A module to expose callbacks for additional traitCollection changes.", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index 1d108d79b7..69778ca850 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-avatar", - "version": "0.21.12", + "version": "0.21.13", "description": "A cross-platform Avatar component using the Fluent Design System. Currently only implemented on iOS", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json index 170191d2c5..25bd8ea883 100644 --- a/packages/experimental/Checkbox/package.json +++ b/packages/experimental/Checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-checkbox", - "version": "0.17.17", + "version": "0.17.18", "description": "A cross-platform Checkbox component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index 1737e1ac27..7967c320cc 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/drawer", - "version": "0.4.12", + "version": "0.4.13", "description": "A cross-platform Drawer component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json index a2a16bb22d..30462f2a20 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/dropdown", - "version": "0.10.21", + "version": "0.10.22", "description": "A cross-platform Dropdown component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Expander/package.json b/packages/experimental/Expander/package.json index 9306f1c26e..522d0fd1b0 100644 --- a/packages/experimental/Expander/package.json +++ b/packages/experimental/Expander/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-expander", - "version": "0.8.11", + "version": "0.8.12", "description": "A cross-platform Native Expander component using the Fluent Design System. Currently only implemented on windows", "license": "MIT", "author": "Microsoft ", diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index 64f1014c9e..50302400f5 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-menu-button", - "version": "0.10.27", + "version": "0.10.28", "description": "A cross-platform MenuButton component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index 8db48a015a..a4ed6c19a4 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/overflow", - "version": "0.3.32", + "version": "0.3.33", "description": "A cross-platform Overflow component for React Native.", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Popover/package.json b/packages/experimental/Popover/package.json index 0cc614c57e..2aea9b8822 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/popover", - "version": "0.4.10", + "version": "0.4.11", "description": "A cross-platform Popover component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index 325daf8689..82312664dd 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-shadow", - "version": "0.6.12", + "version": "0.6.13", "description": "A cross-platform Shadow component using the Fluent Design System", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index dc67d4e6b5..9be738b3d4 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/experimental-shimmer", - "version": "0.13.13", + "version": "0.13.14", "description": "A cross-platform Fluent Shimmer component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Spinner/package.json b/packages/experimental/Spinner/package.json index b248f50b5c..629fca263b 100644 --- a/packages/experimental/Spinner/package.json +++ b/packages/experimental/Spinner/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/spinner", - "version": "0.9.17", + "version": "0.9.18", "description": "A cross-platform Fluent spinner component", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index e5d11019ad..f20af78273 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/tooltip", - "version": "0.4.19", + "version": "0.4.20", "description": "A cross-platform Tooltip component for React Native.", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/framework-base/CHANGELOG.json b/packages/framework-base/CHANGELOG.json index 1280e08b84..85eeac5919 100644 --- a/packages/framework-base/CHANGELOG.json +++ b/packages/framework-base/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/framework-base", "entries": [ + { + "date": "Tue, 29 Jul 2025 06:35:19 GMT", + "version": "0.2.0", + "tag": "@fluentui-react-native/framework-base_v0.2.0", + "comments": { + "minor": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/framework-base", + "commit": "78329a2222622ac8d90345d3aa908355e70f5d1a", + "comment": "implement both new and old render patterns for classic and jsx-runtimes" + } + ] + } + }, { "date": "Fri, 25 Jul 2025 21:36:33 GMT", "version": "0.1.4", diff --git a/packages/framework-base/CHANGELOG.md b/packages/framework-base/CHANGELOG.md index f4a9206cc0..e2054c55be 100644 --- a/packages/framework-base/CHANGELOG.md +++ b/packages/framework-base/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @fluentui-react-native/framework-base - + +## 0.2.0 + +Tue, 29 Jul 2025 06:35:19 GMT + +### Minor changes + +- implement both new and old render patterns for classic and jsx-runtimes (jasonmo@microsoft.com) + ## 0.1.4 Fri, 25 Jul 2025 21:36:33 GMT diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index 374b7d882a..87b1957f61 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/framework-base", - "version": "0.1.4", + "version": "0.2.0", "description": "Base types and utilities fluentui-react-native frameworks", "repository": { "type": "git", diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index fa56cdcd5b..e79ec07cc3 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/composition", - "version": "0.11.10", + "version": "0.11.11", "description": "Composition factories for building HOCs", "repository": { "type": "git", diff --git a/packages/framework/framework/package.json b/packages/framework/framework/package.json index 588e5364e9..8ad29bfff6 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/framework", - "version": "0.14.10", + "version": "0.14.11", "description": "Component framework used by fluentui react native controls", "main": "lib-commonjs/index.js", "module": "lib/index.js", diff --git a/packages/framework/immutable-merge/CHANGELOG.json b/packages/framework/immutable-merge/CHANGELOG.json index 4fc76ede9e..663fe64641 100644 --- a/packages/framework/immutable-merge/CHANGELOG.json +++ b/packages/framework/immutable-merge/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/immutable-merge", "entries": [ + { + "date": "Tue, 29 Jul 2025 06:35:19 GMT", + "version": "1.2.10", + "tag": "@fluentui-react-native/immutable-merge_v1.2.10", + "comments": { + "none": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/immutable-merge", + "commit": "78329a2222622ac8d90345d3aa908355e70f5d1a", + "comment": "update documentation" + } + ] + } + }, { "date": "Fri, 25 Jul 2025 21:36:33 GMT", "version": "1.2.9", diff --git a/packages/framework/immutable-merge/package.json b/packages/framework/immutable-merge/package.json index 0abaed7374..d4df3a1eb6 100644 --- a/packages/framework/immutable-merge/package.json +++ b/packages/framework/immutable-merge/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/immutable-merge", - "version": "1.2.9", + "version": "1.2.10", "description": "Immutable merge routines for deep customizable merging", "repository": { "type": "git", diff --git a/packages/framework/memo-cache/CHANGELOG.json b/packages/framework/memo-cache/CHANGELOG.json index df2b030815..861f3f0da8 100644 --- a/packages/framework/memo-cache/CHANGELOG.json +++ b/packages/framework/memo-cache/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/memo-cache", "entries": [ + { + "date": "Tue, 29 Jul 2025 06:35:19 GMT", + "version": "1.3.11", + "tag": "@fluentui-react-native/memo-cache_v1.3.11", + "comments": { + "none": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/memo-cache", + "commit": "78329a2222622ac8d90345d3aa908355e70f5d1a", + "comment": "update documentation" + } + ] + } + }, { "date": "Fri, 25 Jul 2025 21:36:33 GMT", "version": "1.3.10", diff --git a/packages/framework/memo-cache/package.json b/packages/framework/memo-cache/package.json index ccdbe042cb..783eef31f9 100644 --- a/packages/framework/memo-cache/package.json +++ b/packages/framework/memo-cache/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/memo-cache", - "version": "1.3.10", + "version": "1.3.11", "description": "Layered memoization style cache helper", "repository": { "type": "git", diff --git a/packages/framework/merge-props/CHANGELOG.json b/packages/framework/merge-props/CHANGELOG.json index ab1d3bc630..c44ebf1567 100644 --- a/packages/framework/merge-props/CHANGELOG.json +++ b/packages/framework/merge-props/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@fluentui-react-native/merge-props", "entries": [ + { + "date": "Tue, 29 Jul 2025 06:35:19 GMT", + "version": "0.9.10", + "tag": "@fluentui-react-native/merge-props_v0.9.10", + "comments": { + "none": [ + { + "author": "jasonmo@microsoft.com", + "package": "@fluentui-react-native/merge-props", + "commit": "78329a2222622ac8d90345d3aa908355e70f5d1a", + "comment": "update documentation" + } + ] + } + }, { "date": "Wed, 16 Jul 2025 20:06:46 GMT", "version": "0.9.6", diff --git a/packages/framework/merge-props/package.json b/packages/framework/merge-props/package.json index e00b0b7c16..254d81d81a 100644 --- a/packages/framework/merge-props/package.json +++ b/packages/framework/merge-props/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/merge-props", - "version": "0.9.9", + "version": "0.9.10", "description": "Utility for merging props with styles and caching style combinations", "repository": { "type": "git", diff --git a/packages/framework/theme/package.json b/packages/framework/theme/package.json index 7da5ce2154..e900a3294d 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/theme", - "version": "0.11.9", + "version": "0.11.10", "description": "Experimental version of fluentui-react-native theme framework", "repository": { "type": "git", diff --git a/packages/framework/themed-stylesheet/package.json b/packages/framework/themed-stylesheet/package.json index 698a369553..4bea6975df 100644 --- a/packages/framework/themed-stylesheet/package.json +++ b/packages/framework/themed-stylesheet/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/themed-stylesheet", - "version": "1.7.9", + "version": "1.7.10", "description": "Helper for using react-native StyleSheets with themes", "repository": { "type": "git", diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index 131700be2a..b128cbbb83 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-slot", - "version": "0.6.10", + "version": "0.6.11", "description": "Hook function to use a component as a pluggable slot", "repository": { "type": "git", diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index 5f9a3f3110..002210cc64 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-slots", - "version": "0.10.10", + "version": "0.10.11", "description": "Hook function to return styled slots", "repository": { "type": "git", diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index 4b63efbd8d..2094a7c1d6 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-styling", - "version": "0.13.10", + "version": "0.13.11", "description": "Opinionated use styling hook implementation", "repository": { "type": "git", diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index 0d2f419c11..4ea750f63c 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/use-tokens", - "version": "0.6.10", + "version": "0.6.11", "description": "Utilities and hook function for getting themed tokens for a component", "repository": { "type": "git", diff --git a/packages/libraries/core/package.json b/packages/libraries/core/package.json index e20f753000..efd7639ff0 100644 --- a/packages/libraries/core/package.json +++ b/packages/libraries/core/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui/react-native", - "version": "0.42.21", + "version": "0.42.22", "description": "A react-native component library that implements the Fluent Design System.", "license": "MIT", "repository": { diff --git a/packages/theming/android-theme/package.json b/packages/theming/android-theme/package.json index d50364be5e..912a4b4535 100644 --- a/packages/theming/android-theme/package.json +++ b/packages/theming/android-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/android-theme", - "version": "0.25.10", + "version": "0.25.11", "description": "A FluentUI React Native theme that pulls constants from FluentUI Android", "repository": { "type": "git", diff --git a/packages/theming/apple-theme/package.json b/packages/theming/apple-theme/package.json index 232ae646ab..b07c5598fb 100644 --- a/packages/theming/apple-theme/package.json +++ b/packages/theming/apple-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/apple-theme", - "version": "0.28.10", + "version": "0.28.11", "description": "A FluentUI React Native theme that pulls constants from FluentUI Apple", "license": "MIT", "author": "Microsoft ", diff --git a/packages/theming/default-theme/package.json b/packages/theming/default-theme/package.json index 16abcb96c0..c4264e75f3 100644 --- a/packages/theming/default-theme/package.json +++ b/packages/theming/default-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/default-theme", - "version": "0.26.10", + "version": "0.26.11", "description": "Typing only package for fluentui-react-native theme types", "repository": { "type": "git", diff --git a/packages/theming/win32-theme/package.json b/packages/theming/win32-theme/package.json index 917868284a..caa48a299a 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/win32-theme", - "version": "0.34.13", + "version": "0.34.14", "description": "Win32 office theme that works with the theming native module", "repository": { "type": "git", diff --git a/packages/utils/interactive-hooks/package.json b/packages/utils/interactive-hooks/package.json index 2bf0801fc2..2fd8954cac 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@fluentui-react-native/interactive-hooks", - "version": "0.27.12", + "version": "0.27.13", "description": "Hooks for adding focus, hover, and press semantics to view based components", "main": "lib-commonjs/index.js", "module": "lib/index.js", From b9aa67b9395f6b8aaabb19849cb260d9c093580b Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 29 Jul 2025 08:24:00 -0700 Subject: [PATCH 08/33] apply more dependency fixes --- packages/components/Avatar/package.json | 1 + packages/components/Badge/package.json | 1 + packages/components/Button/package.json | 3 +- packages/components/Callout/package.json | 3 +- packages/components/Checkbox/package.json | 3 +- packages/components/Chip/package.json | 3 +- .../components/ContextualMenu/package.json | 8 +++-- packages/components/Divider/package.json | 3 +- .../components/FocusTrapZone/package.json | 3 +- packages/components/FocusZone/package.json | 3 +- packages/components/Icon/package.json | 3 +- packages/components/Input/package.json | 3 +- packages/components/Link/package.json | 3 +- packages/components/Menu/package.json | 3 +- packages/components/MenuButton/package.json | 3 +- packages/components/Notification/package.json | 3 +- packages/components/RadioGroup/package.json | 3 +- packages/components/Separator/package.json | 3 +- packages/components/Stack/package.json | 3 +- packages/components/Switch/package.json | 3 +- packages/components/TabList/package.json | 3 +- packages/components/Text/package.json | 3 +- packages/experimental/Avatar/package.json | 3 +- packages/experimental/Drawer/package.json | 3 +- packages/experimental/MenuButton/package.json | 3 +- packages/experimental/Overflow/package.json | 3 +- packages/experimental/Shadow/package.json | 3 +- packages/experimental/Shimmer/package.json | 3 +- packages/experimental/Stack/package.json | 5 ++-- packages/experimental/Tooltip/package.json | 3 +- packages/framework-base/package.json | 2 +- packages/framework/composition/package.json | 3 +- packages/framework/framework/package.json | 3 +- packages/framework/use-slot/package.json | 3 +- packages/framework/use-slots/package.json | 3 +- packages/framework/use-styling/package.json | 3 +- packages/framework/use-tokens/package.json | 3 +- packages/utils/interactive-hooks/package.json | 3 +- packages/utils/test-tools/package.json | 24 +++------------ scripts/package.json | 30 +------------------ 40 files changed, 82 insertions(+), 88 deletions(-) diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index b975c58cc2..c2fe248aba 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -88,6 +88,7 @@ "core-macos", "core-windows", "react", + "react-test-renderer", "svg" ] } diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index f933392750..61b8b5732f 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -87,6 +87,7 @@ "core-macos", "core-windows", "react", + "react-test-renderer", "svg" ] } diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index d21281744e..787a229cb8 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -98,7 +98,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index 9798af91b1..d3fc1b88f0 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -81,7 +81,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index d1f58becea..9531d6c4b1 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -94,7 +94,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json index 21252975c1..045a6044e2 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -83,7 +83,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index c1a6c0b52a..60c326780c 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -42,8 +42,7 @@ "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", - "@uifabricshared/foundation-settings": "workspace:*", - "metro-config": "^0.80.3" + "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", @@ -55,6 +54,7 @@ "@react-native/metro-config": "^0.74.0", "@types/react": "~18.2.0", "@types/react-test-renderer": "^18.2.0", + "metro-config": "^0.80.3", "react": "18.2.0", "react-native": "^0.74.0", "react-native-macos": "^0.74.0", @@ -93,7 +93,9 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "metro-config", + "react-test-renderer" ] } }, diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json index 74ae416374..4622dbb6c9 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -85,7 +85,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index 0263ae1ab5..bd70828bc2 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -80,7 +80,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/FocusZone/package.json b/packages/components/FocusZone/package.json index 60e8dc56e1..a9ff1d1ffd 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -80,7 +80,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json index fe7baa9f5d..8c93830417 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -83,7 +83,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json index ab97a05dc7..ad50bd1846 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -87,7 +87,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Link/package.json b/packages/components/Link/package.json index 0a91505d84..eb924a3fd1 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -85,7 +85,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json index f5e1cf164b..8d49c96247 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -93,7 +93,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json index 24033075e7..bcc2a3762f 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -87,7 +87,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json index 39f01b6a6b..f6691c1a19 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -93,7 +93,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json index 73533f852c..ac9a131187 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -93,7 +93,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Separator/package.json b/packages/components/Separator/package.json index 585bd83e27..95fc7b2243 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -79,7 +79,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Stack/package.json b/packages/components/Stack/package.json index f15eeda286..08f6573b65 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -83,7 +83,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index 5e2a444cb9..6727a90cd1 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -84,7 +84,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index 777a990cd7..a6992b79f7 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -89,7 +89,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index 4e76ea9f57..399ff42957 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -82,7 +82,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index 69778ca850..029f9a9b99 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -77,7 +77,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index 7967c320cc..d595043cca 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -79,7 +79,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index 50302400f5..3915b57052 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -83,7 +83,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index a4ed6c19a4..e76fc4812b 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -81,7 +81,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index 82312664dd..52d7ef924f 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -79,7 +79,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index 9be738b3d4..1531821b84 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -82,7 +82,8 @@ "core-ios", "core-macos", "core-windows", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Stack/package.json b/packages/experimental/Stack/package.json index 648d53c8dc..68e7921dd5 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -48,7 +48,7 @@ "react-native": "^0.74.0", "react-native-macos": "^0.74.0", "react-native-windows": "^0.74.0", - "react-test-renderer": "^18.2.0", + "react-test-renderer": "18.2.0", "tslib": "^2.3.1" }, "peerDependencies": { @@ -81,7 +81,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index f20af78273..26d74017a9 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -81,7 +81,8 @@ "core-macos", "core-windows", "react", - "svg" + "svg", + "react-test-renderer" ] } }, diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index 87b1957f61..293bbd5b9a 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -40,6 +40,7 @@ "author": "", "license": "MIT", "dependencies": { + "@types/react": "^18.2.0", "react": "18.2.0" }, "devDependencies": { @@ -47,7 +48,6 @@ "@fluentui-react-native/scripts": "workspace:*", "@types/jest": "^29.0.0", "@types/node": "^22.0.0", - "@types/react": "^18.2.0", "react-native": "^0.74.0" } } diff --git a/packages/framework/composition/package.json b/packages/framework/composition/package.json index e79ec07cc3..5ff9fc9f42 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -73,7 +73,8 @@ "babel-preset-react-native", "core", "core-android", - "core-ios" + "core-ios", + "react-test-renderer" ] } } diff --git a/packages/framework/framework/package.json b/packages/framework/framework/package.json index 8ad29bfff6..01cfd0141f 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -86,7 +86,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/framework/use-slot/package.json b/packages/framework/use-slot/package.json index b128cbbb83..980238832f 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -72,7 +72,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } } diff --git a/packages/framework/use-slots/package.json b/packages/framework/use-slots/package.json index 002210cc64..500d5ac752 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -73,7 +73,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } } diff --git a/packages/framework/use-styling/package.json b/packages/framework/use-styling/package.json index 2094a7c1d6..682a79990b 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -70,7 +70,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/framework/use-tokens/package.json b/packages/framework/use-tokens/package.json index 4ea750f63c..b73058c09e 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -69,7 +69,8 @@ "core", "core-android", "core-ios", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/utils/interactive-hooks/package.json b/packages/utils/interactive-hooks/package.json index 2fd8954cac..ca973567c7 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -82,7 +82,8 @@ "core-ios", "core-macos", "core-windows", - "react" + "react", + "react-test-renderer" ] } }, diff --git a/packages/utils/test-tools/package.json b/packages/utils/test-tools/package.json index bc4ce031ee..8cd4819bbc 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -29,8 +29,7 @@ "directory": "packages/utils/test-tools" }, "dependencies": { - "@fluentui-react-native/theme-types": "workspace:*", - "react-test-renderer": "18.2.0" + "@fluentui-react-native/theme-types": "workspace:*" }, "devDependencies": { "@fluentui-react-native/eslint-config-rules": "workspace:*", @@ -38,7 +37,8 @@ "@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", @@ -47,22 +47,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/scripts/package.json b/scripts/package.json index debdd16ec5..9ddb2499f7 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -59,34 +59,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" } } From fb9d67568c4bbc0cc21713dca0caa10ad11846b7 Mon Sep 17 00:00:00 2001 From: Jason Morse <35609178+JasonVMo@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:59:44 -0700 Subject: [PATCH 09/33] JSX runtime (part 2 of 3) - more formal rendering logic for both classic and new jsx runtimes (#3947) * rework jsx helpers for both new and old runtimes * implement both new and old render patterns for classic and jsx-runtimes * Change files * move package README.md files to be next to the source code * update documentation * Change files * prettier format updates to documentation * tweak documentation just a bit --- ...ramework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json | 7 +++++++ ...mutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json | 7 +++++++ ...ve-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json | 7 +++++++ ...e-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json | 7 +++++++ ...native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json create mode 100644 change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json create mode 100644 change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json create mode 100644 change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json create mode 100644 change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json diff --git a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json new file mode 100644 index 0000000000..3604932430 --- /dev/null +++ b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "implement both new and old render patterns for classic and jsx-runtimes", + "packageName": "@fluentui-react-native/framework-base", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json new file mode 100644 index 0000000000..e3be8149aa --- /dev/null +++ b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/immutable-merge", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json new file mode 100644 index 0000000000..07fc2a8fd7 --- /dev/null +++ b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/memo-cache", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json new file mode 100644 index 0000000000..c245e723df --- /dev/null +++ b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update documentation", + "packageName": "@fluentui-react-native/merge-props", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json new file mode 100644 index 0000000000..44f52cd801 --- /dev/null +++ b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "rework jsx helpers for both new and old runtimes", + "packageName": "@fluentui-react-native/tester", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} From 7d54e989f5dcef560f6b17fea3a3d8428649dedc Mon Sep 17 00:00:00 2001 From: UI-Fabric-RN-Bot Date: Tue, 29 Jul 2025 06:35:22 +0000 Subject: [PATCH 10/33] applying package updates --- ...ramework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json | 7 ------- ...mutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json | 7 ------- ...ve-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json | 7 ------- ...e-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json | 7 ------- ...native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json | 7 ------- 5 files changed, 35 deletions(-) delete mode 100644 change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json delete mode 100644 change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json delete mode 100644 change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json delete mode 100644 change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json delete mode 100644 change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json diff --git a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json b/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json deleted file mode 100644 index 3604932430..0000000000 --- a/change/@fluentui-react-native-framework-base-5fdded4e-da99-42ac-a660-501e4aa4e831.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "minor", - "comment": "implement both new and old render patterns for classic and jsx-runtimes", - "packageName": "@fluentui-react-native/framework-base", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} diff --git a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json b/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json deleted file mode 100644 index e3be8149aa..0000000000 --- a/change/@fluentui-react-native-immutable-merge-fe963967-3c5d-44ee-b7b6-bd67720856d6.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/immutable-merge", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json b/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json deleted file mode 100644 index 07fc2a8fd7..0000000000 --- a/change/@fluentui-react-native-memo-cache-f82fa9b0-24fa-493e-90bf-23f4592908f3.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/memo-cache", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json b/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json deleted file mode 100644 index c245e723df..0000000000 --- a/change/@fluentui-react-native-merge-props-88bde9a7-67b6-40ac-9e3f-cf9e3e643597.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "none", - "comment": "update documentation", - "packageName": "@fluentui-react-native/merge-props", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "none" -} diff --git a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json b/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json deleted file mode 100644 index 44f52cd801..0000000000 --- a/change/@fluentui-react-native-tester-e3900adc-3730-4ef8-8279-3c0f08e2c8b5.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "rework jsx helpers for both new and old runtimes", - "packageName": "@fluentui-react-native/tester", - "email": "jasonmo@microsoft.com", - "dependentChangeType": "patch" -} From 24a8f0953848a8e2dc2fcdb8184f3a94b6c2fa60 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 29 Jul 2025 10:12:06 -0700 Subject: [PATCH 11/33] switch to pnpm and fix to build stage --- .yarnrc.yml | 4 +- apps/E2E/tsconfig.json | 1 - apps/fluent-tester/package.json | 2 +- .../PersonaCoin/CustomizeUsage.mobile.tsx | 7 +- apps/fluent-tester/tsconfig.json | 2 +- apps/win32/tsconfig.json | 1 - packages/codemods/package.json | 3 +- packages/components/Checkbox/jest.config.js | 2 + packages/components/Link/tsconfig.json | 1 - packages/components/Menu/package.json | 1 + packages/components/Menu/tsconfig.json | 1 - packages/components/RadioGroup/tsconfig.json | 1 - packages/components/Stack/src/Stack.tsx | 3 +- packages/components/TabList/tsconfig.json | 1 - packages/experimental/Checkbox/tsconfig.json | 4 +- packages/experimental/Dropdown/tsconfig.json | 4 +- .../experimental/Expander/src/Expander.tsx | 2 +- packages/experimental/Overflow/tsconfig.json | 1 - packages/experimental/Popover/tsconfig.json | 1 - packages/experimental/Stack/jest.config.js | 2 + packages/experimental/Stack/src/Stack.tsx | 2 +- packages/experimental/Stack/tsconfig.json | 1 - packages/experimental/Tooltip/tsconfig.json | 1 - .../experimental/VibrancyView/tsconfig.json | 1 - packages/framework-base/tsconfig.json | 1 - packages/framework/framework/tsconfig.json | 1 - .../framework/immutable-merge/tsconfig.json | 1 - packages/framework/memo-cache/tsconfig.json | 1 - packages/framework/merge-props/tsconfig.json | 1 - .../framework/theme/src/ThemeProvider.tsx | 2 +- packages/framework/use-slot/tsconfig.json | 1 - packages/framework/use-styling/tsconfig.json | 1 - packages/framework/use-tokens/tsconfig.json | 1 - packages/libraries/core/tsconfig.json | 8 +- .../NativeModule/getThemingModule.native.ts | 2 +- packages/theming/win32-theme/tsconfig.json | 1 - packages/utils/adapters/package.json | 7 +- .../utils/interactive-hooks/tsconfig.json | 4 +- packages/utils/test-tools/package.json | 4 +- packages/utils/tokens/tsconfig.json | 1 - scripts/configs/tsconfig.json | 2 +- scripts/dynamic.extensions.mjs | 2 +- scripts/package.json | 2 + scripts/src/configs/configureBabel.js | 5 - scripts/src/configs/configureJest.js | 2 +- scripts/src/preinstall/tool-versions.js | 1 + scripts/tsconfig.json | 3 +- yarn.lock | 125 ++++-------------- 48 files changed, 69 insertions(+), 159 deletions(-) create mode 100644 packages/components/Checkbox/jest.config.js create mode 100644 packages/experimental/Stack/jest.config.js diff --git a/.yarnrc.yml b/.yarnrc.yml index 01793fe600..aa71f7e461 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,11 +2,11 @@ dynamicPackageExtensions: ./scripts/dynamic.extensions.mjs enableGlobalCache: false -nodeLinker: node-modules +nodeLinker: pnpm 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/fluent-tester/package.json b/apps/fluent-tester/package.json index a2b14aaae9..c830f1de34 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -90,7 +90,7 @@ "@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", 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/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/packages/codemods/package.json b/packages/codemods/package.json index 614885c18a..3d6131a9f8 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -44,7 +44,8 @@ "@fluentui-react-native/eslint-config-rules": "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/components/Checkbox/jest.config.js b/packages/components/Checkbox/jest.config.js new file mode 100644 index 0000000000..f6813bad78 --- /dev/null +++ b/packages/components/Checkbox/jest.config.js @@ -0,0 +1,2 @@ +const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +module.exports = configureReactNativeJest('win32'); diff --git a/packages/components/Link/tsconfig.json b/packages/components/Link/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/components/Link/tsconfig.json +++ b/packages/components/Link/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/Menu/package.json b/packages/components/Menu/package.json index 8d49c96247..8b331228a5 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -51,6 +51,7 @@ "@office-iss/react-native-win32": "^0.74.0", "@react-native/babel-preset": "^0.74.0", "@react-native/metro-config": "^0.74.0", + "@types/node": "^22.0.0", "@types/react": "~18.2.0", "@types/react-test-renderer": "^18.2.0", "react": "18.2.0", diff --git a/packages/components/Menu/tsconfig.json b/packages/components/Menu/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/components/Menu/tsconfig.json +++ b/packages/components/Menu/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/RadioGroup/tsconfig.json b/packages/components/RadioGroup/tsconfig.json index bd68e1f728..89a07a88a9 100644 --- a/packages/components/RadioGroup/tsconfig.json +++ b/packages/components/RadioGroup/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/Stack/src/Stack.tsx b/packages/components/Stack/src/Stack.tsx index eb7459050c..6d1fd2a4a3 100644 --- a/packages/components/Stack/src/Stack.tsx +++ b/packages/components/Stack/src/Stack.tsx @@ -40,7 +40,7 @@ const _styleKey = 'style'; const render = (Slots: ISlots, 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/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/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/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/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/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/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/Stack/jest.config.js b/packages/experimental/Stack/jest.config.js new file mode 100644 index 0000000000..051098f649 --- /dev/null +++ b/packages/experimental/Stack/jest.config.js @@ -0,0 +1,2 @@ +const { configureReactNativeJest } = require('@fluentui-react-native/scripts'); +module.exports = configureReactNativeJest('android'); 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/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/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/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/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/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/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/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/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/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-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/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/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/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/package.json b/packages/utils/adapters/package.json index 204ccc95b4..a2408c8a70 100644 --- a/packages/utils/adapters/package.json +++ b/packages/utils/adapters/package.json @@ -33,6 +33,7 @@ "@babel/core": "^7.20.0", "@fluentui-react-native/eslint-config-rules": "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 +44,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 +56,7 @@ "kitType": "library", "alignDeps": { "presets": [ + "@fluentui-react-native/scripts/configs/align-deps-preset.cjs", "microsoft/react-native" ], "requirements": { @@ -71,7 +73,8 @@ "core-android", "core-ios", "core-macos", - "core-windows" + "core-windows", + "core-win32" ] } }, 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/test-tools/package.json b/packages/utils/test-tools/package.json index 8cd4819bbc..f8d30cb0bb 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -29,7 +29,9 @@ "directory": "packages/utils/test-tools" }, "dependencies": { - "@fluentui-react-native/theme-types": "workspace:*" + "@fluentui-react-native/theme-types": "workspace:*", + "@types/jest": "^29.0.0", + "jest": "^29.0.0" }, "devDependencies": { "@fluentui-react-native/eslint-config-rules": "workspace:*", 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/tsconfig.json b/scripts/configs/tsconfig.json index 1375d01370..8497a27037 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, diff --git a/scripts/dynamic.extensions.mjs b/scripts/dynamic.extensions.mjs index 9fc9a84d2d..964d32f86d 100644 --- a/scripts/dynamic.extensions.mjs +++ b/scripts/dynamic.extensions.mjs @@ -66,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 9ddb2499f7..f35d43c183 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -29,6 +29,7 @@ "@rnx-kit/tools-packages": "^0.1.1", "@rnx-kit/tools-typescript": "^0.1.1", "@rnx-kit/tsconfig": "^2.1.1", + "@types/babel__core": "^7.20.5", "@types/jest": "^29.0.0", "@types/micromatch": "^4.0.9", "@types/node": "^22.0.0", @@ -37,6 +38,7 @@ "eslint": "^9.0.0", "find-up": "^5.0.0", "glob": "^10.0.0", + "jest": "^29.2.1", "metro-react-native-babel-transformer": "^0.76.5", "micromatch": "^4.0.8", "react": "18.2.0", diff --git a/scripts/src/configs/configureBabel.js b/scripts/src/configs/configureBabel.js index 39070b2a99..897199c39b 100644 --- a/scripts/src/configs/configureBabel.js +++ b/scripts/src/configs/configureBabel.js @@ -20,11 +20,6 @@ export function configureBabel(/** @type {BabelConfigOptions} */ options = {}, m '@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 index 5e152a95d6..d6f3d018e7 100644 --- a/scripts/src/configs/configureJest.js +++ b/scripts/src/configs/configureJest.js @@ -1,6 +1,6 @@ // @ts-check -// @ts-expect-error the preset doesn't contain typing information +// @ts-expect-error no types available for jest-preset import jestPreset from '@rnx-kit/jest-preset'; import { ensurePlatform } from '../utils/platforms.js'; diff --git a/scripts/src/preinstall/tool-versions.js b/scripts/src/preinstall/tool-versions.js index f8a6125e07..bd1807125a 100644 --- a/scripts/src/preinstall/tool-versions.js +++ b/scripts/src/preinstall/tool-versions.js @@ -43,6 +43,7 @@ export const devToolVersions = { 'metro-config': '^0.80.3', 'metro-react-native-babel-transformer': '^0.76.5', prettier: '^2.4.1', + react: '18.2.0', 'react-test-renderer': '18.2.0', rimraf: '^5.0.1', typescript: '^4.9.4', 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 1f55f2ff27..669b05bf89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2372,6 +2372,7 @@ __metadata: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/eslint-config-rules": "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 +2382,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 @@ -2752,6 +2753,7 @@ __metadata: "@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: @@ -3496,7 +3498,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" + react-test-renderer: "npm:18.2.0" tslib: "npm:^2.3.1" peerDependencies: "@office-iss/react-native-win32": ^0.74.0 @@ -3896,6 +3898,7 @@ __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" @@ -4261,6 +4264,7 @@ __metadata: "@rnx-kit/tools-packages": "npm:^0.1.1" "@rnx-kit/tools-typescript": "npm:^0.1.1" "@rnx-kit/tsconfig": "npm:^2.1.1" + "@types/babel__core": "npm:^7.20.5" "@types/jest": "npm:^29.0.0" "@types/micromatch": "npm:^4.0.9" "@types/node": "npm:^22.0.0" @@ -4269,6 +4273,7 @@ __metadata: eslint: "npm:^9.0.0" find-up: "npm:^5.0.0" glob: "npm:^10.0.0" + jest: "npm:^29.2.1" metro-react-native-babel-transformer: "npm:^0.76.5" micromatch: "npm:^4.0.8" react: "npm:18.2.0" @@ -4277,10 +4282,6 @@ __metadata: react-native-svg-transformer: "npm:^1.0.0" 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 @@ -4508,8 +4509,10 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-types": "workspace:*" + "@types/jest": "npm:^29.0.0" "@types/react": "npm:^18.2.0" "@types/react-test-renderer": "npm:^18.2.0" + jest: "npm:^29.0.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-test-renderer: "npm:18.2.0" @@ -4611,7 +4614,7 @@ __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/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" @@ -6343,10 +6346,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 @@ -7407,16 +7410,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14": - version: 7.20.0 - resolution: "@types/babel__core@npm:7.20.0" +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": + 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 @@ -7584,14 +7587,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 @@ -10704,20 +10700,13 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": +"cjs-module-lexer@npm:^1.0.0, cjs-module-lexer@npm:^1.2.2": version: 1.4.3 resolution: "cjs-module-lexer@npm:1.4.3" checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be languageName: node linkType: hard -"cjs-module-lexer@npm:^1.2.2": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 10c0/0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab - languageName: node - linkType: hard - "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -14601,16 +14590,7 @@ __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" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 - languageName: node - linkType: hard - -"is-core-module@npm:^2.16.0": +"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: @@ -15000,20 +14980,13 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0": +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: 10c0/10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9 - languageName: node - linkType: hard - "istanbul-lib-instrument@npm:^5.0.4": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" @@ -15552,7 +15525,7 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.2.1": +"jest@npm:^29.0.0, jest@npm:^29.2.1": version: 29.7.0 resolution: "jest@npm:29.7.0" dependencies: @@ -18612,13 +18585,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.3.1": - version: 18.3.1 - resolution: "react-is@npm:18.3.1" - checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 - languageName: node - linkType: hard - "react-native-macos@npm:0.74.30": version: 0.74.30 resolution: "react-native-macos@npm:0.74.30" @@ -18941,19 +18907,6 @@ __metadata: languageName: node linkType: hard -"react-test-renderer@npm:^18.2.0": - version: 18.3.1 - resolution: "react-test-renderer@npm:18.3.1" - dependencies: - react-is: "npm:^18.3.1" - react-shallow-renderer: "npm:^16.15.0" - scheduler: "npm:^0.23.2" - peerDependencies: - react: ^18.3.1 - checksum: 10c0/c633558ef9af33bc68f0c4dbb5163a004c4fb9eade7bd0a7cfc0355fb367f36bd9d96533c90b7e85a146be6c525113a15f58683d269e0177ad77e2b04d4fe51c - languageName: node - linkType: hard - "react@npm:18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -19349,20 +19302,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, 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" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a - languageName: node - linkType: hard - -"resolve@npm:^1.20.0": +"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.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -19388,20 +19328,7 @@ __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.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" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": +"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.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -19699,7 +19626,7 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0, scheduler@npm:^0.23.2": +"scheduler@npm:^0.23.0": version: 0.23.2 resolution: "scheduler@npm:0.23.2" dependencies: From 18c143503ba4579454f8ddd012e968a3f953fa9d Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 29 Jul 2025 13:54:36 -0700 Subject: [PATCH 12/33] fix dependencies up through linting --- .../eslint-config-rules/eslint.config.js | 5 +- .../eslint-config-rules/package.json | 8 +- .../eslint-config-rules/tsconfig.json | 5 +- scripts/package.json | 3 +- yarn.lock | 146 +++++++++--------- 5 files changed, 88 insertions(+), 79 deletions(-) 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/scripts/package.json b/scripts/package.json index f35d43c183..9b9b2b5b1b 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -11,7 +11,7 @@ "build": "node ./src/cli.mjs build", "bundlesize": "bundlesize --debug", "depcheck": "node ./src/cli.mjs depcheck", - "lint": "eslint", + "lint": "node ./src/cli.mjs lint", "prettier": "node ./src/cli.mjs prettier", "prettier-fix": "node ./src/cli.mjs prettier --fix true" }, @@ -46,6 +46,7 @@ "react-native-svg": "^15.4.0", "react-native-svg-transformer": "^1.0.0", "typescript": "^5.8.0", + "typescript-eslint": "^8.0.0", "workspace-tools": "^0.26.3" }, "bundlesize": [ diff --git a/yarn.lock b/yarn.lock index 669b05bf89..0bcb0853a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3153,11 +3153,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 @@ -4281,6 +4282,7 @@ __metadata: react-native-svg: "npm:^15.4.0" react-native-svg-transformer: "npm:^1.0.0" typescript: "npm:^5.8.0" + typescript-eslint: "npm:^8.0.0" workspace-tools: "npm:^0.26.3" bin: fluentui-scripts: ./src/cli.mjs @@ -8038,105 +8040,106 @@ __metadata: languageName: node linkType: hard -"@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": - 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" @@ -8145,32 +8148,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 + checksum: 10c0/071a756e383f41a6c9e51d78c8c64bd41cd5af68b0faef5fbaec4fa5dbd65ec9e4cd610c2e2cdbe9e2facc362995f202850622b78e821609a277b5b601a1d4ec languageName: node linkType: hard @@ -21167,17 +21170,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 From caded4144ef1942bb729f33396b3814f370638e8 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Wed, 30 Jul 2025 16:40:58 -0700 Subject: [PATCH 13/33] fix babel and jest configs and add dedicated babel config package --- .../ComponentTemplate/babel.config.js | 2 +- package.json | 2 + packages/codemods/babel.config.js | 2 +- packages/codemods/package.json | 1 + packages/components/Avatar/babel.config.js | 2 +- packages/components/Avatar/package.json | 1 + packages/components/Badge/babel.config.js | 2 +- packages/components/Badge/package.json | 1 + packages/components/Button/babel.config.js | 2 +- packages/components/Button/package.json | 1 + packages/components/Callout/babel.config.js | 2 +- packages/components/Callout/package.json | 1 + packages/components/Checkbox/babel.config.js | 2 +- packages/components/Checkbox/package.json | 1 + packages/components/Chip/babel.config.js | 2 +- packages/components/Chip/package.json | 1 + .../components/ContextualMenu/babel.config.js | 2 +- .../components/ContextualMenu/package.json | 1 + packages/components/Divider/babel.config.js | 2 +- packages/components/Divider/package.json | 1 + .../components/FocusTrapZone/babel.config.js | 2 +- .../components/FocusTrapZone/package.json | 1 + packages/components/FocusZone/babel.config.js | 2 +- packages/components/FocusZone/package.json | 1 + packages/components/Icon/babel.config.js | 2 +- packages/components/Icon/package.json | 1 + packages/components/Input/babel.config.js | 2 +- packages/components/Input/package.json | 1 + packages/components/Link/babel.config.js | 2 +- packages/components/Link/package.json | 1 + packages/components/Menu/babel.config.js | 2 +- packages/components/Menu/package.json | 1 + .../components/MenuButton/babel.config.js | 2 +- packages/components/MenuButton/package.json | 1 + .../components/Notification/babel.config.js | 2 +- packages/components/Notification/package.json | 1 + packages/components/Persona/babel.config.js | 2 +- packages/components/Persona/package.json | 1 + .../components/PersonaCoin/babel.config.js | 2 +- packages/components/PersonaCoin/package.json | 1 + packages/components/Pressable/babel.config.js | 2 +- packages/components/Pressable/package.json | 1 + .../components/RadioGroup/babel.config.js | 2 +- packages/components/RadioGroup/package.json | 1 + packages/components/Separator/babel.config.js | 2 +- packages/components/Separator/package.json | 1 + packages/components/Stack/babel.config.js | 2 +- packages/components/Stack/package.json | 1 + packages/components/Switch/babel.config.js | 2 +- packages/components/Switch/package.json | 1 + packages/components/TabList/babel.config.js | 2 +- packages/components/TabList/package.json | 1 + packages/components/Text/babel.config.js | 2 +- packages/components/Text/package.json | 1 + packages/configs/babel-config/README.md | 3 + packages/configs/babel-config/babel.config.js | 23 + .../configs/babel-config/eslint.config.js | 1 + packages/configs/babel-config/package.json | 43 ++ .../foundation-composable/babel.config.js | 2 +- .../foundation-composable/package.json | 1 + .../foundation-compose/babel.config.js | 2 +- .../foundation-compose/package.json | 1 + .../foundation-settings/babel.config.js | 2 +- .../foundation-settings/package.json | 1 + .../foundation-tokens/babel.config.js | 2 +- .../deprecated/foundation-tokens/package.json | 1 + .../deprecated/theme-registry/babel.config.js | 2 +- .../deprecated/theme-registry/package.json | 1 + .../themed-settings/babel.config.js | 2 +- .../deprecated/themed-settings/package.json | 1 + .../deprecated/theming-ramp/babel.config.js | 2 +- packages/deprecated/theming-ramp/package.json | 1 + .../theming-react-native/babel.config.js | 2 +- .../theming-react-native/package.json | 1 + .../AppearanceAdditions/babel.config.js | 2 +- .../AppearanceAdditions/package.json | 1 + packages/experimental/Avatar/babel.config.js | 2 +- packages/experimental/Avatar/package.json | 1 + .../experimental/Checkbox/babel.config.js | 2 +- packages/experimental/Checkbox/package.json | 4 +- packages/experimental/Drawer/babel.config.js | 2 +- packages/experimental/Drawer/package.json | 1 + .../experimental/Dropdown/babel.config.js | 2 +- packages/experimental/Dropdown/package.json | 4 +- .../experimental/Expander/babel.config.js | 2 +- packages/experimental/Expander/package.json | 1 + .../experimental/MenuButton/babel.config.js | 2 +- packages/experimental/MenuButton/package.json | 1 + .../NativeDatePicker/babel.config.js | 2 +- .../NativeDatePicker/package.json | 1 + .../NativeFontMetrics/babel.config.js | 2 +- .../NativeFontMetrics/package.json | 1 + .../experimental/Overflow/babel.config.js | 2 +- packages/experimental/Overflow/package.json | 1 + packages/experimental/Popover/babel.config.js | 2 +- packages/experimental/Popover/package.json | 1 + packages/experimental/Shadow/babel.config.js | 2 +- packages/experimental/Shadow/package.json | 1 + packages/experimental/Shimmer/babel.config.js | 2 +- packages/experimental/Shimmer/package.json | 1 + packages/experimental/Spinner/babel.config.js | 2 +- packages/experimental/Spinner/package.json | 1 + packages/experimental/Stack/babel.config.js | 2 +- packages/experimental/Stack/package.json | 1 + packages/experimental/Tooltip/babel.config.js | 2 +- packages/experimental/Tooltip/package.json | 1 + .../experimental/VibrancyView/babel.config.js | 2 +- .../experimental/VibrancyView/package.json | 1 + packages/framework-base/babel.config.js | 2 +- packages/framework-base/package.json | 1 + .../framework/composition/babel.config.js | 2 +- packages/framework/composition/package.json | 1 + .../framework/immutable-merge/babel.config.js | 2 +- .../framework/immutable-merge/package.json | 1 + packages/framework/memo-cache/babel.config.js | 2 +- packages/framework/memo-cache/package.json | 1 + .../framework/merge-props/babel.config.js | 2 +- packages/framework/merge-props/package.json | 1 + packages/framework/theme/babel.config.js | 2 +- packages/framework/theme/package.json | 1 + .../themed-stylesheet/babel.config.js | 2 +- .../framework/themed-stylesheet/package.json | 1 + packages/framework/use-slot/babel.config.js | 2 +- packages/framework/use-slot/package.json | 4 +- packages/framework/use-slots/babel.config.js | 2 +- packages/framework/use-slots/package.json | 1 + .../framework/use-styling/babel.config.js | 2 +- packages/framework/use-styling/package.json | 1 + packages/framework/use-tokens/babel.config.js | 2 +- packages/framework/use-tokens/package.json | 1 + .../theming/android-theme/babel.config.js | 2 +- packages/theming/android-theme/package.json | 1 + packages/theming/apple-theme/babel.config.js | 2 +- packages/theming/apple-theme/package.json | 1 + .../theming/default-theme/babel.config.js | 2 +- packages/theming/default-theme/package.json | 1 + packages/theming/theme-tokens/babel.config.js | 2 +- packages/theming/theme-tokens/package.json | 1 + packages/theming/theme-types/babel.config.js | 2 +- packages/theming/theme-types/package.json | 1 + .../theming/theming-utils/babel.config.js | 2 +- packages/theming/theming-utils/package.json | 1 + packages/theming/win32-theme/babel.config.js | 2 +- packages/theming/win32-theme/package.json | 1 + packages/utils/adapters/babel.config.js | 2 +- packages/utils/adapters/package.json | 1 + .../utils/interactive-hooks/babel.config.js | 2 +- packages/utils/interactive-hooks/package.json | 1 + packages/utils/styling/babel.config.js | 2 +- packages/utils/styling/package.json | 1 + packages/utils/test-tools/babel.config.js | 2 +- packages/utils/test-tools/package.json | 5 +- packages/utils/tokens/babel.config.js | 2 +- packages/utils/tokens/package.json | 1 + scripts/configs/babel.config.js | 2 - scripts/package.json | 8 +- scripts/src/configs/configureJest.js | 6 +- scripts/src/configs/transform-selector.js | 18 - scripts/src/preinstall/tool-versions.js | 51 +- scripts/src/tasks/depcheck.js | 10 +- yarn.lock | 494 ++++++++---------- 161 files changed, 494 insertions(+), 404 deletions(-) create mode 100644 packages/configs/babel-config/README.md create mode 100644 packages/configs/babel-config/babel.config.js create mode 100644 packages/configs/babel-config/eslint.config.js create mode 100644 packages/configs/babel-config/package.json delete mode 100644 scripts/configs/babel.config.js delete mode 100644 scripts/src/configs/transform-selector.js 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/package.json b/package.json index 371f26d244..d4946c0431 100644 --- a/package.json +++ b/package.json @@ -38,10 +38,12 @@ "@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", "@rnx-kit/align-deps": "^3.0.0", + "@rnx-kit/babel-preset-metro-react-native": "^2.0.0", "@rnx-kit/lint-lockfile": "^0.1.0", "babel-jest": "^29.7.0", "beachball": "^2.20.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/package.json b/packages/codemods/package.json index 3d6131a9f8..de6973abed 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -41,6 +41,7 @@ "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/scripts": "workspace:*", "@fluentui-react-native/test-tools": "workspace:*", 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/package.json b/packages/components/Avatar/package.json index c2fe248aba..f643fcccf5 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/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:*", "@office-iss/react-native-win32": "^0.74.0", 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/package.json b/packages/components/Badge/package.json index 61b8b5732f..550757ecfd 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -41,6 +41,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/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/package.json b/packages/components/Button/package.json index 787a229cb8..cf4729df15 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -50,6 +50,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/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/package.json b/packages/components/Callout/package.json index d3fc1b88f0..f23faf4e96 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -41,6 +41,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:*", "@office-iss/react-native-win32": "^0.74.0", 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/package.json b/packages/components/Checkbox/package.json index 9531d6c4b1..235b229954 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -46,6 +46,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/components/Chip/babel.config.js b/packages/components/Chip/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Chip/babel.config.js +++ b/packages/components/Chip/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/Chip/package.json b/packages/components/Chip/package.json index 045a6044e2..3643c03ccc 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -39,6 +39,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/components/ContextualMenu/babel.config.js b/packages/components/ContextualMenu/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/ContextualMenu/babel.config.js +++ b/packages/components/ContextualMenu/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/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index 60c326780c..2861b4fd84 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -46,6 +46,7 @@ }, "devDependencies": { "@babel/core": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", diff --git a/packages/components/Divider/babel.config.js b/packages/components/Divider/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Divider/babel.config.js +++ b/packages/components/Divider/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/Divider/package.json b/packages/components/Divider/package.json index 4622dbb6c9..cc9c3bc6bd 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/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:*", "@fluentui-react-native/test-tools": "workspace:*", diff --git a/packages/components/FocusTrapZone/babel.config.js b/packages/components/FocusTrapZone/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/FocusTrapZone/babel.config.js +++ b/packages/components/FocusTrapZone/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/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index bd70828bc2..1bd54d9103 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/FocusZone/babel.config.js b/packages/components/FocusZone/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/FocusZone/babel.config.js +++ b/packages/components/FocusZone/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/FocusZone/package.json b/packages/components/FocusZone/package.json index a9ff1d1ffd..7220aa2b92 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/Icon/babel.config.js b/packages/components/Icon/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Icon/babel.config.js +++ b/packages/components/Icon/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/Icon/package.json b/packages/components/Icon/package.json index 8c93830417..8c82326a13 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -36,6 +36,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/components/Input/babel.config.js b/packages/components/Input/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Input/babel.config.js +++ b/packages/components/Input/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/Input/package.json b/packages/components/Input/package.json index ad50bd1846..09df97147b 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -41,6 +41,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/components/Link/babel.config.js b/packages/components/Link/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Link/babel.config.js +++ b/packages/components/Link/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/Link/package.json b/packages/components/Link/package.json index eb924a3fd1..d456e24f23 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/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:*", "@fluentui-react-native/test-tools": "workspace:*", diff --git a/packages/components/Menu/babel.config.js b/packages/components/Menu/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Menu/babel.config.js +++ b/packages/components/Menu/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/Menu/package.json b/packages/components/Menu/package.json index 8b331228a5..a4e69a2d33 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -44,6 +44,7 @@ }, "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/scripts": "workspace:*", diff --git a/packages/components/MenuButton/babel.config.js b/packages/components/MenuButton/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/MenuButton/babel.config.js +++ b/packages/components/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/components/MenuButton/package.json b/packages/components/MenuButton/package.json index bcc2a3762f..0115ece71e 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -43,6 +43,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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/Notification/babel.config.js b/packages/components/Notification/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Notification/babel.config.js +++ b/packages/components/Notification/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/Notification/package.json b/packages/components/Notification/package.json index f6691c1a19..8b7cdb4502 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -46,6 +46,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/components/Persona/babel.config.js b/packages/components/Persona/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Persona/babel.config.js +++ b/packages/components/Persona/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/Persona/package.json b/packages/components/Persona/package.json index a2592a135c..f639b20df2 100644 --- a/packages/components/Persona/package.json +++ b/packages/components/Persona/package.json @@ -41,6 +41,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/components/PersonaCoin/babel.config.js b/packages/components/PersonaCoin/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/PersonaCoin/babel.config.js +++ b/packages/components/PersonaCoin/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/PersonaCoin/package.json b/packages/components/PersonaCoin/package.json index a85f865110..3202735901 100644 --- a/packages/components/PersonaCoin/package.json +++ b/packages/components/PersonaCoin/package.json @@ -41,6 +41,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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/Pressable/babel.config.js b/packages/components/Pressable/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Pressable/babel.config.js +++ b/packages/components/Pressable/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/Pressable/package.json b/packages/components/Pressable/package.json index 80abe739d9..1d9951151d 100644 --- a/packages/components/Pressable/package.json +++ b/packages/components/Pressable/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/components/RadioGroup/babel.config.js b/packages/components/RadioGroup/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/RadioGroup/babel.config.js +++ b/packages/components/RadioGroup/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/RadioGroup/package.json b/packages/components/RadioGroup/package.json index ac9a131187..83fdd56d4e 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -45,6 +45,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/components/Separator/babel.config.js b/packages/components/Separator/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Separator/babel.config.js +++ b/packages/components/Separator/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/Separator/package.json b/packages/components/Separator/package.json index 95fc7b2243..ea6080db7b 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -36,6 +36,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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/Stack/babel.config.js b/packages/components/Stack/babel.config.js index 556f80622c..aa7d482ebf 100644 --- a/packages/components/Stack/babel.config.js +++ b/packages/components/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/components/Stack/package.json b/packages/components/Stack/package.json index 08f6573b65..30a204e1ec 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/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/text": "workspace:*", 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/package.json b/packages/components/Switch/package.json index 6727a90cd1..05a3aac095 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/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/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/package.json b/packages/components/TabList/package.json index a6992b79f7..fc02db405f 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/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:*", "@fluentui-react-native/test-tools": "workspace:*", 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/package.json b/packages/components/Text/package.json index 399ff42957..a16b8e90e8 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -39,6 +39,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/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..be909ffebe --- /dev/null +++ b/packages/configs/babel-config/babel.config.js @@ -0,0 +1,23 @@ +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' }], + ['@rnx-kit/babel-preset-metro-react-native', { useTransformReactJSXExperimental: 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/eslint.config.js b/packages/configs/babel-config/eslint.config.js new file mode 100644 index 0000000000..4f0f38533c --- /dev/null +++ b/packages/configs/babel-config/eslint.config.js @@ -0,0 +1 @@ +module.exports = require('@fluentui-react-native/eslint-config-rules'); diff --git a/packages/configs/babel-config/package.json b/packages/configs/babel-config/package.json new file mode 100644 index 0000000000..95bb091e6a --- /dev/null +++ b/packages/configs/babel-config/package.json @@ -0,0 +1,43 @@ +{ + "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" + }, + "scripts": { + "lint": "eslint . --ext .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", + "@rnx-kit/babel-preset-metro-react-native": "2.0.0" + }, + "devDependencies": { + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@types/eslint": "^9.0.0", + "eslint": "^9.0.0" + }, + "beachball": { + "shouldPublish": false, + "disallowedChangeTypes": [ + "major" + ] + } +} 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..aa7d482ebf 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'); diff --git a/packages/deprecated/foundation-settings/package.json b/packages/deprecated/foundation-settings/package.json index 57409cad5b..c715d74c9e 100644 --- a/packages/deprecated/foundation-settings/package.json +++ b/packages/deprecated/foundation-settings/package.json @@ -39,6 +39,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/deprecated/foundation-tokens/babel.config.js b/packages/deprecated/foundation-tokens/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/deprecated/foundation-tokens/package.json b/packages/deprecated/foundation-tokens/package.json index 4bdceb4425..e8fc37fc8a 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/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/deprecated/theme-registry/babel.config.js b/packages/deprecated/theme-registry/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/deprecated/theme-registry/package.json b/packages/deprecated/theme-registry/package.json index 7da8f3f381..96bd918fed 100644 --- a/packages/deprecated/theme-registry/package.json +++ b/packages/deprecated/theme-registry/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/framework-base": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", diff --git a/packages/deprecated/themed-settings/babel.config.js b/packages/deprecated/themed-settings/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/deprecated/themed-settings/package.json b/packages/deprecated/themed-settings/package.json index f1f5144849..136fd1b9ff 100644 --- a/packages/deprecated/themed-settings/package.json +++ b/packages/deprecated/themed-settings/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:*", "@react-native/babel-preset": "^0.74.0", diff --git a/packages/deprecated/theming-ramp/babel.config.js b/packages/deprecated/theming-ramp/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/deprecated/theming-ramp/package.json b/packages/deprecated/theming-ramp/package.json index 88100bd4a9..04b25ee0d0 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -40,6 +40,7 @@ "@uifabricshared/foundation-settings": "workspace:*" }, "devDependencies": { + "@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/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 029f9a9b99..2d9fb91ac9 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/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/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 25bd8ea883..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:*", - "@types/node": "^22.0.0" + "@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/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/package.json b/packages/experimental/Drawer/package.json index d595043cca..4dc604986d 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/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/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 30462f2a20..56aa2b9b62 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -36,11 +36,11 @@ "@fluentui-react-native/framework": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", - "@fluentui-react-native/theme-tokens": "workspace:*", - "@types/node": "^22.0.0" + "@fluentui-react-native/theme-tokens": "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:*", "@fluentui-react-native/test-tools": "workspace:*", 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/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/package.json b/packages/experimental/MenuButton/package.json index 3915b57052..29437dd139 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/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:*", "@office-iss/react-native-win32": "^0.74.0", 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/package.json b/packages/experimental/Overflow/package.json index e76fc4812b..b5a63f17ac 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -34,6 +34,7 @@ }, "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/menu": "workspace:*", 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 2aea9b8822..78ceede27e 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -35,6 +35,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/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/package.json b/packages/experimental/Shadow/package.json index 52d7ef924f..c214f7a7a4 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -36,6 +36,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/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/package.json b/packages/experimental/Shimmer/package.json index 1531821b84..e9902e9059 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/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/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 68e7921dd5..ff7d687f66 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/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:*", "@fluentui-react-native/text": "workspace:*", 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/package.json b/packages/experimental/Tooltip/package.json index 26d74017a9..69f81d42b4 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -35,6 +35,7 @@ }, "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/scripts": "workspace:*", 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 4007e5b9ed..7179da938e 100644 --- a/packages/experimental/VibrancyView/package.json +++ b/packages/experimental/VibrancyView/package.json @@ -35,6 +35,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/framework-base/babel.config.js b/packages/framework-base/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index 293bbd5b9a..530e1ebda1 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -44,6 +44,7 @@ "react": "18.2.0" }, "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/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/package.json b/packages/framework/composition/package.json index 5ff9fc9f42..04eb778de9 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -41,6 +41,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/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/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/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 254d81d81a..78f79704fc 100644 --- a/packages/framework/merge-props/package.json +++ b/packages/framework/merge-props/package.json @@ -39,6 +39,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/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/package.json b/packages/framework/theme/package.json index e900a3294d..eadc17122c 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/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/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/package.json b/packages/framework/themed-stylesheet/package.json index 4bea6975df..ece9b11aba 100644 --- a/packages/framework/themed-stylesheet/package.json +++ b/packages/framework/themed-stylesheet/package.json @@ -39,6 +39,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/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/package.json b/packages/framework/use-slot/package.json index 980238832f..ee4b122aec 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -38,10 +38,9 @@ "@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", "@react-native/metro-config": "^0.74.0", "@types/react": "18.2.0", "@types/react-test-renderer": "^18.2.0", @@ -68,7 +67,6 @@ ] }, "capabilities": [ - "babel-preset-react-native", "core", "core-android", "core-ios", 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/package.json b/packages/framework/use-slots/package.json index 500d5ac752..f4898856d5 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/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:*", "@react-native/babel-preset": "^0.74.0", 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/package.json b/packages/framework/use-styling/package.json index 682a79990b..23afd46425 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/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:*", "@react-native/babel-preset": "^0.74.0", 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/package.json b/packages/framework/use-tokens/package.json index b73058c09e..42bf5ed9df 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -39,6 +39,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/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/package.json b/packages/theming/android-theme/package.json index 912a4b4535..725b73208b 100644 --- a/packages/theming/android-theme/package.json +++ b/packages/theming/android-theme/package.json @@ -43,6 +43,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/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/package.json b/packages/theming/apple-theme/package.json index b07c5598fb..d35b65ccdc 100644 --- a/packages/theming/apple-theme/package.json +++ b/packages/theming/apple-theme/package.json @@ -48,6 +48,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/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/package.json b/packages/theming/default-theme/package.json index c4264e75f3..3510af6320 100644 --- a/packages/theming/default-theme/package.json +++ b/packages/theming/default-theme/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:*", "@office-iss/react-native-win32": "^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/package.json b/packages/theming/theming-utils/package.json index 7f46960119..b58206473b 100644 --- a/packages/theming/theming-utils/package.json +++ b/packages/theming/theming-utils/package.json @@ -35,6 +35,7 @@ }, "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:*", 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/package.json b/packages/theming/win32-theme/package.json index caa48a299a..9399bb81e0 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -45,6 +45,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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/utils/adapters/babel.config.js b/packages/utils/adapters/babel.config.js index 556f80622c..aa7d482ebf 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'); diff --git a/packages/utils/adapters/package.json b/packages/utils/adapters/package.json index a2408c8a70..cf19d998b3 100644 --- a/packages/utils/adapters/package.json +++ b/packages/utils/adapters/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:*", "@office-iss/react-native-win32": "^0.74.0", 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/package.json b/packages/utils/interactive-hooks/package.json index ca973567c7..dfa0ecfe59 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -36,6 +36,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/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/package.json b/packages/utils/test-tools/package.json index f8d30cb0bb..d2b6b3b1aa 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -29,11 +29,10 @@ "directory": "packages/utils/test-tools" }, "dependencies": { - "@fluentui-react-native/theme-types": "workspace:*", - "@types/jest": "^29.0.0", - "jest": "^29.0.0" + "@fluentui-react-native/theme-types": "workspace:*" }, "devDependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@types/react": "^18.2.0", 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 c16b15110e..c5af4b2d2e 100644 --- a/packages/utils/tokens/package.json +++ b/packages/utils/tokens/package.json @@ -35,6 +35,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/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/package.json b/scripts/package.json index 9b9b2b5b1b..b08fc1fed2 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -22,7 +22,13 @@ }, "devDependencies": { "@babel/core": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.0", + "@babel/preset-env": "^7.8.0", + "@babel/preset-react": "^7.8.0", + "@babel/preset-typescript": "^7.8.0", + "@babel/runtime": "^7.22.0", "@eslint/js": "^9.0.0", + "@react-native/babel-preset": "^0.74.0", "@rnx-kit/eslint-plugin": "^0.8.6", "@rnx-kit/jest-preset": "^0.2.1", "@rnx-kit/reporter": "^0.1.0", @@ -33,13 +39,13 @@ "@types/jest": "^29.0.0", "@types/micromatch": "^4.0.9", "@types/node": "^22.0.0", + "babel-jest": "^29.7.0", "clipanion": "^4.0.0-rc.4", "depcheck": "^1.0.0", "eslint": "^9.0.0", "find-up": "^5.0.0", "glob": "^10.0.0", "jest": "^29.2.1", - "metro-react-native-babel-transformer": "^0.76.5", "micromatch": "^4.0.8", "react": "18.2.0", "react-native": "^0.74.0", diff --git a/scripts/src/configs/configureJest.js b/scripts/src/configs/configureJest.js index d6f3d018e7..65a9075652 100644 --- a/scripts/src/configs/configureJest.js +++ b/scripts/src/configs/configureJest.js @@ -27,9 +27,13 @@ export function configureJest(customConfig) { * @returns {JestConfig} */ export function configureReactNativeJest(platform, customConfig) { - return jestPreset(ensurePlatform(platform, 'ios'), { + const config = jestPreset(ensurePlatform(platform, 'ios'), { roots: ['/src'], verbose: false, ...customConfig, }); + config.transformIgnorePatterns = [ + '/node_modules/.store/(?!((jest-)?react-native(-macos)?|@react-native(-community)?|@office-iss-react-native-win32|@?react-native-windows))', + ]; + return config; } 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/preinstall/tool-versions.js b/scripts/src/preinstall/tool-versions.js index bd1807125a..8847ce7869 100644 --- a/scripts/src/preinstall/tool-versions.js +++ b/scripts/src/preinstall/tool-versions.js @@ -1,20 +1,29 @@ +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} */ -export const devToolVersions = { - '@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', - '@babel/preset-env': '^7.8.0', - '@babel/preset-react': '^7.8.0', - '@babel/preset-typescript': '^7.8.0', +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', - '@react-native/babel-preset': '^0.74.0', - '@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/tools-packages': '^0.1.1', @@ -28,25 +37,29 @@ export const devToolVersions = { '@typescript-eslint/eslint-plugin': '^8.36.0', '@typescript-eslint/parser': '^8.36.0', '@uifabric/prettier-rules': '^7.0.3', - 'babel-jest': '^29.7.0', clipanion: '^4.0.0-rc.4', depcheck: '^1.0.0', - eslint: '^9.0.0', - 'eslint-plugin-import': '^2.27.5', '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', - 'markdown-link-check': '^3.8.7', 'metro-config': '^0.80.3', 'metro-react-native-babel-transformer': '^0.76.5', - prettier: '^2.4.1', - react: '18.2.0', 'react-test-renderer': '18.2.0', rimraf: '^5.0.1', - typescript: '^4.9.4', + // 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/scripts': 'workspace:*', }; /** @@ -55,5 +68,5 @@ export const devToolVersions = { * @returns {string | null} */ export function getToolVersion(packageName) { - return devToolVersions[packageName] || null; + return devToolVersions[packageName] ?? workspaceToolVersions[packageName] ?? null; } diff --git a/scripts/src/tasks/depcheck.js b/scripts/src/tasks/depcheck.js index 333fde0767..70bc286f04 100644 --- a/scripts/src/tasks/depcheck.js +++ b/scripts/src/tasks/depcheck.js @@ -262,5 +262,13 @@ function injectedDevDeps(projectRoot) { * @returns {boolean} */ function isTestFile(fileName) { - return micromatch.isMatch(fileName, ['**/*.test.*', '**/*.spec.*', '**/__tests__/**', '**/__testfixtures__/**']); + return micromatch.isMatch(fileName, [ + '**/*.test.*', + '**/*.spec.*', + '**/__tests__/**', + '**/__testfixtures__/**', + '**/babel.config.*', + '**/jest.config.*', + '**/eslint.config.*', + ]); } diff --git a/yarn.lock b/yarn.lock index 0bcb0853a2..c93d27a792 100644 --- a/yarn.lock +++ b/yarn.lock @@ -428,10 +428,10 @@ __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 @@ -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 @@ -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.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: @@ -1127,7 +1127,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.7.2": +"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.3.3, @babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.27.1 resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" 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 @@ -2020,7 +2035,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.28.0": +"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.28.0": version: 7.28.0 resolution: "@babel/traverse@npm:7.28.0" dependencies: @@ -2515,6 +2530,26 @@ __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" + "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@react-native/babel-preset": "npm:^0.74.0" + "@rnx-kit/babel-preset-metro-react-native": "npm:2.0.0" + "@types/eslint": "npm:^9.0.0" + eslint: "npm:^9.0.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" @@ -4232,10 +4267,12 @@ __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" "@rnx-kit/align-deps": "npm:^3.0.0" + "@rnx-kit/babel-preset-metro-react-native": "npm:^2.0.0" "@rnx-kit/lint-lockfile": "npm:^0.1.0" babel-jest: "npm:^29.7.0" beachball: "npm:^2.20.0" @@ -4258,7 +4295,13 @@ __metadata: resolution: "@fluentui-react-native/scripts@workspace:scripts" dependencies: "@babel/core": "npm:^7.22.5" + "@babel/plugin-transform-typescript": "npm:^7.22.0" + "@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.22.0" "@eslint/js": "npm:^9.0.0" + "@react-native/babel-preset": "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" @@ -4269,13 +4312,13 @@ __metadata: "@types/jest": "npm:^29.0.0" "@types/micromatch": "npm:^4.0.9" "@types/node": "npm:^22.0.0" + babel-jest: "npm:^29.7.0" clipanion: "npm:^4.0.0-rc.4" depcheck: "npm:^1.0.0" eslint: "npm:^9.0.0" find-up: "npm:^5.0.0" glob: "npm:^10.0.0" jest: "npm:^29.2.1" - metro-react-native-babel-transformer: "npm:^0.76.5" micromatch: "npm:^4.0.8" react: "npm:18.2.0" react-native: "npm:^0.74.0" @@ -4877,11 +4920,10 @@ __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/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" @@ -6711,6 +6753,29 @@ __metadata: languageName: node linkType: hard +"@rnx-kit/babel-preset-metro-react-native@npm:2.0.0, @rnx-kit/babel-preset-metro-react-native@npm:^2.0.0": + version: 2.0.0 + resolution: "@rnx-kit/babel-preset-metro-react-native@npm:2.0.0" + dependencies: + "@rnx-kit/console": "npm:^2.0.0" + babel-plugin-const-enum: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.20.0 + "@babel/plugin-transform-typescript": ^7.20.0 + "@babel/runtime": ^7.20.0 + "@react-native/babel-preset": "*" + metro-react-native-babel-preset: "*" + peerDependenciesMeta: + "@babel/plugin-transform-typescript": + optional: true + "@react-native/babel-preset": + optional: true + metro-react-native-babel-preset: + optional: true + checksum: 10c0/8d6de76c182066059a03f24f02e7198c3c27ea5c367c953b54f56ba33cf609196d4c6d9514c48bed7c7a5e529c33ee9ca86f941bc495ee393f62abfb0f401cb0 + languageName: node + linkType: hard + "@rnx-kit/chromium-edge-launcher@npm:^1.0.0": version: 1.0.0 resolution: "@rnx-kit/chromium-edge-launcher@npm:1.0.0" @@ -9929,6 +9994,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-const-enum@npm:^1.0.0": + version: 1.2.0 + resolution: "babel-plugin-const-enum@npm:1.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-typescript": "npm:^7.3.3" + "@babel/traverse": "npm:^7.16.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/53fef408995add80e615773ff3609169c327bd671990c5ff3b59d275595aad0caa269ac7fdf1b1f691fa13f0d7c03c7fa3d3552cfbf4573912f0eef0bd52f751 + languageName: node + linkType: hard + "babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" @@ -9954,28 +10032,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 @@ -10002,21 +10080,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 @@ -10051,43 +10122,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" @@ -10330,17 +10364,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 @@ -10549,10 +10583,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 @@ -11137,12 +11171,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 @@ -11950,10 +11984,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 @@ -13815,13 +13849,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" @@ -13999,13 +14026,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" @@ -14020,15 +14040,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" @@ -16607,70 +16618,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" @@ -18878,13 +18825,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" @@ -19305,7 +19245,7 @@ __metadata: 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": +"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: @@ -19331,7 +19271,7 @@ __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": +"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: @@ -21431,7 +21371,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: From 9b614c500292094dab2753e9904b1bdd8a919806 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Thu, 31 Jul 2025 13:51:23 -0700 Subject: [PATCH 14/33] split jest configurations into a separate package --- .yarnrc.yml | 11 +- .../ComponentTemplate/jest.config.js | 2 +- .../ComponentTemplate/package.json | 2 + apps/fluent-tester/metro.config.js | 2 +- apps/win32/metro.config.js | 17 +- packages/codemods/jest.config.js | 2 +- packages/codemods/package.json | 1 + packages/components/Avatar/jest.config.js | 2 +- packages/components/Avatar/package.json | 1 + packages/components/Badge/jest.config.js | 2 +- packages/components/Badge/package.json | 1 + packages/components/Button/jest.config.js | 2 +- packages/components/Button/package.json | 1 + packages/components/Callout/jest.config.js | 2 +- packages/components/Callout/package.json | 1 + packages/components/Checkbox/jest.config.js | 2 +- packages/components/Checkbox/package.json | 1 + packages/components/Chip/jest.config.js | 2 +- packages/components/Chip/package.json | 1 + .../components/ContextualMenu/jest.config.js | 2 +- .../components/ContextualMenu/package.json | 1 + packages/components/Divider/jest.config.js | 2 +- packages/components/Divider/package.json | 1 + .../components/FocusTrapZone/jest.config.js | 2 +- .../components/FocusTrapZone/package.json | 1 + packages/components/FocusZone/jest.config.js | 2 +- packages/components/FocusZone/package.json | 1 + packages/components/Icon/jest.config.js | 2 +- packages/components/Icon/package.json | 1 + packages/components/Input/jest.config.js | 2 +- packages/components/Input/package.json | 1 + packages/components/Link/jest.config.js | 2 +- packages/components/Link/package.json | 1 + packages/components/Menu/jest.config.js | 2 +- packages/components/Menu/package.json | 1 + packages/components/MenuButton/jest.config.js | 2 +- packages/components/MenuButton/package.json | 1 + .../components/Notification/jest.config.js | 2 +- packages/components/Notification/package.json | 1 + packages/components/RadioGroup/jest.config.js | 2 +- packages/components/RadioGroup/package.json | 1 + packages/components/Separator/jest.config.js | 2 +- packages/components/Separator/package.json | 1 + packages/components/Stack/jest.config.js | 2 +- packages/components/Stack/package.json | 1 + packages/components/Switch/jest.config.js | 2 +- packages/components/Switch/package.json | 1 + packages/components/TabList/jest.config.js | 2 +- packages/components/TabList/package.json | 1 + packages/components/Text/jest.config.js | 2 +- packages/components/Text/package.json | 1 + .../babel-config/babel.react.config.js | 21 ++ .../configs/babel-config/eslint.config.js | 1 - packages/configs/babel-config/package.json | 11 +- packages/configs/jest-config/README.md | 3 + packages/configs/jest-config/eslint.config.js | 2 + packages/configs/jest-config/package.json | 37 ++++ .../configs/jest-config/src}/configureJest.js | 4 +- packages/configs/jest-config/src/index.js | 0 .../configs/jest-config/src}/jest-mock.js | 0 .../jest-config/src/jest.react.config.js | 0 .../configs/jest-config/src}/mergeConfigs.js | 0 .../configs/jest-config/src}/platforms.js | 0 packages/configs/jest-config/tsconfig.json | 4 + .../foundation-settings/babel.config.js | 2 +- .../foundation-settings/jest.config.js | 2 +- .../foundation-settings/package.json | 1 + .../foundation-tokens/babel.config.js | 2 +- .../foundation-tokens/jest.config.js | 2 +- .../deprecated/foundation-tokens/package.json | 1 + .../deprecated/theme-registry/babel.config.js | 2 +- .../deprecated/theme-registry/jest.config.js | 2 +- .../deprecated/theme-registry/package.json | 1 + .../themed-settings/babel.config.js | 2 +- .../deprecated/themed-settings/jest.config.js | 2 +- .../deprecated/themed-settings/package.json | 1 + .../deprecated/theming-ramp/babel.config.js | 2 +- .../deprecated/theming-ramp/jest.config.js | 2 +- packages/deprecated/theming-ramp/package.json | 1 + packages/experimental/Drawer/jest.config.js | 2 +- packages/experimental/Drawer/package.json | 1 + .../experimental/MenuButton/jest.config.js | 2 +- packages/experimental/MenuButton/package.json | 1 + packages/experimental/Overflow/jest.config.js | 2 +- packages/experimental/Overflow/package.json | 1 + packages/experimental/Shadow/jest.config.js | 2 +- packages/experimental/Shadow/package.json | 1 + packages/experimental/Shimmer/jest.config.js | 2 +- packages/experimental/Shimmer/package.json | 1 + packages/experimental/Stack/jest.config.js | 2 +- packages/experimental/Stack/package.json | 1 + packages/experimental/Tooltip/jest.config.js | 2 +- packages/experimental/Tooltip/package.json | 1 + packages/framework-base/babel.config.js | 2 +- packages/framework-base/jest.config.js | 2 +- packages/framework-base/package.json | 4 +- .../src/merge-props/mergeStyles.test.ts | 5 +- packages/framework/composition/jest.config.js | 2 +- packages/framework/composition/package.json | 1 + packages/framework/framework/jest.config.js | 2 +- packages/framework/framework/package.json | 1 + packages/framework/theme/jest.config.js | 2 +- packages/framework/theme/package.json | 1 + .../themed-stylesheet/jest.config.js | 2 +- .../framework/themed-stylesheet/package.json | 1 + packages/framework/use-slot/jest.config.js | 2 +- packages/framework/use-slot/package.json | 1 + packages/framework/use-slots/jest.config.js | 2 +- packages/framework/use-slots/package.json | 1 + packages/framework/use-styling/jest.config.js | 2 +- packages/framework/use-styling/package.json | 1 + packages/framework/use-tokens/jest.config.js | 2 +- packages/framework/use-tokens/package.json | 1 + packages/libraries/core/jest.config.win32.js | 2 +- packages/libraries/core/package.json | 1 + packages/theming/android-theme/jest.config.js | 2 +- packages/theming/android-theme/package.json | 1 + packages/theming/apple-theme/jest.config.js | 2 +- packages/theming/apple-theme/package.json | 1 + packages/theming/default-theme/jest.config.js | 2 +- packages/theming/default-theme/package.json | 1 + packages/theming/theming-utils/jest.config.js | 2 +- packages/theming/theming-utils/package.json | 1 + packages/theming/win32-theme/jest.config.js | 2 +- packages/theming/win32-theme/package.json | 1 + packages/utils/adapters/babel.config.js | 2 +- packages/utils/adapters/jest.config.js | 2 +- packages/utils/adapters/package.json | 1 + .../utils/interactive-hooks/jest.config.js | 2 +- packages/utils/interactive-hooks/package.json | 1 + packages/utils/test-tools/jest.config.js | 2 +- packages/utils/test-tools/package.json | 4 +- scripts/package.json | 16 +- scripts/src/configs/configureBabel.js | 25 --- scripts/src/index.js | 3 - scripts/src/preinstall/tool-versions.js | 1 + scripts/src/tasks/build.js | 38 +--- scripts/src/utils/codegenNativeComponents.js | 57 ------ yarn.lock | 189 ++++++++++++++---- 139 files changed, 386 insertions(+), 244 deletions(-) create mode 100644 packages/configs/babel-config/babel.react.config.js delete mode 100644 packages/configs/babel-config/eslint.config.js create mode 100644 packages/configs/jest-config/README.md create mode 100644 packages/configs/jest-config/eslint.config.js create mode 100644 packages/configs/jest-config/package.json rename {scripts/src/configs => packages/configs/jest-config/src}/configureJest.js (88%) create mode 100644 packages/configs/jest-config/src/index.js rename {scripts/src/configs/jest => packages/configs/jest-config/src}/jest-mock.js (100%) create mode 100644 packages/configs/jest-config/src/jest.react.config.js rename {scripts/src/configs => packages/configs/jest-config/src}/mergeConfigs.js (100%) rename {scripts/src/utils => packages/configs/jest-config/src}/platforms.js (100%) create mode 100644 packages/configs/jest-config/tsconfig.json delete mode 100644 scripts/src/configs/configureBabel.js delete mode 100644 scripts/src/utils/codegenNativeComponents.js diff --git a/.yarnrc.yml b/.yarnrc.yml index aa71f7e461..b53046ba4b 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,9 +4,18 @@ enableGlobalCache: false nodeLinker: pnpm +packageExtensions: + '@svgr/core@*': + dependencies: + '@svgr/plugin-svgo': '*' + '@svgr/plugin-jsx': '*' + '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/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/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/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/packages/codemods/jest.config.js b/packages/codemods/jest.config.js index b1f9d15ff0..97a0d3dd9d 100644 --- a/packages/codemods/jest.config.js +++ b/packages/codemods/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({ testRegex: '/__tests__/.*-test\\.ts$' }); diff --git a/packages/codemods/package.json b/packages/codemods/package.json index de6973abed..5434dc4d20 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -43,6 +43,7 @@ "@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", 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 f643fcccf5..99c0c4477f 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -46,6 +46,7 @@ "@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/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 550757ecfd..d825901c44 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -43,6 +43,7 @@ "@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", 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 cf4729df15..6ff8612f54 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -52,6 +52,7 @@ "@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", 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 f23faf4e96..591c0fa5da 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -43,6 +43,7 @@ "@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/components/Checkbox/jest.config.js b/packages/components/Checkbox/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Checkbox/jest.config.js +++ b/packages/components/Checkbox/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/Checkbox/package.json b/packages/components/Checkbox/package.json index 235b229954..da7293c882 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -48,6 +48,7 @@ "@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", diff --git a/packages/components/Chip/jest.config.js b/packages/components/Chip/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Chip/jest.config.js +++ b/packages/components/Chip/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/Chip/package.json b/packages/components/Chip/package.json index 3643c03ccc..5be8525bee 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -41,6 +41,7 @@ "@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", diff --git a/packages/components/ContextualMenu/jest.config.js b/packages/components/ContextualMenu/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/ContextualMenu/jest.config.js +++ b/packages/components/ContextualMenu/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/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index 2861b4fd84..dcf4e8bcbe 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -48,6 +48,7 @@ "@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/pressable": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/packages/components/Divider/jest.config.js b/packages/components/Divider/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Divider/jest.config.js +++ b/packages/components/Divider/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/Divider/package.json b/packages/components/Divider/package.json index cc9c3bc6bd..9bb599a3d8 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -40,6 +40,7 @@ "@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", diff --git a/packages/components/FocusTrapZone/jest.config.js b/packages/components/FocusTrapZone/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/FocusTrapZone/jest.config.js +++ b/packages/components/FocusTrapZone/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/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index 1bd54d9103..575350c163 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -39,6 +39,7 @@ "@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/components/FocusZone/jest.config.js b/packages/components/FocusZone/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/FocusZone/jest.config.js +++ b/packages/components/FocusZone/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/FocusZone/package.json b/packages/components/FocusZone/package.json index 7220aa2b92..efd9703044 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -39,6 +39,7 @@ "@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/components/Icon/jest.config.js b/packages/components/Icon/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Icon/jest.config.js +++ b/packages/components/Icon/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/Icon/package.json b/packages/components/Icon/package.json index 8c82326a13..a140a6b889 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -38,6 +38,7 @@ "@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", diff --git a/packages/components/Input/jest.config.js b/packages/components/Input/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Input/jest.config.js +++ b/packages/components/Input/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/Input/package.json b/packages/components/Input/package.json index 09df97147b..ba8207457e 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -43,6 +43,7 @@ "@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/components/Link/jest.config.js b/packages/components/Link/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Link/jest.config.js +++ b/packages/components/Link/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/Link/package.json b/packages/components/Link/package.json index d456e24f23..30cbc0563f 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -44,6 +44,7 @@ "@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/components/Menu/jest.config.js b/packages/components/Menu/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Menu/jest.config.js +++ b/packages/components/Menu/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/Menu/package.json b/packages/components/Menu/package.json index a4e69a2d33..0f85500940 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -47,6 +47,7 @@ "@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", diff --git a/packages/components/MenuButton/jest.config.js b/packages/components/MenuButton/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/MenuButton/jest.config.js +++ b/packages/components/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/components/MenuButton/package.json b/packages/components/MenuButton/package.json index 0115ece71e..202cf0e4d9 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -45,6 +45,7 @@ "@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/components/Notification/jest.config.js b/packages/components/Notification/jest.config.js index a8bf7c4f87..012dd1d9c5 100644 --- a/packages/components/Notification/jest.config.js +++ b/packages/components/Notification/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/Notification/package.json b/packages/components/Notification/package.json index 8b7cdb4502..d3044c69a0 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -48,6 +48,7 @@ "@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", diff --git a/packages/components/RadioGroup/jest.config.js b/packages/components/RadioGroup/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/RadioGroup/jest.config.js +++ b/packages/components/RadioGroup/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/RadioGroup/package.json b/packages/components/RadioGroup/package.json index 83fdd56d4e..2384bcbba7 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -47,6 +47,7 @@ "@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", diff --git a/packages/components/Separator/jest.config.js b/packages/components/Separator/jest.config.js index f6813bad78..e35d4a0faa 100644 --- a/packages/components/Separator/jest.config.js +++ b/packages/components/Separator/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/Separator/package.json b/packages/components/Separator/package.json index ea6080db7b..8ea2451078 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -38,6 +38,7 @@ "@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/components/Stack/jest.config.js b/packages/components/Stack/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/components/Stack/jest.config.js +++ b/packages/components/Stack/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/Stack/package.json b/packages/components/Stack/package.json index 30a204e1ec..e70f477449 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -42,6 +42,7 @@ "@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", 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 05a3aac095..47f1b3c02e 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -42,6 +42,7 @@ "@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", 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 fc02db405f..003dbd1aa1 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -44,6 +44,7 @@ "@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", 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 a16b8e90e8..2fe0fecea9 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -41,6 +41,7 @@ "@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/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/eslint.config.js b/packages/configs/babel-config/eslint.config.js deleted file mode 100644 index 4f0f38533c..0000000000 --- a/packages/configs/babel-config/eslint.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@fluentui-react-native/eslint-config-rules'); diff --git a/packages/configs/babel-config/package.json b/packages/configs/babel-config/package.json index 95bb091e6a..9c6fa74364 100644 --- a/packages/configs/babel-config/package.json +++ b/packages/configs/babel-config/package.json @@ -11,10 +11,8 @@ "main": "./babel.config.js", "exports": { ".": "./babel.config.js", - "./babel.config.js": "./babel.config.js" - }, - "scripts": { - "lint": "eslint . --ext .js" + "./babel.config.js": "./babel.config.js", + "./babel.react.config.js": "./babel.react.config.js" }, "license": "MIT", "dependencies": { @@ -29,11 +27,6 @@ "@react-native/babel-preset": "^0.74.0", "@rnx-kit/babel-preset-metro-react-native": "2.0.0" }, - "devDependencies": { - "@fluentui-react-native/eslint-config-rules": "workspace:*", - "@types/eslint": "^9.0.0", - "eslint": "^9.0.0" - }, "beachball": { "shouldPublish": false, "disallowedChangeTypes": [ 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..7175c49e30 --- /dev/null +++ b/packages/configs/jest-config/package.json @@ -0,0 +1,37 @@ +{ + "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", + "jest": "^29.0.0" + }, + "devDependencies": { + "@fluentui-react-native/eslint-config-rules": "workspace:*", + "@fluentui-react-native/scripts": "workspace:*", + "typescript": "^5.8.0" + }, + "beachball": { + "shouldPublish": false, + "disallowedChangeTypes": [ + "major" + ] + } +} diff --git a/scripts/src/configs/configureJest.js b/packages/configs/jest-config/src/configureJest.js similarity index 88% rename from scripts/src/configs/configureJest.js rename to packages/configs/jest-config/src/configureJest.js index 65a9075652..d738eb2161 100644 --- a/scripts/src/configs/configureJest.js +++ b/packages/configs/jest-config/src/configureJest.js @@ -2,7 +2,7 @@ // @ts-expect-error no types available for jest-preset import jestPreset from '@rnx-kit/jest-preset'; -import { ensurePlatform } from '../utils/platforms.js'; +import { ensurePlatform } from './platforms.js'; /** * @typedef {import('jest').Config} JestConfig @@ -22,7 +22,7 @@ export function configureJest(customConfig) { /** * - * @param {import('../utils/platforms.js').PlatformValue} [platform] + * @param {import('./platforms.js').PlatformValue} [platform] * @param {JestConfig} [customConfig] * @returns {JestConfig} */ diff --git a/packages/configs/jest-config/src/index.js b/packages/configs/jest-config/src/index.js new file mode 100644 index 0000000000..e69de29bb2 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/packages/configs/jest-config/src/jest.react.config.js b/packages/configs/jest-config/src/jest.react.config.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/src/configs/mergeConfigs.js b/packages/configs/jest-config/src/mergeConfigs.js similarity index 100% rename from scripts/src/configs/mergeConfigs.js rename to packages/configs/jest-config/src/mergeConfigs.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-settings/babel.config.js b/packages/deprecated/foundation-settings/babel.config.js index aa7d482ebf..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/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 c715d74c9e..bde4080b92 100644 --- a/packages/deprecated/foundation-settings/package.json +++ b/packages/deprecated/foundation-settings/package.json @@ -41,6 +41,7 @@ "@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 aa7d482ebf..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/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 e8fc37fc8a..4f58927f21 100644 --- a/packages/deprecated/foundation-tokens/package.json +++ b/packages/deprecated/foundation-tokens/package.json @@ -44,6 +44,7 @@ "@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 aa7d482ebf..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/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 96bd918fed..cda829cc51 100644 --- a/packages/deprecated/theme-registry/package.json +++ b/packages/deprecated/theme-registry/package.json @@ -39,6 +39,7 @@ "@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 aa7d482ebf..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/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 136fd1b9ff..11b22a2536 100644 --- a/packages/deprecated/themed-settings/package.json +++ b/packages/deprecated/themed-settings/package.json @@ -42,6 +42,7 @@ "@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 aa7d482ebf..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/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 04b25ee0d0..d5556304bc 100644 --- a/packages/deprecated/theming-ramp/package.json +++ b/packages/deprecated/theming-ramp/package.json @@ -42,6 +42,7 @@ "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/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 4dc604986d..1b02c86db3 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -39,6 +39,7 @@ "@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/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 29437dd139..ec66e161d7 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -39,6 +39,7 @@ "@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/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 b5a63f17ac..c282451750 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -37,6 +37,7 @@ "@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:*", 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 c214f7a7a4..3e0faf4dbb 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -38,6 +38,7 @@ "@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/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 e9902e9059..9f486852f7 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -40,6 +40,7 @@ "@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/experimental/Stack/jest.config.js b/packages/experimental/Stack/jest.config.js index 051098f649..92f4643e49 100644 --- a/packages/experimental/Stack/jest.config.js +++ b/packages/experimental/Stack/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/Stack/package.json b/packages/experimental/Stack/package.json index ff7d687f66..50b5b776a7 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -39,6 +39,7 @@ "@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", 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 69f81d42b4..c5ae800903 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -38,6 +38,7 @@ "@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", diff --git a/packages/framework-base/babel.config.js b/packages/framework-base/babel.config.js index aa7d482ebf..098a0a1f6f 100644 --- a/packages/framework-base/babel.config.js +++ b/packages/framework-base/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/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 530e1ebda1..f2dd6a116f 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -46,9 +46,9 @@ "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", - "react-native": "^0.74.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/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 04eb778de9..d446fc8140 100644 --- a/packages/framework/composition/package.json +++ b/packages/framework/composition/package.json @@ -43,6 +43,7 @@ "@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/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 01cfd0141f..7321a23643 100644 --- a/packages/framework/framework/package.json +++ b/packages/framework/framework/package.json @@ -45,6 +45,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/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 eadc17122c..b0a1eeb6de 100644 --- a/packages/framework/theme/package.json +++ b/packages/framework/theme/package.json @@ -42,6 +42,7 @@ "@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/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 ece9b11aba..9bd49c3f57 100644 --- a/packages/framework/themed-stylesheet/package.json +++ b/packages/framework/themed-stylesheet/package.json @@ -41,6 +41,7 @@ "@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/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 ee4b122aec..3cdd058387 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -40,6 +40,7 @@ "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/react": "18.2.0", 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 f4898856d5..ea3756c00a 100644 --- a/packages/framework/use-slots/package.json +++ b/packages/framework/use-slots/package.json @@ -42,6 +42,7 @@ "@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-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 23afd46425..ecbed3e9bf 100644 --- a/packages/framework/use-styling/package.json +++ b/packages/framework/use-styling/package.json @@ -42,6 +42,7 @@ "@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-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 42bf5ed9df..7e68e088d9 100644 --- a/packages/framework/use-tokens/package.json +++ b/packages/framework/use-tokens/package.json @@ -41,6 +41,7 @@ "@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/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/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 725b73208b..a34332ded4 100644 --- a/packages/theming/android-theme/package.json +++ b/packages/theming/android-theme/package.json @@ -45,6 +45,7 @@ "@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/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 d35b65ccdc..3c89a8b5f9 100644 --- a/packages/theming/apple-theme/package.json +++ b/packages/theming/apple-theme/package.json @@ -50,6 +50,7 @@ "@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/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 3510af6320..78ba3f7675 100644 --- a/packages/theming/default-theme/package.json +++ b/packages/theming/default-theme/package.json @@ -46,6 +46,7 @@ "@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/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 b58206473b..2e190c7420 100644 --- a/packages/theming/theming-utils/package.json +++ b/packages/theming/theming-utils/package.json @@ -39,6 +39,7 @@ "@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/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 9399bb81e0..5e05a72a17 100644 --- a/packages/theming/win32-theme/package.json +++ b/packages/theming/win32-theme/package.json @@ -47,6 +47,7 @@ "@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/utils/adapters/babel.config.js b/packages/utils/adapters/babel.config.js index aa7d482ebf..098a0a1f6f 100644 --- a/packages/utils/adapters/babel.config.js +++ b/packages/utils/adapters/babel.config.js @@ -1 +1 @@ -module.exports = require('@fluentui-react-native/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 cf19d998b3..d6889eb5fd 100644 --- a/packages/utils/adapters/package.json +++ b/packages/utils/adapters/package.json @@ -33,6 +33,7 @@ "@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/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 dfa0ecfe59..b92cdaef41 100644 --- a/packages/utils/interactive-hooks/package.json +++ b/packages/utils/interactive-hooks/package.json @@ -38,6 +38,7 @@ "@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", 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 d2b6b3b1aa..f698942f18 100644 --- a/packages/utils/test-tools/package.json +++ b/packages/utils/test-tools/package.json @@ -29,11 +29,13 @@ "directory": "packages/utils/test-tools" }, "dependencies": { - "@fluentui-react-native/theme-types": "workspace:*" + "@fluentui-react-native/theme-types": "workspace:*", + "@types/jest": "^29.0.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/react": "^18.2.0", "@types/react-test-renderer": "^18.2.0", diff --git a/scripts/package.json b/scripts/package.json index b08fc1fed2..f374765082 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -21,38 +21,24 @@ "directory": "scripts" }, "devDependencies": { - "@babel/core": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.0", - "@babel/preset-env": "^7.8.0", - "@babel/preset-react": "^7.8.0", - "@babel/preset-typescript": "^7.8.0", - "@babel/runtime": "^7.22.0", "@eslint/js": "^9.0.0", - "@react-native/babel-preset": "^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/babel__core": "^7.20.5", - "@types/jest": "^29.0.0", "@types/micromatch": "^4.0.9", "@types/node": "^22.0.0", - "babel-jest": "^29.7.0", "clipanion": "^4.0.0-rc.4", "depcheck": "^1.0.0", "eslint": "^9.0.0", "find-up": "^5.0.0", - "glob": "^10.0.0", - "jest": "^29.2.1", + "jest": "^29.0.0", "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", "typescript": "^5.8.0", - "typescript-eslint": "^8.0.0", "workspace-tools": "^0.26.3" }, "bundlesize": [ diff --git a/scripts/src/configs/configureBabel.js b/scripts/src/configs/configureBabel.js deleted file mode 100644 index 897199c39b..0000000000 --- a/scripts/src/configs/configureBabel.js +++ /dev/null @@ -1,25 +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' }], - ], - ...mixin, - }; -} diff --git a/scripts/src/index.js b/scripts/src/index.js index 6fa158994b..ba3dc19769 100644 --- a/scripts/src/index.js +++ b/scripts/src/index.js @@ -1,4 +1 @@ // @ts-check - -export { configureBabel } from './configs/configureBabel.js'; -export { configureJest, configureReactNativeJest } from './configs/configureJest.js'; diff --git a/scripts/src/preinstall/tool-versions.js b/scripts/src/preinstall/tool-versions.js index 8847ce7869..62bd83d0ec 100644 --- a/scripts/src/preinstall/tool-versions.js +++ b/scripts/src/preinstall/tool-versions.js @@ -59,6 +59,7 @@ const devToolVersions = { 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:*', }; 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/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/yarn.lock b/yarn.lock index c93d27a792..c45c8ebb3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2385,7 +2385,9 @@ __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" @@ -2417,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:*" @@ -2452,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:*" @@ -2493,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:*" @@ -2542,11 +2550,8 @@ __metadata: "@babel/preset-react": "npm:^7.22.0" "@babel/preset-typescript": "npm:^7.22.0" "@babel/runtime": "npm:^7.22.0" - "@fluentui-react-native/eslint-config-rules": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@rnx-kit/babel-preset-metro-react-native": "npm:2.0.0" - "@types/eslint": "npm:^9.0.0" - eslint: "npm:^9.0.0" languageName: unknown linkType: soft @@ -2556,10 +2561,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/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:*" @@ -2602,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:*" @@ -2655,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" @@ -2692,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:*" @@ -2741,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:*" @@ -2784,7 +2799,9 @@ __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" @@ -2801,8 +2818,10 @@ __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:*" @@ -2825,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:*" @@ -2872,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:*" @@ -3031,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:*" @@ -3072,9 +3097,11 @@ __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:*" @@ -3109,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:*" @@ -3120,7 +3148,6 @@ __metadata: "@fluentui-react-native/theme-tokens": "workspace:*" "@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" react: "npm:18.2.0" react-native: "npm:^0.74.0" @@ -3236,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:*" @@ -3269,6 +3297,7 @@ __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:*" @@ -3303,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:*" @@ -3310,7 +3340,6 @@ __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" react: "npm:18.2.0" react-native: "npm:^0.74.0" @@ -3339,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:*" @@ -3370,10 +3400,12 @@ __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" @@ -3409,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" @@ -3426,6 +3459,7 @@ __metadata: 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" @@ -3445,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:*" @@ -3481,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:*" @@ -3521,8 +3559,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/text": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -3558,8 +3598,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/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" @@ -3595,8 +3637,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/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" @@ -3630,13 +3674,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" - react-native: "npm:^0.74.0" languageName: unknown linkType: soft @@ -3649,6 +3694,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:*" @@ -3687,8 +3733,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:*" @@ -3724,6 +3772,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:*" @@ -3737,10 +3786,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:*" @@ -3781,8 +3832,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" @@ -3814,15 +3867,29 @@ __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: + "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/scripts": "workspace:*" + "@rnx-kit/jest-preset": "npm:^0.2.1" + jest: "npm:^29.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:*" @@ -3860,6 +3927,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:*" @@ -3874,10 +3942,12 @@ __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" @@ -3917,6 +3987,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:*" @@ -3924,6 +3995,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:*" @@ -3965,6 +4037,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:*" @@ -3985,6 +4058,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:*" @@ -3992,6 +4066,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:*" @@ -4033,9 +4108,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:*" @@ -4073,6 +4150,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:*" @@ -4112,6 +4190,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:*" @@ -4150,6 +4229,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:*" @@ -4182,6 +4262,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:*" @@ -4216,10 +4297,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:*" @@ -4294,38 +4377,24 @@ __metadata: version: 0.0.0-use.local resolution: "@fluentui-react-native/scripts@workspace:scripts" dependencies: - "@babel/core": "npm:^7.22.5" - "@babel/plugin-transform-typescript": "npm:^7.22.0" - "@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.22.0" "@eslint/js": "npm:^9.0.0" - "@react-native/babel-preset": "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/babel__core": "npm:^7.20.5" - "@types/jest": "npm:^29.0.0" "@types/micromatch": "npm:^4.0.9" "@types/node": "npm:^22.0.0" - babel-jest: "npm:^29.7.0" clipanion: "npm:^4.0.0-rc.4" depcheck: "npm:^1.0.0" eslint: "npm:^9.0.0" find-up: "npm:^5.0.0" - glob: "npm:^10.0.0" - jest: "npm:^29.2.1" + jest: "npm:^29.0.0" 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" typescript: "npm:^5.8.0" - typescript-eslint: "npm:^8.0.0" workspace-tools: "npm:^0.26.3" bin: fluentui-scripts: ./src/cli.mjs @@ -4337,8 +4406,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:*" @@ -4373,6 +4444,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:*" @@ -4410,8 +4482,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/text": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -4449,6 +4523,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" @@ -4467,9 +4542,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:*" @@ -4508,11 +4585,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:*" @@ -4551,13 +4630,14 @@ __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:*" "@types/jest": "npm:^29.0.0" "@types/react": "npm:^18.2.0" "@types/react-test-renderer": "npm:^18.2.0" - jest: "npm:^29.0.0" react: "npm:18.2.0" react-native: "npm:^0.74.0" react-test-renderer: "npm:18.2.0" @@ -4699,9 +4779,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:*" @@ -4737,6 +4819,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" @@ -4760,6 +4843,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" @@ -4778,8 +4862,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:*" @@ -4798,8 +4884,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" @@ -4816,9 +4904,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:*" @@ -4851,6 +4941,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:*" @@ -4882,10 +4973,12 @@ __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" @@ -4923,6 +5016,7 @@ __metadata: "@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/metro-config": "npm:^0.74.0" "@types/react": "npm:18.2.0" @@ -4941,8 +5035,10 @@ __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" @@ -4963,8 +5059,10 @@ __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" @@ -4986,8 +5084,10 @@ __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" @@ -5009,6 +5109,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" @@ -5039,10 +5140,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:*" @@ -5085,6 +5188,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:*" @@ -7362,7 +7466,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: @@ -7376,7 +7480,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: @@ -7477,7 +7581,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": +"@types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -8246,6 +8350,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:*" @@ -8265,6 +8370,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:*" @@ -8303,8 +8409,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" @@ -8322,8 +8430,10 @@ __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" @@ -8357,8 +8467,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" @@ -8376,8 +8488,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" @@ -8396,8 +8510,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:*" @@ -8418,6 +8534,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:*" @@ -10415,23 +10532,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 @@ -15539,7 +15656,7 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.0.0, jest@npm:^29.2.1": +"jest@npm:^29.0.0": version: 29.7.0 resolution: "jest@npm:29.7.0" dependencies: From 2366a6aea821ec81d8dae047084a867a8eaf6818 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Thu, 31 Jul 2025 14:20:09 -0700 Subject: [PATCH 15/33] fix more tests --- packages/codemods/jest.config.js | 2 +- ...-to-v1-test.ts => button-v0-to-v1.test.ts} | 0 ...orts-test.ts => deprecate-exports.test.ts} | 0 packages/configs/jest-config/package.json | 7 +- .../configs/jest-config/src/configureJest.js | 99 ++++++++++++++----- .../src/configureReactNativeJest.js | 27 +++++ packages/configs/jest-config/src/index.js | 5 + .../jest-config/src/jest.react.config.js | 0 .../configs/jest-config/src/mergeConfigs.js | 28 ------ yarn.lock | 16 ++- 10 files changed, 129 insertions(+), 55 deletions(-) rename packages/codemods/src/transforms/__tests__/{button-v0-to-v1-test.ts => button-v0-to-v1.test.ts} (100%) rename packages/codemods/src/transforms/__tests__/{deprecate-exports-test.ts => deprecate-exports.test.ts} (100%) create mode 100644 packages/configs/jest-config/src/configureReactNativeJest.js delete mode 100644 packages/configs/jest-config/src/jest.react.config.js delete mode 100644 packages/configs/jest-config/src/mergeConfigs.js diff --git a/packages/codemods/jest.config.js b/packages/codemods/jest.config.js index 97a0d3dd9d..6e7be0db56 100644 --- a/packages/codemods/jest.config.js +++ b/packages/codemods/jest.config.js @@ -1,2 +1,2 @@ const { configureJest } = require('@fluentui-react-native/jest-config'); -module.exports = configureJest({ testRegex: '/__tests__/.*-test\\.ts$' }); +module.exports = configureJest(); 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/configs/jest-config/package.json b/packages/configs/jest-config/package.json index 7175c49e30..c91735fba7 100644 --- a/packages/configs/jest-config/package.json +++ b/packages/configs/jest-config/package.json @@ -20,12 +20,17 @@ "lint": "fluentui-scripts eslint" }, "dependencies": { + "@fluentui-react-native/babel-config": "workspace:*", "@rnx-kit/jest-preset": "^0.2.1", - "jest": "^29.0.0" + "babel-jest": "^29.0.0", + "jest-transform-stub": "^2.0.0" }, "devDependencies": { + "@babel/core": "^7.28.0", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", + "@types/node": "^22.0.0", + "jest": "^29.0.0", "typescript": "^5.8.0" }, "beachball": { diff --git a/packages/configs/jest-config/src/configureJest.js b/packages/configs/jest-config/src/configureJest.js index d738eb2161..2c3a7bd997 100644 --- a/packages/configs/jest-config/src/configureJest.js +++ b/packages/configs/jest-config/src/configureJest.js @@ -1,39 +1,92 @@ // @ts-check -// @ts-expect-error no types available for jest-preset -import jestPreset from '@rnx-kit/jest-preset'; -import { ensurePlatform } from './platforms.js'; - /** * @typedef {import('jest').Config} JestConfig */ /** - * @param {JestConfig} [customConfig] - * @returns {JestConfig} - The Jest configuration object. + * 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) { - return jestPreset(undefined, { + /** @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, - }); + }; } /** - * - * @param {import('./platforms.js').PlatformValue} [platform] - * @param {JestConfig} [customConfig] - * @returns {JestConfig} + * Default export for convenience */ -export function configureReactNativeJest(platform, customConfig) { - const config = jestPreset(ensurePlatform(platform, 'ios'), { - roots: ['/src'], - verbose: false, - ...customConfig, - }); - config.transformIgnorePatterns = [ - '/node_modules/.store/(?!((jest-)?react-native(-macos)?|@react-native(-community)?|@office-iss-react-native-win32|@?react-native-windows))', - ]; - return config; -} +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..4f8baebafd --- /dev/null +++ b/packages/configs/jest-config/src/configureReactNativeJest.js @@ -0,0 +1,27 @@ +// @ts-check + +// @ts-expect-error no types available for jest-preset +import jestPreset from '@rnx-kit/jest-preset'; +import { ensurePlatform } from './platforms.js'; + +/** + * @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, + }); + config.transformIgnorePatterns = [ + '/node_modules/.store/(?!((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 index e69de29bb2..379012529d 100644 --- a/packages/configs/jest-config/src/index.js +++ 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/packages/configs/jest-config/src/jest.react.config.js b/packages/configs/jest-config/src/jest.react.config.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/configs/jest-config/src/mergeConfigs.js b/packages/configs/jest-config/src/mergeConfigs.js deleted file mode 100644 index 601c781853..0000000000 --- a/packages/configs/jest-config/src/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/yarn.lock b/yarn.lock index c45c8ebb3c..06dac0c17b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -435,7 +435,7 @@ __metadata: 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.23.9, @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: @@ -3871,10 +3871,15 @@ __metadata: 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.0.0" + jest-transform-stub: "npm:^2.0.0" typescript: "npm:^5.8.0" languageName: unknown linkType: soft @@ -10094,7 +10099,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: @@ -15600,6 +15605,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" From 6e244949d6ea3500fb1410763dea3c81d3b556a0 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Fri, 1 Aug 2025 10:06:03 -0700 Subject: [PATCH 16/33] move repo to pnpm, create babel and jest config packages, fix dependencies --- package.json | 1 - .../__snapshots__/Checkbox.test.tsx.snap | 618 +++++++++++++----- packages/components/FocusZone/package.json | 2 + packages/configs/babel-config/babel.config.js | 1 - packages/configs/babel-config/package.json | 2 +- packages/configs/jest-config/package.json | 10 +- packages/experimental/Stack/jest.config.js | 2 - packages/utils/test-tools/package.json | 4 +- scripts/package.json | 2 +- yarn.lock | 50 +- 10 files changed, 470 insertions(+), 222 deletions(-) delete mode 100644 packages/experimental/Stack/jest.config.js diff --git a/package.json b/package.json index d4946c0431..965248ba2c 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,6 @@ "@react-native/metro-babel-transformer": "^0.74.0", "@react-native/metro-config": "^0.74.0", "@rnx-kit/align-deps": "^3.0.0", - "@rnx-kit/babel-preset-metro-react-native": "^2.0.0", "@rnx-kit/lint-lockfile": "^0.1.0", "babel-jest": "^29.7.0", "beachball": "^2.20.0", 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`] = ` Date: Fri, 1 Aug 2025 10:07:06 -0700 Subject: [PATCH 17/33] Change files --- ...-react-native-67f57b80-1a47-45d9-bf00-8de7aec7992e.json | 7 +++++++ ...tive-adapters-1e099a4d-89f8-4ff7-8a6c-35207b5c6201.json | 7 +++++++ ...android-theme-1515ddf2-094b-4c64-907b-a4f2d3c7179f.json | 7 +++++++ ...e-apple-theme-9176009c-e48c-4c72-8636-a883171b0ad1.json | 7 +++++++ ...native-avatar-f6d4b476-7f83-4df4-92e5-8622caf37035.json | 7 +++++++ ...-native-badge-7ffe61c5-80ae-46c7-a07c-e515823a76e7.json | 7 +++++++ ...native-button-25db35a3-0f5b-4fd5-bca2-ef6b4e96ea58.json | 7 +++++++ ...ative-callout-ce2e6dcc-15c9-4536-91db-c8c645d21a97.json | 7 +++++++ ...tive-checkbox-15644ee6-e484-4179-9371-19381421d4d6.json | 7 +++++++ ...t-native-chip-cfeb65fd-609d-47f1-99fc-e5af48c29d37.json | 7 +++++++ ...tive-codemods-13409971-43c7-424b-8b8d-3fb346a05f40.json | 7 +++++++ ...e-composition-369cdef8-4f80-4ab6-8db3-7741fe6756ab.json | 7 +++++++ ...ntextual-menu-39afd36b-014b-41e5-a595-e1ad2c90c4e1.json | 7 +++++++ ...default-theme-9f4c765c-e033-43e4-b285-496c5eed855c.json | 7 +++++++ ...ative-divider-1e15fb50-0e73-476a-90fd-103338be6ca4.json | 7 +++++++ ...native-drawer-07ea5922-d707-4a22-a9bb-8f3d4f7e004a.json | 7 +++++++ ...tive-dropdown-18747c37-5b7f-4aa6-ae26-cadf53758a84.json | 7 +++++++ ...e-e2e-testing-95c4ec4e-06de-47fb-9ac0-512ef7f42ad0.json | 7 +++++++ ...nce-additions-66603ef1-a590-4694-b0f1-2ebd2ae12108.json | 7 +++++++ ...mental-avatar-ffddd6cf-eb77-47e7-a453-8d3dfd663571.json | 7 +++++++ ...ntal-checkbox-d2da87f1-eb0a-4191-9265-3020d24b565c.json | 7 +++++++ ...ntal-expander-13715983-8e05-49c5-a70c-d7b1291728e0.json | 7 +++++++ ...l-menu-button-a31d601f-9c9b-454a-8c08-64875f236fae.json | 7 +++++++ ...e-date-picker-83f41882-9486-4e66-9a63-86737fed18e3.json | 7 +++++++ ...-font-metrics-e0853e8f-71cc-41d5-a3a4-cc77be7c9f41.json | 7 +++++++ ...mental-shadow-7c1bed9b-309b-4306-87fe-d0fd5acf85ff.json | 7 +++++++ ...ental-shimmer-ab1fa8dc-631a-4b76-ac92-b6b4535942e4.json | 7 +++++++ ...cus-trap-zone-1da03c70-2b0c-425f-b5b4-43ba679b6f55.json | 7 +++++++ ...ve-focus-zone-97f21799-890e-44b0-bcdc-666566fc1884.json | 7 +++++++ ...ramework-base-5c7aa10c-8af6-4719-b0dc-9d9ed0882f07.json | 7 +++++++ ...ive-framework-e329185b-c237-4dea-a228-d037945e753f.json | 7 +++++++ ...t-native-icon-db0eb992-d54c-4b74-a2aa-f0e9d6ccaf97.json | 7 +++++++ ...mutable-merge-3d3f97b0-6977-4b32-b615-60ed26cf775a.json | 7 +++++++ ...-native-input-a471069b-6518-4276-bd22-74853a9805e2.json | 7 +++++++ ...ractive-hooks-25d4bbae-6266-44ad-ba9f-2c22ba6cf3cb.json | 7 +++++++ ...t-native-link-75301fa6-7df0-4544-9086-56658f977278.json | 7 +++++++ ...ve-memo-cache-08057fc1-c592-4c36-a206-1289b50ad657.json | 7 +++++++ ...t-native-menu-12bf3abe-c8ff-4cf0-849b-e2dec26568b1.json | 7 +++++++ ...e-menu-button-6d6e2b73-73ee-4dd7-b84b-5ea9604fe1a8.json | 7 +++++++ ...e-merge-props-456d59b3-8247-42d3-9f61-2a8d2e4217fd.json | 7 +++++++ ...-notification-828ae334-4b94-4530-bd87-2a709e948ec8.json | 7 +++++++ ...tive-overflow-4a2f94d0-8428-4a0c-9492-5b79bc8040fe.json | 7 +++++++ ...ative-persona-9447a89b-f80a-4566-92d0-61fae142c351.json | 7 +++++++ ...-persona-coin-8d9595ff-14d0-41fc-ac41-549f57e696af.json | 7 +++++++ ...ative-popover-e0b38efa-7ffd-40eb-a3ca-52395cc25099.json | 7 +++++++ ...ive-pressable-4cfd6946-fd8d-49dc-984d-7778212c41eb.json | 7 +++++++ ...e-radio-group-149d1300-8b38-4035-95c9-7e6ccaeafcc0.json | 7 +++++++ ...ive-separator-f3df5b92-6736-4394-bb68-007c481637a0.json | 7 +++++++ ...ative-spinner-da5f27b1-252c-4305-816c-8fd54ab21d24.json | 7 +++++++ ...-native-stack-d2e32cdd-9eaa-494e-9a27-bb610f13647a.json | 7 +++++++ ...styling-utils-91f1e1e5-4399-4024-b6f1-e9d19d2d5f0b.json | 7 +++++++ ...native-switch-7b7a7ab4-1b04-4401-aaea-c240455dcb9a.json | 7 +++++++ ...ative-tablist-447bbefb-97f0-48e6-a6e2-b802174d884e.json | 7 +++++++ ...native-tester-ba211d9d-d380-4960-9bb6-12081ec37221.json | 7 +++++++ ...-tester-win32-f0be4986-fdb5-4469-aecc-f53e04ba278a.json | 7 +++++++ ...t-native-text-b62ed3fa-6840-41f1-968d-11f4c2dd2e6b.json | 7 +++++++ ...-native-theme-1d10a478-4f8a-47ae-b017-09f86ea6414e.json | 7 +++++++ ...-theme-tokens-de0bdae9-1959-4c17-b1ce-53d10bb9c746.json | 7 +++++++ ...e-theme-types-4970e67a-52dc-4d8d-8b48-36644f73737f.json | 7 +++++++ ...ed-stylesheet-cc7f34ed-1f3d-40d8-be2e-905de258ebac.json | 7 +++++++ ...theming-utils-c3c450cd-688d-4e35-bc1f-5d2454037d29.json | 7 +++++++ ...native-tokens-439b2a6b-f092-45af-8acf-201f91141a07.json | 7 +++++++ ...ative-tooltip-b643f7ec-7356-4845-8118-77e59ea0f469.json | 7 +++++++ ...tive-use-slot-d467a2d2-21d2-4527-a44c-81a93323375b.json | 7 +++++++ ...ive-use-slots-47cc5ca4-c3f3-4f3c-ad3d-c73f41c3f6c1.json | 7 +++++++ ...e-use-styling-7edf9738-4711-468b-9ae1-c1efe8066fe6.json | 7 +++++++ ...ve-use-tokens-34fb11ea-c61a-4034-a69f-76ef918f6d33.json | 7 +++++++ ...vibrancy-view-d4988e82-cc92-4139-b6bf-d4e516932057.json | 7 +++++++ ...e-win32-theme-152c8a98-a3d5-457a-bb6a-abf910fa789f.json | 7 +++++++ ...on-composable-537f14ef-d1bd-4497-aaa2-13bf1c82af90.json | 7 +++++++ ...ation-compose-d30923a0-efa9-4ab2-a569-d3f71b8074f9.json | 7 +++++++ ...tion-settings-92570c64-9140-4624-9f7f-5dc3ea7143d9.json | 7 +++++++ ...dation-tokens-9e98a0b7-7fcd-44a8-8633-f1d9b045b668.json | 7 +++++++ ...heme-registry-130620f0-951d-419f-b540-246f2293ab66.json | 7 +++++++ ...emed-settings-e56d800b-32eb-4c31-a451-8c05495014d0.json | 7 +++++++ ...-theming-ramp-3fc6a428-eee3-478f-9fa5-74389d2deeb1.json | 7 +++++++ ...-react-native-662f5e61-3d66-4683-9531-51fa83fc819c.json | 7 +++++++ 77 files changed, 539 insertions(+) create mode 100644 change/@fluentui-react-native-67f57b80-1a47-45d9-bf00-8de7aec7992e.json create mode 100644 change/@fluentui-react-native-adapters-1e099a4d-89f8-4ff7-8a6c-35207b5c6201.json create mode 100644 change/@fluentui-react-native-android-theme-1515ddf2-094b-4c64-907b-a4f2d3c7179f.json create mode 100644 change/@fluentui-react-native-apple-theme-9176009c-e48c-4c72-8636-a883171b0ad1.json create mode 100644 change/@fluentui-react-native-avatar-f6d4b476-7f83-4df4-92e5-8622caf37035.json create mode 100644 change/@fluentui-react-native-badge-7ffe61c5-80ae-46c7-a07c-e515823a76e7.json create mode 100644 change/@fluentui-react-native-button-25db35a3-0f5b-4fd5-bca2-ef6b4e96ea58.json create mode 100644 change/@fluentui-react-native-callout-ce2e6dcc-15c9-4536-91db-c8c645d21a97.json create mode 100644 change/@fluentui-react-native-checkbox-15644ee6-e484-4179-9371-19381421d4d6.json create mode 100644 change/@fluentui-react-native-chip-cfeb65fd-609d-47f1-99fc-e5af48c29d37.json create mode 100644 change/@fluentui-react-native-codemods-13409971-43c7-424b-8b8d-3fb346a05f40.json create mode 100644 change/@fluentui-react-native-composition-369cdef8-4f80-4ab6-8db3-7741fe6756ab.json create mode 100644 change/@fluentui-react-native-contextual-menu-39afd36b-014b-41e5-a595-e1ad2c90c4e1.json create mode 100644 change/@fluentui-react-native-default-theme-9f4c765c-e033-43e4-b285-496c5eed855c.json create mode 100644 change/@fluentui-react-native-divider-1e15fb50-0e73-476a-90fd-103338be6ca4.json create mode 100644 change/@fluentui-react-native-drawer-07ea5922-d707-4a22-a9bb-8f3d4f7e004a.json create mode 100644 change/@fluentui-react-native-dropdown-18747c37-5b7f-4aa6-ae26-cadf53758a84.json create mode 100644 change/@fluentui-react-native-e2e-testing-95c4ec4e-06de-47fb-9ac0-512ef7f42ad0.json create mode 100644 change/@fluentui-react-native-experimental-appearance-additions-66603ef1-a590-4694-b0f1-2ebd2ae12108.json create mode 100644 change/@fluentui-react-native-experimental-avatar-ffddd6cf-eb77-47e7-a453-8d3dfd663571.json create mode 100644 change/@fluentui-react-native-experimental-checkbox-d2da87f1-eb0a-4191-9265-3020d24b565c.json create mode 100644 change/@fluentui-react-native-experimental-expander-13715983-8e05-49c5-a70c-d7b1291728e0.json create mode 100644 change/@fluentui-react-native-experimental-menu-button-a31d601f-9c9b-454a-8c08-64875f236fae.json create mode 100644 change/@fluentui-react-native-experimental-native-date-picker-83f41882-9486-4e66-9a63-86737fed18e3.json create mode 100644 change/@fluentui-react-native-experimental-native-font-metrics-e0853e8f-71cc-41d5-a3a4-cc77be7c9f41.json create mode 100644 change/@fluentui-react-native-experimental-shadow-7c1bed9b-309b-4306-87fe-d0fd5acf85ff.json create mode 100644 change/@fluentui-react-native-experimental-shimmer-ab1fa8dc-631a-4b76-ac92-b6b4535942e4.json create mode 100644 change/@fluentui-react-native-focus-trap-zone-1da03c70-2b0c-425f-b5b4-43ba679b6f55.json create mode 100644 change/@fluentui-react-native-focus-zone-97f21799-890e-44b0-bcdc-666566fc1884.json create mode 100644 change/@fluentui-react-native-framework-base-5c7aa10c-8af6-4719-b0dc-9d9ed0882f07.json create mode 100644 change/@fluentui-react-native-framework-e329185b-c237-4dea-a228-d037945e753f.json create mode 100644 change/@fluentui-react-native-icon-db0eb992-d54c-4b74-a2aa-f0e9d6ccaf97.json create mode 100644 change/@fluentui-react-native-immutable-merge-3d3f97b0-6977-4b32-b615-60ed26cf775a.json create mode 100644 change/@fluentui-react-native-input-a471069b-6518-4276-bd22-74853a9805e2.json create mode 100644 change/@fluentui-react-native-interactive-hooks-25d4bbae-6266-44ad-ba9f-2c22ba6cf3cb.json create mode 100644 change/@fluentui-react-native-link-75301fa6-7df0-4544-9086-56658f977278.json create mode 100644 change/@fluentui-react-native-memo-cache-08057fc1-c592-4c36-a206-1289b50ad657.json create mode 100644 change/@fluentui-react-native-menu-12bf3abe-c8ff-4cf0-849b-e2dec26568b1.json create mode 100644 change/@fluentui-react-native-menu-button-6d6e2b73-73ee-4dd7-b84b-5ea9604fe1a8.json create mode 100644 change/@fluentui-react-native-merge-props-456d59b3-8247-42d3-9f61-2a8d2e4217fd.json create mode 100644 change/@fluentui-react-native-notification-828ae334-4b94-4530-bd87-2a709e948ec8.json create mode 100644 change/@fluentui-react-native-overflow-4a2f94d0-8428-4a0c-9492-5b79bc8040fe.json create mode 100644 change/@fluentui-react-native-persona-9447a89b-f80a-4566-92d0-61fae142c351.json create mode 100644 change/@fluentui-react-native-persona-coin-8d9595ff-14d0-41fc-ac41-549f57e696af.json create mode 100644 change/@fluentui-react-native-popover-e0b38efa-7ffd-40eb-a3ca-52395cc25099.json create mode 100644 change/@fluentui-react-native-pressable-4cfd6946-fd8d-49dc-984d-7778212c41eb.json create mode 100644 change/@fluentui-react-native-radio-group-149d1300-8b38-4035-95c9-7e6ccaeafcc0.json create mode 100644 change/@fluentui-react-native-separator-f3df5b92-6736-4394-bb68-007c481637a0.json create mode 100644 change/@fluentui-react-native-spinner-da5f27b1-252c-4305-816c-8fd54ab21d24.json create mode 100644 change/@fluentui-react-native-stack-d2e32cdd-9eaa-494e-9a27-bb610f13647a.json create mode 100644 change/@fluentui-react-native-styling-utils-91f1e1e5-4399-4024-b6f1-e9d19d2d5f0b.json create mode 100644 change/@fluentui-react-native-switch-7b7a7ab4-1b04-4401-aaea-c240455dcb9a.json create mode 100644 change/@fluentui-react-native-tablist-447bbefb-97f0-48e6-a6e2-b802174d884e.json create mode 100644 change/@fluentui-react-native-tester-ba211d9d-d380-4960-9bb6-12081ec37221.json create mode 100644 change/@fluentui-react-native-tester-win32-f0be4986-fdb5-4469-aecc-f53e04ba278a.json create mode 100644 change/@fluentui-react-native-text-b62ed3fa-6840-41f1-968d-11f4c2dd2e6b.json create mode 100644 change/@fluentui-react-native-theme-1d10a478-4f8a-47ae-b017-09f86ea6414e.json create mode 100644 change/@fluentui-react-native-theme-tokens-de0bdae9-1959-4c17-b1ce-53d10bb9c746.json create mode 100644 change/@fluentui-react-native-theme-types-4970e67a-52dc-4d8d-8b48-36644f73737f.json create mode 100644 change/@fluentui-react-native-themed-stylesheet-cc7f34ed-1f3d-40d8-be2e-905de258ebac.json create mode 100644 change/@fluentui-react-native-theming-utils-c3c450cd-688d-4e35-bc1f-5d2454037d29.json create mode 100644 change/@fluentui-react-native-tokens-439b2a6b-f092-45af-8acf-201f91141a07.json create mode 100644 change/@fluentui-react-native-tooltip-b643f7ec-7356-4845-8118-77e59ea0f469.json create mode 100644 change/@fluentui-react-native-use-slot-d467a2d2-21d2-4527-a44c-81a93323375b.json create mode 100644 change/@fluentui-react-native-use-slots-47cc5ca4-c3f3-4f3c-ad3d-c73f41c3f6c1.json create mode 100644 change/@fluentui-react-native-use-styling-7edf9738-4711-468b-9ae1-c1efe8066fe6.json create mode 100644 change/@fluentui-react-native-use-tokens-34fb11ea-c61a-4034-a69f-76ef918f6d33.json create mode 100644 change/@fluentui-react-native-vibrancy-view-d4988e82-cc92-4139-b6bf-d4e516932057.json create mode 100644 change/@fluentui-react-native-win32-theme-152c8a98-a3d5-457a-bb6a-abf910fa789f.json create mode 100644 change/@uifabricshared-foundation-composable-537f14ef-d1bd-4497-aaa2-13bf1c82af90.json create mode 100644 change/@uifabricshared-foundation-compose-d30923a0-efa9-4ab2-a569-d3f71b8074f9.json create mode 100644 change/@uifabricshared-foundation-settings-92570c64-9140-4624-9f7f-5dc3ea7143d9.json create mode 100644 change/@uifabricshared-foundation-tokens-9e98a0b7-7fcd-44a8-8633-f1d9b045b668.json create mode 100644 change/@uifabricshared-theme-registry-130620f0-951d-419f-b540-246f2293ab66.json create mode 100644 change/@uifabricshared-themed-settings-e56d800b-32eb-4c31-a451-8c05495014d0.json create mode 100644 change/@uifabricshared-theming-ramp-3fc6a428-eee3-478f-9fa5-74389d2deeb1.json create mode 100644 change/@uifabricshared-theming-react-native-662f5e61-3d66-4683-9531-51fa83fc819c.json 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" +} From e27726a1d3d3dbdb2f7b61846a846c402332d2c4 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Fri, 1 Aug 2025 10:30:29 -0700 Subject: [PATCH 18/33] add missing @types/jest devDependency --- packages/experimental/Stack/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/experimental/Stack/package.json b/packages/experimental/Stack/package.json index 50b5b776a7..2b43e877cc 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -44,6 +44,7 @@ "@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", diff --git a/yarn.lock b/yarn.lock index 18bb44498a..8f962e94be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3568,6 +3568,7 @@ __metadata: "@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" From 495139d72e63b3c44dc38a32acfdca2e3285484a Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Fri, 1 Aug 2025 14:18:28 -0700 Subject: [PATCH 19/33] fix ios/mac pod install --- apps/fluent-tester/ios/Podfile | 10 +- apps/fluent-tester/ios/Podfile.lock | 272 ++++++++++++------------- apps/fluent-tester/macos/Podfile | 16 +- apps/fluent-tester/macos/Podfile.lock | 276 +++++++++++++------------- apps/fluent-tester/package.json | 3 + yarn.lock | 5 +- 6 files changed, 296 insertions(+), 286 deletions(-) diff --git a/apps/fluent-tester/ios/Podfile b/apps/fluent-tester/ios/Podfile index 09f761915f..eee88bddce 100644 --- a/apps/fluent-tester/ios/Podfile +++ b/apps/fluent-tester/ios/Podfile @@ -1,15 +1,17 @@ -require_relative '../../../node_modules/react-native-test-app/test_app' +ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') + +require_relative '../node_modules/react-native-test-app/test_app' workspace 'FluentTester.xcworkspace' -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' + pod 'FRNAppearanceAdditions', :path => '../node_modules/@fluentui-react-native/experimental-appearance-additions/FRNAppearanceAdditions.podspec' + pod 'FRNFontMetrics', :path => '../node_modules/@fluentui-react-native/experimental-native-font-metrics/FRNFontMetrics.podspec' end end diff --git a/apps/fluent-tester/ios/Podfile.lock b/apps/fluent-tester/ios/Podfile.lock index b341bccbaa..058a5c3567 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) @@ -1347,71 +1347,71 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`) - - 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`) - - 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`) - - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`) - - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../../../node_modules/react-native/`) - - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`) + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - 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 `../node_modules/@fluentui-react-native/experimental-appearance-additions/FRNAppearanceAdditions.podspec`)" + - "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/FRNFontMetrics.podspec`)" + - 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`) + - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (from `../../../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`) - - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`) - - React-Fabric (from `../../../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`) - - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jsc (from `../../../node_modules/react-native/ReactCommon/jsc`) - - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`) - - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`) - - "react-native-menu (from `../../../node_modules/@react-native-menu/menu`)" - - "react-native-slider (from `../../../node_modules/@react-native-community/slider`)" - - React-nativeconfig (from `../../../node_modules/react-native/ReactCommon`) - - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../../../node_modules/react-native/React`) - - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`) - - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-rncore (from `../../../node_modules/react-native/ReactCommon`) - - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) - - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) + - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../node_modules/react-native/ReactCommon/jsc`) + - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - "react-native-menu (from `../node_modules/@react-native-menu/menu`)" + - "react-native-slider (from `../node_modules/@react-native-community/slider`)" + - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) - ReactTestApp-Resources (from `..`) - - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)" - - RNSVG (from `../../../node_modules/react-native-svg`) - - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) + - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" + - RNSVG (from `../node_modules/react-native-svg`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -1420,141 +1420,141 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../../../node_modules/react-native/Libraries/FBLazyVector" + :path: "../node_modules/react-native/Libraries/FBLazyVector" fmt: - :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec" + :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/FRNAppearanceAdditions.podspec" 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/FRNFontMetrics.podspec" glog: - :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" RCT-Folly: - :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: - :path: "../../../node_modules/react-native/Libraries/Required" + :path: "../node_modules/react-native/Libraries/Required" RCTTypeSafety: - :path: "../../../node_modules/react-native/Libraries/TypeSafety" + :path: "../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../../../node_modules/react-native/" + :path: "../node_modules/react-native/" React-callinvoker: - :path: "../../../node_modules/react-native/ReactCommon/callinvoker" + :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../../../node_modules/react-native/" + :path: "../node_modules/react-native/" React-CoreModules: - :path: "../../../node_modules/react-native/React/CoreModules" + :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../../../node_modules/react-native/ReactCommon/cxxreact" + :path: "../node_modules/react-native/ReactCommon/cxxreact" React-debug: - :path: "../../../node_modules/react-native/ReactCommon/react/debug" + :path: "../node_modules/react-native/ReactCommon/react/debug" React-Fabric: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-FabricImage: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-featureflags: - :path: "../../../node_modules/react-native/ReactCommon/react/featureflags" + :path: "../node_modules/react-native/ReactCommon/react/featureflags" React-graphics: - :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics" + :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" React-ImageManager: - :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" React-jsc: - :path: "../../../node_modules/react-native/ReactCommon/jsc" + :path: "../node_modules/react-native/ReactCommon/jsc" React-jserrorhandler: - :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler" + :path: "../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: - :path: "../../../node_modules/react-native/ReactCommon/jsi" + :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern" + :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" React-jsitracing: - :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/" + :path: "../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: - :path: "../../../node_modules/react-native/ReactCommon/logger" + :path: "../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" react-native-menu: - :path: "../../../node_modules/@react-native-menu/menu" + :path: "../node_modules/@react-native-menu/menu" react-native-slider: - :path: "../../../node_modules/@react-native-community/slider" + :path: "../node_modules/@react-native-community/slider" React-nativeconfig: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: - :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../../../node_modules/react-native/ReactCommon/reactperflogger" + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../../../node_modules/react-native/Libraries/NativeAnimation" + :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../../../node_modules/react-native/Libraries/AppDelegate" + :path: "../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: - :path: "../../../node_modules/react-native/Libraries/Blob" + :path: "../node_modules/react-native/Libraries/Blob" React-RCTFabric: - :path: "../../../node_modules/react-native/React" + :path: "../node_modules/react-native/React" React-RCTImage: - :path: "../../../node_modules/react-native/Libraries/Image" + :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../../../node_modules/react-native/Libraries/LinkingIOS" + :path: "../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../../../node_modules/react-native/Libraries/Network" + :path: "../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "../../../node_modules/react-native/Libraries/Settings" + :path: "../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../../../node_modules/react-native/Libraries/Text" + :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../../../node_modules/react-native/Libraries/Vibration" + :path: "../node_modules/react-native/Libraries/Vibration" React-rendererdebug: - :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug" + :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" React-RuntimeApple: - :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../../../node_modules/react-native/ReactCommon/react/runtime" + :path: "../node_modules/react-native/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" React-runtimescheduler: - :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../../../node_modules/react-native/ReactCommon/react/utils" + :path: "../node_modules/react-native/ReactCommon/react/utils" ReactCommon: - :path: "../../../node_modules/react-native/ReactCommon" + :path: "../node_modules/react-native/ReactCommon" ReactNativeHost: - :path: "../../../node_modules/@rnx-kit/react-native-host" + :path: "../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host" ReactTestApp-DevSupport: - :path: "../../../node_modules/react-native-test-app" + :path: "../node_modules/react-native-test-app" ReactTestApp-Resources: :path: ".." RNCPicker: - :path: "../../../node_modules/@react-native-picker/picker" + :path: "../node_modules/@react-native-picker/picker" RNSVG: - :path: "../../../node_modules/react-native-svg" + :path: "../node_modules/react-native-svg" Yoga: - :path: "../../../node_modules/react-native/ReactCommon/yoga" + :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 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 @@ -1563,7 +1563,7 @@ SPEC CHECKSUMS: RCTTypeSafety: 4e9f36465ccbcca7b62f5cb8fc1ff2c997c3b92e React: 7f6ee889aa17245726efe5c0be52389e58d9d7c1 React-callinvoker: 0155d33f43924c206dfaa040c020d0404bbb54d6 - React-Codegen: 6b561e3ae72207127e19c20b4c58bf90408ba1e9 + React-Codegen: 8b90edfe2de1aaada8325bda3d8bd4598e1ba8d1 React-Core: 7f58b500f05ec41bf46bc67c9a25073f7302b652 React-CoreModules: 46303f9f50e942fdd8763626464a8a24d9a36419 React-cxxreact: 79396381338fe78a01d72a9517bb9013c6dd3784 @@ -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: 475c06bf1b01bc308bd7c7bfebd18f6533302ce3 COCOAPODS: 1.16.2 diff --git a/apps/fluent-tester/macos/Podfile b/apps/fluent-tester/macos/Podfile index bb8ea02e51..b8e2400d36 100644 --- a/apps/fluent-tester/macos/Podfile +++ b/apps/fluent-tester/macos/Podfile @@ -1,18 +1,20 @@ -require_relative '../../../node_modules/react-native-test-app/macos/test_app' +ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') + +require_relative '../node_modules/react-native-test-app/macos/test_app' workspace 'FluentTester.xcworkspace' -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' + pod 'FRNAvatar', :path => '../node_modules/@fluentui-react-native/experimental-avatar/FRNAvatar.podspec' + pod 'FRNCheckbox', :path => '../node_modules/@fluentui-react-native/experimental-checkbox/FRNCheckbox.podspec' + pod 'FRNMenuButton', :path => '../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec' + pod 'FRNRadioButton', :path => '../node_modules/@fluentui-react-native/radio-group/FRNRadioButton.podspec' + pod 'RCTFocusZone', :path => '../node_modules/@fluentui-react-native/focus-zone/RCTFocusZone.podspec' end end diff --git a/apps/fluent-tester/macos/Podfile.lock b/apps/fluent-tester/macos/Podfile.lock index 4f12ff3a39..0340f51d40 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): @@ -1257,73 +1257,73 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../../../node_modules/react-native-macos/third-party-podspecs/boost.podspec`) - - 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`) + - boost (from `../node_modules/react-native-macos/third-party-podspecs/boost.podspec`) + - 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 `../node_modules/@fluentui-react-native/experimental-avatar/FRNAvatar.podspec`)" - "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/FRNCheckbox.podspec`)" + - "FRNMenuButton (from `../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec`)" + - "FRNRadioButton (from `../node_modules/@fluentui-react-native/radio-group/FRNRadioButton.podspec`)" - "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`) - - 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/`) - - React-callinvoker (from `../../../node_modules/react-native-macos/ReactCommon/callinvoker`) + - 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 `../node_modules/@fluentui-react-native/focus-zone/RCTFocusZone.podspec`)" + - 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/`) + - React-callinvoker (from `../node_modules/react-native-macos/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (from `../../../node_modules/react-native-macos/`) - - React-Core/RCTWebSocket (from `../../../node_modules/react-native-macos/`) - - React-CoreModules (from `../../../node_modules/react-native-macos/React/CoreModules`) - - React-cxxreact (from `../../../node_modules/react-native-macos/ReactCommon/cxxreact`) - - React-debug (from `../../../node_modules/react-native-macos/ReactCommon/react/debug`) - - React-Fabric (from `../../../node_modules/react-native-macos/ReactCommon`) - - React-FabricImage (from `../../../node_modules/react-native-macos/ReactCommon`) - - React-featureflags (from `../../../node_modules/react-native-macos/ReactCommon/react/featureflags`) - - React-graphics (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/graphics`) - - React-ImageManager (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jsc (from `../../../node_modules/react-native-macos/ReactCommon/jsc`) - - React-jserrorhandler (from `../../../node_modules/react-native-macos/ReactCommon/jserrorhandler`) - - React-jsi (from `../../../node_modules/react-native-macos/ReactCommon/jsi`) - - React-jsiexecutor (from `../../../node_modules/react-native-macos/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../../../node_modules/react-native-macos/ReactCommon/jsinspector-modern`) - - React-jsitracing (from `../../../node_modules/react-native-macos/ReactCommon/hermes/executor/`) - - React-logger (from `../../../node_modules/react-native-macos/ReactCommon/logger`) - - React-Mapbuffer (from `../../../node_modules/react-native-macos/ReactCommon`) - - React-nativeconfig (from `../../../node_modules/react-native-macos/ReactCommon`) - - React-NativeModulesApple (from `../../../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../../../node_modules/react-native-macos/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../../../node_modules/react-native-macos/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../../../node_modules/react-native-macos/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../../../node_modules/react-native-macos/Libraries/AppDelegate`) - - React-RCTBlob (from `../../../node_modules/react-native-macos/Libraries/Blob`) - - React-RCTFabric (from `../../../node_modules/react-native-macos/React`) - - React-RCTImage (from `../../../node_modules/react-native-macos/Libraries/Image`) - - React-RCTLinking (from `../../../node_modules/react-native-macos/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../../../node_modules/react-native-macos/Libraries/Network`) - - React-RCTSettings (from `../../../node_modules/react-native-macos/Libraries/Settings`) - - React-RCTText (from `../../../node_modules/react-native-macos/Libraries/Text`) - - React-RCTVibration (from `../../../node_modules/react-native-macos/Libraries/Vibration`) - - React-rendererdebug (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/debug`) - - React-rncore (from `../../../node_modules/react-native-macos/ReactCommon`) - - React-RuntimeApple (from `../../../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../../../node_modules/react-native-macos/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../../../node_modules/react-native-macos/ReactCommon/runtimeexecutor`) - - React-runtimescheduler (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../../../node_modules/react-native-macos/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../../../node_modules/react-native-macos/ReactCommon`) - - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) + - React-Core (from `../node_modules/react-native-macos/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native-macos/`) + - React-CoreModules (from `../node_modules/react-native-macos/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native-macos/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native-macos/ReactCommon/react/debug`) + - React-Fabric (from `../node_modules/react-native-macos/ReactCommon`) + - React-FabricImage (from `../node_modules/react-native-macos/ReactCommon`) + - React-featureflags (from `../node_modules/react-native-macos/ReactCommon/react/featureflags`) + - React-graphics (from `../node_modules/react-native-macos/ReactCommon/react/renderer/graphics`) + - React-ImageManager (from `../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../node_modules/react-native-macos/ReactCommon/jsc`) + - React-jserrorhandler (from `../node_modules/react-native-macos/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native-macos/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native-macos/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native-macos/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../node_modules/react-native-macos/ReactCommon/hermes/executor/`) + - React-logger (from `../node_modules/react-native-macos/ReactCommon/logger`) + - React-Mapbuffer (from `../node_modules/react-native-macos/ReactCommon`) + - React-nativeconfig (from `../node_modules/react-native-macos/ReactCommon`) + - React-NativeModulesApple (from `../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native-macos/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native-macos/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native-macos/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native-macos/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native-macos/Libraries/Blob`) + - React-RCTFabric (from `../node_modules/react-native-macos/React`) + - React-RCTImage (from `../node_modules/react-native-macos/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native-macos/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native-macos/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native-macos/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native-macos/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native-macos/Libraries/Vibration`) + - React-rendererdebug (from `../node_modules/react-native-macos/ReactCommon/react/renderer/debug`) + - React-rncore (from `../node_modules/react-native-macos/ReactCommon`) + - React-RuntimeApple (from `../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../node_modules/react-native-macos/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../node_modules/react-native-macos/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native-macos/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native-macos/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) - ReactTestApp-Resources (from `..`) - - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)" - - RNSVG (from `../../../node_modules/react-native-svg`) - - SocketRocket (from `../../../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec`) - - Yoga (from `../../../node_modules/react-native-macos/ReactCommon/yoga`) + - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" + - RNSVG (from `../node_modules/react-native-svg`) + - SocketRocket (from `../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec`) + - Yoga (from `../node_modules/react-native-macos/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -1331,157 +1331,157 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/boost.podspec" + :podspec: "../node_modules/react-native-macos/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../../../node_modules/react-native-macos/Libraries/FBLazyVector" + :path: "../node_modules/react-native-macos/Libraries/FBLazyVector" fmt: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/fmt.podspec" + :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/FRNAvatar.podspec" FRNCallout: :path: "../node_modules/@fluentui-react-native/callout" FRNCheckbox: - :path: "../../../packages/experimental/Checkbox/FRNCheckbox.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-checkbox/FRNCheckbox.podspec" FRNMenuButton: - :path: "../../../packages/components/MenuButton/FRNMenuButton.podspec" + :path: "../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec" FRNRadioButton: - :path: "../../../packages/components/RadioGroup/FRNRadioButton.podspec" + :path: "../node_modules/@fluentui-react-native/radio-group/FRNRadioButton.podspec" FRNVibrancyView: :path: "../node_modules/@fluentui-react-native/vibrancy-view" glog: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/glog.podspec" + :podspec: "../node_modules/react-native-macos/third-party-podspecs/glog.podspec" RCT-Folly: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../../../node_modules/react-native-macos/ReactApple/Libraries/RCTFoundation/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/RCTFocusZone.podspec" RCTRequired: - :path: "../../../node_modules/react-native-macos/Libraries/Required" + :path: "../node_modules/react-native-macos/Libraries/Required" RCTTypeSafety: - :path: "../../../node_modules/react-native-macos/Libraries/TypeSafety" + :path: "../node_modules/react-native-macos/Libraries/TypeSafety" React: - :path: "../../../node_modules/react-native-macos/" + :path: "../node_modules/react-native-macos/" React-callinvoker: - :path: "../../../node_modules/react-native-macos/ReactCommon/callinvoker" + :path: "../node_modules/react-native-macos/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../../../node_modules/react-native-macos/" + :path: "../node_modules/react-native-macos/" React-CoreModules: - :path: "../../../node_modules/react-native-macos/React/CoreModules" + :path: "../node_modules/react-native-macos/React/CoreModules" React-cxxreact: - :path: "../../../node_modules/react-native-macos/ReactCommon/cxxreact" + :path: "../node_modules/react-native-macos/ReactCommon/cxxreact" React-debug: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/debug" + :path: "../node_modules/react-native-macos/ReactCommon/react/debug" React-Fabric: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" React-FabricImage: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" React-featureflags: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/featureflags" + :path: "../node_modules/react-native-macos/ReactCommon/react/featureflags" React-graphics: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/graphics" + :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/graphics" React-ImageManager: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios" React-jsc: - :path: "../../../node_modules/react-native-macos/ReactCommon/jsc" + :path: "../node_modules/react-native-macos/ReactCommon/jsc" React-jserrorhandler: - :path: "../../../node_modules/react-native-macos/ReactCommon/jserrorhandler" + :path: "../node_modules/react-native-macos/ReactCommon/jserrorhandler" React-jsi: - :path: "../../../node_modules/react-native-macos/ReactCommon/jsi" + :path: "../node_modules/react-native-macos/ReactCommon/jsi" React-jsiexecutor: - :path: "../../../node_modules/react-native-macos/ReactCommon/jsiexecutor" + :path: "../node_modules/react-native-macos/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../../../node_modules/react-native-macos/ReactCommon/jsinspector-modern" + :path: "../node_modules/react-native-macos/ReactCommon/jsinspector-modern" React-jsitracing: - :path: "../../../node_modules/react-native-macos/ReactCommon/hermes/executor/" + :path: "../node_modules/react-native-macos/ReactCommon/hermes/executor/" React-logger: - :path: "../../../node_modules/react-native-macos/ReactCommon/logger" + :path: "../node_modules/react-native-macos/ReactCommon/logger" React-Mapbuffer: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" React-nativeconfig: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" React-NativeModulesApple: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../../../node_modules/react-native-macos/ReactCommon/reactperflogger" + :path: "../node_modules/react-native-macos/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../../../node_modules/react-native-macos/Libraries/ActionSheetIOS" + :path: "../node_modules/react-native-macos/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../../../node_modules/react-native-macos/Libraries/NativeAnimation" + :path: "../node_modules/react-native-macos/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../../../node_modules/react-native-macos/Libraries/AppDelegate" + :path: "../node_modules/react-native-macos/Libraries/AppDelegate" React-RCTBlob: - :path: "../../../node_modules/react-native-macos/Libraries/Blob" + :path: "../node_modules/react-native-macos/Libraries/Blob" React-RCTFabric: - :path: "../../../node_modules/react-native-macos/React" + :path: "../node_modules/react-native-macos/React" React-RCTImage: - :path: "../../../node_modules/react-native-macos/Libraries/Image" + :path: "../node_modules/react-native-macos/Libraries/Image" React-RCTLinking: - :path: "../../../node_modules/react-native-macos/Libraries/LinkingIOS" + :path: "../node_modules/react-native-macos/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../../../node_modules/react-native-macos/Libraries/Network" + :path: "../node_modules/react-native-macos/Libraries/Network" React-RCTSettings: - :path: "../../../node_modules/react-native-macos/Libraries/Settings" + :path: "../node_modules/react-native-macos/Libraries/Settings" React-RCTText: - :path: "../../../node_modules/react-native-macos/Libraries/Text" + :path: "../node_modules/react-native-macos/Libraries/Text" React-RCTVibration: - :path: "../../../node_modules/react-native-macos/Libraries/Vibration" + :path: "../node_modules/react-native-macos/Libraries/Vibration" React-rendererdebug: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/debug" + :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/debug" React-rncore: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" React-RuntimeApple: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios" + :path: "../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/runtime" + :path: "../node_modules/react-native-macos/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../../../node_modules/react-native-macos/ReactCommon/runtimeexecutor" + :path: "../node_modules/react-native-macos/ReactCommon/runtimeexecutor" React-runtimescheduler: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler" + :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../../../node_modules/react-native-macos/ReactCommon/react/utils" + :path: "../node_modules/react-native-macos/ReactCommon/react/utils" ReactCommon: - :path: "../../../node_modules/react-native-macos/ReactCommon" + :path: "../node_modules/react-native-macos/ReactCommon" ReactNativeHost: - :path: "../../../node_modules/@rnx-kit/react-native-host" + :path: "../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host" ReactTestApp-DevSupport: - :path: "../../../node_modules/react-native-test-app" + :path: "../node_modules/react-native-test-app" ReactTestApp-Resources: :path: ".." RNCPicker: - :path: "../../../node_modules/@react-native-picker/picker" + :path: "../node_modules/@react-native-picker/picker" RNSVG: - :path: "../../../node_modules/react-native-svg" + :path: "../node_modules/react-native-svg" SocketRocket: - :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec" + :podspec: "../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec" Yoga: - :path: "../../../node_modules/react-native-macos/ReactCommon/yoga" + :path: "../node_modules/react-native-macos/ReactCommon/yoga" SPEC CHECKSUMS: boost: 0686b6af8cbd638c784fea5afb789be66699823c 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 React-callinvoker: 2acdef913c1f95efd31abb7943c9ba95264497a3 - React-Codegen: 712dd959afc373134335aeaf527ca283fc4d7499 + React-Codegen: b9bf96d15be30413bfbab145bdf9b19781babe97 React-Core: 769a8aac4e3842027b1bf1913441ab81498583b0 React-CoreModules: fef7b8696d658c6f45241de38d836a20e4fe26d5 React-cxxreact: e44b194dceaf0b8176b322560a17f5530a53e91f @@ -1529,6 +1529,6 @@ SPEC CHECKSUMS: SocketRocket: f6c6249082c011e6de2de60ed641ef8bbe0cfac9 Yoga: bd03cda842f416ba4c2d4b79fcd0fd27e917b91e -PODFILE CHECKSUM: 1c580785758db094d8282f8e1360afc97dfac817 +PODFILE CHECKSUM: 13dcb20a313d03aca3337119f46a710be0acd30f COCOAPODS: 1.16.2 diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index c830f1de34..6aafea0115 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -60,6 +60,7 @@ "@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/framework": "workspace:*", @@ -68,6 +69,7 @@ "@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:*", @@ -108,6 +110,7 @@ "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", + "@react-native-community/cli": "13.6.9", "@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/yarn.lock b/yarn.lock index 8f962e94be..a6a17669f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3454,7 +3454,7 @@ __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: @@ -4713,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:*" @@ -4722,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:*" @@ -4745,6 +4747,7 @@ __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/cli": "npm:13.6.9" "@react-native-community/slider": "npm:^4.5.7" "@react-native-menu/menu": "npm:^0.7.3" "@react-native-picker/picker": "npm:^2.7.0" From 3ac02b8e0f7d690c77b2dce02774e6eb53971c51 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Fri, 1 Aug 2025 14:28:17 -0700 Subject: [PATCH 20/33] fix align-deps issue --- apps/fluent-tester/package.json | 5 +++-- yarn.lock | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 6aafea0115..354f44bc02 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -110,7 +110,7 @@ "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", "@fluentui-react-native/scripts": "workspace:*", - "@react-native-community/cli": "13.6.9", + "@react-native-community/cli": "^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", @@ -200,7 +200,8 @@ "react", "react-test-renderer", "svg", - "test-app" + "test-app", + "community/cli" ] } }, diff --git a/yarn.lock b/yarn.lock index a6a17669f3..e34e8c8f90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4747,7 +4747,7 @@ __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/cli": "npm:13.6.9" + "@react-native-community/cli": "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" @@ -6476,7 +6476,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli@npm:13.6.9": +"@react-native-community/cli@npm:13.6.9, @react-native-community/cli@npm:^13.6.4": version: 13.6.9 resolution: "@react-native-community/cli@npm:13.6.9" dependencies: From febbb2e37a2dd115e05caa71e37173230ffd3de5 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Fri, 1 Aug 2025 15:09:17 -0700 Subject: [PATCH 21/33] fix more align-deps / depcheck issues --- apps/fluent-tester/package.json | 6 ++++-- yarn.lock | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 354f44bc02..5225e29540 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -60,7 +60,6 @@ "@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/framework": "workspace:*", @@ -69,7 +68,6 @@ "@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:*", @@ -108,9 +106,13 @@ "@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", diff --git a/yarn.lock b/yarn.lock index e34e8c8f90..8d477c4598 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4748,6 +4748,8 @@ __metadata: "@fortawesome/react-native-fontawesome": "npm:^0.3.0" "@office-iss/react-native-win32": "npm:^0.74.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" @@ -6394,7 +6396,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:13.6.9": +"@react-native-community/cli-platform-android@npm:13.6.9, @react-native-community/cli-platform-android@npm:^13.6.4": version: 13.6.9 resolution: "@react-native-community/cli-platform-android@npm:13.6.9" dependencies: @@ -6422,7 +6424,7 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-platform-ios@npm:13.6.9": +"@react-native-community/cli-platform-ios@npm:13.6.9, @react-native-community/cli-platform-ios@npm:^13.6.4": version: 13.6.9 resolution: "@react-native-community/cli-platform-ios@npm:13.6.9" dependencies: From 8800909770129a10c57be59cc38f6141ffab94ad Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 4 Aug 2025 13:43:30 -0700 Subject: [PATCH 22/33] switch back to node-modules temporarily to deal with appium issues as a separate pr --- .yarnrc.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.yarnrc.yml b/.yarnrc.yml index b53046ba4b..0de62886aa 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,20 +2,20 @@ dynamicPackageExtensions: ./scripts/dynamic.extensions.mjs enableGlobalCache: false -nodeLinker: pnpm +nodeLinker: node-modules packageExtensions: - '@svgr/core@*': + "@svgr/core@*": dependencies: - '@svgr/plugin-svgo': '*' - '@svgr/plugin-jsx': '*' - 'react-native-svg@*': + "@svgr/plugin-jsx": "*" + "@svgr/plugin-svgo": "*" + react-native-svg@*: dependencies: - 'buffer': '*' + 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 From 8d122ae4c6148017886b67aa2d669fa1e71fbcf3 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 4 Aug 2025 16:04:03 -0700 Subject: [PATCH 23/33] add build fixes for node-modules linking --- .../src/configureReactNativeJest.js | 11 ++++++++--- packages/framework/use-slot/package.json | 1 + scripts/configs/tsconfig.json | 3 ++- scripts/src/index.js | 1 + scripts/src/utils/ispnpm.js | 19 +++++++++++++++++++ yarn.lock | 1 + 6 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 scripts/src/utils/ispnpm.js diff --git a/packages/configs/jest-config/src/configureReactNativeJest.js b/packages/configs/jest-config/src/configureReactNativeJest.js index 4f8baebafd..3cc8552801 100644 --- a/packages/configs/jest-config/src/configureReactNativeJest.js +++ b/packages/configs/jest-config/src/configureReactNativeJest.js @@ -3,6 +3,7 @@ // @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 @@ -20,8 +21,12 @@ export function configureReactNativeJest(platform, customConfig) { verbose: false, ...customConfig, }); - config.transformIgnorePatterns = [ - '/node_modules/.store/(?!((jest-)?react-native(-macos)?|@react-native(-community)?|@office-iss-react-native-win32|@?react-native-windows))', - ]; + 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/framework/use-slot/package.json b/packages/framework/use-slot/package.json index 3cdd058387..1b3b189235 100644 --- a/packages/framework/use-slot/package.json +++ b/packages/framework/use-slot/package.json @@ -43,6 +43,7 @@ "@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", diff --git a/scripts/configs/tsconfig.json b/scripts/configs/tsconfig.json index 8497a27037..2839078494 100644 --- a/scripts/configs/tsconfig.json +++ b/scripts/configs/tsconfig.json @@ -21,7 +21,8 @@ "skipDefaultLibCheck": true, "sourceMap": true, "jsx": "react", - "resolveJsonModule": true + "resolveJsonModule": true, + "types": ["jest", "node"] }, "baseUrl": ".", "paths": { diff --git a/scripts/src/index.js b/scripts/src/index.js index ba3dc19769..f84dfef4f9 100644 --- a/scripts/src/index.js +++ b/scripts/src/index.js @@ -1 +1,2 @@ // @ts-check +export { isPnpmMode } from "./utils/ispnpm.js"; diff --git a/scripts/src/utils/ispnpm.js b/scripts/src/utils/ispnpm.js new file mode 100644 index 0000000000..c9cccd0fc1 --- /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; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 8d477c4598..2ffa7e32f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5030,6 +5030,7 @@ __metadata: "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "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" From 3f432ce794fea2200471cbc374765e4c84ba0136 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 4 Aug 2025 16:50:12 -0700 Subject: [PATCH 24/33] revert podfiles to non-pnpm behavior, fix prettier issues, respond to PR feedback --- apps/fluent-tester/ios/Podfile | 12 +- apps/fluent-tester/ios/Podfile.lock | 244 ++++++++++++------------- apps/fluent-tester/macos/Podfile | 15 +- apps/fluent-tester/macos/Podfile.lock | 252 +++++++++++++------------- lage.config.js | 1 + package.json | 1 + scripts/src/index.js | 2 +- scripts/src/tasks/prettier.js | 2 +- scripts/src/utils/ispnpm.js | 8 +- 9 files changed, 266 insertions(+), 271 deletions(-) diff --git a/apps/fluent-tester/ios/Podfile b/apps/fluent-tester/ios/Podfile index eee88bddce..843917572a 100644 --- a/apps/fluent-tester/ios/Podfile +++ b/apps/fluent-tester/ios/Podfile @@ -1,17 +1,15 @@ -ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') +# (pnpm-mode) ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') -require_relative '../node_modules/react-native-test-app/test_app' +# (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' -react_native_path = "#{__dir__}/../node_modules/react-native" +# (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 => '../node_modules/@fluentui-react-native/experimental-appearance-additions/FRNAppearanceAdditions.podspec' - pod 'FRNFontMetrics', :path => '../node_modules/@fluentui-react-native/experimental-native-font-metrics/FRNFontMetrics.podspec' end end diff --git a/apps/fluent-tester/ios/Podfile.lock b/apps/fluent-tester/ios/Podfile.lock index 058a5c3567..79ca51a54f 100644 --- a/apps/fluent-tester/ios/Podfile.lock +++ b/apps/fluent-tester/ios/Podfile.lock @@ -1347,71 +1347,71 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - 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 `../node_modules/@fluentui-react-native/experimental-appearance-additions/FRNAppearanceAdditions.podspec`)" + - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`) + - 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 `../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/FRNFontMetrics.podspec`)" - - 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`) - - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - "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`) + - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) + - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`) + - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../../../node_modules/react-native/`) + - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (from `../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jsc (from `../node_modules/react-native/ReactCommon/jsc`) - - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) - - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - - "react-native-menu (from `../node_modules/@react-native-menu/menu`)" - - "react-native-slider (from `../node_modules/@react-native-community/slider`)" - - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native/React`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-rncore (from `../node_modules/react-native/ReactCommon`) - - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - "ReactNativeHost (from `../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) + - React-Core (from `../../../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`) + - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`) + - React-Fabric (from `../../../node_modules/react-native/ReactCommon`) + - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`) + - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`) + - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`) + - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../../../node_modules/react-native/ReactCommon/jsc`) + - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`) + - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`) + - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`) + - "react-native-menu (from `../../../node_modules/@react-native-menu/menu`)" + - "react-native-slider (from `../../../node_modules/@react-native-community/slider`)" + - React-nativeconfig (from `../../../node_modules/react-native/ReactCommon`) + - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`) + - React-RCTFabric (from `../../../node_modules/react-native/React`) + - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`) + - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`) + - React-rncore (from `../../../node_modules/react-native/ReactCommon`) + - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) - ReactTestApp-Resources (from `..`) - - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" - - RNSVG (from `../node_modules/react-native-svg`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)" + - RNSVG (from `../../../node_modules/react-native-svg`) + - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -1420,131 +1420,131 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" + :path: "../../../node_modules/react-native/Libraries/FBLazyVector" fmt: - :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec" FRNAppearanceAdditions: - :path: "../node_modules/@fluentui-react-native/experimental-appearance-additions/FRNAppearanceAdditions.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-appearance-additions" FRNAvatar: :path: "../node_modules/@fluentui-react-native/experimental-avatar" FRNDatePicker: :path: "../node_modules/@fluentui-react-native/experimental-native-date-picker" FRNFontMetrics: - :path: "../node_modules/@fluentui-react-native/experimental-native-font-metrics/FRNFontMetrics.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-native-font-metrics" glog: - :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec" RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: - :path: "../node_modules/react-native/Libraries/Required" + :path: "../../../node_modules/react-native/Libraries/Required" RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" + :path: "../../../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../node_modules/react-native/" + :path: "../../../node_modules/react-native/" React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" + :path: "../../../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../node_modules/react-native/" + :path: "../../../node_modules/react-native/" React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" + :path: "../../../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" + :path: "../../../node_modules/react-native/ReactCommon/cxxreact" React-debug: - :path: "../node_modules/react-native/ReactCommon/react/debug" + :path: "../../../node_modules/react-native/ReactCommon/react/debug" React-Fabric: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-FabricImage: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-featureflags: - :path: "../node_modules/react-native/ReactCommon/react/featureflags" + :path: "../../../node_modules/react-native/ReactCommon/react/featureflags" React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics" React-ImageManager: - :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" React-jsc: - :path: "../node_modules/react-native/ReactCommon/jsc" + :path: "../../../node_modules/react-native/ReactCommon/jsc" React-jserrorhandler: - :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler" React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" + :path: "../../../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" + :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern" React-jsitracing: - :path: "../node_modules/react-native/ReactCommon/hermes/executor/" + :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/" React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" + :path: "../../../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" react-native-menu: - :path: "../node_modules/@react-native-menu/menu" + :path: "../../../node_modules/@react-native-menu/menu" react-native-slider: - :path: "../node_modules/@react-native-community/slider" + :path: "../../../node_modules/@react-native-community/slider" React-nativeconfig: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" + :path: "../../../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" + :path: "../../../node_modules/react-native/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../node_modules/react-native/Libraries/AppDelegate" + :path: "../../../node_modules/react-native/Libraries/AppDelegate" React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" + :path: "../../../node_modules/react-native/Libraries/Blob" React-RCTFabric: - :path: "../node_modules/react-native/React" + :path: "../../../node_modules/react-native/React" React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" + :path: "../../../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" + :path: "../../../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" + :path: "../../../node_modules/react-native/Libraries/Network" React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" + :path: "../../../node_modules/react-native/Libraries/Settings" React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" + :path: "../../../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" + :path: "../../../node_modules/react-native/Libraries/Vibration" React-rendererdebug: - :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug" React-rncore: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" React-RuntimeApple: - :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" + :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../node_modules/react-native/ReactCommon/react/runtime" + :path: "../../../node_modules/react-native/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor" React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" + :path: "../../../node_modules/react-native/ReactCommon/react/utils" ReactCommon: - :path: "../node_modules/react-native/ReactCommon" + :path: "../../../node_modules/react-native/ReactCommon" ReactNativeHost: - :path: "../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host" + :path: "../../../node_modules/@rnx-kit/react-native-host" ReactTestApp-DevSupport: - :path: "../node_modules/react-native-test-app" + :path: "../../../node_modules/react-native-test-app" ReactTestApp-Resources: :path: ".." RNCPicker: - :path: "../node_modules/@react-native-picker/picker" + :path: "../../../node_modules/@react-native-picker/picker" RNSVG: - :path: "../node_modules/react-native-svg" + :path: "../../../node_modules/react-native-svg" Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" + :path: "../../../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 @@ -1563,7 +1563,7 @@ SPEC CHECKSUMS: RCTTypeSafety: 4e9f36465ccbcca7b62f5cb8fc1ff2c997c3b92e React: 7f6ee889aa17245726efe5c0be52389e58d9d7c1 React-callinvoker: 0155d33f43924c206dfaa040c020d0404bbb54d6 - React-Codegen: 8b90edfe2de1aaada8325bda3d8bd4598e1ba8d1 + React-Codegen: 6b561e3ae72207127e19c20b4c58bf90408ba1e9 React-Core: 7f58b500f05ec41bf46bc67c9a25073f7302b652 React-CoreModules: 46303f9f50e942fdd8763626464a8a24d9a36419 React-cxxreact: 79396381338fe78a01d72a9517bb9013c6dd3784 @@ -1613,6 +1613,6 @@ SPEC CHECKSUMS: SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: 9db4b2da1ed5d8e0c94158f9ac379c8b1b529f59 -PODFILE CHECKSUM: 475c06bf1b01bc308bd7c7bfebd18f6533302ce3 +PODFILE CHECKSUM: da2b0060460364a6479fbaf8e70713ef63c09b0b COCOAPODS: 1.16.2 diff --git a/apps/fluent-tester/macos/Podfile b/apps/fluent-tester/macos/Podfile index b8e2400d36..c247756fea 100644 --- a/apps/fluent-tester/macos/Podfile +++ b/apps/fluent-tester/macos/Podfile @@ -1,20 +1,15 @@ -ENV['REACT_NATIVE_NODE_MODULES_DIR'] = File.join(__dir__, '../node_modules') +# (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' +require_relative '../../../node_modules/react-native-test-app/macos/test_app' workspace 'FluentTester.xcworkspace' -react_native_path = "#{__dir__}/../node_modules/react-native" +# (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 => '../node_modules/@fluentui-react-native/experimental-avatar/FRNAvatar.podspec' - pod 'FRNCheckbox', :path => '../node_modules/@fluentui-react-native/experimental-checkbox/FRNCheckbox.podspec' - pod 'FRNMenuButton', :path => '../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec' - pod 'FRNRadioButton', :path => '../node_modules/@fluentui-react-native/radio-group/FRNRadioButton.podspec' - pod 'RCTFocusZone', :path => '../node_modules/@fluentui-react-native/focus-zone/RCTFocusZone.podspec' end end diff --git a/apps/fluent-tester/macos/Podfile.lock b/apps/fluent-tester/macos/Podfile.lock index 0340f51d40..f12755d1ad 100644 --- a/apps/fluent-tester/macos/Podfile.lock +++ b/apps/fluent-tester/macos/Podfile.lock @@ -1257,73 +1257,73 @@ PODS: - Yoga (0.0.0) DEPENDENCIES: - - boost (from `../node_modules/react-native-macos/third-party-podspecs/boost.podspec`) - - 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 `../node_modules/@fluentui-react-native/experimental-avatar/FRNAvatar.podspec`)" + - boost (from `../../../node_modules/react-native-macos/third-party-podspecs/boost.podspec`) + - 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 `../node_modules/@fluentui-react-native/experimental-avatar`)" - "FRNCallout (from `../node_modules/@fluentui-react-native/callout`)" - - "FRNCheckbox (from `../node_modules/@fluentui-react-native/experimental-checkbox/FRNCheckbox.podspec`)" - - "FRNMenuButton (from `../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec`)" - - "FRNRadioButton (from `../node_modules/@fluentui-react-native/radio-group/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 `../node_modules/@fluentui-react-native/focus-zone/RCTFocusZone.podspec`)" - - 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/`) - - React-callinvoker (from `../node_modules/react-native-macos/ReactCommon/callinvoker`) + - 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 `../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/`) + - React-callinvoker (from `../../../node_modules/react-native-macos/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - - React-Core (from `../node_modules/react-native-macos/`) - - React-Core/RCTWebSocket (from `../node_modules/react-native-macos/`) - - React-CoreModules (from `../node_modules/react-native-macos/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native-macos/ReactCommon/cxxreact`) - - React-debug (from `../node_modules/react-native-macos/ReactCommon/react/debug`) - - React-Fabric (from `../node_modules/react-native-macos/ReactCommon`) - - React-FabricImage (from `../node_modules/react-native-macos/ReactCommon`) - - React-featureflags (from `../node_modules/react-native-macos/ReactCommon/react/featureflags`) - - React-graphics (from `../node_modules/react-native-macos/ReactCommon/react/renderer/graphics`) - - React-ImageManager (from `../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jsc (from `../node_modules/react-native-macos/ReactCommon/jsc`) - - React-jserrorhandler (from `../node_modules/react-native-macos/ReactCommon/jserrorhandler`) - - React-jsi (from `../node_modules/react-native-macos/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native-macos/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native-macos/ReactCommon/jsinspector-modern`) - - React-jsitracing (from `../node_modules/react-native-macos/ReactCommon/hermes/executor/`) - - React-logger (from `../node_modules/react-native-macos/ReactCommon/logger`) - - React-Mapbuffer (from `../node_modules/react-native-macos/ReactCommon`) - - React-nativeconfig (from `../node_modules/react-native-macos/ReactCommon`) - - React-NativeModulesApple (from `../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../node_modules/react-native-macos/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../node_modules/react-native-macos/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native-macos/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native-macos/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native-macos/Libraries/Blob`) - - React-RCTFabric (from `../node_modules/react-native-macos/React`) - - React-RCTImage (from `../node_modules/react-native-macos/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native-macos/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native-macos/Libraries/Network`) - - React-RCTSettings (from `../node_modules/react-native-macos/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native-macos/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native-macos/Libraries/Vibration`) - - React-rendererdebug (from `../node_modules/react-native-macos/ReactCommon/react/renderer/debug`) - - React-rncore (from `../node_modules/react-native-macos/ReactCommon`) - - React-RuntimeApple (from `../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../node_modules/react-native-macos/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../node_modules/react-native-macos/ReactCommon/runtimeexecutor`) - - React-runtimescheduler (from `../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../node_modules/react-native-macos/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native-macos/ReactCommon`) - - "ReactNativeHost (from `../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) + - React-Core (from `../../../node_modules/react-native-macos/`) + - React-Core/RCTWebSocket (from `../../../node_modules/react-native-macos/`) + - React-CoreModules (from `../../../node_modules/react-native-macos/React/CoreModules`) + - React-cxxreact (from `../../../node_modules/react-native-macos/ReactCommon/cxxreact`) + - React-debug (from `../../../node_modules/react-native-macos/ReactCommon/react/debug`) + - React-Fabric (from `../../../node_modules/react-native-macos/ReactCommon`) + - React-FabricImage (from `../../../node_modules/react-native-macos/ReactCommon`) + - React-featureflags (from `../../../node_modules/react-native-macos/ReactCommon/react/featureflags`) + - React-graphics (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/graphics`) + - React-ImageManager (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../../../node_modules/react-native-macos/ReactCommon/jsc`) + - React-jserrorhandler (from `../../../node_modules/react-native-macos/ReactCommon/jserrorhandler`) + - React-jsi (from `../../../node_modules/react-native-macos/ReactCommon/jsi`) + - React-jsiexecutor (from `../../../node_modules/react-native-macos/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../../../node_modules/react-native-macos/ReactCommon/jsinspector-modern`) + - React-jsitracing (from `../../../node_modules/react-native-macos/ReactCommon/hermes/executor/`) + - React-logger (from `../../../node_modules/react-native-macos/ReactCommon/logger`) + - React-Mapbuffer (from `../../../node_modules/react-native-macos/ReactCommon`) + - React-nativeconfig (from `../../../node_modules/react-native-macos/ReactCommon`) + - React-NativeModulesApple (from `../../../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../../../node_modules/react-native-macos/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../../../node_modules/react-native-macos/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../../../node_modules/react-native-macos/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../../../node_modules/react-native-macos/Libraries/AppDelegate`) + - React-RCTBlob (from `../../../node_modules/react-native-macos/Libraries/Blob`) + - React-RCTFabric (from `../../../node_modules/react-native-macos/React`) + - React-RCTImage (from `../../../node_modules/react-native-macos/Libraries/Image`) + - React-RCTLinking (from `../../../node_modules/react-native-macos/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../../../node_modules/react-native-macos/Libraries/Network`) + - React-RCTSettings (from `../../../node_modules/react-native-macos/Libraries/Settings`) + - React-RCTText (from `../../../node_modules/react-native-macos/Libraries/Text`) + - React-RCTVibration (from `../../../node_modules/react-native-macos/Libraries/Vibration`) + - React-rendererdebug (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/debug`) + - React-rncore (from `../../../node_modules/react-native-macos/ReactCommon`) + - React-RuntimeApple (from `../../../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios`) + - React-RuntimeCore (from `../../../node_modules/react-native-macos/ReactCommon/react/runtime`) + - React-runtimeexecutor (from `../../../node_modules/react-native-macos/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../../../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../../../node_modules/react-native-macos/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../../../node_modules/react-native-macos/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) - ReactTestApp-Resources (from `..`) - - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" - - RNSVG (from `../node_modules/react-native-svg`) - - SocketRocket (from `../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec`) - - Yoga (from `../node_modules/react-native-macos/ReactCommon/yoga`) + - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)" + - RNSVG (from `../../../node_modules/react-native-svg`) + - SocketRocket (from `../../../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec`) + - Yoga (from `../../../node_modules/react-native-macos/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -1331,135 +1331,135 @@ SPEC REPOS: EXTERNAL SOURCES: boost: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/boost.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/boost.podspec" DoubleConversion: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../node_modules/react-native-macos/Libraries/FBLazyVector" + :path: "../../../node_modules/react-native-macos/Libraries/FBLazyVector" fmt: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/fmt.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/fmt.podspec" FRNAvatar: - :path: "../node_modules/@fluentui-react-native/experimental-avatar/FRNAvatar.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-avatar" FRNCallout: :path: "../node_modules/@fluentui-react-native/callout" FRNCheckbox: - :path: "../node_modules/@fluentui-react-native/experimental-checkbox/FRNCheckbox.podspec" + :path: "../node_modules/@fluentui-react-native/experimental-checkbox" FRNMenuButton: - :path: "../node_modules/@fluentui-react-native/menu-button/FRNMenuButton.podspec" + :path: "../node_modules/@fluentui-react-native/menu-button" FRNRadioButton: - :path: "../node_modules/@fluentui-react-native/radio-group/FRNRadioButton.podspec" + :path: "../node_modules/@fluentui-react-native/radio-group" FRNVibrancyView: :path: "../node_modules/@fluentui-react-native/vibrancy-view" glog: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/glog.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/glog.podspec" RCT-Folly: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/RCT-Folly.podspec" RCTDeprecation: - :path: "../node_modules/react-native-macos/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: "../../../node_modules/react-native-macos/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTFocusZone: - :path: "../node_modules/@fluentui-react-native/focus-zone/RCTFocusZone.podspec" + :path: "../node_modules/@fluentui-react-native/focus-zone" RCTRequired: - :path: "../node_modules/react-native-macos/Libraries/Required" + :path: "../../../node_modules/react-native-macos/Libraries/Required" RCTTypeSafety: - :path: "../node_modules/react-native-macos/Libraries/TypeSafety" + :path: "../../../node_modules/react-native-macos/Libraries/TypeSafety" React: - :path: "../node_modules/react-native-macos/" + :path: "../../../node_modules/react-native-macos/" React-callinvoker: - :path: "../node_modules/react-native-macos/ReactCommon/callinvoker" + :path: "../../../node_modules/react-native-macos/ReactCommon/callinvoker" React-Codegen: :path: build/generated/ios React-Core: - :path: "../node_modules/react-native-macos/" + :path: "../../../node_modules/react-native-macos/" React-CoreModules: - :path: "../node_modules/react-native-macos/React/CoreModules" + :path: "../../../node_modules/react-native-macos/React/CoreModules" React-cxxreact: - :path: "../node_modules/react-native-macos/ReactCommon/cxxreact" + :path: "../../../node_modules/react-native-macos/ReactCommon/cxxreact" React-debug: - :path: "../node_modules/react-native-macos/ReactCommon/react/debug" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/debug" React-Fabric: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" React-FabricImage: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" React-featureflags: - :path: "../node_modules/react-native-macos/ReactCommon/react/featureflags" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/featureflags" React-graphics: - :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/graphics" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/graphics" React-ImageManager: - :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/imagemanager/platform/ios" React-jsc: - :path: "../node_modules/react-native-macos/ReactCommon/jsc" + :path: "../../../node_modules/react-native-macos/ReactCommon/jsc" React-jserrorhandler: - :path: "../node_modules/react-native-macos/ReactCommon/jserrorhandler" + :path: "../../../node_modules/react-native-macos/ReactCommon/jserrorhandler" React-jsi: - :path: "../node_modules/react-native-macos/ReactCommon/jsi" + :path: "../../../node_modules/react-native-macos/ReactCommon/jsi" React-jsiexecutor: - :path: "../node_modules/react-native-macos/ReactCommon/jsiexecutor" + :path: "../../../node_modules/react-native-macos/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../node_modules/react-native-macos/ReactCommon/jsinspector-modern" + :path: "../../../node_modules/react-native-macos/ReactCommon/jsinspector-modern" React-jsitracing: - :path: "../node_modules/react-native-macos/ReactCommon/hermes/executor/" + :path: "../../../node_modules/react-native-macos/ReactCommon/hermes/executor/" React-logger: - :path: "../node_modules/react-native-macos/ReactCommon/logger" + :path: "../../../node_modules/react-native-macos/ReactCommon/logger" React-Mapbuffer: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" React-nativeconfig: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" React-NativeModulesApple: - :path: "../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/nativemodule/core/platform/ios" React-perflogger: - :path: "../node_modules/react-native-macos/ReactCommon/reactperflogger" + :path: "../../../node_modules/react-native-macos/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../node_modules/react-native-macos/Libraries/ActionSheetIOS" + :path: "../../../node_modules/react-native-macos/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../node_modules/react-native-macos/Libraries/NativeAnimation" + :path: "../../../node_modules/react-native-macos/Libraries/NativeAnimation" React-RCTAppDelegate: - :path: "../node_modules/react-native-macos/Libraries/AppDelegate" + :path: "../../../node_modules/react-native-macos/Libraries/AppDelegate" React-RCTBlob: - :path: "../node_modules/react-native-macos/Libraries/Blob" + :path: "../../../node_modules/react-native-macos/Libraries/Blob" React-RCTFabric: - :path: "../node_modules/react-native-macos/React" + :path: "../../../node_modules/react-native-macos/React" React-RCTImage: - :path: "../node_modules/react-native-macos/Libraries/Image" + :path: "../../../node_modules/react-native-macos/Libraries/Image" React-RCTLinking: - :path: "../node_modules/react-native-macos/Libraries/LinkingIOS" + :path: "../../../node_modules/react-native-macos/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../node_modules/react-native-macos/Libraries/Network" + :path: "../../../node_modules/react-native-macos/Libraries/Network" React-RCTSettings: - :path: "../node_modules/react-native-macos/Libraries/Settings" + :path: "../../../node_modules/react-native-macos/Libraries/Settings" React-RCTText: - :path: "../node_modules/react-native-macos/Libraries/Text" + :path: "../../../node_modules/react-native-macos/Libraries/Text" React-RCTVibration: - :path: "../node_modules/react-native-macos/Libraries/Vibration" + :path: "../../../node_modules/react-native-macos/Libraries/Vibration" React-rendererdebug: - :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/debug" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/debug" React-rncore: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" React-RuntimeApple: - :path: "../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/runtime/platform/ios" React-RuntimeCore: - :path: "../node_modules/react-native-macos/ReactCommon/react/runtime" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/runtime" React-runtimeexecutor: - :path: "../node_modules/react-native-macos/ReactCommon/runtimeexecutor" + :path: "../../../node_modules/react-native-macos/ReactCommon/runtimeexecutor" React-runtimescheduler: - :path: "../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/renderer/runtimescheduler" React-utils: - :path: "../node_modules/react-native-macos/ReactCommon/react/utils" + :path: "../../../node_modules/react-native-macos/ReactCommon/react/utils" ReactCommon: - :path: "../node_modules/react-native-macos/ReactCommon" + :path: "../../../node_modules/react-native-macos/ReactCommon" ReactNativeHost: - :path: "../../../node_modules/.store/react-native-test-app-virtual-5a9c0463e2/node_modules/@rnx-kit/react-native-host" + :path: "../../../node_modules/@rnx-kit/react-native-host" ReactTestApp-DevSupport: - :path: "../node_modules/react-native-test-app" + :path: "../../../node_modules/react-native-test-app" ReactTestApp-Resources: :path: ".." RNCPicker: - :path: "../node_modules/@react-native-picker/picker" + :path: "../../../node_modules/@react-native-picker/picker" RNSVG: - :path: "../node_modules/react-native-svg" + :path: "../../../node_modules/react-native-svg" SocketRocket: - :podspec: "../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec" + :podspec: "../../../node_modules/react-native-macos/third-party-podspecs/SocketRocket.podspec" Yoga: - :path: "../node_modules/react-native-macos/ReactCommon/yoga" + :path: "../../../node_modules/react-native-macos/ReactCommon/yoga" SPEC CHECKSUMS: boost: 0686b6af8cbd638c784fea5afb789be66699823c @@ -1481,7 +1481,7 @@ SPEC CHECKSUMS: RCTTypeSafety: ced894df76a17b8f7331d24e2efa862a7a616e89 React: 620dbf1e10232c8517a8b89d0def5b29e04ad24e React-callinvoker: 2acdef913c1f95efd31abb7943c9ba95264497a3 - React-Codegen: b9bf96d15be30413bfbab145bdf9b19781babe97 + React-Codegen: 712dd959afc373134335aeaf527ca283fc4d7499 React-Core: 769a8aac4e3842027b1bf1913441ab81498583b0 React-CoreModules: fef7b8696d658c6f45241de38d836a20e4fe26d5 React-cxxreact: e44b194dceaf0b8176b322560a17f5530a53e91f @@ -1529,6 +1529,6 @@ SPEC CHECKSUMS: SocketRocket: f6c6249082c011e6de2de60ed641ef8bbe0cfac9 Yoga: bd03cda842f416ba4c2d4b79fcd0fd27e917b91e -PODFILE CHECKSUM: 13dcb20a313d03aca3337119f46a710be0acd30f +PODFILE CHECKSUM: 820f3959373af874ba70e1313bf6680f1a037104 COCOAPODS: 1.16.2 diff --git a/lage.config.js b/lage.config.js index f00be3349a..da7d7001d6 100644 --- a/lage.config.js +++ b/lage.config.js @@ -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 965248ba2c..7495c2c407 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "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", diff --git a/scripts/src/index.js b/scripts/src/index.js index f84dfef4f9..f08c5b266b 100644 --- a/scripts/src/index.js +++ b/scripts/src/index.js @@ -1,2 +1,2 @@ // @ts-check -export { isPnpmMode } from "./utils/ispnpm.js"; +export { isPnpmMode } from './utils/ispnpm.js'; 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/ispnpm.js b/scripts/src/utils/ispnpm.js index c9cccd0fc1..36edc9fab7 100644 --- a/scripts/src/utils/ispnpm.js +++ b/scripts/src/utils/ispnpm.js @@ -8,12 +8,12 @@ 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"); + 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; -} \ No newline at end of file +} From 68984d3b09b2afde21e40c565d58e332508e540d Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 09:47:01 -0700 Subject: [PATCH 25/33] start of jsx work, move eslint config to configs directory --- .vscode/settings.json | 2 +- packages/configs/babel-config/babel.config.js | 2 +- packages/configs/babel-config/babel.react.config.js | 2 +- .../{framework => configs}/eslint-config-rules/.npmignore | 0 .../eslint-config-rules/CHANGELOG.json | 0 .../{framework => configs}/eslint-config-rules/CHANGELOG.md | 0 .../eslint-config-rules/eslint.config.js | 2 ++ .../{framework => configs}/eslint-config-rules/package.json | 0 .../eslint-config-rules/tsconfig.json | 0 .../src/component-patterns/stagedComponent.tsx | 4 +--- packages/framework/composition/src/composeFactory.test.tsx | 4 +--- packages/framework/framework/src/compressible.test.tsx | 4 +--- packages/framework/use-slot/src/useSlot.test.tsx | 4 +--- packages/framework/use-slots/src/buildUseSlots.test.tsx | 5 ++--- packages/framework/use-slots/src/useSlots.samples.test.tsx | 6 +++--- scripts/configs/tsconfig.json | 3 ++- yarn.lock | 4 ++-- 17 files changed, 18 insertions(+), 24 deletions(-) rename packages/{framework => configs}/eslint-config-rules/.npmignore (100%) rename packages/{framework => configs}/eslint-config-rules/CHANGELOG.json (100%) rename packages/{framework => configs}/eslint-config-rules/CHANGELOG.md (100%) rename packages/{framework => configs}/eslint-config-rules/eslint.config.js (97%) rename packages/{framework => configs}/eslint-config-rules/package.json (100%) rename packages/{framework => configs}/eslint-config-rules/tsconfig.json (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index ff320b97c0..a9cfb3a071 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ }, "eslint.enable": true, - "eslint.workingDirectories": [{ "pattern": "./packages/framework/eslint-config-rules" }], // use the common eslint config file + "eslint.workingDirectories": [{ "pattern": "./packages/configs/eslint-config-rules" }], // use the common eslint config file "explorer.fileNesting.enabled": true, "explorer.fileNesting.patterns": { diff --git a/packages/configs/babel-config/babel.config.js b/packages/configs/babel-config/babel.config.js index 975b636e48..6f267f69e0 100644 --- a/packages/configs/babel-config/babel.config.js +++ b/packages/configs/babel-config/babel.config.js @@ -7,7 +7,7 @@ module.exports = { targets: { node: 'current' }, }, ], - '@babel/preset-react', + ['@babel/preset-react', { runtime: 'automatic' }], ['@babel/preset-typescript', { allowSyntheticDefaultImports: true }], ['module:@react-native/babel-preset', { runtime: 'automatic' }], ], diff --git a/packages/configs/babel-config/babel.react.config.js b/packages/configs/babel-config/babel.react.config.js index 3bac67a819..6dcf6634a9 100644 --- a/packages/configs/babel-config/babel.react.config.js +++ b/packages/configs/babel-config/babel.react.config.js @@ -7,7 +7,7 @@ module.exports = { targets: { node: 'current' }, }, ], - '@babel/preset-react', + ['@babel/preset-react', { runtime: 'automatic' }], ['@babel/preset-typescript', { allowSyntheticDefaultImports: true }], ], overrides: [ diff --git a/packages/framework/eslint-config-rules/.npmignore b/packages/configs/eslint-config-rules/.npmignore similarity index 100% rename from packages/framework/eslint-config-rules/.npmignore rename to packages/configs/eslint-config-rules/.npmignore diff --git a/packages/framework/eslint-config-rules/CHANGELOG.json b/packages/configs/eslint-config-rules/CHANGELOG.json similarity index 100% rename from packages/framework/eslint-config-rules/CHANGELOG.json rename to packages/configs/eslint-config-rules/CHANGELOG.json diff --git a/packages/framework/eslint-config-rules/CHANGELOG.md b/packages/configs/eslint-config-rules/CHANGELOG.md similarity index 100% rename from packages/framework/eslint-config-rules/CHANGELOG.md rename to packages/configs/eslint-config-rules/CHANGELOG.md diff --git a/packages/framework/eslint-config-rules/eslint.config.js b/packages/configs/eslint-config-rules/eslint.config.js similarity index 97% rename from packages/framework/eslint-config-rules/eslint.config.js rename to packages/configs/eslint-config-rules/eslint.config.js index 962857bc76..4a18897f48 100644 --- a/packages/framework/eslint-config-rules/eslint.config.js +++ b/packages/configs/eslint-config-rules/eslint.config.js @@ -38,6 +38,8 @@ module.exports = [ 'no-prototype-builtins': 'off', 'no-undef': 'off', 'react/display-name': 'off', + 'react/react-in-jsx-scope': 'off', + 'react/jsx-uses-react': 'off', 'react-hooks/exhaustive-deps': 'off', // This should be fixed in the future but is a big change 'no-restricted-exports': [ 'error', diff --git a/packages/framework/eslint-config-rules/package.json b/packages/configs/eslint-config-rules/package.json similarity index 100% rename from packages/framework/eslint-config-rules/package.json rename to packages/configs/eslint-config-rules/package.json diff --git a/packages/framework/eslint-config-rules/tsconfig.json b/packages/configs/eslint-config-rules/tsconfig.json similarity index 100% rename from packages/framework/eslint-config-rules/tsconfig.json rename to packages/configs/eslint-config-rules/tsconfig.json diff --git a/packages/framework-base/src/component-patterns/stagedComponent.tsx b/packages/framework-base/src/component-patterns/stagedComponent.tsx index 492370ebe4..4f36f62670 100644 --- a/packages/framework-base/src/component-patterns/stagedComponent.tsx +++ b/packages/framework-base/src/component-patterns/stagedComponent.tsx @@ -1,9 +1,7 @@ /** - * @jsxRuntime classic - * @jsx withSlots + * @jsxImportSource .. */ import * as React from 'react'; -import { withSlots } from './withSlots'; import type { StagedComponent, TwoStageRender, StagedRender, ComposableFunction } from './render.types'; diff --git a/packages/framework/composition/src/composeFactory.test.tsx b/packages/framework/composition/src/composeFactory.test.tsx index d37ea7e758..c889f82595 100644 --- a/packages/framework/composition/src/composeFactory.test.tsx +++ b/packages/framework/composition/src/composeFactory.test.tsx @@ -1,9 +1,7 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ViewProps, TextProps, ColorValue } from 'react-native'; import { View, Text } from 'react-native'; -import { withSlots } from '@fluentui-react-native/framework-base'; import type { ThemeHelper } from '@fluentui-react-native/use-styling'; import * as renderer from 'react-test-renderer'; diff --git a/packages/framework/framework/src/compressible.test.tsx b/packages/framework/framework/src/compressible.test.tsx index 9020255e26..776efadba5 100644 --- a/packages/framework/framework/src/compressible.test.tsx +++ b/packages/framework/framework/src/compressible.test.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import type { TextProps, TextStyle } from 'react-native'; import { Text, View } from 'react-native'; @@ -7,7 +6,6 @@ import { Text, View } from 'react-native'; import { mergeStyles } from '@fluentui-react-native/framework-base'; import type { Theme } from '@fluentui-react-native/theme-types'; import { useSlot } from '@fluentui-react-native/use-slot'; -import { withSlots } from '@fluentui-react-native/framework-base'; import { applyTokenLayers } from '@fluentui-react-native/use-tokens'; import * as renderer from 'react-test-renderer'; diff --git a/packages/framework/use-slot/src/useSlot.test.tsx b/packages/framework/use-slot/src/useSlot.test.tsx index 505b02bf4a..f05d40778b 100644 --- a/packages/framework/use-slot/src/useSlot.test.tsx +++ b/packages/framework/use-slot/src/useSlot.test.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import type { TextProps } from 'react-native'; import { Text, View } from 'react-native'; @@ -10,7 +9,6 @@ import * as renderer from 'react-test-renderer'; import type { NativeReactType } from '@fluentui-react-native/framework-base'; import { stagedComponent } from '@fluentui-react-native/framework-base'; import { useSlot } from './useSlot'; -import { withSlots } from '@fluentui-react-native/framework-base'; type PluggableTextProps = React.PropsWithChildren & { inner?: NativeReactType | React.FunctionComponent }; diff --git a/packages/framework/use-slots/src/buildUseSlots.test.tsx b/packages/framework/use-slots/src/buildUseSlots.test.tsx index c04f126622..5b48b3e6e0 100644 --- a/packages/framework/use-slots/src/buildUseSlots.test.tsx +++ b/packages/framework/use-slots/src/buildUseSlots.test.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ViewProps, TextProps } from 'react-native'; import { View, Text } from 'react-native'; -import { withSlots, stagedComponent } from '@fluentui-react-native/framework-base'; +import { stagedComponent } from '@fluentui-react-native/framework-base'; import * as renderer from 'react-test-renderer'; import { buildUseSlots } from './buildUseSlots'; diff --git a/packages/framework/use-slots/src/useSlots.samples.test.tsx b/packages/framework/use-slots/src/useSlots.samples.test.tsx index 20a19879fb..cb0ecf4015 100644 --- a/packages/framework/use-slots/src/useSlots.samples.test.tsx +++ b/packages/framework/use-slots/src/useSlots.samples.test.tsx @@ -1,9 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ +import React from 'react'; import type { CSSProperties } from 'react'; import { mergeProps } from '@fluentui-react-native/framework-base'; -import { withSlots, stagedComponent } from '@fluentui-react-native/framework-base'; +import { stagedComponent } from '@fluentui-react-native/framework-base'; import * as renderer from 'react-test-renderer'; import { buildUseSlots } from './buildUseSlots'; diff --git a/scripts/configs/tsconfig.json b/scripts/configs/tsconfig.json index 2839078494..cb5889a210 100644 --- a/scripts/configs/tsconfig.json +++ b/scripts/configs/tsconfig.json @@ -20,7 +20,8 @@ "skipLibCheck": true, "skipDefaultLibCheck": true, "sourceMap": true, - "jsx": "react", + "jsx": "react-jsx", + "jsxImportSource": "react", "resolveJsonModule": true, "types": ["jest", "node"] }, diff --git a/yarn.lock b/yarn.lock index 2ffa7e32f5..7759731416 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3211,9 +3211,9 @@ __metadata: languageName: unknown linkType: soft -"@fluentui-react-native/eslint-config-rules@workspace:*, @fluentui-react-native/eslint-config-rules@workspace:packages/framework/eslint-config-rules": +"@fluentui-react-native/eslint-config-rules@workspace:*, @fluentui-react-native/eslint-config-rules@workspace:packages/configs/eslint-config-rules": version: 0.0.0-use.local - resolution: "@fluentui-react-native/eslint-config-rules@workspace:packages/framework/eslint-config-rules" + resolution: "@fluentui-react-native/eslint-config-rules@workspace:packages/configs/eslint-config-rules" dependencies: "@fluentui-react-native/scripts": "workspace:*" "@microsoft/eslint-plugin-sdl": "npm:^1.1.0" From 2f902a2cfdd12ceed068915696fe7fe4effd37d4 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 11:00:02 -0700 Subject: [PATCH 26/33] get jsx-runtime transition building --- CONTRIBUTING.md | 3 +- .../ComponentTemplate/src/ComponentName.tsx | 9 +++-- .../src/TestComponents/Avatar/BasicAvatar.tsx | 2 +- .../TestComponents/Common/StyledPicker.tsx | 1 - .../Tokens/UsageWithComponentTokens.md | 3 +- packages/components/Avatar/package.json | 1 + packages/components/Avatar/src/Avatar.tsx | 5 +-- .../Avatar/src/__tests__/Avatar.test.tsx | 2 - packages/components/Badge/package.json | 1 + packages/components/Badge/src/Badge.tsx | 5 +-- .../Badge/src/CounterBadge/CounterBadge.tsx | 5 +-- .../Badge/src/PresenceBadge/PresenceBadge.tsx | 5 +-- .../Badge/src/__tests__/Badge.test.tsx | 2 - packages/components/Button/package.json | 1 + .../components/Button/src/Button.test.tsx | 1 - packages/components/Button/src/Button.tsx | 5 +-- .../CompoundButton/CompoundButton.mobile.tsx | 3 +- .../CompoundButton/CompoundButton.test.tsx | 2 - .../src/CompoundButton/CompoundButton.tsx | 5 +-- .../components/Button/src/FAB/FAB.mobile.tsx | 5 +-- .../components/Button/src/FAB/FAB.test.tsx | 2 - packages/components/Button/src/FAB/FAB.tsx | 3 +- .../src/ToggleButton/ToggleButton.android.tsx | 3 +- .../src/ToggleButton/ToggleButton.test.tsx | 2 - .../Button/src/ToggleButton/ToggleButton.tsx | 5 +-- .../Button/src/deprecated/Button.android.tsx | 4 +- .../Button/src/deprecated/Button.test.tsx | 2 - .../Button/src/deprecated/Button.tsx | 4 +- packages/components/Callout/package.json | 1 + .../Callout/src/__tests__/Callout.test.tsx | 2 - packages/components/Checkbox/package.json | 1 + .../Checkbox/src/Checkbox.macos.tsx | 3 +- packages/components/Checkbox/src/Checkbox.tsx | 5 +-- .../Checkbox/src/__tests__/Checkbox.test.tsx | 1 - .../Checkbox/src/deprecated/Checkbox.tsx | 4 +- packages/components/Chip/package.json | 1 + packages/components/Chip/src/Chip.mobile.tsx | 5 +-- packages/components/Chip/src/Chip.tsx | 3 +- .../Chip/src/__tests__/Chip.test.tsx | 2 - .../Chip/src/assets/DismissIcon.tsx | 2 - .../components/ContextualMenu/package.json | 1 + .../ContextualMenu/src/ContextualMenu.tsx | 4 +- .../ContextualMenu/src/ContextualMenuItem.tsx | 4 +- .../components/ContextualMenu/src/Submenu.tsx | 4 +- .../ContextualMenu/src/SubmenuItem.tsx | 4 +- .../src/__tests__/ContextualMenu.test.tsx | 2 - packages/components/Divider/package.json | 1 + packages/components/Divider/src/Divider.tsx | 5 +-- .../Divider/src/__tests__/Divider.test.tsx | 2 - .../components/FocusTrapZone/package.json | 1 + packages/components/FocusZone/package.json | 1 + .../src/__tests__/FocusZone.test.tsx | 1 - packages/components/Icon/package.json | 1 + .../components/Icon/src/FontIcon/FontIcon.tsx | 1 - packages/components/Icon/src/Icon.tsx | 2 - .../components/Icon/src/SvgIcon/SvgIcon.tsx | 1 - .../Icon/src/__tests__/Icon.test.tsx | 2 - packages/components/Icon/src/legacy/Icon.tsx | 1 - packages/components/Input/package.json | 1 + .../components/Input/src/Input.mobile.tsx | 5 +-- packages/components/Input/src/Input.tsx | 3 +- .../Input/src/__tests__/Input.test.tsx | 2 - packages/components/Link/package.json | 1 + packages/components/Link/src/Link.tsx | 5 +-- .../Link/src/__tests__/Link.test.tsx | 1 - packages/components/Link/src/legacy/Link.tsx | 4 +- .../Link/src/legacy/__tests__/Link.test.tsx | 1 - packages/components/Menu/package.json | 1 + .../Menu/src/MenuDivider/MenuDivider.tsx | 5 +-- .../Menu/src/MenuGroup/MenuGroup.tsx | 5 +-- .../src/MenuGroupHeader/MenuGroupHeader.tsx | 5 +-- .../components/Menu/src/MenuItem/MenuItem.tsx | 5 +-- .../src/MenuItemCheckbox/MenuItemCheckbox.tsx | 5 +-- .../Menu/src/MenuItemRadio/MenuItemRadio.tsx | 5 +-- .../components/Menu/src/MenuList/MenuList.tsx | 5 +-- .../Menu/src/__tests__/Menu.test.tsx | 2 - packages/components/MenuButton/package.json | 1 + .../MenuButton/src/MenuButton.macos.tsx | 4 +- .../components/MenuButton/src/MenuButton.tsx | 4 +- .../src/__tests__/MenuButton.test.tsx | 2 - packages/components/Notification/package.json | 1 + .../Notification/src/Notification.tsx | 5 +-- .../src/__tests__/Notification.test.tsx | 2 - packages/components/Persona/package.json | 1 + packages/components/Persona/src/Persona.tsx | 4 +- packages/components/PersonaCoin/package.json | 1 + .../PersonaCoin/src/PersonaCoin.tsx | 4 +- packages/components/Pressable/package.json | 1 + packages/components/RadioGroup/package.json | 1 + .../RadioGroup/src/Radio/Radio.ios.tsx | 5 +-- .../components/RadioGroup/src/Radio/Radio.tsx | 5 +-- .../__tests__/RadioExperimental.test.tsx | 2 - .../RadioGroup/src/RadioGroup/RadioGroup.tsx | 5 +-- .../__tests__/RadioGroupExperimental.test.tsx | 2 - .../src/legacy/RadioButton.macos.tsx | 9 +---- .../RadioGroup/src/legacy/RadioButton.tsx | 4 +- .../src/legacy/RadioButton.win32.tsx | 4 +- .../RadioGroup/src/legacy/RadioGroup.tsx | 4 +- .../src/legacy/__tests__/RadioButton.test.tsx | 2 - .../__tests__/RadioButtonGroup.test.tsx | 1 - packages/components/Separator/package.json | 1 + .../components/Separator/src/Separator.tsx | 5 +-- .../src/__tests__/Separator.test.tsx | 2 - packages/components/Stack/package.json | 1 + packages/components/Stack/src/Stack.tsx | 4 +- .../Stack/src/__tests__/Stack.test.tsx | 2 - packages/components/Switch/package.json | 1 + packages/components/Switch/src/Switch.tsx | 5 +-- .../Switch/src/__tests__/Switch.test.tsx | 2 - packages/components/TabList/package.json | 1 + packages/components/TabList/src/Tab/Tab.tsx | 5 +-- .../TabList/src/Tab/__tests__/Tab.test.tsx | 2 - .../TabList/src/TabList/TabList.tsx | 5 +-- .../src/TabList/__tests__/TabList.test.tsx | 2 - .../TabListAnimatedIndicator.tsx | 2 - .../TabListAnimatedIndicator.win32.tsx | 3 -- packages/components/Text/package.json | 1 + packages/components/Text/src/Text.tsx | 5 +-- .../Text/src/__tests__/Text.test.tsx | 2 - .../foundation-composable/docs/GuideHOC.md | 3 +- .../ActivityIndicator/package.json | 1 + .../src/ActivityIndicator.mobile.tsx | 5 +-- .../src/CoreActivityIndicator.tsx | 5 +-- .../AppearanceAdditions/package.json | 1 + packages/experimental/Avatar/package.json | 3 +- .../experimental/Avatar/src/NativeAvatar.tsx | 5 +-- packages/experimental/Checkbox/package.json | 3 +- .../Checkbox/src/Checkbox.macos.tsx | 10 +---- .../experimental/Checkbox/src/Checkbox.tsx | 3 +- packages/experimental/Drawer/package.json | 1 + packages/experimental/Drawer/src/Drawer.tsx | 5 +-- .../Drawer/src/__tests__/Drawer.test.tsx | 1 - packages/experimental/Dropdown/package.json | 1 + .../Dropdown/src/Dropdown/Dropdown.tsx | 5 +-- .../Dropdown/src/Listbox/Listbox.tsx | 5 +-- .../Dropdown/src/Option/Option.tsx | 5 +-- packages/experimental/Expander/package.json | 3 +- .../experimental/Expander/src/Expander.tsx | 11 +---- packages/experimental/MenuButton/package.json | 1 + .../MenuButton/src/MenuButton.tsx | 5 +-- .../src/__tests__/MenuButton.test.tsx | 2 - .../MenuButton/src/renderContextualMenu.tsx | 2 - packages/experimental/Overflow/package.json | 3 +- .../Overflow/src/Overflow/Overflow.tsx | 1 - .../src/OverflowItem/OverflowItem.tsx | 1 - .../Overflow/src/__tests__/Overflow.test.tsx | 2 - packages/experimental/Popover/package.json | 3 +- packages/experimental/Popover/src/Popover.tsx | 3 +- packages/experimental/Shadow/package.json | 1 + packages/experimental/Shimmer/package.json | 1 + .../experimental/Shimmer/src/Shimmer.test.tsx | 2 - packages/experimental/Shimmer/src/Shimmer.tsx | 5 +-- .../Shimmer/src/Shimmer.win32.tsx | 10 +---- packages/experimental/Spinner/package.json | 1 + .../Spinner/src/Spinner.android.tsx | 5 +-- packages/experimental/Spinner/src/Spinner.tsx | 5 +-- .../Spinner/src/Spinner.win32.tsx | 11 +---- packages/experimental/Stack/package.json | 1 + packages/experimental/Stack/src/Stack.tsx | 5 +-- .../Stack/src/StackItem/StackItem.tsx | 5 +-- .../Stack/src/__tests__/Stack.test.tsx | 2 - packages/experimental/Tooltip/package.json | 3 +- packages/experimental/Tooltip/src/Tooltip.tsx | 7 ---- .../Tooltip/src/__tests__/Tooltip.test.tsx | 2 - .../VibrancyView/src/VibrancyView.tsx | 3 -- packages/framework-base/src/index.ts | 2 +- packages/framework-base/src/jsx-runtime.ts | 2 + packages/framework/use-slot/README.md | 3 +- packages/libraries/core/tsconfig.json | 1 - .../src/__tests__/useKeyProps.test.tsx | 1 - yarn.lock | 40 +++++++++++++++++++ 171 files changed, 215 insertions(+), 347 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 47598bb0d3..62e0f82c71 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -65,8 +65,7 @@ Reach out to Samuel Freiberg with any questions related to E2E testing. 1. `index.ts` - This is the file listed as `main` inside your package.json and simply exports other files. - 1. `.tsx` - This is the file that will actually define your function component, and compose it into a higher order component with slots, theming, and design tokens. - Note that we need the comment `/** @jsxRuntime classic */ -/** @jsx withSlots */` at the top of this file. An explanation can be found in the comment at `packages/experimental/use-slots/src/withSlots.tsx` + 1. `.tsx` - This is the file that will actually define your function component, and compose it into a higher order component with slots, theming, and design tokens. - Note that we need the comment `/** @jsxImportSource @fluentui-react-native/framework-base */` at the top of this file. An explanation can be found in the comment at `packages/experimental/use-slots/src/withSlots.tsx` 1. `..tsx` (Optional) - Optional extra files to subdivide your code however you see fit. You can also add platform specific files as you see fit. diff --git a/apps/component-generator/component-templates/ComponentTemplate/src/ComponentName.tsx b/apps/component-generator/component-templates/ComponentTemplate/src/ComponentName.tsx index 0a1b0d3a43..64e79adaad 100644 --- a/apps/component-generator/component-templates/ComponentTemplate/src/ComponentName.tsx +++ b/apps/component-generator/component-templates/ComponentTemplate/src/ComponentName.tsx @@ -1,11 +1,12 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework */ import * as React from 'react'; import { View } from 'react-native'; -import { componentName, ComponentNameType, ComponentNameProps } from './ComponentName.types'; +import type { ComponentNameType, ComponentNameProps } from './ComponentName.types'; +import { componentName } from './ComponentName.types'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { stylingSettings } from './ComponentName.styling'; -import { compose, mergeProps, withSlots, UseSlots } from '@fluentui-react-native/framework'; +import type { UseSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { useComponentName } from './useComponentName'; /** * A function which determines if a set of styles should be applied to the component given the current state and props of the component-name. diff --git a/apps/fluent-tester/src/TestComponents/Avatar/BasicAvatar.tsx b/apps/fluent-tester/src/TestComponents/Avatar/BasicAvatar.tsx index cc05310dc2..92efc3e4fc 100644 --- a/apps/fluent-tester/src/TestComponents/Avatar/BasicAvatar.tsx +++ b/apps/fluent-tester/src/TestComponents/Avatar/BasicAvatar.tsx @@ -1,4 +1,4 @@ -import React, { useState, useCallback } from 'react'; +import { useState, useCallback } from 'react'; import type { FunctionComponent } from 'react'; import { View, Text, Platform } from 'react-native'; diff --git a/apps/fluent-tester/src/TestComponents/Common/StyledPicker.tsx b/apps/fluent-tester/src/TestComponents/Common/StyledPicker.tsx index 81c38341ca..c0d1e05de5 100644 --- a/apps/fluent-tester/src/TestComponents/Common/StyledPicker.tsx +++ b/apps/fluent-tester/src/TestComponents/Common/StyledPicker.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Platform } from 'react-native'; import type { ColorValue } from 'react-native'; diff --git a/docs/pages/Theming/Tokens/UsageWithComponentTokens.md b/docs/pages/Theming/Tokens/UsageWithComponentTokens.md index 8a6a82b17d..35bf812aa0 100644 --- a/docs/pages/Theming/Tokens/UsageWithComponentTokens.md +++ b/docs/pages/Theming/Tokens/UsageWithComponentTokens.md @@ -7,8 +7,7 @@ This page covers how to access color tokens to fill out a component's tokens. Most components in FURN build a component's styling out of the tokens and theme that are fed into the component. The `compose` framework takes in an object with a `tokens` property, which you can use to define how a component's tokens are filled out. The `tokens` property can be assigned to a function which takes a `Theme` object as an argument and returns an object that is the component's `Token` type. Inside the function, you can access the alias function from the theme as you would if you had the theme inside a component's render function. ```tsx -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Theme, TokenSettings, buildProps, compose, mergeProps, withSlots, UseSlots } from '@fluentui-react-native/framework'; import { fontStyles } from '@fluentui-react-native/tokens'; import { Text } from '@fluentui-react-native/experimental-text'; diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json index 99c0c4477f..4c02ccbbed 100644 --- a/packages/components/Avatar/package.json +++ b/packages/components/Avatar/package.json @@ -36,6 +36,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/badge": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/theming-utils": "workspace:*", diff --git a/packages/components/Avatar/src/Avatar.tsx b/packages/components/Avatar/src/Avatar.tsx index e85486e03c..4a3d006d27 100644 --- a/packages/components/Avatar/src/Avatar.tsx +++ b/packages/components/Avatar/src/Avatar.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Fragment } from 'react'; import { Image, View, Text, Platform } from 'react-native'; import { PresenceBadge } from '@fluentui-react-native/badge'; import type { UseSlots, Slots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon } from '@fluentui-react-native/icon'; import { Svg, Path } from 'react-native-svg'; diff --git a/packages/components/Avatar/src/__tests__/Avatar.test.tsx b/packages/components/Avatar/src/__tests__/Avatar.test.tsx index 494d8d6914..4a8ea62acc 100644 --- a/packages/components/Avatar/src/__tests__/Avatar.test.tsx +++ b/packages/components/Avatar/src/__tests__/Avatar.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Avatar } from '..'; diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json index d825901c44..5c01d39269 100644 --- a/packages/components/Badge/package.json +++ b/packages/components/Badge/package.json @@ -31,6 +31,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/experimental-shadow": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", diff --git a/packages/components/Badge/src/Badge.tsx b/packages/components/Badge/src/Badge.tsx index 2dd81b3f02..d91b5906d5 100644 --- a/packages/components/Badge/src/Badge.tsx +++ b/packages/components/Badge/src/Badge.tsx @@ -1,12 +1,11 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ReactNode } from 'react'; import { Children } from 'react'; import { View, I18nManager } from 'react-native'; import { Shadow } from '@fluentui-react-native/experimental-shadow'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Badge/src/CounterBadge/CounterBadge.tsx b/packages/components/Badge/src/CounterBadge/CounterBadge.tsx index 1e2d167231..38a0a6f783 100644 --- a/packages/components/Badge/src/CounterBadge/CounterBadge.tsx +++ b/packages/components/Badge/src/CounterBadge/CounterBadge.tsx @@ -1,12 +1,11 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ReactNode } from 'react'; import React, { Children } from 'react'; import { View, I18nManager } from 'react-native'; import { Shadow } from '@fluentui-react-native/experimental-shadow'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Badge/src/PresenceBadge/PresenceBadge.tsx b/packages/components/Badge/src/PresenceBadge/PresenceBadge.tsx index 274c65f3c9..00d83c153e 100644 --- a/packages/components/Badge/src/PresenceBadge/PresenceBadge.tsx +++ b/packages/components/Badge/src/PresenceBadge/PresenceBadge.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View, Platform } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Svg, Path } from 'react-native-svg'; import { stylingSettings } from './PresenceBadge.styling'; diff --git a/packages/components/Badge/src/__tests__/Badge.test.tsx b/packages/components/Badge/src/__tests__/Badge.test.tsx index 107bf19ebd..0beab6e254 100644 --- a/packages/components/Badge/src/__tests__/Badge.test.tsx +++ b/packages/components/Badge/src/__tests__/Badge.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Badge, CounterBadge, PresenceBadge } from '../'; diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json index 6ff8612f54..484103cd3b 100644 --- a/packages/components/Button/package.json +++ b/packages/components/Button/package.json @@ -34,6 +34,7 @@ "@fluentui-react-native/experimental-activity-indicator": "workspace:*", "@fluentui-react-native/experimental-shadow": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", diff --git a/packages/components/Button/src/Button.test.tsx b/packages/components/Button/src/Button.test.tsx index 5adf700072..e11d59ce08 100644 --- a/packages/components/Button/src/Button.test.tsx +++ b/packages/components/Button/src/Button.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Pressable, Text } from 'react-native'; import { Icon } from '@fluentui-react-native/icon'; diff --git a/packages/components/Button/src/Button.tsx b/packages/components/Button/src/Button.tsx index 7e498fbf9a..79a4c7a038 100644 --- a/packages/components/Button/src/Button.tsx +++ b/packages/components/Button/src/Button.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Platform, Pressable, View } from 'react-native'; import { ActivityIndicator } from '@fluentui-react-native/experimental-activity-indicator'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, memoize, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, memoize, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import type { IPressableState } from '@fluentui-react-native/interactive-hooks'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Button/src/CompoundButton/CompoundButton.mobile.tsx b/packages/components/Button/src/CompoundButton/CompoundButton.mobile.tsx index b78ef38eb1..961cfaea3a 100644 --- a/packages/components/Button/src/CompoundButton/CompoundButton.mobile.tsx +++ b/packages/components/Button/src/CompoundButton/CompoundButton.mobile.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View } from 'react-native'; import { compose } from '@fluentui-react-native/framework'; diff --git a/packages/components/Button/src/CompoundButton/CompoundButton.test.tsx b/packages/components/Button/src/CompoundButton/CompoundButton.test.tsx index 3e1d122b49..9b59759233 100644 --- a/packages/components/Button/src/CompoundButton/CompoundButton.test.tsx +++ b/packages/components/Button/src/CompoundButton/CompoundButton.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { CompoundButton } from './CompoundButton'; diff --git a/packages/components/Button/src/CompoundButton/CompoundButton.tsx b/packages/components/Button/src/CompoundButton/CompoundButton.tsx index c48c0e17f1..46239b4c65 100644 --- a/packages/components/Button/src/CompoundButton/CompoundButton.tsx +++ b/packages/components/Button/src/CompoundButton/CompoundButton.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Platform, Pressable, View } from 'react-native'; import { ActivityIndicator } from '@fluentui-react-native/experimental-activity-indicator'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Button/src/FAB/FAB.mobile.tsx b/packages/components/Button/src/FAB/FAB.mobile.tsx index 2c041c1e90..df6b305ff5 100644 --- a/packages/components/Button/src/FAB/FAB.mobile.tsx +++ b/packages/components/Button/src/FAB/FAB.mobile.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Platform, Pressable, View } from 'react-native'; import { Shadow } from '@fluentui-react-native/experimental-shadow'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import type { IPressableState } from '@fluentui-react-native/interactive-hooks'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Button/src/FAB/FAB.test.tsx b/packages/components/Button/src/FAB/FAB.test.tsx index 29107b8b2b..fdbe970f17 100644 --- a/packages/components/Button/src/FAB/FAB.test.tsx +++ b/packages/components/Button/src/FAB/FAB.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { FAB } from './FAB'; diff --git a/packages/components/Button/src/FAB/FAB.tsx b/packages/components/Button/src/FAB/FAB.tsx index 2f75b6acbb..c19a2e2373 100644 --- a/packages/components/Button/src/FAB/FAB.tsx +++ b/packages/components/Button/src/FAB/FAB.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type * as React from 'react'; import { Pressable } from 'react-native'; diff --git a/packages/components/Button/src/ToggleButton/ToggleButton.android.tsx b/packages/components/Button/src/ToggleButton/ToggleButton.android.tsx index e9c2bf6e4e..7e0bc34376 100644 --- a/packages/components/Button/src/ToggleButton/ToggleButton.android.tsx +++ b/packages/components/Button/src/ToggleButton/ToggleButton.android.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View } from 'react-native'; import { compose } from '@fluentui-react-native/framework'; diff --git a/packages/components/Button/src/ToggleButton/ToggleButton.test.tsx b/packages/components/Button/src/ToggleButton/ToggleButton.test.tsx index 91812fc1fc..c06bbea21d 100644 --- a/packages/components/Button/src/ToggleButton/ToggleButton.test.tsx +++ b/packages/components/Button/src/ToggleButton/ToggleButton.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { ToggleButton } from './ToggleButton'; diff --git a/packages/components/Button/src/ToggleButton/ToggleButton.tsx b/packages/components/Button/src/ToggleButton/ToggleButton.tsx index cae9858d0b..a3fa7d89f4 100644 --- a/packages/components/Button/src/ToggleButton/ToggleButton.tsx +++ b/packages/components/Button/src/ToggleButton/ToggleButton.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Platform, Pressable, View } from 'react-native'; import { ActivityIndicator } from '@fluentui-react-native/experimental-activity-indicator'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Button/src/deprecated/Button.android.tsx b/packages/components/Button/src/deprecated/Button.android.tsx index 97c3b6919f..e755dfb0d4 100644 --- a/packages/components/Button/src/deprecated/Button.android.tsx +++ b/packages/components/Button/src/deprecated/Button.android.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Pressable, View } from 'react-native'; @@ -9,7 +8,6 @@ import { useAsPressable, useViewCommandFocus } from '@fluentui-react-native/inte import { Text } from '@fluentui-react-native/text'; import { backgroundColorTokens, borderTokens, textTokens, foregroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Button/src/deprecated/Button.test.tsx b/packages/components/Button/src/deprecated/Button.test.tsx index 64e9897182..0232bff796 100644 --- a/packages/components/Button/src/deprecated/Button.test.tsx +++ b/packages/components/Button/src/deprecated/Button.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Button } from './Button'; diff --git a/packages/components/Button/src/deprecated/Button.tsx b/packages/components/Button/src/deprecated/Button.tsx index 2458998d13..36960622ee 100644 --- a/packages/components/Button/src/deprecated/Button.tsx +++ b/packages/components/Button/src/deprecated/Button.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; @@ -9,7 +8,6 @@ import { useAsPressable, useKeyProps, useViewCommandFocus, useOnPressWithFocus } import { Text } from '@fluentui-react-native/text'; import { backgroundColorTokens, borderTokens, textTokens, foregroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Callout/package.json b/packages/components/Callout/package.json index 591c0fa5da..67c3fbb2f7 100644 --- a/packages/components/Callout/package.json +++ b/packages/components/Callout/package.json @@ -34,6 +34,7 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", diff --git a/packages/components/Callout/src/__tests__/Callout.test.tsx b/packages/components/Callout/src/__tests__/Callout.test.tsx index f493264af0..8a11512f37 100644 --- a/packages/components/Callout/src/__tests__/Callout.test.tsx +++ b/packages/components/Callout/src/__tests__/Callout.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Callout } from '..'; diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json index da7293c882..c442ae17ab 100644 --- a/packages/components/Checkbox/package.json +++ b/packages/components/Checkbox/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", "@fluentui-react-native/styling-utils": "workspace:*", diff --git a/packages/components/Checkbox/src/Checkbox.macos.tsx b/packages/components/Checkbox/src/Checkbox.macos.tsx index 7a63492ae3..77c11aff65 100644 --- a/packages/components/Checkbox/src/Checkbox.macos.tsx +++ b/packages/components/Checkbox/src/Checkbox.macos.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View } from 'react-native'; import type { IViewProps } from '@fluentui-react-native/adapters'; diff --git a/packages/components/Checkbox/src/Checkbox.tsx b/packages/components/Checkbox/src/Checkbox.tsx index cc952be831..78834f4a95 100644 --- a/packages/components/Checkbox/src/Checkbox.tsx +++ b/packages/components/Checkbox/src/Checkbox.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Pressable, Platform } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { Svg, Path } from 'react-native-svg'; diff --git a/packages/components/Checkbox/src/__tests__/Checkbox.test.tsx b/packages/components/Checkbox/src/__tests__/Checkbox.test.tsx index 2c1b5cf403..4ac3cd5e7e 100644 --- a/packages/components/Checkbox/src/__tests__/Checkbox.test.tsx +++ b/packages/components/Checkbox/src/__tests__/Checkbox.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Text, View } from 'react-native'; import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks'; diff --git a/packages/components/Checkbox/src/deprecated/Checkbox.tsx b/packages/components/Checkbox/src/deprecated/Checkbox.tsx index 90adbb0ea4..14d54961ee 100644 --- a/packages/components/Checkbox/src/deprecated/Checkbox.tsx +++ b/packages/components/Checkbox/src/deprecated/Checkbox.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; @@ -16,7 +15,6 @@ import { Text } from '@fluentui-react-native/text'; import { foregroundColorTokens, textTokens, borderTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import { backgroundColorTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json index 5be8525bee..0ce318a8c7 100644 --- a/packages/components/Chip/package.json +++ b/packages/components/Chip/package.json @@ -30,6 +30,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", diff --git a/packages/components/Chip/src/Chip.mobile.tsx b/packages/components/Chip/src/Chip.mobile.tsx index e76ee4e31a..aeec473fc3 100644 --- a/packages/components/Chip/src/Chip.mobile.tsx +++ b/packages/components/Chip/src/Chip.mobile.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ReactNode } from 'react'; import { Children } from 'react'; import { Pressable, I18nManager } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Icon } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Chip/src/Chip.tsx b/packages/components/Chip/src/Chip.tsx index 4b157ac062..9e424f884c 100644 --- a/packages/components/Chip/src/Chip.tsx +++ b/packages/components/Chip/src/Chip.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ReactNode } from 'react'; import { Pressable } from 'react-native'; diff --git a/packages/components/Chip/src/__tests__/Chip.test.tsx b/packages/components/Chip/src/__tests__/Chip.test.tsx index 88364d7be6..1cc1c1cad6 100644 --- a/packages/components/Chip/src/__tests__/Chip.test.tsx +++ b/packages/components/Chip/src/__tests__/Chip.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Chip } from '../'; diff --git a/packages/components/Chip/src/assets/DismissIcon.tsx b/packages/components/Chip/src/assets/DismissIcon.tsx index 13b3ba68e6..31b6add407 100644 --- a/packages/components/Chip/src/assets/DismissIcon.tsx +++ b/packages/components/Chip/src/assets/DismissIcon.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import Svg, { Path } from 'react-native-svg'; import type { SvgProps } from 'react-native-svg'; diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json index dcf4e8bcbe..6da63f899c 100644 --- a/packages/components/ContextualMenu/package.json +++ b/packages/components/ContextualMenu/package.json @@ -36,6 +36,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/callout": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", diff --git a/packages/components/ContextualMenu/src/ContextualMenu.tsx b/packages/components/ContextualMenu/src/ContextualMenu.tsx index f18aae018a..ad7aaa27ec 100644 --- a/packages/components/ContextualMenu/src/ContextualMenu.tsx +++ b/packages/components/ContextualMenu/src/ContextualMenu.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View, ScrollView, Platform } from 'react-native'; @@ -9,7 +8,6 @@ import type { IFocusable } from '@fluentui-react-native/interactive-hooks'; import { useSelectedKey } from '@fluentui-react-native/interactive-hooks'; import { backgroundColorTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/ContextualMenu/src/ContextualMenuItem.tsx b/packages/components/ContextualMenu/src/ContextualMenuItem.tsx index 4376af7526..2a78171f24 100644 --- a/packages/components/ContextualMenu/src/ContextualMenuItem.tsx +++ b/packages/components/ContextualMenu/src/ContextualMenuItem.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; @@ -8,7 +7,6 @@ import { useAsPressable, useKeyProps, useViewCommandFocus } from '@fluentui-reac import { Text } from '@fluentui-react-native/text'; import { backgroundColorTokens, borderTokens, textTokens, foregroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/ContextualMenu/src/Submenu.tsx b/packages/components/ContextualMenu/src/Submenu.tsx index d49cd62621..efb1c2ebdc 100644 --- a/packages/components/ContextualMenu/src/Submenu.tsx +++ b/packages/components/ContextualMenu/src/Submenu.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View, ScrollView, Platform, I18nManager } from 'react-native'; @@ -9,7 +8,6 @@ import type { IFocusable } from '@fluentui-react-native/interactive-hooks'; import { useKeyDownProps, useSelectedKey } from '@fluentui-react-native/interactive-hooks'; import { backgroundColorTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/ContextualMenu/src/SubmenuItem.tsx b/packages/components/ContextualMenu/src/SubmenuItem.tsx index b8906df2d7..feadcbbe6d 100644 --- a/packages/components/ContextualMenu/src/SubmenuItem.tsx +++ b/packages/components/ContextualMenu/src/SubmenuItem.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { I18nManager, Platform, View } from 'react-native'; @@ -9,7 +8,6 @@ import { useKeyDownProps, useViewCommandFocus, useAsPressable } from '@fluentui- import { Text } from '@fluentui-react-native/text'; import { backgroundColorTokens, borderTokens, textTokens, foregroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/ContextualMenu/src/__tests__/ContextualMenu.test.tsx b/packages/components/ContextualMenu/src/__tests__/ContextualMenu.test.tsx index 7b73f23447..0a10ec2275 100644 --- a/packages/components/ContextualMenu/src/__tests__/ContextualMenu.test.tsx +++ b/packages/components/ContextualMenu/src/__tests__/ContextualMenu.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { ContextualMenu } from '..'; diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json index 9bb599a3d8..dcef95efdf 100644 --- a/packages/components/Divider/package.json +++ b/packages/components/Divider/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", diff --git a/packages/components/Divider/src/Divider.tsx b/packages/components/Divider/src/Divider.tsx index 962318ab07..32b6599ca8 100644 --- a/packages/components/Divider/src/Divider.tsx +++ b/packages/components/Divider/src/Divider.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ /** @jsxFrag */ import React from 'react'; import { View } from 'react-native'; import type { ViewProps } from 'react-native'; -import { withSlots, compressible, useSlot, useFluentTheme, patchTokens } from '@fluentui-react-native/framework'; +import { compressible, useSlot, useFluentTheme, patchTokens } from '@fluentui-react-native/framework'; import type { UseTokens } from '@fluentui-react-native/framework'; import { IconV1 as Icon } from '@fluentui-react-native/icon'; import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon'; diff --git a/packages/components/Divider/src/__tests__/Divider.test.tsx b/packages/components/Divider/src/__tests__/Divider.test.tsx index f8fab53302..8da5a09735 100644 --- a/packages/components/Divider/src/__tests__/Divider.test.tsx +++ b/packages/components/Divider/src/__tests__/Divider.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Divider } from '../Divider'; diff --git a/packages/components/FocusTrapZone/package.json b/packages/components/FocusTrapZone/package.json index 575350c163..192539a6a3 100644 --- a/packages/components/FocusTrapZone/package.json +++ b/packages/components/FocusTrapZone/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-settings": "workspace:*" diff --git a/packages/components/FocusZone/package.json b/packages/components/FocusZone/package.json index 4bbff46eb7..84c4849af6 100644 --- a/packages/components/FocusZone/package.json +++ b/packages/components/FocusZone/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-settings": "workspace:*" diff --git a/packages/components/FocusZone/src/__tests__/FocusZone.test.tsx b/packages/components/FocusZone/src/__tests__/FocusZone.test.tsx index 105b2ae6dd..592330be60 100644 --- a/packages/components/FocusZone/src/__tests__/FocusZone.test.tsx +++ b/packages/components/FocusZone/src/__tests__/FocusZone.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Button } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json index a140a6b889..31eec6a55e 100644 --- a/packages/components/Icon/package.json +++ b/packages/components/Icon/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/text": "workspace:*" }, "devDependencies": { diff --git a/packages/components/Icon/src/FontIcon/FontIcon.tsx b/packages/components/Icon/src/FontIcon/FontIcon.tsx index 5f518b8b2f..d847394391 100644 --- a/packages/components/Icon/src/FontIcon/FontIcon.tsx +++ b/packages/components/Icon/src/FontIcon/FontIcon.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Text } from 'react-native'; import { mergeProps, stagedComponent } from '@fluentui-react-native/framework'; diff --git a/packages/components/Icon/src/Icon.tsx b/packages/components/Icon/src/Icon.tsx index 98303e31a1..1d5cab3601 100644 --- a/packages/components/Icon/src/Icon.tsx +++ b/packages/components/Icon/src/Icon.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { FontIcon } from './FontIcon/FontIcon'; import type { IconProps } from './Icon.types'; import { SvgIcon } from './SvgIcon/SvgIcon'; diff --git a/packages/components/Icon/src/SvgIcon/SvgIcon.tsx b/packages/components/Icon/src/SvgIcon/SvgIcon.tsx index 69a03e8aa6..51b046b62f 100644 --- a/packages/components/Icon/src/SvgIcon/SvgIcon.tsx +++ b/packages/components/Icon/src/SvgIcon/SvgIcon.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Platform, View } from 'react-native'; import { mergeProps, stagedComponent } from '@fluentui-react-native/framework'; diff --git a/packages/components/Icon/src/__tests__/Icon.test.tsx b/packages/components/Icon/src/__tests__/Icon.test.tsx index e488ad1017..73b08bd533 100644 --- a/packages/components/Icon/src/__tests__/Icon.test.tsx +++ b/packages/components/Icon/src/__tests__/Icon.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { Path, Svg } from 'react-native-svg'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Icon/src/legacy/Icon.tsx b/packages/components/Icon/src/legacy/Icon.tsx index cba6fd9294..ee160fefe6 100644 --- a/packages/components/Icon/src/legacy/Icon.tsx +++ b/packages/components/Icon/src/legacy/Icon.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Image, Platform, View } from 'react-native'; import type { ImageStyle, TextStyle } from 'react-native'; diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json index ba8207457e..74efd1f3a1 100644 --- a/packages/components/Input/package.json +++ b/packages/components/Input/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/styling-utils": "workspace:*", diff --git a/packages/components/Input/src/Input.mobile.tsx b/packages/components/Input/src/Input.mobile.tsx index 8ba3302ea2..5040b4a280 100644 --- a/packages/components/Input/src/Input.mobile.tsx +++ b/packages/components/Input/src/Input.mobile.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Fragment } from 'react'; import { Pressable, ScrollView, TextInput, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { createIconProps } from '@fluentui-react-native/icon'; import { Icon } from '@fluentui-react-native/icon'; import type { FocusState } from '@fluentui-react-native/interactive-hooks'; diff --git a/packages/components/Input/src/Input.tsx b/packages/components/Input/src/Input.tsx index 82554916cc..0537647d49 100644 --- a/packages/components/Input/src/Input.tsx +++ b/packages/components/Input/src/Input.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Pressable, ScrollView, TextInput, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; diff --git a/packages/components/Input/src/__tests__/Input.test.tsx b/packages/components/Input/src/__tests__/Input.test.tsx index 92701e6ca2..a57fdf81f8 100644 --- a/packages/components/Input/src/__tests__/Input.test.tsx +++ b/packages/components/Input/src/__tests__/Input.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Input } from '../Input'; diff --git a/packages/components/Link/package.json b/packages/components/Link/package.json index 30cbc0563f..680d2bddef 100644 --- a/packages/components/Link/package.json +++ b/packages/components/Link/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", diff --git a/packages/components/Link/src/Link.tsx b/packages/components/Link/src/Link.tsx index 4b1f0bb906..c15c763e25 100644 --- a/packages/components/Link/src/Link.tsx +++ b/packages/components/Link/src/Link.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { Platform, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { stylingSettings } from './Link.styling'; diff --git a/packages/components/Link/src/__tests__/Link.test.tsx b/packages/components/Link/src/__tests__/Link.test.tsx index 509dca3ab6..804d63307e 100644 --- a/packages/components/Link/src/__tests__/Link.test.tsx +++ b/packages/components/Link/src/__tests__/Link.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Alert } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Link/src/legacy/Link.tsx b/packages/components/Link/src/legacy/Link.tsx index 4f3717b8ef..0ca49364fd 100644 --- a/packages/components/Link/src/legacy/Link.tsx +++ b/packages/components/Link/src/legacy/Link.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Linking, View } from 'react-native'; @@ -8,7 +7,6 @@ import { useAsPressable, useKeyProps, useOnPressWithFocus, useViewCommandFocus } import { Text } from '@fluentui-react-native/text'; import { foregroundColorTokens, textTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Link/src/legacy/__tests__/Link.test.tsx b/packages/components/Link/src/legacy/__tests__/Link.test.tsx index aaf811c259..c94e78f976 100644 --- a/packages/components/Link/src/legacy/__tests__/Link.test.tsx +++ b/packages/components/Link/src/legacy/__tests__/Link.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { View } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json index 0f85500940..ee57c5fa41 100644 --- a/packages/components/Menu/package.json +++ b/packages/components/Menu/package.json @@ -34,6 +34,7 @@ "@fluentui-react-native/callout": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", diff --git a/packages/components/Menu/src/MenuDivider/MenuDivider.tsx b/packages/components/Menu/src/MenuDivider/MenuDivider.tsx index 121d4904a2..69c266b486 100644 --- a/packages/components/Menu/src/MenuDivider/MenuDivider.tsx +++ b/packages/components/Menu/src/MenuDivider/MenuDivider.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots } from '@fluentui-react-native/framework'; +import { compose } from '@fluentui-react-native/framework'; import { stylingSettings } from './MenuDivider.styling'; import type { MenuDividerProps, MenuDividerType } from './MenuDivider.types'; diff --git a/packages/components/Menu/src/MenuGroup/MenuGroup.tsx b/packages/components/Menu/src/MenuGroup/MenuGroup.tsx index c7780cdb3f..45e60d98e5 100644 --- a/packages/components/Menu/src/MenuGroup/MenuGroup.tsx +++ b/packages/components/Menu/src/MenuGroup/MenuGroup.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { Platform, View } from 'react-native'; import { FocusZone } from '@fluentui-react-native/focus-zone'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import type { UseSlots } from '@fluentui-react-native/framework'; import type { MenuGroupProps, MenuGroupType } from './MenuGroup.types'; diff --git a/packages/components/Menu/src/MenuGroupHeader/MenuGroupHeader.tsx b/packages/components/Menu/src/MenuGroupHeader/MenuGroupHeader.tsx index f01fbb05f2..f2ea3abf0a 100644 --- a/packages/components/Menu/src/MenuGroupHeader/MenuGroupHeader.tsx +++ b/packages/components/Menu/src/MenuGroupHeader/MenuGroupHeader.tsx @@ -1,8 +1,7 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import type { UseSlots } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/Menu/src/MenuItem/MenuItem.tsx b/packages/components/Menu/src/MenuItem/MenuItem.tsx index 994f48028d..f59928f95f 100644 --- a/packages/components/Menu/src/MenuItem/MenuItem.tsx +++ b/packages/components/Menu/src/MenuItem/MenuItem.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { I18nManager, Image, Pressable, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, memoize, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, memoize, mergeProps } from '@fluentui-react-native/framework'; import { IconV1 as Icon } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { SvgXml } from 'react-native-svg'; diff --git a/packages/components/Menu/src/MenuItemCheckbox/MenuItemCheckbox.tsx b/packages/components/Menu/src/MenuItemCheckbox/MenuItemCheckbox.tsx index 2f734d2294..a211a660ba 100644 --- a/packages/components/Menu/src/MenuItemCheckbox/MenuItemCheckbox.tsx +++ b/packages/components/Menu/src/MenuItemCheckbox/MenuItemCheckbox.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { Image, Platform, Pressable, View } from 'react-native'; import type { Slots, UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { IconV1 as Icon } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { SvgXml } from 'react-native-svg'; diff --git a/packages/components/Menu/src/MenuItemRadio/MenuItemRadio.tsx b/packages/components/Menu/src/MenuItemRadio/MenuItemRadio.tsx index b4d703aa00..9847960194 100644 --- a/packages/components/Menu/src/MenuItemRadio/MenuItemRadio.tsx +++ b/packages/components/Menu/src/MenuItemRadio/MenuItemRadio.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { Image, Platform, Pressable, View } from 'react-native'; import type { Slots, UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { IconV1 as Icon } from '@fluentui-react-native/icon'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { SvgXml } from 'react-native-svg'; diff --git a/packages/components/Menu/src/MenuList/MenuList.tsx b/packages/components/Menu/src/MenuList/MenuList.tsx index 90d2785971..e83af30d5f 100644 --- a/packages/components/Menu/src/MenuList/MenuList.tsx +++ b/packages/components/Menu/src/MenuList/MenuList.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { Platform, ScrollView, View } from 'react-native'; import { FocusZone } from '@fluentui-react-native/focus-zone'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots } from '@fluentui-react-native/framework'; +import { compose } from '@fluentui-react-native/framework'; import { stylingSettings } from './MenuList.styling'; import type { MenuListProps, MenuListState, MenuListType } from './MenuList.types'; diff --git a/packages/components/Menu/src/__tests__/Menu.test.tsx b/packages/components/Menu/src/__tests__/Menu.test.tsx index 7fc6cce6eb..96f7396e41 100644 --- a/packages/components/Menu/src/__tests__/Menu.test.tsx +++ b/packages/components/Menu/src/__tests__/Menu.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { ButtonV1 as Button } from '@fluentui-react-native/button'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json index 202cf0e4d9..fa5d1b6930 100644 --- a/packages/components/MenuButton/package.json +++ b/packages/components/MenuButton/package.json @@ -35,6 +35,7 @@ "dependencies": { "@fluentui-react-native/button": "workspace:*", "@fluentui-react-native/contextual-menu": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", diff --git a/packages/components/MenuButton/src/MenuButton.macos.tsx b/packages/components/MenuButton/src/MenuButton.macos.tsx index f7b9bc7684..88fb896cd8 100644 --- a/packages/components/MenuButton/src/MenuButton.macos.tsx +++ b/packages/components/MenuButton/src/MenuButton.macos.tsx @@ -4,8 +4,7 @@ * @format */ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Image } from 'react-native'; import type { ImageResolvedAssetSource } from 'react-native'; @@ -13,7 +12,6 @@ import type { IconProps } from '@fluentui-react-native/icon'; import { createIconProps } from '@fluentui-react-native/icon'; import { backgroundColorTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/MenuButton/src/MenuButton.tsx b/packages/components/MenuButton/src/MenuButton.tsx index 1622b626f6..10bf210b10 100644 --- a/packages/components/MenuButton/src/MenuButton.tsx +++ b/packages/components/MenuButton/src/MenuButton.tsx @@ -1,12 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React, { useRef, useState, useCallback } from 'react'; import { ButtonV1 as Button } from '@fluentui-react-native/button'; import { ContextualMenu, ContextualMenuItem, SubmenuItem, Submenu } from '@fluentui-react-native/contextual-menu'; import { backgroundColorTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/MenuButton/src/__tests__/MenuButton.test.tsx b/packages/components/MenuButton/src/__tests__/MenuButton.test.tsx index 9a88ddb5fb..493f5875fa 100644 --- a/packages/components/MenuButton/src/__tests__/MenuButton.test.tsx +++ b/packages/components/MenuButton/src/__tests__/MenuButton.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import type { MenuButtonItemProps } from '..'; diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json index d3044c69a0..0d5b323b7f 100644 --- a/packages/components/Notification/package.json +++ b/packages/components/Notification/package.json @@ -35,6 +35,7 @@ "@fluentui-react-native/experimental-appearance-additions": "workspace:*", "@fluentui-react-native/experimental-shadow": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", diff --git a/packages/components/Notification/src/Notification.tsx b/packages/components/Notification/src/Notification.tsx index c5f460dd00..f3d1980ff3 100644 --- a/packages/components/Notification/src/Notification.tsx +++ b/packages/components/Notification/src/Notification.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { PressableProps, ViewStyle, ViewProps } from 'react-native'; import { useWindowDimensions, View } from 'react-native'; @@ -7,7 +6,7 @@ import type { SizeClassIOS } from '@fluentui-react-native/experimental-appearanc import { useHorizontalSizeClass } from '@fluentui-react-native/experimental-appearance-additions'; import { Shadow } from '@fluentui-react-native/experimental-shadow'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots, memoize } from '@fluentui-react-native/framework'; +import { compose, mergeProps, memoize } from '@fluentui-react-native/framework'; import { Icon, createIconProps } from '@fluentui-react-native/icon'; import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks'; import { Pressable } from '@fluentui-react-native/pressable'; diff --git a/packages/components/Notification/src/__tests__/Notification.test.tsx b/packages/components/Notification/src/__tests__/Notification.test.tsx index b6c1d40053..3bfdba8488 100644 --- a/packages/components/Notification/src/__tests__/Notification.test.tsx +++ b/packages/components/Notification/src/__tests__/Notification.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Notification } from '../Notification'; diff --git a/packages/components/Persona/package.json b/packages/components/Persona/package.json index f639b20df2..6b73002444 100644 --- a/packages/components/Persona/package.json +++ b/packages/components/Persona/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/persona-coin": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", diff --git a/packages/components/Persona/src/Persona.tsx b/packages/components/Persona/src/Persona.tsx index 8fd71d4757..a5e62ed761 100644 --- a/packages/components/Persona/src/Persona.tsx +++ b/packages/components/Persona/src/Persona.tsx @@ -1,12 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View, Text } from 'react-native'; import { filterViewProps } from '@fluentui-react-native/adapters'; import { PersonaCoin } from '@fluentui-react-native/persona-coin'; import { foregroundColorTokens } from '@fluentui-react-native/tokens'; import type { ISlots, IRenderData } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/PersonaCoin/package.json b/packages/components/PersonaCoin/package.json index 3202735901..7bd9c0d155 100644 --- a/packages/components/PersonaCoin/package.json +++ b/packages/components/PersonaCoin/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", diff --git a/packages/components/PersonaCoin/src/PersonaCoin.tsx b/packages/components/PersonaCoin/src/PersonaCoin.tsx index f215f3da22..a3eb4ec57d 100644 --- a/packages/components/PersonaCoin/src/PersonaCoin.tsx +++ b/packages/components/PersonaCoin/src/PersonaCoin.tsx @@ -1,11 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Image, View, Text } from 'react-native'; import { filterViewProps, filterImageProps } from '@fluentui-react-native/adapters'; import { foregroundColorTokens } from '@fluentui-react-native/tokens'; import type { ISlots, IRenderData } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import { compose } from '@uifabricshared/foundation-compose'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Pressable/package.json b/packages/components/Pressable/package.json index 1d9951151d..79bccfe558 100644 --- a/packages/components/Pressable/package.json +++ b/packages/components/Pressable/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-settings": "workspace:*" diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json index 2384bcbba7..2a11daaabd 100644 --- a/packages/components/RadioGroup/package.json +++ b/packages/components/RadioGroup/package.json @@ -33,6 +33,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", "@fluentui-react-native/text": "workspace:*", diff --git a/packages/components/RadioGroup/src/Radio/Radio.ios.tsx b/packages/components/RadioGroup/src/Radio/Radio.ios.tsx index b0c8a0e548..719c7970d0 100644 --- a/packages/components/RadioGroup/src/Radio/Radio.ios.tsx +++ b/packages/components/RadioGroup/src/Radio/Radio.ios.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Platform, Pressable, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import type { PressableState } from '@fluentui-react-native/interactive-hooks'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { Svg, Path } from 'react-native-svg'; diff --git a/packages/components/RadioGroup/src/Radio/Radio.tsx b/packages/components/RadioGroup/src/Radio/Radio.tsx index 4cf0a79548..04eebafbd5 100644 --- a/packages/components/RadioGroup/src/Radio/Radio.tsx +++ b/packages/components/RadioGroup/src/Radio/Radio.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Platform, Pressable, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import type { PressableState } from '@fluentui-react-native/interactive-hooks'; import { TextV1 as Text } from '@fluentui-react-native/text'; diff --git a/packages/components/RadioGroup/src/Radio/__tests__/RadioExperimental.test.tsx b/packages/components/RadioGroup/src/Radio/__tests__/RadioExperimental.test.tsx index b7f874fd08..6432d26b28 100644 --- a/packages/components/RadioGroup/src/Radio/__tests__/RadioExperimental.test.tsx +++ b/packages/components/RadioGroup/src/Radio/__tests__/RadioExperimental.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Radio } from '../Radio'; diff --git a/packages/components/RadioGroup/src/RadioGroup/RadioGroup.tsx b/packages/components/RadioGroup/src/RadioGroup/RadioGroup.tsx index b38e8d91df..fc73041ea4 100644 --- a/packages/components/RadioGroup/src/RadioGroup/RadioGroup.tsx +++ b/packages/components/RadioGroup/src/RadioGroup/RadioGroup.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { Platform, View } from 'react-native'; import { FocusZone } from '@fluentui-react-native/focus-zone'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { stylingSettings } from './RadioGroup.styling'; diff --git a/packages/components/RadioGroup/src/RadioGroup/__tests__/RadioGroupExperimental.test.tsx b/packages/components/RadioGroup/src/RadioGroup/__tests__/RadioGroupExperimental.test.tsx index a511530af4..faa4035cf0 100644 --- a/packages/components/RadioGroup/src/RadioGroup/__tests__/RadioGroupExperimental.test.tsx +++ b/packages/components/RadioGroup/src/RadioGroup/__tests__/RadioGroupExperimental.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Radio } from '../../Radio/Radio'; diff --git a/packages/components/RadioGroup/src/legacy/RadioButton.macos.tsx b/packages/components/RadioGroup/src/legacy/RadioButton.macos.tsx index 6421435ed9..1f66031b44 100644 --- a/packages/components/RadioGroup/src/legacy/RadioButton.macos.tsx +++ b/packages/components/RadioGroup/src/legacy/RadioButton.macos.tsx @@ -1,14 +1,7 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import { compose } from '@uifabricshared/foundation-compose'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/RadioGroup/src/legacy/RadioButton.tsx b/packages/components/RadioGroup/src/legacy/RadioButton.tsx index 9531c16398..c1e1da3364 100644 --- a/packages/components/RadioGroup/src/legacy/RadioButton.tsx +++ b/packages/components/RadioGroup/src/legacy/RadioButton.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ 'use strict'; import * as React from 'react'; import { View } from 'react-native'; @@ -9,7 +8,6 @@ import { useAsPressable, useOnPressWithFocus, useViewCommandFocus } from '@fluen import { Text } from '@fluentui-react-native/text'; import { foregroundColorTokens, textTokens, borderTokens, backgroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/RadioGroup/src/legacy/RadioButton.win32.tsx b/packages/components/RadioGroup/src/legacy/RadioButton.win32.tsx index 743cac7ef3..e023d6ae1f 100644 --- a/packages/components/RadioGroup/src/legacy/RadioButton.win32.tsx +++ b/packages/components/RadioGroup/src/legacy/RadioButton.win32.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ 'use strict'; import * as React from 'react'; import { View, I18nManager } from 'react-native'; @@ -10,7 +9,6 @@ import { useAsPressable, useViewCommandFocus, useKeyDownProps } from '@fluentui- import { Text } from '@fluentui-react-native/text'; import { foregroundColorTokens, textTokens, borderTokens, backgroundColorTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/RadioGroup/src/legacy/RadioGroup.tsx b/packages/components/RadioGroup/src/legacy/RadioGroup.tsx index 8b07d860e3..64e0da5017 100644 --- a/packages/components/RadioGroup/src/legacy/RadioGroup.tsx +++ b/packages/components/RadioGroup/src/legacy/RadioGroup.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; @@ -8,7 +7,6 @@ import { useSelectedKey } from '@fluentui-react-native/interactive-hooks'; import { Text } from '@fluentui-react-native/text'; import { foregroundColorTokens, textTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/RadioGroup/src/legacy/__tests__/RadioButton.test.tsx b/packages/components/RadioGroup/src/legacy/__tests__/RadioButton.test.tsx index fb6687f4b7..e53b765d38 100644 --- a/packages/components/RadioGroup/src/legacy/__tests__/RadioButton.test.tsx +++ b/packages/components/RadioGroup/src/legacy/__tests__/RadioButton.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { RadioButton } from '../RadioButton'; diff --git a/packages/components/RadioGroup/src/legacy/__tests__/RadioButtonGroup.test.tsx b/packages/components/RadioGroup/src/legacy/__tests__/RadioButtonGroup.test.tsx index e9f0d3630b..dd30dd81c2 100644 --- a/packages/components/RadioGroup/src/legacy/__tests__/RadioButtonGroup.test.tsx +++ b/packages/components/RadioGroup/src/legacy/__tests__/RadioButtonGroup.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { View } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Separator/package.json b/packages/components/Separator/package.json index 8ea2451078..d2fa90cfb7 100644 --- a/packages/components/Separator/package.json +++ b/packages/components/Separator/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/use-styling": "workspace:*" }, diff --git a/packages/components/Separator/src/Separator.tsx b/packages/components/Separator/src/Separator.tsx index c1d7da969d..8763125539 100644 --- a/packages/components/Separator/src/Separator.tsx +++ b/packages/components/Separator/src/Separator.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { stylingSettings } from './Separator.styling'; import type { SeparatorProps, SeparatorType } from './Separator.types'; diff --git a/packages/components/Separator/src/__tests__/Separator.test.tsx b/packages/components/Separator/src/__tests__/Separator.test.tsx index 66b11a12ed..cce9c3232b 100644 --- a/packages/components/Separator/src/__tests__/Separator.test.tsx +++ b/packages/components/Separator/src/__tests__/Separator.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Separator } from '..'; diff --git a/packages/components/Stack/package.json b/packages/components/Stack/package.json index e70f477449..2ec2c7123e 100644 --- a/packages/components/Stack/package.json +++ b/packages/components/Stack/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@uifabricshared/foundation-composable": "workspace:*", "@uifabricshared/foundation-compose": "workspace:*", diff --git a/packages/components/Stack/src/Stack.tsx b/packages/components/Stack/src/Stack.tsx index 6d1fd2a4a3..93ac975c79 100644 --- a/packages/components/Stack/src/Stack.tsx +++ b/packages/components/Stack/src/Stack.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; import type { StyleProp, ViewStyle } from 'react-native'; @@ -7,7 +6,6 @@ import type { StyleProp, ViewStyle } from 'react-native'; import { filterViewProps } from '@fluentui-react-native/adapters'; import { backgroundColorTokens, borderTokens } from '@fluentui-react-native/tokens'; import type { ISlots } from '@uifabricshared/foundation-composable'; -import { withSlots } from '@uifabricshared/foundation-composable'; import type { IUseComposeStyling } from '@uifabricshared/foundation-compose'; import { compose } from '@uifabricshared/foundation-compose'; import { mergeSettings } from '@uifabricshared/foundation-settings'; diff --git a/packages/components/Stack/src/__tests__/Stack.test.tsx b/packages/components/Stack/src/__tests__/Stack.test.tsx index 43739a340c..b3d800d649 100644 --- a/packages/components/Stack/src/__tests__/Stack.test.tsx +++ b/packages/components/Stack/src/__tests__/Stack.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { Text } from '@fluentui-react-native/text'; import * as renderer from 'react-test-renderer'; diff --git a/packages/components/Switch/package.json b/packages/components/Switch/package.json index 47f1b3c02e..3f525b2265 100644 --- a/packages/components/Switch/package.json +++ b/packages/components/Switch/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theming-utils": "workspace:*", diff --git a/packages/components/Switch/src/Switch.tsx b/packages/components/Switch/src/Switch.tsx index b30ef92628..ed546c91ca 100644 --- a/packages/components/Switch/src/Switch.tsx +++ b/packages/components/Switch/src/Switch.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { StyleProp, TextStyle } from 'react-native'; import { View, AccessibilityInfo, Pressable, Animated, Platform } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, memoize, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, memoize, mergeProps } from '@fluentui-react-native/framework'; import { Text } from '@fluentui-react-native/text'; import { stylingSettings } from './Switch.styling'; diff --git a/packages/components/Switch/src/__tests__/Switch.test.tsx b/packages/components/Switch/src/__tests__/Switch.test.tsx index b8f43b9012..a2412548c9 100644 --- a/packages/components/Switch/src/__tests__/Switch.test.tsx +++ b/packages/components/Switch/src/__tests__/Switch.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Switch } from '../Switch'; diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json index 003dbd1aa1..4b404cb441 100644 --- a/packages/components/TabList/package.json +++ b/packages/components/TabList/package.json @@ -33,6 +33,7 @@ "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/icon": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", diff --git a/packages/components/TabList/src/Tab/Tab.tsx b/packages/components/TabList/src/Tab/Tab.tsx index caeb7308a7..d6a8ceb50f 100644 --- a/packages/components/TabList/src/Tab/Tab.tsx +++ b/packages/components/TabList/src/Tab/Tab.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ /** @jsxFrag */ import React from 'react'; @@ -7,7 +6,7 @@ import { View, Pressable } from 'react-native'; import type { ViewProps } from 'react-native'; import type { UseTokens } from '@fluentui-react-native/framework'; -import { withSlots, compressible, useSlot, useFluentTheme, applyTokenLayers, mergeProps } from '@fluentui-react-native/framework'; +import { compressible, useSlot, useFluentTheme, applyTokenLayers, mergeProps } from '@fluentui-react-native/framework'; import { IconV1 as Icon } from '@fluentui-react-native/icon'; import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon'; import type { PressablePropsExtended } from '@fluentui-react-native/interactive-hooks'; diff --git a/packages/components/TabList/src/Tab/__tests__/Tab.test.tsx b/packages/components/TabList/src/Tab/__tests__/Tab.test.tsx index b99d4aa52f..d85663f286 100644 --- a/packages/components/TabList/src/Tab/__tests__/Tab.test.tsx +++ b/packages/components/TabList/src/Tab/__tests__/Tab.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import Tab from '../Tab'; diff --git a/packages/components/TabList/src/TabList/TabList.tsx b/packages/components/TabList/src/TabList/TabList.tsx index e78aee657a..450a906dba 100644 --- a/packages/components/TabList/src/TabList/TabList.tsx +++ b/packages/components/TabList/src/TabList/TabList.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; import { FocusZone } from '@fluentui-react-native/focus-zone'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { stylingSettings } from './TabList.styling'; import type { TabListType, TabListProps } from './TabList.types'; diff --git a/packages/components/TabList/src/TabList/__tests__/TabList.test.tsx b/packages/components/TabList/src/TabList/__tests__/TabList.test.tsx index 3542a29502..af4ca45659 100644 --- a/packages/components/TabList/src/TabList/__tests__/TabList.test.tsx +++ b/packages/components/TabList/src/TabList/__tests__/TabList.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import Tab from '../../Tab/Tab'; diff --git a/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.tsx b/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.tsx index a811fded97..7aee136acd 100644 --- a/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.tsx +++ b/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.tsx @@ -1,5 +1,3 @@ -/** @jsxRuntime classic */ -import React from 'react'; import { Animated } from 'react-native'; import { stagedComponent } from '@fluentui-react-native/framework'; diff --git a/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.win32.tsx b/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.win32.tsx index 470b12a37b..11732f552c 100644 --- a/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.win32.tsx +++ b/packages/components/TabList/src/TabListAnimatedIndicator/TabListAnimatedIndicator.win32.tsx @@ -1,6 +1,3 @@ -/** @jsxRuntime classic */ - -import React from 'react'; import { View } from 'react-native'; import type { Animated, ViewProps, ViewStyle } from 'react-native'; diff --git a/packages/components/Text/package.json b/packages/components/Text/package.json index 2fe0fecea9..ece0e7d8dc 100644 --- a/packages/components/Text/package.json +++ b/packages/components/Text/package.json @@ -32,6 +32,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", diff --git a/packages/components/Text/src/Text.tsx b/packages/components/Text/src/Text.tsx index 00b5794c52..f6b7c607c4 100644 --- a/packages/components/Text/src/Text.tsx +++ b/packages/components/Text/src/Text.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { I18nManager, Platform, Text as RNText } from 'react-native'; import type { UseTokens, FontWeightValue } from '@fluentui-react-native/framework'; -import { fontStyles, withSlots, useFluentTheme, mergeStyles, compressible, patchTokens } from '@fluentui-react-native/framework'; +import { fontStyles, useFluentTheme, mergeStyles, compressible, patchTokens } from '@fluentui-react-native/framework'; import { useKeyProps } from '@fluentui-react-native/interactive-hooks'; import { globalTokens } from '@fluentui-react-native/theme-tokens'; diff --git a/packages/components/Text/src/__tests__/Text.test.tsx b/packages/components/Text/src/__tests__/Text.test.tsx index 54189475dc..49849f43fc 100644 --- a/packages/components/Text/src/__tests__/Text.test.tsx +++ b/packages/components/Text/src/__tests__/Text.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Text } from '../Text'; diff --git a/packages/deprecated/foundation-composable/docs/GuideHOC.md b/packages/deprecated/foundation-composable/docs/GuideHOC.md index 7464541dc7..3c5d870458 100644 --- a/packages/deprecated/foundation-composable/docs/GuideHOC.md +++ b/packages/deprecated/foundation-composable/docs/GuideHOC.md @@ -113,8 +113,7 @@ Here we will use the same interfaces and helpers but implement `ButtonBase` and We will use the optional TState to pass additional arguments between `usePrepareProps` and `render`. Note that the state can be anything, it is simply a payload to be passed from one function to the next. ```tsx -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ export interface IButtonState { disabled?: boolean; diff --git a/packages/experimental/ActivityIndicator/package.json b/packages/experimental/ActivityIndicator/package.json index 76ccf76974..30d6b273e0 100644 --- a/packages/experimental/ActivityIndicator/package.json +++ b/packages/experimental/ActivityIndicator/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "assert-never": "^1.2.1" }, "devDependencies": { diff --git a/packages/experimental/ActivityIndicator/src/ActivityIndicator.mobile.tsx b/packages/experimental/ActivityIndicator/src/ActivityIndicator.mobile.tsx index e213cf0d4f..b070182f20 100644 --- a/packages/experimental/ActivityIndicator/src/ActivityIndicator.mobile.tsx +++ b/packages/experimental/ActivityIndicator/src/ActivityIndicator.mobile.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { useRef, useEffect, useCallback } from 'react'; import { Animated, Easing, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots, buildUseStyling } from '@fluentui-react-native/framework'; +import { compose, mergeProps, buildUseStyling } from '@fluentui-react-native/framework'; import { Svg, Path } from 'react-native-svg'; import type { SvgProps } from 'react-native-svg'; diff --git a/packages/experimental/ActivityIndicator/src/CoreActivityIndicator.tsx b/packages/experimental/ActivityIndicator/src/CoreActivityIndicator.tsx index c9e81c5a7c..569b212ff6 100644 --- a/packages/experimental/ActivityIndicator/src/CoreActivityIndicator.tsx +++ b/packages/experimental/ActivityIndicator/src/CoreActivityIndicator.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { ActivityIndicator as CoreActivityIndicator } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots } from '@fluentui-react-native/framework'; +import { compose } from '@fluentui-react-native/framework'; import { coreStylingSettings } from './ActivityIndicator.styling'; import type { CoreActivityIndicatorType, ActivityIndicatorProps } from './ActivityIndicator.types'; diff --git a/packages/experimental/AppearanceAdditions/package.json b/packages/experimental/AppearanceAdditions/package.json index e7db0b013c..02d3dc48db 100644 --- a/packages/experimental/AppearanceAdditions/package.json +++ b/packages/experimental/AppearanceAdditions/package.json @@ -34,6 +34,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "use-subscription": "^1.11.0" }, "devDependencies": { diff --git a/packages/experimental/Avatar/package.json b/packages/experimental/Avatar/package.json index 2d9fb91ac9..01033e5801 100644 --- a/packages/experimental/Avatar/package.json +++ b/packages/experimental/Avatar/package.json @@ -33,7 +33,8 @@ "directory": "packages/experimental/Avatar" }, "dependencies": { - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Avatar/src/NativeAvatar.tsx b/packages/experimental/Avatar/src/NativeAvatar.tsx index 5610b2f1fe..a4770e90be 100644 --- a/packages/experimental/Avatar/src/NativeAvatar.tsx +++ b/packages/experimental/Avatar/src/NativeAvatar.tsx @@ -3,13 +3,12 @@ * Licensed under the MIT License. * @format */ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ImageURISource, ViewProps, ColorValue } from 'react-native'; import { NativeModules, TurboModuleRegistry } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, buildProps, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, buildProps, mergeProps } from '@fluentui-react-native/framework'; const avatarName = 'NativeAvatar'; diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json index ab178f741e..e3f8e6681e 100644 --- a/packages/experimental/Checkbox/package.json +++ b/packages/experimental/Checkbox/package.json @@ -32,7 +32,8 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/checkbox": "workspace:*", - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Checkbox/src/Checkbox.macos.tsx b/packages/experimental/Checkbox/src/Checkbox.macos.tsx index 7880e9f076..5ef72c1070 100644 --- a/packages/experimental/Checkbox/src/Checkbox.macos.tsx +++ b/packages/experimental/Checkbox/src/Checkbox.macos.tsx @@ -1,15 +1,9 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { IViewProps } from '@fluentui-react-native/adapters'; import type { CheckboxTokens, CheckboxProps, CheckboxState } from '@fluentui-react-native/checkbox'; import { checkboxName } from '@fluentui-react-native/checkbox'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots, buildProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps, buildProps } from '@fluentui-react-native/framework'; import NativeCheckboxView from './MacOSCheckboxNativeComponent'; diff --git a/packages/experimental/Checkbox/src/Checkbox.tsx b/packages/experimental/Checkbox/src/Checkbox.tsx index 4601ee9541..02740895ba 100644 --- a/packages/experimental/Checkbox/src/Checkbox.tsx +++ b/packages/experimental/Checkbox/src/Checkbox.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { CheckboxV1 } from '@fluentui-react-native/checkbox'; if (__DEV__) { diff --git a/packages/experimental/Drawer/package.json b/packages/experimental/Drawer/package.json index 1b02c86db3..36a53a0ead 100644 --- a/packages/experimental/Drawer/package.json +++ b/packages/experimental/Drawer/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/use-styling": "workspace:*" diff --git a/packages/experimental/Drawer/src/Drawer.tsx b/packages/experimental/Drawer/src/Drawer.tsx index 50b5a77e65..c94e088193 100644 --- a/packages/experimental/Drawer/src/Drawer.tsx +++ b/packages/experimental/Drawer/src/Drawer.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Animated, Modal, TouchableWithoutFeedback, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { stylingSettings } from './Drawer.styling'; import type { DrawerType, DrawerProps } from './Drawer.types'; diff --git a/packages/experimental/Drawer/src/__tests__/Drawer.test.tsx b/packages/experimental/Drawer/src/__tests__/Drawer.test.tsx index 2985bb540a..32be8c3145 100644 --- a/packages/experimental/Drawer/src/__tests__/Drawer.test.tsx +++ b/packages/experimental/Drawer/src/__tests__/Drawer.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Text } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json index 56aa2b9b62..1ca89a5944 100644 --- a/packages/experimental/Dropdown/package.json +++ b/packages/experimental/Dropdown/package.json @@ -34,6 +34,7 @@ "@fluentui-react-native/button": "workspace:*", "@fluentui-react-native/callout": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/interactive-hooks": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*" diff --git a/packages/experimental/Dropdown/src/Dropdown/Dropdown.tsx b/packages/experimental/Dropdown/src/Dropdown/Dropdown.tsx index a4cf9b6b33..99b0d8986c 100644 --- a/packages/experimental/Dropdown/src/Dropdown/Dropdown.tsx +++ b/packages/experimental/Dropdown/src/Dropdown/Dropdown.tsx @@ -1,12 +1,11 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { View } from 'react-native'; import type { ButtonProps } from '@fluentui-react-native/button'; import { ButtonV1 as Button } from '@fluentui-react-native/button'; import type { UseTokens } from '@fluentui-react-native/framework'; -import { buildUseTokens, compressible, useSlot, withSlots } from '@fluentui-react-native/framework'; +import { buildUseTokens, compressible, useSlot } from '@fluentui-react-native/framework'; import type { PressablePropsExtended } from '@fluentui-react-native/interactive-hooks'; import type { SvgProps } from 'react-native-svg'; import { Path, Svg } from 'react-native-svg'; diff --git a/packages/experimental/Dropdown/src/Listbox/Listbox.tsx b/packages/experimental/Dropdown/src/Listbox/Listbox.tsx index 6e0fa36e72..572beef5ae 100644 --- a/packages/experimental/Dropdown/src/Listbox/Listbox.tsx +++ b/packages/experimental/Dropdown/src/Listbox/Listbox.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { View } from 'react-native'; @@ -7,7 +6,7 @@ import type { IViewProps } from '@fluentui-react-native/adapters'; import type { ICalloutProps } from '@fluentui-react-native/callout'; import { Callout } from '@fluentui-react-native/callout'; import type { UseTokens } from '@fluentui-react-native/framework'; -import { buildUseTokens, compressible, useSlot, withSlots } from '@fluentui-react-native/framework'; +import { buildUseTokens, compressible, useSlot } from '@fluentui-react-native/framework'; import type { ListboxProps, ListboxTokens } from './Listbox.types'; import { listboxName } from './Listbox.types'; diff --git a/packages/experimental/Dropdown/src/Option/Option.tsx b/packages/experimental/Dropdown/src/Option/Option.tsx index 20d9eefc86..a6382d8a9f 100644 --- a/packages/experimental/Dropdown/src/Option/Option.tsx +++ b/packages/experimental/Dropdown/src/Option/Option.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React from 'react'; import { View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { Path, Svg } from 'react-native-svg'; diff --git a/packages/experimental/Expander/package.json b/packages/experimental/Expander/package.json index 2e84c3b080..4c431654d0 100644 --- a/packages/experimental/Expander/package.json +++ b/packages/experimental/Expander/package.json @@ -34,7 +34,8 @@ "directory": "packages/experimental/Expander" }, "dependencies": { - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Expander/src/Expander.tsx b/packages/experimental/Expander/src/Expander.tsx index 3acbb38c5d..63800555c8 100644 --- a/packages/experimental/Expander/src/Expander.tsx +++ b/packages/experimental/Expander/src/Expander.tsx @@ -1,15 +1,8 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ - -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots, buildProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps, buildProps } from '@fluentui-react-native/framework'; import type { ExpanderType, ExpanderProps, ExpanderViewProps } from './Expander.types'; import { expanderName } from './Expander.types'; diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json index ec66e161d7..099c7dfefc 100644 --- a/packages/experimental/MenuButton/package.json +++ b/packages/experimental/MenuButton/package.json @@ -33,6 +33,7 @@ "@fluentui-react-native/button": "workspace:*", "@fluentui-react-native/contextual-menu": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*" }, "devDependencies": { diff --git a/packages/experimental/MenuButton/src/MenuButton.tsx b/packages/experimental/MenuButton/src/MenuButton.tsx index 53825c1360..bcb41409c7 100644 --- a/packages/experimental/MenuButton/src/MenuButton.tsx +++ b/packages/experimental/MenuButton/src/MenuButton.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import React, { useRef, useState, useCallback, useMemo } from 'react'; import { Platform } from 'react-native'; import { ButtonV1 as Button } from '@fluentui-react-native/button'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots } from '@fluentui-react-native/framework'; +import { compose } from '@fluentui-react-native/framework'; import { SvgXml } from 'react-native-svg'; import { stylingSettings } from './MenuButton.styling'; diff --git a/packages/experimental/MenuButton/src/__tests__/MenuButton.test.tsx b/packages/experimental/MenuButton/src/__tests__/MenuButton.test.tsx index d049e64555..57a0f1bb3e 100644 --- a/packages/experimental/MenuButton/src/__tests__/MenuButton.test.tsx +++ b/packages/experimental/MenuButton/src/__tests__/MenuButton.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import type { MenuButtonItemProps } from '..'; diff --git a/packages/experimental/MenuButton/src/renderContextualMenu.tsx b/packages/experimental/MenuButton/src/renderContextualMenu.tsx index 1f7828378a..f19f3cd706 100644 --- a/packages/experimental/MenuButton/src/renderContextualMenu.tsx +++ b/packages/experimental/MenuButton/src/renderContextualMenu.tsx @@ -1,5 +1,3 @@ -/** @jsxRuntime classic */ -/* @jsxFrag React.Fragment */ import * as React from 'react'; import type { ContextualMenuProps } from '@fluentui-react-native/contextual-menu'; diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json index c282451750..97b50dff8a 100644 --- a/packages/experimental/Overflow/package.json +++ b/packages/experimental/Overflow/package.json @@ -30,7 +30,8 @@ "directory": "packages/experimental/Overflow" }, "dependencies": { - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Overflow/src/Overflow/Overflow.tsx b/packages/experimental/Overflow/src/Overflow/Overflow.tsx index 56b4e5d891..9ec996449d 100644 --- a/packages/experimental/Overflow/src/Overflow/Overflow.tsx +++ b/packages/experimental/Overflow/src/Overflow/Overflow.tsx @@ -1,4 +1,3 @@ -/** @jsxRuntime classic */ import * as React from 'react'; import { View } from 'react-native'; diff --git a/packages/experimental/Overflow/src/OverflowItem/OverflowItem.tsx b/packages/experimental/Overflow/src/OverflowItem/OverflowItem.tsx index f82b1beec9..8ce16638f9 100644 --- a/packages/experimental/Overflow/src/OverflowItem/OverflowItem.tsx +++ b/packages/experimental/Overflow/src/OverflowItem/OverflowItem.tsx @@ -1,4 +1,3 @@ -/** @jsxRuntime classic */ import * as React from 'react'; import type { StyleProp, ViewProps, ViewStyle } from 'react-native'; diff --git a/packages/experimental/Overflow/src/__tests__/Overflow.test.tsx b/packages/experimental/Overflow/src/__tests__/Overflow.test.tsx index cc7cdf8d5a..c99a0f52c6 100644 --- a/packages/experimental/Overflow/src/__tests__/Overflow.test.tsx +++ b/packages/experimental/Overflow/src/__tests__/Overflow.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { ButtonV1 } from '@fluentui-react-native/button'; import { Menu, MenuPopover, MenuTrigger, MenuItem } from '@fluentui-react-native/menu'; import * as renderer from 'react-test-renderer'; diff --git a/packages/experimental/Popover/package.json b/packages/experimental/Popover/package.json index 78ceede27e..ad5675e29f 100644 --- a/packages/experimental/Popover/package.json +++ b/packages/experimental/Popover/package.json @@ -31,7 +31,8 @@ }, "dependencies": { "@fluentui-react-native/adapters": "workspace:*", - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Popover/src/Popover.tsx b/packages/experimental/Popover/src/Popover.tsx index fcdcf50e53..d0223c4275 100644 --- a/packages/experimental/Popover/src/Popover.tsx +++ b/packages/experimental/Popover/src/Popover.tsx @@ -1,5 +1,4 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { UseTokens } from '@fluentui-react-native/framework'; import { compressible, buildUseTokens } from '@fluentui-react-native/framework'; diff --git a/packages/experimental/Shadow/package.json b/packages/experimental/Shadow/package.json index 3e0faf4dbb..884a06618e 100644 --- a/packages/experimental/Shadow/package.json +++ b/packages/experimental/Shadow/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/pressable": "workspace:*", "@fluentui-react-native/theme-types": "workspace:*" }, diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json index 9f486852f7..57ee2a34b1 100644 --- a/packages/experimental/Shimmer/package.json +++ b/packages/experimental/Shimmer/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/theming-utils": "workspace:*", "@fluentui-react-native/tokens": "workspace:*", "@fluentui-react-native/use-styling": "workspace:*", diff --git a/packages/experimental/Shimmer/src/Shimmer.test.tsx b/packages/experimental/Shimmer/src/Shimmer.test.tsx index 140991e837..b7d72ce93e 100644 --- a/packages/experimental/Shimmer/src/Shimmer.test.tsx +++ b/packages/experimental/Shimmer/src/Shimmer.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import * as renderer from 'react-test-renderer'; import { Shimmer } from './Shimmer'; diff --git a/packages/experimental/Shimmer/src/Shimmer.tsx b/packages/experimental/Shimmer/src/Shimmer.tsx index 7f3b728523..d2b1d6aec1 100644 --- a/packages/experimental/Shimmer/src/Shimmer.tsx +++ b/packages/experimental/Shimmer/src/Shimmer.tsx @@ -1,11 +1,10 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { useRef, useEffect, useMemo, useCallback } from 'react'; import type { ScaleXTransform, TranslateXTransform } from 'react-native'; import { Animated, I18nManager } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots, buildUseStyling } from '@fluentui-react-native/framework'; +import { compose, mergeProps, buildUseStyling } from '@fluentui-react-native/framework'; import assertNever from 'assert-never'; import { Circle, ClipPath, Defs, LinearGradient, Rect, Stop, Svg, G } from 'react-native-svg'; diff --git a/packages/experimental/Shimmer/src/Shimmer.win32.tsx b/packages/experimental/Shimmer/src/Shimmer.win32.tsx index ce98d85549..2bdacd42fd 100644 --- a/packages/experimental/Shimmer/src/Shimmer.win32.tsx +++ b/packages/experimental/Shimmer/src/Shimmer.win32.tsx @@ -1,16 +1,8 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ - -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { processColor, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; import { compose, mergeProps } from '@fluentui-react-native/framework'; -import { withSlots } from '@fluentui-react-native/framework'; import { assertNever } from 'assert-never'; import type { SvgProps } from 'react-native-svg'; import { ClipPath, Defs, LinearGradient, Path, Rect, Stop, Svg } from 'react-native-svg'; diff --git a/packages/experimental/Spinner/package.json b/packages/experimental/Spinner/package.json index 6eb9fa97c3..1a5b06bb9e 100644 --- a/packages/experimental/Spinner/package.json +++ b/packages/experimental/Spinner/package.json @@ -31,6 +31,7 @@ }, "dependencies": { "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/text": "workspace:*", "@fluentui-react-native/theme-tokens": "workspace:*", "@fluentui-react-native/use-styling": "workspace:*" diff --git a/packages/experimental/Spinner/src/Spinner.android.tsx b/packages/experimental/Spinner/src/Spinner.android.tsx index 0d66fe57f3..603f47a3ac 100644 --- a/packages/experimental/Spinner/src/Spinner.android.tsx +++ b/packages/experimental/Spinner/src/Spinner.android.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { useEffect, useCallback } from 'react'; import type { ColorValue } from 'react-native'; import { Animated, Easing, View } from 'react-native'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import type { UseSlots } from '@fluentui-react-native/framework'; import { Path, Svg } from 'react-native-svg'; import type { SvgProps } from 'react-native-svg'; diff --git a/packages/experimental/Spinner/src/Spinner.tsx b/packages/experimental/Spinner/src/Spinner.tsx index 7e5236bd17..0814cd586c 100644 --- a/packages/experimental/Spinner/src/Spinner.tsx +++ b/packages/experimental/Spinner/src/Spinner.tsx @@ -1,9 +1,8 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import { Animated, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { Svg } from 'react-native-svg'; import type { SpinnerProps, SpinnerType } from './Spinner.types'; diff --git a/packages/experimental/Spinner/src/Spinner.win32.tsx b/packages/experimental/Spinner/src/Spinner.win32.tsx index 059926ccd8..c616ae0b11 100644 --- a/packages/experimental/Spinner/src/Spinner.win32.tsx +++ b/packages/experimental/Spinner/src/Spinner.win32.tsx @@ -1,16 +1,9 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ - -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import type { ColorValue } from 'react-native'; import { View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { TextV1 as Text } from '@fluentui-react-native/text'; import { Path, Svg } from 'react-native-svg'; import type { SvgProps } from 'react-native-svg'; diff --git a/packages/experimental/Stack/package.json b/packages/experimental/Stack/package.json index 2b43e877cc..5208064b45 100644 --- a/packages/experimental/Stack/package.json +++ b/packages/experimental/Stack/package.json @@ -33,6 +33,7 @@ "dependencies": { "@fluentui-react-native/adapters": "workspace:*", "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*", "@fluentui-react-native/tokens": "workspace:*" }, "devDependencies": { diff --git a/packages/experimental/Stack/src/Stack.tsx b/packages/experimental/Stack/src/Stack.tsx index f316a470e5..8a7ebd7e82 100644 --- a/packages/experimental/Stack/src/Stack.tsx +++ b/packages/experimental/Stack/src/Stack.tsx @@ -1,12 +1,11 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; import type { ViewProps } from 'react-native'; import { filterViewProps } from '@fluentui-react-native/adapters'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps, getTypedMemoCache } from '@fluentui-react-native/framework'; +import { compose, mergeProps, getTypedMemoCache } from '@fluentui-react-native/framework'; import { stylingSettings } from './Stack.styling'; import { stackName } from './Stack.types'; diff --git a/packages/experimental/Stack/src/StackItem/StackItem.tsx b/packages/experimental/Stack/src/StackItem/StackItem.tsx index 5097bce419..ea4d0eaa3e 100644 --- a/packages/experimental/Stack/src/StackItem/StackItem.tsx +++ b/packages/experimental/Stack/src/StackItem/StackItem.tsx @@ -1,10 +1,9 @@ -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ import * as React from 'react'; import { View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; -import { compose, withSlots, mergeProps } from '@fluentui-react-native/framework'; +import { compose, mergeProps } from '@fluentui-react-native/framework'; import { stylingSettings } from './StackItem.styles'; import { stackItemName } from './StackItem.types'; diff --git a/packages/experimental/Stack/src/__tests__/Stack.test.tsx b/packages/experimental/Stack/src/__tests__/Stack.test.tsx index 43739a340c..b3d800d649 100644 --- a/packages/experimental/Stack/src/__tests__/Stack.test.tsx +++ b/packages/experimental/Stack/src/__tests__/Stack.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { Text } from '@fluentui-react-native/text'; import * as renderer from 'react-test-renderer'; diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json index c5ae800903..b76c2b0bd8 100644 --- a/packages/experimental/Tooltip/package.json +++ b/packages/experimental/Tooltip/package.json @@ -31,7 +31,8 @@ }, "dependencies": { "@fluentui-react-native/callout": "workspace:*", - "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework": "workspace:*", + "@fluentui-react-native/framework-base": "workspace:*" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/packages/experimental/Tooltip/src/Tooltip.tsx b/packages/experimental/Tooltip/src/Tooltip.tsx index 8db684cc14..687e7e3d96 100644 --- a/packages/experimental/Tooltip/src/Tooltip.tsx +++ b/packages/experimental/Tooltip/src/Tooltip.tsx @@ -1,10 +1,3 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * @format - */ - -/** @jsxRuntime classic */ import * as React from 'react'; import { findNodeHandle } from 'react-native'; diff --git a/packages/experimental/Tooltip/src/__tests__/Tooltip.test.tsx b/packages/experimental/Tooltip/src/__tests__/Tooltip.test.tsx index 70e5e963e4..9dfe33f119 100644 --- a/packages/experimental/Tooltip/src/__tests__/Tooltip.test.tsx +++ b/packages/experimental/Tooltip/src/__tests__/Tooltip.test.tsx @@ -1,5 +1,3 @@ -import * as React from 'react'; - import { ButtonV1 } from '@fluentui-react-native/button'; import * as renderer from 'react-test-renderer'; diff --git a/packages/experimental/VibrancyView/src/VibrancyView.tsx b/packages/experimental/VibrancyView/src/VibrancyView.tsx index e27005df96..046296af40 100644 --- a/packages/experimental/VibrancyView/src/VibrancyView.tsx +++ b/packages/experimental/VibrancyView/src/VibrancyView.tsx @@ -4,9 +4,6 @@ * @format */ -/** @jsxRuntime classic */ -import React from 'react'; - import type { VibrancyViewProps } from './VibrancyView.types'; import NativeVibrancyView from './VibrancyViewNativeComponent'; diff --git a/packages/framework-base/src/index.ts b/packages/framework-base/src/index.ts index 3a2fd0510d..27e7c06889 100644 --- a/packages/framework-base/src/index.ts +++ b/packages/framework-base/src/index.ts @@ -37,4 +37,4 @@ export type { } from './component-patterns/render.types'; export { withSlots } from './component-patterns/withSlots'; export { stagedComponent, twoStageComponent } from './component-patterns/stagedComponent'; -export { jsx, jsxs } from './jsx-runtime'; +export { jsx, jsxs, Fragment } from './jsx-runtime'; diff --git a/packages/framework-base/src/jsx-runtime.ts b/packages/framework-base/src/jsx-runtime.ts index b5f19bddf7..3b4181d505 100644 --- a/packages/framework-base/src/jsx-runtime.ts +++ b/packages/framework-base/src/jsx-runtime.ts @@ -9,3 +9,5 @@ export function jsx(type: React.ElementType, props: React.PropsWithChildren, key?: React.Key): React.ReactElement { return renderForJsxRuntime(type, props, key, ReactJSX.jsxs); } + +export { Fragment } from 'react/jsx-runtime'; diff --git a/packages/framework/use-slot/README.md b/packages/framework/use-slot/README.md index 3ff6910be6..098ab09244 100644 --- a/packages/framework/use-slot/README.md +++ b/packages/framework/use-slot/README.md @@ -51,8 +51,7 @@ The helper will return a `React.FunctionComponent` that will forward props (with Consuming these by hand are a bit tedious. To aid in this the `useSlot` hook function is provided. Besides enabling automatic tree compression (for component types that support it), this also allows components to be authored as pluggable bits in the render tree. Usage looks something like: ```ts -/** @jsxRuntime classic */ -/** @jsx withSlots */ +/** @jsxImportSource @fluentui-react-native/framework-base */ const baseStyle = { /* some text styling defaults set here */ diff --git a/packages/libraries/core/tsconfig.json b/packages/libraries/core/tsconfig.json index 555ee5da3d..5b9a63270e 100644 --- a/packages/libraries/core/tsconfig.json +++ b/packages/libraries/core/tsconfig.json @@ -2,7 +2,6 @@ "extends": "@fluentui-react-native/scripts/configs/tsconfig.json", "compilerOptions": { "baseUrl": ".", - "jsx": "react", "outDir": "lib", "declaration": true, "sourceMap": true, diff --git a/packages/utils/interactive-hooks/src/__tests__/useKeyProps.test.tsx b/packages/utils/interactive-hooks/src/__tests__/useKeyProps.test.tsx index 76df738426..4ff3950cf0 100644 --- a/packages/utils/interactive-hooks/src/__tests__/useKeyProps.test.tsx +++ b/packages/utils/interactive-hooks/src/__tests__/useKeyProps.test.tsx @@ -1,4 +1,3 @@ -import * as React from 'react'; import { Pressable } from 'react-native'; import * as renderer from 'react-test-renderer'; diff --git a/yarn.lock b/yarn.lock index 7759731416..41d4b4f32f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2503,6 +2503,7 @@ __metadata: "@fluentui-react-native/badge": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -2565,6 +2566,7 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/experimental-shadow": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -2614,6 +2616,7 @@ __metadata: "@fluentui-react-native/experimental-activity-indicator": "workspace:*" "@fluentui-react-native/experimental-shadow": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -2666,6 +2669,7 @@ __metadata: "@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/tokens": "workspace:*" @@ -2706,6 +2710,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" @@ -2757,6 +2762,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -2848,6 +2854,7 @@ __metadata: "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -3057,6 +3064,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3100,6 +3108,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3141,6 +3150,7 @@ __metadata: "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3231,6 +3241,7 @@ __metadata: "@babel/core": "npm:^7.20.0" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -3266,6 +3277,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -3300,6 +3312,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -3336,6 +3349,7 @@ __metadata: "@fluentui-react-native/checkbox": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@office-iss/react-native-win32": "npm:^0.74.0" "@react-native/babel-preset": "npm:^0.74.0" @@ -3371,6 +3385,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -3405,6 +3420,7 @@ __metadata: "@fluentui-react-native/contextual-menu": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -3482,6 +3498,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3520,6 +3537,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theming-utils": "workspace:*" @@ -3562,6 +3580,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -3601,6 +3620,7 @@ __metadata: "@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/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3640,6 +3660,7 @@ __metadata: "@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/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3738,6 +3759,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" @@ -3791,6 +3813,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -3895,6 +3918,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -3953,6 +3977,7 @@ __metadata: "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/contextual-menu": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4000,6 +4025,7 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -4071,6 +4097,7 @@ __metadata: "@fluentui-react-native/experimental-appearance-additions": "workspace:*" "@fluentui-react-native/experimental-shadow": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -4119,6 +4146,7 @@ __metadata: "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/menu": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4160,6 +4188,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -4200,6 +4229,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/persona-coin": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/tokens": "workspace:*" @@ -4239,6 +4269,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" "@react-native/metro-config": "npm:^0.74.0" @@ -4271,6 +4302,7 @@ __metadata: "@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/interactive-hooks": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@react-native/babel-preset": "npm:^0.74.0" @@ -4308,6 +4340,7 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/pressable": "workspace:*" @@ -4415,6 +4448,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -4453,6 +4487,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" "@fluentui-react-native/theme-tokens": "workspace:*" @@ -4491,6 +4526,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/text": "workspace:*" @@ -4551,6 +4587,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4595,6 +4632,7 @@ __metadata: "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/focus-zone": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/icon": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" @@ -4793,6 +4831,7 @@ __metadata: "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/interactive-hooks": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" @@ -4989,6 +5028,7 @@ __metadata: "@fluentui-react-native/callout": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" "@fluentui-react-native/framework": "workspace:*" + "@fluentui-react-native/framework-base": "workspace:*" "@fluentui-react-native/jest-config": "workspace:*" "@fluentui-react-native/scripts": "workspace:*" "@fluentui-react-native/test-tools": "workspace:*" From 185474caa14e0f80e836399485d331b08493612d Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 11:14:42 -0700 Subject: [PATCH 27/33] convert repo to modern jsx-runtime --- scripts/src/tasks/depcheck.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/src/tasks/depcheck.js b/scripts/src/tasks/depcheck.js index 70bc286f04..d8f9589d3a 100644 --- a/scripts/src/tasks/depcheck.js +++ b/scripts/src/tasks/depcheck.js @@ -67,7 +67,7 @@ export class DepcheckCommand extends Command { reporter = getReporter(); projectRoot = getProjectRoot(); - ignored = new Set(injectedDevDeps(this.projectRoot)); + ignored = new Set(['@fluentui-react-native/framework-base', ...injectedDevDeps(this.projectRoot)]); /** @type {Issue[]} */ issues = []; @@ -90,6 +90,7 @@ export class DepcheckCommand extends Command { const options = mergeOneLevel( { ignorePatterns: ['/lib/*', '/lib-commonjs/*'], + // ignore framework-base as depcheck doesn't understand @jsxImportSource specials: [depcheck.special.eslint, depcheck.special.jest, depcheck.special.ttypescript], }, depcheckOptions, From 5eeb371cf6041b51ed5615c2f58048e1923d609b Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 11:16:00 -0700 Subject: [PATCH 28/33] Change files --- ...-react-native-4bfc2ee8-9c20-42fa-8041-8a994caa8bcf.json | 7 +++++++ ...native-avatar-09960bc9-e5a6-4dc7-aedf-eeac3688bd98.json | 7 +++++++ ...-native-badge-a1d57d94-fb18-4046-8ee7-b6774698dba0.json | 7 +++++++ ...native-button-9248e4fe-6988-4eaa-8360-e24c43b890ed.json | 7 +++++++ ...ative-callout-30c3ca67-e8ba-4daa-9d57-cbc3ec99f941.json | 7 +++++++ ...tive-checkbox-6dfdfd35-c380-4527-9045-2606eb25f2d8.json | 7 +++++++ ...t-native-chip-24f22b86-b15f-40df-988d-ca739b526a00.json | 7 +++++++ ...e-composition-9e2757eb-0355-41d2-a214-aa65b6ff7b0d.json | 7 +++++++ ...ntextual-menu-5a7d5755-2454-45e0-9e48-a935ea22aa40.json | 7 +++++++ ...ative-divider-4e39f1a6-fe0a-4db3-9614-183dad71abfc.json | 7 +++++++ ...native-drawer-2a44ed1d-7418-4323-b266-355ad13ff939.json | 7 +++++++ ...tive-dropdown-7f119070-8bde-4506-9e18-3d4ae54b38fb.json | 7 +++++++ ...ity-indicator-0017597c-ab5b-480f-bb1f-36c5a54750f1.json | 7 +++++++ ...nce-additions-adbf1ac8-3071-4621-a99d-56f462f02407.json | 7 +++++++ ...mental-avatar-c68c31af-abc7-49f5-aaab-4edafae8f041.json | 7 +++++++ ...ntal-checkbox-933e00cc-19db-4608-b0fa-8cfa6b42c3f8.json | 7 +++++++ ...ntal-expander-a61ea4e1-edd9-47c6-ae3c-7050b12826a7.json | 7 +++++++ ...l-menu-button-40f4579f-74e5-4830-a707-c0d0e89e8d92.json | 7 +++++++ ...mental-shadow-2335230d-e03e-4232-9de1-64eac64b6a93.json | 7 +++++++ ...ental-shimmer-76154866-f87d-405c-9fa5-f0e3c891263e.json | 7 +++++++ ...cus-trap-zone-a09f211f-3f8e-4c15-8ec6-1604716044a4.json | 7 +++++++ ...ve-focus-zone-3421219c-f3c1-4c0d-914a-7cf95e8d557d.json | 7 +++++++ ...ive-framework-766daf63-fe18-42dd-ae63-26d329d7a36a.json | 7 +++++++ ...ramework-base-478fb9c5-a6db-442b-8677-e06d462087b6.json | 7 +++++++ ...t-native-icon-00b4c2a6-37d7-4306-b867-203e88a9fd85.json | 7 +++++++ ...-native-input-56f70a45-0a16-4de9-8e81-bb3285750818.json | 7 +++++++ ...ractive-hooks-1d7d8d8e-690d-4536-801d-f6fbffba5a95.json | 7 +++++++ ...t-native-link-e1c9c169-73e7-4809-bb6f-9f1ada9ce58e.json | 7 +++++++ ...e-menu-button-438d6f0a-279b-45ef-903b-f98e8c42a858.json | 7 +++++++ ...t-native-menu-c1bed1d4-d936-4ba9-9b7d-61f6a54cc70a.json | 7 +++++++ ...-notification-e67aa402-3afe-449f-b140-d42c3e1c7b66.json | 7 +++++++ ...tive-overflow-13485534-62f4-482f-a5bf-6be3c2074593.json | 7 +++++++ ...ative-persona-4bea6f18-e29a-4759-a5f6-29f9ab0eed50.json | 7 +++++++ ...-persona-coin-763e3e10-c0a6-4676-bda9-26d501ea59f9.json | 7 +++++++ ...ative-popover-5635a65f-c4a4-400b-800b-5ef19280d368.json | 7 +++++++ ...ive-pressable-0f274370-43a0-4cc9-8383-86dde99be9b6.json | 7 +++++++ ...e-radio-group-7e3bd67f-f7f5-4d0b-ae69-bc1196a29d94.json | 7 +++++++ ...ive-separator-a54a9c99-a857-4cc0-9ba7-f8f53a5cee71.json | 7 +++++++ ...ative-spinner-873f2993-e123-436c-a402-3e682644f8fb.json | 7 +++++++ ...-native-stack-9e7c4d67-554c-47e2-8ab8-75eec339719e.json | 7 +++++++ ...native-switch-3bbf9262-1730-4e5e-b6c3-83087c702b53.json | 7 +++++++ ...ative-tablist-db2bf0ff-4fbf-457d-bc21-fdd7a3c645d3.json | 7 +++++++ ...native-tester-8cecc612-844c-4a4b-b81b-87e63cdd8c75.json | 7 +++++++ ...t-native-text-a75c1039-09b0-46aa-8f40-f753b49dca71.json | 7 +++++++ ...ative-tooltip-feabf003-af85-4d39-8a90-78faf9bd9e96.json | 7 +++++++ ...tive-use-slot-df572b7f-6ba0-4358-8ae5-0c6b9f3f0c64.json | 7 +++++++ ...ive-use-slots-14e2f1a7-2010-4efb-9430-0e4ac7fd8b04.json | 7 +++++++ ...vibrancy-view-f08ee803-af7c-46e2-8c28-f1fee52dd3ba.json | 7 +++++++ ...on-composable-da289f0b-2985-4fd8-a42e-b6d1b28c7ca3.json | 7 +++++++ 49 files changed, 343 insertions(+) create mode 100644 change/@fluentui-react-native-4bfc2ee8-9c20-42fa-8041-8a994caa8bcf.json create mode 100644 change/@fluentui-react-native-avatar-09960bc9-e5a6-4dc7-aedf-eeac3688bd98.json create mode 100644 change/@fluentui-react-native-badge-a1d57d94-fb18-4046-8ee7-b6774698dba0.json create mode 100644 change/@fluentui-react-native-button-9248e4fe-6988-4eaa-8360-e24c43b890ed.json create mode 100644 change/@fluentui-react-native-callout-30c3ca67-e8ba-4daa-9d57-cbc3ec99f941.json create mode 100644 change/@fluentui-react-native-checkbox-6dfdfd35-c380-4527-9045-2606eb25f2d8.json create mode 100644 change/@fluentui-react-native-chip-24f22b86-b15f-40df-988d-ca739b526a00.json create mode 100644 change/@fluentui-react-native-composition-9e2757eb-0355-41d2-a214-aa65b6ff7b0d.json create mode 100644 change/@fluentui-react-native-contextual-menu-5a7d5755-2454-45e0-9e48-a935ea22aa40.json create mode 100644 change/@fluentui-react-native-divider-4e39f1a6-fe0a-4db3-9614-183dad71abfc.json create mode 100644 change/@fluentui-react-native-drawer-2a44ed1d-7418-4323-b266-355ad13ff939.json create mode 100644 change/@fluentui-react-native-dropdown-7f119070-8bde-4506-9e18-3d4ae54b38fb.json create mode 100644 change/@fluentui-react-native-experimental-activity-indicator-0017597c-ab5b-480f-bb1f-36c5a54750f1.json create mode 100644 change/@fluentui-react-native-experimental-appearance-additions-adbf1ac8-3071-4621-a99d-56f462f02407.json create mode 100644 change/@fluentui-react-native-experimental-avatar-c68c31af-abc7-49f5-aaab-4edafae8f041.json create mode 100644 change/@fluentui-react-native-experimental-checkbox-933e00cc-19db-4608-b0fa-8cfa6b42c3f8.json create mode 100644 change/@fluentui-react-native-experimental-expander-a61ea4e1-edd9-47c6-ae3c-7050b12826a7.json create mode 100644 change/@fluentui-react-native-experimental-menu-button-40f4579f-74e5-4830-a707-c0d0e89e8d92.json create mode 100644 change/@fluentui-react-native-experimental-shadow-2335230d-e03e-4232-9de1-64eac64b6a93.json create mode 100644 change/@fluentui-react-native-experimental-shimmer-76154866-f87d-405c-9fa5-f0e3c891263e.json create mode 100644 change/@fluentui-react-native-focus-trap-zone-a09f211f-3f8e-4c15-8ec6-1604716044a4.json create mode 100644 change/@fluentui-react-native-focus-zone-3421219c-f3c1-4c0d-914a-7cf95e8d557d.json create mode 100644 change/@fluentui-react-native-framework-766daf63-fe18-42dd-ae63-26d329d7a36a.json create mode 100644 change/@fluentui-react-native-framework-base-478fb9c5-a6db-442b-8677-e06d462087b6.json create mode 100644 change/@fluentui-react-native-icon-00b4c2a6-37d7-4306-b867-203e88a9fd85.json create mode 100644 change/@fluentui-react-native-input-56f70a45-0a16-4de9-8e81-bb3285750818.json create mode 100644 change/@fluentui-react-native-interactive-hooks-1d7d8d8e-690d-4536-801d-f6fbffba5a95.json create mode 100644 change/@fluentui-react-native-link-e1c9c169-73e7-4809-bb6f-9f1ada9ce58e.json create mode 100644 change/@fluentui-react-native-menu-button-438d6f0a-279b-45ef-903b-f98e8c42a858.json create mode 100644 change/@fluentui-react-native-menu-c1bed1d4-d936-4ba9-9b7d-61f6a54cc70a.json create mode 100644 change/@fluentui-react-native-notification-e67aa402-3afe-449f-b140-d42c3e1c7b66.json create mode 100644 change/@fluentui-react-native-overflow-13485534-62f4-482f-a5bf-6be3c2074593.json create mode 100644 change/@fluentui-react-native-persona-4bea6f18-e29a-4759-a5f6-29f9ab0eed50.json create mode 100644 change/@fluentui-react-native-persona-coin-763e3e10-c0a6-4676-bda9-26d501ea59f9.json create mode 100644 change/@fluentui-react-native-popover-5635a65f-c4a4-400b-800b-5ef19280d368.json create mode 100644 change/@fluentui-react-native-pressable-0f274370-43a0-4cc9-8383-86dde99be9b6.json create mode 100644 change/@fluentui-react-native-radio-group-7e3bd67f-f7f5-4d0b-ae69-bc1196a29d94.json create mode 100644 change/@fluentui-react-native-separator-a54a9c99-a857-4cc0-9ba7-f8f53a5cee71.json create mode 100644 change/@fluentui-react-native-spinner-873f2993-e123-436c-a402-3e682644f8fb.json create mode 100644 change/@fluentui-react-native-stack-9e7c4d67-554c-47e2-8ab8-75eec339719e.json create mode 100644 change/@fluentui-react-native-switch-3bbf9262-1730-4e5e-b6c3-83087c702b53.json create mode 100644 change/@fluentui-react-native-tablist-db2bf0ff-4fbf-457d-bc21-fdd7a3c645d3.json create mode 100644 change/@fluentui-react-native-tester-8cecc612-844c-4a4b-b81b-87e63cdd8c75.json create mode 100644 change/@fluentui-react-native-text-a75c1039-09b0-46aa-8f40-f753b49dca71.json create mode 100644 change/@fluentui-react-native-tooltip-feabf003-af85-4d39-8a90-78faf9bd9e96.json create mode 100644 change/@fluentui-react-native-use-slot-df572b7f-6ba0-4358-8ae5-0c6b9f3f0c64.json create mode 100644 change/@fluentui-react-native-use-slots-14e2f1a7-2010-4efb-9430-0e4ac7fd8b04.json create mode 100644 change/@fluentui-react-native-vibrancy-view-f08ee803-af7c-46e2-8c28-f1fee52dd3ba.json create mode 100644 change/@uifabricshared-foundation-composable-da289f0b-2985-4fd8-a42e-b6d1b28c7ca3.json diff --git a/change/@fluentui-react-native-4bfc2ee8-9c20-42fa-8041-8a994caa8bcf.json b/change/@fluentui-react-native-4bfc2ee8-9c20-42fa-8041-8a994caa8bcf.json new file mode 100644 index 0000000000..dd62ddb9d6 --- /dev/null +++ b/change/@fluentui-react-native-4bfc2ee8-9c20-42fa-8041-8a994caa8bcf.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui/react-native", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-avatar-09960bc9-e5a6-4dc7-aedf-eeac3688bd98.json b/change/@fluentui-react-native-avatar-09960bc9-e5a6-4dc7-aedf-eeac3688bd98.json new file mode 100644 index 0000000000..883dca423c --- /dev/null +++ b/change/@fluentui-react-native-avatar-09960bc9-e5a6-4dc7-aedf-eeac3688bd98.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/avatar", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-badge-a1d57d94-fb18-4046-8ee7-b6774698dba0.json b/change/@fluentui-react-native-badge-a1d57d94-fb18-4046-8ee7-b6774698dba0.json new file mode 100644 index 0000000000..d538c6319f --- /dev/null +++ b/change/@fluentui-react-native-badge-a1d57d94-fb18-4046-8ee7-b6774698dba0.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/badge", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-button-9248e4fe-6988-4eaa-8360-e24c43b890ed.json b/change/@fluentui-react-native-button-9248e4fe-6988-4eaa-8360-e24c43b890ed.json new file mode 100644 index 0000000000..0df8c447c9 --- /dev/null +++ b/change/@fluentui-react-native-button-9248e4fe-6988-4eaa-8360-e24c43b890ed.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-callout-30c3ca67-e8ba-4daa-9d57-cbc3ec99f941.json b/change/@fluentui-react-native-callout-30c3ca67-e8ba-4daa-9d57-cbc3ec99f941.json new file mode 100644 index 0000000000..18d0a76657 --- /dev/null +++ b/change/@fluentui-react-native-callout-30c3ca67-e8ba-4daa-9d57-cbc3ec99f941.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/callout", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-checkbox-6dfdfd35-c380-4527-9045-2606eb25f2d8.json b/change/@fluentui-react-native-checkbox-6dfdfd35-c380-4527-9045-2606eb25f2d8.json new file mode 100644 index 0000000000..40d478baa2 --- /dev/null +++ b/change/@fluentui-react-native-checkbox-6dfdfd35-c380-4527-9045-2606eb25f2d8.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/checkbox", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-chip-24f22b86-b15f-40df-988d-ca739b526a00.json b/change/@fluentui-react-native-chip-24f22b86-b15f-40df-988d-ca739b526a00.json new file mode 100644 index 0000000000..78d0b90201 --- /dev/null +++ b/change/@fluentui-react-native-chip-24f22b86-b15f-40df-988d-ca739b526a00.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/chip", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-composition-9e2757eb-0355-41d2-a214-aa65b6ff7b0d.json b/change/@fluentui-react-native-composition-9e2757eb-0355-41d2-a214-aa65b6ff7b0d.json new file mode 100644 index 0000000000..85deb03566 --- /dev/null +++ b/change/@fluentui-react-native-composition-9e2757eb-0355-41d2-a214-aa65b6ff7b0d.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/composition", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-contextual-menu-5a7d5755-2454-45e0-9e48-a935ea22aa40.json b/change/@fluentui-react-native-contextual-menu-5a7d5755-2454-45e0-9e48-a935ea22aa40.json new file mode 100644 index 0000000000..1e86a15ee5 --- /dev/null +++ b/change/@fluentui-react-native-contextual-menu-5a7d5755-2454-45e0-9e48-a935ea22aa40.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/contextual-menu", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-divider-4e39f1a6-fe0a-4db3-9614-183dad71abfc.json b/change/@fluentui-react-native-divider-4e39f1a6-fe0a-4db3-9614-183dad71abfc.json new file mode 100644 index 0000000000..dd17aea036 --- /dev/null +++ b/change/@fluentui-react-native-divider-4e39f1a6-fe0a-4db3-9614-183dad71abfc.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/divider", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-drawer-2a44ed1d-7418-4323-b266-355ad13ff939.json b/change/@fluentui-react-native-drawer-2a44ed1d-7418-4323-b266-355ad13ff939.json new file mode 100644 index 0000000000..7deff5d08b --- /dev/null +++ b/change/@fluentui-react-native-drawer-2a44ed1d-7418-4323-b266-355ad13ff939.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/drawer", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-dropdown-7f119070-8bde-4506-9e18-3d4ae54b38fb.json b/change/@fluentui-react-native-dropdown-7f119070-8bde-4506-9e18-3d4ae54b38fb.json new file mode 100644 index 0000000000..e5df54915e --- /dev/null +++ b/change/@fluentui-react-native-dropdown-7f119070-8bde-4506-9e18-3d4ae54b38fb.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/dropdown", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-activity-indicator-0017597c-ab5b-480f-bb1f-36c5a54750f1.json b/change/@fluentui-react-native-experimental-activity-indicator-0017597c-ab5b-480f-bb1f-36c5a54750f1.json new file mode 100644 index 0000000000..1a8ec2efed --- /dev/null +++ b/change/@fluentui-react-native-experimental-activity-indicator-0017597c-ab5b-480f-bb1f-36c5a54750f1.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-activity-indicator", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-appearance-additions-adbf1ac8-3071-4621-a99d-56f462f02407.json b/change/@fluentui-react-native-experimental-appearance-additions-adbf1ac8-3071-4621-a99d-56f462f02407.json new file mode 100644 index 0000000000..d469f23a82 --- /dev/null +++ b/change/@fluentui-react-native-experimental-appearance-additions-adbf1ac8-3071-4621-a99d-56f462f02407.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-appearance-additions", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-avatar-c68c31af-abc7-49f5-aaab-4edafae8f041.json b/change/@fluentui-react-native-experimental-avatar-c68c31af-abc7-49f5-aaab-4edafae8f041.json new file mode 100644 index 0000000000..5c6a1ed9c7 --- /dev/null +++ b/change/@fluentui-react-native-experimental-avatar-c68c31af-abc7-49f5-aaab-4edafae8f041.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-avatar", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-checkbox-933e00cc-19db-4608-b0fa-8cfa6b42c3f8.json b/change/@fluentui-react-native-experimental-checkbox-933e00cc-19db-4608-b0fa-8cfa6b42c3f8.json new file mode 100644 index 0000000000..e1c421e226 --- /dev/null +++ b/change/@fluentui-react-native-experimental-checkbox-933e00cc-19db-4608-b0fa-8cfa6b42c3f8.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-checkbox", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-expander-a61ea4e1-edd9-47c6-ae3c-7050b12826a7.json b/change/@fluentui-react-native-experimental-expander-a61ea4e1-edd9-47c6-ae3c-7050b12826a7.json new file mode 100644 index 0000000000..247b305bf9 --- /dev/null +++ b/change/@fluentui-react-native-experimental-expander-a61ea4e1-edd9-47c6-ae3c-7050b12826a7.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-expander", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-menu-button-40f4579f-74e5-4830-a707-c0d0e89e8d92.json b/change/@fluentui-react-native-experimental-menu-button-40f4579f-74e5-4830-a707-c0d0e89e8d92.json new file mode 100644 index 0000000000..bf47e35932 --- /dev/null +++ b/change/@fluentui-react-native-experimental-menu-button-40f4579f-74e5-4830-a707-c0d0e89e8d92.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-shadow-2335230d-e03e-4232-9de1-64eac64b6a93.json b/change/@fluentui-react-native-experimental-shadow-2335230d-e03e-4232-9de1-64eac64b6a93.json new file mode 100644 index 0000000000..e96b7ffad9 --- /dev/null +++ b/change/@fluentui-react-native-experimental-shadow-2335230d-e03e-4232-9de1-64eac64b6a93.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-shadow", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-experimental-shimmer-76154866-f87d-405c-9fa5-f0e3c891263e.json b/change/@fluentui-react-native-experimental-shimmer-76154866-f87d-405c-9fa5-f0e3c891263e.json new file mode 100644 index 0000000000..c1caf3fe5d --- /dev/null +++ b/change/@fluentui-react-native-experimental-shimmer-76154866-f87d-405c-9fa5-f0e3c891263e.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/experimental-shimmer", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-focus-trap-zone-a09f211f-3f8e-4c15-8ec6-1604716044a4.json b/change/@fluentui-react-native-focus-trap-zone-a09f211f-3f8e-4c15-8ec6-1604716044a4.json new file mode 100644 index 0000000000..c6f0e5d080 --- /dev/null +++ b/change/@fluentui-react-native-focus-trap-zone-a09f211f-3f8e-4c15-8ec6-1604716044a4.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/focus-trap-zone", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-focus-zone-3421219c-f3c1-4c0d-914a-7cf95e8d557d.json b/change/@fluentui-react-native-focus-zone-3421219c-f3c1-4c0d-914a-7cf95e8d557d.json new file mode 100644 index 0000000000..3ffc877763 --- /dev/null +++ b/change/@fluentui-react-native-focus-zone-3421219c-f3c1-4c0d-914a-7cf95e8d557d.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/focus-zone", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-framework-766daf63-fe18-42dd-ae63-26d329d7a36a.json b/change/@fluentui-react-native-framework-766daf63-fe18-42dd-ae63-26d329d7a36a.json new file mode 100644 index 0000000000..9c9fb708e7 --- /dev/null +++ b/change/@fluentui-react-native-framework-766daf63-fe18-42dd-ae63-26d329d7a36a.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/framework", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-framework-base-478fb9c5-a6db-442b-8677-e06d462087b6.json b/change/@fluentui-react-native-framework-base-478fb9c5-a6db-442b-8677-e06d462087b6.json new file mode 100644 index 0000000000..7e3a784663 --- /dev/null +++ b/change/@fluentui-react-native-framework-base-478fb9c5-a6db-442b-8677-e06d462087b6.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/framework-base", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-icon-00b4c2a6-37d7-4306-b867-203e88a9fd85.json b/change/@fluentui-react-native-icon-00b4c2a6-37d7-4306-b867-203e88a9fd85.json new file mode 100644 index 0000000000..29c75593a3 --- /dev/null +++ b/change/@fluentui-react-native-icon-00b4c2a6-37d7-4306-b867-203e88a9fd85.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/icon", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-input-56f70a45-0a16-4de9-8e81-bb3285750818.json b/change/@fluentui-react-native-input-56f70a45-0a16-4de9-8e81-bb3285750818.json new file mode 100644 index 0000000000..7f4760d87b --- /dev/null +++ b/change/@fluentui-react-native-input-56f70a45-0a16-4de9-8e81-bb3285750818.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/input", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-interactive-hooks-1d7d8d8e-690d-4536-801d-f6fbffba5a95.json b/change/@fluentui-react-native-interactive-hooks-1d7d8d8e-690d-4536-801d-f6fbffba5a95.json new file mode 100644 index 0000000000..425879134f --- /dev/null +++ b/change/@fluentui-react-native-interactive-hooks-1d7d8d8e-690d-4536-801d-f6fbffba5a95.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/interactive-hooks", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-link-e1c9c169-73e7-4809-bb6f-9f1ada9ce58e.json b/change/@fluentui-react-native-link-e1c9c169-73e7-4809-bb6f-9f1ada9ce58e.json new file mode 100644 index 0000000000..bc28726d7b --- /dev/null +++ b/change/@fluentui-react-native-link-e1c9c169-73e7-4809-bb6f-9f1ada9ce58e.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/link", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-menu-button-438d6f0a-279b-45ef-903b-f98e8c42a858.json b/change/@fluentui-react-native-menu-button-438d6f0a-279b-45ef-903b-f98e8c42a858.json new file mode 100644 index 0000000000..b393a2250a --- /dev/null +++ b/change/@fluentui-react-native-menu-button-438d6f0a-279b-45ef-903b-f98e8c42a858.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-menu-c1bed1d4-d936-4ba9-9b7d-61f6a54cc70a.json b/change/@fluentui-react-native-menu-c1bed1d4-d936-4ba9-9b7d-61f6a54cc70a.json new file mode 100644 index 0000000000..abd3393d20 --- /dev/null +++ b/change/@fluentui-react-native-menu-c1bed1d4-d936-4ba9-9b7d-61f6a54cc70a.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/menu", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-notification-e67aa402-3afe-449f-b140-d42c3e1c7b66.json b/change/@fluentui-react-native-notification-e67aa402-3afe-449f-b140-d42c3e1c7b66.json new file mode 100644 index 0000000000..fb6620d834 --- /dev/null +++ b/change/@fluentui-react-native-notification-e67aa402-3afe-449f-b140-d42c3e1c7b66.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/notification", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-overflow-13485534-62f4-482f-a5bf-6be3c2074593.json b/change/@fluentui-react-native-overflow-13485534-62f4-482f-a5bf-6be3c2074593.json new file mode 100644 index 0000000000..de9722aed2 --- /dev/null +++ b/change/@fluentui-react-native-overflow-13485534-62f4-482f-a5bf-6be3c2074593.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/overflow", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-4bea6f18-e29a-4759-a5f6-29f9ab0eed50.json b/change/@fluentui-react-native-persona-4bea6f18-e29a-4759-a5f6-29f9ab0eed50.json new file mode 100644 index 0000000000..58f229280b --- /dev/null +++ b/change/@fluentui-react-native-persona-4bea6f18-e29a-4759-a5f6-29f9ab0eed50.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/persona", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-coin-763e3e10-c0a6-4676-bda9-26d501ea59f9.json b/change/@fluentui-react-native-persona-coin-763e3e10-c0a6-4676-bda9-26d501ea59f9.json new file mode 100644 index 0000000000..372d450ef9 --- /dev/null +++ b/change/@fluentui-react-native-persona-coin-763e3e10-c0a6-4676-bda9-26d501ea59f9.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/persona-coin", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-popover-5635a65f-c4a4-400b-800b-5ef19280d368.json b/change/@fluentui-react-native-popover-5635a65f-c4a4-400b-800b-5ef19280d368.json new file mode 100644 index 0000000000..7c57e0afa7 --- /dev/null +++ b/change/@fluentui-react-native-popover-5635a65f-c4a4-400b-800b-5ef19280d368.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/popover", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-pressable-0f274370-43a0-4cc9-8383-86dde99be9b6.json b/change/@fluentui-react-native-pressable-0f274370-43a0-4cc9-8383-86dde99be9b6.json new file mode 100644 index 0000000000..a6344d7b1a --- /dev/null +++ b/change/@fluentui-react-native-pressable-0f274370-43a0-4cc9-8383-86dde99be9b6.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/pressable", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-radio-group-7e3bd67f-f7f5-4d0b-ae69-bc1196a29d94.json b/change/@fluentui-react-native-radio-group-7e3bd67f-f7f5-4d0b-ae69-bc1196a29d94.json new file mode 100644 index 0000000000..b37bf1b05d --- /dev/null +++ b/change/@fluentui-react-native-radio-group-7e3bd67f-f7f5-4d0b-ae69-bc1196a29d94.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/radio-group", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-separator-a54a9c99-a857-4cc0-9ba7-f8f53a5cee71.json b/change/@fluentui-react-native-separator-a54a9c99-a857-4cc0-9ba7-f8f53a5cee71.json new file mode 100644 index 0000000000..f0cdfc6243 --- /dev/null +++ b/change/@fluentui-react-native-separator-a54a9c99-a857-4cc0-9ba7-f8f53a5cee71.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/separator", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-spinner-873f2993-e123-436c-a402-3e682644f8fb.json b/change/@fluentui-react-native-spinner-873f2993-e123-436c-a402-3e682644f8fb.json new file mode 100644 index 0000000000..42a3e14fad --- /dev/null +++ b/change/@fluentui-react-native-spinner-873f2993-e123-436c-a402-3e682644f8fb.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/spinner", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-stack-9e7c4d67-554c-47e2-8ab8-75eec339719e.json b/change/@fluentui-react-native-stack-9e7c4d67-554c-47e2-8ab8-75eec339719e.json new file mode 100644 index 0000000000..f0a693aa89 --- /dev/null +++ b/change/@fluentui-react-native-stack-9e7c4d67-554c-47e2-8ab8-75eec339719e.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/stack", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-switch-3bbf9262-1730-4e5e-b6c3-83087c702b53.json b/change/@fluentui-react-native-switch-3bbf9262-1730-4e5e-b6c3-83087c702b53.json new file mode 100644 index 0000000000..d651034321 --- /dev/null +++ b/change/@fluentui-react-native-switch-3bbf9262-1730-4e5e-b6c3-83087c702b53.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/switch", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tablist-db2bf0ff-4fbf-457d-bc21-fdd7a3c645d3.json b/change/@fluentui-react-native-tablist-db2bf0ff-4fbf-457d-bc21-fdd7a3c645d3.json new file mode 100644 index 0000000000..211287a204 --- /dev/null +++ b/change/@fluentui-react-native-tablist-db2bf0ff-4fbf-457d-bc21-fdd7a3c645d3.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/tablist", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tester-8cecc612-844c-4a4b-b81b-87e63cdd8c75.json b/change/@fluentui-react-native-tester-8cecc612-844c-4a4b-b81b-87e63cdd8c75.json new file mode 100644 index 0000000000..903db275af --- /dev/null +++ b/change/@fluentui-react-native-tester-8cecc612-844c-4a4b-b81b-87e63cdd8c75.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/tester", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-text-a75c1039-09b0-46aa-8f40-f753b49dca71.json b/change/@fluentui-react-native-text-a75c1039-09b0-46aa-8f40-f753b49dca71.json new file mode 100644 index 0000000000..810aa04235 --- /dev/null +++ b/change/@fluentui-react-native-text-a75c1039-09b0-46aa-8f40-f753b49dca71.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/text", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tooltip-feabf003-af85-4d39-8a90-78faf9bd9e96.json b/change/@fluentui-react-native-tooltip-feabf003-af85-4d39-8a90-78faf9bd9e96.json new file mode 100644 index 0000000000..792ec78f0f --- /dev/null +++ b/change/@fluentui-react-native-tooltip-feabf003-af85-4d39-8a90-78faf9bd9e96.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/tooltip", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-slot-df572b7f-6ba0-4358-8ae5-0c6b9f3f0c64.json b/change/@fluentui-react-native-use-slot-df572b7f-6ba0-4358-8ae5-0c6b9f3f0c64.json new file mode 100644 index 0000000000..05c5d45bcf --- /dev/null +++ b/change/@fluentui-react-native-use-slot-df572b7f-6ba0-4358-8ae5-0c6b9f3f0c64.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/use-slot", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-slots-14e2f1a7-2010-4efb-9430-0e4ac7fd8b04.json b/change/@fluentui-react-native-use-slots-14e2f1a7-2010-4efb-9430-0e4ac7fd8b04.json new file mode 100644 index 0000000000..72037048e8 --- /dev/null +++ b/change/@fluentui-react-native-use-slots-14e2f1a7-2010-4efb-9430-0e4ac7fd8b04.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/use-slots", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-vibrancy-view-f08ee803-af7c-46e2-8c28-f1fee52dd3ba.json b/change/@fluentui-react-native-vibrancy-view-f08ee803-af7c-46e2-8c28-f1fee52dd3ba.json new file mode 100644 index 0000000000..b8843e4bae --- /dev/null +++ b/change/@fluentui-react-native-vibrancy-view-f08ee803-af7c-46e2-8c28-f1fee52dd3ba.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@fluentui-react-native/vibrancy-view", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-composable-da289f0b-2985-4fd8-a42e-b6d1b28c7ca3.json b/change/@uifabricshared-foundation-composable-da289f0b-2985-4fd8-a42e-b6d1b28c7ca3.json new file mode 100644 index 0000000000..7099310e55 --- /dev/null +++ b/change/@uifabricshared-foundation-composable-da289f0b-2985-4fd8-a42e-b6d1b28c7ca3.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "convert repo to modern jsx-runtime", + "packageName": "@uifabricshared/foundation-composable", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} From 5b33dab5115ff969837fbef6423bebb61f653029 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 11:31:44 -0700 Subject: [PATCH 29/33] fix bundling babel configurations --- apps/fluent-tester/babel.config.js | 4 +--- apps/fluent-tester/package.json | 1 + apps/win32/babel.config.js | 4 +--- apps/win32/package.json | 1 + yarn.lock | 2 ++ 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/fluent-tester/babel.config.js b/apps/fluent-tester/babel.config.js index 21ca3f7b3f..aa7d482ebf 100644 --- a/apps/fluent-tester/babel.config.js +++ b/apps/fluent-tester/babel.config.js @@ -1,3 +1 @@ -module.exports = { - presets: [['module:@react-native/babel-preset', { runtime: 'classic' }]], -}; +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/apps/fluent-tester/package.json b/apps/fluent-tester/package.json index 5225e29540..a965f2f3ea 100644 --- a/apps/fluent-tester/package.json +++ b/apps/fluent-tester/package.json @@ -105,6 +105,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@babel/runtime": "^7.20.0", + "@fluentui-react-native/babel-config": "workspace:*", "@fluentui-react-native/eslint-config-rules": "workspace:*", "@fluentui-react-native/experimental-native-font-metrics": "workspace:*", "@fluentui-react-native/focus-zone": "workspace:*", diff --git a/apps/win32/babel.config.js b/apps/win32/babel.config.js index f7b3da3b33..aa7d482ebf 100644 --- a/apps/win32/babel.config.js +++ b/apps/win32/babel.config.js @@ -1,3 +1 @@ -module.exports = { - presets: ['module:@react-native/babel-preset'], -}; +module.exports = require('@fluentui-react-native/babel-config'); diff --git a/apps/win32/package.json b/apps/win32/package.json index 9ec4fc841e..980a5dc807 100644 --- a/apps/win32/package.json +++ b/apps/win32/package.json @@ -41,6 +41,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:*", "@office-iss/react-native-win32": "^0.74.0", diff --git a/yarn.lock b/yarn.lock index 41d4b4f32f..0ef9864a7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4696,6 +4696,7 @@ __metadata: resolution: "@fluentui-react-native/tester-win32@workspace:apps/win32" 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:*" "@fluentui-react-native/tester": "workspace:*" @@ -4734,6 +4735,7 @@ __metadata: "@fluentui-react-native/android-theme": "workspace:*" "@fluentui-react-native/apple-theme": "workspace:*" "@fluentui-react-native/avatar": "workspace:*" + "@fluentui-react-native/babel-config": "workspace:*" "@fluentui-react-native/badge": "workspace:*" "@fluentui-react-native/button": "workspace:*" "@fluentui-react-native/callout": "workspace:*" From ec39e91890d86eb8103036b5fd47aee2f57b22c0 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 13:44:53 -0700 Subject: [PATCH 30/33] add direct jsx-runtime accessors to allow bundling without special handlers --- packages/framework-base/jsx-runtime.cjs | 2 ++ packages/framework-base/jsx-runtime.mjs | 1 + packages/framework-base/package.json | 6 +++--- .../src/{ => component-patterns}/jsx-runtime.ts | 2 +- .../src/component-patterns/stagedComponent.tsx | 2 +- packages/framework-base/src/index.ts | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 packages/framework-base/jsx-runtime.cjs create mode 100644 packages/framework-base/jsx-runtime.mjs rename packages/framework-base/src/{ => component-patterns}/jsx-runtime.ts (88%) diff --git a/packages/framework-base/jsx-runtime.cjs b/packages/framework-base/jsx-runtime.cjs new file mode 100644 index 0000000000..fa91a317c9 --- /dev/null +++ b/packages/framework-base/jsx-runtime.cjs @@ -0,0 +1,2 @@ +const { jsx, jsxs, Fragment } = require('./lib-commonjs/jsx-runtime'); +module.exports = { jsx, jsxs, Fragment }; diff --git a/packages/framework-base/jsx-runtime.mjs b/packages/framework-base/jsx-runtime.mjs new file mode 100644 index 0000000000..1b887509fb --- /dev/null +++ b/packages/framework-base/jsx-runtime.mjs @@ -0,0 +1 @@ +export { jsx, jsxs, Fragment } from './lib/jsx-runtime'; diff --git a/packages/framework-base/package.json b/packages/framework-base/package.json index f2dd6a116f..ead7728bae 100644 --- a/packages/framework-base/package.json +++ b/packages/framework-base/package.json @@ -18,9 +18,9 @@ "types": "./lib/index.d.ts" }, "./jsx-runtime": { - "import": "./lib/jsx-runtime.js", - "require": "./lib-commonjs/jsx-runtime.js", - "types": "./lib/jsx-runtime.d.ts" + "import": "./lib/component-patterns/jsx-runtime.js", + "require": "./lib-commonjs/component-patterns/jsx-runtime.js", + "types": "./lib/component-patterns/jsx-runtime.d.ts" } }, "scripts": { diff --git a/packages/framework-base/src/jsx-runtime.ts b/packages/framework-base/src/component-patterns/jsx-runtime.ts similarity index 88% rename from packages/framework-base/src/jsx-runtime.ts rename to packages/framework-base/src/component-patterns/jsx-runtime.ts index 3b4181d505..48c28a8da3 100644 --- a/packages/framework-base/src/jsx-runtime.ts +++ b/packages/framework-base/src/component-patterns/jsx-runtime.ts @@ -1,6 +1,6 @@ import type React from 'react'; import * as ReactJSX from 'react/jsx-runtime'; -import { renderForJsxRuntime } from './component-patterns/render'; +import { renderForJsxRuntime } from './render'; export function jsx(type: React.ElementType, props: React.PropsWithChildren, key?: React.Key): React.ReactElement { return renderForJsxRuntime(type, props, key, ReactJSX.jsx); diff --git a/packages/framework-base/src/component-patterns/stagedComponent.tsx b/packages/framework-base/src/component-patterns/stagedComponent.tsx index 4f36f62670..d81d9154da 100644 --- a/packages/framework-base/src/component-patterns/stagedComponent.tsx +++ b/packages/framework-base/src/component-patterns/stagedComponent.tsx @@ -1,5 +1,5 @@ /** - * @jsxImportSource .. + * @jsxImportSource . */ import * as React from 'react'; diff --git a/packages/framework-base/src/index.ts b/packages/framework-base/src/index.ts index 27e7c06889..92e6245050 100644 --- a/packages/framework-base/src/index.ts +++ b/packages/framework-base/src/index.ts @@ -37,4 +37,4 @@ export type { } from './component-patterns/render.types'; export { withSlots } from './component-patterns/withSlots'; export { stagedComponent, twoStageComponent } from './component-patterns/stagedComponent'; -export { jsx, jsxs, Fragment } from './jsx-runtime'; +export { jsx, jsxs, Fragment } from './component-patterns/jsx-runtime'; From a86e725245b40b0e03d612250e63cccb454a998e Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Tue, 5 Aug 2025 15:08:39 -0700 Subject: [PATCH 31/33] move jsx-runtime.cjs to jsx-runtime.js to handle metro fallback --- packages/framework-base/jsx-runtime.cjs | 2 -- packages/framework-base/jsx-runtime.js | 2 ++ packages/framework-base/jsx-runtime.mjs | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 packages/framework-base/jsx-runtime.cjs create mode 100644 packages/framework-base/jsx-runtime.js delete mode 100644 packages/framework-base/jsx-runtime.mjs diff --git a/packages/framework-base/jsx-runtime.cjs b/packages/framework-base/jsx-runtime.cjs deleted file mode 100644 index fa91a317c9..0000000000 --- a/packages/framework-base/jsx-runtime.cjs +++ /dev/null @@ -1,2 +0,0 @@ -const { jsx, jsxs, Fragment } = require('./lib-commonjs/jsx-runtime'); -module.exports = { jsx, jsxs, Fragment }; diff --git a/packages/framework-base/jsx-runtime.js b/packages/framework-base/jsx-runtime.js new file mode 100644 index 0000000000..306ed84cf6 --- /dev/null +++ b/packages/framework-base/jsx-runtime.js @@ -0,0 +1,2 @@ +const { jsx, jsxs, Fragment } = require('./lib-commonjs/component-patterns/jsx-runtime'); +module.exports = { jsx, jsxs, Fragment }; diff --git a/packages/framework-base/jsx-runtime.mjs b/packages/framework-base/jsx-runtime.mjs deleted file mode 100644 index 1b887509fb..0000000000 --- a/packages/framework-base/jsx-runtime.mjs +++ /dev/null @@ -1 +0,0 @@ -export { jsx, jsxs, Fragment } from './lib/jsx-runtime'; From 932bb27096cc80e476cfdc60ca38958db43df140 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Thu, 7 Aug 2025 10:52:32 -0700 Subject: [PATCH 32/33] switch repo to use the jsx-runtime --- packages/configs/babel-config/babel.config.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/configs/babel-config/babel.config.js b/packages/configs/babel-config/babel.config.js index 6f267f69e0..c983ab96be 100644 --- a/packages/configs/babel-config/babel.config.js +++ b/packages/configs/babel-config/babel.config.js @@ -7,16 +7,7 @@ module.exports = { targets: { node: 'current' }, }, ], - ['@babel/preset-react', { runtime: 'automatic' }], ['@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')], - ], - }, - ], }; From 785f743556324abf2f46e91c14fc83c4fc8fa70a Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Thu, 7 Aug 2025 10:55:00 -0700 Subject: [PATCH 33/33] Change files --- ...-tester-win32-efc377e3-39a6-4173-a93d-7098e0019300.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@fluentui-react-native-tester-win32-efc377e3-39a6-4173-a93d-7098e0019300.json diff --git a/change/@fluentui-react-native-tester-win32-efc377e3-39a6-4173-a93d-7098e0019300.json b/change/@fluentui-react-native-tester-win32-efc377e3-39a6-4173-a93d-7098e0019300.json new file mode 100644 index 0000000000..a3d92d2b5d --- /dev/null +++ b/change/@fluentui-react-native-tester-win32-efc377e3-39a6-4173-a93d-7098e0019300.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "switch repo to use the jsx-runtime", + "packageName": "@fluentui-react-native/tester-win32", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +}