[RFC] Split out the CLI into a separate package #1922
Labels
No Label
DBF
Dates
Defined Names
Features
Formula
HTML
Images
Infrastructure
Integration
International
ODS
Operations
Performance
PivotTables
Pro
Protection
Read Bug
SSF
SYLK
Style
Write Bug
good first issue
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sheetjs/sheetjs#1922
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently, some of the dependencies of this package are related to its CLI tool (which is not even mentioned in the readme AFAICT). These dependencies (
commander
andexit-on-epipe
at least) are unnecessary for projects using the library. To reduce the install footprint, what do you think about splitting the CLI into a separate package (that can then be installed only when you actually need it) ?Note that to actually benefit from the smaller install footprint, this should also be done in other packages you maintain (
crc-32
,adler-32
,cfb
andcodepage
), as they also include their own CLI with these dependencies (btw, currently, this forces the install of 2 different versions ofcommander
due toxlsx
using an older version thancodepage
)It's buried in the README: https://github.com/SheetJS/sheetjs#parsing-and-writing-examples
That said, this is a reasonable idea. Should the CLI be split off (a module like
xlsx-cli
) or should the library move (so the mainxlsx
module would be a reexport of something likexlsx-lib
)Well, I don't have an opinion on the option you select. I'm fine if I have to replace
xlsx
withxlsx-lib
(or whatever the name you choose) in my project to benefit from that.However, looking at the npm ecosystem, I think it is more common to have a
-cli
separate package for the CLI, when the CLI is not the main use case of the library.c1f5f04