Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(typebox): Typebox package should export the Value APIs #2927

Open
lvivier opened this issue Dec 14, 2022 · 2 comments
Open

bug(typebox): Typebox package should export the Value APIs #2927

lvivier opened this issue Dec 14, 2022 · 2 comments

Comments

@lvivier
Copy link

lvivier commented Dec 14, 2022

Steps to reproduce

The @feathersjs/typebox package doesn't export the super useful values module.

Happy to submit a PR for this.

Expected behavior

import { Value } from '@feathersjs/typebox/value';

Value.Cast(DataSchema, ctx.data); // for example

Actual behavior

"Cannot find module"

System configuration

Tell us about the applicable parts of your setup.

Module versions (especially the part that's not working):

NodeJS version: 16.13.2

Operating System: macOS

Browser Version:

React Native Version:

Module Loader:

@daffl
Copy link
Member

daffl commented Jan 30, 2023

This is strangely turning out to be more complicated than I thought. For some reason just declaring the exports in our package.json like it is done in TypeBox itself does not work (this is also part of the problem of ESM builds in #2665).

Since the dependency gets installed automatically anyway, I recommend loading it from @sinclair/typebox direclty.

@FossPrime
Copy link
Member

Another workaround would be to load from ./node_modules/ directly. You can go as far as to use subpath exports to make it easier to do this in several files.

@daffl If a package inside node_modules that doesn't support ESM loads a package, any package, it will always pick the CommonJS version, even if the user-land package.json is set to type=module.

You could have also ran into an issue with conditional exports and how you have to the more specific conditions like "node", "deno" and "development" above vague ones like "default" or "browser".

I'm happy to help get these issues expedited... I was hoping to have a CJS problem free year... i've been dealing with this since 2019 as you know.

@FossPrime FossPrime changed the title Typebox package should export the Value APIs bug(typebox): Typebox package should export the Value APIs Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants