fix: destructuring with computed-property (#19530)
Github Actions / lint (push) Waiting to run Details
Github Actions / validate-legacy-node (push) Waiting to run Details
Github Actions / benchmark (1/4) (push) Waiting to run Details
Github Actions / benchmark (2/4) (push) Waiting to run Details
Github Actions / benchmark (3/4) (push) Waiting to run Details
Github Actions / benchmark (4/4) (push) Waiting to run Details
Github Actions / basic (push) Waiting to run Details
Github Actions / unit (push) Waiting to run Details
Github Actions / integration (10.x, macos-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (10.x, macos-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (10.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (10.x, ubuntu-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (10.x, windows-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (10.x, windows-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (12.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (14.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (16.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (18.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (20.x, macos-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (20.x, macos-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (20.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (20.x, ubuntu-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (20.x, windows-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (20.x, windows-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (22.x, macos-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (22.x, macos-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (22.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (22.x, ubuntu-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (22.x, windows-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (22.x, windows-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (24.x, macos-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (24.x, macos-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (24.x, ubuntu-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (24.x, ubuntu-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (24.x, windows-latest, a) (push) Blocked by required conditions Details
Github Actions / integration (24.x, windows-latest, b) (push) Blocked by required conditions Details
Github Actions / integration (lts/*, ubuntu-latest, a, 1) (push) Blocked by required conditions Details
Github Actions / integration (lts/*, ubuntu-latest, b, 1) (push) Blocked by required conditions Details

This commit is contained in:
Alexander Akait 2025-05-14 20:40:03 +03:00 committed by GitHub
parent 9cf04be110
commit 67aa02a2c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 48 additions and 1 deletions

View File

@ -2863,7 +2863,7 @@ class JavascriptParser extends Parser {
}
}
const key = property.key;
if (key.type === "Identifier") {
if (key.type === "Identifier" && !property.computed) {
props.add({
id: key.name,
range: key.range,

View File

@ -0,0 +1,18 @@
import * as namespace from "../destructuring-namespace-import/module";
it("should work with destructuring", function() {
const key = "fo" + "o";
const {
[key]: a = "foo",
["fo" + "o"]: a1 = "foo",
[PROPERTY]: a2 = "foo",
["unkn" + "own"]: unknown = "foo",
unknown1 = "foo",
} = namespace;
expect(a).toBe("bar");
expect(a1).toBe("bar");
expect(a2).toBe("bar");
expect(unknown).toBe("foo");
expect(unknown1).toBe("foo");
});

View File

@ -0,0 +1 @@
export const foo = 'bar';

View File

@ -0,0 +1,13 @@
const webpack = require("../../../../");
/** @type {import("../../../../").Configuration} */
module.exports = {
optimization: {
concatenateModules: true
},
plugins: [
new webpack.DefinePlugin({
PROPERTY: JSON.stringify("foo")
})
]
};

View File

@ -0,0 +1,8 @@
import * as namespace from "../destructuring-namespace-import/module";
it("should work with destructuring", function() {
const key = "fo" + "o";
const { ...rest } = namespace;
expect(rest[key]).toBe("bar");
});

View File

@ -0,0 +1 @@
export const foo = 'bar';

View File

@ -0,0 +1,6 @@
/** @type {import("../../../../").Configuration} */
module.exports = {
optimization: {
concatenateModules: true
}
};