Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,24 @@ catalog:
"@babel/preset-react": ^7.20.0
"@babel/preset-typescript": ^7.20.0
"@babel/runtime": ^7.20.0
"@rnx-kit/align-deps": ^3.4.2
"@rnx-kit/align-deps": ^3.5.0
"@rnx-kit/babel-preset-metro-react-native": ^3.0.2
"@rnx-kit/cli": ^1.1.0
"@rnx-kit/config": ^0.7.5
"@rnx-kit/eslint-plugin": ^0.9.8
"@rnx-kit/jest-preset": ^0.3.1
"@rnx-kit/lint-lockfile": ^0.1.3
"@rnx-kit/cli": ^1.1.4
"@rnx-kit/config": ^0.8.0
"@rnx-kit/eslint-plugin": ^0.9.9
"@rnx-kit/jest-preset": ^0.3.2
"@rnx-kit/lint-json": ^0.2.0
"@rnx-kit/lint-lockfile": ^0.1.4
"@rnx-kit/lint-package": ^0.1.0
"@rnx-kit/metro-config": ^2.2.4
"@rnx-kit/metro-resolver-symlinks": ^0.2.11
"@rnx-kit/metro-serializer": "^2.0.3"
"@rnx-kit/metro-serializer-esbuild": "^0.3.1"
"@rnx-kit/metro-serializer-esbuild": "^0.3.2"
"@rnx-kit/oxlint-config": ^1.0.3
"@rnx-kit/reporter": ^0.1.0
"@rnx-kit/tools-packages": ^0.1.2
"@rnx-kit/tools-packages": ^0.1.3
"@rnx-kit/tools-react-native": ^2.3.7
"@rnx-kit/tools-workspaces": ^0.2.3
"@rnx-kit/tools-typescript": ^0.1.3
"@rnx-kit/tsconfig": ^3.0.3
"@rnx-kit/types-kit-config": "^1.0.0"
Expand All @@ -43,7 +48,7 @@ catalog:
appium-xcuitest-driver: ^10.14.5
cross-env: ^10.1.0
expect-webdriverio: ^5.6.1
knip: ^5.81.0
knip: ^6.12.1
lage: ^2.14.19
oxc-resolver: ^11.17.0
rimraf: ^6.1.2
Expand Down
6 changes: 2 additions & 4 deletions apps/E2E/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@
"e2etest:macos": "cross-env APPIUM_HOME=.appium wdio run wdio.conf.macos.js",
"e2etest:win32": "cross-env APPIUM_HOME=.appium wdio run wdio.conf.win32.js",
"e2etest:windows": "rimraf errorShots reports && cross-env APPIUM_HOME=.appium wdio run wdio.conf.windows.js",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package"
"lint": "fluentui-scripts lint"
},
"dependencies": {
"@office-iss/rex-win32": "0.73.11-devmain.16.0.17615.15030"
Expand All @@ -48,7 +47,6 @@
"@babel/core": "catalog:",
"@babel/runtime": "catalog:",
"@fluentui-react-native/focus-zone": "workspace:*",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@office-iss/react-native-win32": "^0.81.0",
"@react-native/metro-babel-transformer": "^0.81.0",
Expand Down Expand Up @@ -118,6 +116,6 @@
"react"
]
},
"extends": "@fluentui-react-native/kit-config"
"extends": "@fluentui-react-native/scripts/kit-config"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
},
"dependencies": {},
"devDependencies": {
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@fluentui-react-native/test-tools": "workspace:*",
"react": "18.2.0",
Expand All @@ -41,7 +40,7 @@
"jestPlatform": "ios"
},
"rnx-kit": {
"extends": "@fluentui-react-native/kit-config",
"extends": "@fluentui-react-native/scripts/kit-config",
"kitType": "library",
"alignDeps": {
"capabilities": [
Expand Down
6 changes: 2 additions & 4 deletions apps/fluent-tester/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"types": "./lib/index.d.ts",
"import": "./lib/index.js",
"require": "./lib-commonjs/index.js",
"default": "./src/index.ts"
"default": "./src/index.tsx"
}
},
"scripts": {
Expand All @@ -36,7 +36,6 @@
"format": "fluentui-scripts format",
"ios": "rnx-cli run --platform ios",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package",
"macos": "rnx-cli run --platform macos",
"start": "rnx-cli start",
"windows": "react-native run-windows --arch x64 --sln windows/FluentTester.sln"
Expand All @@ -62,7 +61,6 @@
"@fluentui-react-native/experimental-native-font-metrics": "workspace:*",
"@fluentui-react-native/experimental-shimmer": "workspace:*",
"@fluentui-react-native/focus-zone": "workspace:*",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/menu-button": "workspace:*",
"@fluentui-react-native/radio-group": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
Expand Down Expand Up @@ -178,6 +176,6 @@
"test-app"
]
},
"extends": "@fluentui-react-native/kit-config"
"extends": "@fluentui-react-native/scripts/kit-config"
}
}
6 changes: 2 additions & 4 deletions apps/tester-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@
"clean": "fluentui-scripts clean",
"depcheck": "fluentui-scripts depcheck",
"format": "fluentui-scripts format",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package"
"lint": "fluentui-scripts lint"
},
"dependencies": {
"@fluentui-react-native/adapters": "workspace:*",
Expand Down Expand Up @@ -94,7 +93,6 @@
"devDependencies": {
"@babel/core": "catalog:",
"@babel/runtime": "catalog:",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@office-iss/react-native-win32": "^0.81.0",
"@react-native-community/cli": "^20.0.0",
Expand Down Expand Up @@ -225,6 +223,6 @@
"svg"
]
},
"extends": "@fluentui-react-native/kit-config"
"extends": "@fluentui-react-native/scripts/kit-config"
}
}
10 changes: 4 additions & 6 deletions apps/win32-81/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
".": {
"import": "./index.js",
"require": "./index.js",
"default": "./index.ts"
"default": "./src/index.tsx"
}
},
"scripts": {
Expand All @@ -26,7 +26,6 @@
"depcheck": "fluentui-scripts depcheck",
"format": "fluentui-scripts format",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package",
"run-win32": "rex-win32 --bundle index.win32 --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8",
"run-win32-dev": "rex-win32 --bundle index --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8 --useFastRefresh",
"run-win32-devmain": "rex-win32 --bundle index.win32 --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8 --useDevMain ",
Expand All @@ -44,7 +43,6 @@
"devDependencies": {
"@babel/core": "catalog:",
"@babel/runtime": "catalog:",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@office-iss/rex-win32": "0.81.0-preview.0",
"@react-native-community/cli": "^20.0.0",
Expand All @@ -59,15 +57,15 @@
"@rnx-kit/metro-resolver-symlinks": "catalog:",
"@rnx-kit/metro-serializer": "catalog:",
"@rnx-kit/metro-serializer-esbuild": "catalog:",
"@rnx-kit/tools-react-native": "^2.3.2",
"@rnx-kit/tools-react-native": "catalog:",
"@types/react-test-renderer": "^19.1.0",
"metro": "^0.83.1",
"metro-config": "0.83.1",
"metro-core": "^0.83.1",
"metro-runtime": "^0.83.1",
"oxc-resolver": "catalog:",
"react-native-svg-transformer": "^1.0.0",
"react-native-test-app": "^4.4.11",
"react-native-test-app": "^5.0.9",
"react-test-renderer": "19.1.4",
"rimraf": "catalog:"
},
Expand Down Expand Up @@ -132,6 +130,6 @@
"test-app"
]
},
"extends": "@fluentui-react-native/kit-config"
"extends": "@fluentui-react-native/scripts/kit-config"
}
}
6 changes: 2 additions & 4 deletions apps/win32/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
".": {
"import": "./index.js",
"require": "./index.js",
"default": "./index.ts"
"default": "./src/index.tsx"
}
},
"scripts": {
Expand All @@ -26,7 +26,6 @@
"depcheck": "fluentui-scripts depcheck",
"format": "fluentui-scripts format",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package",
"run-win32": "rex-win32 --bundle index.win32 --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8",
"run-win32-dev": "rex-win32 --bundle index --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8 --useFastRefresh",
"run-win32-devmain": "rex-win32 --bundle index.win32 --component FluentTester --basePath ./dist --useDirectDebugger --windowTitle \"FluentUI Tester\" --pluginProps --debugBundlePath index --jsEngine v8 --useDevMain ",
Expand All @@ -44,7 +43,6 @@
"devDependencies": {
"@babel/core": "catalog:",
"@babel/runtime": "catalog:",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@office-iss/rex-win32": "0.73.11-devmain.16.0.17615.15030",
"@react-native-community/cli": "^13.6.4",
Expand Down Expand Up @@ -124,6 +122,6 @@
"test-app"
]
},
"extends": "@fluentui-react-native/kit-config"
"extends": "@fluentui-react-native/scripts/kit-config"
}
}
54 changes: 54 additions & 0 deletions knip.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import type { KnipConfig } from 'knip';
import { repoContext } from './scripts/src/repoContext.ts';
import { PackageContext } from './scripts/src/pkgContext.ts';
import path from 'node:path';

