@saltcorn/plugins-loader 1.6.0-beta.3 → 1.6.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/plugin_installer.js +14 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/plugins-loader",
|
|
3
|
-
"version": "1.6.0-beta.
|
|
3
|
+
"version": "1.6.0-beta.5",
|
|
4
4
|
"description": "Saltcorn plugin loader",
|
|
5
5
|
"homepage": "https://saltcorn.com",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"clean": "echo 'No TypeScript build'"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@saltcorn/data": "1.6.0-beta.
|
|
12
|
+
"@saltcorn/data": "1.6.0-beta.5",
|
|
13
13
|
"env-paths": "^2.2.1",
|
|
14
14
|
"npm-registry-fetch": "17.1.0",
|
|
15
15
|
"https-proxy-agent": "^7.0.6"
|
package/plugin_installer.js
CHANGED
|
@@ -11,7 +11,8 @@ const {
|
|
|
11
11
|
} = require("./download_utils");
|
|
12
12
|
const { getState } = require("@saltcorn/data/db/state");
|
|
13
13
|
const Plugin = require("@saltcorn/data/models/plugin");
|
|
14
|
-
const { rm, rename, cp, readFile, readdir } =
|
|
14
|
+
const { rm, rename, cp, readFile, readdir, readlink, unlink } =
|
|
15
|
+
require("fs").promises;
|
|
15
16
|
const envPaths = require("env-paths");
|
|
16
17
|
const semver = require("semver");
|
|
17
18
|
const path = require("path");
|
|
@@ -308,8 +309,19 @@ class PluginInstaller {
|
|
|
308
309
|
const symLinkSrc = (await isGitCheckout())
|
|
309
310
|
? join(__dirname, "..", "..", "node_modules")
|
|
310
311
|
: join(dirname(require.resolve("@saltcorn/cli")), "..", "node_modules");
|
|
311
|
-
if (
|
|
312
|
+
if (await pathExists(symLinkDst)) {
|
|
313
|
+
const currentTarget = await readlink(symLinkDst).catch(() => null);
|
|
314
|
+
if (currentTarget !== symLinkSrc) {
|
|
315
|
+
await unlink(symLinkDst);
|
|
316
|
+
await symlink(
|
|
317
|
+
symLinkSrc,
|
|
318
|
+
symLinkDst,
|
|
319
|
+
!isWindows ? "dir" : "junction"
|
|
320
|
+
);
|
|
321
|
+
}
|
|
322
|
+
} else {
|
|
312
323
|
await symlink(symLinkSrc, symLinkDst, !isWindows ? "dir" : "junction");
|
|
324
|
+
}
|
|
313
325
|
};
|
|
314
326
|
for (const folder of ["plugins_folder", "git_plugins"])
|
|
315
327
|
await ensureFn(folder);
|