-
Notifications
You must be signed in to change notification settings - Fork 1
Electron #17
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
base: master
Are you sure you want to change the base?
Electron #17
Conversation
Bug: Type Definitions Path MismatchThe "exports" field specifies "types" pointing to "./lib/typescript/src/index.d.ts", but the "types" field at the root level (line 6) points to "./lib/typescript/src/index.d.ts". However, the react-native-builder-bob configuration (lines 101-118) only generates TypeScript declarations without a nested "src" subdirectory in the output. The typescript target will output to "lib/typescript/" directly, not "lib/typescript/src/". This mismatch will cause TypeScript to fail to find type definitions. |
Bug: Node.js Version Mismatch in .nvmrcInvalid Node.js version specified. The version "v22.20.0" does not exist. Node.js v22.x latest stable version is v22.11.0 as of October 2025. This will cause errors when tools attempt to use this .nvmrc file to install or switch to the specified Node version. The version should be corrected to a valid Node.js release (e.g., v22.11.0 or the intended version). |
Bug: Missing Package Metadata Causes Import FailuresThe |
Bug: Inconsistent Timestamp Handling in
|
Bug: TypeScript Type Mismatch in stat() FunctionThe stat() function returns a StatResult with ctime and mtime as number types (line 45-46 in type definition), but the implementation converts them to Date objects (lines 318-319). This type mismatch means the actual returned values don't match the declared TypeScript types, which will cause runtime type errors when consumers expect numbers but receive Date objects. |
Bug: Error Handling Fails to Propagate; Subscriptions LeakIn the downloadFile error handler, the code catches an error and then returns Promise.reject(e), but this is inside a .catch() handler which means the rejection isn't actually doing anything useful - it should either re-throw or just let the error propagate. Additionally, subscriptions are not removed when an error occurs, potentially causing memory leaks. |
Bug: JSX Runtime Mismatch Causes React ErrorsThe tsconfig.json sets "jsx": "react-jsx" which uses the automatic JSX runtime (React 17+), but this appears to be for a React Native project that may be using an older version of React. The PR title "Electron" and the deleted files suggest this might be a migration or cleanup, but the JSX transform setting could cause runtime errors if the project doesn't support the automatic JSX runtime. This would require importing React explicitly in files with JSX, otherwise components will fail at runtime with "React is not defined" errors. |
Bug: Null Handling Error in File UploadThe uploadFiles promise handler casts 'res' to UploadResult using 'as UploadResult', but the actual type is 'UploadResult | null'. If res is null, this will incorrectly return null as an UploadResult, potentially causing runtime errors when the caller tries to access properties on the result. |
Bug: Missing Build Output Causes Package BreakageThe package.json changes the main entry point from "FS.common.js" to "./lib/module/index.js" and types from "index.d.ts" to "./lib/typescript/src/index.d.ts". However, the diff shows that FS.common.js is being deleted (lines 1-612 in FS.common.js are removed). This means the new entry points must exist for the package to work, but there's no evidence in the diff that "./lib/module/index.js" or the corresponding TypeScript files are being created. The build script on line 41 mentions "bob build" which should generate the lib folder, but this creates a broken state where the package cannot be used until the build runs successfully. This is particularly problematic because the "files" array (lines 15-33) includes "lib" but this directory won't exist in the repository. |
I had some problems with it because it wasn't an es6 module.
| 8BB364CC1CDA130000435A01 /* Uploader.m in Sources */, | ||
| F1EB08BB1AFD0E6A008F8F2B /* NSArray+Map.m in Sources */, | ||
| 8BF740771C033A2E0057A1E7 /* Downloader.m in Sources */, | ||
| 607C55EE2EAFAC3A001F6271 /* Downloader.m in Sources */, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| !.yarn/plugins | ||
| !.yarn/releases | ||
| !.yarn/sdks | ||
| !.yarn/versions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Duplicate Yarn ignore patterns with inconsistent negations
The .yarn/* pattern with its negations appears twice in the file. The first occurrence (lines 65-70) doesn't include !.yarn/cache, while the second (lines 88-94) does. This duplication creates conflicting rules where .yarn/cache handling is ambiguous, potentially causing unintended files to be tracked or ignored.
Additional Locations (1)
| # BUCK | ||
| buck-out/ | ||
| \.buckd/ | ||
| android/app/libs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Incorrect backslash escape in buckd ignore pattern
The pattern \.buckd/ uses a backslash to escape the dot, but dots aren't special characters in gitignore syntax. This causes Git to match a directory literally named \.buckd/ (including the backslash character) rather than the intended .buckd/ directory, preventing the Buck daemon directory from being properly ignored.
| }, | ||
| { | ||
| "files": ["*.js"], | ||
| "options": { "parser": "flow" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Flow parser configured but Flow removed
Prettier is configured to use the Flow parser for *.js files, but .flowconfig was removed in this commit. This creates an inconsistency where Prettier expects Flow type annotations in JavaScript files but Flow is no longer configured or available in the project, potentially causing formatting errors or unexpected behavior.
Note
Introduce Electron runtime (main/preload/renderer/uploader) and add iOS RNFS project with integration test harness, plus podspec and tooling/config setup.
src/electron/{main,preload,renderer,uploader}.tswith typings (window.d.ts,types.ts) and utilities (utf8.ts).src/index.ts.ios/RNFS.xcodeprojandRNFS.podspecfor CocoaPods integration.IntegrationTests/*), Xcode project/scheme, and test cases.tsconfig*.json,tsconfig.build.json), Babel and ESLint configs, and project scripts viapackage.json.Written by Cursor Bugbot for commit c2e58a1. This will update automatically on new commits. Configure here.