symlink-dir 5.1.0 → 5.2.0
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/LICENSE +1 -1
- package/README.md +6 -5
- package/dist/index.d.ts +9 -1
- package/dist/index.js +106 -24
- package/dist/index.js.map +1 -1
- package/package.json +2 -6
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2016-
|
|
3
|
+
Copyright (c) 2016-2023 Zoltan Kochan <z@kochan.io>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
14
|
```sh
|
|
15
|
-
|
|
15
|
+
pnpm add symlink-dir
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## CLI Usage
|
|
19
19
|
|
|
20
|
-
Lets suppose you'd like to self-require your package. You can link it to its own node_modules
|
|
20
|
+
Lets suppose you'd like to self-require your package. You can link it to its own `node_modules`:
|
|
21
21
|
|
|
22
22
|
```sh
|
|
23
23
|
# from -> to
|
|
@@ -49,9 +49,10 @@ symlinkDir('src', 'node_modules/src')
|
|
|
49
49
|
|
|
50
50
|
## API
|
|
51
51
|
|
|
52
|
-
### `symlinkDir(
|
|
52
|
+
### `symlinkDir(target, path, opts?): Promise<{ reused: boolean, warn?: string }>`
|
|
53
|
+
### `symlinkDir.sync(target, path, opts?): { reused: boolean, warn?: string }`
|
|
53
54
|
|
|
54
|
-
Creates
|
|
55
|
+
Creates the link called `path` pointing to `target`.
|
|
55
56
|
|
|
56
57
|
Options:
|
|
57
58
|
|
|
@@ -59,7 +60,7 @@ Options:
|
|
|
59
60
|
|
|
60
61
|
Result:
|
|
61
62
|
|
|
62
|
-
* `reused` - *boolean* - is `true` if the symlink already existed pointing to the `
|
|
63
|
+
* `reused` - *boolean* - is `true` if the symlink already existed pointing to the `target`.
|
|
63
64
|
* `warn` - *string* - any issues that happened during linking (it does mean a failure).
|
|
64
65
|
|
|
65
66
|
## License
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
declare function symlinkDir(
|
|
1
|
+
declare function symlinkDir(target: string, path: string, opts?: {
|
|
2
2
|
overwrite?: boolean;
|
|
3
3
|
}): Promise<{
|
|
4
4
|
reused: Boolean;
|
|
5
5
|
warn?: string;
|
|
6
6
|
}>;
|
|
7
7
|
export = symlinkDir;
|
|
8
|
+
declare namespace symlinkDir {
|
|
9
|
+
function sync(target: string, path: string, opts?: {
|
|
10
|
+
overwrite?: boolean;
|
|
11
|
+
}): {
|
|
12
|
+
reused: Boolean;
|
|
13
|
+
warn?: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const betterPathResolve = require("better-path-resolve");
|
|
3
3
|
const fs_1 = require("fs");
|
|
4
|
-
const
|
|
4
|
+
const pathLib = require("path");
|
|
5
5
|
const renameOverwrite = require("rename-overwrite");
|
|
6
6
|
const IS_WINDOWS = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);
|
|
7
7
|
// Always use "junctions" on Windows. Even though support for "symbolic links" was added in Vista+, users by default
|
|
@@ -12,38 +12,38 @@ function resolveSrcOnWin(src, dest) {
|
|
|
12
12
|
return `${src}\\`;
|
|
13
13
|
}
|
|
14
14
|
function resolveSrcOnNonWin(src, dest) {
|
|
15
|
-
return
|
|
15
|
+
return pathLib.relative(pathLib.dirname(dest), src);
|
|
16
16
|
}
|
|
17
|
-
function symlinkDir(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (
|
|
21
|
-
throw new Error(`Symlink path is the same as the target path (${
|
|
22
|
-
|
|
23
|
-
return forceSymlink(
|
|
17
|
+
function symlinkDir(target, path, opts) {
|
|
18
|
+
path = betterPathResolve(path);
|
|
19
|
+
target = betterPathResolve(target);
|
|
20
|
+
if (target === path)
|
|
21
|
+
throw new Error(`Symlink path is the same as the target path (${target})`);
|
|
22
|
+
target = resolveSrc(target, path);
|
|
23
|
+
return forceSymlink(target, path, opts);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Creates a symlink. Re-link if a symlink already exists at the supplied
|
|
27
27
|
* srcPath. API compatible with [`fs#symlink`](https://nodejs.org/api/fs.html#fs_fs_symlink_srcpath_dstpath_type_callback).
|
|
28
28
|
*/
|
|
29
|
-
async function forceSymlink(
|
|
29
|
+
async function forceSymlink(target, path, opts) {
|
|
30
30
|
try {
|
|
31
|
-
await fs_1.promises.symlink(
|
|
31
|
+
await fs_1.promises.symlink(target, path, symlinkType);
|
|
32
32
|
return { reused: false };
|
|
33
33
|
}
|
|
34
34
|
catch (err) {
|
|
35
35
|
switch (err.code) {
|
|
36
36
|
case 'ENOENT':
|
|
37
37
|
try {
|
|
38
|
-
await fs_1.promises.mkdir(
|
|
38
|
+
await fs_1.promises.mkdir(pathLib.dirname(path), { recursive: true });
|
|
39
39
|
}
|
|
40
40
|
catch (mkdirError) {
|
|
41
|
-
mkdirError.message = `Error while trying to symlink "${
|
|
41
|
+
mkdirError.message = `Error while trying to symlink "${target}" to "${path}". ` +
|
|
42
42
|
`The error happened while trying to create the parent directory for the symlink target. ` +
|
|
43
43
|
`Details: ${mkdirError}`;
|
|
44
44
|
throw mkdirError;
|
|
45
45
|
}
|
|
46
|
-
await forceSymlink(
|
|
46
|
+
await forceSymlink(target, path, opts);
|
|
47
47
|
return { reused: false };
|
|
48
48
|
case 'EEXIST':
|
|
49
49
|
case 'EISDIR':
|
|
@@ -59,25 +59,107 @@ async function forceSymlink(src, dest, opts) {
|
|
|
59
59
|
}
|
|
60
60
|
let linkString;
|
|
61
61
|
try {
|
|
62
|
-
linkString = await fs_1.promises.readlink(
|
|
62
|
+
linkString = await fs_1.promises.readlink(path);
|
|
63
63
|
}
|
|
64
64
|
catch (err) {
|
|
65
|
-
//
|
|
66
|
-
const parentDir =
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
// path is not a link
|
|
66
|
+
const parentDir = pathLib.dirname(path);
|
|
67
|
+
let warn;
|
|
68
|
+
if (opts === null || opts === void 0 ? void 0 : opts.renameTried) {
|
|
69
|
+
// This is needed in order to fix a mysterious bug that sometimes happens on macOS.
|
|
70
|
+
// It is hard to reproduce and is described here: https://github.com/pnpm/pnpm/issues/5909#issuecomment-1400066890
|
|
71
|
+
await fs_1.promises.unlink(path);
|
|
72
|
+
warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path)}".`;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const ignore = `.ignored_${pathLib.basename(path)}`;
|
|
76
|
+
await renameOverwrite(path, pathLib.join(parentDir, ignore));
|
|
77
|
+
warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path)} => ${ignore}".`;
|
|
78
|
+
}
|
|
69
79
|
return {
|
|
70
|
-
...await forceSymlink(
|
|
71
|
-
warn
|
|
80
|
+
...await forceSymlink(target, path, { ...opts, renameTried: true }),
|
|
81
|
+
warn,
|
|
72
82
|
};
|
|
73
83
|
}
|
|
74
|
-
if (
|
|
84
|
+
if (target === linkString) {
|
|
75
85
|
return { reused: true };
|
|
76
86
|
}
|
|
77
|
-
await fs_1.promises.unlink(
|
|
78
|
-
return await forceSymlink(
|
|
87
|
+
await fs_1.promises.unlink(path);
|
|
88
|
+
return await forceSymlink(target, path, opts);
|
|
79
89
|
}
|
|
80
90
|
// for backward compatibility
|
|
81
91
|
symlinkDir['default'] = symlinkDir;
|
|
92
|
+
(function (symlinkDir) {
|
|
93
|
+
function sync(target, path, opts) {
|
|
94
|
+
path = betterPathResolve(path);
|
|
95
|
+
target = betterPathResolve(target);
|
|
96
|
+
if (target === path)
|
|
97
|
+
throw new Error(`Symlink path is the same as the target path (${target})`);
|
|
98
|
+
target = resolveSrc(target, path);
|
|
99
|
+
return forceSymlinkSync(target, path, opts);
|
|
100
|
+
}
|
|
101
|
+
symlinkDir.sync = sync;
|
|
102
|
+
})(symlinkDir || (symlinkDir = {}));
|
|
103
|
+
function forceSymlinkSync(target, path, opts) {
|
|
104
|
+
try {
|
|
105
|
+
(0, fs_1.symlinkSync)(target, path, symlinkType);
|
|
106
|
+
return { reused: false };
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
switch (err.code) {
|
|
110
|
+
case 'ENOENT':
|
|
111
|
+
try {
|
|
112
|
+
(0, fs_1.mkdirSync)(pathLib.dirname(path), { recursive: true });
|
|
113
|
+
}
|
|
114
|
+
catch (mkdirError) {
|
|
115
|
+
mkdirError.message = `Error while trying to symlink "${target}" to "${path}". ` +
|
|
116
|
+
`The error happened while trying to create the parent directory for the symlink target. ` +
|
|
117
|
+
`Details: ${mkdirError}`;
|
|
118
|
+
throw mkdirError;
|
|
119
|
+
}
|
|
120
|
+
forceSymlinkSync(target, path, opts);
|
|
121
|
+
return { reused: false };
|
|
122
|
+
case 'EEXIST':
|
|
123
|
+
case 'EISDIR':
|
|
124
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) {
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
// If the target file already exists then we proceed.
|
|
128
|
+
// Additional checks are done below.
|
|
129
|
+
break;
|
|
130
|
+
default:
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
let linkString;
|
|
135
|
+
try {
|
|
136
|
+
linkString = (0, fs_1.readlinkSync)(path);
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
// path is not a link
|
|
140
|
+
const parentDir = pathLib.dirname(path);
|
|
141
|
+
let warn;
|
|
142
|
+
if (opts === null || opts === void 0 ? void 0 : opts.renameTried) {
|
|
143
|
+
// This is needed in order to fix a mysterious bug that sometimes happens on macOS.
|
|
144
|
+
// It is hard to reproduce and is described here: https://github.com/pnpm/pnpm/issues/5909#issuecomment-1400066890
|
|
145
|
+
(0, fs_1.unlinkSync)(path);
|
|
146
|
+
warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path)}".`;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
const ignore = `.ignored_${pathLib.basename(path)}`;
|
|
150
|
+
renameOverwrite.sync(path, pathLib.join(parentDir, ignore));
|
|
151
|
+
warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path)} => ${ignore}".`;
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
...forceSymlinkSync(target, path, { ...opts, renameTried: true }),
|
|
155
|
+
warn,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (target === linkString) {
|
|
159
|
+
return { reused: true };
|
|
160
|
+
}
|
|
161
|
+
(0, fs_1.unlinkSync)(path);
|
|
162
|
+
return forceSymlinkSync(target, path, opts);
|
|
163
|
+
}
|
|
82
164
|
module.exports = symlinkDir;
|
|
83
165
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,2BAAqF;AACrF,gCAAgC;AAChC,oDAAoD;AAEpD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAS,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAErG,oHAAoH;AACpH,iCAAiC;AACjC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAA;AAEnD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAA,CAAC,CAAC,kBAAkB,CAAA;AAEnE,SAAS,eAAe,CAAE,GAAW,EAAE,IAAY;IACjD,OAAO,GAAG,GAAG,IAAI,CAAA;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAE,GAAW,EAAE,IAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,UAAU,CAAE,MAAc,EAAE,IAAY,EAAE,IAA8B;IAC/E,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAElC,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,MAAM,GAAG,CAAC,CAAA;IAE/F,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjC,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,MAAc,EACd,IAAY,EACZ,IAGC;IAED,IAAI;QACF,MAAM,aAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QAC3C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KACzB;IAAC,OAAO,GAAG,EAAE;QACZ,QAAgC,GAAI,CAAC,IAAI,EAAE;YACzC,KAAK,QAAQ;gBACX,IAAI;oBACF,MAAM,aAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;iBAC3D;gBAAC,OAAO,UAAU,EAAE;oBACnB,UAAU,CAAC,OAAO,GAAG,kCAAkC,MAAM,SAAS,IAAI,KAAK;wBAC7E,yFAAyF;wBACzF,YAAY,UAAU,EAAE,CAAA;oBAC1B,MAAM,UAAU,CAAA;iBACjB;gBACD,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAC1B,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,KAAK,EAAE;oBAC7B,MAAM,GAAG,CAAA;iBACV;gBACD,qDAAqD;gBACrD,oCAAoC;gBACpC,MAAK;YACP;gBACE,MAAM,GAAG,CAAA;SACZ;KACF;IAED,IAAI,UAAkB,CAAA;IACtB,IAAI;QACF,UAAU,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KACrC;IAAC,OAAO,GAAG,EAAE;QACZ,qBAAqB;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,IAAa,CAAA;QACjB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE;YACrB,mFAAmF;YACnF,kHAAkH;YAClH,MAAM,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,IAAI,GAAG,+EAA+E,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAA;SAC5I;aAAM;YACL,MAAM,MAAM,GAAG,YAAY,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;YACnD,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAC5D,IAAI,GAAG,6EAA6E,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,IAAI,CAAA;SACvJ;QAED,OAAO;YACL,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL,CAAA;KACF;IAED,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IACD,MAAM,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED,6BAA6B;AAC7B,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAA;AAIlC,WAAU,UAAU;IAClB,SAAgB,IAAI,CAAE,MAAc,EAAE,IAAY,EAAE,IAA8B;QAChF,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAElC,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,MAAM,GAAG,CAAC,CAAA;QAE/F,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEjC,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IATe,eAAI,OASnB,CAAA;AACH,CAAC,EAXS,UAAU,KAAV,UAAU,QAWnB;AAED,SAAS,gBAAgB,CACvB,MAAc,EACd,IAAY,EACZ,IAGC;IAED,IAAI;QACF,IAAA,gBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KACzB;IAAC,OAAO,GAAG,EAAE;QACZ,QAAgC,GAAI,CAAC,IAAI,EAAE;YACzC,KAAK,QAAQ;gBACX,IAAI;oBACF,IAAA,cAAS,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;iBACtD;gBAAC,OAAO,UAAU,EAAE;oBACnB,UAAU,CAAC,OAAO,GAAG,kCAAkC,MAAM,SAAS,IAAI,KAAK;wBAC7E,yFAAyF;wBACzF,YAAY,UAAU,EAAE,CAAA;oBAC1B,MAAM,UAAU,CAAA;iBACjB;gBACD,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAC1B,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,MAAK,KAAK,EAAE;oBAC7B,MAAM,GAAG,CAAA;iBACV;gBACD,qDAAqD;gBACrD,oCAAoC;gBACpC,MAAK;YACP;gBACE,MAAM,GAAG,CAAA;SACZ;KACF;IAED,IAAI,UAAkB,CAAA;IACtB,IAAI;QACF,UAAU,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAA;KAChC;IAAC,OAAO,GAAG,EAAE;QACZ,qBAAqB;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,IAAa,CAAA;QACjB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE;YACrB,mFAAmF;YACnF,kHAAkH;YAClH,IAAA,eAAU,EAAC,IAAI,CAAC,CAAA;YAChB,IAAI,GAAG,+EAA+E,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAA;SAC5I;aAAM;YACL,MAAM,MAAM,GAAG,YAAY,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;YACnD,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAC3D,IAAI,GAAG,6EAA6E,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,IAAI,CAAA;SACvJ;QAED,OAAO;YACL,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACjE,IAAI;SACL,CAAA;KACF;IAED,IAAI,MAAM,KAAK,UAAU,EAAE;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IACD,IAAA,eAAU,EAAC,IAAI,CAAC,CAAA;IAChB,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC;AAjFD,iBAAS,UAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "symlink-dir",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Cross-platform directory symlinking",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -34,8 +34,6 @@
|
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^16.18.3",
|
|
36
36
|
"@types/tape": "^4.13.2",
|
|
37
|
-
"mos": "^1.3.1",
|
|
38
|
-
"mos-plugin-readme": "^1.0.4",
|
|
39
37
|
"rimraf": "^3.0.2",
|
|
40
38
|
"tape": "^5.6.1",
|
|
41
39
|
"tempy": "^1.0.1",
|
|
@@ -60,10 +58,8 @@
|
|
|
60
58
|
},
|
|
61
59
|
"scripts": {
|
|
62
60
|
"pretest": "rimraf node_modules/src",
|
|
63
|
-
"test": "ts-node test",
|
|
64
|
-
"test-md": "mos t",
|
|
61
|
+
"test": "ts-node test/sync.ts && ts-node test/async.ts",
|
|
65
62
|
"premd": "rimraf node_modules/src && npm run tsc",
|
|
66
|
-
"md": "mos",
|
|
67
63
|
"tsc": "rimraf dist && tsc"
|
|
68
64
|
}
|
|
69
65
|
}
|