From 40b477022de4cc578fe529bff2fb1755d9612026 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Sun, 19 Sep 2021 12:54:54 +0100 Subject: [PATCH 01/28] feat: switch to esm First pass, everything's on fire. --- .gitignore | 1 + README.md | 2 +- docs/DAEMON.md | 2 +- docs/MIGRATION-TO-ASYNC-AWAIT.md | 50 ++-- docs/MODULE.md | 4 +- docs/core-api/BLOCK.md | 6 +- docs/core-api/DAG.md | 2 +- .../{.aegir.js => .aegir.cjs} | 0 packages/interface-ipfs-core/README.md | 2 +- packages/interface-ipfs-core/package.json | 46 ++- packages/interface-ipfs-core/src/add-all.js | 43 +-- packages/interface-ipfs-core/src/add.js | 30 +- .../interface-ipfs-core/src/bitswap/index.js | 20 +- .../interface-ipfs-core/src/bitswap/stat.js | 8 +- .../src/bitswap/transfer.js | 20 +- .../interface-ipfs-core/src/bitswap/unwant.js | 6 +- .../interface-ipfs-core/src/bitswap/utils.js | 10 +- .../src/bitswap/wantlist-for-peer.js | 14 +- .../src/bitswap/wantlist.js | 20 +- packages/interface-ipfs-core/src/block/get.js | 15 +- .../interface-ipfs-core/src/block/index.js | 18 +- packages/interface-ipfs-core/src/block/put.js | 19 +- packages/interface-ipfs-core/src/block/rm.js | 25 +- .../interface-ipfs-core/src/block/stat.js | 13 +- .../interface-ipfs-core/src/bootstrap/add.js | 8 +- .../src/bootstrap/clear.js | 9 +- .../src/bootstrap/index.js | 21 +- .../interface-ipfs-core/src/bootstrap/list.js | 9 +- .../src/bootstrap/reset.js | 9 +- .../interface-ipfs-core/src/bootstrap/rm.js | 9 +- packages/interface-ipfs-core/src/cat.js | 29 +- .../interface-ipfs-core/src/config/get.js | 6 +- .../interface-ipfs-core/src/config/index.js | 17 +- .../src/config/profiles/apply.js | 6 +- .../src/config/profiles/index.js | 12 +- .../src/config/profiles/list.js | 6 +- .../interface-ipfs-core/src/config/replace.js | 7 +- .../interface-ipfs-core/src/config/set.js | 9 +- .../interface-ipfs-core/src/dag/export.js | 26 +- packages/interface-ipfs-core/src/dag/get.js | 36 +-- .../interface-ipfs-core/src/dag/import.js | 25 +- packages/interface-ipfs-core/src/dag/index.js | 21 +- packages/interface-ipfs-core/src/dag/put.js | 23 +- .../interface-ipfs-core/src/dag/resolve.js | 13 +- .../interface-ipfs-core/src/dht/disabled.js | 9 +- .../interface-ipfs-core/src/dht/find-peer.js | 8 +- .../interface-ipfs-core/src/dht/find-provs.js | 17 +- packages/interface-ipfs-core/src/dht/get.js | 13 +- packages/interface-ipfs-core/src/dht/index.js | 27 +- .../interface-ipfs-core/src/dht/provide.js | 13 +- packages/interface-ipfs-core/src/dht/put.js | 11 +- packages/interface-ipfs-core/src/dht/query.js | 15 +- packages/interface-ipfs-core/src/dht/utils.js | 10 +- .../interface-ipfs-core/src/files/chmod.js | 13 +- packages/interface-ipfs-core/src/files/cp.js | 33 +-- .../interface-ipfs-core/src/files/flush.js | 11 +- .../interface-ipfs-core/src/files/index.js | 39 ++- packages/interface-ipfs-core/src/files/ls.js | 19 +- .../interface-ipfs-core/src/files/mkdir.js | 17 +- packages/interface-ipfs-core/src/files/mv.js | 37 +-- .../interface-ipfs-core/src/files/read.js | 19 +- packages/interface-ipfs-core/src/files/rm.js | 17 +- .../interface-ipfs-core/src/files/stat.js | 27 +- .../interface-ipfs-core/src/files/touch.js | 17 +- .../interface-ipfs-core/src/files/write.js | 37 +-- packages/interface-ipfs-core/src/get.js | 39 +-- packages/interface-ipfs-core/src/index.js | 85 +++--- packages/interface-ipfs-core/src/key/gen.js | 15 +- .../interface-ipfs-core/src/key/import.js | 11 +- packages/interface-ipfs-core/src/key/index.js | 21 +- packages/interface-ipfs-core/src/key/list.js | 9 +- .../interface-ipfs-core/src/key/rename.js | 9 +- packages/interface-ipfs-core/src/key/rm.js | 9 +- packages/interface-ipfs-core/src/ls.js | 15 +- .../src/miscellaneous/dns.js | 13 +- .../src/miscellaneous/id.js | 13 +- .../src/miscellaneous/index.js | 21 +- .../src/miscellaneous/resolve.js | 21 +- .../src/miscellaneous/stop.js | 7 +- .../src/miscellaneous/version.js | 7 +- .../src/name-pubsub/cancel.js | 11 +- .../src/name-pubsub/index.js | 18 +- .../src/name-pubsub/pubsub.js | 25 +- .../src/name-pubsub/state.js | 7 +- .../src/name-pubsub/subs.js | 9 +- .../interface-ipfs-core/src/name/index.js | 12 +- .../interface-ipfs-core/src/name/publish.js | 17 +- .../interface-ipfs-core/src/name/resolve.js | 23 +- .../interface-ipfs-core/src/name/utils.js | 6 +- .../interface-ipfs-core/src/object/data.js | 11 +- .../interface-ipfs-core/src/object/get.js | 21 +- .../interface-ipfs-core/src/object/index.js | 27 +- .../interface-ipfs-core/src/object/links.js | 17 +- .../interface-ipfs-core/src/object/new.js | 7 +- .../src/object/patch/add-link.js | 15 +- .../src/object/patch/append-data.js | 9 +- .../src/object/patch/index.js | 18 +- .../src/object/patch/rm-link.js | 15 +- .../src/object/patch/set-data.js | 8 +- .../interface-ipfs-core/src/object/put.js | 21 +- .../interface-ipfs-core/src/object/stat.js | 17 +- .../interface-ipfs-core/src/pin/add-all.js | 13 +- packages/interface-ipfs-core/src/pin/add.js | 15 +- packages/interface-ipfs-core/src/pin/index.js | 23 +- packages/interface-ipfs-core/src/pin/ls.js | 11 +- .../interface-ipfs-core/src/pin/remote/add.js | 8 +- .../src/pin/remote/index.js | 21 +- .../interface-ipfs-core/src/pin/remote/ls.js | 13 +- .../src/pin/remote/rm-all.js | 12 +- .../interface-ipfs-core/src/pin/remote/rm.js | 12 +- .../src/pin/remote/service.js | 9 +- .../interface-ipfs-core/src/pin/rm-all.js | 13 +- packages/interface-ipfs-core/src/pin/rm.js | 11 +- packages/interface-ipfs-core/src/pin/utils.js | 46 ++- .../interface-ipfs-core/src/ping/index.js | 6 +- packages/interface-ipfs-core/src/ping/ping.js | 15 +- .../interface-ipfs-core/src/ping/utils.js | 12 +- .../interface-ipfs-core/src/pubsub/index.js | 21 +- packages/interface-ipfs-core/src/pubsub/ls.js | 11 +- .../interface-ipfs-core/src/pubsub/peers.js | 15 +- .../interface-ipfs-core/src/pubsub/publish.js | 13 +- .../src/pubsub/subscribe.js | 33 +-- .../src/pubsub/unsubscribe.js | 12 +- .../interface-ipfs-core/src/pubsub/utils.js | 14 +- .../interface-ipfs-core/src/refs-local.js | 21 +- packages/interface-ipfs-core/src/refs.js | 27 +- packages/interface-ipfs-core/src/repo/gc.js | 17 +- .../interface-ipfs-core/src/repo/index.js | 9 +- packages/interface-ipfs-core/src/repo/stat.js | 6 +- .../interface-ipfs-core/src/repo/version.js | 7 +- .../interface-ipfs-core/src/stats/bitswap.js | 6 +- packages/interface-ipfs-core/src/stats/bw.js | 11 +- .../interface-ipfs-core/src/stats/index.js | 15 +- .../interface-ipfs-core/src/stats/repo.js | 6 +- .../interface-ipfs-core/src/stats/utils.js | 2 +- .../interface-ipfs-core/src/swarm/addrs.js | 15 +- .../interface-ipfs-core/src/swarm/connect.js | 11 +- .../src/swarm/disconnect.js | 11 +- .../interface-ipfs-core/src/swarm/index.js | 21 +- .../src/swarm/local-addrs.js | 9 +- .../interface-ipfs-core/src/swarm/peers.js | 17 +- .../src/utils/blockstore-adapter.js | 19 +- .../src/utils/create-sharded-directory.js | 10 +- .../src/utils/create-two-shards.js | 12 +- .../interface-ipfs-core/src/utils/index.js | 10 +- .../ipfs-options-websockets-filter-all.js | 2 +- .../src/utils/is-shard-at-path.js | 6 +- .../interface-ipfs-core/src/utils/mocha.js | 13 +- .../interface-ipfs-core/src/utils/suite.js | 2 +- .../src/utils/test-timeout.js | 5 +- .../src/utils/traverse-leaf-nodes.js | 2 +- .../interface-ipfs-core/src/utils/wait-for.js | 8 +- .../fixtures/hidden-files-folder/ipfs-add.js | 2 +- .../test/fixtures/test-folder/ipfs-add.js | 2 +- .../test/fixtures/weird name folder [v0]/add | 2 +- .../test/fixtures/weird name folder [v0]/cat | 2 +- .../fixtures/weird name folder [v0]/ipfs-add | 2 +- .../test/fixtures/weird name folder [v0]/ls | 2 +- .../fixtures/weird name folder [v0]/version | 2 +- .../test/interface.spec.js | 1 - packages/interface-ipfs-core/tsconfig.json | 4 +- packages/ipfs-cli/package.json | 24 +- packages/ipfs-cli/src/command-alias.js | 3 +- packages/ipfs-cli/src/commands/add.js | 22 +- packages/ipfs-cli/src/commands/bitswap.js | 4 +- .../ipfs-cli/src/commands/bitswap/stat.js | 8 +- .../ipfs-cli/src/commands/bitswap/unwant.js | 8 +- .../ipfs-cli/src/commands/bitswap/wantlist.js | 6 +- packages/ipfs-cli/src/commands/block.js | 4 +- packages/ipfs-cli/src/commands/block/get.js | 10 +- packages/ipfs-cli/src/commands/block/put.js | 10 +- packages/ipfs-cli/src/commands/block/rm.js | 8 +- packages/ipfs-cli/src/commands/block/stat.js | 8 +- packages/ipfs-cli/src/commands/bootstrap.js | 4 +- .../ipfs-cli/src/commands/bootstrap/add.js | 8 +- .../ipfs-cli/src/commands/bootstrap/list.js | 6 +- .../ipfs-cli/src/commands/bootstrap/rm.js | 8 +- packages/ipfs-cli/src/commands/cat.js | 6 +- packages/ipfs-cli/src/commands/cid.js | 4 +- packages/ipfs-cli/src/commands/cid/base32.js | 10 +- packages/ipfs-cli/src/commands/cid/bases.js | 4 +- packages/ipfs-cli/src/commands/cid/codecs.js | 4 +- packages/ipfs-cli/src/commands/cid/format.js | 8 +- packages/ipfs-cli/src/commands/cid/hashes.js | 4 +- packages/ipfs-cli/src/commands/commands.js | 10 +- packages/ipfs-cli/src/commands/config.js | 8 +- packages/ipfs-cli/src/commands/config/edit.js | 8 +- .../ipfs-cli/src/commands/config/profile.js | 4 +- .../src/commands/config/profile/apply.js | 8 +- .../src/commands/config/profile/ls.js | 6 +- .../ipfs-cli/src/commands/config/replace.js | 10 +- packages/ipfs-cli/src/commands/config/show.js | 6 +- packages/ipfs-cli/src/commands/daemon.js | 24 +- packages/ipfs-cli/src/commands/dag.js | 4 +- packages/ipfs-cli/src/commands/dag/export.js | 10 +- packages/ipfs-cli/src/commands/dag/get.js | 22 +- packages/ipfs-cli/src/commands/dag/import.js | 12 +- packages/ipfs-cli/src/commands/dag/put.js | 18 +- packages/ipfs-cli/src/commands/dag/resolve.js | 8 +- packages/ipfs-cli/src/commands/dht.js | 4 +- .../ipfs-cli/src/commands/dht/find-peer.js | 6 +- .../src/commands/dht/find-providers.js | 8 +- packages/ipfs-cli/src/commands/dht/get.js | 10 +- packages/ipfs-cli/src/commands/dht/provide.js | 8 +- packages/ipfs-cli/src/commands/dht/put.js | 8 +- packages/ipfs-cli/src/commands/dht/query.js | 6 +- packages/ipfs-cli/src/commands/dns.js | 10 +- packages/ipfs-cli/src/commands/files.js | 3 +- packages/ipfs-cli/src/commands/files/chmod.js | 10 +- packages/ipfs-cli/src/commands/files/cp.js | 10 +- packages/ipfs-cli/src/commands/files/flush.js | 6 +- packages/ipfs-cli/src/commands/files/ls.js | 14 +- packages/ipfs-cli/src/commands/files/mkdir.js | 10 +- packages/ipfs-cli/src/commands/files/mv.js | 10 +- packages/ipfs-cli/src/commands/files/read.js | 6 +- packages/ipfs-cli/src/commands/files/rm.js | 10 +- packages/ipfs-cli/src/commands/files/stat.js | 14 +- packages/ipfs-cli/src/commands/files/touch.js | 10 +- packages/ipfs-cli/src/commands/files/write.js | 10 +- packages/ipfs-cli/src/commands/get.js | 22 +- packages/ipfs-cli/src/commands/id.js | 6 +- packages/ipfs-cli/src/commands/init.js | 22 +- packages/ipfs-cli/src/commands/key.js | 4 +- packages/ipfs-cli/src/commands/key/export.js | 8 +- packages/ipfs-cli/src/commands/key/gen.js | 10 +- packages/ipfs-cli/src/commands/key/import.js | 8 +- packages/ipfs-cli/src/commands/key/list.js | 10 +- packages/ipfs-cli/src/commands/key/rename.js | 10 +- packages/ipfs-cli/src/commands/key/rm.js | 10 +- packages/ipfs-cli/src/commands/ls.js | 12 +- packages/ipfs-cli/src/commands/name.js | 4 +- .../ipfs-cli/src/commands/name/publish.js | 10 +- packages/ipfs-cli/src/commands/name/pubsub.js | 4 +- .../src/commands/name/pubsub/cancel.js | 6 +- .../src/commands/name/pubsub/state.js | 6 +- .../ipfs-cli/src/commands/name/pubsub/subs.js | 10 +- .../ipfs-cli/src/commands/name/resolve.js | 6 +- packages/ipfs-cli/src/commands/object.js | 3 +- packages/ipfs-cli/src/commands/object/data.js | 8 +- packages/ipfs-cli/src/commands/object/get.js | 14 +- .../ipfs-cli/src/commands/object/links.js | 10 +- packages/ipfs-cli/src/commands/object/new.js | 6 +- .../ipfs-cli/src/commands/object/patch.js | 4 +- .../src/commands/object/patch/add-link.js | 10 +- .../src/commands/object/patch/append-data.js | 12 +- .../src/commands/object/patch/rm-link.js | 8 +- .../src/commands/object/patch/set-data.js | 12 +- packages/ipfs-cli/src/commands/object/put.js | 14 +- packages/ipfs-cli/src/commands/object/stat.js | 8 +- packages/ipfs-cli/src/commands/pin.js | 3 +- packages/ipfs-cli/src/commands/pin/add.js | 6 +- packages/ipfs-cli/src/commands/pin/ls.js | 10 +- packages/ipfs-cli/src/commands/pin/rm.js | 6 +- packages/ipfs-cli/src/commands/ping.js | 6 +- packages/ipfs-cli/src/commands/pubsub.js | 3 +- packages/ipfs-cli/src/commands/pubsub/ls.js | 10 +- .../ipfs-cli/src/commands/pubsub/peers.js | 6 +- packages/ipfs-cli/src/commands/pubsub/pub.js | 8 +- packages/ipfs-cli/src/commands/pubsub/sub.js | 6 +- packages/ipfs-cli/src/commands/refs-local.js | 10 +- packages/ipfs-cli/src/commands/refs.js | 5 +- packages/ipfs-cli/src/commands/repo.js | 3 +- packages/ipfs-cli/src/commands/repo/gc.js | 6 +- packages/ipfs-cli/src/commands/repo/stat.js | 8 +- .../ipfs-cli/src/commands/repo/version.js | 6 +- packages/ipfs-cli/src/commands/resolve.js | 10 +- packages/ipfs-cli/src/commands/shutdown.js | 6 +- packages/ipfs-cli/src/commands/stats.js | 3 +- .../ipfs-cli/src/commands/stats/bitswap.js | 10 +- packages/ipfs-cli/src/commands/stats/bw.js | 6 +- packages/ipfs-cli/src/commands/stats/repo.js | 6 +- packages/ipfs-cli/src/commands/swarm.js | 3 +- packages/ipfs-cli/src/commands/swarm/addrs.js | 6 +- .../src/commands/swarm/addrs/local.js | 6 +- .../ipfs-cli/src/commands/swarm/connect.js | 10 +- .../ipfs-cli/src/commands/swarm/disconnect.js | 10 +- packages/ipfs-cli/src/commands/swarm/peers.js | 10 +- packages/ipfs-cli/src/commands/version.js | 7 +- packages/ipfs-cli/src/index.js | 11 +- packages/ipfs-cli/src/parser.js | 5 +- packages/ipfs-cli/src/utils.js | 98 +++---- packages/ipfs-cli/test/add.js | 16 +- packages/ipfs-cli/test/bitswap.js | 12 +- packages/ipfs-cli/test/block.js | 14 +- packages/ipfs-cli/test/bootstrap.js | 8 +- packages/ipfs-cli/test/cat.js | 10 +- packages/ipfs-cli/test/cid.js | 18 +- packages/ipfs-cli/test/commands.js | 4 +- packages/ipfs-cli/test/config.js | 6 +- packages/ipfs-cli/test/daemon.js | 16 +- packages/ipfs-cli/test/dag.js | 22 +- packages/ipfs-cli/test/dht.js | 12 +- packages/ipfs-cli/test/dns.js | 6 +- packages/ipfs-cli/test/files/chmod.js | 6 +- packages/ipfs-cli/test/files/cp.js | 6 +- packages/ipfs-cli/test/files/flush.js | 12 +- packages/ipfs-cli/test/files/index.js | 2 +- packages/ipfs-cli/test/files/ls.js | 12 +- packages/ipfs-cli/test/files/mkdir.js | 8 +- packages/ipfs-cli/test/files/mv.js | 8 +- packages/ipfs-cli/test/files/read.js | 8 +- packages/ipfs-cli/test/files/rm.js | 8 +- packages/ipfs-cli/test/files/stat.js | 12 +- packages/ipfs-cli/test/files/touch.js | 8 +- packages/ipfs-cli/test/files/write.js | 8 +- packages/ipfs-cli/test/general.js | 18 +- packages/ipfs-cli/test/get.js | 22 +- packages/ipfs-cli/test/id.js | 8 +- packages/ipfs-cli/test/init.js | 14 +- packages/ipfs-cli/test/key.js | 6 +- packages/ipfs-cli/test/ls.js | 12 +- packages/ipfs-cli/test/name-pubsub.js | 6 +- packages/ipfs-cli/test/name.js | 6 +- packages/ipfs-cli/test/node.js | 4 +- packages/ipfs-cli/test/object.js | 20 +- packages/ipfs-cli/test/pin.js | 12 +- packages/ipfs-cli/test/ping.js | 6 +- packages/ipfs-cli/test/progress-bar.js | 4 +- packages/ipfs-cli/test/pubsub.js | 8 +- packages/ipfs-cli/test/refs-local.js | 10 +- packages/ipfs-cli/test/refs.js | 8 +- packages/ipfs-cli/test/repo.js | 8 +- packages/ipfs-cli/test/resolve.js | 8 +- packages/ipfs-cli/test/swarm.js | 8 +- packages/ipfs-cli/test/utils/clean.js | 10 +- packages/ipfs-cli/test/utils/cli.js | 6 +- packages/ipfs-cli/test/utils/ipfs-exec.js | 6 +- .../ipfs-cli/test/utils/match-iterable.js | 4 +- packages/ipfs-cli/test/utils/platforms.js | 4 +- packages/ipfs-cli/test/version.js | 8 +- packages/ipfs-cli/tsconfig.json | 3 +- .../ipfs-client/{.aegir.js => .aegir.cjs} | 0 packages/ipfs-client/package.json | 23 +- packages/ipfs-client/src/index.js | 10 +- packages/ipfs-client/tsconfig.json | 2 +- packages/ipfs-core-types/src/block/index.ts | 6 +- .../ipfs-core-utils/{.aegir.js => .aegir.cjs} | 2 +- packages/ipfs-core-utils/package.json | 74 ++++- packages/ipfs-core-utils/src/errors.js | 5 +- .../ipfs-core-utils/src/files/format-mode.js | 6 +- .../ipfs-core-utils/src/files/format-mtime.js | 6 +- .../files/normalise-input/index.browser.js | 12 +- .../src/files/normalise-input/index.js | 12 +- .../normalise-content.browser.js | 17 +- .../normalise-input/normalise-content.js | 26 +- .../files/normalise-input/normalise-input.js | 20 +- .../src/files/normalise-input/utils.js | 17 +- packages/ipfs-core-utils/src/index.js | 2 +- packages/ipfs-core-utils/src/multibases.js | 6 +- packages/ipfs-core-utils/src/multicodecs.js | 6 +- packages/ipfs-core-utils/src/multihashes.js | 6 +- .../src/pins/normalise-input.js | 12 +- .../ipfs-core-utils/src/to-cid-and-path.js | 14 +- packages/ipfs-core-utils/src/to-url-string.js | 10 +- .../src/with-timeout-option.js | 19 +- .../test/files/format-mode.spec.js | 6 +- .../test/files/format-mtime.spec.js | 6 +- .../test/files/normalise-input.spec.js | 15 +- .../test/pins/normalise-input.spec.js | 10 +- packages/ipfs-core-utils/tsconfig.json | 5 +- packages/ipfs-core/{.aegir.js => .aegir.cjs} | 2 +- packages/ipfs-core/README.md | 2 +- packages/ipfs-core/package.json | 36 +-- packages/ipfs-core/src/block-storage.js | 14 +- .../ipfs-core/src/components/add-all/index.js | 17 +- .../ipfs-core/src/components/add-all/utils.js | 14 +- packages/ipfs-core/src/components/add.js | 6 +- .../ipfs-core/src/components/bitswap/index.js | 12 +- .../ipfs-core/src/components/bitswap/stat.js | 6 +- .../src/components/bitswap/unwant.js | 6 +- .../components/bitswap/wantlist-for-peer.js | 8 +- .../src/components/bitswap/wantlist.js | 6 +- .../ipfs-core/src/components/block/get.js | 6 +- .../ipfs-core/src/components/block/index.js | 18 +- .../ipfs-core/src/components/block/put.js | 12 +- packages/ipfs-core/src/components/block/rm.js | 16 +- .../ipfs-core/src/components/block/stat.js | 8 +- .../ipfs-core/src/components/block/utils.js | 6 +- .../ipfs-core/src/components/bootstrap/add.js | 8 +- .../src/components/bootstrap/clear.js | 8 +- .../src/components/bootstrap/index.js | 15 +- .../src/components/bootstrap/list.js | 8 +- .../src/components/bootstrap/reset.js | 10 +- .../ipfs-core/src/components/bootstrap/rm.js | 8 +- .../src/components/bootstrap/utils.js | 10 +- packages/ipfs-core/src/components/cat.js | 12 +- packages/ipfs-core/src/components/config.js | 21 +- .../ipfs-core/src/components/dag/export.js | 30 +- packages/ipfs-core/src/components/dag/get.js | 16 +- .../ipfs-core/src/components/dag/import.js | 19 +- .../ipfs-core/src/components/dag/index.js | 20 +- packages/ipfs-core/src/components/dag/put.js | 12 +- .../ipfs-core/src/components/dag/resolve.js | 12 +- packages/ipfs-core/src/components/dht.js | 14 +- packages/ipfs-core/src/components/dns.js | 8 +- .../ipfs-core/src/components/files/chmod.js | 66 +++-- packages/ipfs-core/src/components/files/cp.js | 39 +-- .../ipfs-core/src/components/files/flush.js | 14 +- .../ipfs-core/src/components/files/index.js | 43 +-- packages/ipfs-core/src/components/files/ls.js | 12 +- .../ipfs-core/src/components/files/mkdir.js | 36 +-- packages/ipfs-core/src/components/files/mv.js | 18 +- .../ipfs-core/src/components/files/read.js | 16 +- packages/ipfs-core/src/components/files/rm.js | 22 +- .../ipfs-core/src/components/files/stat.js | 27 +- .../ipfs-core/src/components/files/touch.js | 47 ++-- .../src/components/files/utils/add-link.js | 42 +-- .../src/components/files/utils/create-lock.js | 8 +- .../src/components/files/utils/create-node.js | 16 +- .../src/components/files/utils/dir-sharded.js | 20 +- .../components/files/utils/hamt-constants.js | 26 +- .../src/components/files/utils/hamt-utils.js | 54 ++-- .../src/components/files/utils/persist.js | 16 +- .../src/components/files/utils/remove-link.js | 28 +- .../files/utils/to-async-iterator.js | 18 +- .../src/components/files/utils/to-mfs-path.js | 18 +- .../files/utils/to-path-components.js | 6 +- .../src/components/files/utils/to-trail.js | 12 +- .../components/files/utils/update-mfs-root.js | 16 +- .../src/components/files/utils/update-tree.js | 16 +- .../components/files/utils/with-mfs-root.js | 24 +- .../ipfs-core/src/components/files/write.js | 60 ++-- packages/ipfs-core/src/components/get.js | 28 +- packages/ipfs-core/src/components/id.js | 16 +- packages/ipfs-core/src/components/index.js | 266 +++++++++--------- packages/ipfs-core/src/components/ipns.js | 18 +- .../ipfs-core/src/components/is-online.js | 7 +- .../ipfs-core/src/components/key/export.js | 6 +- packages/ipfs-core/src/components/key/gen.js | 6 +- .../ipfs-core/src/components/key/import.js | 6 +- .../ipfs-core/src/components/key/index.js | 21 +- packages/ipfs-core/src/components/key/info.js | 6 +- packages/ipfs-core/src/components/key/list.js | 6 +- .../ipfs-core/src/components/key/rename.js | 6 +- packages/ipfs-core/src/components/key/rm.js | 6 +- packages/ipfs-core/src/components/libp2p.js | 32 ++- packages/ipfs-core/src/components/ls.js | 14 +- .../ipfs-core/src/components/name/index.js | 20 +- .../ipfs-core/src/components/name/publish.js | 30 +- .../src/components/name/pubsub/cancel.js | 8 +- .../src/components/name/pubsub/index.js | 17 +- .../src/components/name/pubsub/state.js | 10 +- .../src/components/name/pubsub/subs.js | 8 +- .../src/components/name/pubsub/utils.js | 8 +- .../ipfs-core/src/components/name/resolve.js | 26 +- .../ipfs-core/src/components/name/utils.js | 14 +- packages/ipfs-core/src/components/network.js | 17 +- .../ipfs-core/src/components/object/data.js | 9 +- .../ipfs-core/src/components/object/get.js | 10 +- .../ipfs-core/src/components/object/index.js | 22 +- .../ipfs-core/src/components/object/links.js | 20 +- .../ipfs-core/src/components/object/new.js | 16 +- .../src/components/object/patch/add-link.js | 12 +- .../components/object/patch/append-data.js | 14 +- .../src/components/object/patch/index.js | 14 +- .../src/components/object/patch/rm-link.js | 12 +- .../src/components/object/patch/set-data.js | 12 +- .../ipfs-core/src/components/object/put.js | 14 +- .../ipfs-core/src/components/object/stat.js | 13 +- .../ipfs-core/src/components/pin/add-all.js | 14 +- packages/ipfs-core/src/components/pin/add.js | 11 +- .../ipfs-core/src/components/pin/index.js | 18 +- packages/ipfs-core/src/components/pin/ls.js | 16 +- .../ipfs-core/src/components/pin/rm-all.js | 14 +- packages/ipfs-core/src/components/pin/rm.js | 7 +- packages/ipfs-core/src/components/ping.js | 69 ++--- packages/ipfs-core/src/components/pubsub.js | 12 +- .../ipfs-core/src/components/refs/index.js | 37 ++- .../ipfs-core/src/components/refs/local.js | 6 +- packages/ipfs-core/src/components/repo/gc.js | 14 +- .../ipfs-core/src/components/repo/index.js | 13 +- .../ipfs-core/src/components/repo/stat.js | 6 +- .../ipfs-core/src/components/repo/version.js | 8 +- packages/ipfs-core/src/components/resolve.js | 18 +- packages/ipfs-core/src/components/root.js | 26 +- packages/ipfs-core/src/components/start.js | 8 +- packages/ipfs-core/src/components/stats/bw.js | 12 +- .../ipfs-core/src/components/stats/index.js | 14 +- packages/ipfs-core/src/components/stop.js | 8 +- packages/ipfs-core/src/components/storage.js | 46 +-- .../ipfs-core/src/components/swarm/addrs.js | 6 +- .../ipfs-core/src/components/swarm/connect.js | 6 +- .../src/components/swarm/disconnect.js | 6 +- .../ipfs-core/src/components/swarm/index.js | 26 +- .../src/components/swarm/local-addrs.js | 6 +- .../ipfs-core/src/components/swarm/peers.js | 6 +- packages/ipfs-core/src/components/version.js | 16 +- packages/ipfs-core/src/errors.js | 30 +- packages/ipfs-core/src/index.js | 29 +- packages/ipfs-core/src/ipns/index.js | 27 +- packages/ipfs-core/src/ipns/publisher.js | 38 ++- packages/ipfs-core/src/ipns/republisher.js | 30 +- packages/ipfs-core/src/ipns/resolver.js | 23 +- packages/ipfs-core/src/ipns/routing/config.js | 13 +- .../src/ipns/routing/offline-datastore.js | 22 +- .../src/ipns/routing/pubsub-datastore.js | 22 +- packages/ipfs-core/src/ipns/routing/utils.js | 34 ++- packages/ipfs-core/src/mfs-preload.js | 8 +- packages/ipfs-core/src/preload.js | 16 +- .../ipfs-core/src/runtime/config-browser.js | 4 +- .../ipfs-core/src/runtime/config-nodejs.js | 4 +- packages/ipfs-core/src/runtime/dns-browser.js | 13 +- packages/ipfs-core/src/runtime/dns-nodejs.js | 22 +- .../src/runtime/init-assets-browser.js | 4 +- .../src/runtime/init-assets-nodejs.js | 10 +- .../ipfs-core/src/runtime/libp2p-browser.js | 10 +- .../ipfs-core/src/runtime/libp2p-nodejs.js | 32 +-- .../runtime/libp2p-pubsub-routers-browser.js | 8 +- .../runtime/libp2p-pubsub-routers-nodejs.js | 10 +- .../ipfs-core/src/runtime/preload-browser.js | 8 +- .../ipfs-core/src/runtime/preload-nodejs.js | 13 +- .../ipfs-core/src/runtime/repo-browser.js | 14 +- packages/ipfs-core/src/runtime/repo-nodejs.js | 24 +- packages/ipfs-core/src/utils.js | 55 ++-- packages/ipfs-core/src/utils/service.js | 12 +- packages/ipfs-core/src/utils/tlru.js | 8 +- packages/ipfs-core/test/add-all.spec.js | 5 +- packages/ipfs-core/test/block-storage.spec.js | 8 +- packages/ipfs-core/test/bootstrapers.js | 10 +- packages/ipfs-core/test/config.spec.js | 14 +- packages/ipfs-core/test/create-node.spec.js | 25 +- packages/ipfs-core/test/exports.spec.js | 17 +- packages/ipfs-core/test/init.spec.js | 18 +- packages/ipfs-core/test/ipld.spec.js | 12 +- packages/ipfs-core/test/key-exchange.spec.js | 8 +- packages/ipfs-core/test/libp2p.spec.js | 20 +- packages/ipfs-core/test/mfs-preload.spec.js | 22 +- packages/ipfs-core/test/name.spec.js | 40 +-- packages/ipfs-core/test/preload.spec.js | 104 +++---- packages/ipfs-core/test/pubsub.spec.js | 10 +- packages/ipfs-core/test/utils.spec.js | 24 +- packages/ipfs-core/test/utils/clean.js | 12 +- packages/ipfs-core/test/utils/codecs.js | 14 +- .../ipfs-core/test/utils/create-backend.js | 10 +- packages/ipfs-core/test/utils/create-node.js | 12 +- packages/ipfs-core/test/utils/create-repo.js | 16 +- .../test/utils/mock-preload-node-utils.js | 23 +- .../ipfs-core/test/utils/mock-preload-node.js | 12 +- packages/ipfs-core/test/utils/wait-for.js | 8 +- packages/ipfs-daemon/package.json | 24 +- packages/ipfs-daemon/src/index.js | 34 +-- packages/ipfs-daemon/test/index.spec.js | 12 +- packages/ipfs-daemon/tsconfig.json | 2 +- .../{.aegir.js => .aegir.cjs} | 0 packages/ipfs-grpc-client/package.json | 27 +- .../ipfs-grpc-client/src/core-api/add-all.js | 12 +- .../ipfs-grpc-client/src/core-api/files/ls.js | 10 +- .../src/core-api/files/write.js | 14 +- packages/ipfs-grpc-client/src/core-api/id.js | 12 +- .../src/core-api/pubsub/subscribe.js | 14 +- .../src/core-api/pubsub/subscriptions.js | 6 +- .../src/core-api/pubsub/unsubscribe.js | 12 +- .../src/grpc/transport.browser.js | 5 +- .../ipfs-grpc-client/src/grpc/transport.js | 18 +- .../src/grpc/transport.node.js | 14 +- packages/ipfs-grpc-client/src/index.js | 32 ++- .../src/utils/bidi-to-duplex.js | 16 +- .../src/utils/client-stream-to-promise.js | 8 +- .../src/utils/load-services.js | 9 +- .../src/utils/server-stream-to-iterator.js | 6 +- .../ipfs-grpc-client/src/utils/to-headers.js | 6 +- .../src/utils/unary-to-promise.js | 8 +- packages/ipfs-grpc-client/test/agent.js | 2 +- packages/ipfs-grpc-client/test/node.js | 2 +- packages/ipfs-grpc-client/test/utils.spec.js | 8 +- packages/ipfs-grpc-client/tsconfig.json | 2 +- packages/ipfs-grpc-server/package.json | 25 +- .../ipfs-grpc-server/src/endpoints/add.js | 12 +- packages/ipfs-grpc-server/src/endpoints/id.js | 6 +- .../ipfs-grpc-server/src/endpoints/mfs/ls.js | 6 +- .../src/endpoints/mfs/write.js | 10 +- .../src/endpoints/pubsub/subscribe.js | 8 +- .../src/endpoints/pubsub/subscriptions.js | 6 +- .../src/endpoints/pubsub/unsubscribe.js | 8 +- packages/ipfs-grpc-server/src/index.js | 36 ++- .../src/utils/encode-mtime.js | 6 +- .../src/utils/load-services.js | 8 +- .../src/utils/web-socket-message-channel.js | 10 +- .../src/utils/web-socket-server.js | 26 +- packages/ipfs-grpc-server/test/add.spec.js | 16 +- packages/ipfs-grpc-server/test/id.spec.js | 12 +- packages/ipfs-grpc-server/test/mfs/ls.spec.js | 12 +- .../ipfs-grpc-server/test/mfs/write.spec.js | 10 +- .../ipfs-grpc-server/test/utils/channel.js | 6 +- .../ipfs-grpc-server/test/utils/server.js | 10 +- packages/ipfs-grpc-server/tsconfig.json | 2 +- packages/ipfs-http-client/.aegir.js | 4 +- packages/ipfs-http-client/CHANGELOG.md | 2 +- packages/ipfs-http-client/package.json | 24 +- packages/ipfs-http-client/src/add-all.js | 20 +- packages/ipfs-http-client/src/add.js | 12 +- .../ipfs-http-client/src/bitswap/index.js | 25 +- packages/ipfs-http-client/src/bitswap/stat.js | 10 +- .../ipfs-http-client/src/bitswap/unwant.js | 8 +- .../src/bitswap/wantlist-for-peer.js | 10 +- .../ipfs-http-client/src/bitswap/wantlist.js | 10 +- packages/ipfs-http-client/src/block/get.js | 8 +- packages/ipfs-http-client/src/block/index.js | 26 +- packages/ipfs-http-client/src/block/put.js | 18 +- packages/ipfs-http-client/src/block/rm.js | 10 +- packages/ipfs-http-client/src/block/stat.js | 10 +- .../ipfs-http-client/src/bootstrap/add.js | 10 +- .../ipfs-http-client/src/bootstrap/clear.js | 10 +- .../ipfs-http-client/src/bootstrap/index.js | 29 +- .../ipfs-http-client/src/bootstrap/list.js | 10 +- .../ipfs-http-client/src/bootstrap/reset.js | 10 +- packages/ipfs-http-client/src/bootstrap/rm.js | 10 +- packages/ipfs-http-client/src/cat.js | 8 +- packages/ipfs-http-client/src/commands.js | 8 +- .../src/config/{getAll.js => get-all.js} | 8 +- packages/ipfs-http-client/src/config/get.js | 8 +- packages/ipfs-http-client/src/config/index.js | 28 +- .../src/config/profiles/apply.js | 8 +- .../src/config/profiles/index.js | 20 +- .../src/config/profiles/list.js | 12 +- .../ipfs-http-client/src/config/replace.js | 16 +- packages/ipfs-http-client/src/config/set.js | 8 +- packages/ipfs-http-client/src/dag/export.js | 8 +- packages/ipfs-http-client/src/dag/get.js | 14 +- packages/ipfs-http-client/src/dag/import.js | 16 +- packages/ipfs-http-client/src/dag/index.js | 30 +- packages/ipfs-http-client/src/dag/put.js | 18 +- packages/ipfs-http-client/src/dag/resolve.js | 10 +- .../ipfs-http-client/src/dht/find-peer.js | 10 +- .../ipfs-http-client/src/dht/find-provs.js | 10 +- packages/ipfs-http-client/src/dht/get.js | 12 +- packages/ipfs-http-client/src/dht/index.js | 32 ++- packages/ipfs-http-client/src/dht/provide.js | 12 +- packages/ipfs-http-client/src/dht/put.js | 20 +- packages/ipfs-http-client/src/dht/query.js | 12 +- .../src/dht/response-types.js | 4 +- packages/ipfs-http-client/src/diag/cmds.js | 8 +- packages/ipfs-http-client/src/diag/index.js | 22 +- packages/ipfs-http-client/src/diag/net.js | 8 +- packages/ipfs-http-client/src/diag/sys.js | 8 +- packages/ipfs-http-client/src/dns.js | 8 +- packages/ipfs-http-client/src/files/chmod.js | 8 +- packages/ipfs-http-client/src/files/cp.js | 10 +- packages/ipfs-http-client/src/files/flush.js | 10 +- packages/ipfs-http-client/src/files/index.js | 46 +-- packages/ipfs-http-client/src/files/ls.js | 10 +- packages/ipfs-http-client/src/files/mkdir.js | 8 +- packages/ipfs-http-client/src/files/mv.js | 8 +- packages/ipfs-http-client/src/files/read.js | 8 +- packages/ipfs-http-client/src/files/rm.js | 8 +- packages/ipfs-http-client/src/files/stat.js | 10 +- packages/ipfs-http-client/src/files/touch.js | 8 +- packages/ipfs-http-client/src/files/write.js | 14 +- .../src/get-endpoint-config.js | 6 +- packages/ipfs-http-client/src/get.js | 10 +- packages/ipfs-http-client/src/id.js | 14 +- packages/ipfs-http-client/src/index.js | 139 +++++---- packages/ipfs-http-client/src/is-online.js | 8 +- packages/ipfs-http-client/src/key/export.js | 8 +- packages/ipfs-http-client/src/key/gen.js | 10 +- packages/ipfs-http-client/src/key/import.js | 10 +- packages/ipfs-http-client/src/key/index.js | 35 ++- packages/ipfs-http-client/src/key/info.js | 8 +- packages/ipfs-http-client/src/key/list.js | 10 +- packages/ipfs-http-client/src/key/rename.js | 10 +- packages/ipfs-http-client/src/key/rm.js | 10 +- .../ipfs-http-client/src/lib/abort-signal.js | 6 +- .../src/lib/buffer-to-form-data.browser.js | 4 +- .../src/lib/buffer-to-form-data.js | 6 +- .../ipfs-http-client/src/lib/configure.js | 7 +- packages/ipfs-http-client/src/lib/core.js | 29 +- .../src/lib/mode-to-string.js | 4 +- .../src/lib/multipart-request.browser.js | 10 +- .../src/lib/multipart-request.js | 37 ++- .../src/lib/multipart-request.node.js | 18 +- .../src/lib/object-to-camel-with-metadata.js | 10 +- .../src/lib/object-to-camel.js | 4 +- .../ipfs-http-client/src/lib/parse-mtime.js | 8 +- packages/ipfs-http-client/src/lib/resolve.js | 12 +- .../src/lib/to-url-search-params.js | 8 +- packages/ipfs-http-client/src/log/index.js | 22 +- packages/ipfs-http-client/src/log/level.js | 10 +- packages/ipfs-http-client/src/log/ls.js | 8 +- packages/ipfs-http-client/src/log/tail.js | 8 +- packages/ipfs-http-client/src/ls.js | 14 +- packages/ipfs-http-client/src/mount.js | 12 +- packages/ipfs-http-client/src/name/index.js | 22 +- packages/ipfs-http-client/src/name/publish.js | 10 +- .../src/name/pubsub/cancel.js | 10 +- .../ipfs-http-client/src/name/pubsub/index.js | 22 +- .../ipfs-http-client/src/name/pubsub/state.js | 10 +- .../ipfs-http-client/src/name/pubsub/subs.js | 8 +- packages/ipfs-http-client/src/name/resolve.js | 8 +- packages/ipfs-http-client/src/object/data.js | 10 +- packages/ipfs-http-client/src/object/get.js | 12 +- packages/ipfs-http-client/src/object/index.js | 36 ++- packages/ipfs-http-client/src/object/links.js | 10 +- packages/ipfs-http-client/src/object/new.js | 10 +- .../src/object/patch/add-link.js | 10 +- .../src/object/patch/append-data.js | 16 +- .../src/object/patch/index.js | 25 +- .../src/object/patch/rm-link.js | 10 +- .../src/object/patch/set-data.js | 16 +- packages/ipfs-http-client/src/object/put.js | 8 +- packages/ipfs-http-client/src/object/stat.js | 10 +- packages/ipfs-http-client/src/pin/add-all.js | 12 +- packages/ipfs-http-client/src/pin/add.js | 8 +- packages/ipfs-http-client/src/pin/index.js | 33 ++- packages/ipfs-http-client/src/pin/ls.js | 10 +- .../ipfs-http-client/src/pin/remote/index.js | 22 +- .../src/pin/remote/service.js | 10 +- packages/ipfs-http-client/src/pin/rm-all.js | 12 +- packages/ipfs-http-client/src/pin/rm.js | 12 +- packages/ipfs-http-client/src/ping.js | 12 +- packages/ipfs-http-client/src/pubsub/index.js | 32 ++- packages/ipfs-http-client/src/pubsub/ls.js | 8 +- packages/ipfs-http-client/src/pubsub/peers.js | 8 +- .../ipfs-http-client/src/pubsub/publish.js | 14 +- .../ipfs-http-client/src/pubsub/subscribe.js | 21 +- .../src/pubsub/subscription-tracker.js | 8 +- .../src/pubsub/unsubscribe.js | 6 +- packages/ipfs-http-client/src/refs/index.js | 18 +- packages/ipfs-http-client/src/refs/local.js | 12 +- packages/ipfs-http-client/src/repo/gc.js | 10 +- packages/ipfs-http-client/src/repo/index.js | 22 +- packages/ipfs-http-client/src/repo/stat.js | 8 +- packages/ipfs-http-client/src/repo/version.js | 8 +- packages/ipfs-http-client/src/resolve.js | 8 +- packages/ipfs-http-client/src/start.js | 8 +- packages/ipfs-http-client/src/stats/bw.js | 8 +- packages/ipfs-http-client/src/stats/index.js | 22 +- packages/ipfs-http-client/src/stop.js | 8 +- packages/ipfs-http-client/src/swarm/addrs.js | 10 +- .../ipfs-http-client/src/swarm/connect.js | 8 +- .../ipfs-http-client/src/swarm/disconnect.js | 8 +- packages/ipfs-http-client/src/swarm/index.js | 28 +- .../swarm/{localAddrs.js => local-addrs.js} | 10 +- packages/ipfs-http-client/src/swarm/peers.js | 10 +- packages/ipfs-http-client/src/version.js | 14 +- .../ipfs-http-client/test/commands.spec.js | 4 +- .../ipfs-http-client/test/constructor.spec.js | 6 +- packages/ipfs-http-client/test/dag.spec.js | 22 +- packages/ipfs-http-client/test/diag.spec.js | 4 +- .../test/endpoint-config.spec.js | 4 +- .../ipfs-http-client/test/exports.spec.js | 8 +- packages/ipfs-http-client/test/files.spec.js | 10 +- .../test/fixtures/test-folder/add | 2 +- .../test/fixtures/test-folder/cat | 2 +- .../test/fixtures/test-folder/ipfs-add | 2 +- .../test/fixtures/test-folder/ls | 2 +- .../test/fixtures/test-folder/version | 2 +- packages/ipfs-http-client/test/key.spec.js | 4 +- .../test/lib.error-handler.spec.js | 4 +- packages/ipfs-http-client/test/log.spec.js | 8 +- packages/ipfs-http-client/test/node.js | 2 +- packages/ipfs-http-client/test/node/agent.js | 6 +- .../test/node/custom-headers.js | 8 +- .../ipfs-http-client/test/node/request-api.js | 6 +- packages/ipfs-http-client/test/node/swarm.js | 4 +- packages/ipfs-http-client/test/ping.spec.js | 6 +- packages/ipfs-http-client/test/pubsub.spec.js | 10 +- packages/ipfs-http-client/test/repo.spec.js | 4 +- packages/ipfs-http-client/test/stats.spec.js | 6 +- .../ipfs-http-client/test/sub-modules.spec.js | 4 +- .../ipfs-http-client/test/utils/factory.js | 9 +- .../test/utils/throws-async.js | 4 +- packages/ipfs-http-client/tsconfig.json | 2 +- packages/ipfs-http-gateway/package.json | 31 +- packages/ipfs-http-gateway/src/index.js | 18 +- .../src/resources/gateway.js | 32 ++- .../ipfs-http-gateway/src/resources/index.js | 9 +- .../ipfs-http-gateway/src/routes/gateway.js | 8 +- .../ipfs-http-gateway/src/routes/index.js | 7 +- packages/ipfs-http-gateway/src/utils/path.js | 13 +- .../ipfs-http-gateway/test/routes.spec.js | 20 +- packages/ipfs-http-gateway/test/utils/http.js | 8 +- packages/ipfs-http-gateway/tsconfig.json | 2 +- packages/ipfs-http-server/package.json | 24 +- .../src/api/resources/bitswap.js | 10 +- .../src/api/resources/block.js | 32 +-- .../src/api/resources/bootstrap.js | 16 +- .../src/api/resources/config.js | 217 +++++++------- .../ipfs-http-server/src/api/resources/dag.js | 40 +-- .../ipfs-http-server/src/api/resources/dht.js | 26 +- .../ipfs-http-server/src/api/resources/dns.js | 6 +- .../src/api/resources/files-regular.js | 36 +-- .../src/api/resources/files/chmod.js | 8 +- .../src/api/resources/files/cp.js | 8 +- .../src/api/resources/files/flush.js | 8 +- .../src/api/resources/files/index.js | 37 +-- .../src/api/resources/files/ls.js | 16 +- .../src/api/resources/files/mkdir.js | 10 +- .../src/api/resources/files/mv.js | 8 +- .../src/api/resources/files/read.js | 10 +- .../src/api/resources/files/rm.js | 8 +- .../src/api/resources/files/stat.js | 8 +- .../src/api/resources/files/touch.js | 10 +- .../api/resources/files/utils/parse-mtime.js | 4 +- .../src/api/resources/files/write.js | 16 +- .../ipfs-http-server/src/api/resources/id.js | 6 +- .../src/api/resources/index.js | 45 ++- .../ipfs-http-server/src/api/resources/key.js | 14 +- .../src/api/resources/name.js | 238 ++++++++-------- .../src/api/resources/object.js | 64 ++--- .../ipfs-http-server/src/api/resources/pin.js | 24 +- .../src/api/resources/ping.js | 12 +- .../src/api/resources/pubsub.js | 34 +-- .../src/api/resources/repo.js | 18 +- .../src/api/resources/resolve.js | 6 +- .../src/api/resources/shutdown.js | 4 +- .../src/api/resources/stats.js | 16 +- .../src/api/resources/swarm.js | 14 +- .../src/api/resources/version.js | 8 +- .../src/api/routes/bitswap.js | 16 +- .../ipfs-http-server/src/api/routes/block.js | 19 +- .../src/api/routes/bootstrap.js | 24 +- .../ipfs-http-server/src/api/routes/config.js | 22 +- .../ipfs-http-server/src/api/routes/dag.js | 22 +- .../ipfs-http-server/src/api/routes/debug.js | 10 +- .../ipfs-http-server/src/api/routes/dht.js | 25 +- .../ipfs-http-server/src/api/routes/dns.js | 12 +- .../src/api/routes/files-regular.js | 25 +- .../ipfs-http-server/src/api/routes/files.js | 40 ++- .../ipfs-http-server/src/api/routes/id.js | 12 +- .../ipfs-http-server/src/api/routes/index.js | 83 ++++-- .../ipfs-http-server/src/api/routes/key.js | 22 +- .../ipfs-http-server/src/api/routes/name.js | 22 +- .../ipfs-http-server/src/api/routes/object.js | 37 ++- .../ipfs-http-server/src/api/routes/pin.js | 16 +- .../ipfs-http-server/src/api/routes/ping.js | 12 +- .../ipfs-http-server/src/api/routes/pubsub.js | 19 +- .../ipfs-http-server/src/api/routes/repo.js | 17 +- .../src/api/routes/resolve.js | 12 +- .../src/api/routes/shutdown.js | 12 +- .../ipfs-http-server/src/api/routes/stats.js | 16 +- .../ipfs-http-server/src/api/routes/swarm.js | 22 +- .../src/api/routes/version.js | 10 +- .../ipfs-http-server/src/api/routes/webui.js | 6 +- .../ipfs-http-server/src/error-handler.js | 6 +- packages/ipfs-http-server/src/index.js | 25 +- packages/ipfs-http-server/src/utils/joi.js | 12 +- .../src/utils/multipart-request-parser.js | 12 +- .../src/utils/stream-response.js | 19 +- packages/ipfs-http-server/test/cors.js | 8 +- .../ipfs-http-server/test/inject/bitswap.js | 20 +- .../ipfs-http-server/test/inject/block.js | 26 +- .../ipfs-http-server/test/inject/bootstrap.js | 15 +- .../test/inject/browser-headers.js | 10 +- .../ipfs-http-server/test/inject/config.js | 19 +- packages/ipfs-http-server/test/inject/dag.js | 30 +- packages/ipfs-http-server/test/inject/dht.js | 20 +- packages/ipfs-http-server/test/inject/dns.js | 12 +- .../ipfs-http-server/test/inject/files.js | 34 +-- packages/ipfs-http-server/test/inject/id.js | 12 +- packages/ipfs-http-server/test/inject/key.js | 12 +- packages/ipfs-http-server/test/inject/mfs.js | 23 +- .../ipfs-http-server/test/inject/mfs/chmod.js | 12 +- .../ipfs-http-server/test/inject/mfs/cp.js | 12 +- .../ipfs-http-server/test/inject/mfs/flush.js | 19 +- .../ipfs-http-server/test/inject/mfs/ls.js | 17 +- .../ipfs-http-server/test/inject/mfs/mkdir.js | 12 +- .../ipfs-http-server/test/inject/mfs/mv.js | 12 +- .../ipfs-http-server/test/inject/mfs/read.js | 16 +- .../ipfs-http-server/test/inject/mfs/rm.js | 12 +- .../ipfs-http-server/test/inject/mfs/stat.js | 19 +- .../ipfs-http-server/test/inject/mfs/touch.js | 12 +- .../ipfs-http-server/test/inject/mfs/write.js | 18 +- packages/ipfs-http-server/test/inject/name.js | 16 +- .../ipfs-http-server/test/inject/object.js | 32 +-- packages/ipfs-http-server/test/inject/pin.js | 22 +- packages/ipfs-http-server/test/inject/ping.js | 16 +- .../ipfs-http-server/test/inject/pubsub.js | 20 +- packages/ipfs-http-server/test/inject/repo.js | 18 +- .../ipfs-http-server/test/inject/resolve.js | 16 +- .../ipfs-http-server/test/inject/shutdown.js | 6 +- .../ipfs-http-server/test/inject/stats.js | 16 +- .../ipfs-http-server/test/inject/swarm.js | 12 +- .../ipfs-http-server/test/inject/version.js | 12 +- packages/ipfs-http-server/test/node.js | 6 +- packages/ipfs-http-server/test/routes.js | 67 +++-- .../ipfs-http-server/test/utils/all-ndjson.js | 4 +- packages/ipfs-http-server/test/utils/http.js | 6 +- .../test/utils/match-iterable.js | 8 +- .../test/utils/test-http-method.js | 8 +- packages/ipfs-http-server/tsconfig.json | 2 +- .../{.aegir.js => .aegir.cjs} | 1 + .../ipfs-message-port-client/package.json | 24 +- .../ipfs-message-port-client/src/block.js | 16 +- .../ipfs-message-port-client/src/client.js | 15 +- .../src/client/error.js | 8 +- .../src/client/query.js | 25 +- .../src/client/service.js | 20 +- .../src/client/transport.js | 17 +- packages/ipfs-message-port-client/src/core.js | 22 +- packages/ipfs-message-port-client/src/dag.js | 12 +- .../ipfs-message-port-client/src/files.js | 12 +- .../ipfs-message-port-client/src/index.js | 16 +- .../test/interface-message-port-client.js | 6 +- .../test/util/client.js | 10 +- .../test/util/worker.js | 8 +- .../ipfs-message-port-client/tsconfig.json | 2 +- .../{.aegir.js => .aegir.cjs} | 0 packages/ipfs-message-port-protocol/README.md | 2 +- .../ipfs-message-port-protocol/package.json | 53 +++- .../ipfs-message-port-protocol/src/block.js | 5 +- .../ipfs-message-port-protocol/src/cid.js | 10 +- .../ipfs-message-port-protocol/src/core.js | 18 +- .../ipfs-message-port-protocol/src/dag.js | 13 +- .../ipfs-message-port-protocol/src/error.js | 8 +- .../test/block.browser.js | 10 +- .../test/browser.js | 10 +- .../test/cid.browser.js | 10 +- .../test/cid.spec.js | 8 +- .../test/core.browser.js | 12 +- .../test/dag.browser.js | 12 +- .../test/dag.spec.js | 10 +- .../ipfs-message-port-protocol/test/node.js | 6 +- .../ipfs-message-port-protocol/test/util.js | 8 +- .../ipfs-message-port-protocol/tsconfig.json | 2 +- .../{.aegir.js => .aegir.cjs} | 0 .../ipfs-message-port-server/package.json | 24 +- .../ipfs-message-port-server/src/block.js | 16 +- packages/ipfs-message-port-server/src/core.js | 10 +- packages/ipfs-message-port-server/src/dag.js | 8 +- .../ipfs-message-port-server/src/files.js | 6 +- .../ipfs-message-port-server/src/index.js | 20 +- .../ipfs-message-port-server/src/server.js | 19 +- .../ipfs-message-port-server/src/service.js | 14 +- .../test/basic.spec.js | 8 +- .../ipfs-message-port-server/test/node.js | 2 +- .../test/transfer.spec.js | 11 +- .../ipfs-message-port-server/tsconfig.json | 2 +- packages/ipfs/{.aegir.js => .aegir.cjs} | 6 +- packages/ipfs/package.json | 24 +- packages/ipfs/src/cli.js | 9 +- packages/ipfs/src/index.js | 6 +- packages/ipfs/test/interface-client.js | 8 +- packages/ipfs/test/interface-core.js | 8 +- packages/ipfs/test/interface-http-go.js | 6 +- packages/ipfs/test/interface-http-js.js | 8 +- packages/ipfs/test/utils/factory.js | 9 +- .../ipfs/test/utils/mock-pinning-service.js | 12 +- packages/ipfs/test/utils/mock-preload-node.js | 14 +- packages/ipfs/tsconfig.json | 3 +- 939 files changed, 6997 insertions(+), 6562 deletions(-) rename packages/interface-ipfs-core/{.aegir.js => .aegir.cjs} (100%) rename packages/ipfs-client/{.aegir.js => .aegir.cjs} (100%) rename packages/ipfs-core-utils/{.aegir.js => .aegir.cjs} (89%) rename packages/ipfs-core/{.aegir.js => .aegir.cjs} (98%) rename packages/ipfs-grpc-client/{.aegir.js => .aegir.cjs} (100%) rename packages/ipfs-http-client/src/config/{getAll.js => get-all.js} (76%) rename packages/ipfs-http-client/src/swarm/{localAddrs.js => local-addrs.js} (74%) rename packages/ipfs-message-port-client/{.aegir.js => .aegir.cjs} (99%) rename packages/ipfs-message-port-protocol/{.aegir.js => .aegir.cjs} (100%) rename packages/ipfs-message-port-server/{.aegir.js => .aegir.cjs} (100%) rename packages/ipfs/{.aegir.js => .aegir.cjs} (97%) diff --git a/.gitignore b/.gitignore index 2ea2efcefc..12652bc725 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ tsconfig-check.aegir.json # Operating system files .DS_Store +types \ No newline at end of file diff --git a/README.md b/README.md index 716536eb81..f96564bf04 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ $ npm install ipfs-core Then start a node in your app: ```javascript -const IPFS = require('ipfs-core') +import * as IPFS from 'ipfs-core' const ipfs = await IPFS.create() const { cid } = await ipfs.add('Hello world') diff --git a/docs/DAEMON.md b/docs/DAEMON.md index 04ca934b90..febd011eb7 100644 --- a/docs/DAEMON.md +++ b/docs/DAEMON.md @@ -23,7 +23,7 @@ The IPFS Daemon exposes the API defined in the [HTTP API spec](https://docs.ipfs If you want a programmatic way to spawn a IPFS Daemon using JavaScript, check out the [ipfsd-ctl](https://github.com/ipfs/js-ipfsd-ctl) module. ```javascript -const { createFactory } = require('ipfsd-ctl') +import { createFactory } from 'ipfsd-ctl' const factory = createFactory({ type: 'proc' // or 'js' to run in a separate process }) diff --git a/docs/MIGRATION-TO-ASYNC-AWAIT.md b/docs/MIGRATION-TO-ASYNC-AWAIT.md index 9db9e634c2..56fc4f6168 100644 --- a/docs/MIGRATION-TO-ASYNC-AWAIT.md +++ b/docs/MIGRATION-TO-ASYNC-AWAIT.md @@ -100,7 +100,7 @@ const peerId = PeerId.createFromB58String(peerIdStr) You can get hold of the `PeerId` class using npm or in a script tag: ```js -const PeerId = require('peer-id') +import PeerId from 'peer-id' const peerId = PeerId.createFromB58String(peerIdStr) ``` @@ -128,7 +128,7 @@ You can get hold of the `PeerInfo` class using npm or in a script tag: ```js const PeerInfo = require('peer-info') -const PeerId = require('peer-id') +import PeerId from 'peer-id' const peerInfo = new PeerInfo(PeerId.createFromB58String(info.id)) info.addrs.forEach(addr => peerInfo.multiaddrs.add(addr)) ``` @@ -217,7 +217,7 @@ readable.on('end', () => { Becomes: ```js -const toStream = require('it-to-stream') +import toStream from 'it-to-stream' const readable = toStream.readable(ipfs.cat('QmHash')) const decoder = new TextDecoder() @@ -285,7 +285,7 @@ console.log(decoder.decode(data)) ...which, by the way, could more succinctly be written as: ```js -const toBuffer = require('it-to-buffer') +import toBuffer from 'it-to-buffer' const decoder = new TextDecoder() const data = await toBuffer(ipfs.cat('QmHash')) console.log(decoder.decode(data)) @@ -321,7 +321,7 @@ pipeline( Becomes: ```js -const toStream = require('it-to-stream') +import toStream from 'it-to-stream' const { pipeline, Writable } = require('stream') const decoder = new TextDecoder() @@ -353,7 +353,7 @@ Use `it-pipe` and a [for/await](https://developer.mozilla.org/en-US/docs/Web/Jav e.g. ```js -const fs = require('fs') +import fs from 'fs' const { pipeline } = require('stream') const items = [] @@ -378,7 +378,7 @@ pipeline( Becomes: ```js -const fs = require('fs') +import fs from 'fs' const pipe = require('it-pipe') const items = [] @@ -400,9 +400,9 @@ console.log(items) ...which, by the way, could more succinctly be written as: ```js -const fs = require('fs') +import fs from 'fs' const pipe = require('it-pipe') -const all = require('it-all') +import all from 'it-all' const items = await pipe( fs.createReadStream('/path/to/file'), @@ -420,7 +420,7 @@ Convert the async iterable to a readable stream. e.g. ```js -const fs = require('fs') +import fs from 'fs' const { pipeline } = require('stream') const items = [] @@ -445,8 +445,8 @@ pipeline( Becomes: ```js -const toStream = require('it-to-stream') -const fs = require('fs') +import toStream from 'it-to-stream' +import fs from 'fs' const { pipeline } = require('stream') const items = [] @@ -568,7 +568,7 @@ Becomes: ```js const pipe = require('it-pipe') -const concat = require('it-concat') +import concat from 'it-concat' const decoder = new TextDecoder() const data = await pipe( @@ -590,7 +590,7 @@ Use `it-pipe` and `it-all` to collect all items from an async iterable. e.g. ```js -const fs = require('fs') +import fs from 'fs' const toPull = require('stream-to-pull-stream') pull( @@ -605,7 +605,7 @@ pull( Becomes: ```js -const fs = require('fs') +import fs from 'fs' const file = await ipfs.add(fs.createReadStream('/path/to/file')) @@ -619,7 +619,7 @@ Convert the async iterable to a pull stream. e.g. ```js -const fs = require('fs') +import fs from 'fs' const toPull = require('stream-to-pull-stream') pull( @@ -634,7 +634,7 @@ pull( Becomes: ```js -const fs = require('fs') +import fs from 'fs' const streamToPull = require('stream-to-pull-stream') const itToPull = require('async-iterator-to-pull-stream') @@ -685,7 +685,7 @@ for await (const file of addSource) { Alternatively you can buffer up the results using the `it-all` utility: ```js -const all = require('it-all') +import all from 'it-all' const results = await all(ipfs.addAll([ { path: 'root/1.txt', content: 'one' }, @@ -744,7 +744,7 @@ Reading files. e.g. ```js -const fs = require('fs') +import fs from 'fs' const data = await ipfs.cat('/ipfs/QmHash') @@ -759,8 +759,8 @@ Becomes: ```js const pipe = require('it-pipe') -const toIterable = require('stream-to-it') -const fs = require('fs') +import toIterable from 'stream-to-it' +import fs from 'fs' // Note that as chunks arrive they are written to the file and memory can be freed and re-used await pipe( @@ -774,8 +774,8 @@ console.log('done') Alternatively you can buffer up the chunks using the `it-concat` utility (not recommended!): ```js -const fs = require('fs') -const concat = require('it-concat') +import fs from 'fs' +import concat from 'it-concat' const data = await concat(ipfs.cat('/ipfs/QmHash')) @@ -812,7 +812,7 @@ for await (const file of filesSource) { Alternatively you can buffer up the directory listing using the `it-all` utility: ```js -const all = require('it-all') +import all from 'it-all' const results = await all(ipfs.ls('/ipfs/QmHash')) @@ -905,7 +905,7 @@ files.forEach(file => { Becomes: ```js -const fs = require('fs') +import fs from 'fs' const ipfs = IpfsHttpClient() const file = await ipfs.add(fs.createReadStream('/path/to/file.txt')) diff --git a/docs/MODULE.md b/docs/MODULE.md index 803800449c..a8e0bf04b8 100644 --- a/docs/MODULE.md +++ b/docs/MODULE.md @@ -99,7 +99,7 @@ Instead of a boolean, you may provide an object with custom initialization optio - `privateKey` (string/PeerId) A pre-generated private key to use. Can be either a base64 string or a [PeerId](https://github.com/libp2p/js-peer-id) instance. **NOTE: This overrides `bits`.** ```js // Generating a Peer ID: - const PeerId = require('peer-id') + import PeerId from 'peer-id' // Generates a new Peer ID, complete with public/private keypair // See https://github.com/libp2p/js-peer-id const peerId = await PeerId.create({ bits: 2048 }) @@ -346,7 +346,7 @@ console.log('Node is ready to use but not started!') try { await node.start() console.log('Node started!') -} catch (error) { +} catch (/** @type {any} */ error) { console.error('Node failed to start!', error) } ``` diff --git a/docs/core-api/BLOCK.md b/docs/core-api/BLOCK.md index b8ad1e7495..38d31b1b21 100644 --- a/docs/core-api/BLOCK.md +++ b/docs/core-api/BLOCK.md @@ -105,10 +105,10 @@ console.log(block.cid.toString()) // the CID of the object // With custom format and hashtype through CID -const { CID } = require('multiformats/cid') -const dagPb = require('@ipld/dag-pb') +import { CID } from 'multiformats/cid' +import * as dagPB from '@ipld/dag-pb' const buf = new TextEncoder().encode('another serialized object') -const cid = CID.createV1(dagPb.code, multihash) +const cid = CID.createV1(dagPB.code, multihash) const block = await ipfs.block.put(blob, cid) diff --git a/docs/core-api/DAG.md b/docs/core-api/DAG.md index 79279ee117..c610865b41 100644 --- a/docs/core-api/DAG.md +++ b/docs/core-api/DAG.md @@ -223,7 +223,7 @@ An optional object which may have the following keys: ### Example ```JavaScript -const fs = require('fs') +import fs from 'fs' for await (const result of ipfs.dag.import(fs.createReadStream('./path/to/archive.car'))) { console.info(result) diff --git a/packages/interface-ipfs-core/.aegir.js b/packages/interface-ipfs-core/.aegir.cjs similarity index 100% rename from packages/interface-ipfs-core/.aegir.js rename to packages/interface-ipfs-core/.aegir.cjs diff --git a/packages/interface-ipfs-core/README.md b/packages/interface-ipfs-core/README.md index fbbc615dfe..d890afa3c0 100644 --- a/packages/interface-ipfs-core/README.md +++ b/packages/interface-ipfs-core/README.md @@ -79,7 +79,7 @@ $ npm test Install `interface-ipfs-core` as one of the dependencies of your project and as a test file. Then, using `mocha` (for Node.js) or a test runner with compatible API, do: ```js -const tests = require('interface-ipfs-core') +import * as tests from 'interface-ipfs-core' const nodes = [] // Create common setup and teardown diff --git a/packages/interface-ipfs-core/package.json b/packages/interface-ipfs-core/package.json index e154f7f624..8ac7a22a2f 100644 --- a/packages/interface-ipfs-core/package.json +++ b/packages/interface-ipfs-core/package.json @@ -3,7 +3,42 @@ "version": "0.150.2", "description": "A test suite and interface you can use to implement a IPFS core interface.", "leadMaintainer": "Alex Potsides ", + "type": "module", "main": "src/index.js", + "types": "types/src/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "types/*", + "types/src/*" + ], + "types/*": [ + "types/*", + "types/src/*" + ] + } + }, + "files": [ + "*", + "!**/*.tsbuildinfo" + ], + "eslintConfig": { + "extends": "ipfs", + "parserOptions": { + "sourceType": "module" + }, + "ignorePatterns": [ + "test/fixtures/*" + ] + }, + "publishConfig": { + "directory": "dist" + }, + "exports": { + ".": { + "import": "./src/index.js" + } + }, "homepage": "https://github.com/ipfs/js-ipfs/tree/master/packages/interface-ipfs-core#readme", "bugs": "https://github.com/ipfs/js-ipfs/issues", "browser": { @@ -19,10 +54,6 @@ "test": "echo 'No tests here'", "dep-check": "aegir dep-check -i abort-controller -i ipfs-core-types -i rimraf" }, - "files": [ - "src/", - "test/" - ], "repository": { "type": "git", "url": "git+https://github.com/ipfs/js-ipfs.git" @@ -31,13 +62,6 @@ "IPFS" ], "license": "MIT", - "eslintConfig": { - "extends": "ipfs", - "ignorePatterns": [ - "test/fixtures/*" - ] - }, - "types": "dist/src/index.d.ts", "dependencies": { "@ipld/car": "^3.1.6", "@ipld/dag-cbor": "^6.0.5", diff --git a/packages/interface-ipfs-core/src/add-all.js b/packages/interface-ipfs-core/src/add-all.js index 48cba70ee1..b54a71b7c9 100644 --- a/packages/interface-ipfs-core/src/add-all.js +++ b/packages/interface-ipfs-core/src/add-all.js @@ -1,22 +1,23 @@ /* eslint-env mocha, browser */ -'use strict' - -const { fixtures } = require('./utils') -const { Readable } = require('readable-stream') -const all = require('it-all') -const last = require('it-last') -const drain = require('it-drain') -const fs = require('fs') -const os = require('os') -const path = require('path') -const { supportsFileReader } = require('ipfs-utils/src/supports') -const globSource = require('ipfs-utils/src/files/glob-source') -const { isNode } = require('ipfs-utils/src/env') -const { getDescribe, getIt, expect } = require('./utils/mocha') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const bufferStream = require('it-buffer-stream') -const raw = require('multiformats/codecs/raw') -const dagPb = require('@ipld/dag-pb') + + +import { fixtures } from './utils/index.js' +import { Readable } from 'readable-stream' +import all from 'it-all' +import last from 'it-last' +import drain from 'it-drain' +import fs from 'fs' +import os from 'os' +import path from 'path' +import { supportsFileReader } from 'ipfs-utils/src/supports.js' +import globSource from 'ipfs-utils/src/files/glob-source.js' +import { isNode } from 'ipfs-utils/src/env.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import bufferStream from 'it-buffer-stream' +import * as raw from 'multiformats/codecs/raw' +import * as dagPB from '@ipld/dag-pb' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -27,7 +28,7 @@ const dagPb = require('@ipld/dag-pb') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAddAll (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -493,7 +494,7 @@ module.exports = (factory, options) => { expect(files.length).to.equal(1) expect(files[0].cid.toString()).to.equal('bafybeifmayxiu375ftlgydntjtffy5cssptjvxqw6vyuvtymntm37mpvua') - expect(files[0].cid.code).to.equal(dagPb.code) + expect(files[0].cid.code).to.equal(dagPB.code) expect(files[0].size).to.equal(18) }) @@ -509,7 +510,7 @@ module.exports = (factory, options) => { expect(files.length).to.equal(1) expect(files[0].cid.toString()).to.equal('QmaZTosBmPwo9LQ48ESPCEcNuX2kFxkpXYy8i3rxqBdzRG') - expect(files[0].cid.code).to.equal(dagPb.code) + expect(files[0].cid.code).to.equal(dagPB.code) expect(files[0].size).to.equal(11) }) diff --git a/packages/interface-ipfs-core/src/add.js b/packages/interface-ipfs-core/src/add.js index 7cc50be8af..4dd1b43ecb 100644 --- a/packages/interface-ipfs-core/src/add.js +++ b/packages/interface-ipfs-core/src/add.js @@ -1,18 +1,20 @@ /* eslint-env mocha, browser */ -'use strict' - -const { fixtures } = require('./utils') -const { Readable } = require('readable-stream') -const { supportsFileReader } = require('ipfs-utils/src/supports') -const urlSource = require('ipfs-utils/src/files/url-source') -const { isNode } = require('ipfs-utils/src/env') -const { getDescribe, getIt, expect } = require('./utils/mocha') + + +import { fixtures } from './utils/index.js' +import { Readable } from 'readable-stream' +import { supportsFileReader } from 'ipfs-utils/src/supports.js' +import urlSource from 'ipfs-utils/src/files/url-source.js' +import { isNode } from 'ipfs-utils/src/env.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import last from 'it-last' +import * as raw from 'multiformats/codecs/raw' +import * as dagPB from '@ipld/dag-pb' + const echoUrl = (/** @type {string} */ text) => `${process.env.ECHO_SERVER}/download?data=${encodeURIComponent(text)}` const redirectUrl = (/** @type {string} */ url) => `${process.env.ECHO_SERVER}/redirect?to=${encodeURI(url)}` -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const last = require('it-last') -const raw = require('multiformats/codecs/raw') -const dagPb = require('@ipld/dag-pb') /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -23,7 +25,7 @@ const dagPb = require('@ipld/dag-pb') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAdd (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -413,7 +415,7 @@ module.exports = (factory, options) => { }) expect(file.cid.toString()).to.equal('bafybeifmayxiu375ftlgydntjtffy5cssptjvxqw6vyuvtymntm37mpvua') - expect(file.cid.code).to.equal(dagPb.code) + expect(file.cid.code).to.equal(dagPB.code) expect(file.size).to.equal(18) }) diff --git a/packages/interface-ipfs-core/src/bitswap/index.js b/packages/interface-ipfs-core/src/bitswap/index.js index 9947b6bf35..4bce874d03 100644 --- a/packages/interface-ipfs-core/src/bitswap/index.js +++ b/packages/interface-ipfs-core/src/bitswap/index.js @@ -1,12 +1,16 @@ -'use strict' -const { createSuite } = require('../utils/suite') +import { createSuite } from '../utils/suite.js' +import { testStat } from './stat.js' +import { testWantlist } from './wantlist.js' +import { testWantlistForPeer } from './wantlist-for-peer.js' +import { testTransfer } from './transfer.js' +import { testUnwant } from './unwant.js' const tests = { - stat: require('./stat'), - wantlist: require('./wantlist'), - wantlistForPeer: require('./wantlist-for-peer'), - transfer: require('./transfer'), - unwant: require('./unwant') + stat: testStat, + wantlist: testWantlist, + wantlistForPeer: testWantlistForPeer, + transfer: testTransfer, + unwant: testUnwant } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/bitswap/stat.js b/packages/interface-ipfs-core/src/bitswap/stat.js index a385e6dd2b..86f482a66c 100644 --- a/packages/interface-ipfs-core/src/bitswap/stat.js +++ b/packages/interface-ipfs-core/src/bitswap/stat.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { expectIsBitswap } = require('../stats/utils') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { expectIsBitswap } from '../stats/utils.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const { expectIsBitswap } = require('../stats/utils') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStat (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bitswap/transfer.js b/packages/interface-ipfs-core/src/bitswap/transfer.js index 944c81003c..9e8282cefb 100644 --- a/packages/interface-ipfs-core/src/bitswap/transfer.js +++ b/packages/interface-ipfs-core/src/bitswap/transfer.js @@ -1,14 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isWebWorker } = require('ipfs-utils/src/env') -const { randomBytes } = require('iso-random-stream') -const concat = require('it-concat') -const { nanoid } = require('nanoid') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const pmap = require('p-map') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import { randomBytes } from 'iso-random-stream' +import concat from 'it-concat' +import { nanoid } from 'nanoid' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import pmap from 'p-map' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -19,7 +19,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testTransfer (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bitswap/unwant.js b/packages/interface-ipfs-core/src/bitswap/unwant.js index 7a4f39407e..436b316729 100644 --- a/packages/interface-ipfs-core/src/bitswap/unwant.js +++ b/packages/interface-ipfs-core/src/bitswap/unwant.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +11,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testUnwant (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bitswap/utils.js b/packages/interface-ipfs-core/src/bitswap/utils.js index e3ca6d6fbb..5d1030e261 100644 --- a/packages/interface-ipfs-core/src/bitswap/utils.js +++ b/packages/interface-ipfs-core/src/bitswap/utils.js @@ -1,13 +1,12 @@ -'use strict' -const delay = require('delay') +import delay from 'delay' /** * @param {import('ipfs-core-types').IPFS} ipfs * @param {string} key * @param {{ timeout?: number, interval?: number, peerId?: string }} [opts] */ -async function waitForWantlistKey (ipfs, key, opts = {}) { +export async function waitForWantlistKey (ipfs, key, opts = {}) { opts.timeout = opts.timeout || 10000 opts.interval = opts.interval || 100 @@ -37,7 +36,7 @@ async function waitForWantlistKey (ipfs, key, opts = {}) { * @param {string} key * @param {{ timeout?: number, interval?: number, peerId?: string }} [opts] */ -async function waitForWantlistKeyToBeRemoved (ipfs, key, opts = {}) { +export async function waitForWantlistKeyToBeRemoved (ipfs, key, opts = {}) { opts.timeout = opts.timeout || 10000 opts.interval = opts.interval || 100 @@ -63,6 +62,3 @@ async function waitForWantlistKeyToBeRemoved (ipfs, key, opts = {}) { throw new Error(`Timed out waiting for ${key} to be removed from wantlist`) } - -module.exports.waitForWantlistKey = waitForWantlistKey -module.exports.waitForWantlistKeyToBeRemoved = waitForWantlistKeyToBeRemoved diff --git a/packages/interface-ipfs-core/src/bitswap/wantlist-for-peer.js b/packages/interface-ipfs-core/src/bitswap/wantlist-for-peer.js index 6a6d3b4a5a..90f50526d8 100644 --- a/packages/interface-ipfs-core/src/bitswap/wantlist-for-peer.js +++ b/packages/interface-ipfs-core/src/bitswap/wantlist-for-peer.js @@ -1,11 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt } = require('../utils/mocha') -const { waitForWantlistKey } = require('./utils') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') -const { CID } = require('multiformats/cid') + +import { getDescribe, getIt } from '../utils/mocha.js' +import { waitForWantlistKey } from './utils.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' +import { CID } from 'multiformats/cid' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +15,7 @@ const { CID } = require('multiformats/cid') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testWantlistForPeer (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bitswap/wantlist.js b/packages/interface-ipfs-core/src/bitswap/wantlist.js index 9affe9f434..41f3dfd1b1 100644 --- a/packages/interface-ipfs-core/src/bitswap/wantlist.js +++ b/packages/interface-ipfs-core/src/bitswap/wantlist.js @@ -1,14 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { waitForWantlistKey, waitForWantlistKeyToBeRemoved } = require('./utils') -const { isWebWorker } = require('ipfs-utils/src/env') -const testTimeout = require('../utils/test-timeout') -const { AbortController } = require('native-abort-controller') -const { CID } = require('multiformats/cid') -const delay = require('delay') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { waitForWantlistKey, waitForWantlistKeyToBeRemoved } from './utils.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import testTimeout from '../utils/test-timeout.js' +import { AbortController } from 'native-abort-controller' +import { CID } from 'multiformats/cid' +import delay from 'delay' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +18,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testWantlist (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/block/get.js b/packages/interface-ipfs-core/src/block/get.js index 3acb2f1007..8463a3cf9a 100644 --- a/packages/interface-ipfs-core/src/block/get.js +++ b/packages/interface-ipfs-core/src/block/get.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { identity } = require('multiformats/hashes/identity') -const { CID } = require('multiformats/cid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { identity } from 'multiformats/hashes/identity' +import { CID } from 'multiformats/cid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/block/index.js b/packages/interface-ipfs-core/src/block/index.js index 2996797979..988b9127e1 100644 --- a/packages/interface-ipfs-core/src/block/index.js +++ b/packages/interface-ipfs-core/src/block/index.js @@ -1,11 +1,15 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testGet } from './get.js' +import { testPut } from './put.js' +import { testRm } from './rm.js' +import { testStat } from './stat.js' const tests = { - get: require('./get'), - put: require('./put'), - rm: require('./rm'), - stat: require('./stat') + get: testGet, + put: testPut, + rm: testRm, + stat: testStat } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/block/put.js b/packages/interface-ipfs-core/src/block/put.js index f8a755c19b..c056b68bc4 100644 --- a/packages/interface-ipfs-core/src/block/put.js +++ b/packages/interface-ipfs-core/src/block/put.js @@ -1,13 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { base58btc } = require('multiformats/bases/base58') -const { CID } = require('multiformats/cid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const raw = require('multiformats/codecs/raw') -const { sha512 } = require('multiformats/hashes/sha2') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { base58btc } from 'multiformats/bases/base58' +import { CID } from 'multiformats/cid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import * as raw from 'multiformats/codecs/raw' +import { sha512 } from 'multiformats/hashes/sha2' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -17,7 +18,7 @@ const { sha512 } = require('multiformats/hashes/sha2') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPut (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/block/rm.js b/packages/interface-ipfs-core/src/block/rm.js index fb8ebbfceb..6aff4ff2b4 100644 --- a/packages/interface-ipfs-core/src/block/rm.js +++ b/packages/interface-ipfs-core/src/block/rm.js @@ -1,15 +1,16 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { nanoid } = require('nanoid') -const all = require('it-all') -const last = require('it-last') -const drain = require('it-drain') -const { CID } = require('multiformats/cid') -const raw = require('multiformats/codecs/raw') -const testTimeout = require('../utils/test-timeout') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { nanoid } from 'nanoid' +import all from 'it-all' +import last from 'it-last' +import drain from 'it-drain' +import { CID } from 'multiformats/cid' +import * as raw from 'multiformats/codecs/raw' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -19,7 +20,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/block/stat.js b/packages/interface-ipfs-core/src/block/stat.js index ad4b4f552a..40f39b4cef 100644 --- a/packages/interface-ipfs-core/src/block/stat.js +++ b/packages/interface-ipfs-core/src/block/stat.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { CID } = require('multiformats/cid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { CID } from 'multiformats/cid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStat (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bootstrap/add.js b/packages/interface-ipfs-core/src/bootstrap/add.js index 6ee1d30856..1bd1dd0166 100644 --- a/packages/interface-ipfs-core/src/bootstrap/add.js +++ b/packages/interface-ipfs-core/src/bootstrap/add.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' const invalidArg = 'this/Is/So/Invalid/' const validIp4 = new Multiaddr('/ip4/104.236.176.52/tcp/4001/p2p/QmSoLnSGccFuZQJzRadHn95W2CrSFmZuTdDWP8HXaHca9z') @@ -15,7 +15,7 @@ const validIp4 = new Multiaddr('/ip4/104.236.176.52/tcp/4001/p2p/QmSoLnSGccFuZQJ * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAdd (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bootstrap/clear.js b/packages/interface-ipfs-core/src/bootstrap/clear.js index eeee125d00..7cb7534dca 100644 --- a/packages/interface-ipfs-core/src/bootstrap/clear.js +++ b/packages/interface-ipfs-core/src/bootstrap/clear.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { Multiaddr } = require('multiaddr') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testClear (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bootstrap/index.js b/packages/interface-ipfs-core/src/bootstrap/index.js index b8276573df..d20766a8fd 100644 --- a/packages/interface-ipfs-core/src/bootstrap/index.js +++ b/packages/interface-ipfs-core/src/bootstrap/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testAdd } from './add.js' +import { testClear } from './clear.js' +import { testList } from './list.js' +import { testReset } from './reset.js' +import { testRm } from './rm.js' const tests = { - add: require('./add'), - clear: require('./clear'), - list: require('./list'), - reset: require('./reset'), - rm: require('./rm') + add: testAdd, + clear: testClear, + list: testList, + reset: testReset, + rm: testRm } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/bootstrap/list.js b/packages/interface-ipfs-core/src/bootstrap/list.js index 4e21f87576..fe186f9cf1 100644 --- a/packages/interface-ipfs-core/src/bootstrap/list.js +++ b/packages/interface-ipfs-core/src/bootstrap/list.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { Multiaddr } = require('multiaddr') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testList (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bootstrap/reset.js b/packages/interface-ipfs-core/src/bootstrap/reset.js index 3b35606b56..490dcff433 100644 --- a/packages/interface-ipfs-core/src/bootstrap/reset.js +++ b/packages/interface-ipfs-core/src/bootstrap/reset.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { Multiaddr } = require('multiaddr') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testReset (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/bootstrap/rm.js b/packages/interface-ipfs-core/src/bootstrap/rm.js index 8f31edf3fb..9c18826fa7 100644 --- a/packages/interface-ipfs-core/src/bootstrap/rm.js +++ b/packages/interface-ipfs-core/src/bootstrap/rm.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { Multiaddr } = require('multiaddr') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/cat.js b/packages/interface-ipfs-core/src/cat.js index 586e10ba01..6244bcdc3d 100644 --- a/packages/interface-ipfs-core/src/cat.js +++ b/packages/interface-ipfs-core/src/cat.js @@ -1,17 +1,18 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { fixtures } = require('./utils') -const { CID } = require('multiformats/cid') -const all = require('it-all') -const drain = require('it-drain') -const { getDescribe, getIt, expect } = require('./utils/mocha') -const testTimeout = require('./utils/test-timeout') -const { importer } = require('ipfs-unixfs-importer') -const blockstore = require('./utils/blockstore-adapter') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { fixtures } from './utils/index.js' +import { CID } from 'multiformats/cid' +import all from 'it-all' +import drain from 'it-drain' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import testTimeout from './utils/test-timeout' +import { importer } from 'ipfs-unixfs-importer' +import blockstore from './utils/blockstore-adapter.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -21,7 +22,7 @@ const blockstore = require('./utils/blockstore-adapter') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testCat (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/config/get.js b/packages/interface-ipfs-core/src/config/get.js index dc20ad8853..f37d3a39da 100644 --- a/packages/interface-ipfs-core/src/config/get.js +++ b/packages/interface-ipfs-core/src/config/get.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +11,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/config/index.js b/packages/interface-ipfs-core/src/config/index.js index 783dacdc16..2da3f379d5 100644 --- a/packages/interface-ipfs-core/src/config/index.js +++ b/packages/interface-ipfs-core/src/config/index.js @@ -1,11 +1,14 @@ -'use strict' -const { createSuite } = require('../utils/suite') +import { createSuite } from '../utils/suite.js' +import { testGet } from './get.js' +import { testSet } from './set.js' +import { testReplace } from './replace.js' +import profiles from './profiles/index.js' const tests = { - get: require('./get'), - set: require('./set'), - replace: require('./replace'), - profiles: require('./profiles') + get: testGet, + set: testSet, + replace: testReplace, + profiles } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/config/profiles/apply.js b/packages/interface-ipfs-core/src/config/profiles/apply.js index a1592764c6..674ba6d14f 100644 --- a/packages/interface-ipfs-core/src/config/profiles/apply.js +++ b/packages/interface-ipfs-core/src/config/profiles/apply.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../../utils/mocha') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +11,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testApply (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/config/profiles/index.js b/packages/interface-ipfs-core/src/config/profiles/index.js index 0a70eb4c12..f1e2f0dbbe 100644 --- a/packages/interface-ipfs-core/src/config/profiles/index.js +++ b/packages/interface-ipfs-core/src/config/profiles/index.js @@ -1,9 +1,11 @@ -'use strict' -const { createSuite } = require('../../utils/suite') + +import { createSuite } from '../../utils/suite.js' +import { testApply } from './apply.js' +import { testList } from './list.js' const tests = { - list: require('./list'), - apply: require('./apply') + apply: testApply, + list: testList } -module.exports = createSuite(tests) +export default createSuite(tests, 'config') diff --git a/packages/interface-ipfs-core/src/config/profiles/list.js b/packages/interface-ipfs-core/src/config/profiles/list.js index a59ed14051..76f8ec9fd1 100644 --- a/packages/interface-ipfs-core/src/config/profiles/list.js +++ b/packages/interface-ipfs-core/src/config/profiles/list.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../../utils/mocha') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +11,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testList (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/config/replace.js b/packages/interface-ipfs-core/src/config/replace.js index 5644c5c6a6..cd90323048 100644 --- a/packages/interface-ipfs-core/src/config/replace.js +++ b/packages/interface-ipfs-core/src/config/replace.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testReplace (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/config/set.js b/packages/interface-ipfs-core/src/config/set.js index f3dc51ca00..4c5356fb10 100644 --- a/packages/interface-ipfs-core/src/config/set.js +++ b/packages/interface-ipfs-core/src/config/set.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testSet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dag/export.js b/packages/interface-ipfs-core/src/dag/export.js index 4daad685d4..978f3ce9cc 100644 --- a/packages/interface-ipfs-core/src/dag/export.js +++ b/packages/interface-ipfs-core/src/dag/export.js @@ -1,14 +1,14 @@ /* eslint-env mocha */ -'use strict' -const all = require('it-all') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { CarReader } = require('@ipld/car') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPb = require('@ipld/dag-pb') -const dagCbor = require('@ipld/dag-cbor') -const loadFixture = require('aegir/utils/fixtures') -const toBuffer = require('it-to-buffer') +import all from 'it-all' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { CarReader } from '@ipld/car' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import * as dagCBOR from '@ipld/dag-cbor' +import loadFixture from 'aegir/utils/fixtures.js' +import toBuffer from 'it-to-buffer' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +18,7 @@ const toBuffer = require('it-to-buffer') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testExport (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -32,7 +32,7 @@ module.exports = (factory, options) => { after(() => factory.clean()) it('should export a car file', async () => { - const child = dagPb.encode({ + const child = dagPB.encode({ Data: uint8ArrayFromString('block-' + Math.random()), Links: [] }) @@ -40,7 +40,7 @@ module.exports = (factory, options) => { format: 'dag-pb', version: 0 }) - const parent = dagPb.encode({ + const parent = dagPB.encode({ Links: [{ Hash: childCid, Tsize: child.length, @@ -51,7 +51,7 @@ module.exports = (factory, options) => { format: 'dag-pb', version: 0 }) - const grandParent = dagCbor.encode({ + const grandParent = dagCBOR.encode({ parent: parentCid }) const grandParentCid = await await ipfs.block.put(grandParent, { diff --git a/packages/interface-ipfs-core/src/dag/get.js b/packages/interface-ipfs-core/src/dag/get.js index 9c9731f70f..1a4a5c7fe5 100644 --- a/packages/interface-ipfs-core/src/dag/get.js +++ b/packages/interface-ipfs-core/src/dag/get.js @@ -1,20 +1,20 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const dagCBOR = require('@ipld/dag-cbor') -const { importer } = require('ipfs-unixfs-importer') -const { UnixFS } = require('ipfs-unixfs') -const all = require('it-all') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { base32 } = require('multiformats/bases/base32') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') -const { identity } = require('multiformats/hashes/identity') -const dagCbor = require('@ipld/dag-cbor') -const blockstore = require('../utils/blockstore-adapter') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import * as dagCBOR from '@ipld/dag-cbor' +import { importer } from 'ipfs-unixfs-importer' +import { UnixFS } from 'ipfs-unixfs' +import all from 'it-all' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { base32 } from 'multiformats/bases/base32' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' +import { identity } from 'multiformats/hashes/identity' +import blockstore from '../utils/blockstore-adapter.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -24,7 +24,7 @@ const blockstore = require('../utils/blockstore-adapter') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -228,7 +228,7 @@ module.exports = (factory, options) => { } const cid = await ipfs.dag.put(cbor, { format: 'dag-cbor', hashAlg: 'sha2-256' }) - expect(cid.code).to.equal(dagCbor.code) + expect(cid.code).to.equal(dagCBOR.code) expect(cid.toString(base32)).to.equal('bafyreic6f672hnponukaacmk2mmt7vs324zkagvu4hcww6yba6kby25zce') const result = await ipfs.dag.get(cid, { diff --git a/packages/interface-ipfs-core/src/dag/import.js b/packages/interface-ipfs-core/src/dag/import.js index b1abbede61..39d13f9712 100644 --- a/packages/interface-ipfs-core/src/dag/import.js +++ b/packages/interface-ipfs-core/src/dag/import.js @@ -1,15 +1,16 @@ /* eslint-env mocha */ -'use strict' - -const all = require('it-all') -const drain = require('it-drain') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { CarWriter, CarReader } = require('@ipld/car') -const raw = require('multiformats/codecs/raw') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const loadFixture = require('aegir/utils/fixtures') + + +import all from 'it-all' +import drain from 'it-drain' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { CarWriter, CarReader } from '@ipld/car' +import * as raw from 'multiformats/codecs/raw' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import loadFixture from 'aegir/utils/fixtures.js' /** * @@ -57,7 +58,7 @@ async function createCar (blocks) { * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testImport (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dag/index.js b/packages/interface-ipfs-core/src/dag/index.js index 18b62bd6b5..42ad8907bb 100644 --- a/packages/interface-ipfs-core/src/dag/index.js +++ b/packages/interface-ipfs-core/src/dag/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testExport } from './export.js' +import { testGet } from './get.js' +import { testPut } from './put.js' +import { testImport } from './import.js' +import { testResolve } from './resolve.js' const tests = { - export: require('./export'), - get: require('./get'), - put: require('./put'), - import: require('./import'), - resolve: require('./resolve') + export: testExport, + get: testGet, + put: testPut, + import: testImport, + resolve: testResolve } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/dag/put.js b/packages/interface-ipfs-core/src/dag/put.js index 8e825dc98d..646655aeca 100644 --- a/packages/interface-ipfs-core/src/dag/put.js +++ b/packages/interface-ipfs-core/src/dag/put.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagCbor = require('@ipld/dag-cbor') -const { CID } = require('multiformats/cid') -const { sha256, sha512 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagCBOR from '@ipld/dag-cbor' +import { CID } from 'multiformats/cid' +import { sha256, sha512 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPut (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -71,9 +72,9 @@ module.exports = (factory, options) => { expect(cid).to.exist() expect(cid).to.be.an.instanceOf(CID) - const bytes = dagCbor.encode(cborNode) + const bytes = dagCBOR.encode(cborNode) const hash = await sha256.digest(bytes) - const _cid = CID.createV1(dagCbor.code, hash) + const _cid = CID.createV1(dagCBOR.code, hash) expect(cid.bytes).to.eql(_cid.bytes) }) @@ -84,7 +85,7 @@ module.exports = (factory, options) => { it('should set defaults when calling put without options', async () => { const cid = await ipfs.dag.put(cborNode) - expect(cid.code).to.equal(dagCbor.code) + expect(cid.code).to.equal(dagCBOR.code) expect(cid.multihash.code).to.equal(sha256.code) }) @@ -93,7 +94,7 @@ module.exports = (factory, options) => { format: 'dag-cbor', hashAlg: 'sha2-512' }) - expect(cid.code).to.equal(dagCbor.code) + expect(cid.code).to.equal(dagCBOR.code) expect(cid.multihash.code).to.equal(sha512.code) }) diff --git a/packages/interface-ipfs-core/src/dag/resolve.js b/packages/interface-ipfs-core/src/dag/resolve.js index e823c8386e..24db969354 100644 --- a/packages/interface-ipfs-core/src/dag/resolve.js +++ b/packages/interface-ipfs-core/src/dag/resolve.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const dagPB = require('@ipld/dag-pb') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') + +import * as dagPB from '@ipld/dag-pb' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testResolve (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/disabled.js b/packages/interface-ipfs-core/src/dht/disabled.js index 06d1838a5c..9a9d247652 100644 --- a/packages/interface-ipfs-core/src/dht/disabled.js +++ b/packages/interface-ipfs-core/src/dht/disabled.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testDisabled (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/find-peer.js b/packages/interface-ipfs-core/src/dht/find-peer.js index e52c7eab51..218c46ae15 100644 --- a/packages/interface-ipfs-core/src/dht/find-peer.js +++ b/packages/interface-ipfs-core/src/dht/find-peer.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testFindPeer (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/find-provs.js b/packages/interface-ipfs-core/src/dht/find-provs.js index 45de780a5b..482e4d65b3 100644 --- a/packages/interface-ipfs-core/src/dht/find-provs.js +++ b/packages/interface-ipfs-core/src/dht/find-provs.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') -const { fakeCid } = require('./utils') -const testTimeout = require('../utils/test-timeout') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' +import { fakeCid } from './utils.js' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testFindProvs (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -102,7 +103,7 @@ module.exports = (factory, options) => { try { res = await all(nodeA.dht.findProvs(cidV0, options)) - } catch (err) { + } catch (/** @type {any} */ err) { // rejected by http client expect(err).to.have.property('name', 'TimeoutError') return diff --git a/packages/interface-ipfs-core/src/dht/get.js b/packages/interface-ipfs-core/src/dht/get.js index aa14a90337..f8866528e0 100644 --- a/packages/interface-ipfs-core/src/dht/get.js +++ b/packages/interface-ipfs-core/src/dht/get.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const testTimeout = require('../utils/test-timeout') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import testTimeout from '../utils/test-timeout.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const { toString: uint8ArrayToString } = require('uint8arrays/to-string') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/index.js b/packages/interface-ipfs-core/src/dht/index.js index d56ef622f7..6dc0234f81 100644 --- a/packages/interface-ipfs-core/src/dht/index.js +++ b/packages/interface-ipfs-core/src/dht/index.js @@ -1,14 +1,21 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testPut } from './put.js' +import { testGet } from './get.js' +import { testFindPeer } from './find-peer.js' +import { testProvide } from './provide.js' +import { testFindProvs } from './find-provs.js' +import { testQuery } from './query.js' +import { testDisabled } from './disabled.js' const tests = { - put: require('./put'), - get: require('./get'), - findPeer: require('./find-peer'), - provide: require('./provide'), - findProvs: require('./find-provs'), - query: require('./query'), - disabled: require('./disabled') + put: testPut, + get: testGet, + findPeer: testFindPeer, + provide: testProvide, + findProvs: testFindProvs, + query: testQuery, + disabled: testDisabled } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/dht/provide.js b/packages/interface-ipfs-core/src/dht/provide.js index 4cb2bfaf66..fbff368083 100644 --- a/packages/interface-ipfs-core/src/dht/provide.js +++ b/packages/interface-ipfs-core/src/dht/provide.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { CID } = require('multiformats/cid') -const all = require('it-all') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { CID } from 'multiformats/cid' +import all from 'it-all' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testProvide (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/put.js b/packages/interface-ipfs-core/src/dht/put.js index 016e49f04b..6cfd590e53 100644 --- a/packages/interface-ipfs-core/src/dht/put.js +++ b/packages/interface-ipfs-core/src/dht/put.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPut (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/dht/query.js b/packages/interface-ipfs-core/src/dht/query.js index 034498aa19..26ee1166af 100644 --- a/packages/interface-ipfs-core/src/dht/query.js +++ b/packages/interface-ipfs-core/src/dht/query.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') -const testTimeout = require('../utils/test-timeout') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' +import testTimeout from '../utils/test-timeout.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const testTimeout = require('../utils/test-timeout') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testQuery (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -52,7 +53,7 @@ module.exports = (factory, options) => { try { const peers = await all(nodeA.dht.query(nodeBId.id, { timeout: timeout - 1000 })) expect(peers.map(p => p.id.toString())).to.include(nodeBId.id) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.name === 'TimeoutError') { // This test is meh. DHT works best with >= 20 nodes. Therefore a // failure might happen, but we don't want to report it as such. diff --git a/packages/interface-ipfs-core/src/dht/utils.js b/packages/interface-ipfs-core/src/dht/utils.js index f397e7ca89..dcaa6e60f3 100644 --- a/packages/interface-ipfs-core/src/dht/utils.js +++ b/packages/interface-ipfs-core/src/dht/utils.js @@ -1,14 +1,14 @@ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' /** * @param {Uint8Array} [data] * @returns */ -exports.fakeCid = async (data) => { +export async function fakeCid (data) { const bytes = data || uint8ArrayFromString(`TEST${Math.random()}`) const mh = await sha256.digest(bytes) return CID.createV0(mh) diff --git a/packages/interface-ipfs-core/src/files/chmod.js b/packages/interface-ipfs-core/src/files/chmod.js index 3d71aec542..617db28627 100644 --- a/packages/interface-ipfs-core/src/files/chmod.js +++ b/packages/interface-ipfs-core/src/files/chmod.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const isShardAtPath = require('../utils/is-shard-at-path') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import isShardAtPath from '../utils/is-shard-at-path.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const isShardAtPath = require('../utils/is-shard-at-path') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testChmod (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/files/cp.js b/packages/interface-ipfs-core/src/files/cp.js index a4bd5c77b2..bcb936ddda 100644 --- a/packages/interface-ipfs-core/src/files/cp.js +++ b/packages/interface-ipfs-core/src/files/cp.js @@ -1,17 +1,18 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { nanoid } = require('nanoid') -const all = require('it-all') -const { fixtures } = require('../utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { identity } = require('multiformats/hashes/identity') -const { CID } = require('multiformats/cid') -const { randomBytes } = require('iso-random-stream') -const createShardedDirectory = require('../utils/create-sharded-directory') -const isShardAtPath = require('../utils/is-shard-at-path') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { nanoid } from 'nanoid' +import all from 'it-all' +import { fixtures } from '../utils' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { identity } from 'multiformats/hashes/identity' +import { CID } from 'multiformats/cid' +import { randomBytes } from 'iso-random-stream' +import createShardedDirectory from '../utils/create-sharded-directory' +import isShardAtPath from '../utils/is-shard-at-path.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -21,7 +22,7 @@ const isShardAtPath = require('../utils/is-shard-at-path') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testCp (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -108,7 +109,7 @@ module.exports = (factory, options) => { try { await ipfs.files.cp(source, destination) throw new Error('No error was thrown when trying to overwrite a file') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('directory already has entry by that name') } }) @@ -123,7 +124,7 @@ module.exports = (factory, options) => { try { await ipfs.files.cp(source, source) throw new Error('No error was thrown for a non-existent file') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('directory already has entry by that name') } }) diff --git a/packages/interface-ipfs-core/src/files/flush.js b/packages/interface-ipfs-core/src/files/flush.js index 420250517d..8901e3b3bd 100644 --- a/packages/interface-ipfs-core/src/files/flush.js +++ b/packages/interface-ipfs-core/src/files/flush.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testFlush (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -31,7 +32,7 @@ module.exports = (factory, options) => { try { await ipfs.files.flush(`${testDir}/404`) - } catch (err) { + } catch (/** @type {any} */ err) { expect(err).to.exist() } }) diff --git a/packages/interface-ipfs-core/src/files/index.js b/packages/interface-ipfs-core/src/files/index.js index 01888489bd..54ce6700b7 100644 --- a/packages/interface-ipfs-core/src/files/index.js +++ b/packages/interface-ipfs-core/src/files/index.js @@ -1,19 +1,30 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testChmod } from './chmod.js' +import { testCp } from './cp.js' +import { testFlush } from './flush.js' +import { testLs } from './ls.js' +import { testMkdir } from './mkdir.js' +import { testMv } from './mv.js' +import { testRead } from './read.js' +import { testRm } from './rm.js' +import { testStat } from './stat.js' +import { testTouch } from './touch.js' +import { testWrite } from './write.js' const tests = { - chmod: require('./chmod'), - cp: require('./cp'), - flush: require('./flush'), - ls: require('./ls'), - mkdir: require('./mkdir'), - mv: require('./mv'), - read: require('./read'), - rm: require('./rm'), - stat: require('./stat'), - touch: require('./touch'), - write: require('./write') + chmod: testChmod, + cp: testCp, + flush: testFlush, + ls: testLs, + mkdir: testMkdir, + mv: testMv, + read: testRead, + rm: testRm, + stat: testStat, + touch: testTouch, + write: testWrite } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/files/ls.js b/packages/interface-ipfs-core/src/files/ls.js index d6993701d8..1146fb6779 100644 --- a/packages/interface-ipfs-core/src/files/ls.js +++ b/packages/interface-ipfs-core/src/files/ls.js @@ -1,13 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { CID } = require('multiformats/cid') -const createShardedDirectory = require('../utils/create-sharded-directory') -const all = require('it-all') -const { randomBytes } = require('iso-random-stream') -const raw = require('multiformats/codecs/raw') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { CID } from 'multiformats/cid' +import createShardedDirectory from '../utils/create-sharded-directory' +import all from 'it-all' +import { randomBytes } from 'iso-random-stream' +import * as raw from 'multiformats/codecs/raw' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -17,7 +18,7 @@ const raw = require('multiformats/codecs/raw') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLs (factory, options) { const describe = getDescribe(options) const it = getIt(options) const largeFile = randomBytes(490668) diff --git a/packages/interface-ipfs-core/src/files/mkdir.js b/packages/interface-ipfs-core/src/files/mkdir.js index f9f57d90ac..d5315a5063 100644 --- a/packages/interface-ipfs-core/src/files/mkdir.js +++ b/packages/interface-ipfs-core/src/files/mkdir.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { sha512 } = require('multiformats/hashes/sha2') -const createShardedDirectory = require('../utils/create-sharded-directory') -const all = require('it-all') -const isShardAtPath = require('../utils/is-shard-at-path') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { sha512 } from 'multiformats/hashes/sha2' +import createShardedDirectory from '../utils/create-sharded-directory' +import all from 'it-all' +import isShardAtPath from '../utils/is-shard-at-path.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const isShardAtPath = require('../utils/is-shard-at-path') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testMkdir (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/files/mv.js b/packages/interface-ipfs-core/src/files/mv.js index 0e78f27c18..58cf1abcfa 100644 --- a/packages/interface-ipfs-core/src/files/mv.js +++ b/packages/interface-ipfs-core/src/files/mv.js @@ -1,13 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const createShardedDirectory = require('../utils/create-sharded-directory') -const { randomBytes } = require('iso-random-stream') -const isShardAtPath = require('../utils/is-shard-at-path') -const all = require('it-all') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import createShardedDirectory from '../utils/create-sharded-directory' +import { randomBytes } from 'iso-random-stream' +import isShardAtPath from '../utils/is-shard-at-path.js' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -17,7 +18,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testMv (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -76,7 +77,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(source) throw new Error('Directory was copied but not removed') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('does not exist') } }) @@ -103,7 +104,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(source) throw new Error('Directory was copied but not removed') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('does not exist') } }) @@ -145,7 +146,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(shardedDirPath) throw new Error('Dir was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -165,7 +166,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(dirPath) throw new Error('Dir was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -185,7 +186,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(otherShardedDirPath) throw new Error('Sharded dir was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -211,7 +212,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(filePath) throw new Error('File was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -238,7 +239,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(filePath) throw new Error('File was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -265,7 +266,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(filePath) throw new Error('File was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) @@ -292,7 +293,7 @@ module.exports = (factory, options) => { try { await ipfs.files.stat(filePath) throw new Error('File was not removed') - } catch (error) { + } catch (/** @type {any} */ error) { expect(error.message).to.contain('does not exist') } }) diff --git a/packages/interface-ipfs-core/src/files/read.js b/packages/interface-ipfs-core/src/files/read.js index d40c323306..f2250eefc9 100644 --- a/packages/interface-ipfs-core/src/files/read.js +++ b/packages/interface-ipfs-core/src/files/read.js @@ -1,13 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const drain = require('it-drain') -const all = require('it-all') -const { fixtures } = require('../utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const createShardedDirectory = require('../utils/create-sharded-directory') -const { randomBytes } = require('iso-random-stream') + +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import drain from 'it-drain' +import all from 'it-all' +import { fixtures } from '../utils' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import createShardedDirectory from '../utils/create-sharded-directory' +import { randomBytes } from 'iso-random-stream' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -17,7 +18,7 @@ const { randomBytes } = require('iso-random-stream') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRead (factory, options) { const describe = getDescribe(options) const it = getIt(options) const smallFile = randomBytes(13) diff --git a/packages/interface-ipfs-core/src/files/rm.js b/packages/interface-ipfs-core/src/files/rm.js index 3bb7fbbb96..c0385508e4 100644 --- a/packages/interface-ipfs-core/src/files/rm.js +++ b/packages/interface-ipfs-core/src/files/rm.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const createShardedDirectory = require('../utils/create-sharded-directory') -const createTwoShards = require('../utils/create-two-shards') -const { randomBytes } = require('iso-random-stream') -const isShardAtPath = require('../utils/is-shard-at-path') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import createShardedDirectory from '../utils/create-sharded-directory' +import createTwoShards from '../utils/create-two-shards' +import { randomBytes } from 'iso-random-stream' +import isShardAtPath from '../utils/is-shard-at-path.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const isShardAtPath = require('../utils/is-shard-at-path') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/files/stat.js b/packages/interface-ipfs-core/src/files/stat.js index 9b8fe8c5b5..fb015437e9 100644 --- a/packages/interface-ipfs-core/src/files/stat.js +++ b/packages/interface-ipfs-core/src/files/stat.js @@ -1,16 +1,17 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { nanoid } = require('nanoid') -const { fixtures } = require('../utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const createShardedDirectory = require('../utils/create-sharded-directory') -const { CID } = require('multiformats/cid') -const { identity } = require('multiformats/hashes/identity') -const { randomBytes } = require('iso-random-stream') -const isShardAtPath = require('../utils/is-shard-at-path') -const raw = require('multiformats/codecs/raw') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { nanoid } from 'nanoid' +import { fixtures } from '../utils' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import createShardedDirectory from '../utils/create-sharded-directory' +import { CID } from 'multiformats/cid' +import { identity } from 'multiformats/hashes/identity' +import { randomBytes } from 'iso-random-stream' +import isShardAtPath from '../utils/is-shard-at-path.js' +import * as raw from 'multiformats/codecs/raw' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -20,7 +21,7 @@ const raw = require('multiformats/codecs/raw') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStat (factory, options) { const describe = getDescribe(options) const it = getIt(options) const smallFile = randomBytes(13) diff --git a/packages/interface-ipfs-core/src/files/touch.js b/packages/interface-ipfs-core/src/files/touch.js index 219700a82f..684b30e939 100644 --- a/packages/interface-ipfs-core/src/files/touch.js +++ b/packages/interface-ipfs-core/src/files/touch.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const delay = require('delay') -const all = require('it-all') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import delay from 'delay' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testTouch (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/files/write.js b/packages/interface-ipfs-core/src/files/write.js index 90222949ee..e6e18a619f 100644 --- a/packages/interface-ipfs-core/src/files/write.js +++ b/packages/interface-ipfs-core/src/files/write.js @@ -1,20 +1,21 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isNode } = require('ipfs-utils/src/env') -const { sha512 } = require('multiformats/hashes/sha2') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isNode } from 'ipfs-utils/src/env.js' +import { sha512 } from 'multiformats/hashes/sha2' const traverseLeafNodes = require('../utils/traverse-leaf-nodes') -const createShardedDirectory = require('../utils/create-sharded-directory') -const createTwoShards = require('../utils/create-two-shards') -const { randomBytes } = require('iso-random-stream') +import createShardedDirectory from '../utils/create-sharded-directory' +import createTwoShards from '../utils/create-two-shards' +import { randomBytes } from 'iso-random-stream' const { randomStream } = require('iso-random-stream') -const all = require('it-all') -const isShardAtPath = require('../utils/is-shard-at-path') -const raw = require('multiformats/codecs/raw') +import all from 'it-all' +import isShardAtPath from '../utils/is-shard-at-path.js' +import * as raw from 'multiformats/codecs/raw' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -24,7 +25,7 @@ const raw = require('multiformats/codecs/raw') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testWrite (factory, options) { const describe = getDescribe(options) const it = getIt(options) const smallFile = randomBytes(13) @@ -256,7 +257,7 @@ module.exports = (factory, options) => { create: true }) throw new Error('Writing a file to a non-existent folder without the --parents flag should have failed') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('does not exist') } }) @@ -267,7 +268,7 @@ module.exports = (factory, options) => { try { await ipfs.files.write(filePath, smallFile) throw new Error('Writing a file to a non-existent file without the --create flag should have failed') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('file does not exist') } }) @@ -285,7 +286,7 @@ module.exports = (factory, options) => { }) throw new Error('Writing a path with a file in it should have failed') - } catch (err) { + } catch (/** @type {any} */ err) { expect(err.message).to.contain('Not a directory') } }) diff --git a/packages/interface-ipfs-core/src/get.js b/packages/interface-ipfs-core/src/get.js index 53aa8b3593..52cc4f8b3b 100644 --- a/packages/interface-ipfs-core/src/get.js +++ b/packages/interface-ipfs-core/src/get.js @@ -1,23 +1,24 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { concat: uint8ArrayConcat } = require('uint8arrays/concat') -const { fixtures } = require('./utils') -const { CID } = require('multiformats/cid') -const all = require('it-all') -const drain = require('it-drain') -const last = require('it-last') -const map = require('it-map') -const { getDescribe, getIt, expect } = require('./utils/mocha') -const testTimeout = require('./utils/test-timeout') -const { importer } = require('ipfs-unixfs-importer') -const blockstore = require('./utils/blockstore-adapter') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { concat as uint8ArrayConcat } from 'uint8arrays/concat' +import { fixtures } from './utils/index.js' +import { CID } from 'multiformats/cid' +import all from 'it-all' +import drain from 'it-drain' +import last from 'it-last' +import map from 'it-map' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import testTimeout from './utils/test-timeout' +import { importer } from 'ipfs-unixfs-importer' +import blockstore from './utils/blockstore-adapter.js' const { Inflate } = require('pako') -const { extract } = require('it-tar') -const { pipe } = require('it-pipe') -const toBuffer = require('it-to-buffer') +import { extract } from 'it-tar' +import { pipe } from 'it-pipe' +import toBuffer from 'it-to-buffer' /** * @param {string} name @@ -47,7 +48,7 @@ const emptyDir = (name) => ({ path: `test-folder/${name}` }) * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/index.js b/packages/interface-ipfs-core/src/index.js index 239bcf60c7..6029a4f7c0 100644 --- a/packages/interface-ipfs-core/src/index.js +++ b/packages/interface-ipfs-core/src/index.js @@ -1,37 +1,56 @@ -'use strict' -const { createSuite } = require('./utils/suite') +import { createSuite } from './utils/suite.js' +import { testAdd } from './add.js' +import { testAddAll } from './add-all.js' +import { testCat } from './cat.js' +import { testGet } from './get.js' +import { testLs } from './ls.js' +import { testRefs } from './refs.js' +import { testRefsLocal } from './refs-local.js' +import testFiles from './files/index.js' +import testBitswap from './bitswap/index.js' +import testBlock from './block/index.js' +import testDag from './dag/index.js' +import testObject from './object/index.js' +import testPin from './object/index.js' +import testBootstrap from './bootstrap/index.js' +import testDht from './dht/index.js' +import testName from './name/index.js' +import testNamePubsub from './name-pubsub/index.js' +import testPing from './ping/index.js' +import testPubsub from './pubsub/index.js' +import testSwarm from './swarm/index.js' +import testConfig from './config/index.js' +import testKey from './key/index.js' +import testMiscellaneous from './miscellaneous/index.js' +import testRepo from './repo/index.js' +import testStats from './stats/index.js' -exports.root = createSuite({ - add: require('./add'), - addAll: require('./add-all'), - cat: require('./cat'), - get: require('./get'), - ls: require('./ls'), - refs: require('./refs'), - refsLocal: require('./refs-local') +export const root = createSuite({ + add: testAdd, + addAll: testAddAll, + cat: testCat, + get: testGet, + ls: testLs, + refs: testRefs, + refsLocal: testRefsLocal }) -exports.files = require('./files') - -exports.bitswap = require('./bitswap') -exports.block = require('./block') - -exports.dag = require('./dag') -exports.object = require('./object') -exports.pin = require('./pin') -exports.pin.remote = require('./pin/remote') - -exports.bootstrap = require('./bootstrap') -exports.dht = require('./dht') -exports.name = require('./name') -exports.namePubsub = require('./name-pubsub') -exports.ping = require('./ping') -exports.pubsub = require('./pubsub') -exports.swarm = require('./swarm') - -exports.config = require('./config') -exports.key = require('./key') -exports.miscellaneous = require('./miscellaneous') -exports.repo = require('./repo') -exports.stats = require('./stats') +export const files = testFiles +export const bitswap = testBitswap +export const block = testBlock +export const dag = testDag +export const object = testObject +export const pin = testPin +export const bootstrap = testBootstrap +export const dht = testDht +export const name = testName +export const namePubsub = testNamePubsub +export const ping = testPing +export const pubsub = testPubsub +export const swarm = testSwarm +export const config = testConfig +export const key = testKey +export const miscellaneous = testMiscellaneous +export const repo = testRepo +export const stats = testStats diff --git a/packages/interface-ipfs-core/src/key/gen.js b/packages/interface-ipfs-core/src/key/gen.js index 8a76b9f734..5392f234da 100644 --- a/packages/interface-ipfs-core/src/key/gen.js +++ b/packages/interface-ipfs-core/src/key/gen.js @@ -1,9 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { keys: { supportedKeys, import: importKey } } = require('libp2p-crypto') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { keys } from 'libp2p-crypto' + +const { supportedKeys, import: importKey } = keys /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +16,7 @@ const { keys: { supportedKeys, import: importKey } } = require('libp2p-crypto') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGen (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -58,7 +61,7 @@ module.exports = (factory, options) => { const imported = await importKey(exported, password) expect(imported).to.be.an.instanceOf(kt.expectedType) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.code === 'ERR_NOT_IMPLEMENTED') { // key export is not exposed over the HTTP API // @ts-ignore this is mocha diff --git a/packages/interface-ipfs-core/src/key/import.js b/packages/interface-ipfs-core/src/key/import.js index e59ebd7162..4d6c1f9855 100644 --- a/packages/interface-ipfs-core/src/key/import.js +++ b/packages/interface-ipfs-core/src/key/import.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { keys } = require('libp2p-crypto') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { nanoid } from 'nanoid' +import { keys } from 'libp2p-crypto' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testImport (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/key/index.js b/packages/interface-ipfs-core/src/key/index.js index a96414e4a0..0980b293dd 100644 --- a/packages/interface-ipfs-core/src/key/index.js +++ b/packages/interface-ipfs-core/src/key/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testGen } from './gen.js' +import { testList } from './list.js' +import { testRename } from './rename.js' +import { testRm } from './rm.js' +import { testImport } from './import.js' const tests = { - gen: require('./gen'), - list: require('./list'), - rename: require('./rename'), - rm: require('./rm'), - import: require('./import') + gen: testGen, + list: testList, + rename: testRename, + rm: testRm, + import: testImport } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/key/list.js b/packages/interface-ipfs-core/src/key/list.js index 192c5fec9d..b8ce1eeac1 100644 --- a/packages/interface-ipfs-core/src/key/list.js +++ b/packages/interface-ipfs-core/src/key/list.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testList (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/key/rename.js b/packages/interface-ipfs-core/src/key/rename.js index b53097525a..7fbefdc0ce 100644 --- a/packages/interface-ipfs-core/src/key/rename.js +++ b/packages/interface-ipfs-core/src/key/rename.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRename (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/key/rm.js b/packages/interface-ipfs-core/src/key/rm.js index 88ef35c31f..a7a8f0dd4e 100644 --- a/packages/interface-ipfs-core/src/key/rm.js +++ b/packages/interface-ipfs-core/src/key/rm.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/ls.js b/packages/interface-ipfs-core/src/ls.js index 1b47d43384..6ea4219a2f 100644 --- a/packages/interface-ipfs-core/src/ls.js +++ b/packages/interface-ipfs-core/src/ls.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fixtures } = require('./utils') -const { getDescribe, getIt, expect } = require('./utils/mocha') -const all = require('it-all') -const { CID } = require('multiformats/cid') -const testTimeout = require('./utils/test-timeout') + +import { fixtures } from './utils/index.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import all from 'it-all' +import { CID } from 'multiformats/cid' +import testTimeout from './utils/test-timeout' /** * @param {string} prefix @@ -20,7 +21,7 @@ const randomName = prefix => `${prefix}${Math.round(Math.random() * 1000)}` * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/miscellaneous/dns.js b/packages/interface-ipfs-core/src/miscellaneous/dns.js index b71e057904..9d95168bef 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/dns.js +++ b/packages/interface-ipfs-core/src/miscellaneous/dns.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { + export function testDns (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -34,7 +35,7 @@ module.exports = (factory, options) => { // matches pattern /ipns/ expect(res).to.match(/\/ipns\/.+$/) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.message.includes('could not resolve name')) { // @ts-ignore this is mocha return this.skip() @@ -50,7 +51,7 @@ module.exports = (factory, options) => { // matches pattern /ipfs/ expect(res).to.match(/\/ipfs\/.+$/) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.message.includes('could not resolve name')) { // @ts-ignore this is mocha return this.skip() @@ -66,7 +67,7 @@ module.exports = (factory, options) => { // matches pattern /ipfs/ expect(res).to.match(/\/ipfs\/.+$/) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.message.includes('could not resolve name')) { // @ts-ignore this is mocha return this.skip() diff --git a/packages/interface-ipfs-core/src/miscellaneous/id.js b/packages/interface-ipfs-core/src/miscellaneous/id.js index 0cd172ee53..b10e046357 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/id.js +++ b/packages/interface-ipfs-core/src/miscellaneous/id.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { Multiaddr } = require('multiaddr') -const { isWebWorker } = require('ipfs-utils/src/env') -const retry = require('p-retry') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { Multiaddr } from 'multiaddr' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import retry from 'p-retry' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const retry = require('p-retry') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { + export function testId (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/miscellaneous/index.js b/packages/interface-ipfs-core/src/miscellaneous/index.js index 82f7f08eca..defb90d7a8 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/index.js +++ b/packages/interface-ipfs-core/src/miscellaneous/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testId } from './id.js' +import { testVersion } from './version.js' +import { testStop } from './stop.js' +import { testResolve } from './resolve.js' +import { testDns } from './dns' const tests = { - id: require('./id'), - version: require('./version'), - dns: require('./dns'), - stop: require('./stop'), - resolve: require('./resolve') + id: testId, + version: testVersion, + dns: testDns, + stop: testStop, + resolve: testResolve } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/miscellaneous/resolve.js b/packages/interface-ipfs-core/src/miscellaneous/resolve.js index cb05c49931..5ddf58bf31 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/resolve.js +++ b/packages/interface-ipfs-core/src/miscellaneous/resolve.js @@ -1,14 +1,15 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const isIpfs = require('is-ipfs') -const { nanoid } = require('nanoid') -const { base64url } = require('multiformats/bases/base64') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import isIpfs from 'is-ipfs' +import { nanoid } from 'nanoid' +import { base64url } from 'multiformats/bases/base64' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +19,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { + export function testResolve (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/miscellaneous/stop.js b/packages/interface-ipfs-core/src/miscellaneous/stop.js index 76040cfdef..b8f95e58b8 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/stop.js +++ b/packages/interface-ipfs-core/src/miscellaneous/stop.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStop (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/miscellaneous/version.js b/packages/interface-ipfs-core/src/miscellaneous/version.js index 3b33dd6b35..dd3456b0d2 100644 --- a/packages/interface-ipfs-core/src/miscellaneous/version.js +++ b/packages/interface-ipfs-core/src/miscellaneous/version.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testVersion (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name-pubsub/cancel.js b/packages/interface-ipfs-core/src/name-pubsub/cancel.js index 9ca55c1eaa..97a4c0f044 100644 --- a/packages/interface-ipfs-core/src/name-pubsub/cancel.js +++ b/packages/interface-ipfs-core/src/name-pubsub/cancel.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const PeerId = require('peer-id') -const all = require('it-all') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import PeerId from 'peer-id' +import all from 'it-all' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testCancel (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name-pubsub/index.js b/packages/interface-ipfs-core/src/name-pubsub/index.js index 173c6d34a5..c29c4fce0a 100644 --- a/packages/interface-ipfs-core/src/name-pubsub/index.js +++ b/packages/interface-ipfs-core/src/name-pubsub/index.js @@ -1,11 +1,15 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testCancel } from './cancel.js' +import { testState } from './state.js' +import { testSubs } from './subs.js' +import { testPubsub } from './pubsub.js' const tests = { - cancel: require('./cancel'), - state: require('./state'), - subs: require('./subs'), - pubsub: require('./pubsub') + cancel: testCancel, + state: testState, + subs: testSubs, + pubsub: testPubsub } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/name-pubsub/pubsub.js b/packages/interface-ipfs-core/src/name-pubsub/pubsub.js index 0416d82ba3..7d385842e6 100644 --- a/packages/interface-ipfs-core/src/name-pubsub/pubsub.js +++ b/packages/interface-ipfs-core/src/name-pubsub/pubsub.js @@ -1,15 +1,16 @@ /* eslint-env mocha */ -'use strict' - -const { getDescribe, getIt, expect } = require('../utils/mocha') -const PeerId = require('peer-id') -const { isNode } = require('ipfs-utils/src/env') -const ipns = require('ipns') -const delay = require('delay') -const last = require('it-last') -const waitFor = require('../utils/wait-for') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') + + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import PeerId from 'peer-id' +import { isNode } from 'ipfs-utils/src/env.js' +import ipns from 'ipns' +import delay from 'delay' +import last from 'it-last' +import waitFor from '../utils/wait-for.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' const namespace = '/record/' const ipfsRef = '/ipfs/QmPFVLPmp9zv5Z5KUqLhe2EivAGccQW2r7M7jhVJGLZoZU' @@ -30,7 +31,7 @@ const daemonsOptions = { * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPubsub (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name-pubsub/state.js b/packages/interface-ipfs-core/src/name-pubsub/state.js index ef33cb6ff0..83beda5a97 100644 --- a/packages/interface-ipfs-core/src/name-pubsub/state.js +++ b/packages/interface-ipfs-core/src/name-pubsub/state.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testState (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name-pubsub/subs.js b/packages/interface-ipfs-core/src/name-pubsub/subs.js index 26a70ee719..e7743b7f6a 100644 --- a/packages/interface-ipfs-core/src/name-pubsub/subs.js +++ b/packages/interface-ipfs-core/src/name-pubsub/subs.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const all = require('it-all') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import all from 'it-all' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testSubs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name/index.js b/packages/interface-ipfs-core/src/name/index.js index a11b2969ef..35a3aa2f66 100644 --- a/packages/interface-ipfs-core/src/name/index.js +++ b/packages/interface-ipfs-core/src/name/index.js @@ -1,9 +1,11 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testPublish } from './publish.js' +import { testResolve } from './resolve' const tests = { - publish: require('./publish'), - resolve: require('./resolve') + publish: testPublish, + resolve: testResolve } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/name/publish.js b/packages/interface-ipfs-core/src/name/publish.js index 27b808b038..a5793898ea 100644 --- a/packages/interface-ipfs-core/src/name/publish.js +++ b/packages/interface-ipfs-core/src/name/publish.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { fixture } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const last = require('it-last') -const PeerId = require('peer-id') + +import { nanoid } from 'nanoid' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { fixture } from './utils' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import last from 'it-last' +import PeerId from 'peer-id' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const PeerId = require('peer-id') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPublish (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/name/resolve.js b/packages/interface-ipfs-core/src/name/resolve.js index 309c1aa09b..473141c45f 100644 --- a/packages/interface-ipfs-core/src/name/resolve.js +++ b/packages/interface-ipfs-core/src/name/resolve.js @@ -1,13 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const delay = require('delay') -const PeerId = require('peer-id') -const last = require('it-last') -const { CID } = require('multiformats/cid') -const Digest = require('multiformats/hashes/digest') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import delay from 'delay' +import PeerId from 'peer-id' +import last from 'it-last' +import { CID } from 'multiformats/cid' +import * as Digest from 'multiformats/hashes/digest' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -17,7 +18,7 @@ const Digest = require('multiformats/hashes/digest') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testResolve (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -135,7 +136,7 @@ module.exports = (factory, options) => { // so here we just expect an Error and don't match the error type to expiration try { await last(ipfs.name.resolve(nodeId)) - } catch (error) { + } catch (/** @type {any} */ error) { expect(error).to.exist() } }) @@ -185,7 +186,7 @@ module.exports = (factory, options) => { it('should fail to resolve /ipns/ipfs.a', async () => { try { await last(ipfs.name.resolve('ipfs.a')) - } catch (error) { + } catch (/** @type {any} */ error) { expect(error).to.exist() } }) diff --git a/packages/interface-ipfs-core/src/name/utils.js b/packages/interface-ipfs-core/src/name/utils.js index 3e1cd3b827..9b0a8cc8f6 100644 --- a/packages/interface-ipfs-core/src/name/utils.js +++ b/packages/interface-ipfs-core/src/name/utils.js @@ -1,8 +1,8 @@ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -exports.fixture = Object.freeze({ +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' + +export const fixture = Object.freeze({ cid: 'Qma4hjFTnCasJ8PVp3mZbZK5g2vGDT4LByLJ7m8ciyRFZP', data: uint8ArrayFromString('Plz add me!\n') }) diff --git a/packages/interface-ipfs-core/src/object/data.js b/packages/interface-ipfs-core/src/object/data.js index 02896a6f96..d6dc55de04 100644 --- a/packages/interface-ipfs-core/src/object/data.js +++ b/packages/interface-ipfs-core/src/object/data.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') + +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testData (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/get.js b/packages/interface-ipfs-core/src/object/get.js index fd5249854d..509f21c9a0 100644 --- a/packages/interface-ipfs-core/src/object/get.js +++ b/packages/interface-ipfs-core/src/object/get.js @@ -1,14 +1,15 @@ /* eslint-env mocha */ -'use strict' -const dagPB = require('@ipld/dag-pb') -const { nanoid } = require('nanoid') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { UnixFS } = require('ipfs-unixfs') -const { randomBytes } = require('iso-random-stream') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') + +import * as dagPB from '@ipld/dag-pb' +import { nanoid } from 'nanoid' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { UnixFS } from 'ipfs-unixfs' +import { randomBytes } from 'iso-random-stream' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +19,7 @@ const { sha256 } = require('multiformats/hashes/sha2') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGet (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/index.js b/packages/interface-ipfs-core/src/object/index.js index 63fac9706d..8f7a924545 100644 --- a/packages/interface-ipfs-core/src/object/index.js +++ b/packages/interface-ipfs-core/src/object/index.js @@ -1,14 +1,21 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testNew } from './new.js' +import { testPut } from './put.js' +import { testGet } from './get.js' +import { testData } from './data.js' +import { testLinks } from './links.js' +import { testStat } from './stat.js' +import testPatch from './patch' const tests = { - new: require('./new'), - put: require('./put'), - get: require('./get'), - data: require('./data'), - links: require('./links'), - stat: require('./stat'), - patch: require('./patch') + new: testNew, + put: testPut, + get: testGet, + data: testData, + links: testLinks, + stat: testStat, + patch: testPatch } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/object/links.js b/packages/interface-ipfs-core/src/object/links.js index e628dcd5e7..4e14149815 100644 --- a/packages/interface-ipfs-core/src/object/links.js +++ b/packages/interface-ipfs-core/src/object/links.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const { nanoid } = require('nanoid') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import { nanoid } from 'nanoid' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLinks (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/new.js b/packages/interface-ipfs-core/src/object/new.js index 756d2f5dee..72aa1cf414 100644 --- a/packages/interface-ipfs-core/src/object/new.js +++ b/packages/interface-ipfs-core/src/object/new.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testNew (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/patch/add-link.js b/packages/interface-ipfs-core/src/object/patch/add-link.js index 43dcea36b3..0068c6bfb5 100644 --- a/packages/interface-ipfs-core/src/object/patch/add-link.js +++ b/packages/interface-ipfs-core/src/object/patch/add-link.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAddLink (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/patch/append-data.js b/packages/interface-ipfs-core/src/object/patch/append-data.js index 752018ce11..576ee72734 100644 --- a/packages/interface-ipfs-core/src/object/patch/append-data.js +++ b/packages/interface-ipfs-core/src/object/patch/append-data.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAppendData (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/patch/index.js b/packages/interface-ipfs-core/src/object/patch/index.js index d84efe1995..bec353b6b6 100644 --- a/packages/interface-ipfs-core/src/object/patch/index.js +++ b/packages/interface-ipfs-core/src/object/patch/index.js @@ -1,11 +1,15 @@ -'use strict' -const { createSuite } = require('../../utils/suite') + +import { createSuite } from '../../utils/suite.js' +import { testAddLink } from './add-link.js' +import { testRmLink } from './rm-link.js' +import { testAppendData } from './append-data.js' +import { testSetData } from './set-data.js' const tests = { - addLink: require('./add-link'), - rmLink: require('./rm-link'), - appendData: require('./append-data'), - setData: require('./set-data') + addLink: testAddLink, + rmLink: testRmLink, + appendData: testAppendData, + setData: testSetData } -module.exports = createSuite(tests, 'patch') +export default createSuite(tests, 'patch') diff --git a/packages/interface-ipfs-core/src/object/patch/rm-link.js b/packages/interface-ipfs-core/src/object/patch/rm-link.js index e0e8ee8559..a1465d03ea 100644 --- a/packages/interface-ipfs-core/src/object/patch/rm-link.js +++ b/packages/interface-ipfs-core/src/object/patch/rm-link.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRmLink (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/patch/set-data.js b/packages/interface-ipfs-core/src/object/patch/set-data.js index 0003d4a0f6..e341f553bb 100644 --- a/packages/interface-ipfs-core/src/object/patch/set-data.js +++ b/packages/interface-ipfs-core/src/object/patch/set-data.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../../utils/mocha') +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testSetData (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/put.js b/packages/interface-ipfs-core/src/object/put.js index 9f413c2aa8..dc28f432d7 100644 --- a/packages/interface-ipfs-core/src/object/put.js +++ b/packages/interface-ipfs-core/src/object/put.js @@ -1,14 +1,15 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const { nanoid } = require('nanoid') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const first = require('it-first') -const drain = require('it-drain') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import { nanoid } from 'nanoid' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import first from 'it-first' +import drain from 'it-drain' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +19,7 @@ const drain = require('it-drain') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPut (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/object/stat.js b/packages/interface-ipfs-core/src/object/stat.js index 0aa59a773d..6203197520 100644 --- a/packages/interface-ipfs-core/src/object/stat.js +++ b/packages/interface-ipfs-core/src/object/stat.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const dagPB = require('@ipld/dag-pb') -const { nanoid } = require('nanoid') -const { CID } = require('multiformats/cid') -const { sha256 } = require('multiformats/hashes/sha2') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import * as dagPB from '@ipld/dag-pb' +import { nanoid } from 'nanoid' +import { CID } from 'multiformats/cid' +import { sha256 } from 'multiformats/hashes/sha2' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStat (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/add-all.js b/packages/interface-ipfs-core/src/pin/add-all.js index 72d0344456..6dacaf5eca 100644 --- a/packages/interface-ipfs-core/src/pin/add-all.js +++ b/packages/interface-ipfs-core/src/pin/add-all.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fixtures, clearPins } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') + +import { fixtures, clearPins } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const drain = require('it-drain') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAddAll (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/add.js b/packages/interface-ipfs-core/src/pin/add.js index 6a2a1be521..18f8bbdd9f 100644 --- a/packages/interface-ipfs-core/src/pin/add.js +++ b/packages/interface-ipfs-core/src/pin/add.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { fixtures, clearPins, expectPinned, expectNotPinned, pinTypes } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { fixtures, clearPins, expectPinned, expectNotPinned, pinTypes } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const drain = require('it-drain') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAdd (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/index.js b/packages/interface-ipfs-core/src/pin/index.js index c4c48c17ae..1818644cdf 100644 --- a/packages/interface-ipfs-core/src/pin/index.js +++ b/packages/interface-ipfs-core/src/pin/index.js @@ -1,12 +1,19 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testAdd } from './add.js' +import { testAddAll } from './add-all.js' +import { testLs } from './ls.js' +import { testRm } from './rm.js' +import { testRmAll } from './rm-all.js' +import testRemote from './remote' const tests = { - add: require('./add'), - addAll: require('./add-all'), - ls: require('./ls'), - rm: require('./rm'), - rmAll: require('./rm-all') + add: testAdd, + addAll: testAddAll, + ls: testLs, + rm: testRm, + rmAll: testRmAll, + remote: testRemote } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/pin/ls.js b/packages/interface-ipfs-core/src/pin/ls.js index 3673083ddf..6d742c4552 100644 --- a/packages/interface-ipfs-core/src/pin/ls.js +++ b/packages/interface-ipfs-core/src/pin/ls.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { fixtures } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') + +import { fixtures } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/remote/add.js b/packages/interface-ipfs-core/src/pin/remote/add.js index dcf63be07e..112f5b2045 100644 --- a/packages/interface-ipfs-core/src/pin/remote/add.js +++ b/packages/interface-ipfs-core/src/pin/remote/add.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { fixtures, clearRemotePins, clearServices } = require('../utils') -const { getDescribe, getIt, expect } = require('../../utils/mocha') +import { fixtures, clearRemotePins, clearServices } from '../utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { + export function testAdd (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/remote/index.js b/packages/interface-ipfs-core/src/pin/remote/index.js index 81029db664..849777bd01 100644 --- a/packages/interface-ipfs-core/src/pin/remote/index.js +++ b/packages/interface-ipfs-core/src/pin/remote/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../../utils/suite') + +import { createSuite } from '../../utils/suite.js' +import { testService } from './service.js' +import { testAdd } from './add.js' +import { testLs } from './ls.js' +import { testRm } from './rm.js' +import { testRmAll } from './rm-all.js' const tests = { - service: require('./service'), - add: require('./add'), - ls: require('./ls'), - rm: require('./rm'), - rmAll: require('./rm-all') + service: testService, + add: testAdd, + ls: testLs, + rm: testRm, + rmAll: testRmAll } -module.exports = createSuite(tests) +export default createSuite(tests, 'pin') diff --git a/packages/interface-ipfs-core/src/pin/remote/ls.js b/packages/interface-ipfs-core/src/pin/remote/ls.js index 9cd5d36a54..5de7dd33cd 100644 --- a/packages/interface-ipfs-core/src/pin/remote/ls.js +++ b/packages/interface-ipfs-core/src/pin/remote/ls.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { clearRemotePins, addRemotePins, clearServices } = require('../utils') -const { getDescribe, getIt, expect } = require('../../utils/mocha') -const all = require('it-all') -const { CID } = require('multiformats/cid') + +import { clearRemotePins, addRemotePins, clearServices } from '../utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' +import all from 'it-all' +import { CID } from 'multiformats/cid' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const { CID } = require('multiformats/cid') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { + export function testLs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/remote/rm-all.js b/packages/interface-ipfs-core/src/pin/remote/rm-all.js index 0094547a98..d155846cda 100644 --- a/packages/interface-ipfs-core/src/pin/remote/rm-all.js +++ b/packages/interface-ipfs-core/src/pin/remote/rm-all.js @@ -1,10 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { clearRemotePins, addRemotePins, clearServices } = require('../utils') -const { getDescribe, getIt, expect } = require('../../utils/mocha') -const { CID } = require('multiformats/cid') -const all = require('it-all') +import { clearRemotePins, addRemotePins, clearServices } from '../utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' +import { CID } from 'multiformats/cid' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +14,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRmAll (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/remote/rm.js b/packages/interface-ipfs-core/src/pin/remote/rm.js index 3d99a2e49c..eddc11ccc2 100644 --- a/packages/interface-ipfs-core/src/pin/remote/rm.js +++ b/packages/interface-ipfs-core/src/pin/remote/rm.js @@ -1,10 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { clearRemotePins, addRemotePins, clearServices } = require('../utils') -const { getDescribe, getIt, expect } = require('../../utils/mocha') -const { CID } = require('multiformats/cid') -const all = require('it-all') +import { clearRemotePins, addRemotePins, clearServices } from '../utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' +import { CID } from 'multiformats/cid' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +14,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/remote/service.js b/packages/interface-ipfs-core/src/pin/remote/service.js index ceccbf1928..6895172f25 100644 --- a/packages/interface-ipfs-core/src/pin/remote/service.js +++ b/packages/interface-ipfs-core/src/pin/remote/service.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { clearServices } = require('../utils') -const { getDescribe, getIt, expect } = require('../../utils/mocha') + +import { clearServices } from '../utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { getDescribe, getIt, expect } = require('../../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testService (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/rm-all.js b/packages/interface-ipfs-core/src/pin/rm-all.js index b78204072b..5101d84e51 100644 --- a/packages/interface-ipfs-core/src/pin/rm-all.js +++ b/packages/interface-ipfs-core/src/pin/rm-all.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fixtures, clearPins } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') + +import { fixtures, clearPins } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const drain = require('it-drain') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRmAll (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/rm.js b/packages/interface-ipfs-core/src/pin/rm.js index d5421e5452..88ae96292e 100644 --- a/packages/interface-ipfs-core/src/pin/rm.js +++ b/packages/interface-ipfs-core/src/pin/rm.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { fixtures, expectPinned, clearPins } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') + +import { fixtures, expectPinned, clearPins } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRm (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pin/utils.js b/packages/interface-ipfs-core/src/pin/utils.js index 69788bb17f..f55d27c422 100644 --- a/packages/interface-ipfs-core/src/pin/utils.js +++ b/packages/interface-ipfs-core/src/pin/utils.js @@ -1,20 +1,20 @@ -'use strict' -const { expect } = require('../utils/mocha') -const loadFixture = require('aegir/utils/fixtures') -const { CID } = require('multiformats/cid') -const drain = require('it-drain') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const first = require('it-first') -const pinTypes = { +import { expect } from 'aegir/utils/chai.js' +import loadFixture from 'aegir/utils/fixtures.js' +import { CID } from 'multiformats/cid' +import drain from 'it-drain' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import first from 'it-first' + +export const pinTypes = { direct: 'direct', recursive: 'recursive', indirect: 'indirect', all: 'all' } -const fixtures = Object.freeze({ +export const fixtures = Object.freeze({ // NOTE: files under 'directory' need to be different than standalone ones in 'files' directory: Object.freeze({ cid: CID.parse('QmY8KdYQSYKFU5hM7F5ioZ5yYSgV5VZ1kDEdqfRL3rFgcd'), @@ -40,7 +40,7 @@ const fixtures = Object.freeze({ /** * @param {import('ipfs-core-types').IPFS} ipfs */ -const clearPins = async (ipfs) => { +export const clearPins = async (ipfs) => { await drain(ipfs.pin.rmAll(ipfs.pin.ls({ type: pinTypes.recursive }))) await drain(ipfs.pin.rmAll(ipfs.pin.ls({ type: pinTypes.direct }))) } @@ -48,7 +48,7 @@ const clearPins = async (ipfs) => { /** * @param {import('ipfs-core-types').IPFS} ipfs */ -const clearRemotePins = async (ipfs) => { +export const clearRemotePins = async (ipfs) => { for (const { service } of await ipfs.pin.remote.service.ls()) { const cids = [] const status = ['queued', 'pinning', 'pinned', 'failed'] @@ -71,7 +71,7 @@ const clearRemotePins = async (ipfs) => { * @param {string} service * @param {Record} pins */ -const addRemotePins = async (ipfs, service, pins) => { +export const addRemotePins = async (ipfs, service, pins) => { const requests = [] for (const [name, cid] of Object.entries(pins)) { requests.push(ipfs.pin.remote.add(cid, { @@ -86,7 +86,7 @@ const addRemotePins = async (ipfs, service, pins) => { /** * @param {import('ipfs-core-types').IPFS} ipfs */ -const clearServices = async (ipfs) => { +export const clearServices = async (ipfs) => { const services = await ipfs.pin.remote.service.ls() await Promise.all(services.map(({ service }) => ipfs.pin.remote.service.rm(service))) } @@ -97,7 +97,7 @@ const clearServices = async (ipfs) => { * @param {string} type * @param {boolean} pinned */ -const expectPinned = async (ipfs, cid, type = pinTypes.all, pinned = true) => { +export const expectPinned = async (ipfs, cid, type = pinTypes.all, pinned = true) => { if (typeof type === 'boolean') { pinned = type type = pinTypes.all @@ -112,7 +112,7 @@ const expectPinned = async (ipfs, cid, type = pinTypes.all, pinned = true) => { * @param {CID} cid * @param {string} type */ -const expectNotPinned = (ipfs, cid, type = pinTypes.all) => { +export const expectNotPinned = (ipfs, cid, type = pinTypes.all) => { return expectPinned(ipfs, cid, type, false) } @@ -121,24 +121,12 @@ const expectNotPinned = (ipfs, cid, type = pinTypes.all) => { * @param {CID} cid * @param {string} type */ -async function isPinnedWithType (ipfs, cid, type) { +export async function isPinnedWithType (ipfs, cid, type) { try { const res = await first(ipfs.pin.ls({ paths: cid, type })) return Boolean(res) - } catch (err) { + } catch (/** @type {any} */ err) { return false } } - -module.exports = { - fixtures, - clearPins, - clearServices, - clearRemotePins, - addRemotePins, - expectPinned, - expectNotPinned, - isPinnedWithType, - pinTypes -} diff --git a/packages/interface-ipfs-core/src/ping/index.js b/packages/interface-ipfs-core/src/ping/index.js index 1994ecedda..c43956d6dc 100644 --- a/packages/interface-ipfs-core/src/ping/index.js +++ b/packages/interface-ipfs-core/src/ping/index.js @@ -1,8 +1,8 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' const tests = { ping: require('./ping') } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/ping/ping.js b/packages/interface-ipfs-core/src/ping/ping.js index ef073eab22..520cdca630 100644 --- a/packages/interface-ipfs-core/src/ping/ping.js +++ b/packages/interface-ipfs-core/src/ping/ping.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { expectIsPingResponse, isPong } = require('./utils') -const all = require('it-all') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { expectIsPingResponse, isPong } from './utils.js' +import all from 'it-all' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPing (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/ping/utils.js b/packages/interface-ipfs-core/src/ping/utils.js index 229aa94eab..f2bd79bb66 100644 --- a/packages/interface-ipfs-core/src/ping/utils.js +++ b/packages/interface-ipfs-core/src/ping/utils.js @@ -1,11 +1,11 @@ -'use strict' -const { expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' /** * @param {*} obj */ -function expectIsPingResponse (obj) { +export function expectIsPingResponse (obj) { expect(obj).to.have.a.property('success') expect(obj).to.have.a.property('time') expect(obj).to.have.a.property('text') @@ -14,15 +14,11 @@ function expectIsPingResponse (obj) { expect(obj.text).to.be.a('string') } -exports.expectIsPingResponse = expectIsPingResponse - /** * Determine if a ping response object is a pong, or something else, like a status message * * @param {*} pingResponse */ -function isPong (pingResponse) { +export function isPong (pingResponse) { return Boolean(pingResponse && pingResponse.success && !pingResponse.text) } - -exports.isPong = isPong diff --git a/packages/interface-ipfs-core/src/pubsub/index.js b/packages/interface-ipfs-core/src/pubsub/index.js index da54697735..615a073f7f 100644 --- a/packages/interface-ipfs-core/src/pubsub/index.js +++ b/packages/interface-ipfs-core/src/pubsub/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testPublish } from './publish.js' +import { testSubscribe } from './subscribe.js' +import { testUnsubscribe } from './unsubscribe.js' +import { testPeers } from './peers.js' +import { testLs } from './ls' const tests = { - publish: require('./publish'), - subscribe: require('./subscribe'), - unsubscribe: require('./unsubscribe'), - peers: require('./peers'), - ls: require('./ls') + publish: testPublish, + subscribe: testSubscribe, + unsubscribe: testUnsubscribe, + peers: testPeers, + ls: testLs } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/pubsub/ls.js b/packages/interface-ipfs-core/src/pubsub/ls.js index 64ee248078..1bf8c05082 100644 --- a/packages/interface-ipfs-core/src/pubsub/ls.js +++ b/packages/interface-ipfs-core/src/pubsub/ls.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { getTopic } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const delay = require('delay') + +import { getTopic } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import delay from 'delay' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const delay = require('delay') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pubsub/peers.js b/packages/interface-ipfs-core/src/pubsub/peers.js index 0be7c60bae..3c9e843471 100644 --- a/packages/interface-ipfs-core/src/pubsub/peers.js +++ b/packages/interface-ipfs-core/src/pubsub/peers.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const { waitForPeers, getTopic } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const delay = require('delay') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { waitForPeers, getTopic } from './utils' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import delay from 'delay' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPeers (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pubsub/publish.js b/packages/interface-ipfs-core/src/pubsub/publish.js index d68f285d71..35635731d1 100644 --- a/packages/interface-ipfs-core/src/pubsub/publish.js +++ b/packages/interface-ipfs-core/src/pubsub/publish.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { nanoid } = require('nanoid') -const { getTopic } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { nanoid } from 'nanoid' +import { getTopic } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPublish (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pubsub/subscribe.js b/packages/interface-ipfs-core/src/pubsub/subscribe.js index f390e867a2..1b532a19e1 100644 --- a/packages/interface-ipfs-core/src/pubsub/subscribe.js +++ b/packages/interface-ipfs-core/src/pubsub/subscribe.js @@ -1,19 +1,20 @@ /* eslint-env mocha */ -'use strict' - -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { nanoid } = require('nanoid') -const pushable = require('it-pushable') -const all = require('it-all') -const { waitForPeers, getTopic } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const delay = require('delay') -const { AbortController } = require('native-abort-controller') -const { isWebWorker, isNode } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') -const first = require('it-first') -const sinon = require('sinon') + + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { nanoid } from 'nanoid' +import pushable from 'it-pushable' +import all from 'it-all' +import { waitForPeers, getTopic } from './utils.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import delay from 'delay' +import { AbortController } from 'native-abort-controller' +import { isWebWorker, isNode } from 'ipfs-utils/src/env' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' +import first from 'it-first' +import sinon from 'sinon' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -23,7 +24,7 @@ const sinon = require('sinon') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testSubscribe (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pubsub/unsubscribe.js b/packages/interface-ipfs-core/src/pubsub/unsubscribe.js index abd22d69db..97f4191c70 100644 --- a/packages/interface-ipfs-core/src/pubsub/unsubscribe.js +++ b/packages/interface-ipfs-core/src/pubsub/unsubscribe.js @@ -1,10 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { isBrowser, isWebWorker, isElectronRenderer } = require('ipfs-utils/src/env') -const { getTopic } = require('./utils') -const { getDescribe, getIt } = require('../utils/mocha') -const waitFor = require('../utils/wait-for') + +import { isBrowser, isWebWorker, isElectronRenderer } from 'ipfs-utils/src/env.js' +import { getTopic } from './utils.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import waitFor from '../utils/wait-for.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +14,7 @@ const waitFor = require('../utils/wait-for') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testUnsubscribe (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/pubsub/utils.js b/packages/interface-ipfs-core/src/pubsub/utils.js index e31d0e901e..1173a030c2 100644 --- a/packages/interface-ipfs-core/src/pubsub/utils.js +++ b/packages/interface-ipfs-core/src/pubsub/utils.js @@ -1,7 +1,7 @@ -'use strict' -const { nanoid } = require('nanoid') -const delay = require('delay') + +import { nanoid } from 'nanoid' +import delay from 'delay' /** * @param {import('ipfs-core-types').IPFS} ipfs @@ -10,7 +10,7 @@ const delay = require('delay') * @param {number} waitForMs * @returns */ -async function waitForPeers (ipfs, topic, peersToWait, waitForMs) { +export async function waitForPeers (ipfs, topic, peersToWait, waitForMs) { const start = Date.now() while (true) { @@ -29,6 +29,6 @@ async function waitForPeers (ipfs, topic, peersToWait, waitForMs) { } } -exports.waitForPeers = waitForPeers - -exports.getTopic = () => 'pubsub-tests-' + nanoid() +export function getTopic () { + return 'pubsub-tests-' + nanoid() +} diff --git a/packages/interface-ipfs-core/src/refs-local.js b/packages/interface-ipfs-core/src/refs-local.js index b1869eb58e..7fe7de2733 100644 --- a/packages/interface-ipfs-core/src/refs-local.js +++ b/packages/interface-ipfs-core/src/refs-local.js @@ -1,14 +1,15 @@ /* eslint-env mocha */ -'use strict' -const { fixtures } = require('./utils') -const { getDescribe, getIt, expect } = require('./utils/mocha') -const all = require('it-all') -const { importer } = require('ipfs-unixfs-importer') -const drain = require('it-drain') -const { CID } = require('multiformats/cid') -const { equals: uint8ArrayEquals } = require('uint8arrays/equals') -const blockstore = require('./utils/blockstore-adapter') + +import { fixtures } from './utils/index.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import all from 'it-all' +import { importer } from 'ipfs-unixfs-importer' +import drain from 'it-drain' +import { CID } from 'multiformats/cid' +import { equals as uint8ArrayEquals } from 'uint8arrays/equals' +import blockstore from './utils/blockstore-adapter.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -18,7 +19,7 @@ const blockstore = require('./utils/blockstore-adapter') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRefsLocal (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/refs.js b/packages/interface-ipfs-core/src/refs.js index f66a041017..fd0a9ce2a9 100644 --- a/packages/interface-ipfs-core/src/refs.js +++ b/packages/interface-ipfs-core/src/refs.js @@ -1,15 +1,14 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('./utils/mocha') -const loadFixture = require('aegir/utils/fixtures') -const { CID } = require('multiformats/cid') -const all = require('it-all') -const drain = require('it-drain') -const testTimeout = require('./utils/test-timeout') -const dagPb = require('@ipld/dag-pb') - -const { UnixFS } = require('ipfs-unixfs') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from './utils/mocha.js' +import loadFixture from 'aegir/utils/fixtures.js' +import { CID } from 'multiformats/cid' +import all from 'it-all' +import drain from 'it-drain' +import testTimeout from './utils/test-timeout' +import * as dagPB from '@ipld/dag-pb' +import { UnixFS } from 'ipfs-unixfs' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -19,7 +18,7 @@ const { UnixFS } = require('ipfs-unixfs') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRefs (factory, options) { const describe = getDescribe(options) const it = getIt(options) @@ -345,14 +344,14 @@ function loadPbContent (ipfs, node) { const store = { putData: (data) => { return ipfs.block.put( - dagPb.encode({ + dagPB.encode({ Data: data, Links: [] }) ) }, putLinks: (links) => { - return ipfs.block.put(dagPb.encode({ + return ipfs.block.put(dagPB.encode({ Links: links.map(({ name, cid }) => { return { Name: name, @@ -377,7 +376,7 @@ function loadDagContent (ipfs, node) { const store = { putData: (data) => { const inner = new UnixFS({ type: 'file', data: data }) - const serialized = dagPb.encode({ + const serialized = dagPB.encode({ Data: inner.marshal(), Links: [] }) diff --git a/packages/interface-ipfs-core/src/repo/gc.js b/packages/interface-ipfs-core/src/repo/gc.js index b947682703..9ae9b51d88 100644 --- a/packages/interface-ipfs-core/src/repo/gc.js +++ b/packages/interface-ipfs-core/src/repo/gc.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const all = require('it-all') -const drain = require('it-drain') -const { CID } = require('multiformats/cid') -const { base64 } = require('multiformats/bases/base64') + +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import all from 'it-all' +import drain from 'it-drain' +import { CID } from 'multiformats/cid' +import { base64 } from 'multiformats/bases/base64' /** * @param {import('ipfs-core-types').IPFS} ipfs @@ -41,7 +42,7 @@ async function shouldNotHaveRef (ipfs, cid) { * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testGc (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/repo/index.js b/packages/interface-ipfs-core/src/repo/index.js index f8daaea237..b4c7349b83 100644 --- a/packages/interface-ipfs-core/src/repo/index.js +++ b/packages/interface-ipfs-core/src/repo/index.js @@ -1,5 +1,8 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testVersion } from './version.js' +import { testStat } from './stat.js' +import { testGc } from './gc.js' const tests = { version: require('./version'), @@ -7,4 +10,4 @@ const tests = { gc: require('./gc') } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/repo/stat.js b/packages/interface-ipfs-core/src/repo/stat.js index f62c0bab4e..15db91f374 100644 --- a/packages/interface-ipfs-core/src/repo/stat.js +++ b/packages/interface-ipfs-core/src/repo/stat.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' + const { expectIsRepo } = require('../stats/utils') -const { getDescribe, getIt } = require('../utils/mocha') +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const { getDescribe, getIt } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testStat (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/repo/version.js b/packages/interface-ipfs-core/src/repo/version.js index f0ba32298c..46e07c7c01 100644 --- a/packages/interface-ipfs-core/src/repo/version.js +++ b/packages/interface-ipfs-core/src/repo/version.js @@ -1,7 +1,8 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -11,7 +12,7 @@ const { getDescribe, getIt, expect } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testVersion (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/stats/bitswap.js b/packages/interface-ipfs-core/src/stats/bitswap.js index eef99aa95a..752c4cc3b3 100644 --- a/packages/interface-ipfs-core/src/stats/bitswap.js +++ b/packages/interface-ipfs-core/src/stats/bitswap.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt } = require('../utils/mocha') + +import { getDescribe, getIt } from '../utils/mocha.js' const { expectIsBitswap } = require('./utils') /** @@ -12,7 +12,7 @@ const { expectIsBitswap } = require('./utils') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testBitswap (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/stats/bw.js b/packages/interface-ipfs-core/src/stats/bw.js index e58101320b..07c26a5fd6 100644 --- a/packages/interface-ipfs-core/src/stats/bw.js +++ b/packages/interface-ipfs-core/src/stats/bw.js @@ -1,10 +1,11 @@ /* eslint-env mocha */ -'use strict' + const { expectIsBandwidth } = require('./utils') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const last = require('it-last') -const all = require('it-all') +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import last from 'it-last' +import all from 'it-all' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -14,7 +15,7 @@ const all = require('it-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testBw (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/stats/index.js b/packages/interface-ipfs-core/src/stats/index.js index 17aa13ba7b..23ef66b22c 100644 --- a/packages/interface-ipfs-core/src/stats/index.js +++ b/packages/interface-ipfs-core/src/stats/index.js @@ -1,10 +1,13 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testBitswap } from './bitswap.js' +import { testBw } from './bw.js' +import { testRepo } from './repo.js' const tests = { - bitswap: require('./bitswap'), - bw: require('./bw'), - repo: require('./repo') + bitswap: testBitswap, + bw: testBw, + repo: testRepo } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/stats/repo.js b/packages/interface-ipfs-core/src/stats/repo.js index f96dc59205..f07f1941db 100644 --- a/packages/interface-ipfs-core/src/stats/repo.js +++ b/packages/interface-ipfs-core/src/stats/repo.js @@ -1,8 +1,8 @@ /* eslint-env mocha */ -'use strict' + const { expectIsRepo } = require('./utils') -const { getDescribe, getIt } = require('../utils/mocha') +import { getDescribe, getIt } from '../utils/mocha.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +12,7 @@ const { getDescribe, getIt } = require('../utils/mocha') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testRepo (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/stats/utils.js b/packages/interface-ipfs-core/src/stats/utils.js index 5714675d8b..374c7dbd24 100644 --- a/packages/interface-ipfs-core/src/stats/utils.js +++ b/packages/interface-ipfs-core/src/stats/utils.js @@ -1,4 +1,4 @@ -'use strict' + const { expect } = require('../utils/mocha') diff --git a/packages/interface-ipfs-core/src/swarm/addrs.js b/packages/interface-ipfs-core/src/swarm/addrs.js index 6b9a431de1..28c9d1eb3a 100644 --- a/packages/interface-ipfs-core/src/swarm/addrs.js +++ b/packages/interface-ipfs-core/src/swarm/addrs.js @@ -1,11 +1,12 @@ /* eslint-env mocha */ -'use strict' -const PeerId = require('peer-id') -const { Multiaddr } = require('multiaddr') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import PeerId from 'peer-id' +import { Multiaddr } from 'multiaddr' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -15,7 +16,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testAddrs (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/swarm/connect.js b/packages/interface-ipfs-core/src/swarm/connect.js index 35173114ed..d1f2c6e1c5 100644 --- a/packages/interface-ipfs-core/src/swarm/connect.js +++ b/packages/interface-ipfs-core/src/swarm/connect.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testConnect (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/swarm/disconnect.js b/packages/interface-ipfs-core/src/swarm/disconnect.js index 216b1943a5..4b3c602588 100644 --- a/packages/interface-ipfs-core/src/swarm/disconnect.js +++ b/packages/interface-ipfs-core/src/swarm/disconnect.js @@ -1,9 +1,10 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isWebWorker } = require('ipfs-utils/src/env') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -13,7 +14,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testDisconnect (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/swarm/index.js b/packages/interface-ipfs-core/src/swarm/index.js index 23bef9e36a..145a304be7 100644 --- a/packages/interface-ipfs-core/src/swarm/index.js +++ b/packages/interface-ipfs-core/src/swarm/index.js @@ -1,12 +1,17 @@ -'use strict' -const { createSuite } = require('../utils/suite') + +import { createSuite } from '../utils/suite.js' +import { testConnect } from './connect.js' +import { testPeers } from './peers.js' +import { testAddrs } from './addrs.js' +import { testLocalAddrs } from './local-addrs.js' +import { testDisconnect } from './disconnect.js' const tests = { - connect: require('./connect'), - peers: require('./peers'), - addrs: require('./addrs'), - localAddrs: require('./local-addrs'), - disconnect: require('./disconnect') + connect: testConnect, + peers: testPeers, + addrs: testAddrs, + localAddrs: testLocalAddrs, + disconnect: testDisconnect } -module.exports = createSuite(tests) +export default createSuite(tests) diff --git a/packages/interface-ipfs-core/src/swarm/local-addrs.js b/packages/interface-ipfs-core/src/swarm/local-addrs.js index 56895e147a..45d48ba1d2 100644 --- a/packages/interface-ipfs-core/src/swarm/local-addrs.js +++ b/packages/interface-ipfs-core/src/swarm/local-addrs.js @@ -1,8 +1,9 @@ /* eslint-env mocha */ -'use strict' -const { getDescribe, getIt, expect } = require('../utils/mocha') -const { isWebWorker } = require('ipfs-utils/src/env') + +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import { isWebWorker } from 'ipfs-utils/src/env.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -12,7 +13,7 @@ const { isWebWorker } = require('ipfs-utils/src/env') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testLocalAddrs (factory, options) { const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/swarm/peers.js b/packages/interface-ipfs-core/src/swarm/peers.js index c3cfee87ab..385e0c1c65 100644 --- a/packages/interface-ipfs-core/src/swarm/peers.js +++ b/packages/interface-ipfs-core/src/swarm/peers.js @@ -1,12 +1,13 @@ /* eslint-env mocha */ -'use strict' -const { Multiaddr } = require('multiaddr') -const PeerId = require('peer-id') -const delay = require('delay') -const { isBrowser, isWebWorker } = require('ipfs-utils/src/env') -const { getDescribe, getIt, expect } = require('../utils/mocha') -const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') + +import { Multiaddr } from 'multiaddr' +import PeerId from 'peer-id' +import delay from 'delay' +import { isBrowser, isWebWorker } from 'ipfs-utils/src/env.js' +import { expect } from 'aegir/utils/chai.js' +import { getDescribe, getIt } from '../utils/mocha.js' +import getIpfsOptions from '../utils/ipfs-options-websockets-filter-all.js' /** * @typedef {import('ipfsd-ctl').Factory} Factory @@ -16,7 +17,7 @@ const getIpfsOptions = require('../utils/ipfs-options-websockets-filter-all') * @param {Factory} factory * @param {Object} options */ -module.exports = (factory, options) => { +export function testPeers (factory, options) { const ipfsOptions = getIpfsOptions() const describe = getDescribe(options) const it = getIt(options) diff --git a/packages/interface-ipfs-core/src/utils/blockstore-adapter.js b/packages/interface-ipfs-core/src/utils/blockstore-adapter.js index 27f8c65243..c247c76e53 100644 --- a/packages/interface-ipfs-core/src/utils/blockstore-adapter.js +++ b/packages/interface-ipfs-core/src/utils/blockstore-adapter.js @@ -1,19 +1,18 @@ -'use strict' -const { BlockstoreAdapter } = require('interface-blockstore') -const raw = require('multiformats/codecs/raw') -const dagPb = require('@ipld/dag-pb') -const dagCbor = require('@ipld/dag-cbor') -const { sha256 } = require('multiformats/hashes/sha2') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') +import { BlockstoreAdapter } from 'interface-blockstore' +import * as raw from 'multiformats/codecs/raw' +import * as dagPB from '@ipld/dag-pb' +import * as dagCBOR from '@ipld/dag-cbor' +import { sha256 } from 'multiformats/hashes/sha2' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' /** * @type {Record} */ const formats = { [raw.code]: raw.name, - [dagPb.code]: dagPb.name, - [dagCbor.code]: dagCbor.name + [dagPB.code]: dagPB.name, + [dagCBOR.code]: dagCBOR.name } /** @@ -53,6 +52,6 @@ class IPFSBlockstore extends BlockstoreAdapter { /** * @param {import('ipfs-core-types').IPFS} ipfs */ -module.exports = (ipfs) => { +export default function createBlockstore (ipfs) { return new IPFSBlockstore(ipfs) } diff --git a/packages/interface-ipfs-core/src/utils/create-sharded-directory.js b/packages/interface-ipfs-core/src/utils/create-sharded-directory.js index 5b11705cbb..fd96bd7519 100644 --- a/packages/interface-ipfs-core/src/utils/create-sharded-directory.js +++ b/packages/interface-ipfs-core/src/utils/create-sharded-directory.js @@ -1,14 +1,14 @@ -'use strict' -const { expect } = require('./mocha') -const isShardAtPath = require('./is-shard-at-path') -const last = require('it-last') + +import { expect } from 'aegir/utils/chai.js' +import isShardAtPath from './is-shard-at-path.js' +import last from 'it-last' /** * @param {import('ipfs-core-types').IPFS} ipfs * @param {number} [files] */ -module.exports = async (ipfs, files = 1001) => { +export default async function createShardedDirectory (ipfs, files = 1001) { const dirPath = `/sharded-dir-${Math.random()}` const result = await last(ipfs.addAll((function * () { diff --git a/packages/interface-ipfs-core/src/utils/create-two-shards.js b/packages/interface-ipfs-core/src/utils/create-two-shards.js index e84d8502f2..143eb8ced4 100644 --- a/packages/interface-ipfs-core/src/utils/create-two-shards.js +++ b/packages/interface-ipfs-core/src/utils/create-two-shards.js @@ -1,14 +1,14 @@ -'use strict' -const { expect } = require('./mocha') -const isShardAtPath = require('./is-shard-at-path') -const last = require('it-last') + +import { expect } from 'aegir/utils/chai.js' +import isShardAtPath from './is-shard-at-path.js' +import last from 'it-last' /** * @param {import('ipfs-core-types').IPFS} ipfs * @param {number} fileCount */ -const createTwoShards = async (ipfs, fileCount) => { +export default async function createTwoShards (ipfs, fileCount) { const dirPath = `/sharded-dir-${Math.random()}` const files = new Array(fileCount).fill(0).map((_, index) => ({ path: `${dirPath}/file-${index}`, @@ -63,5 +63,3 @@ const createTwoShards = async (ipfs, fileCount) => { dirPath } } - -module.exports = createTwoShards diff --git a/packages/interface-ipfs-core/src/utils/index.js b/packages/interface-ipfs-core/src/utils/index.js index 1a1e6d0dff..a263a152df 100644 --- a/packages/interface-ipfs-core/src/utils/index.js +++ b/packages/interface-ipfs-core/src/utils/index.js @@ -1,12 +1,12 @@ -'use strict' -const { CID } = require('multiformats/cid') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -const loadFixture = require('aegir/utils/fixtures') + +import { CID } from 'multiformats/cid' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import loadFixture from 'aegir/utils/fixtures.js' const ONE_MEG = Math.pow(2, 20) -exports.fixtures = Object.freeze({ +export const fixtures = Object.freeze({ directory: Object.freeze({ cid: CID.parse('QmVvjDy7yF7hdnqE8Hrf4MHo5ABDtb5AbX6hWbD3Y42bXP'), /** @type {Record} */ diff --git a/packages/interface-ipfs-core/src/utils/ipfs-options-websockets-filter-all.js b/packages/interface-ipfs-core/src/utils/ipfs-options-websockets-filter-all.js index 3d94f36da1..6912ae3aa1 100644 --- a/packages/interface-ipfs-core/src/utils/ipfs-options-websockets-filter-all.js +++ b/packages/interface-ipfs-core/src/utils/ipfs-options-websockets-filter-all.js @@ -1,4 +1,4 @@ -'use strict' + // @ts-ignore no types const WS = require('libp2p-websockets') diff --git a/packages/interface-ipfs-core/src/utils/is-shard-at-path.js b/packages/interface-ipfs-core/src/utils/is-shard-at-path.js index 28f9645c21..27903916f3 100644 --- a/packages/interface-ipfs-core/src/utils/is-shard-at-path.js +++ b/packages/interface-ipfs-core/src/utils/is-shard-at-path.js @@ -1,12 +1,12 @@ -'use strict' -const { UnixFS } = require('ipfs-unixfs') + +import { UnixFS } from 'ipfs-unixfs' /** * @param {string} path * @param {import('ipfs-core-types').IPFS} ipfs */ -module.exports = async (path, ipfs) => { +export default async function isShardAtPath (path, ipfs) { const stats = await ipfs.files.stat(path) const { value: node } = await ipfs.dag.get(stats.cid) const entry = UnixFS.unmarshal(node.Data) diff --git a/packages/interface-ipfs-core/src/utils/mocha.js b/packages/interface-ipfs-core/src/utils/mocha.js index f4698f887f..df6b791a71 100644 --- a/packages/interface-ipfs-core/src/utils/mocha.js +++ b/packages/interface-ipfs-core/src/utils/mocha.js @@ -1,9 +1,4 @@ /* eslint-env mocha */ -'use strict' - -const { expect } = require('aegir/utils/chai') - -module.exports.expect = expect /** * @typedef {object} Skip @@ -26,7 +21,7 @@ const isSkip = (o) => Object.prototype.toString.call(o) === '[object Object]' && * @param {boolean | Skip | (string | Skip)[]} [config.skip] * @param {boolean} [config.only] */ -function getDescribe (config) { +export function getDescribe (config) { if (config) { if (config.skip === true) { return describe.skip @@ -88,8 +83,6 @@ function getDescribe (config) { return describe } -module.exports.getDescribe = getDescribe - /** * Get an "it" function that is optionally 'skipped' or 'onlyed' * If skip/only is an array, then we _might_ want to skip/only the specific @@ -101,7 +94,7 @@ module.exports.getDescribe = getDescribe * @param {boolean | Skip | (string | Skip)[]} [config.skip] * @param {boolean} [config.only] */ -function getIt (config) { +export function getIt (config) { if (!config) return it /** @@ -140,5 +133,3 @@ function getIt (config) { return _it } - -module.exports.getIt = getIt diff --git a/packages/interface-ipfs-core/src/utils/suite.js b/packages/interface-ipfs-core/src/utils/suite.js index 44b20649c7..307f83cf03 100644 --- a/packages/interface-ipfs-core/src/utils/suite.js +++ b/packages/interface-ipfs-core/src/utils/suite.js @@ -1,4 +1,4 @@ -'use strict' + /** * @typedef {import('ipfsd-ctl').Factory} Factory diff --git a/packages/interface-ipfs-core/src/utils/test-timeout.js b/packages/interface-ipfs-core/src/utils/test-timeout.js index 2dbc2d44e2..921f1d659f 100644 --- a/packages/interface-ipfs-core/src/utils/test-timeout.js +++ b/packages/interface-ipfs-core/src/utils/test-timeout.js @@ -1,12 +1,11 @@ -'use strict' -const drain = require('it-drain') +import drain from 'it-drain' /** * @param {*} fn * @returns {Promise} */ -module.exports = (fn) => { +export default function testTimeout (fn) { return new Promise((resolve, reject) => { // some operations are either synchronous so cannot time out, or complete during // processing of the microtask queue so the timeout timer doesn't fire. If this diff --git a/packages/interface-ipfs-core/src/utils/traverse-leaf-nodes.js b/packages/interface-ipfs-core/src/utils/traverse-leaf-nodes.js index bfb20f7870..3eadbd88d2 100644 --- a/packages/interface-ipfs-core/src/utils/traverse-leaf-nodes.js +++ b/packages/interface-ipfs-core/src/utils/traverse-leaf-nodes.js @@ -1,4 +1,4 @@ -'use strict' + /** * @typedef {import('@ipld/dag-pb').PBNode} PBNode diff --git a/packages/interface-ipfs-core/src/utils/wait-for.js b/packages/interface-ipfs-core/src/utils/wait-for.js index 8cf7044400..2cc8dcd7dc 100644 --- a/packages/interface-ipfs-core/src/utils/wait-for.js +++ b/packages/interface-ipfs-core/src/utils/wait-for.js @@ -1,7 +1,7 @@ -'use strict' -const delay = require('delay') -const errCode = require('err-code') + +import delay from 'delay' +import errCode from 'err-code' /** * Wait for async function `test` to resolve true or timeout after options.timeout milliseconds. @@ -12,7 +12,7 @@ const errCode = require('err-code') * @param {number} [options.interval] * @param {string} [options.name] */ -module.exports = async function waitFor (test, options) { +export default async function waitFor (test, options) { const opts = Object.assign({ timeout: 5000, interval: 0, name: 'event' }, options) const start = Date.now() diff --git a/packages/interface-ipfs-core/test/fixtures/hidden-files-folder/ipfs-add.js b/packages/interface-ipfs-core/test/fixtures/hidden-files-folder/ipfs-add.js index 0d99df8d2f..d0e602590b 100755 --- a/packages/interface-ipfs-core/test/fixtures/hidden-files-folder/ipfs-add.js +++ b/packages/interface-ipfs-core/test/fixtures/hidden-files-folder/ipfs-add.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -'use strict' + const ipfs = require('../src')('localhost', 5001) const files = process.argv.slice(2) diff --git a/packages/interface-ipfs-core/test/fixtures/test-folder/ipfs-add.js b/packages/interface-ipfs-core/test/fixtures/test-folder/ipfs-add.js index 0d99df8d2f..d0e602590b 100755 --- a/packages/interface-ipfs-core/test/fixtures/test-folder/ipfs-add.js +++ b/packages/interface-ipfs-core/test/fixtures/test-folder/ipfs-add.js @@ -1,6 +1,6 @@ #!/usr/bin/env node -'use strict' + const ipfs = require('../src')('localhost', 5001) const files = process.argv.slice(2) diff --git a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/add b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/add index 1ad5e7c04e..d8ab99565a 100644 --- a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/add +++ b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/add @@ -1,4 +1,4 @@ -'use strict' + const ipfs = require('../src')('localhost', 5001) diff --git a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/cat b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/cat index 9bfc46638f..9bd36720c2 100644 --- a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/cat +++ b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/cat @@ -1,4 +1,4 @@ -'use strict' + const ipfs = require('../src')('localhost', 5001) diff --git a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ipfs-add b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ipfs-add index 962aa11fe6..5b121acb3d 100755 --- a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ipfs-add +++ b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ipfs-add @@ -1,6 +1,6 @@ #!/usr/bin/env node -'use strict' + const ipfs = require('../src')('localhost', 5001) const files = process.argv.slice(2) diff --git a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ls b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ls index c810fbead0..9436ddb8f7 100644 --- a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ls +++ b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/ls @@ -1,4 +1,4 @@ -'use strict' + const ipfs = require('../src')('localhost', 5001) diff --git a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/version b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/version index a792af011d..01e444b8f7 100644 --- a/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/version +++ b/packages/interface-ipfs-core/test/fixtures/weird name folder [v0]/version @@ -1,4 +1,4 @@ -'use strict' + const ipfs = require('../src')('localhost', 5001) diff --git a/packages/interface-ipfs-core/test/interface.spec.js b/packages/interface-ipfs-core/test/interface.spec.js index ccacec309b..e69de29bb2 100644 --- a/packages/interface-ipfs-core/test/interface.spec.js +++ b/packages/interface-ipfs-core/test/interface.spec.js @@ -1 +0,0 @@ -'use strict' diff --git a/packages/interface-ipfs-core/tsconfig.json b/packages/interface-ipfs-core/tsconfig.json index e36425404c..2b722b3b22 100644 --- a/packages/interface-ipfs-core/tsconfig.json +++ b/packages/interface-ipfs-core/tsconfig.json @@ -1,11 +1,11 @@ { "extends": "aegir/src/config/tsconfig.aegir.json", "compilerOptions": { - "outDir": "dist" + "outDir": "types" }, "include": [ "src", - "types" + "test" ], "references": [ { diff --git a/packages/ipfs-cli/package.json b/packages/ipfs-cli/package.json index c5fd270cd3..5469ee8aa0 100644 --- a/packages/ipfs-cli/package.json +++ b/packages/ipfs-cli/package.json @@ -9,13 +9,27 @@ "bugs": "https://github.com/ipfs/js-ipfs/issues", "license": "(Apache-2.0 OR MIT)", "leadMaintainer": "Alex Potsides ", + "type": "module", + "main": "src/index.js", + "types": "types/src/index.d.ts", "files": [ - "src", - "dist", - "!dist/*.tsbuildinfo" + "*", + "!**/*.tsbuildinfo" ], - "main": "src/index.js", - "types": "dist/src/index.d.ts", + "eslintConfig": { + "extends": "ipfs", + "parserOptions": { + "sourceType": "module" + } + }, + "publishConfig": { + "directory": "dist" + }, + "exports": { + ".": { + "import": "./src/index.js" + } + }, "repository": { "type": "git", "url": "git+https://github.com/ipfs/js-ipfs.git" diff --git a/packages/ipfs-cli/src/command-alias.js b/packages/ipfs-cli/src/command-alias.js index d804909f37..9fdc0ddac2 100644 --- a/packages/ipfs-cli/src/command-alias.js +++ b/packages/ipfs-cli/src/command-alias.js @@ -1,4 +1,3 @@ -'use strict' /** * @type {Record} @@ -16,7 +15,7 @@ const aliases = { * * @param {string[]} args */ -module.exports = function (args) { +export default function (args) { for (const [alias, original] of Object.entries(aliases)) { if (arrayMatch(args, original)) { return [alias, ...args.slice(original.length)] diff --git a/packages/ipfs-cli/src/commands/add.js b/packages/ipfs-cli/src/commands/add.js index 0930e44ef1..1e81af7d22 100644 --- a/packages/ipfs-cli/src/commands/add.js +++ b/packages/ipfs-cli/src/commands/add.js @@ -1,19 +1,21 @@ /* eslint-disable complexity */ -'use strict' -const { promisify } = require('util') + +import { promisify } from 'util' // @ts-ignore no types -const getFolderSize = promisify(require('get-folder-size')) +import getFolderSizeCb from 'get-folder-size' // @ts-ignore no types -const byteman = require('byteman') -const { +import byteman from 'byteman' +import { createProgressBar, coerceMtime, coerceMtimeNsecs, stripControlCharacters -} = require('../utils') -const globSource = require('ipfs-utils/src/files/glob-source') -const { default: parseDuration } = require('parse-duration') +} from '../utils.js' +import globSource from 'ipfs-utils/src/files/glob-source.js' +import parseDuration from 'parse-duration' + +const getFolderSize = promisify(getFolderSizeCb) /** * @param {string[]} paths @@ -23,7 +25,7 @@ async function getTotalBytes (paths) { return sizes.reduce((total, size) => total + size, 0) } -module.exports = { +export default { command: 'add [file...]', describe: 'Add a file to IPFS using the UnixFS data format', @@ -325,7 +327,7 @@ module.exports = { log(message) } - } catch (err) { + } catch (/** @type {any} */ err) { // Tweak the error message and add more relevant info for the CLI if (err.code === 'ERR_DIR_NON_RECURSIVE') { err.message = `'${err.path}' is a directory, use the '-r' flag to specify directories` diff --git a/packages/ipfs-cli/src/commands/bitswap.js b/packages/ipfs-cli/src/commands/bitswap.js index 0b5f5791b1..56856c5f1e 100644 --- a/packages/ipfs-cli/src/commands/bitswap.js +++ b/packages/ipfs-cli/src/commands/bitswap.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'bitswap ', description: 'Interact with the bitswap agent.', diff --git a/packages/ipfs-cli/src/commands/bitswap/stat.js b/packages/ipfs-cli/src/commands/bitswap/stat.js index f7b06595a5..8df262dcfe 100644 --- a/packages/ipfs-cli/src/commands/bitswap/stat.js +++ b/packages/ipfs-cli/src/commands/bitswap/stat.js @@ -1,9 +1,9 @@ -'use strict' -const prettyBytes = require('pretty-bytes') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import prettyBytes from 'pretty-bytes' +import parseDuration from 'parse-duration' + +export default { command: 'stat', describe: 'Show some diagnostic information on the bitswap agent.', diff --git a/packages/ipfs-cli/src/commands/bitswap/unwant.js b/packages/ipfs-cli/src/commands/bitswap/unwant.js index 99c62ca088..f847dd359b 100644 --- a/packages/ipfs-cli/src/commands/bitswap/unwant.js +++ b/packages/ipfs-cli/src/commands/bitswap/unwant.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' + +export default { command: 'unwant ', describe: 'Removes a given block from your wantlist.', diff --git a/packages/ipfs-cli/src/commands/bitswap/wantlist.js b/packages/ipfs-cli/src/commands/bitswap/wantlist.js index 3db326ccc0..79b43568a9 100644 --- a/packages/ipfs-cli/src/commands/bitswap/wantlist.js +++ b/packages/ipfs-cli/src/commands/bitswap/wantlist.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'wantlist [peer]', describe: 'Print out all blocks currently on the bitswap wantlist for the local peer.', diff --git a/packages/ipfs-cli/src/commands/block.js b/packages/ipfs-cli/src/commands/block.js index 8e22dc0364..9587c0faf5 100644 --- a/packages/ipfs-cli/src/commands/block.js +++ b/packages/ipfs-cli/src/commands/block.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'block ', description: 'Manipulate raw IPFS blocks.', diff --git a/packages/ipfs-cli/src/commands/block/get.js b/packages/ipfs-cli/src/commands/block/get.js index 9bb97a2ef9..462f390668 100644 --- a/packages/ipfs-cli/src/commands/block/get.js +++ b/packages/ipfs-cli/src/commands/block/get.js @@ -1,10 +1,10 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { coerceCID } from '../../utils.js' + +export default { command: 'get ', describe: 'Get a raw IPFS block', diff --git a/packages/ipfs-cli/src/commands/block/put.js b/packages/ipfs-cli/src/commands/block/put.js index 8d8d1c0809..6ffb2ee2be 100644 --- a/packages/ipfs-cli/src/commands/block/put.js +++ b/packages/ipfs-cli/src/commands/block/put.js @@ -1,10 +1,10 @@ -'use strict' -const fs = require('fs') -const concat = require('it-concat') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import fs from 'fs' +import concat from 'it-concat' +import parseDuration from 'parse-duration' + +export default { command: 'put [block]', describe: 'Stores input as an IPFS block', diff --git a/packages/ipfs-cli/src/commands/block/rm.js b/packages/ipfs-cli/src/commands/block/rm.js index 817ca35193..138ec638da 100644 --- a/packages/ipfs-cli/src/commands/block/rm.js +++ b/packages/ipfs-cli/src/commands/block/rm.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCIDs } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCIDs } from '../../utils.js' + +export default { command: 'rm ', describe: 'Remove IPFS block(s)', diff --git a/packages/ipfs-cli/src/commands/block/stat.js b/packages/ipfs-cli/src/commands/block/stat.js index f7eba4fae3..8b5c1e0fce 100644 --- a/packages/ipfs-cli/src/commands/block/stat.js +++ b/packages/ipfs-cli/src/commands/block/stat.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' + +export default { command: 'stat ', describe: 'Print information of a raw IPFS block', diff --git a/packages/ipfs-cli/src/commands/bootstrap.js b/packages/ipfs-cli/src/commands/bootstrap.js index 528d9b6987..3794b8a099 100644 --- a/packages/ipfs-cli/src/commands/bootstrap.js +++ b/packages/ipfs-cli/src/commands/bootstrap.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'bootstrap ', description: 'Show or edit the list of bootstrap peers.', diff --git a/packages/ipfs-cli/src/commands/bootstrap/add.js b/packages/ipfs-cli/src/commands/bootstrap/add.js index dade7eb41a..a5d84dfdfd 100644 --- a/packages/ipfs-cli/src/commands/bootstrap/add.js +++ b/packages/ipfs-cli/src/commands/bootstrap/add.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceMultiaddr } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceMultiaddr } from '../../utils.js' + +export default { command: 'add []', describe: 'Add peers to the bootstrap list', diff --git a/packages/ipfs-cli/src/commands/bootstrap/list.js b/packages/ipfs-cli/src/commands/bootstrap/list.js index d930cb0d17..5e828a2706 100644 --- a/packages/ipfs-cli/src/commands/bootstrap/list.js +++ b/packages/ipfs-cli/src/commands/bootstrap/list.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'list', describe: 'Show peers in the bootstrap list', diff --git a/packages/ipfs-cli/src/commands/bootstrap/rm.js b/packages/ipfs-cli/src/commands/bootstrap/rm.js index 3756fb6aee..59fea80343 100644 --- a/packages/ipfs-cli/src/commands/bootstrap/rm.js +++ b/packages/ipfs-cli/src/commands/bootstrap/rm.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceMultiaddr } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceMultiaddr } from '../../utils.js' + +export default { command: 'rm []', describe: 'Removes peers from the bootstrap list', diff --git a/packages/ipfs-cli/src/commands/cat.js b/packages/ipfs-cli/src/commands/cat.js index 864814191e..444de0b71c 100644 --- a/packages/ipfs-cli/src/commands/cat.js +++ b/packages/ipfs-cli/src/commands/cat.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'cat ', describe: 'Fetch and cat an IPFS path referencing a file', diff --git a/packages/ipfs-cli/src/commands/cid.js b/packages/ipfs-cli/src/commands/cid.js index a854694f38..e9b28b9941 100644 --- a/packages/ipfs-cli/src/commands/cid.js +++ b/packages/ipfs-cli/src/commands/cid.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'cid ', description: 'Convert, format and discover properties of CIDs.', diff --git a/packages/ipfs-cli/src/commands/cid/base32.js b/packages/ipfs-cli/src/commands/cid/base32.js index 31cc335be7..00b6db0b2b 100644 --- a/packages/ipfs-cli/src/commands/cid/base32.js +++ b/packages/ipfs-cli/src/commands/cid/base32.js @@ -1,10 +1,10 @@ -'use strict' -const split = require('it-split') -const { CID } = require('multiformats/cid') -const { base32 } = require('multiformats/bases/base32') -module.exports = { +import split from 'it-split' +import { CID } from 'multiformats/cid' +import { base32 } from 'multiformats/bases/base32' + +export default { command: 'base32 [cids...]', describe: 'Convert CIDs to base 32 CID version 1.', diff --git a/packages/ipfs-cli/src/commands/cid/bases.js b/packages/ipfs-cli/src/commands/cid/bases.js index 0a71e08300..fea5f99206 100644 --- a/packages/ipfs-cli/src/commands/cid/bases.js +++ b/packages/ipfs-cli/src/commands/cid/bases.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'bases', describe: 'List available multibase encoding names.', diff --git a/packages/ipfs-cli/src/commands/cid/codecs.js b/packages/ipfs-cli/src/commands/cid/codecs.js index 0a7a1c9a32..69af11a553 100644 --- a/packages/ipfs-cli/src/commands/cid/codecs.js +++ b/packages/ipfs-cli/src/commands/cid/codecs.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'codecs', describe: 'List available CID codec names.', diff --git a/packages/ipfs-cli/src/commands/cid/format.js b/packages/ipfs-cli/src/commands/cid/format.js index 21899c89a9..c50af98661 100644 --- a/packages/ipfs-cli/src/commands/cid/format.js +++ b/packages/ipfs-cli/src/commands/cid/format.js @@ -1,9 +1,9 @@ -'use strict' -const split = require('it-split') -const { CID } = require('multiformats/cid') -module.exports = { +import split from 'it-split' +import { CID } from 'multiformats/cid' + +export default { command: 'format [cids...]', describe: 'Format and convert a CID in various useful ways.', diff --git a/packages/ipfs-cli/src/commands/cid/hashes.js b/packages/ipfs-cli/src/commands/cid/hashes.js index ff8e950a3c..315f06979b 100644 --- a/packages/ipfs-cli/src/commands/cid/hashes.js +++ b/packages/ipfs-cli/src/commands/cid/hashes.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'hashes', describe: 'List available multihash hashing algorithm names.', diff --git a/packages/ipfs-cli/src/commands/commands.js b/packages/ipfs-cli/src/commands/commands.js index 4fb33c3f3f..69c882d00c 100644 --- a/packages/ipfs-cli/src/commands/commands.js +++ b/packages/ipfs-cli/src/commands/commands.js @@ -1,10 +1,10 @@ -'use strict' -const path = require('path') -const glob = require('it-glob') -const all = require('it-all') -module.exports = { +import path from 'path' +import glob from 'it-glob' +import all from 'it-all' + +export default { command: 'commands', describe: 'List all available commands', diff --git a/packages/ipfs-cli/src/commands/config.js b/packages/ipfs-cli/src/commands/config.js index bb1e5b5846..ab4852755b 100644 --- a/packages/ipfs-cli/src/commands/config.js +++ b/packages/ipfs-cli/src/commands/config.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'config [value]', description: 'Get and set IPFS config values.', @@ -58,7 +58,7 @@ module.exports = { } else if (json) { try { value = JSON.parse(value) - } catch (err) { + } catch (/** @type {any} */ err) { throw new Error('invalid JSON provided') } } diff --git a/packages/ipfs-cli/src/commands/config/edit.js b/packages/ipfs-cli/src/commands/config/edit.js index 2662ed2600..270758e5d7 100644 --- a/packages/ipfs-cli/src/commands/config/edit.js +++ b/packages/ipfs-cli/src/commands/config/edit.js @@ -1,9 +1,9 @@ -'use strict' -const path = require('path') -const execa = require('execa') -module.exports = { +import path from 'path' +import execa from 'execa' + +export default { command: 'edit', describe: 'Opens the config file for editing in $EDITOR', diff --git a/packages/ipfs-cli/src/commands/config/profile.js b/packages/ipfs-cli/src/commands/config/profile.js index a167f2a8ff..fd970dc065 100644 --- a/packages/ipfs-cli/src/commands/config/profile.js +++ b/packages/ipfs-cli/src/commands/config/profile.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'profile ', description: 'Interact with config profiles.', diff --git a/packages/ipfs-cli/src/commands/config/profile/apply.js b/packages/ipfs-cli/src/commands/config/profile/apply.js index 8d9081bd9f..36bdbe4a7c 100644 --- a/packages/ipfs-cli/src/commands/config/profile/apply.js +++ b/packages/ipfs-cli/src/commands/config/profile/apply.js @@ -1,9 +1,9 @@ -'use strict' -const JSONDiff = require('jsondiffpatch') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import JSONDiff from 'jsondiffpatch' +import parseDuration from 'parse-duration' + +export default { command: 'apply ', describe: 'Apply profile to config', diff --git a/packages/ipfs-cli/src/commands/config/profile/ls.js b/packages/ipfs-cli/src/commands/config/profile/ls.js index 6582627878..1291bcd623 100644 --- a/packages/ipfs-cli/src/commands/config/profile/ls.js +++ b/packages/ipfs-cli/src/commands/config/profile/ls.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'ls', describe: 'List available config profiles', diff --git a/packages/ipfs-cli/src/commands/config/replace.js b/packages/ipfs-cli/src/commands/config/replace.js index ed38eb085f..964177ef3b 100644 --- a/packages/ipfs-cli/src/commands/config/replace.js +++ b/packages/ipfs-cli/src/commands/config/replace.js @@ -1,10 +1,10 @@ -'use strict' -const path = require('path') -const fs = require('fs') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import path from 'path' +import fs from 'fs' +import parseDuration from 'parse-duration' + +export default { command: 'replace ', describe: 'Replaces the config with ', diff --git a/packages/ipfs-cli/src/commands/config/show.js b/packages/ipfs-cli/src/commands/config/show.js index 0b311461f9..ef8f621692 100644 --- a/packages/ipfs-cli/src/commands/config/show.js +++ b/packages/ipfs-cli/src/commands/config/show.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'show', describe: 'Outputs the content of the config file', diff --git a/packages/ipfs-cli/src/commands/daemon.js b/packages/ipfs-cli/src/commands/daemon.js index ee189a26ab..bf705bcf00 100644 --- a/packages/ipfs-cli/src/commands/daemon.js +++ b/packages/ipfs-cli/src/commands/daemon.js @@ -1,14 +1,16 @@ -'use strict' -const os = require('os') -const fs = require('fs') + +import os from 'os' +import fs from 'fs' // @ts-ignore no types -const toUri = require('multiaddr-to-uri') -const { ipfsPathHelp } = require('../utils') -const { isTest } = require('ipfs-utils/src/env') -const debug = require('debug')('ipfs:cli:daemon') +import toUri from 'multiaddr-to-uri' +import { ipfsPathHelp } from '../utils.js' +import { isTest } from 'ipfs-utils/src/env.js' +import debug from 'debug' + +const log = debug('ipfs:cli:daemon') -module.exports = { +export default { command: 'daemon', describe: 'Start a long-running daemon process', @@ -75,8 +77,8 @@ module.exports = { try { const raw = fs.readFileSync(argv.initConfig, { encoding: 'utf8' }) config = JSON.parse(raw) - } catch (error) { - debug(error) + } catch (/** @type {any} */ error) { + log(error) throw new Error('Default config couldn\'t be found or content isn\'t valid JSON.') } } @@ -123,7 +125,7 @@ module.exports = { print(`Web UI available at ${toUri(apiServer.info.ma)}/webui`) }) } - } catch (err) { + } catch (/** @type {any} */ err) { if (err.code === 'ERR_REPO_NOT_INITIALIZED' || err.message.match(/uninitialized/i)) { err.message = 'no initialized ipfs repo found in ' + repoPath + '\nplease run: jsipfs init' } diff --git a/packages/ipfs-cli/src/commands/dag.js b/packages/ipfs-cli/src/commands/dag.js index a4c45fe166..2e7982d3e9 100644 --- a/packages/ipfs-cli/src/commands/dag.js +++ b/packages/ipfs-cli/src/commands/dag.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'dag ', description: 'Interact with ipld dag objects.', diff --git a/packages/ipfs-cli/src/commands/dag/export.js b/packages/ipfs-cli/src/commands/dag/export.js index d77e5a0ed9..d8ed3b263d 100644 --- a/packages/ipfs-cli/src/commands/dag/export.js +++ b/packages/ipfs-cli/src/commands/dag/export.js @@ -1,13 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { CID } = require('multiformats/cid') -/** - * @typedef {import('ipfs-core-types').IPFS} IPFS - */ +import parseDuration from 'parse-duration' +import { CID } from 'multiformats/cid' -module.exports = { +export default { command: 'export ', describe: 'Streams the DAG beginning at the given root CID as a CAR stream on stdout.', diff --git a/packages/ipfs-cli/src/commands/dag/get.js b/packages/ipfs-cli/src/commands/dag/get.js index 02f812875e..eb18d834bb 100644 --- a/packages/ipfs-cli/src/commands/dag/get.js +++ b/packages/ipfs-cli/src/commands/dag/get.js @@ -1,18 +1,18 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const toCidAndPath = require('ipfs-core-utils/src/to-cid-and-path') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { + +import parseDuration from 'parse-duration' +import toCidAndPath from 'ipfs-core-utils/to-cid-and-path' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { stripControlCharacters, makeEntriesPrintable, escapeControlCharacters -} = require('../../utils') -const dagPB = require('@ipld/dag-pb') -const dagCBOR = require('@ipld/dag-cbor') -const raw = require('multiformats/codecs/raw') +} from '../../utils.js' +import * as dagPB from '@ipld/dag-pb' +import * as dagCBOR from '@ipld/dag-cbor' +import * as raw from 'multiformats/codecs/raw' -module.exports = { +export default { command: 'get ', describe: 'Get a dag node or value from ipfs.', @@ -65,7 +65,7 @@ module.exports = { ...options, path }) - } catch (err) { + } catch (/** @type {any} */ err) { return print(`dag get failed: ${err}`) } diff --git a/packages/ipfs-cli/src/commands/dag/import.js b/packages/ipfs-cli/src/commands/dag/import.js index 5a5d2dd465..5a01697fe0 100644 --- a/packages/ipfs-cli/src/commands/dag/import.js +++ b/packages/ipfs-cli/src/commands/dag/import.js @@ -1,13 +1,9 @@ -'use strict' -const fs = require('fs') -const { default: parseDuration } = require('parse-duration') -/** - * @typedef {import('ipfs-core-types/src/dag').ImportResult} ImportResult - */ +import fs from 'fs' +import parseDuration from 'parse-duration' -module.exports = { + export default { command: 'import [path...]', describe: 'Import the contents of one or more CARs from files or stdin', @@ -38,7 +34,7 @@ module.exports = { * @param {string} argv.cidBase */ async handler ({ ctx: { ipfs, print, getStdin }, path, pinRoots, timeout, cidBase }) { - const handleResult = async (/** @type {ImportResult} */ { root }) => { + const handleResult = async (/** @type {import('ipfs-core-types/src/dag').ImportResult} */ { root }) => { const base = await ipfs.bases.getBase(cidBase) print(`pinned root\t${root.cid.toString(base.encoder)}\t${root.pinErrorMsg || 'success'}`) } diff --git a/packages/ipfs-cli/src/commands/dag/put.js b/packages/ipfs-cli/src/commands/dag/put.js index 0d686f1868..6109467d40 100644 --- a/packages/ipfs-cli/src/commands/dag/put.js +++ b/packages/ipfs-cli/src/commands/dag/put.js @@ -1,14 +1,10 @@ -'use strict' -const dagCBOR = require('@ipld/dag-cbor') -const dagPB = require('@ipld/dag-pb') -const concat = require('it-concat') -const { CID } = require('multiformats/cid') -const { default: parseDuration } = require('parse-duration') -/** - * @typedef {'dag-cbor' | 'dag-pb' | 'raw'} SupportedFormat - */ +import * as dagCBOR from '@ipld/dag-cbor' +import * as dagPB from '@ipld/dag-pb' +import concat from 'it-concat' +import { CID } from 'multiformats/cid' +import parseDuration from 'parse-duration' /** * @type {Record any>} @@ -21,7 +17,7 @@ const inputDecoders = { } /** - * @type {Record} + * @type {Record} */ const formats = { cbor: 'dag-cbor', @@ -31,7 +27,7 @@ const formats = { 'dag-pb': 'dag-pb' } -module.exports = { +export default { command: 'put [data]', describe: 'accepts input from a file or stdin and parses it into an object of the specified format', diff --git a/packages/ipfs-cli/src/commands/dag/resolve.js b/packages/ipfs-cli/src/commands/dag/resolve.js index b5bff741ff..8e28541b1f 100644 --- a/packages/ipfs-cli/src/commands/dag/resolve.js +++ b/packages/ipfs-cli/src/commands/dag/resolve.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'resolve ', describe: 'fetches a dag node from ipfs, prints its address and remaining path', @@ -43,7 +43,7 @@ module.exports = { } print(lastCid.toString()) - } catch (err) { + } catch (/** @type {any} */ err) { return print(`dag get resolve: ${err}`) } } diff --git a/packages/ipfs-cli/src/commands/dht.js b/packages/ipfs-cli/src/commands/dht.js index c02bae3ff9..be94ab85cb 100644 --- a/packages/ipfs-cli/src/commands/dht.js +++ b/packages/ipfs-cli/src/commands/dht.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'dht ', description: 'Issue commands directly through the DHT.', diff --git a/packages/ipfs-cli/src/commands/dht/find-peer.js b/packages/ipfs-cli/src/commands/dht/find-peer.js index f999af636b..585f3983e6 100644 --- a/packages/ipfs-cli/src/commands/dht/find-peer.js +++ b/packages/ipfs-cli/src/commands/dht/find-peer.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'findpeer ', describe: 'Find the multiaddresses associated with a Peer ID.', diff --git a/packages/ipfs-cli/src/commands/dht/find-providers.js b/packages/ipfs-cli/src/commands/dht/find-providers.js index d73c6893f1..bf1e0de768 100644 --- a/packages/ipfs-cli/src/commands/dht/find-providers.js +++ b/packages/ipfs-cli/src/commands/dht/find-providers.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' + +export default { command: 'findprovs ', describe: 'Find peers that can provide a specific value, given a key.', diff --git a/packages/ipfs-cli/src/commands/dht/get.js b/packages/ipfs-cli/src/commands/dht/get.js index d1c3e87476..5cd4d2ed8c 100644 --- a/packages/ipfs-cli/src/commands/dht/get.js +++ b/packages/ipfs-cli/src/commands/dht/get.js @@ -1,10 +1,10 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' + +export default { command: 'get ', describe: 'Given a key, query the routing system for its best value.', diff --git a/packages/ipfs-cli/src/commands/dht/provide.js b/packages/ipfs-cli/src/commands/dht/provide.js index ac9c7ba3cc..973aab04cd 100644 --- a/packages/ipfs-cli/src/commands/dht/provide.js +++ b/packages/ipfs-cli/src/commands/dht/provide.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' + +export default { command: 'provide ', describe: 'Announce to the network that you are providing given values.', diff --git a/packages/ipfs-cli/src/commands/dht/put.js b/packages/ipfs-cli/src/commands/dht/put.js index fefdccfb5e..7b6827fd46 100644 --- a/packages/ipfs-cli/src/commands/dht/put.js +++ b/packages/ipfs-cli/src/commands/dht/put.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string') -module.exports = { +import parseDuration from 'parse-duration' +import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' + +export default { command: 'put ', describe: 'Write a key/value pair to the routing system.', diff --git a/packages/ipfs-cli/src/commands/dht/query.js b/packages/ipfs-cli/src/commands/dht/query.js index fb3240dfce..987f2e8efd 100644 --- a/packages/ipfs-cli/src/commands/dht/query.js +++ b/packages/ipfs-cli/src/commands/dht/query.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'query ', describe: 'Find the closest Peer IDs to a given Peer ID by querying the DHT.', diff --git a/packages/ipfs-cli/src/commands/dns.js b/packages/ipfs-cli/src/commands/dns.js index 69c5031913..f689a9d569 100644 --- a/packages/ipfs-cli/src/commands/dns.js +++ b/packages/ipfs-cli/src/commands/dns.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../utils') +} from '../utils.js' -module.exports = { +export default { command: 'dns ', describe: 'Resolve DNS links', diff --git a/packages/ipfs-cli/src/commands/files.js b/packages/ipfs-cli/src/commands/files.js index 1b662a49ab..0d7c453db4 100644 --- a/packages/ipfs-cli/src/commands/files.js +++ b/packages/ipfs-cli/src/commands/files.js @@ -1,6 +1,5 @@ -'use strict' -module.exports = { +export default { command: 'files ', description: 'Operations over mfs files (ls, mkdir, rm, etc)', diff --git a/packages/ipfs-cli/src/commands/files/chmod.js b/packages/ipfs-cli/src/commands/files/chmod.js index 338b55ebb6..d115995135 100644 --- a/packages/ipfs-cli/src/commands/files/chmod.js +++ b/packages/ipfs-cli/src/commands/files/chmod.js @@ -1,11 +1,11 @@ -'use strict' -const { + +import { asBoolean -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'chmod [mode] [path]', describe: 'Change file modes', diff --git a/packages/ipfs-cli/src/commands/files/cp.js b/packages/ipfs-cli/src/commands/files/cp.js index 9ec249f98d..a0552e48af 100644 --- a/packages/ipfs-cli/src/commands/files/cp.js +++ b/packages/ipfs-cli/src/commands/files/cp.js @@ -1,11 +1,11 @@ -'use strict' -const { + +import { asBoolean -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'cp ', describe: 'Copy files between locations in the mfs', diff --git a/packages/ipfs-cli/src/commands/files/flush.js b/packages/ipfs-cli/src/commands/files/flush.js index 79cf5dc5fb..c0a07c96df 100644 --- a/packages/ipfs-cli/src/commands/files/flush.js +++ b/packages/ipfs-cli/src/commands/files/flush.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'flush [path]', describe: ' Flush a given path\'s data to disk', diff --git a/packages/ipfs-cli/src/commands/files/ls.js b/packages/ipfs-cli/src/commands/files/ls.js index 91f73bf837..82f8a5d015 100644 --- a/packages/ipfs-cli/src/commands/files/ls.js +++ b/packages/ipfs-cli/src/commands/files/ls.js @@ -1,14 +1,14 @@ -'use strict' -const { + +import { asBoolean, stripControlCharacters -} = require('../../utils') -const formatMode = require('ipfs-core-utils/src/files/format-mode') -const formatMtime = require('ipfs-core-utils/src/files/format-mtime') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import formatMode from 'ipfs-core-utils/files/format-mode.js' +import formatMtime from 'ipfs-core-utils/files/format-mtime.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'ls [path]', describe: 'List mfs directories', diff --git a/packages/ipfs-cli/src/commands/files/mkdir.js b/packages/ipfs-cli/src/commands/files/mkdir.js index a8ab03c57a..3c2d10a1c3 100644 --- a/packages/ipfs-cli/src/commands/files/mkdir.js +++ b/packages/ipfs-cli/src/commands/files/mkdir.js @@ -1,15 +1,15 @@ -'use strict' -const { + +import { asBoolean, asOctal, asMtimeFromSeconds, coerceMtime, coerceMtimeNsecs -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'mkdir ', describe: 'Make mfs directories', diff --git a/packages/ipfs-cli/src/commands/files/mv.js b/packages/ipfs-cli/src/commands/files/mv.js index 3bf58e8a5c..320e3cca1a 100644 --- a/packages/ipfs-cli/src/commands/files/mv.js +++ b/packages/ipfs-cli/src/commands/files/mv.js @@ -1,11 +1,11 @@ -'use strict' -const { + +import { asBoolean -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'mv ', describe: 'Move mfs files around', diff --git a/packages/ipfs-cli/src/commands/files/read.js b/packages/ipfs-cli/src/commands/files/read.js index 4bc443cb7c..082f374208 100644 --- a/packages/ipfs-cli/src/commands/files/read.js +++ b/packages/ipfs-cli/src/commands/files/read.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'read ', describe: 'Read an mfs file', diff --git a/packages/ipfs-cli/src/commands/files/rm.js b/packages/ipfs-cli/src/commands/files/rm.js index 24e55dfd91..cb0a1b84ab 100644 --- a/packages/ipfs-cli/src/commands/files/rm.js +++ b/packages/ipfs-cli/src/commands/files/rm.js @@ -1,11 +1,11 @@ -'use strict' -const { + +import { asBoolean -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'rm ', describe: 'Remove an mfs file or directory', diff --git a/packages/ipfs-cli/src/commands/files/stat.js b/packages/ipfs-cli/src/commands/files/stat.js index 5598e6221a..ba5d3b0f68 100644 --- a/packages/ipfs-cli/src/commands/files/stat.js +++ b/packages/ipfs-cli/src/commands/files/stat.js @@ -1,13 +1,13 @@ -'use strict' -const { + +import { asBoolean -} = require('../../utils') -const formatMode = require('ipfs-core-utils/src/files/format-mode') -const formatMtime = require('ipfs-core-utils/src/files/format-mtime') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import formatMode from 'ipfs-core-utils/files/format-mode.js' +import formatMtime from 'ipfs-core-utils/files/format-mtime.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'stat [path]', describe: 'Display file/directory status', diff --git a/packages/ipfs-cli/src/commands/files/touch.js b/packages/ipfs-cli/src/commands/files/touch.js index df63c46204..f81aaee33e 100644 --- a/packages/ipfs-cli/src/commands/files/touch.js +++ b/packages/ipfs-cli/src/commands/files/touch.js @@ -1,14 +1,14 @@ -'use strict' -const { + +import { asBoolean, asMtimeFromSeconds, coerceMtime, coerceMtimeNsecs -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'touch [path]', describe: 'change file modification times', diff --git a/packages/ipfs-cli/src/commands/files/write.js b/packages/ipfs-cli/src/commands/files/write.js index e19c91374d..5424042ef1 100644 --- a/packages/ipfs-cli/src/commands/files/write.js +++ b/packages/ipfs-cli/src/commands/files/write.js @@ -1,15 +1,15 @@ -'use strict' -const { + +import { asBoolean, asOctal, asMtimeFromSeconds, coerceMtime, coerceMtimeNsecs -} = require('../../utils') -const { default: parseDuration } = require('parse-duration') +} from '../../utils.js' +import parseDuration from 'parse-duration' -module.exports = { +export default { command: 'write ', describe: 'Write to mfs files', diff --git a/packages/ipfs-cli/src/commands/get.js b/packages/ipfs-cli/src/commands/get.js index 4cd993b1a9..9cab3c81b2 100644 --- a/packages/ipfs-cli/src/commands/get.js +++ b/packages/ipfs-cli/src/commands/get.js @@ -1,18 +1,18 @@ -'use strict' -const fs = require('fs') -const path = require('path') + +import fs from 'fs' +import path from 'path' // @ts-ignore no types -const toIterable = require('stream-to-it') -const { pipe } = require('it-pipe') -const { default: parseDuration } = require('parse-duration') -const { +import toIterable from 'stream-to-it' +import { pipe } from 'it-pipe' +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../utils') -const { extract } = require('it-tar') -const map = require('it-map') +} from '../utils.js' +import { extract } from 'it-tar' +import map from 'it-map' -module.exports = { +export default { command: 'get ', describe: 'Download IPFS objects', diff --git a/packages/ipfs-cli/src/commands/id.js b/packages/ipfs-cli/src/commands/id.js index 210be82b7d..46fb246108 100644 --- a/packages/ipfs-cli/src/commands/id.js +++ b/packages/ipfs-cli/src/commands/id.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'id [peerId]', describe: 'Shows IPFS Node ID info', diff --git a/packages/ipfs-cli/src/commands/init.js b/packages/ipfs-cli/src/commands/init.js index 2fb280b6c7..a59cba9137 100644 --- a/packages/ipfs-cli/src/commands/init.js +++ b/packages/ipfs-cli/src/commands/init.js @@ -1,8 +1,11 @@ -'use strict' -const fs = require('fs') -const debug = require('debug')('ipfs:cli:init') -const { ipfsPathHelp } = require('../utils') + +import fs from 'fs' +import debug from 'debug' +import { ipfsPathHelp } from '../utils.js' +import * as IPFS from 'ipfs-core' + +const log = debug('ipfs:cli:init') /** @type {Record} */ const keyTypes = { @@ -11,7 +14,7 @@ const keyTypes = { secp256k1: 'secp256k1' } -module.exports = { +export default { command: 'init [default-config] [options]', describe: 'Initialize a local IPFS node\n\n' + 'If you are going to run IPFS in a server environment, you may want to ' + @@ -81,17 +84,14 @@ module.exports = { try { const raw = fs.readFileSync(argv.defaultConfig, { encoding: 'utf8' }) config = JSON.parse(raw) - } catch (error) { - debug(error) + } catch (/** @type {any} */ error) { + log(error) throw new Error('Default config couldn\'t be found or content isn\'t valid JSON.') } } print(`initializing ipfs node at ${repoPath}`) - // Required inline to reduce startup time - const IPFS = require('ipfs-core') - try { await IPFS.create({ repo: repoPath, @@ -107,7 +107,7 @@ module.exports = { // @ts-ignore - Expects more than {} config }) - } catch (err) { + } catch (/** @type {any} */ err) { if (err.code === 'EACCES') { err.message = 'EACCES: permission denied, stat $IPFS_PATH/version' } diff --git a/packages/ipfs-cli/src/commands/key.js b/packages/ipfs-cli/src/commands/key.js index 24bafea997..606c1332b0 100644 --- a/packages/ipfs-cli/src/commands/key.js +++ b/packages/ipfs-cli/src/commands/key.js @@ -1,6 +1,6 @@ -'use strict' -module.exports = { + +export default { command: 'key ', description: 'Manage your keys', diff --git a/packages/ipfs-cli/src/commands/key/export.js b/packages/ipfs-cli/src/commands/key/export.js index aef2ea5d08..3a1fa31d9d 100644 --- a/packages/ipfs-cli/src/commands/key/export.js +++ b/packages/ipfs-cli/src/commands/key/export.js @@ -1,9 +1,9 @@ -'use strict' -const fs = require('fs') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import fs from 'fs' +import parseDuration from 'parse-duration' + +export default { command: 'export ', describe: 'Export the key as a password protected PKCS #8 PEM file', diff --git a/packages/ipfs-cli/src/commands/key/gen.js b/packages/ipfs-cli/src/commands/key/gen.js index db5b64fe63..aca20e93f7 100644 --- a/packages/ipfs-cli/src/commands/key/gen.js +++ b/packages/ipfs-cli/src/commands/key/gen.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'gen ', describe: 'Create a new key', diff --git a/packages/ipfs-cli/src/commands/key/import.js b/packages/ipfs-cli/src/commands/key/import.js index 30b79550d8..cd6b6b5dbe 100644 --- a/packages/ipfs-cli/src/commands/key/import.js +++ b/packages/ipfs-cli/src/commands/key/import.js @@ -1,9 +1,9 @@ -'use strict' -const fs = require('fs') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import fs from 'fs' +import parseDuration from 'parse-duration' + +export default { command: 'import ', describe: 'Import the key from a PKCS #8 PEM file', diff --git a/packages/ipfs-cli/src/commands/key/list.js b/packages/ipfs-cli/src/commands/key/list.js index 5990a3a7ab..81581a6c1f 100644 --- a/packages/ipfs-cli/src/commands/key/list.js +++ b/packages/ipfs-cli/src/commands/key/list.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'list', describe: 'List all local keys', diff --git a/packages/ipfs-cli/src/commands/key/rename.js b/packages/ipfs-cli/src/commands/key/rename.js index 8cfbd87cd9..f3ad4867ae 100644 --- a/packages/ipfs-cli/src/commands/key/rename.js +++ b/packages/ipfs-cli/src/commands/key/rename.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'rename ', describe: 'Rename a key', diff --git a/packages/ipfs-cli/src/commands/key/rm.js b/packages/ipfs-cli/src/commands/key/rm.js index d628fa770d..887e8bcd04 100644 --- a/packages/ipfs-cli/src/commands/key/rm.js +++ b/packages/ipfs-cli/src/commands/key/rm.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'rm ', describe: 'Remove a key', diff --git a/packages/ipfs-cli/src/commands/ls.js b/packages/ipfs-cli/src/commands/ls.js index 46bd2c1075..6ceb526eae 100644 --- a/packages/ipfs-cli/src/commands/ls.js +++ b/packages/ipfs-cli/src/commands/ls.js @@ -1,11 +1,11 @@ -'use strict' -const { rightpad, stripControlCharacters } = require('../utils') -const formatMode = require('ipfs-core-utils/src/files/format-mode') -const formatMtime = require('ipfs-core-utils/src/files/format-mtime') -const { default: parseDuration } = require('parse-duration') -module.exports = { +import { rightpad, stripControlCharacters } from '../utils.js' +import formatMode from 'ipfs-core-utils/files/format-mode.js' +import formatMtime from 'ipfs-core-utils/files/format-mtime.js' +import parseDuration from 'parse-duration' + +export default { command: 'ls ', describe: 'List files for the given directory', diff --git a/packages/ipfs-cli/src/commands/name.js b/packages/ipfs-cli/src/commands/name.js index 5753d4b4fe..82c0588421 100644 --- a/packages/ipfs-cli/src/commands/name.js +++ b/packages/ipfs-cli/src/commands/name.js @@ -1,4 +1,4 @@ -'use strict' + /* IPNS is a PKI namespace, where names are the hashes of public keys, and @@ -6,7 +6,7 @@ the private key enables publishing new (signed) values. In both publish and resolve, the default name used is the node's own PeerID, which is the hash of its public key. */ -module.exports = { +export default { command: 'name ', description: 'Publish and resolve IPNS names.', diff --git a/packages/ipfs-cli/src/commands/name/publish.js b/packages/ipfs-cli/src/commands/name/publish.js index 15cede030f..0f569b258b 100644 --- a/packages/ipfs-cli/src/commands/name/publish.js +++ b/packages/ipfs-cli/src/commands/name/publish.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'publish ', describe: 'Publish IPNS names.', diff --git a/packages/ipfs-cli/src/commands/name/pubsub.js b/packages/ipfs-cli/src/commands/name/pubsub.js index 2beff40a68..a5ef7279dd 100644 --- a/packages/ipfs-cli/src/commands/name/pubsub.js +++ b/packages/ipfs-cli/src/commands/name/pubsub.js @@ -1,10 +1,10 @@ -'use strict' + /* Manage and inspect the state of the IPNS pubsub resolver. Note: this command is experimental and subject to change as the system is refined. */ -module.exports = { +export default { command: 'pubsub', description: 'IPNS pubsub management.', diff --git a/packages/ipfs-cli/src/commands/name/pubsub/cancel.js b/packages/ipfs-cli/src/commands/name/pubsub/cancel.js index b463a01e8f..7bd859fec0 100644 --- a/packages/ipfs-cli/src/commands/name/pubsub/cancel.js +++ b/packages/ipfs-cli/src/commands/name/pubsub/cancel.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'cancel ', describe: 'Cancel a name subscription.', diff --git a/packages/ipfs-cli/src/commands/name/pubsub/state.js b/packages/ipfs-cli/src/commands/name/pubsub/state.js index adc779c185..06c4e02bb4 100644 --- a/packages/ipfs-cli/src/commands/name/pubsub/state.js +++ b/packages/ipfs-cli/src/commands/name/pubsub/state.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'state', describe: 'Query the state of IPNS pubsub.', diff --git a/packages/ipfs-cli/src/commands/name/pubsub/subs.js b/packages/ipfs-cli/src/commands/name/pubsub/subs.js index ed8f79e650..c754ff39ab 100644 --- a/packages/ipfs-cli/src/commands/name/pubsub/subs.js +++ b/packages/ipfs-cli/src/commands/name/pubsub/subs.js @@ -1,11 +1,11 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters -} = require('../../../utils') +} from '../../../utils.js' -module.exports = { +export default { command: 'subs', describe: 'Show current name subscriptions.', diff --git a/packages/ipfs-cli/src/commands/name/resolve.js b/packages/ipfs-cli/src/commands/name/resolve.js index 4d73d64678..ae72122e37 100644 --- a/packages/ipfs-cli/src/commands/name/resolve.js +++ b/packages/ipfs-cli/src/commands/name/resolve.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'resolve []', describe: 'Resolve IPNS names.', diff --git a/packages/ipfs-cli/src/commands/object.js b/packages/ipfs-cli/src/commands/object.js index 3dab4dd879..be229c15a2 100644 --- a/packages/ipfs-cli/src/commands/object.js +++ b/packages/ipfs-cli/src/commands/object.js @@ -1,6 +1,5 @@ -'use strict' -module.exports = { +export default { command: 'object ', description: 'Interact with ipfs objects.', diff --git a/packages/ipfs-cli/src/commands/object/data.js b/packages/ipfs-cli/src/commands/object/data.js index f6783159e9..13ef417771 100644 --- a/packages/ipfs-cli/src/commands/object/data.js +++ b/packages/ipfs-cli/src/commands/object/data.js @@ -1,9 +1,9 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { coerceCID } = require('../../utils') -module.exports = { +import parseDuration from 'parse-duration' +import { coerceCID } from '../../utils.js' + +export default { command: 'data ', describe: 'Outputs the raw bytes in an IPFS object', diff --git a/packages/ipfs-cli/src/commands/object/get.js b/packages/ipfs-cli/src/commands/object/get.js index 4b6aac8c9d..f93e5cca78 100644 --- a/packages/ipfs-cli/src/commands/object/get.js +++ b/packages/ipfs-cli/src/commands/object/get.js @@ -1,14 +1,14 @@ -'use strict' -const dagPB = require('@ipld/dag-pb') -const { default: parseDuration } = require('parse-duration') -const { toString: uint8ArrayToString } = require('uint8arrays/to-string') -const { + +import * as dagPB from '@ipld/dag-pb' +import parseDuration from 'parse-duration' +import { toString as uint8ArrayToString } from 'uint8arrays/to-string' +import { stripControlCharacters, coerceCID -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'get ', describe: 'Get and serialize the DAG node named by ', diff --git a/packages/ipfs-cli/src/commands/object/links.js b/packages/ipfs-cli/src/commands/object/links.js index fb02cfdc20..2b7da2f155 100644 --- a/packages/ipfs-cli/src/commands/object/links.js +++ b/packages/ipfs-cli/src/commands/object/links.js @@ -1,12 +1,12 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -const { + +import parseDuration from 'parse-duration' +import { stripControlCharacters, coerceCID -} = require('../../utils') +} from '../../utils.js' -module.exports = { +export default { command: 'links ', describe: 'Outputs the links pointed to by the specified object', diff --git a/packages/ipfs-cli/src/commands/object/new.js b/packages/ipfs-cli/src/commands/object/new.js index 0c8d87f91a..a5d7282bc2 100644 --- a/packages/ipfs-cli/src/commands/object/new.js +++ b/packages/ipfs-cli/src/commands/object/new.js @@ -1,8 +1,8 @@ -'use strict' -const { default: parseDuration } = require('parse-duration') -module.exports = { +import parseDuration from 'parse-duration' + +export default { command: 'new [