Skip to content

Commit 73a55ec

Browse files
committed
fixup! refactor(@angular/build): normalize library builder paths to POSIX format
1 parent a09a119 commit 73a55ec

2 files changed

Lines changed: 11 additions & 9 deletions

File tree

‎packages/angular/build/src/utils/delete-output-dir.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ export async function deleteOutputDir(
1717
outputPath: string,
1818
emptyOnlyDirectories?: string[],
1919
): Promise<void> {
20-
const resolvedOutputPath = resolve(root, outputPath);
21-
if (resolvedOutputPath === root) {
20+
const resolvedRoot = resolve(root);
21+
const resolvedOutputPath = resolve(resolvedRoot, outputPath);
22+
if (resolvedOutputPath === resolvedRoot) {
2223
throw new Error('Output path MUST not be project root directory!');
2324
}
2425

‎packages/angular/build/src/utils/normalize-asset-patterns.ts‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,24 @@ export function normalizeAssetPatterns(
2424

2525
// When sourceRoot is not available, we default to ${projectRoot}/src.
2626
const sourceRoot = projectSourceRoot || path.join(projectRoot, 'src');
27-
const resolvedSourceRoot = path.resolve(workspaceRoot, sourceRoot);
28-
const resolvedProjectRoot = path.resolve(workspaceRoot, projectRoot);
27+
const resolvedWorkspaceRoot = path.resolve(workspaceRoot);
28+
const resolvedSourceRoot = path.resolve(resolvedWorkspaceRoot, sourceRoot);
29+
const resolvedProjectRoot = path.resolve(resolvedWorkspaceRoot, projectRoot);
2930

3031
return assetPatterns.map((assetPattern) => {
3132
// Normalize string asset patterns to objects.
3233
if (typeof assetPattern === 'string') {
3334
const assetPath = path.normalize(assetPattern);
34-
const resolvedAssetPath = path.resolve(workspaceRoot, assetPath);
35+
const resolvedAssetPath = path.resolve(resolvedWorkspaceRoot, assetPath);
3536
let root: string;
3637

3738
// Check if the string asset is within sourceRoot.
3839
if (resolvedAssetPath.startsWith(resolvedSourceRoot)) {
3940
root = resolvedSourceRoot;
4041
} else if (resolvedAssetPath.startsWith(resolvedProjectRoot)) {
4142
root = resolvedProjectRoot;
42-
} else if (resolvedAssetPath.startsWith(workspaceRoot)) {
43-
root = workspaceRoot;
43+
} else if (resolvedAssetPath.startsWith(resolvedWorkspaceRoot)) {
44+
root = resolvedWorkspaceRoot;
4445
} else {
4546
throw new Error(`The ${assetPattern} asset path must be within the workspace root.`);
4647
}
@@ -67,11 +68,11 @@ export function normalizeAssetPatterns(
6768
}
6869

6970
// Output directory for both is the relative path from the root to input.
70-
const output = path.relative(root, path.resolve(workspaceRoot, input));
71+
const output = path.relative(root, path.resolve(resolvedWorkspaceRoot, input));
7172

7273
assetPattern = { glob, input, output };
7374
} else {
74-
if (!isSubDirectory(workspaceRoot, assetPattern.input)) {
75+
if (!isSubDirectory(resolvedWorkspaceRoot, assetPattern.input)) {
7576
throw new Error(`The ${assetPattern.input} asset path must be within the workspace root.`);
7677
}
7778

0 commit comments

Comments
 (0)