diff --git a/packages/registry/src/addon-registry.js b/packages/registry/src/addon-registry.js index 61980f9928..8d0d9b3d17 100644 --- a/packages/registry/src/addon-registry.js +++ b/packages/registry/src/addon-registry.js @@ -113,6 +113,7 @@ class AddonConfigurationRegistry { } this.projectRootPath = projectRootPath; + this.isVoltoProject = packageJson.name !== '@plone/volto'; this.voltoPath = packageJson.name === '@plone/volto' ? `${projectRootPath}` diff --git a/packages/volto/__tests__/webpack-relative-resolver.test.js b/packages/volto/__tests__/webpack-relative-resolver.test.js index b7fcd88393..429946a216 100644 --- a/packages/volto/__tests__/webpack-relative-resolver.test.js +++ b/packages/volto/__tests__/webpack-relative-resolver.test.js @@ -79,6 +79,7 @@ describe('WebpackRelativeResolver', () => { it('handles "installed Volto" resolve requests', () => { const registry = makeRegistry(); + registry.isVoltoProject = true; const resolver = new WebpackRelativeResolver(registry); resolver.voltoPaths['@plone/volto/'] = '/myvoltoproject/node_modules/@plone/volto/src'; diff --git a/packages/volto/webpack-plugins/webpack-relative-resolver.js b/packages/volto/webpack-plugins/webpack-relative-resolver.js index b292e82e89..acbb5dd017 100644 --- a/packages/volto/webpack-plugins/webpack-relative-resolver.js +++ b/packages/volto/webpack-plugins/webpack-relative-resolver.js @@ -5,11 +5,9 @@ class RelativeResolverPlugin { this.source = source || 'resolve'; this.target = target || 'resolve'; this.registry = registry; - this.voltoModulePath = require - .resolve('@plone/volto') - .split('/') - .slice(0, -1) - .join('/'); + this.voltoModulePath = registry.isVoltoProject + ? require.resolve('@plone/volto').split('/').slice(0, -1).join('/') + : `${registry.voltoPath}/src`; this.voltoPaths = Object.assign( { '@plone/volto/': this.voltoModulePath }, ...Object.keys(registry.packages).map((k) => ({