From 5ccf5db3302be4a77529c33eda9ce39e5503b3c4 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 17 Jan 2020 21:28:25 +0100 Subject: [PATCH] fix(schematics): fix issues with FS and Devkit Paths (#2279) Angular devkit paths are not interchangeable with Node FS paths. Closes #2088 --- src/schematics/deploy/builder.ts | 7 ++++--- src/schematics/utils.ts | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/schematics/deploy/builder.ts b/src/schematics/deploy/builder.ts index 6c8fd9075..7d3038d56 100644 --- a/src/schematics/deploy/builder.ts +++ b/src/schematics/deploy/builder.ts @@ -5,7 +5,8 @@ import { } from "@angular-devkit/architect"; import { NodeJsSyncHost } from "@angular-devkit/core/node"; import deploy from "./actions"; -import { experimental, join, normalize } from "@angular-devkit/core"; +import { experimental, normalize } from "@angular-devkit/core"; +import * as path from "path"; import { getFirebaseProjectName } from "../utils"; // Call the createBuilder() function to create a builder. This mirrors @@ -29,7 +30,7 @@ export default createBuilder( const project = workspace.getProject(context.target.project); const firebaseProject = getFirebaseProjectName( - workspace.root, + context.workspaceRoot, context.target.project ); @@ -37,7 +38,7 @@ export default createBuilder( await deploy( require("firebase-tools"), context, - join(workspace.root, project.root), + path.join(context.workspaceRoot, project.root), firebaseProject ); } catch (e) { diff --git a/src/schematics/utils.ts b/src/schematics/utils.ts index 840dd0d1d..b6093ef9f 100644 --- a/src/schematics/utils.ts +++ b/src/schematics/utils.ts @@ -57,11 +57,11 @@ export const projectPrompt = (projects: Project[]) => { }; export function getFirebaseProjectName( - projectRoot: string, + workspaceRoot: string, target: string ): string | undefined { const { targets }: FirebaseRc = JSON.parse( - readFileSync(join(projectRoot, ".firebaserc"), "UTF-8") + readFileSync(join(workspaceRoot, ".firebaserc"), "UTF-8") ); const projects = Object.keys(targets!); return projects.find(