From ade40600c62b2881a32ac0011c4bd3d6dc869f39 Mon Sep 17 00:00:00 2001 From: Kirby Wu Date: Sun, 30 Jan 2022 23:30:53 +0800 Subject: [PATCH] - still symlink if srcdir is not a symlink but root is a symlink. usually happens when we specify `dir` in config. - bump version --- CHANGELOG.md | 5 +++++ cli.js | 10 +++++++--- lib/main.ls | 8 ++++++-- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc0a7f1..2714690 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Logs +## v1.1.5 + + - still symlink if srcdir is not a symlink but root is a symlink. usually happens when we specify `dir` in config. + + ## v1.1.4 - don`t copy JS / CSS files based on `browser` / `style` field if `main` folder is by link instead of by copying. diff --git a/cli.js b/cli.js index d26a0a1..234734c 100755 --- a/cli.js +++ b/cli.js @@ -47,7 +47,7 @@ cmds['default'] = { modules: [] }, JSON.parse(fs.readFileSync("package.json").toString()).frontendDependencies || {}); return (fed.modules || []).map(function(obj){ - var localModule, root, info, id, mainFile, ref$, i$, name, version, ret, that, desdir, maindir, p, srcdir, realSrcDir, srcFile, desFile; + var localModule, root, info, id, mainFile, ref$, i$, name, version, ret, that, desdir, maindir, p, srcdir, realSrcdir, srcFile, desFile; obj = typeof obj === 'string' ? { name: obj } : obj; @@ -129,8 +129,12 @@ cmds['default'] = { if (fs.lstatSync(srcdir).isSymbolicLink()) { obj.link = true; fsExtra.removeSync(desdir); - realSrcDir = path.resolve(path.join(path.dirname(srcdir), fs.readlinkSync(srcdir))); - fsExtra.ensureSymlinkSync(realSrcDir, desdir); + realSrcdir = path.resolve(path.join(path.dirname(srcdir), fs.readlinkSync(srcdir))); + fsExtra.ensureSymlinkSync(realSrcdir, desdir); + } else if (fs.lstatSync(root).isSymbolicLink()) { + obj.link = true; + fsExtra.removeSync(desdir); + fsExtra.ensureSymlinkSync(srcdir, desdir); } else { fsExtra.copySync(srcdir, desdir, { dereference: true, diff --git a/lib/main.ls b/lib/main.ls index 1dcd21c..e0306fc 100644 --- a/lib/main.ls +++ b/lib/main.ls @@ -85,8 +85,12 @@ cmds.default = if fs.lstat-sync srcdir .is-symbolic-link! => obj.link = true fs-extra.remove-sync desdir - real-src-dir = path.resolve(path.join(path.dirname(srcdir), fs.readlink-sync(srcdir))) - fs-extra.ensure-symlink-sync real-src-dir, desdir + real-srcdir = path.resolve(path.join(path.dirname(srcdir), fs.readlink-sync(srcdir))) + fs-extra.ensure-symlink-sync real-srcdir, desdir + else if fs.lstat-sync root .is-symbolic-link! => + obj.link = true + fs-extra.remove-sync desdir + fs-extra.ensure-symlink-sync srcdir, desdir else fs-extra.copy-sync( srcdir, desdir, diff --git a/package-lock.json b/package-lock.json index fae6b23..f3b895b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "fedep", - "version": "1.1.4", + "version": "1.1.5", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.1.4", + "version": "1.1.5", "license": "MIT", "dependencies": { "@plotdb/colors": "^0.0.1", diff --git a/package.json b/package.json index 1b34075..5df8bca 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "cli.js" ], "description": "Frontend dependency installer", - "version": "1.1.4", + "version": "1.1.5", "homepage": "https://github.com/plotdb/fedep", "repository": { "type": "git",