const ignoredPaths = ['apps', 'scripts', 'packages/configs', 'packages/dependency-profiles'];

const config = async (): Promise<KnipConfig> => {
const repoCtx = repoContext();
// filter the workspace dirs to not include the ignored paths
const workspaceDirs = repoCtx.workspaces.filter(
(dir: string) => !ignoredPaths.some((ignored) => dir.startsWith(path.join(repoCtx.root, ignored))),
);
// now fill in the details for those
const workspaceDetails = Object.fromEntries(
workspaceDirs.map((dir: string) => {
const relativePath = path.posix.normalize(path.relative(process.cwd(), dir));
if (relativePath === '.') {
// skip the root dir
return [relativePath, {}];
}
const ctx = PackageContext.init(dir);
const extraEntries = ctx.manifest.furn?.knip?.extraEntries;
const knip = ctx.manifest.furn?.knip || {};
const baseEntry = knip.entry ?? ['src/**/*.{ts,tsx}'];
const entry = extraEntries ? [...baseEntry, ...extraEntries] : baseEntry;
const baseProject = knip.project ?? ['src/**/*'];
const project = knip.extraProject ? [...baseProject, ...knip.extraProject] : baseProject;

const ignoreDependencies: string[] = [];

return [
relativePath,
{
entry,
project,
ignoreDependencies,
},
];
}),
);

const base: KnipConfig = {
include: ['dependencies'],
exclude: ['optionalPeerDependencies', 'devDependencies', 'unlisted'],
ignore: ignoredPaths.map((path) => `${path}/**`),
metro: false,
workspaces: workspaceDetails,
};

return base;
};

export default config;
11 changes: 5 additions & 6 deletions lage.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ const config = {
inputs: ['*', 'src/**/*'],
outputs: [],
},
'lint-package': {
inputs: ['**/*', '!node_modules/**/*', '!dist/**/*', '!lib/**/*', '!lib-commonjs/**/*'],
outputs: [],
},
test: {
dependsOn: ['build-all'],
inputs: [],
Expand All @@ -54,10 +50,13 @@ const config = {
'lint-lockfile': {
cache: false,
},
'lint-repo': {
cache: false,
},

// ── Pipeline aliases ───────────────────────────────────────────────────
'repo-checks': ['lint-lockfile', 'format:check', 'check-publishing'],
buildci: ['build-all', 'test', 'lint', 'lint-package', 'repo-checks'],
'repo-checks': ['lint-repo', 'check-publishing'],
buildci: ['lint-repo', 'check-publishing', 'build-all', 'test', 'lint'],

// ── Worker tasks ───────────────────────────────────────────────────────
pack: {
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
"change:check": "node .github/scripts/change.mts --check",
"check-publishing": "node ./scripts/src/cli.ts check-publishing",
"lint-fix": "cross-env FURN_FIX_MODE=true lage lint",
"lint-package-fix": "cross-env FURN_FIX_MODE=true lage lint-package",
"preinstall": "node ./scripts/src/preinstall/use-yarn-please.ts",
"format": "oxfmt",
"format:check": "oxfmt --check",
"lint-lockfile": "lint-lockfile",
"lint-repo": "node ./scripts/src/tasks/lintRepo.ts",
"test-links": "markdown-link-check"
},
"devDependencies": {
Expand All @@ -43,8 +43,10 @@
"@changesets/cli": "^2.30.0",
"@rnx-kit/align-deps": "catalog:",
"@rnx-kit/lint-lockfile": "catalog:",
"@yarnpkg/types": "^4.0.1",
"babel-jest": "^29.7.0",
"cross-env": "catalog:",
"knip": "catalog:",
"lage": "catalog:",
"markdown-link-check": "^3.8.7",
"oxfmt": "^0.35.0",
Expand All @@ -63,6 +65,7 @@
},
"packageManager": "yarn@4.13.0",
"rnx-kit": {
"extends": "./scripts/configs/rnx-kit/rnx-kit.config.cts",
"kitType": "library"
}
}
11 changes: 7 additions & 4 deletions packages/codemods/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
"depcheck": "fluentui-scripts depcheck",
"format": "fluentui-scripts format",
"lint": "fluentui-scripts lint",
"lint-package": "fluentui-scripts lint-package",
"test": "fluentui-scripts jest"
},
"dependencies": {
Expand All @@ -42,7 +41,6 @@
"devDependencies": {
"@babel/core": "catalog:",
"@babel/preset-env": "catalog:",
"@fluentui-react-native/kit-config": "workspace:*",
"@fluentui-react-native/scripts": "workspace:*",
"@fluentui-react-native/test-tools": "workspace:*",
"@types/jscodeshift": "^0.11.11",
Expand All @@ -57,11 +55,16 @@
"src/transforms/__testfixtures__/*"
]
},
"jestPlatform": "react"
"jestPlatform": "react",
"knip": {
"extraEntries": [
"src/**/*.test.ts"
]
}
},
"rnx-kit": {
"kitType": "library",
"extends": "@fluentui-react-native/kit-config",
"extends": "@fluentui-react-native/scripts/kit-config",
"alignDeps": {
"capabilities": []
}
Expand Down
Loading
Loading