Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(test-repos): Add a test monorepo under /test-repos/yarn-pnpm #3507

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
553fe2f
add a test repository with some example packages ported from FURN
JasonVMo Jan 27, 2025
c70f6c3
continue with test repo configuration
JasonVMo Feb 1, 2025
13a3ac7
align versions with align deps in test-repo
JasonVMo Feb 1, 2025
8e1ecba
add lage config
JasonVMo Feb 1, 2025
f1f2872
fix text and button builds
JasonVMo Feb 2, 2025
71aee9d
add yarn external workspace plugin to project
JasonVMo Feb 3, 2025
79c9d1b
add initial yarn plugin files
JasonVMo Feb 3, 2025
5208288
update yarn lock file
JasonVMo Feb 3, 2025
5fe9282
merge changes from upstream
JasonVMo Feb 5, 2025
4fc49c9
Merge remote-tracking branch 'origin/yarn-plugin' into test-repo
JasonVMo Feb 5, 2025
d749e3b
trim yarn plugin code and fix button code for TS 5.x
JasonVMo Feb 5, 2025
744345a
more button build fixes
JasonVMo Feb 5, 2025
6da2889
change test repo linker mode
JasonVMo Feb 5, 2025
bb1089c
create a root test-repos to prepare for multiple test-repos in the fu…
JasonVMo Feb 5, 2025
e54f8aa
add test apps and shared test package to test repo
JasonVMo Feb 5, 2025
eee2c67
fix builds in test-repo
JasonVMo Feb 5, 2025
a66eff5
consume fake button in mobile test app
JasonVMo Feb 5, 2025
2b9d1f1
update test-app-desktop as well
JasonVMo Feb 5, 2025
0c36f17
add ability to run rnx-cli in scripts
JasonVMo Feb 5, 2025
3cc5b90
remove unnecessary bin entry
JasonVMo Feb 5, 2025
1765637
remove unnecessary files
JasonVMo Feb 5, 2025
8959ee3
Merge remote-tracking branch 'upstream/main' into test-repo
JasonVMo Feb 5, 2025
c02960a
Merge remote-tracking branch 'upstream/main' into test-repo
JasonVMo Feb 10, 2025
6296f2b
remove eslint-config package, instead referencing the main repo
JasonVMo Feb 10, 2025
0aecbc1
change casing on Button directory
JasonVMo Feb 10, 2025
05ee14a
fix linting and building in test repo
JasonVMo Feb 11, 2025
dc93f93
rename button to temp to change case
JasonVMo Feb 11, 2025
3fdcfa2
rename back to button to change case
JasonVMo Feb 11, 2025
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
20 changes: 20 additions & 0 deletions test-repos/yarn-pnpm/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.ccache/*
!.ccache/ccache.conf
.gradle/
.idea/
.xcode.env*
.yarn/*
!.yarn/patches/
!.yarn/plugins/
!.yarn/releases/
/packages/*/*.LICENSE.txt
/packages/*/*/rnx-build/
/packages/*/dist/
/packages/*/ios/DerivedData/
/packages/*/ios/build/
/packages/*/lib/
/packages/*/macos/DerivedData/
/packages/*/macos/build/
/packages/template/CHANGELOG.md
/scripts/bin/
/scripts/lib/
44 changes: 44 additions & 0 deletions test-repos/yarn-pnpm/.yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
compressionLevel: 0

enableGlobalCache: false

enableScripts: false

enableTelemetry: false

globalFolder: .yarn/berry

logFilters:
- code: YN0007
level: discard
- code: YN0008
level: discard
- code: YN0013
level: discard
- code: YN0069
level: error

nodeLinker: pnpm

npmRegistryServer: "https://registry.npmjs.org"

packageExtensions:
"@fluentui/utilities@*":
peerDependenciesMeta:
"@types/react":
optional: true
babel-plugin-transform-flow-enums@*:
peerDependencies:
"@babel/core": ^7.20.0
metro-config@*:
dependencies:
metro-transform-worker: ^0.81.0
react-native@*:
dependencies:
"@react-native-community/cli": ^15.0.0
"@react-native-community/cli-platform-android": ^15.0.0
"@react-native-community/cli-platform-ios": ^15.0.0

tsEnableAutoTypes: false

