Skip to content

Commit

Permalink
feat: add w3up-client at /packages/w3up-client (#653)
Browse files Browse the repository at this point in the history
Motivation:
* #648
* e.g. so we can iterate on w3up-client and its dependencies like
`@web3-storage/access/agent` at the same time within the workspace (and
modifying tests/types) without having to release anything. We can only
do releases once we are sure that everything in the monorepo (now incl
w3up-client) works together to accomplish a useful goal
* round 2, this time not using `git subtree add`
#649 (comment)

How
* [x] this git technique: https://stackoverflow.com/a/20974621 (via
[this tip](https://github.com/web3-storage/w3protocol
/pull/649#pullrequestreview-1358869478))
* [x] add `@web3-storage/w3up-client` to release-please-config
* [x] add latest npm release for w3up-client to this monorepo's
[release-please-config following release-please 'initial version'
docs](https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md#initial-version)
* [x] w3protocol monorepo github workflows call appropriate w3up-client
workflows
* [x] on push/pr, do w3up-client build and test
f9b8e65#diff-eefdf870850494ad962a679c802b7733805b6996d8f1c6a992ae8760a366f82eR16
* [x] on commit to main branch do release-please-action to prepare a
release-please pr for w3up-client publishing to npm
* @gobengo: I believe this will happen via unified
[`/.github/workflow/release.yml`](https://github.com/web3-storage/w3protocol/blob/main/.github/workflows/release.yml#L15)
workflow, since I added w3up-client to release-please-config and
manifest
* [x] when w3up-client release-please pr is merged, release
`@web3-storage/w3up-client` to
https://www.npmjs.com/package/@web3-storage/w3up-client
* should happen [via
release.yml](2f8ae22#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R39)
* [x] [add w3up-client to monorepo root docs
build](2f8ae22#diff-b55cdbef4907b7045f32cc5360d48d262cca5f94062e353089f189f4460039e0R42)
* [x] ensure w3up-client has intra-monorepo dependencies set up [using
`workspace:`
protocol](https://pnpm.io/workspaces#workspace-protocol-workspace) and
similar use of tsconfig.json [project
references](8b87fcc#diff-78dc2f52fc9c2ed3593f53799153a338a7f20eb6f16309a1175fbfcbae270118R49)
* [x] w3up-client tsconfig extends monorepo root

Unblocks:
* add "./test" to tsconfig.json in w3up-client to type check the tests
like the rest of packages in this monorepo
  * based on https://github.com/web3-storage/w3up-client/issues/96

---------

Co-authored-by: ice.breaker <ice.breaker@trigram.co>
Co-authored-by: Yusef Napora <yusef@napora.org>
Co-authored-by: ice.breaker <94936890+ice-breaker-tg@users.noreply.github.com>
Co-authored-by: Jesse Harlin <harlinjesse@gmail.com>
Co-authored-by: Daniel <daniel.ashcraft@ofashandfire.com>
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com>
Co-authored-by: Hugo Dias <hugomrdias@gmail.com>
Co-authored-by: Irakli Gozalishvili <contact@gozala.io>
Co-authored-by: David Choi <dchoi27@gmail.com>
Co-authored-by: Alan Shaw <alan.shaw@protocol.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yusef Napora <yusef@protocol.ai>
Co-authored-by: Travis Vachon <travis.vachon@gmail.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
  • Loading branch information
15 people authored Mar 28, 2023
1 parent c6c6ccc commit 7129181
Show file tree
Hide file tree
Showing 42 changed files with 3,178 additions and 73 deletions.
3 changes: 2 additions & 1 deletion .github/release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"packages/access-api": {},
"packages/capabilities": {},
"packages/upload-api": {},
"packages/upload-client": {}
"packages/upload-client": {},
"packages/w3up-client": {}
}
}
3 changes: 2 additions & 1 deletion .github/release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"packages/access-api": "5.2.1",
"packages/capabilities": "4.0.1",
"packages/upload-api": "2.0.0",
"packages/upload-client": "8.1.0"
"packages/upload-client": "8.1.0",
"packages/w3up-client": "5.1.0"
}
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ jobs:
contains(fromJson(needs.release.outputs.paths_released), 'packages/access-client') ||
contains(fromJson(needs.release.outputs.paths_released), 'packages/capabilities') ||
contains(fromJson(needs.release.outputs.paths_released), 'packages/upload-client') ||
contains(fromJson(needs.release.outputs.paths_released), 'packages/upload-api')
contains(fromJson(needs.release.outputs.paths_released), 'packages/upload-api') ||
contains(fromJson(needs.release.outputs.paths_released), 'packages/w3up-client')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/w3up-client.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: w3up-client
on:
push:
branches:
- main
paths:
- 'packages/w3up-client/**'
- '.github/workflows/w3up-client.yml'
- 'pnpm-lock.yaml'
pull_request:
paths:
- 'packages/w3up-client/**'
- '.github/workflows/w3up-client.yml'
- 'pnpm-lock.yaml'
jobs:
test:
name: Test
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./packages/w3up-client
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install
uses: pnpm/action-setup@v2.2.3
with:
version: 7
- name: Setup
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: https://registry.npmjs.org/
cache: 'pnpm'
- run: pnpm --filter '@web3-storage/w3up-client...' install
- uses: ./packages/w3up-client/.github/actions/test
with:
w3up-client-dir: ./packages/w3up-client/
2 changes: 1 addition & 1 deletion packages/access-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"@web3-storage/access": "workspace:^",
"@web3-storage/capabilities": "workspace:^",
"@web3-storage/worker-utils": "0.4.3-dev",
"dotenv": "^16.0.3",
"kysely": "^0.23.4",
"kysely-d1": "^0.3.0",
"multiformats": "^11.0.2",
Expand All @@ -53,7 +54,6 @@
"@ucanto/client": "^5.1.0",
"better-sqlite3": "8.0.1",
"buffer": "^6.0.3",
"dotenv": "^16.0.3",
"esbuild": "^0.17.2",
"git-rev-sync": "^3.0.2",
"hd-scripts": "^4.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/upload-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
"@ucanto/server": "^6.1.0",
"assert": "^2.0.0",
"blockstore-core": "^3.0.0",
"c8": "^7.12.0",
"c8": "^7.13.0",
"hd-scripts": "^4.0.0",
"hundreds": "^0.0.9",
"ipfs-unixfs-exporter": "^10.0.0",
Expand Down
18 changes: 18 additions & 0 deletions packages/w3up-client/.github/actions/test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Test
description: 'test'

# install npm dependencies (e.g. via `npm` or monorepo `pnpm`) before invoking this action to run tests

inputs:
w3up-client-dir:
description: 'path to directory of w3up-client package'

runs:
using: "composite"
steps:
- run: npm run lint
shell: bash
working-directory: ${{ inputs.w3up-client-dir }}
- run: npm test
shell: bash
working-directory: ${{ inputs.w3up-client-dir }}
5 changes: 5 additions & 0 deletions packages/w3up-client/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
dist
coverage
docs
docs-generated
97 changes: 97 additions & 0 deletions packages/w3up-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Changelog

## [5.1.0](https://github.com/web3-storage/w3up-client/compare/v5.0.0...v5.1.0) (2023-03-24)


### Features

* updated README instructions for MVP ([#85](https://github.com/web3-storage/w3up-client/issues/85)) ([0d0a038](https://github.com/web3-storage/w3up-client/commit/0d0a0389f0b6b29c843d5b28c3ea2d840d38120f))

## [5.0.0](https://github.com/web3-storage/w3up-client/compare/v4.3.0...v5.0.0) (2023-03-23)


### ⚠ BREAKING CHANGES

* updated access client dep ([#89](https://github.com/web3-storage/w3up-client/issues/89))

### Features

* add HAMT sharded directories support ([#87](https://github.com/web3-storage/w3up-client/issues/87)) ([a6673e9](https://github.com/web3-storage/w3up-client/commit/a6673e98f51dc1dc93e5e40ea752a5c10e46c159))
* updated access client dep ([#89](https://github.com/web3-storage/w3up-client/issues/89)) ([35f3964](https://github.com/web3-storage/w3up-client/commit/35f39640a62eaf9a2e6a81632e32cf1851d640b4))

## [4.3.0](https://github.com/web3-storage/w3up-client/compare/v4.2.0...v4.3.0) (2023-03-21)


### Features

* add authorize to client, register no longer needs email ([c9555d9](https://github.com/web3-storage/w3up-client/commit/c9555d92edb1ded9c7db81efcdd2c83331b52106))
* expose connection id did and add email back to registerSpace ([ee1cf3a](https://github.com/web3-storage/w3up-client/commit/ee1cf3a30a79a98c21f2e897d6a26e443b41390f))
* use new claimDelegations "use case" ([1659786](https://github.com/web3-storage/w3up-client/commit/1659786fd79da6292d3605c1ca09b80d94ac83ca))


### Bug Fixes

* back to 100% test coverage ([5ae7f1e](https://github.com/web3-storage/w3up-client/commit/5ae7f1e1d19f7eb95b13ed3bc491fc99e51296d0))
* keep casting defaultProvider() ([7b8c859](https://github.com/web3-storage/w3up-client/commit/7b8c8594abd1665b0c0061ab2eef233d6a0b6cdf))
* pass registerSpace default provider inferred from connection ([224f818](https://github.com/web3-storage/w3up-client/commit/224f818f45b3fa4778a659c4f95124c92534c354))
* typos ([52c648a](https://github.com/web3-storage/w3up-client/commit/52c648a525466e1d6e0619ed4ab663164a9b6a9d))
* typos ([52c648a](https://github.com/web3-storage/w3up-client/commit/52c648a525466e1d6e0619ed4ab663164a9b6a9d))
* update package-lock ([6aa7c47](https://github.com/web3-storage/w3up-client/commit/6aa7c4785ae2bc49039c326e02d1fd042460b83d))
* use released packages to green the build ([05881fc](https://github.com/web3-storage/w3up-client/commit/05881fce652a1bc964937bec9c0cdd20aa2204b2))
* warnings about uploads being public/permanent ([187228a](https://github.com/web3-storage/w3up-client/commit/187228a828ff357f3d1083738673c6a502f2aff9))

## [4.2.0](https://github.com/web3-storage/w3up-client/compare/v4.1.0...v4.2.0) (2023-02-15)


### Features

* update to latest dependencies ([f4da59e](https://github.com/web3-storage/w3up-client/commit/f4da59ec10d8f7e96857998d34672d8848652445))

## [4.1.0](https://github.com/web3-storage/w3up-client/compare/v4.0.1...v4.1.0) (2023-01-11)


### Features

* add CAR upload method ([#72](https://github.com/web3-storage/w3up-client/issues/72)) ([8b31255](https://github.com/web3-storage/w3up-client/commit/8b31255521e6fd875fe043b9c09b347759ebf315))

## [4.0.1](https://github.com/web3-storage/w3up-client/compare/v4.0.0...v4.0.1) (2022-12-14)


### Bug Fixes

* prod access service DID ([67a5d4c](https://github.com/web3-storage/w3up-client/commit/67a5d4c77eb054f5e0075137e77daed3337f35d2))

## [4.0.0](https://github.com/web3-storage/w3up-client/compare/v3.2.0...v4.0.0) (2022-12-14)


### ⚠ BREAKING CHANGES

* The client has been re-written as a wrapper around [access-client](https://www.npmjs.com/package/@web3-storage/access) and [upload-client](https://www.npmjs.com/package/@web3-storage/upload-client) and the API has changed.

Migration notes:

* `client.account()` has been removed, use `client.currentSpace()`
* `client.exportDelegation()` has been removed, use `client.createDelegation()` and then call `export()` on the returned value and encode the returned blocks as a CAR file using the [`@ipld/car`](https://www.npmjs.com/package/@ipld/car) library.
* `client.identity()` has been removed, use `client.agent()` + `client.currentSpace()` + `client.delegations()`
* `client.importDelegation()` has been removed, use `client.addProof()` (for general delegations to your agent) or `client.addSpace()` (to add a proof and _also_ add the space to your list of spaces).
* `client.insights()` has been removed - this was never working
* `client.invoke()` has been removed
* `client.list()` has been removed, use `client.capability.upload.list()`
* `client.makeDelegation()` has been renamed and signature has changed, use `client.createDelegation()`
* `client.register()` has been removed, use `client.registerSpace()`
* `client.remove()` has been removed, use `client.capability.store.remove()`
* `client.removeUpload()` has been removed, use `client.capability.upload.remove()`
* `client.stat()` has been removed, use `client.capability.store.list()`
* `client.upload()` has been removed, use `client.capability.store.add()`
* `client.uploadAdd()` has been removed, use `client.capability.upload.add()`
* `client.whoami()` has been removed, use `client.capability.space.info()`

### Features

* consume upload and access client ([#58](https://github.com/web3-storage/w3up-client/issues/58)) ([7bd91d5](https://github.com/web3-storage/w3up-client/commit/7bd91d59da2b961a4227d9c062e74169e645a0bc))


### Bug Fixes

* release please package name ([3d00586](https://github.com/web3-storage/w3up-client/commit/3d0058658d4a0e819b2da49c7cea3d084b8bba1b))
* remove pnpm reference from deploy-docs workflow ([6807f5d](https://github.com/web3-storage/w3up-client/commit/6807f5d91366e24ffe28d3177540549efbf808ca))
Loading

0 comments on commit 7129181

Please sign in to comment.