Skip to content

Commit 50893a7

Browse files
authored
Add test for storing empty assets with LMDB (#7995)
1 parent 51153c1 commit 50893a7

File tree

17 files changed

+177
-282
lines changed

17 files changed

+177
-282
lines changed

Cargo.lock

Lines changed: 89 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"devDependencies": {
3939
"@babel/core": "^7.12.0",
4040
"@khanacademy/flow-to-ts": "^0.5.2",
41-
"@napi-rs/cli": "1.0.4",
41+
"@napi-rs/cli": "^2.6.2",
4242
"@parcel/babel-register": "2.5.0",
4343
"@types/node": "^15.12.4",
4444
"cross-env": "^7.0.0",

packages/core/cache/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@parcel/fs": "2.5.0",
2828
"@parcel/logger": "2.5.0",
2929
"@parcel/utils": "2.5.0",
30-
"lmdb": "2.3.5"
30+
"lmdb": "2.3.7"
3131
},
3232
"peerDependencies": {
3333
"@parcel/core": "^2.5.0"

packages/core/integration-tests/test/cache.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
distDir,
2121
getParcelOptions,
2222
assertNoFilePathInCache,
23+
findAsset,
2324
} from '@parcel/test-utils';
2425
import {md} from '@parcel/diagnostic';
2526
import fs from 'fs';
@@ -5908,4 +5909,23 @@ describe('cache', function () {
59085909

59095910
assert.equal(await run(b.bundleGraph), 6);
59105911
});
5912+
5913+
it('supports multiple empty JS assets', async function () {
5914+
// Try to store multiple empty assets using LMDB
5915+
let build = await runBundle(
5916+
path.join(__dirname, 'integration/multiple-empty-js-assets/index.js'),
5917+
{
5918+
inputFS,
5919+
outputFS: inputFS,
5920+
},
5921+
);
5922+
5923+
let a = nullthrows(findAsset(build.bundleGraph, 'a.js'));
5924+
let b = nullthrows(findAsset(build.bundleGraph, 'a.js'));
5925+
assert.strictEqual((await a.getBuffer()).length, 0);
5926+
assert.strictEqual((await b.getBuffer()).length, 0);
5927+
5928+
let res = await run(build.bundleGraph);
5929+
assert.deepEqual(res, {default: 'foo'});
5930+
});
59115931
});

packages/core/integration-tests/test/integration/multiple-empty-js-assets/a.js

Whitespace-only changes.

packages/core/integration-tests/test/integration/multiple-empty-js-assets/b.js

Whitespace-only changes.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import "./a.js";
2+
import "./b.js";
3+
4+
export default "foo";

packages/optimizers/image/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ version = "0.1.0"
77
crate-type = ["cdylib"]
88

99
[dependencies]
10-
napi = "1"
11-
napi-derive = "1"
10+
napi = {version = "2.3.3", default-features = false, features = ["napi4", "compat-mode"]}
11+
napi-derive = "2"
1212
oxipng = "5.0.0"
1313
mozjpeg-sys = "1.0.0"
1414
libc = "0.2"

packages/optimizers/image/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"detect-libc": "^1.0.3"
4040
},
4141
"devDependencies": {
42-
"@napi-rs/cli": "1.0.4",
42+
"@napi-rs/cli": "^2.6.2",
4343
"tiny-benchy": "^1.0.2"
4444
}
4545
}

packages/transformers/js/napi/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ edition = "2018"
88
crate-type = ["cdylib"]
99

1010
[dependencies]
11-
napi = { version = "1", features = ["serde-json"] }
12-
napi-derive = "1"
11+
napi = {version = "2.3.3", default-features = false, features = ["napi4", "compat-mode", "serde-json"]}
12+
napi-derive = "2"
1313
parcel-js-swc-core = { path = "../core" }
1414

1515
[target.'cfg(target_os = "macos")'.dependencies]

0 commit comments

Comments
 (0)