react-table-library icon indicating copy to clipboard operation
react-table-library copied to clipboard

Generated types have broken references

Open adidahiya opened this issue 1 year ago • 4 comments

It seems like the types (presumably generated by rollup) in @table-library/react-table-library/table/Table/index.d.ts have broken references to modules within this monorepo:

declare const Table: React.ForwardRefExoticComponent<Pick<{
    data: import("@table-library/react-table-library/types/table").Data<TableNode>;
    theme?: Theme | undefined;
    layout?: Layout | undefined;
    sort?: import("../../types").Sort<TableNode> | undefined;
    pagination?: import("../../types").Pagination<TableNode> | undefined;
    select?: import("../../types").Select<TableNode> | undefined;
    tree?: import("../../types").Tree<TableNode> | undefined;
    onInit?: import("@table-library/react-table-library/types/table").OnInitFunction | undefined;
    children?: ((nodes: import("@table-library/react-table-library/types/table").ExtendedNode<TableNode>[]) => React.ReactNode) | undefined;
} & import("@table-library/react-table-library/types/table").RestProps, string> & React.RefAttributes<unknown>>;

unpkg link

The import("../../types") expressions should probably be emitted as import("@table-library/react-table-library/types") instead.

This causes issues with downstream TS compilation:

../../node_modules/@table-library/react-table-library/table/Table/index.d.ts:12:19 - error TS7016: Could not find a declaration file for module '../../types'. '/Users/adi/Developer/repos/personal/raga/node_modules/@table-library/react-table-library/types.js' implicitly has an 'any' type.

12     tree?: import("../../types").Tree<TableNode> | undefined;
                     ~~~~~~~~~~~~~


Found 4 errors in the same file, starting at: ../../node_modules/@table-library/react-table-library/table/Table/index.d.ts:9

Environment:

  • Yarn v4 with nodeLinker: node-modules
  • Node.js v20.11.0
  • TypeScript v5.3.3

I can work around these by setting skipLibCheck: true, but this is a band-aid fix which may cause other legitimate compiler errors to be swallowed, and I do not wish to use that as a long-term solution.

adidahiya avatar Jan 29 '24 15:01 adidahiya

It looks like this library is unmaintained. In that case, perhaps you should consider updating its status in the README or archiving the repo.

adidahiya avatar Dec 18 '24 13:12 adidahiya

It is not, it runs for multiple of my clients in production. If you have a need, feel free to contribute! That’s the beauty of open source.

rwieruch avatar Dec 18 '24 14:12 rwieruch

I appreciate the work that goes into this library. However, I believe "working in production" is different from "maintained". Those two definitions do not always overlap; in fact, it's common to use unmaintained libraries in production.

Given that there have been no commits on master in more than a year, the dependencies are out of date (no automated dependabot upgrades), and little/no responses to issues, it's reasonable to assume that this project is "seeking maintainers". That's totally fine, and I can understand why that may be the case. Just hoping to set expectations for other users of this library.

adidahiya avatar Dec 18 '24 16:12 adidahiya

People are welcome to maintain or add whatever features or improvements they'd like to this library. For my use cases, it works as needed and is running in production for a few clients.

The time I invested in building this library was funded by clients who required tailored solutions for their specific needs. I'm not maintaining it for free, I've experienced enough OSS burnout in my career to know my limits :)

rwieruch avatar Dec 18 '24 19:12 rwieruch