@koine/node 2.0.0-beta.188 → 2.0.0-beta.189
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/fsSymlink.cjs.d.ts +2 -0
- package/fsSymlink.cjs.default.js +1 -0
- package/fsSymlink.cjs.js +14 -0
- package/fsSymlink.cjs.mjs +2 -0
- package/fsSymlink.d.ts +16 -0
- package/fsSymlink.esm.d.ts +2 -0
- package/fsSymlink.esm.js +9 -0
- package/index.cjs.js +2 -0
- package/index.d.ts +1 -0
- package/index.esm.js +1 -0
- package/package.json +7 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./fsSymlink.cjs.js').default;
|
package/fsSymlink.cjs.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var node_fs = require('node:fs');
|
|
6
|
+
var promises = require('node:fs/promises');
|
|
7
|
+
var node_path = require('node:path');
|
|
8
|
+
var glob = require('glob');
|
|
9
|
+
var utils = require('@koine/utils');
|
|
10
|
+
|
|
11
|
+
async function fsSymlink(n,m,f){let{override:p=!0,onlyTargetContent:u}=f||{},c=[];if(!node_fs.existsSync(n))return console.log(`Trying to symlink unexisting target ${n}`),[];if(node_fs.existsSync(m)){if(!p)return console.log(`Trying to symlink existing dest ${m} without "override: true"`),[];u?await Promise.all((await glob.glob(utils.isString(u)?u:"*",{cwd:m,withFileTypes:!0})).filter(i=>i.isSymbolicLink()).map(i=>promises.rm(i.fullpath(),{recursive:!0}))):await promises.rm(m,{force:!0});}else u&&await promises.mkdir(m,{recursive:!0});return u?await Promise.all((await glob.glob(utils.isString(u)?u:"*",{cwd:n,withFileTypes:!0})).map(async i=>{let e=i.relative();await promises.symlink(node_path.join(n,e),node_path.join(m,e),i.isDirectory()?"dir":"file"),c.push(node_path.join(m,e));})):(await promises.symlink(n,m,node_fs.lstatSync(n).isDirectory()?"dir":"file"),c.push(m)),c}
|
|
12
|
+
|
|
13
|
+
exports.default = fsSymlink;
|
|
14
|
+
exports.fsSymlink = fsSymlink;
|
package/fsSymlink.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type SymlinkExtendedOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* @default true
|
|
4
|
+
*/
|
|
5
|
+
override?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Symlink everthing inside the `target` folder rather than the `target` itself,
|
|
8
|
+
* optionally pass a glob that points to the desired "sub" targets
|
|
9
|
+
*/
|
|
10
|
+
onlyTargetContent?: boolean | string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Extended `node:fs/promises.symlink`
|
|
14
|
+
*/
|
|
15
|
+
export declare function fsSymlink(target: string, dest: string, options?: SymlinkExtendedOptions): Promise<string[]>;
|
|
16
|
+
export default fsSymlink;
|
package/fsSymlink.esm.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { existsSync, lstatSync } from 'node:fs';
|
|
2
|
+
import { rm, mkdir, symlink } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { glob } from 'glob';
|
|
5
|
+
import { isString } from '@koine/utils';
|
|
6
|
+
|
|
7
|
+
async function fsSymlink(n,m,f){let{override:p=!0,onlyTargetContent:u}=f||{},c=[];if(!existsSync(n))return console.log(`Trying to symlink unexisting target ${n}`),[];if(existsSync(m)){if(!p)return console.log(`Trying to symlink existing dest ${m} without "override: true"`),[];u?await Promise.all((await glob(isString(u)?u:"*",{cwd:m,withFileTypes:!0})).filter(i=>i.isSymbolicLink()).map(i=>rm(i.fullpath(),{recursive:!0}))):await rm(m,{force:!0});}else u&&await mkdir(m,{recursive:!0});return u?await Promise.all((await glob(isString(u)?u:"*",{cwd:n,withFileTypes:!0})).map(async i=>{let e=i.relative();await symlink(join(n,e),join(m,e),i.isDirectory()?"dir":"file"),c.push(join(m,e));})):(await symlink(n,m,lstatSync(n).isDirectory()?"dir":"file"),c.push(m)),c}
|
|
8
|
+
|
|
9
|
+
export { fsSymlink as default, fsSymlink };
|
package/index.cjs.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fsMoveAndRestoreTemporaryPaths = require('./fsMoveAndRestoreTemporaryPaths.cjs.js');
|
|
4
4
|
var fsMoveAndRestoreTemporaryPathsSync = require('./fsMoveAndRestoreTemporaryPathsSync.cjs.js');
|
|
5
|
+
var fsSymlink = require('./fsSymlink.cjs.js');
|
|
5
6
|
var fsWrite = require('./fsWrite.cjs.js');
|
|
6
7
|
var fsWriteSync = require('./fsWriteSync.cjs.js');
|
|
7
8
|
|
|
@@ -9,5 +10,6 @@ var fsWriteSync = require('./fsWriteSync.cjs.js');
|
|
|
9
10
|
|
|
10
11
|
exports.fsMoveAndRestoreTemporaryPaths = fsMoveAndRestoreTemporaryPaths.fsMoveAndRestoreTemporaryPaths;
|
|
11
12
|
exports.fsMoveAndRestoreTemporaryPathsSync = fsMoveAndRestoreTemporaryPathsSync.fsMoveAndRestoreTemporaryPathsSync;
|
|
13
|
+
exports.fsSymlink = fsSymlink.fsSymlink;
|
|
12
14
|
exports.fsWrite = fsWrite.fsWrite;
|
|
13
15
|
exports.fsWriteSync = fsWriteSync.fsWriteSync;
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { fsMoveAndRestoreTemporaryPaths } from "./fsMoveAndRestoreTemporaryPaths";
|
|
2
2
|
export { fsMoveAndRestoreTemporaryPathsSync } from "./fsMoveAndRestoreTemporaryPathsSync";
|
|
3
|
+
export { fsSymlink } from "./fsSymlink";
|
|
3
4
|
export { fsWrite } from "./fsWrite";
|
|
4
5
|
export { fsWriteSync } from "./fsWriteSync";
|
package/index.esm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { fsMoveAndRestoreTemporaryPaths } from './fsMoveAndRestoreTemporaryPaths.esm.js';
|
|
2
2
|
export { fsMoveAndRestoreTemporaryPathsSync } from './fsMoveAndRestoreTemporaryPathsSync.esm.js';
|
|
3
|
+
export { fsSymlink } from './fsSymlink.esm.js';
|
|
3
4
|
export { fsWrite } from './fsWrite.esm.js';
|
|
4
5
|
export { fsWriteSync } from './fsWriteSync.esm.js';
|
package/package.json
CHANGED
|
@@ -21,6 +21,12 @@
|
|
|
21
21
|
"import": "./fsMoveAndRestoreTemporaryPathsSync.cjs.mjs",
|
|
22
22
|
"default": "./fsMoveAndRestoreTemporaryPathsSync.cjs.js"
|
|
23
23
|
},
|
|
24
|
+
"./fsSymlink": {
|
|
25
|
+
"module": "./fsSymlink.esm.js",
|
|
26
|
+
"types": "./fsSymlink.esm.d.ts",
|
|
27
|
+
"import": "./fsSymlink.cjs.mjs",
|
|
28
|
+
"default": "./fsSymlink.cjs.js"
|
|
29
|
+
},
|
|
24
30
|
"./fsWrite": {
|
|
25
31
|
"module": "./fsWrite.esm.js",
|
|
26
32
|
"types": "./fsWrite.esm.d.ts",
|
|
@@ -49,6 +55,6 @@
|
|
|
49
55
|
"module": "./index.esm.js",
|
|
50
56
|
"main": "./index.cjs.js",
|
|
51
57
|
"types": "./index.esm.d.ts",
|
|
52
|
-
"version": "2.0.0-beta.
|
|
58
|
+
"version": "2.0.0-beta.189",
|
|
53
59
|
"dependencies": {}
|
|
54
60
|
}
|