pwd-fs 2.4.2 → 3.1.4
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/.travis.yml +2 -3
- package/appveyor.yml +2 -4
- package/lib/src/index.d.ts +4 -186
- package/lib/src/index.js +18 -294
- package/lib/src/powered-file-system.d.ts +156 -0
- package/lib/src/powered-file-system.js +264 -0
- package/lib/src/recurse-io-sync.d.ts +10 -5
- package/lib/src/recurse-io-sync.js +74 -69
- package/lib/src/recurse-io.d.ts +14 -6
- package/lib/src/recurse-io.js +164 -160
- package/lib/test/__fmock.d.ts +5 -0
- package/lib/test/__fmock.js +40 -0
- package/lib/test/append.spec.js +36 -77
- package/lib/test/bitmask.spec.js +14 -17
- package/lib/test/chmod.spec.js +42 -84
- package/lib/test/chown.spec.js +45 -71
- package/lib/test/constructor.spec.js +7 -10
- package/lib/test/copy.spec.js +53 -108
- package/lib/test/mkdir.spec.js +62 -119
- package/lib/test/read.spec.js +47 -78
- package/lib/test/readdir.spec.js +48 -90
- package/lib/test/remove.spec.js +44 -65
- package/lib/test/rename.spec.js +43 -75
- package/lib/test/stat.spec.js +50 -78
- package/lib/test/symlink.spec.js +51 -95
- package/lib/test/test.spec.js +37 -66
- package/lib/test/write.spec.js +52 -103
- package/package.json +8 -11
- package/readme.md +10 -21
- package/src/index.ts +4 -623
- package/src/powered-file-system.ts +527 -0
- package/src/recurse-io-sync.ts +77 -71
- package/src/recurse-io.ts +181 -176
- package/test/__fmock.ts +45 -0
- package/test/append.spec.ts +44 -98
- package/test/bitmask.spec.ts +14 -17
- package/test/chmod.spec.ts +45 -95
- package/test/chown.spec.ts +61 -93
- package/test/constructor.spec.ts +4 -7
- package/test/copy.spec.ts +72 -142
- package/test/mkdir.spec.ts +87 -153
- package/test/read.spec.ts +64 -103
- package/test/readdir.spec.ts +65 -113
- package/test/remove.spec.ts +58 -82
- package/test/rename.spec.ts +58 -96
- package/test/stat.spec.ts +68 -100
- package/test/symlink.spec.ts +74 -125
- package/test/test.spec.ts +51 -84
- package/test/write.spec.ts +68 -131
- package/tsconfig.json +14 -7
- package/lib/src/index.js.map +0 -1
- package/lib/src/recurse-io-sync.js.map +0 -1
- package/lib/src/recurse-io.js.map +0 -1
- package/lib/test/append.spec.js.map +0 -1
- package/lib/test/bitmask.spec.js.map +0 -1
- package/lib/test/chmod.spec.js.map +0 -1
- package/lib/test/chown.spec.js.map +0 -1
- package/lib/test/constructor.spec.js.map +0 -1
- package/lib/test/copy.spec.js.map +0 -1
- package/lib/test/mkdir.spec.js.map +0 -1
- package/lib/test/read.spec.js.map +0 -1
- package/lib/test/readdir.spec.js.map +0 -1
- package/lib/test/remove.spec.js.map +0 -1
- package/lib/test/rename.spec.js.map +0 -1
- package/lib/test/stat.spec.js.map +0 -1
- package/lib/test/symlink.spec.js.map +0 -1
- package/lib/test/test.spec.js.map +0 -1
- package/lib/test/write.spec.js.map +0 -1
package/test/symlink.spec.ts
CHANGED
|
@@ -1,146 +1,95 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import
|
|
3
|
-
import mockFs from 'mock-fs';
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import fs from 'node:fs';
|
|
4
3
|
import Chance from 'chance';
|
|
5
|
-
import
|
|
4
|
+
import { expect } from 'expect';
|
|
5
|
+
import { Iframe, fmock, restore } from './__fmock';
|
|
6
|
+
import { pfs } from '../src';
|
|
6
7
|
|
|
7
8
|
describe('symlink(src, use [, options])', () => {
|
|
9
|
+
const chance = new Chance();
|
|
10
|
+
|
|
8
11
|
beforeEach(() => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'tmpdir': {
|
|
13
|
-
'
|
|
14
|
-
|
|
12
|
+
const cwd = process.cwd();
|
|
13
|
+
|
|
14
|
+
const frame: Iframe = {
|
|
15
|
+
'./tmpdir/tings.txt': {
|
|
16
|
+
type: 'file',
|
|
17
|
+
data: chance.string()
|
|
15
18
|
},
|
|
16
|
-
'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
'./tmpdir/digest/': { type: 'directory' },
|
|
20
|
+
'./tmpdir/flexapp': {
|
|
21
|
+
type: 'symlink',
|
|
22
|
+
target: `${cwd}/tmpdir/tings.txt`
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const counter = chance.natural({ max: 7 });
|
|
27
|
+
|
|
28
|
+
for (let i = 0; i < counter; i++) {
|
|
29
|
+
frame[`./tmpdir/${i}`] = { type: 'directory' };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
fmock(frame);
|
|
20
33
|
});
|
|
21
|
-
|
|
22
|
-
afterEach(
|
|
23
|
-
|
|
34
|
+
|
|
35
|
+
afterEach(() => {
|
|
36
|
+
restore('./tmpdir');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
|
|
24
40
|
it('Positive: Must be created a symbolic link', async () => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
assert(stats.isSymbolicLink());
|
|
41
|
+
await pfs.symlink('./tmpdir/tings.txt', './tmpdir/linkapp');
|
|
42
|
+
|
|
43
|
+
const stat = fs.lstatSync('./tmpdir/linkapp');
|
|
44
|
+
|
|
45
|
+
assert(stat.isSymbolicLink());
|
|
31
46
|
});
|
|
32
|
-
|
|
47
|
+
|
|
48
|
+
|
|
33
49
|
it('Positive: Must be created a symbolic link for directory', async () => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
assert(stats.isSymbolicLink());
|
|
50
|
+
await pfs.symlink('./tmpdir/digest', './tmpdir/linkapp');
|
|
51
|
+
|
|
52
|
+
const stat = fs.lstatSync('./tmpdir/linkapp');
|
|
53
|
+
|
|
54
|
+
assert(stat.isSymbolicLink());
|
|
40
55
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const pfs = new PoweredFileSystem();
|
|
44
|
-
|
|
45
|
-
const cwd = process.cwd();
|
|
46
|
-
|
|
47
|
-
await pfs.symlink(`${cwd}${sep}tmpdir${sep}libxbase`, `${cwd}${sep}linkapp`, {
|
|
48
|
-
resolve: false
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const stats = await pfs.stat('./linkapp');
|
|
52
|
-
assert(stats.isSymbolicLink());
|
|
53
|
-
});
|
|
54
|
-
|
|
56
|
+
|
|
57
|
+
|
|
55
58
|
it('Negative: Throw if destination already exists', async () => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
catch (err) {
|
|
62
|
-
assert(err.errno === -17);
|
|
63
|
-
}
|
|
59
|
+
await expect(async () => {
|
|
60
|
+
await pfs.symlink('./tmpdir/tings.txt', './tmpdir/flexapp');
|
|
61
|
+
})
|
|
62
|
+
.rejects
|
|
63
|
+
.toThrow();
|
|
64
64
|
});
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
it('[sync] Positive: Must be created a symbolic link', () => {
|
|
68
|
+
pfs.symlink('./tmpdir/tings.txt', './tmpdir/linkapp', {
|
|
69
|
+
sync: true
|
|
70
|
+
});
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const base = chance.guid();
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
await pfs.symlink(`./${base}`, './linkapp');
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
assert(err.errno === -2);
|
|
77
|
-
}
|
|
72
|
+
const stat = fs.lstatSync('./tmpdir/linkapp');
|
|
73
|
+
|
|
74
|
+
assert(stat.isSymbolicLink());
|
|
78
75
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
pfs.symlink('./tmpdir/binapp', './linkapp', {
|
|
85
|
-
sync: true
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
const stats = await pfs.stat('./linkapp');
|
|
89
|
-
assert(stats.isSymbolicLink());
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
it('[sync] Positive: Must be created a symbolic link for directory', () => {
|
|
79
|
+
pfs.symlink('./tmpdir/digest', './tmpdir/linkapp', {
|
|
80
|
+
sync: true
|
|
90
81
|
});
|
|
91
82
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
const stat = fs.lstatSync('./tmpdir/linkapp');
|
|
84
|
+
|
|
85
|
+
assert(stat.isSymbolicLink());
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it('[sync] Negative: Throw if destination already exists', () => {
|
|
89
|
+
assert.throws(() => {
|
|
90
|
+
pfs.symlink('./tmpdir/tings.txt', './tmpdir/flexapp', {
|
|
96
91
|
sync: true
|
|
97
92
|
});
|
|
98
|
-
|
|
99
|
-
const stats = await pfs.stat('./linkapp');
|
|
100
|
-
assert(stats.isSymbolicLink());
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it('Positive: Must be created a symbolic, when path is absolute', async () => {
|
|
104
|
-
const pfs = new PoweredFileSystem();
|
|
105
|
-
|
|
106
|
-
const cwd = process.cwd();
|
|
107
|
-
|
|
108
|
-
pfs.symlink(`${cwd}${sep}tmpdir${sep}libxbase`, `${cwd}${sep}linkapp`, {
|
|
109
|
-
sync: true,
|
|
110
|
-
resolve: false
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
const stats = await pfs.stat('./linkapp');
|
|
114
|
-
assert(stats.isSymbolicLink());
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
it('Negative: Throw if destination already exists', async () => {
|
|
118
|
-
const pfs = new PoweredFileSystem();
|
|
119
|
-
|
|
120
|
-
try {
|
|
121
|
-
pfs.symlink(`./flexapp`, './tmpdir/binapp', {
|
|
122
|
-
sync: true
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
catch (err) {
|
|
126
|
-
assert(err.errno === -17);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
it('Negative: Throw if not exists resource', async () => {
|
|
131
|
-
const pfs = new PoweredFileSystem();
|
|
132
|
-
const chance = new Chance();
|
|
133
|
-
|
|
134
|
-
const base = chance.guid();
|
|
135
|
-
|
|
136
|
-
try {
|
|
137
|
-
pfs.symlink(`./${base}`, './linkapp', {
|
|
138
|
-
sync: true
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
catch (err) {
|
|
142
|
-
assert(err.errno === -2);
|
|
143
|
-
}
|
|
144
93
|
});
|
|
145
94
|
});
|
|
146
95
|
});
|
package/test/test.spec.ts
CHANGED
|
@@ -1,113 +1,80 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { sep } from 'path';
|
|
3
|
-
import mockFs from 'mock-fs';
|
|
1
|
+
import assert from 'node:assert';
|
|
4
2
|
import Chance from 'chance';
|
|
5
|
-
import
|
|
3
|
+
import { fmock, restore } from './__fmock';
|
|
4
|
+
import { pfs } from '../src';
|
|
6
5
|
|
|
7
6
|
describe('test(src[, options])', () => {
|
|
8
|
-
|
|
9
|
-
const chance = new Chance();
|
|
7
|
+
const chance = new Chance();
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
fmock({
|
|
11
|
+
'./tmpdir/tings.txt': {
|
|
12
|
+
type: 'file',
|
|
13
|
+
data: chance.string()
|
|
15
14
|
},
|
|
16
|
-
'
|
|
17
|
-
path: 'tmpdir/binapp'
|
|
18
|
-
})
|
|
15
|
+
'./tmpdir/digest/': { type: 'directory' }
|
|
19
16
|
});
|
|
20
17
|
});
|
|
21
|
-
|
|
22
|
-
afterEach(
|
|
18
|
+
|
|
19
|
+
afterEach(() => {
|
|
20
|
+
restore('./tmpdir');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
23
|
|
|
24
24
|
it(`Positive: Should return 'true' for current working directory`, async () => {
|
|
25
|
-
const pfs = new PoweredFileSystem();
|
|
26
|
-
|
|
27
25
|
const exist = await pfs.test('.');
|
|
26
|
+
|
|
28
27
|
assert(exist);
|
|
29
28
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
it(`Positive: For existing file should return 'true'`, async () => {
|
|
32
|
+
const exist = await pfs.test('./tmpdir/tings.txt');
|
|
33
|
+
|
|
35
34
|
assert(exist);
|
|
36
35
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
it(`Positive: For existing directory should return 'true'`, async () => {
|
|
39
|
+
const exist = await pfs.test('./tmpdir/digest');
|
|
40
|
+
|
|
42
41
|
assert(exist);
|
|
43
42
|
});
|
|
44
|
-
|
|
43
|
+
|
|
44
|
+
|
|
45
45
|
it(`Positive: A non-existent file must return 'false'`, async () => {
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const base = chance.guid();
|
|
50
|
-
const exists = await pfs.test(`./${base}`);
|
|
46
|
+
const guid = chance.guid();
|
|
47
|
+
const exist = await pfs.test(`./tmpdir/${guid}`);
|
|
51
48
|
|
|
52
|
-
assert(
|
|
49
|
+
assert(exist === false);
|
|
53
50
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const exists = await pfs.test(`${cwd}${sep}tmpdir`, {
|
|
61
|
-
resolve: false
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
it(`Positive: For existing file should return 'true'`, () => {
|
|
54
|
+
const exist = pfs.test('./tmpdir/tings.txt', {
|
|
55
|
+
sync: true
|
|
62
56
|
});
|
|
63
57
|
|
|
64
|
-
assert(
|
|
58
|
+
assert(exist);
|
|
65
59
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const exist = pfs.test('./tmpdir/libxbase', {
|
|
72
|
-
sync: true
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
assert(exist);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it(`Positive: For existing file should return 'true'`, () => {
|
|
79
|
-
const pfs = new PoweredFileSystem();
|
|
80
|
-
|
|
81
|
-
const exist = pfs.test('./tmpdir/binapp', {
|
|
82
|
-
sync: true
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
assert(exist);
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
it(`[sync] Positive: For existing directory should return 'true'`, () => {
|
|
63
|
+
const exist = pfs.test('./tmpdir/digest', {
|
|
64
|
+
sync: true
|
|
86
65
|
});
|
|
87
66
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const chance = new Chance();
|
|
91
|
-
|
|
92
|
-
const base = chance.guid();
|
|
93
|
-
const exists = pfs.test(`./${base}`, {
|
|
94
|
-
sync: true
|
|
95
|
-
});
|
|
67
|
+
assert(exist);
|
|
68
|
+
});
|
|
96
69
|
|
|
97
|
-
|
|
70
|
+
|
|
71
|
+
it(`[sync] Positive: A non-existent file must return 'false'`, () => {
|
|
72
|
+
const guid = chance.guid();
|
|
73
|
+
|
|
74
|
+
const exist = pfs.test(`./tmpdir/${guid}`, {
|
|
75
|
+
sync: true
|
|
98
76
|
});
|
|
99
77
|
|
|
100
|
-
|
|
101
|
-
const pfs = new PoweredFileSystem();
|
|
102
|
-
|
|
103
|
-
const cwd = process.cwd();
|
|
104
|
-
|
|
105
|
-
const exists = pfs.test(`${cwd}${sep}tmpdir`, {
|
|
106
|
-
sync: true,
|
|
107
|
-
resolve: false
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
assert(exists);
|
|
111
|
-
});
|
|
78
|
+
assert(exist === false);
|
|
112
79
|
});
|
|
113
80
|
});
|
package/test/write.spec.ts
CHANGED
|
@@ -1,167 +1,104 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import
|
|
3
|
-
import mockFs from 'mock-fs';
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import fs from 'node:fs';
|
|
4
3
|
import Chance from 'chance';
|
|
5
|
-
import
|
|
4
|
+
import { expect } from 'expect';
|
|
5
|
+
import { fmock, restore } from './__fmock';
|
|
6
|
+
import { pfs } from '../src';
|
|
6
7
|
|
|
7
8
|
describe('write(src, data[, options])', () => {
|
|
8
|
-
|
|
9
|
-
const chance = new Chance();
|
|
9
|
+
const chance = new Chance();
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
path: 'tmpdir/binapp'
|
|
18
|
-
})
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
fmock({
|
|
13
|
+
'./tmpdir/tings.txt': {
|
|
14
|
+
type: 'file',
|
|
15
|
+
data: chance.string()
|
|
16
|
+
}
|
|
19
17
|
});
|
|
20
18
|
});
|
|
21
|
-
|
|
22
|
-
afterEach(
|
|
19
|
+
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
restore('./tmpdir');
|
|
22
|
+
});
|
|
23
23
|
|
|
24
24
|
it('Positive: Must write content to file', async () => {
|
|
25
|
-
const pfs = new PoweredFileSystem();
|
|
26
|
-
const chance = new Chance();
|
|
27
|
-
|
|
28
|
-
const base = chance.guid();
|
|
29
|
-
const exists = await pfs.test(`./tmpdir/${base}`);
|
|
30
|
-
|
|
31
|
-
assert(exists === false);
|
|
32
|
-
|
|
33
25
|
const payload = chance.paragraph();
|
|
26
|
+
const guid = chance.guid();
|
|
34
27
|
|
|
35
|
-
await pfs.write(`./tmpdir/${
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
assert(
|
|
28
|
+
await pfs.write(`./tmpdir/${guid}.txt`, payload);
|
|
29
|
+
const { size } = fs.lstatSync(`./tmpdir/${guid}.txt`);
|
|
30
|
+
|
|
31
|
+
assert(payload.length === size);
|
|
39
32
|
});
|
|
40
|
-
|
|
33
|
+
|
|
34
|
+
|
|
41
35
|
it('Positive: Must rewrite content if file already exists', async () => {
|
|
42
|
-
const pfs = new PoweredFileSystem();
|
|
43
|
-
const chance = new Chance();
|
|
44
|
-
|
|
45
36
|
const payload = chance.paragraph();
|
|
46
37
|
|
|
47
|
-
await pfs.write('./tmpdir/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
assert(
|
|
38
|
+
await pfs.write('./tmpdir/tings.txt', payload);
|
|
39
|
+
const { size } = fs.lstatSync('./tmpdir/tings.txt');
|
|
40
|
+
|
|
41
|
+
assert(payload.length === size);
|
|
51
42
|
});
|
|
52
43
|
|
|
53
|
-
it(`Positive: Must write content to file, when path is absolute`, async () => {
|
|
54
|
-
const pfs = new PoweredFileSystem();
|
|
55
|
-
const chance = new Chance();
|
|
56
44
|
|
|
45
|
+
it('Negative: Throw if resource is directory', async () => {
|
|
57
46
|
const payload = chance.paragraph();
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const stats = await pfs.stat(`./tmpdir/binapp`);
|
|
65
|
-
assert(stats.size > 0);
|
|
47
|
+
|
|
48
|
+
await expect(async () => {
|
|
49
|
+
await pfs.write('./tmpdir', payload);
|
|
50
|
+
})
|
|
51
|
+
.rejects
|
|
52
|
+
.toThrow();
|
|
66
53
|
});
|
|
67
54
|
|
|
68
|
-
it('Negative: Throw if resource is directory', async () => {
|
|
69
|
-
const pfs = new PoweredFileSystem();
|
|
70
|
-
const chance = new Chance();
|
|
71
|
-
|
|
72
|
-
try {
|
|
73
|
-
const payload = chance.paragraph();
|
|
74
|
-
|
|
75
|
-
await pfs.write('./tmpdir/libxbase', payload);
|
|
76
|
-
}
|
|
77
|
-
catch (err) {
|
|
78
|
-
assert(err.errno === -21);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
55
|
|
|
82
56
|
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const payload = chance.paragraph();
|
|
88
|
-
|
|
89
|
-
await pfs.write('./tmpdir/binapp', payload, {
|
|
57
|
+
const payload = chance.paragraph();
|
|
58
|
+
|
|
59
|
+
await expect(async () => {
|
|
60
|
+
await pfs.write('./tmpdir/tings.txt', payload, {
|
|
90
61
|
flag: 'r'
|
|
91
62
|
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
63
|
+
})
|
|
64
|
+
.rejects
|
|
65
|
+
.toThrow();
|
|
96
66
|
});
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
it('[sync] Positive: Write contents even to a non-existent file', () => {
|
|
70
|
+
const payload = chance.paragraph();
|
|
71
|
+
const guid = chance.guid();
|
|
97
72
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
73
|
+
pfs.write(`./tmpdir/${guid}.txt`, payload, {
|
|
74
|
+
sync: true
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
const content = fs.readFileSync(`./tmpdir/${guid}.txt`, 'utf8');
|
|
78
|
+
|
|
79
|
+
assert(payload === content);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
it('[sync] Negative: Throw if resource is directory', () => {
|
|
84
|
+
const payload = chance.paragraph();
|
|
109
85
|
|
|
110
|
-
|
|
86
|
+
assert.throws(() => {
|
|
87
|
+
pfs.write('./tmpdir', payload, {
|
|
111
88
|
sync: true
|
|
112
89
|
});
|
|
113
|
-
|
|
114
|
-
const stats = await pfs.stat(`./tmpdir/${base}`);
|
|
115
|
-
assert(stats.size > 0);
|
|
116
90
|
});
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
it(`[sync] Negative: Unexpected option 'flag' returns Error`, () => {
|
|
95
|
+
const payload = chance.paragraph();
|
|
117
96
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const chance = new Chance();
|
|
121
|
-
|
|
122
|
-
const payload = chance.paragraph();
|
|
123
|
-
const cwd = process.cwd();
|
|
124
|
-
|
|
125
|
-
pfs.write(`${cwd}${sep}tmpdir${sep}binapp`, payload, {
|
|
97
|
+
assert.throws(() => {
|
|
98
|
+
pfs.write('./tmpdir/tings.txt', payload, {
|
|
126
99
|
sync: true,
|
|
127
|
-
|
|
100
|
+
flag: 'r'
|
|
128
101
|
});
|
|
129
|
-
|
|
130
|
-
const stats = await pfs.stat(`./tmpdir/binapp`);
|
|
131
|
-
assert(stats.size > 0);
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it('Negative: Throw if resource is directory', async () => {
|
|
135
|
-
const pfs = new PoweredFileSystem();
|
|
136
|
-
const chance = new Chance();
|
|
137
|
-
|
|
138
|
-
try {
|
|
139
|
-
const payload = chance.paragraph();
|
|
140
|
-
|
|
141
|
-
pfs.write('./tmpdir/libxbase', payload, {
|
|
142
|
-
sync: true
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
assert(err.errno === -21);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
it(`Negative: Unexpected option 'flag' returns Error`, async () => {
|
|
151
|
-
const pfs = new PoweredFileSystem();
|
|
152
|
-
const chance = new Chance();
|
|
153
|
-
|
|
154
|
-
try {
|
|
155
|
-
const payload = chance.paragraph();
|
|
156
|
-
|
|
157
|
-
pfs.write('./tmpdir/binapp', payload, {
|
|
158
|
-
sync: true,
|
|
159
|
-
flag: 'r'
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
catch (err) {
|
|
163
|
-
assert(err.errno === -9);
|
|
164
|
-
}
|
|
165
102
|
});
|
|
166
103
|
});
|
|
167
104
|
});
|
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "@tsconfig/node16/tsconfig.json",
|
|
3
2
|
"compilerOptions": {
|
|
3
|
+
"lib": [
|
|
4
|
+
"es2022"
|
|
5
|
+
],
|
|
6
|
+
"module": "CommonJS",
|
|
7
|
+
"target": "es2022",
|
|
8
|
+
"moduleResolution": "node",
|
|
9
|
+
"resolveJsonModule": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"allowSyntheticDefaultImports": true,
|
|
12
|
+
"strict": true,
|
|
4
13
|
"useUnknownInCatchVariables": false,
|
|
5
14
|
"declaration": true,
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"**/*.spec.ts"
|
|
11
|
-
]
|
|
15
|
+
"noEmitOnError": true,
|
|
16
|
+
"noUnusedLocals": false,
|
|
17
|
+
"outDir": "lib"
|
|
18
|
+
}
|
|
12
19
|
}
|
package/lib/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recurse-io-sync.js","sourceRoot":"","sources":["../../src/recurse-io-sync.ts"],"names":[],"mappings":"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"}
|