@haibun/storage-mem 1.13.13
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/build/storage-mem.d.ts +15 -0
- package/build/storage-mem.js +44 -0
- package/build/storage-mem.js.map +1 -0
- package/build/storage-mem.test.d.ts +1 -0
- package/build/storage-mem.test.js +78 -0
- package/build/storage-mem.test.js.map +1 -0
- package/index.js +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { IFs } from 'memfs';
|
|
3
|
+
import { AStorage, IFile } from '@haibun/domain-storage/build/AStorage.js';
|
|
4
|
+
export default class StorageMem extends AStorage {
|
|
5
|
+
memFS: IFs;
|
|
6
|
+
exists: (file: string) => boolean;
|
|
7
|
+
mkdir: (dir: string) => void;
|
|
8
|
+
constructor();
|
|
9
|
+
readFile: (file: string, coding?: any) => import("memfs/lib/encoding.js").TDataOut;
|
|
10
|
+
writeFileBuffer: (fn: string, contents: Buffer) => void;
|
|
11
|
+
lstatToIFile(file: string): IFile;
|
|
12
|
+
readdir: (dir: string) => Promise<any[]>;
|
|
13
|
+
readdirStat(dir: string): Promise<IFile[]>;
|
|
14
|
+
mkdirp: (dir: string) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Volume } from 'memfs';
|
|
2
|
+
import { AStorage } from '@haibun/domain-storage/build/AStorage.js';
|
|
3
|
+
export default class StorageMem extends AStorage {
|
|
4
|
+
memFS;
|
|
5
|
+
exists;
|
|
6
|
+
mkdir;
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.memFS = Volume.fromJSON({});
|
|
10
|
+
this.exists = (dir) => this.memFS.existsSync(dir);
|
|
11
|
+
this.mkdir = (dir) => this.memFS.mkdirSync(dir);
|
|
12
|
+
}
|
|
13
|
+
readFile = (file, coding) => this.memFS.readFileSync(file, coding);
|
|
14
|
+
writeFileBuffer = (fn, contents) => {
|
|
15
|
+
this.memFS.writeFileSync(fn, contents);
|
|
16
|
+
};
|
|
17
|
+
lstatToIFile(file) {
|
|
18
|
+
const l = this.memFS.lstatSync(file);
|
|
19
|
+
const ifile = {
|
|
20
|
+
name: file,
|
|
21
|
+
created: l.mtime.getDate(),
|
|
22
|
+
isDirectory: l.isDirectory(),
|
|
23
|
+
isFile: l.isFile()
|
|
24
|
+
};
|
|
25
|
+
return ifile;
|
|
26
|
+
}
|
|
27
|
+
readdir = async (dir) => {
|
|
28
|
+
try {
|
|
29
|
+
return this.memFS.readdirSync(dir).map(i => i.toString());
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
console.error(`can't read ${dir}`);
|
|
33
|
+
throw (e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
async readdirStat(dir) {
|
|
37
|
+
const files = await this.readdir(dir);
|
|
38
|
+
return files.map(f => this.lstatToIFile(`${dir}/${f}`));
|
|
39
|
+
}
|
|
40
|
+
mkdirp = (dir) => {
|
|
41
|
+
this.memFS.mkdirSync(dir, { recursive: true });
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=storage-mem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-mem.js","sourceRoot":"","sources":["../src/storage-mem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAS,MAAM,0CAA0C,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,KAAK,CAAM;IACX,MAAM,CAA4B;IAClC,KAAK,CAAwB;IAC7B;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAQ,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,GAAG,CAAC,IAAY,EAAE,MAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,eAAe,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAA;IACD,YAAY,CAAC,IAAY;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAA;QACD,OAAc,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,IAAI;YACA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC7D;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,CAAC;SACb;IACL,CAAC,CAAA;IACD,KAAK,CAAC,WAAW,CAAC,GAAW;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QACrB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC,CAAA;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { CAPTURE } from '@haibun/core/build/lib/defs.js';
|
|
2
|
+
import { getDefaultWorld, getTestWorldWithOptions } from '@haibun/core/build/lib/test/lib.js';
|
|
3
|
+
import StorageMem from './storage-mem.js';
|
|
4
|
+
describe('getCaptureLocation', () => {
|
|
5
|
+
it('gets capture location', async () => {
|
|
6
|
+
const storageMem = new StorageMem();
|
|
7
|
+
const { world } = getDefaultWorld(0);
|
|
8
|
+
const dir = await storageMem.getCaptureLocation({ ...world, mediaType: "json" /* EMediaTypes.json */ }, 'test');
|
|
9
|
+
expect(dir).toEqual(`./${CAPTURE}/default/loop-0/seq-0/featn-0/mem-0/test`);
|
|
10
|
+
});
|
|
11
|
+
it('gets options capture location', async () => {
|
|
12
|
+
const storageMem = new StorageMem();
|
|
13
|
+
const world = getTestWorldWithOptions({ options: { DEST: 'foo' }, extraOptions: {} });
|
|
14
|
+
const dir = await storageMem.getCaptureLocation({ ...world, mediaType: "json" /* EMediaTypes.json */ }, 'test');
|
|
15
|
+
expect(dir).toEqual(`./${CAPTURE}/foo/loop-0/seq-0/featn-0/mem-0/test`);
|
|
16
|
+
});
|
|
17
|
+
it('gets relative capture location', async () => {
|
|
18
|
+
const storageMem = new StorageMem();
|
|
19
|
+
const world = getTestWorldWithOptions({ options: { DEST: 'foo' }, extraOptions: {} });
|
|
20
|
+
const dir = await storageMem.getCaptureLocation({ ...world, mediaType: "json" /* EMediaTypes.json */ }, 'test');
|
|
21
|
+
expect(dir).toEqual(`./${CAPTURE}/foo/loop-0/seq-0/featn-0/mem-0/test`);
|
|
22
|
+
});
|
|
23
|
+
it('ensures capture location', async () => {
|
|
24
|
+
const storageMem = new StorageMem();
|
|
25
|
+
const { world } = getDefaultWorld(0);
|
|
26
|
+
const loc = await storageMem.getCaptureLocation({ ...world, mediaType: "json" /* EMediaTypes.json */ }, 'test');
|
|
27
|
+
await storageMem.ensureCaptureLocation({ ...world, mediaType: "json" /* EMediaTypes.json */ }, 'test');
|
|
28
|
+
expect(storageMem.exists(loc)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
it('creates a directory', () => {
|
|
31
|
+
const storageMem = new StorageMem();
|
|
32
|
+
storageMem.mkdir(`/${CAPTURE}`);
|
|
33
|
+
expect(storageMem.exists(`/${CAPTURE}`)).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
it('creates a directory with parents', () => {
|
|
36
|
+
const storageMem = new StorageMem();
|
|
37
|
+
storageMem.mkdirp(`/${CAPTURE}/wtw`);
|
|
38
|
+
expect(storageMem.exists(`/${CAPTURE}/wtw`)).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
it('exists', () => {
|
|
41
|
+
const storageMem = new StorageMem();
|
|
42
|
+
storageMem.mkdirp(`/${CAPTURE}/wtw`);
|
|
43
|
+
expect(storageMem.exists(`/${CAPTURE}/wtw`)).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
it('does not exist', () => {
|
|
46
|
+
const storageMem = new StorageMem();
|
|
47
|
+
expect(storageMem.exists(`/${CAPTURE}/wtw`)).toBe(false);
|
|
48
|
+
});
|
|
49
|
+
it('readdir', async () => {
|
|
50
|
+
const storageMem = new StorageMem();
|
|
51
|
+
storageMem.mkdirp(`/${CAPTURE}/wtw`);
|
|
52
|
+
const files = await storageMem.readdir(`/${CAPTURE}`);
|
|
53
|
+
expect(files).toEqual(['wtw']);
|
|
54
|
+
});
|
|
55
|
+
it('writes and reads a file', () => {
|
|
56
|
+
const storageMem = new StorageMem();
|
|
57
|
+
storageMem.writeFileBuffer(`/test.txt`, Buffer.from('test'));
|
|
58
|
+
const text = storageMem.readFile(`/test.txt`);
|
|
59
|
+
expect(text).toEqual(Buffer.from('test'));
|
|
60
|
+
});
|
|
61
|
+
it('lstat', () => {
|
|
62
|
+
const storageMem = new StorageMem();
|
|
63
|
+
storageMem.mkdirp(`/${CAPTURE}/wtw`);
|
|
64
|
+
const lstat = storageMem.lstatToIFile(`/${CAPTURE}/wtw`);
|
|
65
|
+
expect(lstat.name).toEqual(`/${CAPTURE}/wtw`);
|
|
66
|
+
expect(lstat.isDirectory).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
it('readdirStat', async () => {
|
|
69
|
+
const storageMem = new StorageMem();
|
|
70
|
+
storageMem.mkdirp(`/${CAPTURE}/wtw`);
|
|
71
|
+
storageMem.writeFileBuffer(`/${CAPTURE}/wtw/test.txt`, Buffer.from('test'));
|
|
72
|
+
const files = await storageMem.readdirStat(`/${CAPTURE}`);
|
|
73
|
+
const expected = [{ name: `/${CAPTURE}/wtw`, isDirectory: true, isFile: false, isSymbolicLink: false },
|
|
74
|
+
{ name: `/${CAPTURE}/wtw/test.txt`, isDirectory: false, isFile: true, isSymbolicLink: false }];
|
|
75
|
+
expect(files).toEqual(files);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=storage-mem.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-mem.test.js","sourceRoot":"","sources":["../src/storage-mem.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE9F,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,+BAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,0CAA0C,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,+BAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,sCAAsC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,+BAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,OAAO,sCAAsC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,+BAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QACnG,MAAM,UAAU,CAAC,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,+BAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1F,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACd,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC;QACrC,UAAU,CAAC,eAAe,CAAC,IAAI,OAAO,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE;YAChG,EAAE,IAAI,EAAE,IAAI,OAAO,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;QACpG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './build/storage-mem';
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@haibun/storage-mem",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "1.13.13",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"build/"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc -b .",
|
|
12
|
+
"prepublishOnly": "tsc -b .",
|
|
13
|
+
"test": "jest",
|
|
14
|
+
"test-watch": "jest --watch"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [],
|
|
17
|
+
"author": "",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/jest": "^29.2.4",
|
|
21
|
+
"@types/node": "^18.11.14",
|
|
22
|
+
"@typescript-eslint/eslint-plugin": "^5.48.0",
|
|
23
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
24
|
+
"eslint": "^8.31.0",
|
|
25
|
+
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
26
|
+
"eslint-config-prettier": "^8.6.0",
|
|
27
|
+
"eslint-plugin-import": "^2.22.1",
|
|
28
|
+
"eslint-plugin-prefer-arrow": "^1.2.2",
|
|
29
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
30
|
+
"jest": "^29.3.1",
|
|
31
|
+
"prettier": "^2.8.1",
|
|
32
|
+
"typescript": "^5.0.0-dev.20230117"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@haibun/core": "1.13.13",
|
|
36
|
+
"@haibun/domain-storage": "1.13.13",
|
|
37
|
+
"memfs": "^3.4.13"
|
|
38
|
+
}
|
|
39
|
+
}
|