0.6.23 • Published 1 year ago

memory-tree v0.6.23

Weekly downloads
4
License
MIT
Repository
github
Last release
1 year ago

memory-tree

map file system into memory within lodash

Install

$ npm i memory-tree --save

Usage test/index.js

const path = require('path')
const MemoryTree = require('memory-tree')

const memory = MemoryTree({
    /**
     * 存储数据时触发
     * @param  {string} pathname 对应路径, 会根据 `\/` 分割
     * @param  {string/buffer} data 从文件系统获取的源数据
     * @return {string/buffer} 返回修改后的数据
     */
    onSet: (pathname, data) => data,
    /**
     * 获取数据时触发
     * @param  {string} pathname 对应路径, 会根据 `\/` 分割
     * @param  {string/buffer} data 之前存入的数据
     * @return {string/buffer} 返回修改后的数据
     */
    onGet: (pathname, data) => data,
    /**
     * 文件修改时触发检查  `fs.watch` 的 callback
     * @param  {string} eventType 修改类型 如: 'change'
     * @param  {string} pathname 事件触发的文件路径
     */
    buildWatcher: (eventType, pathname) => console.log(eventType, pathname),
    /**
     * 允许加载到内存的资源
     * @param  {string} pathname 待检查资源路径
     * @return {boolean}         是否允许加载到内存
     */
    buildFilter: (pathname) => !/node_modules|([\\\/]|^)\./.test(pathname),
    /**
     * 允许从内存中保存到文件系统的资源
     * @param  {string} pathname 待检查资源路径
     * @param  {string/buffer} data     资源内容 (注: 检查路径等时刻, data未设置, 参考 lib/mem2fs.js)
     * @return {boolean}         是否允许保存到文件
     */
    outputFilter: (pathname, data) => (!data || data.length < 64 * 1024) && !/node_modules|([\\\/]|^)\./.test(pathname),
    /**
     * 输出时重命名资源
     * @param  {string} pathname 待检查资源路径
     * @param  {string/buffer} data     资源内容 【可以根据内容md5重命名】
     * @return {string}          重命名结果
     */
    outputRename: (pathname, data) => pathname
})

memory.build(path.resolve(__dirname, '../'), {watch: 1}).then(e => {
    memory.output(path.resolve(__dirname, '../../memory-tree-out')).then(e => {
        console.log('copy ok!')
    }).catch(e => {
        console.log(e)
    })
}).catch(e => {
    console.log(e)
})
0.6.21

1 year ago

0.6.20

1 year ago

0.6.23

1 year ago

0.6.22

1 year ago

0.6.19

2 years ago

0.6.18

2 years ago

0.6.16

3 years ago

0.6.15

3 years ago

0.6.14

4 years ago

0.6.13

4 years ago

0.6.12

4 years ago

0.6.11

5 years ago

0.6.10

5 years ago

0.6.9

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.6

6 years ago

0.6.5

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.8

6 years ago

0.4.7

6 years ago

0.4.6

6 years ago

0.4.5

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.7

7 years ago

0.3.6

7 years ago

0.3.5

7 years ago

0.3.4

7 years ago

0.3.3

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.0

7 years ago