InversifyJS icon indicating copy to clipboard operation
InversifyJS copied to clipboard

Require cycle

Open t-ricci-enhancers opened this issue 4 years ago • 2 comments

Using inversify v5.0.5 and metro-bundler (running on react-native with babel) I get this warning.

[Fri Mar 19 2021 20:58:19.746]  WARN     Require cycle: node_modules/inversify/lib/syntax/binding_on_syntax.js -> node_modules/inversify/lib/syntax/binding_when_syntax.js -> node_modules/inversify/lib/syntax/binding_on_syntax.js

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

Can something be done to avoid having to do that require cycle?

t-ricci-enhancers avatar Mar 19 '21 20:03 t-ricci-enhancers

Hi @t-ricci-enhancers, we could avoid that warning mixing binding_on_syntax module and binding_when_syntax in the same module, but we prefer to keep modules with only one class, so I wonder if it's a good idea.

I don't like the idea of having circular dependencies even if it's safe in this specific case.

notaphplover avatar Apr 15 '21 08:04 notaphplover

When build a project that imports inversifyjs

(!) Circular dependencies
../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/inversify.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/container/container.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/resolution/resolver.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/scope/scope.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/inversify.js
../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/inversify.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/container/container.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/resolution/resolver.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/utils/binding_utils.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/inversify.js
../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/syntax/binding_on_syntax.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/syntax/binding_when_syntax.js -> ../../node_modules/.pnpm/[email protected]/node_modules/inversify/es/syntax/binding_on_syntax.js

will this cause any problem?

linonetwo avatar Apr 13 '23 15:04 linonetwo