Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: original-fs import replacement #41209

Merged
merged 1 commit into from Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 4 additions & 3 deletions patches/node/build_add_gn_build_files.patch
Expand Up @@ -2312,10 +2312,10 @@ index 0000000000000000000000000000000000000000..7848ddb1841b6d4f36e9376c73564eb4
+ f.write('\n')
diff --git a/tools/generate_original_fs.py b/tools/generate_original_fs.py
new file mode 100644
index 0000000000000000000000000000000000000000..98d569e6ba6d85a29a215a8f9ce3c1f6a9bd655e
index 0000000000000000000000000000000000000000..a6cdf33f2c0bcca4d7b4eacaa407f1ac5bdcb5cb
--- /dev/null
+++ b/tools/generate_original_fs.py
@@ -0,0 +1,18 @@
@@ -0,0 +1,19 @@
+import os
+import sys
+
Expand All @@ -2332,8 +2332,9 @@ index 0000000000000000000000000000000000000000..98d569e6ba6d85a29a215a8f9ce3c1f6
+ original_f.write(contents)
+
+ with open(os.path.join(out_dir, original_fs_file), 'w') as transformed_f:
+ transformed_contents = contents.replace('internal/fs/', 'internal/original-fs/')
+ transformed_contents = contents.replace('internal/fs/', 'internal/original-fs/').replace('require(\'fs', 'require(\'original-fs')
+ transformed_f.write(transformed_contents)
+
diff --git a/tools/install.py b/tools/install.py
index 11616e1bcac5308020eb68fdb811bfb86cb14dd5..74b01f8352021f1105c080dbbf8bb29121a13501 100755
--- a/tools/install.py
Expand Down
12 changes: 11 additions & 1 deletion spec/asar-spec.ts
Expand Up @@ -1528,7 +1528,7 @@ describe('asar package', function () {
originalFs.createReadStream(path.join(asarDir, 'a.asar'));
});

itremote('can recursively delete a directory with an asar file in itremote', () => {
itremote('can recursively delete a directory with an asar file in itremote using rmdirSync', () => {
codebytere marked this conversation as resolved.
Show resolved Hide resolved
const deleteDir = path.join(asarDir, 'deleteme');
fs.mkdirSync(deleteDir);

Expand All @@ -1538,6 +1538,16 @@ describe('asar package', function () {
expect(fs.existsSync(deleteDir)).to.be.false();
});

itremote('can recursively delete a directory with an asar file in itremote using promises.rmdir', async () => {
const deleteDir = path.join(asarDir, 'deleteme');
fs.mkdirSync(deleteDir);

const originalFs = require('original-fs');
await originalFs.promises.rmdir(deleteDir, { recursive: true });

expect(fs.existsSync(deleteDir)).to.be.false();
});

itremote('has the same APIs as fs', function () {
expect(Object.keys(require('node:fs'))).to.deep.equal(Object.keys(require('original-fs')));
expect(Object.keys(require('node:fs').promises)).to.deep.equal(Object.keys(require('original-fs').promises));
Expand Down