From 97bdb9cf02fa225e5e109b687fe63a9cee325842 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 27 May 2022 12:00:51 +0000 Subject: [PATCH 01/10] chore(release): 9.0.10 [skip ci] ## [ipfs-unixfs-importer-v9.0.10](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-importer-v9.0.9...ipfs-unixfs-importer-v9.0.10) (2022-05-27) ### Bug Fixes * remove typesVersions from package.json ([#219](https://github.com/ipfs/js-ipfs-unixfs/issues/219)) ([465670e](https://github.com/ipfs/js-ipfs-unixfs/commit/465670eab2e707b14b14047e2da4ede23590196e)), closes [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) [#161](https://github.com/ipfs/js-ipfs-unixfs/issues/161) [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) ### Trivial Changes * update dep-check command ([#221](https://github.com/ipfs/js-ipfs-unixfs/issues/221)) ([5802bd3](https://github.com/ipfs/js-ipfs-unixfs/commit/5802bd366768e1a024fad30e4190aed866f5c9ec)) --- packages/ipfs-unixfs-importer/CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/ipfs-unixfs-importer/CHANGELOG.md b/packages/ipfs-unixfs-importer/CHANGELOG.md index dcae67b8..704ded94 100644 --- a/packages/ipfs-unixfs-importer/CHANGELOG.md +++ b/packages/ipfs-unixfs-importer/CHANGELOG.md @@ -1,3 +1,15 @@ +## [ipfs-unixfs-importer-v9.0.10](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-importer-v9.0.9...ipfs-unixfs-importer-v9.0.10) (2022-05-27) + + +### Bug Fixes + +* remove typesVersions from package.json ([#219](https://github.com/ipfs/js-ipfs-unixfs/issues/219)) ([465670e](https://github.com/ipfs/js-ipfs-unixfs/commit/465670eab2e707b14b14047e2da4ede23590196e)), closes [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) [#161](https://github.com/ipfs/js-ipfs-unixfs/issues/161) [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) + + +### Trivial Changes + +* update dep-check command ([#221](https://github.com/ipfs/js-ipfs-unixfs/issues/221)) ([5802bd3](https://github.com/ipfs/js-ipfs-unixfs/commit/5802bd366768e1a024fad30e4190aed866f5c9ec)) + ## [ipfs-unixfs-importer-v9.0.9](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-importer-v9.0.8...ipfs-unixfs-importer-v9.0.9) (2022-05-27) From dd6253f5d7e590a869ed470df9873c0975575505 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 27 May 2022 12:01:20 +0000 Subject: [PATCH 02/10] chore(release): 7.0.11 [skip ci] ## [ipfs-unixfs-exporter-v7.0.11](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-exporter-v7.0.10...ipfs-unixfs-exporter-v7.0.11) (2022-05-27) ### Bug Fixes * remove typesVersions from package.json ([#219](https://github.com/ipfs/js-ipfs-unixfs/issues/219)) ([465670e](https://github.com/ipfs/js-ipfs-unixfs/commit/465670eab2e707b14b14047e2da4ede23590196e)), closes [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) [#161](https://github.com/ipfs/js-ipfs-unixfs/issues/161) [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) ### Trivial Changes * update dep-check command ([#221](https://github.com/ipfs/js-ipfs-unixfs/issues/221)) ([5802bd3](https://github.com/ipfs/js-ipfs-unixfs/commit/5802bd366768e1a024fad30e4190aed866f5c9ec)) --- packages/ipfs-unixfs-exporter/CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/ipfs-unixfs-exporter/CHANGELOG.md b/packages/ipfs-unixfs-exporter/CHANGELOG.md index 94aede46..4a1152ec 100644 --- a/packages/ipfs-unixfs-exporter/CHANGELOG.md +++ b/packages/ipfs-unixfs-exporter/CHANGELOG.md @@ -1,3 +1,15 @@ +## [ipfs-unixfs-exporter-v7.0.11](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-exporter-v7.0.10...ipfs-unixfs-exporter-v7.0.11) (2022-05-27) + + +### Bug Fixes + +* remove typesVersions from package.json ([#219](https://github.com/ipfs/js-ipfs-unixfs/issues/219)) ([465670e](https://github.com/ipfs/js-ipfs-unixfs/commit/465670eab2e707b14b14047e2da4ede23590196e)), closes [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) [#161](https://github.com/ipfs/js-ipfs-unixfs/issues/161) [#214](https://github.com/ipfs/js-ipfs-unixfs/issues/214) + + +### Trivial Changes + +* update dep-check command ([#221](https://github.com/ipfs/js-ipfs-unixfs/issues/221)) ([5802bd3](https://github.com/ipfs/js-ipfs-unixfs/commit/5802bd366768e1a024fad30e4190aed866f5c9ec)) + ## [ipfs-unixfs-exporter-v7.0.10](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-exporter-v7.0.9...ipfs-unixfs-exporter-v7.0.10) (2022-05-27) From 38e94da4aba12c70c67e8a5be9051c81ff1779b6 Mon Sep 17 00:00:00 2001 From: web3-bot <81333946+web3-bot@users.noreply.github.com> Date: Wed, 1 Jun 2022 11:37:25 +0200 Subject: [PATCH 03/10] update .github/workflows/js-test-and-release.yml (#223) --- .github/workflows/js-test-and-release.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/js-test-and-release.yml b/.github/workflows/js-test-and-release.yml index 1d6c6ebe..fb875052 100644 --- a/.github/workflows/js-test-and-release.yml +++ b/.github/workflows/js-test-and-release.yml @@ -38,7 +38,7 @@ jobs: node-version: ${{ matrix.node }} - uses: ipfs/aegir/actions/cache-node-modules@master - run: npm run --if-present test:node - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: node @@ -53,7 +53,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npm run --if-present test:chrome - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: chrome @@ -68,7 +68,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npm run --if-present test:chrome-webworker - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: chrome-webworker @@ -83,7 +83,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npm run --if-present test:firefox - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: firefox @@ -98,7 +98,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npm run --if-present test:firefox-webworker - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: firefox-webworker @@ -113,7 +113,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npx xvfb-maybe npm run --if-present test:electron-main - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: electron-main @@ -128,7 +128,7 @@ jobs: node-version: lts/* - uses: ipfs/aegir/actions/cache-node-modules@master - run: npx xvfb-maybe npm run --if-present test:electron-renderer - - uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0 + - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: directory: ./.nyc_output flags: electron-renderer From a33a0f266493f480854860103380a8690555a778 Mon Sep 17 00:00:00 2001 From: "ipfs-mgmt-read-write[bot]" <104492829+ipfs-mgmt-read-write[bot]@users.noreply.github.com> Date: Mon, 13 Jun 2022 12:51:06 +0000 Subject: [PATCH 04/10] Add .github/workflows/stale.yml --- .github/workflows/stale.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000..297540be --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,26 @@ +name: Close and mark stale issue + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + stale: + + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'Oops, seems like we needed more information for this issue, please comment with more details or this issue will be closed in 7 days.' + close-issue-message: 'This issue was closed because it is missing author input.' + stale-issue-label: 'kind/stale' + any-of-labels: 'need/author-input' + exempt-issue-labels: 'need/triage,need/community-input,need/maintainer-input,need/maintainers-input,need/analysis' + days-before-issue-stale: 6 + days-before-issue-close: 7 + enable-statistics: true From a700c380b1e940fe99c859e8261f902c87cf52d1 Mon Sep 17 00:00:00 2001 From: web3-bot <81333946+web3-bot@users.noreply.github.com> Date: Thu, 16 Jun 2022 15:32:01 +0200 Subject: [PATCH 05/10] update .github/workflows/js-test-and-release.yml (#227) --- .github/workflows/js-test-and-release.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/js-test-and-release.yml b/.github/workflows/js-test-and-release.yml index fb875052..8030ec65 100644 --- a/.github/workflows/js-test-and-release.yml +++ b/.github/workflows/js-test-and-release.yml @@ -40,7 +40,6 @@ jobs: - run: npm run --if-present test:node - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: node test-chrome: @@ -55,7 +54,6 @@ jobs: - run: npm run --if-present test:chrome - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: chrome test-chrome-webworker: @@ -70,7 +68,6 @@ jobs: - run: npm run --if-present test:chrome-webworker - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: chrome-webworker test-firefox: @@ -85,7 +82,6 @@ jobs: - run: npm run --if-present test:firefox - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: firefox test-firefox-webworker: @@ -100,7 +96,6 @@ jobs: - run: npm run --if-present test:firefox-webworker - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: firefox-webworker test-electron-main: @@ -115,7 +110,6 @@ jobs: - run: npx xvfb-maybe npm run --if-present test:electron-main - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: electron-main test-electron-renderer: @@ -130,7 +124,6 @@ jobs: - run: npx xvfb-maybe npm run --if-present test:electron-renderer - uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0 with: - directory: ./.nyc_output flags: electron-renderer release: From de1a7f0afc144462b374919a44d3af4fae3a49da Mon Sep 17 00:00:00 2001 From: GitHub Date: Mon, 27 Jun 2022 10:46:18 +0000 Subject: [PATCH 06/10] Update .github/workflows/stale.yml --- .github/workflows/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 297540be..6f6d895d 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -20,7 +20,7 @@ jobs: close-issue-message: 'This issue was closed because it is missing author input.' stale-issue-label: 'kind/stale' any-of-labels: 'need/author-input' - exempt-issue-labels: 'need/triage,need/community-input,need/maintainer-input,need/maintainers-input,need/analysis' + exempt-issue-labels: 'need/triage,need/community-input,need/maintainer-input,need/maintainers-input,need/analysis,status/blocked,status/in-progress,status/ready,status/deferred,status/inactive' days-before-issue-stale: 6 days-before-issue-close: 7 enable-statistics: true From fd05d6175485a5b1965f1bf5b6e34431a6991db1 Mon Sep 17 00:00:00 2001 From: GitHub Date: Thu, 21 Jul 2022 09:55:21 +0000 Subject: [PATCH 07/10] chore: Update .github/workflows/stale.yml [skip ci] From 9fccb7c4bf989c052ba67ab2c9280273aecfda36 Mon Sep 17 00:00:00 2001 From: Alex Potsides Date: Thu, 11 Aug 2022 15:04:34 +0100 Subject: [PATCH 08/10] deps!: update aegir to 37.x.x (#243) BREAKING CHANGE: This module used to be dual published as CJS/ESM, now it is just ESM --- .github/dependabot.yml | 3 + README.md | 54 ++++++++----- lerna.json | 4 +- packages/ipfs-unixfs-exporter/.aegir.cjs | 39 ---------- packages/ipfs-unixfs-exporter/.aegir.js | 7 ++ packages/ipfs-unixfs-exporter/README.md | 78 +++++++++++-------- packages/ipfs-unixfs-exporter/package.json | 72 +++++++++-------- .../test/exporter-sharded.spec.js | 2 +- .../test/exporter-subtree.spec.js | 2 +- .../test/exporter.spec.js | 2 +- .../test/import-export-dir-sharding.spec.js | 2 +- .../test/import-export-nested-dir.spec.js | 2 +- .../test/import-export.spec.js | 4 +- .../test/importer.spec.js | 4 +- packages/ipfs-unixfs-exporter/tsconfig.json | 9 +-- packages/ipfs-unixfs-importer/.aegir.cjs | 39 ---------- packages/ipfs-unixfs-importer/.aegir.js | 7 ++ packages/ipfs-unixfs-importer/README.md | 50 ++++++++---- packages/ipfs-unixfs-importer/package.json | 71 +++++++++-------- .../test/builder-balanced.spec.js | 2 +- .../test/builder-flat.spec.js | 2 +- .../test/builder-only-hash.spec.js | 2 +- .../test/builder-trickle-dag.spec.js | 2 +- .../ipfs-unixfs-importer/test/builder.spec.js | 2 +- .../test/chunker-custom.spec.js | 2 +- .../test/chunker-fixed-size.spec.js | 2 +- .../test/chunker-rabin.spec.js | 2 +- .../test/hash-parity-with-go-ipfs.spec.js | 2 +- .../ipfs-unixfs-importer/test/utils.spec.js | 2 +- packages/ipfs-unixfs-importer/tsconfig.json | 9 +-- .../ipfs-unixfs/{.aegir.cjs => .aegir.js} | 6 +- packages/ipfs-unixfs/README.md | 50 +++++++----- packages/ipfs-unixfs/package.json | 78 ++++++++++--------- .../ipfs-unixfs/test/unixfs-format.spec.js | 4 +- packages/ipfs-unixfs/tsconfig.json | 5 +- 35 files changed, 308 insertions(+), 315 deletions(-) delete mode 100644 packages/ipfs-unixfs-exporter/.aegir.cjs create mode 100644 packages/ipfs-unixfs-exporter/.aegir.js delete mode 100644 packages/ipfs-unixfs-importer/.aegir.cjs create mode 100644 packages/ipfs-unixfs-importer/.aegir.js rename packages/ipfs-unixfs/{.aegir.cjs => .aegir.js} (58%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 290ad028..0bc3b42d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,3 +6,6 @@ updates: interval: daily time: "10:00" open-pull-requests-limit: 10 + commit-message: + prefix: "deps" + prefix-development: "deps(dev)" diff --git a/README.md b/README.md index 28feb266..99ed075a 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,39 @@ -# ipfs-unixfs +# js-ipfs-unixfs -[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) -[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/) -[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) -[![Travis CI](https://flat.badgen.net/travis/ipfs/js-ipfs-unixfs)](https://travis-ci.com/ipfs/js-ipfs-unixfs) -[![Codecov](https://codecov.io/gh/ipfs/js-ipfs-unixfs/branch/master/graph/badge.svg)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) -[![Style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard) +[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io) +[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) +[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs) +[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs-unixfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs-unixfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs-unixfs/actions/workflows/js-test-and-release.yml) -> JavaScript implementation of IPFS' UnixFS (a representation of a Unix file system on top of a MerkleDAG) +> JS implementation of the IPFS UnixFS -The UnixFS spec can be found at [ipfs/specs/UNIXFS.md](https://github.com/ipfs/specs/blob/master/UNIXFS.md) - -## Lead Maintainer - -[Alex Potsides](https://github.com/achingbrain) - -## Table of Contents +## Table of contents - [Structure](#structure) +- [Lead Maintainer ](#lead-maintainer----omit-in-toc---) - [Development](#development) - [Publishing new versions](#publishing-new-versions) - [Using prerelease versions](#using-prerelease-versions) - [Contribute](#contribute) - [License](#license) +- [Contribute](#contribute-1) ## Structure -This project is broken into several modules, their purposes are: +- [`/packages/ipfs-unixfs`](./packages/ipfs-unixfs) JavaScript implementation of IPFS' unixfs (a Unix FileSystem representation on top of a MerkleDAG) +- [`/packages/ipfs-unixfs-exporter`](./packages/ipfs-unixfs-exporter) JavaScript implementation of the UnixFs exporter used by IPFS +- [`/packages/ipfs-unixfs-importer`](./packages/ipfs-unixfs-importer) JavaScript implementation of the UnixFs importer used by IPFS -* [`/packages/ipfs-unixfs`](./packages/ipfs-unixfs) Serialization/deserialization of UnixFS objects to protocol buffers -* [`/packages/ipfs-unixfs-importer`](./packages/ipfs-unixfs-importer) Builds DAGs from files and directories -* [`/packages/ipfs-unixfs-exporter`](./packages/ipfs-unixfs-exporter) Exports DAGs +The UnixFS spec can be found at [ipfs/specs/UNIXFS.md](https://github.com/ipfs/specs/blob/master/UNIXFS.md) + +## Lead Maintainer + +[Alex Potsides](https://github.com/achingbrain) + +- [`/packages/ipfs-unixfs`](./packages/ipfs-unixfs) Serialization/deserialization of UnixFS objects to protocol buffers +- [`/packages/ipfs-unixfs-importer`](./packages/ipfs-unixfs-importer) Builds DAGs from files and directories +- [`/packages/ipfs-unixfs-exporter`](./packages/ipfs-unixfs-exporter) Exports DAGs ## Development @@ -64,4 +67,15 @@ This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/c ## License -[MIT](LICENSE) +Licensed under either of + +- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / ) +- MIT ([LICENSE-MIT](LICENSE-MIT) / ) + +## Contribute + +Feel free to join in. All welcome. Open an [issue](https://github.com/ipfs/js-ipfs-unixfs-importer/issues)! + +This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). + +[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) diff --git a/lerna.json b/lerna.json index aa6d0004..d7a23368 100644 --- a/lerna.json +++ b/lerna.json @@ -1,8 +1,6 @@ { "lerna": "4.0.0", - "packages": [ - "packages/*" - ], + "useWorkspaces": true, "version": "independent", "command": { "run": { diff --git a/packages/ipfs-unixfs-exporter/.aegir.cjs b/packages/ipfs-unixfs-exporter/.aegir.cjs deleted file mode 100644 index 7c48d0be..00000000 --- a/packages/ipfs-unixfs-exporter/.aegir.cjs +++ /dev/null @@ -1,39 +0,0 @@ -'use strict' - -/** @type {import('aegir').Options["build"]["config"]} */ -const buildConfig = { - plugins: [ - { - name: 'node built ins', - setup (build) { - build.onResolve({ filter: /^stream$/ }, () => { - return { path: require.resolve('readable-stream') } - }) - build.onResolve({ filter: /^crypto$/ }, () => { - return { path: require.resolve('crypto-browserify') } - }) - build.onResolve({ filter: /^cborg$/ }, () => { - return { path: require.resolve('cborg') } - }) - } - } - ] -} - -/** @type {import('aegir').PartialOptions} */ -module.exports = { - build: { - bundlesizeMax: '34KB', - config: buildConfig - }, - test: { - browser: { - config: { - buildConfig - } - } - }, - ts: { - copyTo: 'types' - } -} diff --git a/packages/ipfs-unixfs-exporter/.aegir.js b/packages/ipfs-unixfs-exporter/.aegir.js new file mode 100644 index 00000000..c3a96d38 --- /dev/null +++ b/packages/ipfs-unixfs-exporter/.aegir.js @@ -0,0 +1,7 @@ + +/** @type {import('aegir').PartialOptions} */ +export default { + build: { + bundlesizeMax: '31KB' + } +} diff --git a/packages/ipfs-unixfs-exporter/README.md b/packages/ipfs-unixfs-exporter/README.md index 5ad2df74..8c4ac08f 100644 --- a/packages/ipfs-unixfs-exporter/README.md +++ b/packages/ipfs-unixfs-exporter/README.md @@ -1,42 +1,41 @@ -# ipfs-unixfs-exporter +# ipfs-unixfs-exporter + +[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io) +[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) +[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs) +[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs-unixfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs-unixfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs-unixfs/actions/workflows/js-test-and-release.yml) + +> JavaScript implementation of the UnixFs exporter used by IPFS + +## Table of contents + +- [Install](#install) +- [Lead Maintainer](#lead-maintainer) +- [Usage](#usage) + - [Example](#example) + - [API](#api) + - [`exporter(cid, blockstore, options)`](#exportercid-blockstore-options) + - [UnixFSEntry](#unixfsentry) + - [Raw entries](#raw-entries) + - [CBOR entries](#cbor-entries) + - [`entry.content({ offset, length })`](#entrycontent-offset-length-) + - [`walkPath(cid, blockstore)`](#walkpathcid-blockstore) + - [`recursive(cid, blockstore)`](#recursivecid-blockstore) +- [Contribute](#contribute) +- [License](#license) +- [Contribute](#contribute-1) -[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) -[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/) -[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) -[![Build Status](https://flat.badgen.net/travis/ipfs/js-ipfs-unixfs)](https://travis-ci.com/ipfs/js-ipfs-unixfs) -[![Codecov](https://codecov.io/gh/ipfs/js-ipfs-unixfs/branch/master/graph/badge.svg)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +## Install -> Exports UnixFS and other DAGs from IPFS +```console +$ npm i ipfs-unixfs-exporter +``` ## Lead Maintainer [Alex Potsides](https://github.com/achingbrain) -## Table of Contents - -- [ipfs-unixfs-exporter](#ipfs-unixfs-exporter) - - [Lead Maintainer](#lead-maintainer) - - [Table of Contents](#table-of-contents) - - [Install](#install) - - [Usage](#usage) - - [Example](#example) - - [API](#api) - - [`exporter(cid, blockstore, options)`](#exportercid-blockstore-options) - - [UnixFSEntry](#unixfsentry) - - [Raw entries](#raw-entries) - - [CBOR entries](#cbor-entries) - - [`entry.content({ offset, length })`](#entrycontent-offset-length-) - - [`walkPath(cid, blockstore)`](#walkpathcid-blockstore) - - [`recursive(cid, blockstore)`](#recursivecid-blockstore) - - [Contribute](#contribute) - - [License](#license) - -## Install - -``` -> npm install ipfs-unixfs-exporter -``` - ## Usage ### Example @@ -238,7 +237,9 @@ for await (const child of recursive('Qmfoo/foo/bar', blockstore)) { ``` [dag API]: https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/DAG.md + [blockstore]: https://github.com/ipfs/js-ipfs-interfaces/tree/master/packages/interface-blockstore#readme + [UnixFS]: https://github.com/ipfs/specs/tree/master/unixfs ## Contribute @@ -251,4 +252,15 @@ This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/c ## License -[MIT](LICENSE) +Licensed under either of + +- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / ) +- MIT ([LICENSE-MIT](LICENSE-MIT) / ) + +## Contribute + +Feel free to join in. All welcome. Open an [issue](https://github.com/ipfs/js-ipfs-unixfs-importer/issues)! + +This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). + +[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) diff --git a/packages/ipfs-unixfs-exporter/package.json b/packages/ipfs-unixfs-exporter/package.json index a9787a0b..31198e57 100644 --- a/packages/ipfs-unixfs-exporter/package.json +++ b/packages/ipfs-unixfs-exporter/package.json @@ -19,15 +19,32 @@ "npm": ">=7.0.0" }, "type": "module", - "types": "types/src/index.d.ts", + "types": "./dist/src/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ], + "src/*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ] + } + }, "files": [ - "*", - "!**/*.tsbuildinfo", - "!**/browser-test", - "!**/node-test" + "src", + "dist", + "!dist/test", + "!**/*.tsbuildinfo" ], "exports": { ".": { + "types": "./dist/src/index.d.ts", "import": "./src/index.js" } }, @@ -64,15 +81,15 @@ "release": "patch" }, { - "type": "chore", + "type": "docs", "release": "patch" }, { - "type": "docs", + "type": "test", "release": "patch" }, { - "type": "test", + "type": "deps", "release": "patch" }, { @@ -102,7 +119,11 @@ }, { "type": "docs", - "section": "Trivial Changes" + "section": "Documentation" + }, + { + "type": "deps", + "section": "Dependencies" }, { "type": "test", @@ -113,29 +134,21 @@ } ], "@semantic-release/changelog", - [ - "@semantic-release/npm", - { - "pkgRoot": "dist" - } - ], + "@semantic-release/npm", "@semantic-release/github", "@semantic-release/git" ] }, "scripts": { - "prepare": "aegir build --no-bundle && cp -R types dist", - "pretest": "aegir build --esm-tests", "test": "aegir test", "test:node": "aegir test -t node --cov", "test:chrome": "aegir test -t browser --cov", "test:firefox": "aegir test -t browser -- --browser firefox", - "build": "aegir build && cp -R types dist", - "preleaseOnly": "npx json -I -f dist/package.json -e this.types='\"src/index.d.ts\"'", - "clean": "rimraf ./dist ./types", - "lint": "aegir ts -p check && aegir lint", - "dep-check": "aegir dep-check -i @types/sinon -i nyc -i rimraf -i copy -i util -i crypto-browserify -i events -i readable-stream -i interface-blockstore", - "release": "semantic-release" + "build": "aegir build", + "clean": "aegir clean", + "lint": "aegir lint", + "dep-check": "aegir dep-check -i interface-blockstore", + "release": "aegir release" }, "dependencies": { "@ipld/dag-cbor": "^7.0.2", @@ -152,27 +165,18 @@ "devDependencies": { "@types/sinon": "^10.0.0", "abort-controller": "^3.0.0", - "aegir": "^36.2.3", + "aegir": "^37.5.0", "blockstore-core": "^1.0.5", - "copy": "^0.3.2", "crypto-browserify": "^3.12.0", - "events": "^3.3.0", "ipfs-unixfs-importer": "^9.0.0", "it-all": "^1.0.5", "it-buffer-stream": "^2.0.0", "it-first": "^1.0.6", "merge-options": "^3.0.4", "native-abort-controller": "^1.0.3", - "readable-stream": "^3.6.0", - "rimraf": "^3.0.2", - "sinon": "^14.0.0", - "util": "^0.12.3" + "sinon": "^14.0.0" }, "browser": { "fs": false - }, - "main": "src/index.js", - "publishConfig": { - "directory": "dist" } } diff --git a/packages/ipfs-unixfs-exporter/test/exporter-sharded.spec.js b/packages/ipfs-unixfs-exporter/test/exporter-sharded.spec.js index b4e6bfd9..6b2738dd 100644 --- a/packages/ipfs-unixfs-exporter/test/exporter-sharded.spec.js +++ b/packages/ipfs-unixfs-exporter/test/exporter-sharded.spec.js @@ -1,5 +1,5 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import { UnixFS } from 'ipfs-unixfs' import all from 'it-all' import last from 'it-last' diff --git a/packages/ipfs-unixfs-exporter/test/exporter-subtree.spec.js b/packages/ipfs-unixfs-exporter/test/exporter-subtree.spec.js index 55119885..86ffc82d 100644 --- a/packages/ipfs-unixfs-exporter/test/exporter-subtree.spec.js +++ b/packages/ipfs-unixfs-exporter/test/exporter-subtree.spec.js @@ -1,5 +1,5 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import { importer } from 'ipfs-unixfs-importer' import all from 'it-all' import last from 'it-last' diff --git a/packages/ipfs-unixfs-exporter/test/exporter.spec.js b/packages/ipfs-unixfs-exporter/test/exporter.spec.js index 9c1de742..c61b010c 100644 --- a/packages/ipfs-unixfs-exporter/test/exporter.spec.js +++ b/packages/ipfs-unixfs-exporter/test/exporter.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import { UnixFS } from 'ipfs-unixfs' import { CID } from 'multiformats/cid' import * as dagPb from '@ipld/dag-pb' diff --git a/packages/ipfs-unixfs-exporter/test/import-export-dir-sharding.spec.js b/packages/ipfs-unixfs-exporter/test/import-export-dir-sharding.spec.js index cb7c309b..c0b5e9c8 100644 --- a/packages/ipfs-unixfs-exporter/test/import-export-dir-sharding.spec.js +++ b/packages/ipfs-unixfs-exporter/test/import-export-dir-sharding.spec.js @@ -2,7 +2,7 @@ import { importer } from 'ipfs-unixfs-importer' import { exporter } from '../src/index.js' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import all from 'it-all' import last from 'it-last' import blockApi from './helpers/block.js' diff --git a/packages/ipfs-unixfs-exporter/test/import-export-nested-dir.spec.js b/packages/ipfs-unixfs-exporter/test/import-export-nested-dir.spec.js index 746e4971..f465a3d2 100644 --- a/packages/ipfs-unixfs-exporter/test/import-export-nested-dir.spec.js +++ b/packages/ipfs-unixfs-exporter/test/import-export-nested-dir.spec.js @@ -1,5 +1,5 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import all from 'it-all' import { importer } from 'ipfs-unixfs-importer' import { exporter } from '../src/index.js' diff --git a/packages/ipfs-unixfs-exporter/test/import-export.spec.js b/packages/ipfs-unixfs-exporter/test/import-export.spec.js index 12644ef8..7e03ce18 100644 --- a/packages/ipfs-unixfs-exporter/test/import-export.spec.js +++ b/packages/ipfs-unixfs-exporter/test/import-export.spec.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ /* eslint max-nested-callbacks: ["error", 5] */ -import { expect } from 'aegir/utils/chai.js' -import loadFixture from 'aegir/utils/fixtures.js' +import { expect } from 'aegir/chai' +import loadFixture from 'aegir/fixtures' import blockApi from './helpers/block.js' import asAsyncIterable from './helpers/as-async-iterable.js' diff --git a/packages/ipfs-unixfs-exporter/test/importer.spec.js b/packages/ipfs-unixfs-exporter/test/importer.spec.js index 192557fd..d97cc068 100644 --- a/packages/ipfs-unixfs-exporter/test/importer.spec.js +++ b/packages/ipfs-unixfs-exporter/test/importer.spec.js @@ -3,11 +3,11 @@ import { importer } from 'ipfs-unixfs-importer' import { exporter, recursive } from '../src/index.js' import extend from 'merge-options' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import sinon from 'sinon' import { UnixFS, parseMtime } from 'ipfs-unixfs' import collectLeafCids from './helpers/collect-leaf-cids.js' -import loadFixture from 'aegir/utils/fixtures.js' +import loadFixture from 'aegir/fixtures' import all from 'it-all' import first from 'it-first' import blockApi from './helpers/block.js' diff --git a/packages/ipfs-unixfs-exporter/tsconfig.json b/packages/ipfs-unixfs-exporter/tsconfig.json index c490e3c1..7665b90f 100644 --- a/packages/ipfs-unixfs-exporter/tsconfig.json +++ b/packages/ipfs-unixfs-exporter/tsconfig.json @@ -1,18 +1,13 @@ { "extends": "aegir/src/config/tsconfig.aegir.json", "compilerOptions": { - "outDir": "types", - "module": "es2020", - "importsNotUsedAsValues": "preserve" + "outDir": "dist", + "emitDeclarationOnly": true }, "include": [ "src", "test" ], - "exclude": [ - "dist", - "node_modules" - ], "references": [ { "path": "../ipfs-unixfs" diff --git a/packages/ipfs-unixfs-importer/.aegir.cjs b/packages/ipfs-unixfs-importer/.aegir.cjs deleted file mode 100644 index 6abe4ea8..00000000 --- a/packages/ipfs-unixfs-importer/.aegir.cjs +++ /dev/null @@ -1,39 +0,0 @@ -'use strict' - -/** @type {import('aegir').Options["build"]["config"]} */ -const buildConfig = { - plugins: [ - { - name: 'node built ins', - setup (build) { - build.onResolve({ filter: /^stream$/ }, () => { - return { path: require.resolve('readable-stream') } - }) - build.onResolve({ filter: /^crypto$/ }, () => { - return { path: require.resolve('crypto-browserify') } - }) - build.onResolve({ filter: /^cborg$/ }, () => { - return { path: require.resolve('cborg') } - }) - } - } - ] -} - -/** @type {import('aegir').PartialOptions} */ -module.exports = { - build: { - bundlesizeMax: '44KB', - config: buildConfig - }, - test: { - browser: { - config: { - buildConfig - } - } - }, - ts: { - copyTo: 'types' - } -} diff --git a/packages/ipfs-unixfs-importer/.aegir.js b/packages/ipfs-unixfs-importer/.aegir.js new file mode 100644 index 00000000..35115765 --- /dev/null +++ b/packages/ipfs-unixfs-importer/.aegir.js @@ -0,0 +1,7 @@ + +/** @type {import('aegir').PartialOptions} */ +export default { + build: { + bundlesizeMax: '43KB' + } +} diff --git a/packages/ipfs-unixfs-importer/README.md b/packages/ipfs-unixfs-importer/README.md index 0697cf25..0f2f4592 100644 --- a/packages/ipfs-unixfs-importer/README.md +++ b/packages/ipfs-unixfs-importer/README.md @@ -1,34 +1,36 @@ # ipfs-unixfs-importer -[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) -[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/) -[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) -[![Build Status](https://flat.badgen.net/travis/ipfs/js-ipfs-unixfs)](https://travis-ci.com/ipfs/js-ipfs-unixfs) -[![Codecov](https://codecov.io/gh/ipfs/js-ipfs-unixfs/branch/master/graph/badge.svg)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io) +[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) +[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs) +[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs-unixfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs-unixfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs-unixfs/actions/workflows/js-test-and-release.yml) -> JavaScript implementation of the layout and chunking mechanisms used by IPFS to handle Files +> JavaScript implementation of the UnixFs importer used by IPFS -## Lead Maintainer - -[Alex Potsides](https://github.com/achingbrain) - -## Table of Contents +## Table of contents - [Install](#install) +- [Lead Maintainer ](#lead-maintainer----omit-in-toc---) - [Usage](#usage) - [Example](#example) - [API](#api) - - [const stream = importer(source, blockstore [, options])](#const-stream--importersource-blockstore--options) + - [const stream = importer(source, blockstore \[, options\])](#const-stream--importersource-blockstore--options) - [Overriding internals](#overriding-internals) - [Contribute](#contribute) - [License](#license) +- [Contribute](#contribute-1) ## Install -``` -> npm install ipfs-unixfs-importer +```console +$ npm i ipfs-unixfs-importer ``` +## Lead Maintainer + +[Alex Potsides](https://github.com/achingbrain) + ## Usage ### Example @@ -96,7 +98,7 @@ When run, metadata about DAGNodes in the created tree is printed until the root: import { importer } from 'ipfs-unixfs-importer' ``` -#### const stream = importer(source, blockstore [, options]) +#### const stream = importer(source, blockstore \[, options]) The `importer` function returns an async iterator takes a source async iterator that yields objects of the form: @@ -137,7 +139,7 @@ The input's file paths and directory structure will be preserved in the [`dag-pb - `progress` (function): a function that will be called with the byte length of chunks as a file is added to ipfs. - `onlyHash` (boolean, defaults to false): Only chunk and hash - do not write to disk - `hashAlg` (string): multihash hashing algorithm to use -- `cidVersion` (integer, default 0): the CID version to use when storing the data (storage keys are based on the CID, _including_ it's version) +- `cidVersion` (integer, default 0): the CID version to use when storing the data (storage keys are based on the CID, *including* it's version) - `rawLeaves` (boolean, defaults to false): When a file would span multiple DAGNodes, if this is true the leaf nodes will not be wrapped in `UnixFS` protobufs and will instead contain the raw file bytes - `leafType` (string, defaults to `'file'`) what type of UnixFS node leaves should be - can be `'file'` or `'raw'` (ignored when `rawLeaves` is `true`) - `blockWriteConcurrency` (positive integer, defaults to 10) How many blocks to hash and write to the block store concurrently. For small numbers of large files this should be high (e.g. 50). @@ -166,8 +168,11 @@ Several aspects of the importer are overridable by specifying functions as part - It should yield an object with the properties `{ cid, path, unixfs, size }` where `cid` is a `CID`, `path` is a string, `unixfs` is a UnixFS entry and `size` is a `Number`. [blockstore]: https://github.com/ipfs/js-ipfs-interfaces/tree/master/packages/interface-blockstore#readme + [UnixFS]: https://github.com/ipfs/specs/tree/master/unixfs + [IPLD]: https://github.com/ipld/js-ipld + [CID]: https://github.com/multiformats/js-cid ## Contribute @@ -180,4 +185,15 @@ This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/c ## License -[MIT](LICENSE) +Licensed under either of + +- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / ) +- MIT ([LICENSE-MIT](LICENSE-MIT) / ) + +## Contribute + +Feel free to join in. All welcome. Open an [issue](https://github.com/ipfs/js-ipfs-unixfs-importer/issues)! + +This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). + +[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) diff --git a/packages/ipfs-unixfs-importer/package.json b/packages/ipfs-unixfs-importer/package.json index 44e359c5..6388cbe0 100644 --- a/packages/ipfs-unixfs-importer/package.json +++ b/packages/ipfs-unixfs-importer/package.json @@ -19,15 +19,32 @@ "npm": ">=7.0.0" }, "type": "module", - "types": "types/src/index.d.ts", + "types": "./dist/src/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ], + "src/*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ] + } + }, "files": [ - "*", - "!**/*.tsbuildinfo", - "!**/browser-test", - "!**/node-test" + "src", + "dist", + "!dist/test", + "!**/*.tsbuildinfo" ], "exports": { ".": { + "types": "./dist/src/index.d.ts", "import": "./src/index.js" } }, @@ -64,15 +81,15 @@ "release": "patch" }, { - "type": "chore", + "type": "docs", "release": "patch" }, { - "type": "docs", + "type": "test", "release": "patch" }, { - "type": "test", + "type": "deps", "release": "patch" }, { @@ -102,7 +119,11 @@ }, { "type": "docs", - "section": "Trivial Changes" + "section": "Documentation" + }, + { + "type": "deps", + "section": "Dependencies" }, { "type": "test", @@ -113,29 +134,21 @@ } ], "@semantic-release/changelog", - [ - "@semantic-release/npm", - { - "pkgRoot": "dist" - } - ], + "@semantic-release/npm", "@semantic-release/github", "@semantic-release/git" ] }, "scripts": { - "prepare": "aegir build --no-bundle && cp -R types dist", - "pretest": "aegir build --esm-tests", "test": "aegir test", "test:node": "aegir test -t node --cov", "test:chrome": "aegir test -t browser --cov", "test:firefox": "aegir test -t browser -- --browser firefox", - "build": "aegir build && cp -R types dist", - "preleaseOnly": "npx json -I -f dist/package.json -e this.types='\"src/index.d.ts\"'", - "clean": "rimraf ./dist ./types", - "lint": "aegir ts -p check && aegir lint", - "dep-check": "aegir dep-check -i rimraf -i copy -i util -i crypto-browserify -i events -i readable-stream -i assert -i interface-blockstore", - "release": "semantic-release" + "build": "aegir build", + "clean": "aegir clean", + "lint": "aegir lint", + "dep-check": "aegir dep-check -i interface-blockstore", + "release": "aegir release" }, "dependencies": { "@ipld/dag-pb": "^2.0.2", @@ -155,23 +168,13 @@ "uint8arrays": "^3.0.0" }, "devDependencies": { - "aegir": "^36.2.3", + "aegir": "^37.5.0", "assert": "^2.0.0", "blockstore-core": "^1.0.5", - "copy": "^0.3.2", - "crypto-browserify": "^3.12.0", - "events": "^3.3.0", "it-buffer-stream": "^2.0.0", - "readable-stream": "^3.6.0", - "rimraf": "^3.0.2", - "util": "^0.12.3", "wherearewe": "^1.0.0" }, "browser": { "fs": false - }, - "main": "src/index.js", - "publishConfig": { - "directory": "dist" } } diff --git a/packages/ipfs-unixfs-importer/test/builder-balanced.spec.js b/packages/ipfs-unixfs-importer/test/builder-balanced.spec.js index 8403ea30..dc9d5ba6 100644 --- a/packages/ipfs-unixfs-importer/test/builder-balanced.spec.js +++ b/packages/ipfs-unixfs-importer/test/builder-balanced.spec.js @@ -1,5 +1,5 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import builder from '../src/dag-builder/file/balanced.js' import { CID } from 'multiformats/cid' import defaultOptions from '../src/options.js' diff --git a/packages/ipfs-unixfs-importer/test/builder-flat.spec.js b/packages/ipfs-unixfs-importer/test/builder-flat.spec.js index 032ada55..0a95bc48 100644 --- a/packages/ipfs-unixfs-importer/test/builder-flat.spec.js +++ b/packages/ipfs-unixfs-importer/test/builder-flat.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import builder from '../src/dag-builder/file/flat.js' /** diff --git a/packages/ipfs-unixfs-importer/test/builder-only-hash.spec.js b/packages/ipfs-unixfs-importer/test/builder-only-hash.spec.js index b5dd9167..f10a78b6 100644 --- a/packages/ipfs-unixfs-importer/test/builder-only-hash.spec.js +++ b/packages/ipfs-unixfs-importer/test/builder-only-hash.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import builder from '../src/dag-builder/index.js' import all from 'it-all' import blockApi from './helpers/block.js' diff --git a/packages/ipfs-unixfs-importer/test/builder-trickle-dag.spec.js b/packages/ipfs-unixfs-importer/test/builder-trickle-dag.spec.js index f0adf6d4..1b68db12 100644 --- a/packages/ipfs-unixfs-importer/test/builder-trickle-dag.spec.js +++ b/packages/ipfs-unixfs-importer/test/builder-trickle-dag.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import builder from '../src/dag-builder/file/trickle.js' import asAsyncIterable from './helpers/as-async-iterable.js' diff --git a/packages/ipfs-unixfs-importer/test/builder.spec.js b/packages/ipfs-unixfs-importer/test/builder.spec.js index f2ea3370..f39fb794 100644 --- a/packages/ipfs-unixfs-importer/test/builder.spec.js +++ b/packages/ipfs-unixfs-importer/test/builder.spec.js @@ -1,5 +1,5 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import * as mh from 'multiformats/hashes/digest' import { sha256, sha512 } from 'multiformats/hashes/sha2' import { decode } from '@ipld/dag-pb' diff --git a/packages/ipfs-unixfs-importer/test/chunker-custom.spec.js b/packages/ipfs-unixfs-importer/test/chunker-custom.spec.js index 55d6d833..96666dfd 100644 --- a/packages/ipfs-unixfs-importer/test/chunker-custom.spec.js +++ b/packages/ipfs-unixfs-importer/test/chunker-custom.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ import { importer } from '../src/index.js' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import * as rawCodec from 'multiformats/codecs/raw' import { sha256 } from 'multiformats/hashes/sha2' diff --git a/packages/ipfs-unixfs-importer/test/chunker-fixed-size.spec.js b/packages/ipfs-unixfs-importer/test/chunker-fixed-size.spec.js index ab446a3e..cab1bc0c 100644 --- a/packages/ipfs-unixfs-importer/test/chunker-fixed-size.spec.js +++ b/packages/ipfs-unixfs-importer/test/chunker-fixed-size.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ import chunker from '../src/chunker/fixed-size.js' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import all from 'it-all' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' import { concat as uint8ArrayConcat } from 'uint8arrays/concat' diff --git a/packages/ipfs-unixfs-importer/test/chunker-rabin.spec.js b/packages/ipfs-unixfs-importer/test/chunker-rabin.spec.js index e10e85f0..d6f779f5 100644 --- a/packages/ipfs-unixfs-importer/test/chunker-rabin.spec.js +++ b/packages/ipfs-unixfs-importer/test/chunker-rabin.spec.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ import chunker from '../src/chunker/rabin.js' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import all from 'it-all' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' import { concat as uint8ArrayConcat } from 'uint8arrays/concat' diff --git a/packages/ipfs-unixfs-importer/test/hash-parity-with-go-ipfs.spec.js b/packages/ipfs-unixfs-importer/test/hash-parity-with-go-ipfs.spec.js index 3cc2c5f7..e8eb1ec2 100644 --- a/packages/ipfs-unixfs-importer/test/hash-parity-with-go-ipfs.spec.js +++ b/packages/ipfs-unixfs-importer/test/hash-parity-with-go-ipfs.spec.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ import { importer } from '../src/index.js' -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import randomByteStream from './helpers/finite-pseudorandom-byte-stream.js' import first from 'it-first' import blockApi from './helpers/block.js' diff --git a/packages/ipfs-unixfs-importer/test/utils.spec.js b/packages/ipfs-unixfs-importer/test/utils.spec.js index 3943bae6..58a9b9d3 100644 --- a/packages/ipfs-unixfs-importer/test/utils.spec.js +++ b/packages/ipfs-unixfs-importer/test/utils.spec.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' import toPathComponents from '../src/utils/to-path-components.js' describe('toPathComponents', () => { diff --git a/packages/ipfs-unixfs-importer/tsconfig.json b/packages/ipfs-unixfs-importer/tsconfig.json index c69a39ac..6655a440 100644 --- a/packages/ipfs-unixfs-importer/tsconfig.json +++ b/packages/ipfs-unixfs-importer/tsconfig.json @@ -1,18 +1,13 @@ { "extends": "aegir/src/config/tsconfig.aegir.json", "compilerOptions": { - "outDir": "types", - "module": "es2020", - "importsNotUsedAsValues": "preserve" + "outDir": "dist", + "emitDeclarationOnly": true }, "include": [ "src", "test" ], - "exclude": [ - "dist", - "node_modules" - ], "references": [ { "path": "../ipfs-unixfs" diff --git a/packages/ipfs-unixfs/.aegir.cjs b/packages/ipfs-unixfs/.aegir.js similarity index 58% rename from packages/ipfs-unixfs/.aegir.cjs rename to packages/ipfs-unixfs/.aegir.js index 6622ba0a..e2cfcdb4 100644 --- a/packages/ipfs-unixfs/.aegir.cjs +++ b/packages/ipfs-unixfs/.aegir.js @@ -1,11 +1,7 @@ -'use strict' /** @type {import('aegir').PartialOptions} */ -module.exports = { +export default { build: { bundlesizeMax: '11KB' - }, - ts: { - copyTo: 'types' } } diff --git a/packages/ipfs-unixfs/README.md b/packages/ipfs-unixfs/README.md index 2b2b759f..5dd27577 100644 --- a/packages/ipfs-unixfs/README.md +++ b/packages/ipfs-unixfs/README.md @@ -1,23 +1,17 @@ -# ipfs-unixfs JavaScript Implementation +# ipfs-unixfs -[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) -[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io/) -[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) -[![Build Status](https://flat.badgen.net/travis/ipfs/js-ipfs-unixfs)](https://travis-ci.com/ipfs/js-ipfs-unixfs) -[![Codecov](https://codecov.io/gh/ipfs/js-ipfs-unixfs/branch/master/graph/badge.svg)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![ipfs.io](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://ipfs.io) +[![IRC](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) +[![Discord](https://img.shields.io/discord/806902334369824788?style=flat-square)](https://discord.gg/ipfs) +[![codecov](https://img.shields.io/codecov/c/github/ipfs/js-ipfs-unixfs.svg?style=flat-square)](https://codecov.io/gh/ipfs/js-ipfs-unixfs) +[![CI](https://img.shields.io/github/workflow/status/ipfs/js-ipfs-unixfs/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipfs/js-ipfs-unixfs/actions/workflows/js-test-and-release.yml) -> JavaScript implementation of IPFS' UnixFS (a Unix FileSystem files representation on top of a MerkleDAG) +> JavaScript implementation of IPFS' unixfs (a Unix FileSystem representation on top of a MerkleDAG) -The UnixFS spec can be found inside the [ipfs/specs repository](http://github.com/ipfs/specs) - -## Lead Maintainer - -[Alex Potsides](https://github.com/achingbrain) - -## Table of Contents +## Table of contents - [Install](#install) - - [npm](#npm) +- [Lead Maintainer ](#lead-maintainer----omit-in-toc---) - [Use in Node.js](#use-in-nodejs) - [Use in a browser with browserify, webpack or any other bundler](#use-in-a-browser-with-browserify-webpack-or-any-other-bundler) - [Use in a browser Using a script tag](#use-in-a-browser-using-a-script-tag) @@ -26,7 +20,7 @@ The UnixFS spec can be found inside the [ipfs/specs repository](http://github.co - [Create a file composed by several blocks](#create-a-file-composed-by-several-blocks) - [Create a directory that contains several files](#create-a-directory-that-contains-several-files) - [API](#api) - - [UnixFS Data Structure](#unixfs-data-structure) + - - [UnixFS Data Structure](#unixfs-data-structure) - [create an unixfs Data element](#create-an-unixfs-data-element) - [add and remove a block size to the block size list](#add-and-remove-a-block-size-to-the-block-size-list) - [get total fileSize](#get-total-filesize) @@ -35,10 +29,19 @@ The UnixFS spec can be found inside the [ipfs/specs repository](http://github.co - [has an mtime been set?](#has-an-mtime-been-set) - [Contribute](#contribute) - [License](#license) +- [Contribute](#contribute-1) ## Install -### npm +```console +$ npm i ipfs-unixfs +``` + +The UnixFS spec can be found inside the [ipfs/specs repository](http://github.com/ipfs/specs) + +## Lead Maintainer + +[Alex Potsides](https://github.com/achingbrain) ```sh > npm i ipfs-unixfs @@ -203,4 +206,15 @@ This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/c ## License -[MIT](LICENSE) +Licensed under either of + +- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / ) +- MIT ([LICENSE-MIT](LICENSE-MIT) / ) + +## Contribute + +Feel free to join in. All welcome. Open an [issue](https://github.com/ipfs/js-ipfs-unixfs-importer/issues)! + +This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). + +[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md) diff --git a/packages/ipfs-unixfs/package.json b/packages/ipfs-unixfs/package.json index 1fa42d8d..54d69430 100644 --- a/packages/ipfs-unixfs/package.json +++ b/packages/ipfs-unixfs/package.json @@ -19,15 +19,32 @@ "npm": ">=7.0.0" }, "type": "module", - "types": "types/src/index.d.ts", + "types": "./dist/src/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ], + "src/*": [ + "*", + "dist/*", + "dist/src/*", + "dist/src/*/index" + ] + } + }, "files": [ - "*", - "!**/*.tsbuildinfo", - "!**/browser-test", - "!**/node-test" + "src", + "dist", + "!dist/test", + "!**/*.tsbuildinfo" ], "exports": { ".": { + "types": "./dist/src/index.d.ts", "import": "./src/index.js" } }, @@ -67,15 +84,15 @@ "release": "patch" }, { - "type": "chore", + "type": "docs", "release": "patch" }, { - "type": "docs", + "type": "test", "release": "patch" }, { - "type": "test", + "type": "deps", "release": "patch" }, { @@ -105,7 +122,11 @@ }, { "type": "docs", - "section": "Trivial Changes" + "section": "Documentation" + }, + { + "type": "deps", + "section": "Dependencies" }, { "type": "test", @@ -116,48 +137,35 @@ } ], "@semantic-release/changelog", - [ - "@semantic-release/npm", - { - "pkgRoot": "dist" - } - ], + "@semantic-release/npm", "@semantic-release/github", "@semantic-release/git" ] }, "scripts": { - "prepare": "aegir build --no-bundle && cp -R types dist", - "prepare:proto": "pbjs -t static-module -w es6 -r ipfs-unixfs --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/unixfs.js ./src/unixfs.proto", - "prepare:proto-types": "pbts -o src/unixfs.d.ts src/unixfs.js", - "pretest": "aegir build --esm-tests", + "generate": "npm run generate:proto && generate:proto-types", + "generate:proto": "pbjs -t static-module -w es6 -r ipfs-unixfs --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/unixfs.js ./src/unixfs.proto", + "generate:proto-types": "pbts -o src/unixfs.d.ts src/unixfs.js", "test": "aegir test", "test:node": "aegir test -t node --cov", "test:chrome": "aegir test -t browser --cov", "test:firefox": "aegir test -t browser -- --browser firefox", - "build": "aegir build && cp -R types dist", - "clean": "rimraf ./dist ./types", - "lint": "aegir ts -p check && aegir lint", - "dep-check": "aegir dep-check -i mkdirp -i npm-run-all -i copy -i util", - "release": "semantic-release" + "build": "aegir build", + "clean": "aegir clean", + "lint": "aegir lint", + "dep-check": "aegir dep-check", + "release": "aegir release" }, "dependencies": { "err-code": "^3.0.1", - "protobufjs": "^6.10.2" + "protobufjs": "^7.0.0" }, "devDependencies": { - "aegir": "^36.2.3", - "copy": "^0.3.2", - "mkdirp": "^1.0.4", - "npm-run-all": "^4.1.5", - "uint8arrays": "^3.0.0", - "util": "^0.12.3" + "aegir": "^37.5.0", + "protobufjs-cli": "^1.0.0", + "uint8arrays": "^3.0.0" }, "browser": { "fs": false - }, - "main": "src/index.js", - "publishConfig": { - "directory": "dist" } } diff --git a/packages/ipfs-unixfs/test/unixfs-format.spec.js b/packages/ipfs-unixfs/test/unixfs-format.spec.js index 1dbca2c1..19e2c06b 100644 --- a/packages/ipfs-unixfs/test/unixfs-format.spec.js +++ b/packages/ipfs-unixfs/test/unixfs-format.spec.js @@ -1,9 +1,9 @@ /* eslint-env mocha */ -import { expect } from 'aegir/utils/chai.js' +import { expect } from 'aegir/chai' /** @type {(path: string) => Uint8Array} */ -import loadFixture from 'aegir/utils/fixtures.js' +import loadFixture from 'aegir/fixtures' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' import { UnixFS } from '../src/index.js' diff --git a/packages/ipfs-unixfs/tsconfig.json b/packages/ipfs-unixfs/tsconfig.json index 7c8a6394..e429c4a3 100644 --- a/packages/ipfs-unixfs/tsconfig.json +++ b/packages/ipfs-unixfs/tsconfig.json @@ -1,15 +1,14 @@ { "extends": "aegir/src/config/tsconfig.aegir.json", "compilerOptions": { - "outDir": "types" + "outDir": "dist", + "emitDeclarationOnly": true }, "include": [ "src", "test" ], "exclude": [ - "dist", - "node_modules", "src/unixfs.js" ] } From 50a7607d1876dab0b34dfe79704688f01ce1d449 Mon Sep 17 00:00:00 2001 From: Alex Potsides Date: Thu, 11 Aug 2022 15:04:42 +0100 Subject: [PATCH 09/10] deps: update hamt-sharding to 3.0.0 (#244) --- packages/ipfs-unixfs-exporter/package.json | 2 +- packages/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.js | 2 +- packages/ipfs-unixfs-importer/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ipfs-unixfs-exporter/package.json b/packages/ipfs-unixfs-exporter/package.json index 31198e57..497b5917 100644 --- a/packages/ipfs-unixfs-exporter/package.json +++ b/packages/ipfs-unixfs-exporter/package.json @@ -155,7 +155,7 @@ "@ipld/dag-pb": "^2.0.2", "@multiformats/murmur3": "^1.0.3", "err-code": "^3.0.1", - "hamt-sharding": "^2.0.0", + "hamt-sharding": "^3.0.0", "interface-blockstore": "^2.0.3", "ipfs-unixfs": "^6.0.0", "it-last": "^1.0.5", diff --git a/packages/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.js b/packages/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.js index 6945690c..c3a38322 100644 --- a/packages/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.js +++ b/packages/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.js @@ -63,7 +63,7 @@ const toPrefix = (position) => { } /** - * @param {import('hamt-sharding').Bucket.BucketPosition} position + * @param {import('hamt-sharding').BucketPosition} position */ const toBucketPath = (position) => { let bucket = position.bucket diff --git a/packages/ipfs-unixfs-importer/package.json b/packages/ipfs-unixfs-importer/package.json index 6388cbe0..ab3c5e4c 100644 --- a/packages/ipfs-unixfs-importer/package.json +++ b/packages/ipfs-unixfs-importer/package.json @@ -155,7 +155,7 @@ "@multiformats/murmur3": "^1.0.3", "bl": "^5.0.0", "err-code": "^3.0.1", - "hamt-sharding": "^2.0.0", + "hamt-sharding": "^3.0.0", "interface-blockstore": "^2.0.3", "ipfs-unixfs": "^6.0.0", "it-all": "^1.0.5", From 0316760b74c300dc9a46e5d09f98b27f285b1065 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 11 Aug 2022 14:13:19 +0000 Subject: [PATCH 10/10] chore(release): 7.0.0 [skip ci] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## [ipfs-unixfs-v7.0.0](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-v6.0.9...ipfs-unixfs-v7.0.0) (2022-08-11) ### ⚠ BREAKING CHANGES * This module used to be dual published as CJS/ESM, now it is just ESM ### Dependencies * update aegir to 37.x.x ([#243](https://github.com/ipfs/js-ipfs-unixfs/issues/243)) ([9fccb7c](https://github.com/ipfs/js-ipfs-unixfs/commit/9fccb7c4bf989c052ba67ab2c9280273aecfda36)) --- packages/ipfs-unixfs/CHANGELOG.md | 11 +++++++++++ packages/ipfs-unixfs/package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/ipfs-unixfs/CHANGELOG.md b/packages/ipfs-unixfs/CHANGELOG.md index 84497cb9..3f189399 100644 --- a/packages/ipfs-unixfs/CHANGELOG.md +++ b/packages/ipfs-unixfs/CHANGELOG.md @@ -1,3 +1,14 @@ +## [ipfs-unixfs-v7.0.0](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-v6.0.9...ipfs-unixfs-v7.0.0) (2022-08-11) + + +### ⚠ BREAKING CHANGES + +* This module used to be dual published as CJS/ESM, now it is just ESM + +### Dependencies + +* update aegir to 37.x.x ([#243](https://github.com/ipfs/js-ipfs-unixfs/issues/243)) ([9fccb7c](https://github.com/ipfs/js-ipfs-unixfs/commit/9fccb7c4bf989c052ba67ab2c9280273aecfda36)) + ## [ipfs-unixfs-v6.0.9](https://github.com/ipfs/js-ipfs-unixfs/compare/ipfs-unixfs-v6.0.8...ipfs-unixfs-v6.0.9) (2022-05-27) diff --git a/packages/ipfs-unixfs/package.json b/packages/ipfs-unixfs/package.json index 54d69430..7d4cba42 100644 --- a/packages/ipfs-unixfs/package.json +++ b/packages/ipfs-unixfs/package.json @@ -1,6 +1,6 @@ { "name": "ipfs-unixfs", - "version": "6.0.6", + "version": "7.0.0", "description": "JavaScript implementation of IPFS' unixfs (a Unix FileSystem representation on top of a MerkleDAG)", "license": "Apache-2.0 OR MIT", "homepage": "https://github.com/ipfs/js-ipfs-unixfs/tree/master/packages/ipfs-unixfs#readme",