Page MenuHomePhabricator

[chronik-client] Add existing package to the monorepo as-is
ClosedPublic

Authored by bytesofman on Apr 25 2023, 13:35.

Details

Summary

Adding chronik-client to the monorepo as a preliminary step before adding mock-chronik-client into its codebase.

mock-chronik-client and chronik-client should exist in the same repo because both will need to be modified at the same time as new features are added.

Also, as chronik becomes more critical to the eCash infra stack, its tools should be maintained in the monorepo.

Test Plan

This diff was created by cloning https://github.com/givelotus/bitcoinsuite/tree/master/chronik-client into the modules/ folder of the monorepo. Review to confirm nothing obvious needs to be removed. Otherwise, monorepo functionality like linting, unit test ci, etc will be added later.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Is the client up to date wrt the node chronik variant (and not the nng one) ?

modules/chronik-client/.gitignore
3 ↗(On Diff #39927)

we don't use yarn

4 ↗(On Diff #39927)

why ? is that generated ?

modules/chronik-client/.prettierrc.json
7 ↗(On Diff #39927)

This file is not needed. When this will be linted it will use the config from the monorepo

modules/chronik-client/README.md
9 ↗(On Diff #39927)

This can be cleaned later

modules/chronik-client/typedoc.json
3 ↗(On Diff #39927)

What does this file do ?

Fabien requested changes to this revision.Apr 25 2023, 15:22
This revision now requires changes to proceed.Apr 25 2023, 15:22

Is the client up to date wrt the node chronik variant (and not the nng one) ?

I don't know. I would assume that it is not. However, there is no more up-to-date version of this available at the moment, so it would make sense to put this in the monorepo and add those improvements here.

Is the client up to date wrt the node chronik variant (and not the nng one) ?

I don't know. I would assume that it is not. However, there is no more up-to-date version of this available at the moment, so it would make sense to put this in the monorepo and add those improvements here.

If we do so, would that break cashtab ,the explorer, the alias server etc. ?

bytesofman marked 4 inline comments as done.

Remove yarn from .gitignore, add package-lock.json

modules/chronik-client/.gitignore
4 ↗(On Diff #39927)

yes, generated by npm run build-docs

modules/chronik-client/README.md
9 ↗(On Diff #39927)

In this case, the README is documentation for a user installing this package -- so they may be using yarn or npm

modules/chronik-client/typedoc.json
3 ↗(On Diff #39927)

These are settings for the dev dependency used to generate the documentation.

https://typedoc.org/guides/installation/#typedoc.json

I don't immediately see what the excludePrivate boolean does, but I would guess that it excludes private methods from the documentation.

Is the client up to date wrt the node chronik variant (and not the nng one) ?

I don't know. I would assume that it is not. However, there is no more up-to-date version of this available at the moment, so it would make sense to put this in the monorepo and add those improvements here.

If we do so, would that break cashtab ,the explorer, the alias server etc. ?

At the moment, migrating all of these apps to the node chronik variant will be a task. This needs to be handled in diffs for each of these projects. We can't change anything about chronik.fabien.cash until those projects are migrated.

What will likely happen

  • Get a node-integrated instance of chronik up and running
  • Do some testing to migrate existing apps there, probably leading to some patches on the node chronik
  • Migrate apps to the new server
  • Change chronik.fabien.cash to node integrated chronik

Is the client up to date wrt the node chronik variant (and not the nng one) ?

I don't know. I would assume that it is not. However, there is no more up-to-date version of this available at the moment, so it would make sense to put this in the monorepo and add those improvements here.

If we do so, would that break cashtab ,the explorer, the alias server etc. ?

At the moment, migrating all of these apps to the node chronik variant will be a task. This needs to be handled in diffs for each of these projects. We can't change anything about chronik.fabien.cash until those projects are migrated.

What will likely happen

  • Get a node-integrated instance of chronik up and running
  • Do some testing to migrate existing apps there, probably leading to some patches on the node chronik
  • Migrate apps to the new server
  • Change chronik.fabien.cash to node integrated chronik

OK so you're not going to do the migration for now, but keep the nng variant. Got it.

This revision is now accepted and ready to land.Apr 25 2023, 16:40