From d709a4ad34d6e4037573cbb4cb8bc82a952fb48f Mon Sep 17 00:00:00 2001 From: sis0k0 Date: Wed, 23 May 2018 13:10:38 +0300 Subject: [PATCH 1/3] chore: downgrade webpack version to 4.6 Caused by: https://github.com/angular/devkit/pull/950 --- dependencyManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencyManager.js b/dependencyManager.js index 21cbf5fb..e15c1366 100644 --- a/dependencyManager.js +++ b/dependencyManager.js @@ -58,7 +58,7 @@ function addDependency(deps, name, version, force) { function getRequiredDeps(packageJson) { const deps = { - "webpack": "~4.8.3", + "webpack": "~4.6.0", "webpack-cli": "~2.1.3", "webpack-bundle-analyzer": "~2.13.0", "webpack-sources": "~1.1.0", From 8e01fb1d70ecc069843af9ac0b902ced39d4472f Mon Sep 17 00:00:00 2001 From: sis0k0 Date: Wed, 23 May 2018 14:01:38 +0300 Subject: [PATCH 2/3] fix: register XML-only custom components --- xml-namespace-loader.js | 48 +++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/xml-namespace-loader.js b/xml-namespace-loader.js index 4450ea68..7b39f00d 100644 --- a/xml-namespace-loader.js +++ b/xml-namespace-loader.js @@ -17,30 +17,49 @@ module.exports = function(source) { const localNamespacePath = join(this.rootContext, namespace); const localModulePath = join(localNamespacePath, elementName); const resolvedPath = tryResolve(localNamespacePath) || - tryResolve(localModulePath) || - namespace; + tryResolve(localModulePath); + + const moduleName = `${namespace}/${elementName}`; + + if (!resolvedPath) { + const xml = tryResolve(`${localModulePath}.xml`); + if (!xml) { + namespaces.push({ name: namespace, path: namespace }); + namespaces.push({ name: moduleName, path: namespace }); + + return; + } else { + namespaces.push({ name: `${moduleName}.xml`, path: xml }); + this.addDependency(xml); + } + + const css = tryResolve(`${localModulePath}.css`); + if (css) { + namespaces.push({ name: `${moduleName}.css`, path: css }); + this.addDependency(css); + } + + return; + } this.addDependency(resolvedPath); - namespaces.push({ name: namespace, path: resolvedPath }); - const moduleName = `${namespace}/${elementName}`; + namespaces.push({ name: namespace, path: resolvedPath }); namespaces.push({ name: moduleName, path: resolvedPath }); const { dir, name } = parse(resolvedPath); const noExtFilename = join(dir, name); - const xmlFile = `${noExtFilename}.xml`; - const xmlFileResolved = tryResolve(xmlFile); - if (xmlFileResolved) { - this.addDependency(xmlFileResolved); - namespaces.push({ name: `${moduleName}.xml`, path: xmlFileResolved }); + const xml = tryResolve(`${noExtFilename}.xml`); + if (xml) { + this.addDependency(xml); + namespaces.push({ name: `${moduleName}.xml`, path: xml }); } - const cssFile = `${noExtFilename}.css`; - const cssFileResolved = tryResolve(cssFile); - if (cssFileResolved) { - this.addDependency(cssFileResolved); - namespaces.push({ name: `${moduleName}.css`, path: cssFileResolved }); + const css = tryResolve(`${noExtFilename}.css`); + if (css) { + this.addDependency(css); + namespaces.push({ name: `${moduleName}.css`, path: css }); } } }, undefined, true); @@ -72,3 +91,4 @@ function tryResolve(path) { return; } } + From bbd662620b6b68320e6e2df1a4df0fc697b3960d Mon Sep 17 00:00:00 2001 From: sis0k0 Date: Wed, 23 May 2018 16:01:52 +0300 Subject: [PATCH 3/3] refactor: look for full moduleName in namespaces --- xml-namespace-loader.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xml-namespace-loader.js b/xml-namespace-loader.js index 7b39f00d..a0c0d664 100644 --- a/xml-namespace-loader.js +++ b/xml-namespace-loader.js @@ -8,19 +8,18 @@ module.exports = function(source) { let namespaces = []; const parser = new XmlParser((event) => { const { namespace, elementName } = event; + const moduleName = `${namespace}/${elementName}`; if ( namespace && !namespace.startsWith("http") && - !namespaces.some(n => n.name === namespace) + !namespaces.some(n => n.name === moduleName) ) { const localNamespacePath = join(this.rootContext, namespace); const localModulePath = join(localNamespacePath, elementName); const resolvedPath = tryResolve(localNamespacePath) || tryResolve(localModulePath); - const moduleName = `${namespace}/${elementName}`; - if (!resolvedPath) { const xml = tryResolve(`${localModulePath}.xml`); if (!xml) { @@ -30,6 +29,7 @@ module.exports = function(source) { return; } else { namespaces.push({ name: `${moduleName}.xml`, path: xml }); + namespaces.push({ name: moduleName, path: xml }); this.addDependency(xml); }