apache / apache/arrow-js

[JS] Remove unnecessary production dependencies

Open
#65 5 comments 0 reactions 1 assignee Claimed by @domoritz View on GitHub
Type: enhancement
Dominant language
TypeScript
Stars
112
Forks
23
Avg merge
21h 18m
Merged PRs (30d)
8

Description

### Describe the enhancement requested

The Apache Arrow JS bundle includes a few unnecessary packages that increase the dependency graph. The culprits are:

- command-line-usage: used by integration.ts, json-to-arrow.ts, and arrowtocsv.ts. I _think_ these can move to dev dependencies since it looks like the intent of the scripts is integration testing and benchmarking.
- @swc/helpers: Introduced in https://github.com/apache/arrow/pull/38500. `@swc/helpers` is never imported. I think it's used for https://github.com/apache/arrow/blob/9b931af14e5a710cba0aaa6b899e2ca696bfd785/js/tsconfig.json#L22. If ts-node is only for development, this can move to devDependencies.
- @types/node: Should move to devDependencies. I don't think there's any benefit to having it listed as a production dependency.
- @types/command-line-args: move to devDependencies
- @types/command-line-usage: move to devDepdencies
- json-bignum: used by integration.ts, json-to-arrow.ts, and arrowtocsv.ts. Can move to dev dependencies.

Here's the graph of the current dependencies.

![image](https://github.com/apache/arrow-js/assets/22385/5ae3eff1-394a-4b0d-9f5f-8f78167bb635)

### Component(s)

JavaScript

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.