marigold-dev / deku

MIT License
80 stars 16 forks source link

Typescript cleanup #993

Closed d4hines closed 1 year ago

d4hines commented 1 year ago

Problem

  1. It's not clear which package people should download
  2. It's not clear when you should use the DekuToolkit class vs. the DekuCClient class
  3. Our examples are scattered throughout deeply nested folders.
  4. We have some unused code from deku-p that isn't supported right now.

Solution

  1. Combine @marigold-deku/deku-c-toolkit and @marigold-dev/deku-p-toolkit into a single package: @marigold-dev/deku
  2. Rename DekuToolkit to DekuPClient and make DekuCClient an extension of DekuPClient. That way people instantiate one class and get everything they need. Normally the rule of thumb is that compostion > inheritance, but in this case I think inheritance actually makes sense - I don't expect us to grow a deep class hierarchy or do anything exotic, so it should be ok.
  3. I've moved all the examples to ./examples
  4. I've deleted the unused code for now. When @EduardoRFS refactors the protocol to be parametric, we'll add back ExternalVM and regain support for the Typescript SDK. In the meantime, we can experiment on separate branches if needed.
aguillon commented 1 year ago

I tried running the Number goes up! example but failed. I did yarn then yarn build:client first; is anything else required? Here's what I get:

deku/examples/number-go-up (git:d4hines/typescript-cleanup)$ npm run build

> number-go-up@0.1.0 build
> react-app-rewired build

override
Creating an optimized production build...
Compiled with warnings.

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/blockchain.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/blockchain.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/index.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/index.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/message-type.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/message-type.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/permission-request.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/permission-request.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/permission-response.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/permission-response.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/sign-payload-request.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/sign-payload-request.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/sign-payload-response.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/sign-payload-response.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/transfer-request.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/transfer-request.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/transfer-response.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/messages/transfer-response.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/permission-scope.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/types/permission-scope.ts'

Failed to parse source map from '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/ui/alert/wallet-lists.ts' file: Error: ENOENT: no such file or directory, open '/home/arthur/Marigold/deku/node_modules/@airgap/beacon-blockchain-substrate/src/ui/alert/wallet-lists.ts'

and the list goes on.