diff --git a/src/packages/compiler/utils/create-manifest.js b/src/packages/compiler/utils/create-manifest.js index 97e3f76f..9e80ac0a 100644 --- a/src/packages/compiler/utils/create-manifest.js +++ b/src/packages/compiler/utils/create-manifest.js @@ -44,13 +44,6 @@ function createWriter(file: string) { const path = joinPath('app', pluralize(type), item); const name = chain(item) .pipe(formatName) - .pipe(str => { - if (str.endsWith('Application')) { - return str; - } - - return pluralize(str); - }) .pipe(str => str + capitalize(type)) .value(); diff --git a/src/packages/router/definitions/context/index.js b/src/packages/router/definitions/context/index.js index 459dad11..9d4cb111 100644 --- a/src/packages/router/definitions/context/index.js +++ b/src/packages/router/definitions/context/index.js @@ -81,7 +81,15 @@ export function contextFor(build: Router$DefinitionBuilder<*>) { path = namespace.path + opts.path; } - const controllerKey = path.substr(1); + const controllerKey = path + .split('/') + .filter(Boolean) + .reduce((arr, str, index, parts) => [ + ...arr, + index === parts.length - 1 ? opts.name : str + ], []) + .join('/'); + const controller = controllers.get(controllerKey); if (!controller) {