Skip to content

Commit

Permalink
fix(revert): preserve mtime when zipping with the node zipper (#539) (#…
Browse files Browse the repository at this point in the history
…558)

This reverts commit 162d9bc.
  • Loading branch information
bnegrao authored Oct 12, 2024
1 parent b448e43 commit 607a3ae
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 33 deletions.
40 changes: 8 additions & 32 deletions src/tests/util.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,15 @@ describe('utils/findProjectRoot', () => {
});

describe('utils/zip', () => {
const mtime = new Date(2024, 0, 1, 0, 0, 0, 0);

beforeEach(() => {
mockFs({
'/src': mockFs.directory({
mtime,
items: {
'test.txt': mockFs.file({
mtime,
content: 'lorem ipsum',
}),
modules: mockFs.directory({
mtime,
items: {
'module.txt': mockFs.file({
mtime,
content: 'lorem ipsum 2',
}),
},
}),
'/src': {
'test.txt': 'lorem ipsum',
modules: {
'module.txt': 'lorem ipsum 2',
},
}),
'/dist': mockFs.directory({ mtime }),
},
'/dist': {},
});
});

Expand Down Expand Up @@ -79,17 +65,7 @@ describe('utils/zip', () => {
},
];

// Check the mtimes are set correctly
const sourceStat = fs.statSync(source);
expect(sourceStat.mtime).toEqual(mtime);

const testStat = fs.statSync('/src/test.txt');
expect(testStat.mtime).toEqual(mtime);

const moduleStat = fs.statSync('/src/modules/module.txt');
expect(moduleStat.mtime).toEqual(mtime);

await expect(zip(zipPath, filesPathList, useNativeZip)).resolves.toBeUndefined();
await zip(zipPath, filesPathList, useNativeZip);

expect(fs.existsSync(zipPath)).toEqual(true);

Expand All @@ -103,7 +79,7 @@ describe('utils/zip', () => {
if (!useNativeZip) {
const data = fs.readFileSync(zipPath);
const fileHash = crypto.createHash('sha256').update(data).digest('base64');
expect(fileHash).toEqual('PHu2gv7OIMv+lAOCXYPNd30X8/7EKYTuV7KYJjw3Qd4=');
expect(fileHash).toEqual('iCZdyHJ7ON2LLwBIE6gQmRvBTzXBogSqJTMvHSenzGk=');
}
}
);
Expand Down
2 changes: 1 addition & 1 deletion src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ function nodeZip(zipPath: string, filesPathList: IFiles): Promise<void> {
zipArchive.append(fs.readFileSync(file.rootPath), {
name: file.localPath,
mode: stats.mode,
date: new Date(stats.mtime),
date: new Date(0), // necessary to get the same hash when zipping the same content
});
});

Expand Down

0 comments on commit 607a3ae

Please sign in to comment.