Skip to content

Creating patch file for GitHub dependency fails with ENOENT: no such file or directory #288

@devattendant

Description

@devattendant

I was trying to create a patch for a GitHub dependency I added to my projects like this in package.json:
"react-native-scrollable-tab-view": "git+https://github.com/ptomasroos/react-native-scrollable-tab-view.git"

And creating the patch fails with:

• Diffing your files with clean files
Error: ENOENT: no such file or directory, scandir '/var/folders/bx/qmlnk5tn0lqgn4d_cyplmh5w0000gn/T/tmp-46952lUjIew9dd5Kd/node_modules/react-native-scrollable-tab-view'
at Object.readdirSync (node:fs:1067:3)
at Object.klawSync [as default] (/.../react-native/node_modules/klaw-sync/klaw-sync.js:13:25)
at Object.removeIgnoredFiles (/.../react-native/node_modules/patch-package/dist/filterFiles.js:10:24)
at Object.makePatch (/.../react-native/node_modules/patch-package/dist/makePatch.js:123:23)
at /.../react-native/node_modules/patch-package/dist/index.js:48:25
at Array.forEach ()
at Object. (/.../react-native/node_modules/patch-package/dist/index.js:47:22)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32) {
errno: -2,
syscall: 'scandir',
code: 'ENOENT',
path: '/var/folders/bx/qmlnk5tn0lqgn4d_cyplmh5w0000gn/T/tmp-46952lUjIew9dd5Kd/node_modules/react-native-scrollable-tab-view'
}
/.../react-native/node_modules/patch-package/dist/makePatch.js:184
throw e;
^

Error: ENOENT: no such file or directory, scandir '/var/folders/bx/qmlnk5tn0lqgn4d_cyplmh5w0000gn/T/tmp-46952lUjIew9dd5Kd/node_modules/react-native-scrollable-tab-view'
at Object.readdirSync (node:fs:1067:3)
at Object.klawSync [as default] (/.../react-native/node_modules/klaw-sync/klaw-sync.js:13:25)
at Object.removeIgnoredFiles (/.../react-native/node_modules/patch-package/dist/filterFiles.js:10:24)
at Object.makePatch (/.../react-native/node_modules/patch-package/dist/makePatch.js:123:23)
at /.../react-native/node_modules/patch-package/dist/index.js:48:25
at Array.forEach ()
at Object. (/.../react-native/node_modules/patch-package/dist/index.js:47:22)
at Module._compile (node:internal/modules/cjs/loader:1108:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
at Module.load (node:internal/modules/cjs/loader:973:32) {
errno: -2,
syscall: 'scandir',
code: 'ENOENT',
path: '/var/folders/bx/qmlnk5tn0lqgn4d_cyplmh5w0000gn/T/tmp-46952lUjIew9dd5Kd/node_modules/react-native-scrollable-tab-view'
}

I then looked a bit into makePatch.js and found the automatically created package.json looking like this:
{"dependencies":{"react-native-scrollable-tab-view":"react-native-scrollable-tab-view@git+https://github.com/ptomasroos/react-native-scrollable-tab-view.git"},"resolutions":{}}

So just to check if the react-native-scrollable-tab-view@ is the issue I replaced the getPackageResolution call in makePatch.js:49 with the static GitHub URL I used in the package.json above and the patch file was created correctly:
{"dependencies":{"react-native-scrollable-tab-view":"git+https://github.com/ptomasroos/react-native-scrollable-tab-view.git"},"resolutions":{}}

I am now wondering if I am linking the GitHub dependency in a wrong way (though I tried various other) or if this is a bug or not expected usage of patch-package at all.

All of this happened on macOS 11.1 with patch-package 6.2.2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions