提交 57c02e80 编写于 作者: A Alex Dima

Don't use loader checksums in integrityService

上级 d31fc79a
......@@ -65,7 +65,6 @@ export class IntegrityServiceImpl implements IIntegrityService {
private _messageService: IMessageService;
private _storage:IntegrityStorage;
private _loaderChecksums: ILoaderChecksums;
private _isPurePromise: TPromise<IntegrityTestResult>;
constructor(
......@@ -75,16 +74,6 @@ export class IntegrityServiceImpl implements IIntegrityService {
this._messageService = messageService;
this._storage = new IntegrityStorage(storageService);
// Fetch checksums from loader
let loaderChecksums = <ILoaderChecksums>(<any>require).getChecksums();
// Transform loader checksums to be uri => checksum
this._loaderChecksums = Object.create(null);
Object.keys(loaderChecksums).forEach((scriptSrc) => {
let scriptUri = URI.file(scriptSrc).toString();
this._loaderChecksums[scriptUri.toString()] = loaderChecksums[scriptSrc];
});
this._isPurePromise = this._isPure();
this.isPure().then(r => {
......@@ -146,19 +135,12 @@ export class IntegrityServiceImpl implements IIntegrityService {
private _isPure(): TPromise<IntegrityTestResult> {
const expectedChecksums = product.checksums || {};
let syncResults: ChecksumPair[] = [];
let asyncResults: TPromise<ChecksumPair>[] = [];
Object.keys(expectedChecksums).forEach((filename) => {
let r = this._resolve(filename, expectedChecksums[filename]);
if (TPromise.is(r)) {
asyncResults.push(r);
} else {
syncResults.push(r);
}
let asyncResults: TPromise<ChecksumPair>[] = Object.keys(expectedChecksums).map((filename) => {
return this._resolve(filename, expectedChecksums[filename]);
});
return TPromise.join(asyncResults).then<IntegrityTestResult>((asyncResults) => {
let allResults = syncResults.concat(asyncResults);
return TPromise.join(asyncResults).then<IntegrityTestResult>((allResults) => {
let isPure = true;
for (let i = 0, len = allResults.length; isPure && i < len; i++) {
if (!allResults[i].isPure) {
......@@ -173,15 +155,8 @@ export class IntegrityServiceImpl implements IIntegrityService {
});
}
private _resolve(filename:string, expected:string): ChecksumPair | TPromise<ChecksumPair> {
private _resolve(filename:string, expected:string): TPromise<ChecksumPair> {
let fileUri = URI.parse(require.toUrl(filename));
let loaderChecksum = this._loaderChecksums[fileUri.toString()];
if (loaderChecksum) {
return IntegrityServiceImpl._createChecksumPair(fileUri, loaderChecksum, expected);
}
if (/\.js$/.test(filename)) {
console.warn(`Did not find checksum for ${filename} in loader checksums.`);
}
return new TPromise<ChecksumPair>((c, e, p) => {
fs.readFile(fileUri.fsPath, (err, buff) => {
if (err) {
......
......@@ -141,8 +141,7 @@ function main() {
recordStats: !!configuration.performance,
ignoreDuplicateModules: [
'vs/workbench/parts/search/common/searchQuery'
],
checksum: true
]
});
if (nlsConfig.pseudo) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册