bitbucket-fs
v1.0.18
Published
### Description Git has originaly been designed as a file system, so there is an opportunity to use a git repo hoster as a distant file system. Moreover, private bitbucket repo are free.
Downloads
6
Readme
Bitbucket FS
Use a bitbucket repo as a file system
Description
Git has originaly been designed as a file system, so there is an opportunity to use a git repo hoster as a distant file system. Moreover, private bitbucket repo are free.
This lib also provide a node persist like functionnality, but based on bitbucket as a file system. Since it is distant, the db is cached. The cache can be reinitialised with a restart (consecutive to a deployment for instance).
Example of use
First init the lib with needed parameters
import { init } from 'bitbucket-fs'
init(
'profile-name/repo-name',
process.env.BITBUCKET_STORAGE_USERNAME,
process.env.BITBUCKET_STORAGE_PASSWORD,
process.env.NODE_ENV
)
Replace with your profile-name and repo-name. The last argument will allow to manage documents in a subdirectory. If you use the repo for multiple environement, it may be usefull to place your files under a directory dedicated to the current environement.
Manage files
Functions are asynchronous, you can await them if you need it, like handling errors
import { saveFile } from 'bitbucket-fs'
...
// file is an arraybuffer
...
saveFile(file, 'file-name')
...
import { readFile } from 'bitbucket-fs'
...
const file = await readFile('file-name')
// file is an arraybuffer
...
import { removeFile } from 'bitbucket-fs'
...
removeFile('file-name')
...
node-persist like functionalites
import * as storage from 'bitbucket-fs/node-persist'
...
const items = await storage.getItem('items') || []
items.push({ id: 3, name: 'a name'})
await storage.setItem('items', items)