@ -40,7 +40,7 @@ export function compareFileSizeData(
|
||||
|
||||
/** Compares two file size entries and returns an array of size differences. */
|
||||
function compareSizeEntry(
|
||||
actual: DirectorySizeEntry | number, expected: DirectorySizeEntry | number, filePath: string,
|
||||
actual: DirectorySizeEntry|number, expected: DirectorySizeEntry|number, filePath: string,
|
||||
threshold: Threshold) {
|
||||
if (typeof actual !== 'number' && typeof expected !== 'number') {
|
||||
return compareDirectorySizeEntry(actual, expected, filePath, threshold);
|
||||
|
@ -9,7 +9,6 @@
|
||||
import {compareFileSizeData} from './file_size_compare';
|
||||
|
||||
describe('file size compare', () => {
|
||||
|
||||
it('should report if size entry differ by more than the specified max percentage diff', () => {
|
||||
const diffs = compareFileSizeData(
|
||||
{
|
||||
|
@ -47,18 +47,14 @@ export function omitCommonPathPrefix(entry: DirectorySizeEntry): DirectorySizeEn
|
||||
}
|
||||
|
||||
function _sortDirectorySizeEntryObject(oldObject: DirectorySizeEntry): DirectorySizeEntry {
|
||||
return Object.keys(oldObject)
|
||||
.sort(_sortSizeEntryKeys)
|
||||
.reduce(
|
||||
(result, key) => {
|
||||
if (typeof oldObject[key] === 'number') {
|
||||
result[key] = oldObject[key];
|
||||
} else {
|
||||
result[key] = _sortDirectorySizeEntryObject(oldObject[key] as DirectorySizeEntry);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
{} as DirectorySizeEntry);
|
||||
return Object.keys(oldObject).sort(_sortSizeEntryKeys).reduce((result, key) => {
|
||||
if (typeof oldObject[key] === 'number') {
|
||||
result[key] = oldObject[key];
|
||||
} else {
|
||||
result[key] = _sortDirectorySizeEntryObject(oldObject[key] as DirectorySizeEntry);
|
||||
}
|
||||
return result;
|
||||
}, {} as DirectorySizeEntry);
|
||||
}
|
||||
|
||||
function _sortSizeEntryKeys(a: string, b: string) {
|
||||
|
@ -6,16 +6,16 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {readFileSync, writeFileSync} from 'fs';
|
||||
import {SizeTracker} from './size_tracker';
|
||||
import chalk from 'chalk';
|
||||
import {readFileSync, writeFileSync} from 'fs';
|
||||
|
||||
import {compareFileSizeData} from './file_size_compare';
|
||||
import {FileSizeData} from './file_size_data';
|
||||
import {SizeTracker} from './size_tracker';
|
||||
|
||||
if (require.main === module) {
|
||||
const
|
||||
[filePath, sourceMapPath, goldenPath, maxPercentageDiffArg, maxSizeDiffArg, writeGoldenArg,
|
||||
requiredCompileMode] = process.argv.slice(2);
|
||||
const [filePath, sourceMapPath, goldenPath, maxPercentageDiffArg, maxSizeDiffArg, writeGoldenArg, requiredCompileMode] =
|
||||
process.argv.slice(2);
|
||||
const status = main(
|
||||
require.resolve(filePath), require.resolve(sourceMapPath), require.resolve(goldenPath),
|
||||
writeGoldenArg === 'true', parseInt(maxPercentageDiffArg), parseInt(maxSizeDiffArg),
|
||||
@ -62,7 +62,7 @@ export function main(
|
||||
const bazelTargetName = process.env['TEST_TARGET'];
|
||||
|
||||
console.error(`\nThe golden file can be updated with the following command:`);
|
||||
console.error(
|
||||
` yarn bazel run --config=${ivyEnabled ? 'ivy' : 'view-engine'} ${bazelTargetName}.accept`);
|
||||
console.error(` yarn bazel run --config=${ivyEnabled ? 'ivy' : 'view-engine'} ${
|
||||
bazelTargetName}.accept`);
|
||||
return false;
|
||||
}
|
||||
|
@ -12,12 +12,14 @@ import {SourceMapGenerator} from 'source-map';
|
||||
|
||||
import {SizeTracker} from './size_tracker';
|
||||
|
||||
const testTempDir = process.env['TEST_TMPDIR'] !;
|
||||
const testTempDir = process.env['TEST_TMPDIR']!;
|
||||
|
||||
describe('size tracking', () => {
|
||||
let generator: SourceMapGenerator;
|
||||
|
||||
beforeEach(() => { generator = new SourceMapGenerator(); });
|
||||
beforeEach(() => {
|
||||
generator = new SourceMapGenerator();
|
||||
});
|
||||
|
||||
function writeFile(filePath: string, content: string): string {
|
||||
const tmpFilePath = join(testTempDir, filePath);
|
||||
|
Reference in New Issue
Block a user