{"record":{"id":"7f80697cd0e1c7ab","repo":"liabru/matter-js","slug":"plugin-dependencies-used-by-could-not-be-resolved","errorCode":null,"errorMessage":"Plugin.dependencies: used by could not be resolved.","messagePattern":"Plugin\\.dependencies: used by could not be resolved\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/core/Plugin.js","lineNumber":214,"sourceCode":"\n        tracked[name] = Common.map(module.uses || [], function(dependency) {\n            if (Plugin.isPlugin(dependency)) {\n                Plugin.register(dependency);\n            }\n\n            var parsed = Plugin.dependencyParse(dependency),\n                resolved = Plugin.resolve(dependency);\n\n            if (resolved && !Plugin.versionSatisfies(resolved.version, parsed.range)) {\n                Common.warn(\n                    'Plugin.dependencies:', Plugin.toString(resolved), 'does not satisfy',\n                    Plugin.toString(parsed), 'used by', Plugin.toString(parsedBase) + '.'\n                );\n\n                resolved._warned = true;\n                module._warned = true;\n            } else if (!resolved) {\n                Common.warn(\n                    'Plugin.dependencies:', Plugin.toString(dependency), 'used by',\n                    Plugin.toString(parsedBase), 'could not be resolved.'\n                );\n\n                module._warned = true;\n            }\n\n            return parsed.name;\n        });\n\n        for (var i = 0; i < tracked[name].length; i += 1) {\n            Plugin.dependencies(tracked[name][i], tracked);\n        }\n\n        return tracked;\n    };\n\n    /**","sourceCodeStart":196,"sourceCodeEnd":232,"githubUrl":"https://github.com/liabru/matter-js/blob/acb99b6f8784c809b940f1d2cf745427e088e088/src/core/Plugin.js#L196-L232","documentation":"Plugin.dependencies warns when a dependency listed in a plugin's 'uses' array cannot be resolved, i.e. no registered or useable plugin matches the dependency name. The dependency is simply not satisfied and the dependent plugin is marked warned.","triggerScenarios":"A plugin declares uses: ['some-plugin'] (optionally with @range) but 'some-plugin' was never registered via Plugin.register nor included in the same Matter.use call, and it is not resolvable from the dependency's own exports.","commonSituations":"Misspelled plugin names in the uses array; forgetting to pass the dependency plugin in the same Matter.use(plugins) call; loading plugins in the wrong order or via module systems where the dependency isn't a resolvable require; removing a plugin during refactoring while others still reference it.","solutions":["Pass the missing dependency plugin in the same Matter.use([dependentPlugin, dependencyPlugin]) call so it can be resolved.","Register the dependency with Plugin.register(dependencyPlugin) before use.","Fix the dependency name spelling in the plugin's 'uses' array.","Remove the stale entry from 'uses' if the dependency is no longer needed."],"exampleFix":"// before\nMatter.use(myPhysicsPlugin); // uses: ['my-render']\n// after\nMatter.use([myPhysicsPlugin, myRenderPlugin]);","handlingStrategy":"validation","validationCode":"plugin.uses.forEach(function (dep) {\n  if (!Plugin.resolve(dep)) {\n    throw new Error('Dependency ' + dep + ' is not registered; pass it in the same Matter.use call');\n  }\n});","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always pass a plugin and its dependencies together: Matter.use([plugin, ...plugin.uses.map(resolve)]).","Register all plugins with Plugin.register at startup before any Matter.use call.","Grep your 'uses' arrays against your registered plugin names after renames/refactors."],"tags":["plugin","dependency-resolution"],"backgroundTag":"unresolved-plugin-dependency","analyzedSha":"acb99b6f8784c809b940f1d2cf745427e088e088","analyzedAt":"2026-09-02T21:29:27.057Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T02:17:09.455Z"}