longshotlabs / simpl-schema

A JavaScript schema validation package that supports direct validation of MongoDB update modifier objects
https://www.npmjs.com/package/simpl-schema
MIT License
560 stars 114 forks source link

Cycling dependency after install #459

Closed floustao closed 6 months ago

floustao commented 2 years ago

While using the following versions:

"dependencies": {
"simpl-schema": "^1.12.0",
...
},
"devDependencies": {
...
"@types/simpl-schema": "^1.12.1",
}

I get a warning message everytime I run the react-native app. The full message is:

Require cycle: node_modules/simpl-schema/dist/SimpleSchema.js -> node_modules/simpl-schema/dist/clean.js -> node_modules/simpl-schema/dist/clean/convertToProperType.js -> node_modules/simpl-schema/dist/SimpleSchema.js

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.

I export it from a constant.ts file:

import SimpleSchema from 'simpl-schema';

export const emailAddressRegex = SimpleSchema.RegEx.EmailWithTLD;
export const emailAddressRegexValidationFailedMessage =
  'Please enter a valid email. E.g. name@domain.com';

and import it in one component only.

It looks like a cycling dependency where there is an import module A into module B and module B into module A resulting in a cycle.

Any ideas how to solve this? Thank you

github-actions[bot] commented 2 years ago

Thank you for submitting an issue!

If this is a bug report, please be sure to include, at minimum, example code showing a small schema and any necessary calls with all their arguments, which will reproduce the issue. Even better, you can link to a saved online code editor example, where anyone can immediately run the code and see the issue.

If you are requesting a feature, include a code example of how you imagine it working if it were implemented.

If you need to edit your issue description, click the [...] and choose Edit.

Be patient. This is a free and freely licensed package that I maintain in my spare time. You may get a response in a day, but it could also take a month. If you benefit from this package and would like to see more of my time devoted to it, you can help by sponsoring.

aldeed commented 6 months ago

I assume this was fixed in newer releases. If not, please submit a new issue with a full reproduction repo or code sandbox linked to it.