fix: prefixed plugin package name (#4811)
Summary: When distributing plugin over Marketplace. Currently there is an issue with downloading a plugin to `tmp` folder if the plugin `packageName` starts with `company-prefix/flipper-plugin-name`. It would throw `ENONET` error while trying to stream the response data into `tmp` folder. ## Changelog - add support for prefixed plugin package names (`shopify/flipper-plugin-name`,...) Pull Request resolved: https://github.com/facebook/flipper/pull/4811 Test Plan: - Try install a plugin from Marketplace which has `/` in the plugin `package.json` `name`. Reviewed By: lblasa Differential Revision: D46679195 Pulled By: passy fbshipit-source-id: f330896dae9da7cbe101b1c6d7ed07667fb7ae0a
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0db4e99aff
commit
279a9e6b52
@@ -27,6 +27,7 @@ import {
|
||||
getInstalledPluginDetails,
|
||||
getInstalledPlugins,
|
||||
getPluginVersionInstallationDir,
|
||||
getPluginDirNameFromPackageName,
|
||||
installPluginFromFile,
|
||||
removePlugins,
|
||||
getUpdatablePlugins,
|
||||
@@ -129,7 +130,10 @@ export class PluginManager {
|
||||
`Downloading plugin "${title}" v${version} from "${downloadUrl}" to "${installationDir}".`,
|
||||
);
|
||||
const tmpDir = await getTempDirName();
|
||||
const tmpFile = path.join(tmpDir, `${name}-${version}.tgz`);
|
||||
const tmpFile = path.join(
|
||||
tmpDir,
|
||||
`${getPluginDirNameFromPackageName(name)}-${version}.tgz`,
|
||||
);
|
||||
try {
|
||||
const cancelationSource = axios.CancelToken.source();
|
||||
if (await fs.pathExists(installationDir)) {
|
||||
|
||||
Reference in New Issue
Block a user