Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

chore: release LWC v9#5635

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
wjhsf wants to merge28 commits intomaster
base:master
Choose a base branch
Loading
fromlwc-v9
Draft
Show file tree
Hide file tree
Changes fromall commits
Commits
Show all changes
28 commits
Select commitHold shift + click to select a range
4789ee5
chore: bump meriyah to v7 (#5626)
jmsjtuDec 10, 2025
63aa200
Merge branch 'master' into lwc-v9
wjhsfDec 11, 2025
6bf6312
Merge branch 'master' into lwc-v9
wjhsfDec 11, 2025
70e51c4
docs(engine-server): add deprecation notice to README (#5641)
wjhsfDec 12, 2025
8544edb
feat(dist): publish packages as ESM rather than CJS @W-20496487 (#5639)
wjhsfDec 12, 2025
4bc3c19
chore(deps): bump typescript to v6 (#5637)
wjhsfDec 12, 2025
5f09abd
chore: enforce node v20 via `engines.node` @W-20496487 (#5636)
wjhsfDec 15, 2025
957891d
chore(deps): bump deps
wjhsfDec 15, 2025
8c1fa71
Merge branch 'master' into lwc-v9
wjhsfDec 15, 2025
97f3688
chore: revert package.json `exports`
wjhsfDec 16, 2025
c424706
test: update snapshots
wjhsfDec 16, 2025
361d671
oops
wjhsfDec 16, 2025
580232f
test: update snapshots
wjhsfDec 16, 2025
d837945
test(perf): update perf-benchmarks to esm
wjhsfDec 16, 2025
8a43896
docs: switch to ESM
wjhsfDec 16, 2025
2a23a6f
chore: fix import
wjhsfDec 16, 2025
0285b4d
chore(deps): revert bumps
wjhsfDec 17, 2025
63e2331
oops
wjhsfDec 17, 2025
f64072b
test: update TS version
wjhsfDec 17, 2025
4d68a81
chore: prefer `node:` protocol (#5649)
wjhsfDec 17, 2025
1719e3b
chore: replace duped issue number with open issue
wjhsfDec 17, 2025
c31c614
chore: remove completed TODOs
wjhsfDec 17, 2025
86d663b
feat(ts): use const to infer wire generics
wjhsfDec 17, 2025
1af8586
test(types): fix tests broken by const inference
wjhsfDec 17, 2025
b234b1d
Merge branch 'master' into lwc-v9
wjhsfDec 18, 2025
d4461fe
feat(compiler): rename experimentalDynamicComponent to dynamicImports…
wjhsfDec 18, 2025
9260671
feat: deprecate engine-server (#5654)
wjhsfDec 18, 2025
ec61e68
Merge branch 'master' into lwc-v9
wjhsfDec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletioncommitlint.config.js
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,7 +4,7 @@
* SPDX-License-Identifier: MIT
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
*/
module.exports = {
export default {
rules: {
'body-leading-blank': [1, 'always'],
'footer-leading-blank': [1, 'always'],
Expand Down
2 changes: 1 addition & 1 deletioneslint.config.mjs
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -189,7 +189,7 @@ export default tseslint.config(
},
},
{
files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
files: ['**/*.js', '**/*.mjs'],
...tseslint.configs.disableTypeChecked,
},

Expand Down
8 changes: 3 additions & 5 deletionspackage.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,7 @@
"type": "git",
"url": "https://github.com/salesforce/lwc.git"
},
"type": "module",
"scripts": {
"prepare": "husky && yarn build",
"lint": "eslint . --cache",
Expand All@@ -25,7 +26,7 @@
"test:ci": "vitest run --coverage",
"test:wtr": "nx test @lwc/integration-wtr",
"test:hydration": "nx test:hydration @lwc/integration-wtr",
"test:integration": "nx sauce @lwc/integration-wdio",
"test:wdio": "nx sauce @lwc/integration-wdio",
"test:performance": "nx test @lwc/perf-benchmarks",
"test:performance:best": "nx test:best @lwc/perf-benchmarks",
"test:performance:best:ci": "nx test:best:ci @lwc/perf-benchmarks",
Expand DownExpand Up@@ -72,7 +73,7 @@
"rollup": "^4.53.3",
"terser": "^5.44.1",
"tslib": "^2.8.1",
"typescript": "5.8.2",
"typescript": "~6.0.0-0",
"typescript-eslint": "8.50.0",
"vitest": "4.0.16"
},
Expand All@@ -87,9 +88,6 @@
"packages/lwc",
"playground"
],
"engines": {
"node": ">=10"
},
"volta": {
"node": "24.11.1",
"yarn": "1.22.22"
Expand Down
6 changes: 5 additions & 1 deletionpackages/@lwc/aria-reflection/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,13 +23,17 @@
"url": "https://github.com/salesforce/lwc/issues"
},
"license": "MIT",
"type": "module",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.6.0"
},
"volta": {
"extends": "../../../package.json"
},
"main": "dist/index.cjs.js",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
Expand Down
4 changes: 2 additions & 2 deletionspackages/@lwc/babel-plugin-component/README.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,8 +21,8 @@ This babel plugin does the following transform:
## Usage

```js
const babel= require('@babel/core');
const lwcPlugin= require('@lwc/babel-plugin-component');
import babelfrom'@babel/core';
import lwcPluginfrom'@lwc/babel-plugin-component';

const source = `
import { LightningElement } from 'lwc';
Expand Down
6 changes: 5 additions & 1 deletionpackages/@lwc/babel-plugin-component/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,13 +19,17 @@
"url": "https://github.com/salesforce/lwc/issues"
},
"license": "MIT",
"type": "module",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.6.0"
},
"volta": {
"extends": "../../../package.json"
},
"main": "dist/index.cjs.js",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -81,7 +81,7 @@ function transform(source: string, opts = {}) {
describe('fixtures', () => {
testFixtureDir<TestConfig>(
{
root: path.resolve(__dirname, 'fixtures'),
root: path.resolve(import.meta.dirname, 'fixtures'),
pattern: '**/actual.js',
ssrVersion: 2,
},
Expand Down
2 changes: 1 addition & 1 deletionpackages/@lwc/babel-plugin-component/src/component.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,7 +4,7 @@
* SPDX-License-Identifier: MIT
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
*/
import { basename, extname } from 'path';
import { basename, extname } from 'node:path';
import { addDefault, addNamed } from '@babel/helper-module-imports';
import { generateCustomElementTagName, getAPIVersionFromNumber } from '@lwc/shared';
import {
Expand Down
2 changes: 1 addition & 1 deletionpackages/@lwc/compiler/README.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -42,7 +42,7 @@ const { code } = transformSync(source, filename, options);
- `name` (type: `string`, required) - name of the component, e.g. `foo` in `x/foo`.
- `namespace` (type: `string`, required) - namespace of the component, e.g. `x` in `x/foo`.
- `stylesheetConfig` (type: `object`, default: `{}`) - Deprecated. Ignored by compiler.
- `experimentalDynamicComponent` (type: `DynamicImportConfig`, default: `null`) - The configuration to pass to `@lwc/compiler`.
- `dynamicImports` (type: `DynamicImportConfig`, default: `null`) - The configuration to pass to `@lwc/compiler`.
- `experimentalDynamicDirective` (type: `boolean`, default: `false`) - The configuration to pass to `@lwc/template-compiler` to enable deprecated dynamic components.
- `enableDynamicComponents` (type: `boolean`, default: `false`) - The configuration to pass to `@lwc/template-compiler` to enable dynamic components.
- `outputConfig` (type: `object`, optional) - see below:
Expand Down
6 changes: 5 additions & 1 deletionpackages/@lwc/compiler/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,13 +19,17 @@
"url": "https://github.com/salesforce/lwc/issues"
},
"license": "MIT",
"type": "module",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.6.0"
},
"volta": {
"extends": "../../../package.json"
},
"main": "dist/index.cjs.js",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
Expand Down
11 changes: 5 additions & 6 deletionspackages/@lwc/compiler/src/options.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -102,9 +102,8 @@ export interface TransformOptions {
namespace: string;
/** @deprecated Ignored by compiler. */
stylesheetConfig?: StylesheetConfig;
// TODO [#5031]: Unify dynamicImports and experimentalDynamicComponent options
/** Config applied in usage of dynamic import statements in javascript */
experimentalDynamicComponent?: DynamicImportConfig;
dynamicImports?: DynamicImportConfig;
// TODO [#3331]: deprecate and remove lwc:dynamic
/** Flag to enable usage of dynamic component(lwc:dynamic) directive in HTML template */
experimentalDynamicDirective?: boolean;
Expand DownExpand Up@@ -163,7 +162,7 @@ type OptionalTransformKeys =
| 'enableDynamicComponents'
| 'enableSyntheticElementInternals'
| 'experimentalDynamicDirective'
| 'experimentalDynamicComponent'
| 'dynamicImports'
| 'componentFeatureFlagModulePath'
| 'instrumentation';

Expand DownExpand Up@@ -246,9 +245,9 @@ function normalizeOptions(options: TransformOptions): NormalizedTransformOptions
},
};

constexperimentalDynamicComponent: Required<DynamicImportConfig> = {
constdynamicImports: Required<DynamicImportConfig> = {
...DEFAULT_DYNAMIC_IMPORT_CONFIG,
...options.experimentalDynamicComponent,
...options.dynamicImports,
};

const apiVersion = getAPIVersionFromNumber(options.apiVersion);
Expand All@@ -258,7 +257,7 @@ function normalizeOptions(options: TransformOptions): NormalizedTransformOptions
...options,
stylesheetConfig,
outputConfig,
experimentalDynamicComponent,
dynamicImports,
apiVersion,
};
}
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,7 @@ describe('instrumentation', () => {
`;
await transform(actual, 'foo.js', {
...BASE_TRANSFORM_OPTIONS,
experimentalDynamicComponent: {
dynamicImports: {
loader: '@custom/loader',
strictSpecifier: true,
},
Expand Down
3 changes: 1 addition & 2 deletionspackages/@lwc/compiler/src/transformers/javascript.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -41,8 +41,7 @@ export default function scriptTransform(
const {
isExplicitImport,
enableSyntheticElementInternals,
// TODO [#5031]: Unify dynamicImports and experimentalDynamicComponent options
experimentalDynamicComponent: dynamicImports,
dynamicImports,
outputConfig: { sourcemap },
enableLightningWebSecurityTransforms,
namespace,
Expand Down
5 changes: 2 additions & 3 deletionspackages/@lwc/compiler/src/transformers/template.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,7 +33,7 @@ export default function templateTransform(
options: NormalizedTransformOptions
): TransformResult {
const {
experimentalDynamicComponent,
dynamicImports,
// TODO [#3370]: remove experimental template expression flag
experimentalComplexExpressions,
preserveHtmlComments,
Expand All@@ -49,8 +49,7 @@ export default function templateTransform(
disableSyntheticShadowSupport,
experimentalErrorRecoveryMode,
} = options;
const experimentalDynamicDirective =
deprecatedDynamicDirective ?? Boolean(experimentalDynamicComponent);
const experimentalDynamicDirective = deprecatedDynamicDirective ?? Boolean(dynamicImports);

let result;
try {
Expand Down
2 changes: 1 addition & 1 deletionpackages/@lwc/compiler/src/transformers/transformer.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,7 +4,7 @@
* SPDX-License-Identifier: MIT
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
*/
import * as path from 'path';
import * as path from 'node:path';

import { isString } from '@lwc/shared';
import { TransformerErrors, generateCompilerError, invariant } from '@lwc/errors';
Expand Down
6 changes: 5 additions & 1 deletionpackages/@lwc/engine-core/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,13 +19,17 @@
"url": "https://github.com/salesforce/lwc/issues"
},
"license": "MIT",
"type": "module",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.6.0"
},
"volta": {
"extends": "../../../package.json"
},
"main": "dist/index.cjs.js",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -39,7 +39,7 @@ export const enum PropType {

interface PropCompilerDef {
config: PropType; // 0 m
type: string; // TODO [#1301]: make this an enum
type: string;
}
interface WireCompilerDef {
method?: number;
Expand DownExpand Up@@ -75,7 +75,7 @@ function validateObservedField(
const type = getClassDescriptorType(descriptor);
const message = `Invalid observed ${fieldName} field. Found a duplicate ${type} with the same name.`;

// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(message);
}
}
Expand All@@ -88,7 +88,7 @@ function validateFieldDecoratedWithTrack(
assertNotProd(); // this method should never leak to prod
if (!isUndefined(descriptor)) {
const type = getClassDescriptorType(descriptor);
// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(
`Invalid @track ${fieldName} field. Found a duplicate ${type} with the same name.`
);
Expand All@@ -103,7 +103,7 @@ function validateFieldDecoratedWithWire(
assertNotProd(); // this method should never leak to prod
if (!isUndefined(descriptor)) {
const type = getClassDescriptorType(descriptor);
// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(`Invalid @wire ${fieldName} field. Found a duplicate ${type} with the same name.`);
}
}
Expand All@@ -115,7 +115,7 @@ function validateMethodDecoratedWithWire(
) {
assertNotProd(); // this method should never leak to prod
if (isUndefined(descriptor) || !isFunction(descriptor.value) || isFalse(descriptor.writable)) {
// TODO [#3441]: This line of code does not seem possible to reach.
// TODO [#4450]: This line of code does not seem possible to reach.
logError(
`Invalid @wire ${methodName} field. The field should have a valid writable descriptor.`
);
Expand All@@ -132,7 +132,7 @@ function validateFieldDecoratedWithApi(
const type = getClassDescriptorType(descriptor);
const message = `Invalid @api ${fieldName} field. Found a duplicate ${type} with the same name.`;

// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(message);
}
}
Expand All@@ -145,7 +145,7 @@ function validateAccessorDecoratedWithApi(
assertNotProd(); // this method should never leak to prod
if (isFunction(descriptor.set)) {
if (!isFunction(descriptor.get)) {
// TODO [#3441]: This line of code does not seem possible to reach.
// TODO [#4450]: This line of code does not seem possible to reach.
logError(
`Missing getter for property ${fieldName} decorated with @api in ${Ctor}. You cannot have a setter without the corresponding getter.`
);
Expand DownExpand Up@@ -246,7 +246,7 @@ export function registerDecorators(
if (method === 1) {
if (process.env.NODE_ENV !== 'production') {
if (!adapter) {
// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(
`@wire on method "${fieldOrMethodName}": adapter id must be truthy.`
);
Expand All@@ -261,7 +261,7 @@ export function registerDecorators(
} else {
if (process.env.NODE_ENV !== 'production') {
if (!adapter) {
// TODO [#3408]: this should throw, not log
// TODO [#4450]: this should throw, not log
logError(
`@wire on field "${fieldOrMethodName}": adapter id must be truthy.`
);
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -59,10 +59,10 @@ interface WireDecorator<Value, Class> {
* }
*/
export default function wire<
ReactiveConfig extends ConfigValue = ConfigValue,
Value = any,
Context extends ContextValue = ContextValue,
Class = LightningElement,
constReactiveConfig extends ConfigValue = ConfigValue,
constValue = any,
constContext extends ContextValue = ContextValue,
constClass = LightningElement,
>(
// eslint-disable-next-line @typescript-eslint/no-unused-vars
adapter:
Expand Down
1 change: 0 additions & 1 deletionpackages/@lwc/engine-core/src/framework/rendering.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -870,7 +870,6 @@ function createKeyToOldIdx(
): Record<Key, number> {
const map: Record<Key, number> = {};

// TODO [#1637]: simplify this by assuming that all vnodes has keys
for (let j = beginIdx; j <= endIdx; ++j) {
const ch = children[j];
if (isVNode(ch)) {
Expand Down
6 changes: 5 additions & 1 deletionpackages/@lwc/engine-dom/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,13 +19,17 @@
"url": "https://github.com/salesforce/lwc/issues"
},
"license": "MIT",
"type": "module",
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=16.6.0"
},
"volta": {
"extends": "../../../package.json"
},
"main": "dist/index.cjs.js",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
Expand Down
Loading
Loading

[8]ページ先頭

©2009-2025 Movatter.jp