1.0.18 • Published 2 years ago

bitbucket-fs v1.0.18

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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)
1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago