diff --git a/src/OrbitDB.js b/src/OrbitDB.js index a41e0e5..77c1c34 100644 --- a/src/OrbitDB.js +++ b/src/OrbitDB.js @@ -9,7 +9,7 @@ import OrbitDBAddress, { isValidAddress } from './address.js' import DBManifest from './manifest.js' import { createId, isDefined } from './utils/index.js' // import Logger from 'logplease' -import path from 'path' +import pathJoin from './utils/path-join.js' import * as Block from 'multiformats/block' import * as dagCbor from '@ipld/dag-cbor' import { sha256 } from 'multiformats/hashes/sha2' @@ -46,7 +46,7 @@ const OrbitDB = async ({ ipfs, id, identity, keystore, directory } = {}) => { id = id || await createId() const { id: peerId } = await ipfs.id() directory = directory || './orbitdb' - keystore = keystore || await KeyStore({ path: path.join(directory, './keystore') }) + keystore = keystore || await KeyStore({ path: pathJoin(directory, './keystore') }) const identities = await Identities({ ipfs, keystore }) identity = identity || await identities.createIdentity({ id }) diff --git a/src/address.js b/src/address.js index 365e78f..74eb5a7 100644 --- a/src/address.js +++ b/src/address.js @@ -1,6 +1,6 @@ -import * as Path from 'path' import { CID } from 'multiformats/cid' import { base58btc } from 'multiformats/bases/base58' +import { posixJoin } from './utils/path-join.js' const isValidAddress = (address) => { address = address.toString() @@ -45,7 +45,7 @@ const OrbitDBAddress = (address) => { const path = address.replace('/orbitdb/', '').replace('\\orbitdb\\', '') const toString = () => { - return (Path.posix || Path).join('/', protocol, '/', path) + return posixJoin('/', protocol, path) } return { diff --git a/src/database.js b/src/database.js index 5b7af4b..c23fd39 100644 --- a/src/database.js +++ b/src/database.js @@ -1,8 +1,8 @@ import { EventEmitter } from 'events' import PQueue from 'p-queue' -import Path from 'path' import Sync from './sync.js' import { ComposedStorage, LRUStorage, IPFSBlockStorage, LevelStorage } from './storage/index.js' +import pathJoin from './utils/path-join.js' const defaultPointerCount = 0 const defaultCacheSize = 1000 @@ -10,7 +10,7 @@ const defaultCacheSize = 1000 const Database = async ({ OpLog, ipfs, identity, address, name, accessController, directory, meta, headsStorage, entryStorage, indexStorage, pointerCount, syncAutomatically }) => { const { Log, Entry } = OpLog - directory = Path.join(directory || './orbitdb', `./${address}/`) + directory = pathJoin(directory || './orbitdb', `./${address}/`) meta = meta || {} pointerCount = pointerCount || defaultPointerCount @@ -21,12 +21,12 @@ const Database = async ({ OpLog, ipfs, identity, address, name, accessController headsStorage = headsStorage || await ComposedStorage( await LRUStorage({ size: defaultCacheSize }), - await LevelStorage({ path: Path.join(directory, '/log/_heads/') }) + await LevelStorage({ path: pathJoin(directory, '/log/_heads/') }) ) indexStorage = indexStorage || await ComposedStorage( await LRUStorage({ size: defaultCacheSize }), - await LevelStorage({ path: Path.join(directory, '/log/_index/') }) + await LevelStorage({ path: pathJoin(directory, '/log/_index/') }) ) const log = await Log(identity, { logId: address, access: accessController, entryStorage, headsStorage, indexStorage }) diff --git a/src/db/keyvalue-persisted.js b/src/db/keyvalue-persisted.js index 948378c..e487a1d 100644 --- a/src/db/keyvalue-persisted.js +++ b/src/db/keyvalue-persisted.js @@ -1,7 +1,7 @@ import LevelStorage from '../storage/level.js' import { KeyValue } from './index.js' +import pathJoin from '../utils/path-join.js' import PQueue from 'p-queue' -import path from 'path' const valueEncoding = 'json' @@ -11,7 +11,7 @@ const KeyValuePersisted = async ({ OpLog, Database, ipfs, identity, address, nam const queue = new PQueue({ concurrency: 1 }) - directory = path.join(directory || './orbitdb', `./${address}/_index/`) + directory = pathJoin(directory || './orbitdb', `./${address}/_index/`) const index = await LevelStorage({ path: directory, valueEncoding }) let latestOplogHash diff --git a/src/identities/identities.js b/src/identities/identities.js index 5095c72..762f44b 100644 --- a/src/identities/identities.js +++ b/src/identities/identities.js @@ -4,10 +4,10 @@ import OrbitDBIdentityProvider from './providers/orbitdb.js' // import EthIdentityProvider from './identity-providers/ethereum.js' import KeyStore, { signMessage, verifyMessage } from '../key-store.js' import { LRUStorage, IPFSBlockStorage, MemoryStorage, ComposedStorage } from '../storage/index.js' -import Path from 'path' +import pathJoin from '../utils/path-join.js' const DefaultProviderType = 'orbitdb' -const DefaultIdentityKeysPath = Path.join('./orbitdb', 'identities') +const DefaultIdentityKeysPath = pathJoin('./orbitdb', 'identities') const supportedTypes = { orbitdb: OrbitDBIdentityProvider diff --git a/src/manifest.js b/src/manifest.js index c956539..2925ba5 100644 --- a/src/manifest.js +++ b/src/manifest.js @@ -1,5 +1,4 @@ -import path from 'path' - +import pathJoin from './utils/path-join.js' import * as Block from 'multiformats/block' import * as dagCbor from '@ipld/dag-cbor' import { sha256 } from 'multiformats/hashes/sha2' @@ -20,7 +19,7 @@ export default async (storage, name, type, accessControllerAddress, { meta } = { { name, type, - accessController: (path.posix || path).join('/ipfs', accessControllerAddress) + accessController: pathJoin('/ipfs', accessControllerAddress) }, // meta field is only added to manifest if meta parameter is defined meta !== undefined ? { meta } : {} diff --git a/src/sync.js b/src/sync.js index 74f5aa5..6766749 100644 --- a/src/sync.js +++ b/src/sync.js @@ -1,8 +1,8 @@ import { pipe } from 'it-pipe' import PQueue from 'p-queue' -import Path from 'path' import { EventEmitter } from 'events' import { TimeoutController } from 'timeout-abort-controller' +import pathJoin from './utils/path-join.js' const DefaultTimeout = 30000 // 30 seconds @@ -46,7 +46,7 @@ const Sync = async ({ ipfs, log, events, onSynced, start, timeout }) => { if (!log) throw new Error('An instance of log is required.') const address = log.id - const headsSyncAddress = Path.join('/orbitdb/heads/', address) + const headsSyncAddress = pathJoin('/orbitdb/heads/', address) const queue = new PQueue({ concurrency: 1 }) const peers = new Set()