yarnPath: ../../.yarn/releases/yarn-4.6.0.cjs
8 changes: 8 additions & 0 deletions test-repos/yarn-pnpm/lage.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
npmClient: "yarn",
pipeline: {
lint: [],
build: ["^build", "lint"],
test: ["lint", "build"],
},
};
71 changes: 71 additions & 0 deletions test-repos/yarn-pnpm/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"private": true,
"name": "rnx-kit-test-repo",
"version": "0.0.0",
"license": "MIT",
"author": {
"name": "Microsoft Open Source",
"email": "[email protected]"
},
"main": "index.js",
"repository": {
"type": "git",
"url": "https://github.com/microsoft/rnx-kit"
},
"scripts": {
"build": "lage build",
"lint": "lage lint",
"test": "lage test"
},
"devDependencies": {
"@changesets/cli": "^2.22.0",
"@rnx-kit/align-deps": "^3.0.3",
"@types/jest": "^29.2.1",
"@types/node": "^20.0.0",
"eslint": "^9.0.0",
"knip": "^5.30.2",
"lage": "^2.12.10",
"metro": "^0.81.0",
"prettier": "^3.0.0",
"prettier-plugin-organize-imports": "^4.0.0",
"tsx": "^4.15.0",
"typescript": "^5.0.0"
},
"engines": {
"node": ">=16.17"
},
"packageManager": "[email protected]",
"resolutions": {
"@microsoft/eslint-plugin-sdl/eslint-plugin-react": "^7.35.2",
"@microsoft/eslint-plugin-sdl/eslint-plugin-security": "^1.4.0",
"@react-native-community/cli": "^15.0.0",
"@react-native-community/cli-platform-android": "^15.0.0",
"@react-native-community/cli-platform-apple": "^15.0.0",
"@react-native-community/cli-platform-ios": "^15.0.0",
"@react-native-community/cli-server-api": "^15.0.0",
"@react-native-community/cli-tools": "^15.0.0",
"@react-native-community/cli-types": "^15.0.0",
"@rnx-kit/react-native-host": "^0.5.3",
"@vue/compiler-sfc": "link:./incubator/ignore",
"react-native-macos/@react-native/assets-registry": "^0.76.0",
"react-native-macos/@react-native/codegen": "^0.76.0",
"react-native-macos/@react-native/community-cli-plugin": "^0.76.0",
"react-native-macos/@react-native/gradle-plugin": "^0.76.0",
"react-native-macos/@react-native/js-polyfills": "^0.76.0",
"react-native-macos/@react-native/normalize-colors": "^0.76.0",
"react-native-windows/@react-native/assets-registry": "^0.76.0",
"react-native-windows/@react-native/codegen": "^0.76.0",
"react-native-windows/@react-native/community-cli-plugin": "^0.76.0",
"react-native-windows/@react-native/gradle-plugin": "^0.76.0",
"react-native-windows/@react-native/js-polyfills": "^0.76.0",
"react-native-windows/@react-native/normalize-colors": "^0.76.0",
"react-native-windows/@react-native/virtualized-lists": "^0.76.0"
},
"workspaces": {
"packages": [
"packages/*",
"scripts"
]
},
"prettier": "../.github/prettierrc.json"
}
1 change: 1 addition & 0 deletions test-repos/yarn-pnpm/packages/Button/babel.config.js
JasonVMo marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('@fluentui-react-native/scripts/babel.config');
1 change: 1 addition & 0 deletions test-repos/yarn-pnpm/packages/Button/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require("@rnx-repo-yarn-pnpm/eslint-config");
2 changes: 2 additions & 0 deletions test-repos/yarn-pnpm/packages/Button/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
const { configureReactNativeJest } = require('@fluentui-react-native/scripts');
module.exports = configureReactNativeJest('ios');
3 changes: 3 additions & 0 deletions test-repos/yarn-pnpm/packages/Button/just.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
const { preset } = require('@fluentui-react-native/scripts');

preset();
99 changes: 99 additions & 0 deletions test-repos/yarn-pnpm/packages/Button/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"name": "@rnx-repo-yarn-pnpm/button",
"version": "0.39.2",
"private": true,
"description": "A copy of the fluentui-react-native button for testing",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
"exports": {
".": {
"types": "./lib/index.d.ts",
"import": "./lib/index.js"
},
"./package.json": "./package.json"
},
"scripts": {
"build": "rnx-test-scripts build",
"clean": "rnx-test-scripts clean",
"lint": "rnx-test-scripts eslint",
"test": "rnx-test-scripts jest"
},
"dependencies": {
"@fluentui-react-native/adapters": "0.13.0",
"@fluentui-react-native/experimental-activity-indicator": "0.10.1",
"@fluentui-react-native/experimental-shadow": "0.6.2",
"@fluentui-react-native/framework": "0.14.0",
"@fluentui-react-native/icon": "0.21.6",
"@fluentui-react-native/interactive-hooks": "0.27.2",
"@fluentui-react-native/pressable": "0.12.2",
"@fluentui-react-native/styling-utils": "0.7.0",
"@fluentui-react-native/theme-tokens": "0.27.0",
"@fluentui-react-native/theme-types": "0.39.0",
"@fluentui-react-native/theming-utils": "0.26.0",
"@fluentui-react-native/tokens": "0.23.0",
"@fluentui-react-native/use-styling": "0.13.0",
"@rnx-repo-yarn-pnpm/text": "workspace:*",
"@uifabricshared/foundation-composable": "0.13.0",
"@uifabricshared/foundation-compose": "1.15.0",
"@uifabricshared/foundation-settings": "0.15.0",
"tslib": "^2.3.1"
},
"devDependencies": {
"@react-native-community/cli": "^15.0.0",
"@react-native-community/cli-platform-android": "^15.0.0",
"@react-native-community/cli-platform-ios": "^15.0.0",
"@react-native/babel-preset": "^0.76.0",
"@react-native/metro-config": "^0.76.0",
"@rnx-repo-yarn-pnpm/eslint-config": "workspace:*",
"@rnx-repo-yarn-pnpm/scripts": "workspace:*",
"@types/node": "^20.0.0",
"@types/react": "^18.0.0",
"eslint": "^9.0.0",
"prettier": "^3.0.0",
"react": "18.3.1",
"react-native": "^0.76.0",
"react-native-macos": "^0.76.0",
"react-native-svg": "^15.8.0",
"react-native-windows": "^0.76.0",
"typescript": "^5.0.0"
},
"peerDependencies": {
"react": "18.3.1",
"react-native": "^0.76.0",
"react-native-macos": "^0.76.0",
"react-native-svg": "^15.8.0",
"react-native-windows": "^0.76.0"
},
"author": "",
"license": "MIT",
"sideEffects": false,
"rnx-kit": {
"kitType": "library",
"alignDeps": {
"presets": [
"microsoft/react-native"
],
"requirements": [
"[email protected]"
],
"capabilities": [
"babel-preset-react-native",
"core",
"core-android",
"core-ios",
"core-macos",
"core-windows",
"react",
"svg"
]
}
},
"peerDependenciesMeta": {
"react-native-macos": {
"optional": true
},
"react-native-windows": {
"optional": true
}
}
}
Loading