Skip to content

Commit f9e69c7

Browse files
committed
Merge branch 'main' into snyk-fix-d4b5669ca76951e1fd2fab3e4130c806
2 parents ad2f5b3 + 0d6b58c commit f9e69c7

2,683 files changed

Lines changed: 230268 additions & 69729 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ FB_APP_ID=YOUR_APP_ID
3838
FB_PROJECT_ID=YOUR_PROJECT_ID
3939

4040
GITHUB_TOKEN=YOUR_TOKEN
41+
OPENAI_API_KEY=YOUR_TOKEN

.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ web/gtm.js
1414
src/libs/SearchParser/searchParser.js
1515
src/libs/SearchParser/autocompleteParser.js
1616
help/_scripts/**
17+
modules/ExpensifyNitroUtils/nitrogen/**
1718
Mobile-Expensify/**
1819
vendor
20+
modules/group-ib-fp/**

.eslintrc.changed.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ module.exports = {
88
'deprecation/deprecation': 'error',
99
'rulesdir/no-default-id-values': 'error',
1010
'rulesdir/provide-canBeMissing-in-useOnyx': 'error',
11+
'rulesdir/no-unstable-hook-defaults': 'error',
1112
'no-restricted-syntax': [
1213
'error',
1314
{

.eslintrc.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const restrictedImportPaths = [
1414
'Text',
1515
'ScrollView',
1616
'Animated',
17+
'findNodeHandle',
1718
],
1819
message: [
1920
'',
@@ -87,10 +88,28 @@ const restrictedImportPaths = [
8788
importNames: ['memoize'],
8889
message: "Please use '@src/libs/memoize' instead.",
8990
},
91+
{
92+
name: 'lodash/isEqual',
93+
message: "Please use 'deepEqual' from 'fast-equals' instead.",
94+
},
95+
{
96+
name: 'lodash',
97+
importNames: ['isEqual'],
98+
message: "Please use 'deepEqual' from 'fast-equals' instead.",
99+
},
90100
{
91101
name: 'react-native-animatable',
92102
message: "Please use 'react-native-reanimated' instead.",
93103
},
104+
{
105+
name: 'react-native-onyx',
106+
importNames: ['useOnyx'],
107+
message: "Please use '@hooks/useOnyx' instead.",
108+
},
109+
{
110+
name: '@src/utils/findNodeHandle',
111+
message: "Do not use 'findNodeHandle' as it is no longer supported on web.",
112+
},
94113
];
95114

96115
const restrictedImportPatterns = [
@@ -205,6 +224,7 @@ module.exports = {
205224
'es/no-optional-chaining': 'off',
206225
'deprecation/deprecation': 'off',
207226
'arrow-body-style': 'off',
227+
'no-continue': 'off',
208228

209229
// Import specific rules
210230
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
@@ -216,11 +236,13 @@ module.exports = {
216236
'rulesdir/no-multiple-onyx-in-file': 'off',
217237
'rulesdir/prefer-underscore-method': 'off',
218238
'rulesdir/prefer-import-module-contents': 'off',
239+
'rulesdir/no-beta-handler': 'error',
219240

220241
// React and React Native specific rules
221242
'react-native-a11y/has-accessibility-hint': ['off'],
222243
'react/require-default-props': 'off',
223244
'react/prop-types': 'off',
245+
'react/jsx-key': 'error',
224246
'react/jsx-no-constructed-context-values': 'error',
225247
'react-native-a11y/has-valid-accessibility-descriptors': [
226248
'error',
@@ -262,6 +284,14 @@ module.exports = {
262284
property: 'isHybridApp',
263285
message: 'Use CONFIG.IS_HYBRID_APP instead.',
264286
},
287+
// Prevent direct use of HybridAppModule.closeReactNativeApp().
288+
// Instead, use the `closeReactNativeApp` action from `@userActions/HybridApp`,
289+
// which correctly updates `hybridApp.closingReactNativeApp` when closing NewDot
290+
{
291+
object: 'HybridAppModule',
292+
property: 'closeReactNativeApp',
293+
message: 'Use `closeReactNativeApp` from `@userActions/HybridApp` instead.',
294+
},
265295
],
266296
'no-restricted-imports': [
267297
'error',
@@ -292,6 +322,7 @@ module.exports = {
292322
'@libs': './src/libs',
293323
'@navigation': './src/libs/Navigation',
294324
'@pages': './src/pages',
325+
'@prompts': './prompts',
295326
'@styles': './src/styles',
296327
// This path is provide alias for files like `ONYXKEYS` and `CONST`.
297328
'@src': './src',

.github/.eslintrc.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ module.exports = {
77
'no-await-in-loop': 'off',
88
'no-restricted-syntax': ['error', 'ForInStatement', 'LabeledStatement', 'WithStatement'],
99
'no-continue': 'off',
10-
'no-restricted-imports': 'off',
10+
'no-restricted-imports': [
11+
'error',
12+
{
13+
patterns: [
14+
{
15+
group: ['@src/**'],
16+
message: 'Do not import files from src/ directory as they can break the GH Actions build script.',
17+
},
18+
],
19+
},
20+
],
1121
},
1222
};
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
name: Patch Tracking
3+
about: Template for tracking patches applied to third-party libraries
4+
---
5+
6+
If you haven't already, check out our [contributing guidelines](https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md) and [patch guidelines](https://github.com/Expensify/App/blob/main/contributingGuides/PATCHES.md) for information on how to manage patches.
7+
___
8+
9+
## Patch Information
10+
11+
**Library Name:** <!-- e.g., react-native-pdf -->
12+
**Library Version:** <!-- e.g., 6.7.3 -->
13+
**Patch Number:** <!-- e.g., 001 -->
14+
**Patch Description:** <!-- e.g., update-podspec-to-support-new-arch -->
15+
**Full Patch Filename:** <!-- e.g., react-native-pdf+6.7.3+001+update-podspec-to-support-new-arch.patch -->
16+
17+
## Patch Details
18+
19+
### Reason for Patch
20+
<!-- Explain why this patch is necessary. What issue does it solve? -->
21+
22+
### Changes Made
23+
<!-- Briefly describe the changes made in the patch -->
24+
25+
### Upstream Status
26+
**Upstream PR/Issue:** <!-- Link to the PR or issue in the upstream repository, if one exists -->
27+
28+
## Related Information
29+
30+
**PR Introducing Patch:** <!-- Link to the PR that introduced this patch -->
31+
32+
## Additional Notes
33+
<!-- Any other relevant information about this patch -->
34+
35+
## Checklist
36+
- [ ] Patch file is correctly named and placed in the appropriate directory
37+
- [ ] Patch is documented in the corresponding `details.md` file
38+
- [ ] This issue is linked in the `details.md` file
39+
- [ ] Upstream PR/issue has been created (if applicable)

0 commit comments

Comments
 (0)