@@ -15,6 +15,8 @@ import dedupeImports from './dedupe-imports';
1515import dynamicImports from './dynamic-imports' ;
1616import scopeCssImports from './scope-css-imports' ;
1717import compilerVersionNumber from './compiler-version-number' ;
18+ import privateMethodTransform from './private-method-transform' ;
19+ import reversePrivateMethodTransform from './reverse-private-method-transform' ;
1820import { getEngineImportSpecifiers } from './utils' ;
1921import type { BabelAPI , LwcBabelPluginPass } from './types' ;
2022import type { PluginObj } from '@babel/core' ;
@@ -33,13 +35,16 @@ export default function LwcClassTransform(api: BabelAPI): PluginObj<LwcBabelPlug
3335 const { Class : transformDecorators } = decorators ( api ) ;
3436 const { Import : transformDynamicImports } = dynamicImports ( ) ;
3537 const { ClassBody : addCompilerVersionNumber } = compilerVersionNumber ( api ) ;
38+ const { Program : transformPrivateMethods } = privateMethodTransform ( api ) ;
39+ const { ClassMethod : reverseTransformPrivateMethods } = reversePrivateMethodTransform ( api ) ;
3640
3741 return {
3842 manipulateOptions ( opts , parserOpts ) {
3943 parserOpts . plugins . push ( 'classProperties' , [
4044 'decorators' ,
4145 { decoratorsBeforeExport : true } ,
4246 ] ) ;
47+ parserOpts . plugins . push ( 'privateMethods' ) ;
4348 } ,
4449
4550 visitor : {
@@ -54,6 +59,15 @@ export default function LwcClassTransform(api: BabelAPI): PluginObj<LwcBabelPlug
5459
5560 // Add ?scoped=true to *.scoped.css imports
5661 scopeCssImports ( api , path ) ;
62+
63+ // Transform private methods BEFORE any other plugin processes them
64+ if (
65+ transformPrivateMethods &&
66+ typeof transformPrivateMethods === 'object' &&
67+ 'enter' in transformPrivateMethods
68+ ) {
69+ ( transformPrivateMethods as any ) . enter ( path , state ) ;
70+ }
5771 } ,
5872 exit ( path ) {
5973 const engineImportSpecifiers = getEngineImportSpecifiers ( path ) ;
@@ -68,6 +82,8 @@ export default function LwcClassTransform(api: BabelAPI): PluginObj<LwcBabelPlug
6882
6983 Class : transformDecorators ,
7084
85+ ClassMethod : reverseTransformPrivateMethods ,
86+
7187 ClassBody : addCompilerVersionNumber ,
7288
7389 ExportDefaultDeclaration : transformCreateRegisterComponent ,
0 commit comments