ipfs / ipfs/protons

Generated TypeScript files cause compilation errors due to unused variables

Open
#130 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
38
Forks
25
Avg merge
1h 4m
Merged PRs (30d)
3

Description

When using the `protons` library to generate TypeScript files from `.proto` files, the generated code contains unused variables, specifically the `opts` parameter in certain functions. This causes compilation errors when running TypeScript with `strict` checks enabled.

### Steps to reproduce:

- Create a project with `.proto` files.
- Use the protons library to generate TypeScript files from the `.proto` files.
- Run TypeScript compilation with strict checks enabled (e.g., `tsc --strict`).

- You can also check the CI fails on PR https://github.com/waku-org/js-waku/pull/1898 for a repro

### Expected behavior:
The generated TypeScript files should not cause any compilation errors related to unused variables.

### Actual behavior:
The generated TypeScript files contain unused opts parameters in certain functions, leading to compilation errors when strict checks are enabled.

### Example error:

```
src/generated/example.ts:40:29 - error TS6133: 'opts' is declared but its value is never read.
40 }, (reader, length, opts = {}) => {
~~~~
```

### Workarounds:

- Manually modify the generated TypeScript files to remove the unused variables (not ideal).
- Use TypeScript compiler options like `"skipLibCheck": true` or `"noUnusedParameters": false` to suppress the errors (not recommended for overall project quality).

### Proposed Solution
Update the `protons` library to generate TypeScript code that doesn't include unused variables.

Please let me know if you need any additional information or if there's anything else I can do to assist in resolving this issue. Thank you for your attention and efforts in maintaining the protons library.

cc @achingbrain

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.