Skip to content

Commit 9425ce0

Browse files
alan-agius4clydin
authored andcommitted
refactor(@angular-devkit/build-angular): remove host from index writer
1 parent 96a23d5 commit 9425ce0

File tree

4 files changed

+20
-13
lines changed

4 files changed

+20
-13
lines changed

packages/angular_devkit/build_angular/src/browser/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,6 @@ export function buildWebpackBrowser(
732732
try {
733733
if (options.index) {
734734
await writeIndexHtml({
735-
host,
736735
outputPath: path.join(outputPath, getIndexOutputFile(options.index)),
737736
indexPath: path.join(context.workspaceRoot, getIndexInputFile(options.index)),
738737
files,
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @license
3+
* Copyright Google Inc. All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
import * as fs from 'fs';
10+
import { promisify } from 'util';
11+
12+
export const mkdir = promisify(fs.mkdir);
13+
export const readFile = promisify(fs.readFile);
14+
export const writeFile = promisify(fs.writeFile);

packages/angular_devkit/build_angular/src/utils/index-file/inline-fonts.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,15 @@
77
*/
88

99
import * as cacache from 'cacache';
10-
import { readFile as readFileAsync } from 'fs';
1110
import * as https from 'https';
1211
import { URL } from 'url';
13-
import { promisify } from 'util';
1412
import { findCachePath } from '../cache-path';
1513
import { cachingDisabled } from '../environment-options';
14+
import { readFile } from '../fs';
1615
import { htmlRewritingStream } from './html-rewriting-stream';
1716

1817
const cacheFontsPath: string | undefined = cachingDisabled ? undefined : findCachePath('angular-build-fonts');
1918
const packageVersion = require('../../../package.json').version;
20-
const readFile = promisify(readFileAsync);
2119

2220
const enum UserAgent {
2321
Chrome = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',

packages/angular_devkit/build_angular/src/utils/index-file/write-index-html.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,16 @@
77
*/
88

99
import { EmittedFiles } from '@angular-devkit/build-webpack';
10-
import { normalize, virtualFs } from '@angular-devkit/core';
1110
import { dirname, join } from 'path';
1211
import { ExtraEntryPoint } from '../../browser/schema';
12+
import { mkdir, readFile, writeFile } from '../fs';
1313
import { generateEntryPoints } from '../package-chunk-sort';
1414
import { stripBom } from '../strip-bom';
1515
import { CrossOriginValue, FileInfo, augmentIndexHtml } from './augment-index-html';
1616

1717
type ExtensionFilter = '.js' | '.css';
1818

1919
export interface WriteIndexHtmlOptions {
20-
host: virtualFs.Host;
2120
outputPath: string;
2221
indexPath: string;
2322
files?: EmittedFiles[];
@@ -36,7 +35,6 @@ export interface WriteIndexHtmlOptions {
3635
export type IndexHtmlTransform = (content: string) => Promise<string>;
3736

3837
export async function writeIndexHtml({
39-
host,
4038
outputPath,
4139
indexPath,
4240
files = [],
@@ -51,12 +49,9 @@ export async function writeIndexHtml({
5149
crossOrigin,
5250
lang,
5351
}: WriteIndexHtmlOptions): Promise<void> {
54-
const readFile = async (filePath: string) =>
55-
virtualFs.fileBufferToString(await host.read(normalize(filePath)).toPromise());
56-
5752
let content = await augmentIndexHtml({
5853
input: outputPath,
59-
inputContent: stripBom(await readFile(indexPath)),
54+
inputContent: stripBom(await readFile(indexPath, 'utf-8')),
6055
baseHref,
6156
deployUrl,
6257
crossOrigin,
@@ -66,14 +61,15 @@ export async function writeIndexHtml({
6661
files: filterAndMapBuildFiles(files, ['.js', '.css']),
6762
noModuleFiles: filterAndMapBuildFiles(noModuleFiles, '.js'),
6863
moduleFiles: filterAndMapBuildFiles(moduleFiles, '.js'),
69-
loadOutputFile: filePath => readFile(join(dirname(outputPath), filePath)),
64+
loadOutputFile: filePath => readFile(join(dirname(outputPath), filePath), 'utf-8'),
7065
});
7166

7267
for (const transform of postTransforms) {
7368
content = await transform(content);
7469
}
7570

76-
await host.write(normalize(outputPath), virtualFs.stringToFileBuffer(content)).toPromise();
71+
await mkdir(dirname(outputPath), { recursive: true });
72+
await writeFile(outputPath, content);
7773
}
7874

7975
function filterAndMapBuildFiles(

0 commit comments

Comments
 (0)