diff --git a/packages/compiler-core/src/babelUtils.ts b/packages/compiler-core/src/babelUtils.ts index 4b8f4182d..b52ce2899 100644 --- a/packages/compiler-core/src/babelUtils.ts +++ b/packages/compiler-core/src/babelUtils.ts @@ -32,7 +32,7 @@ export function walkIdentifiers( root.body[0].type === 'ExpressionStatement' && root.body[0].expression - ;(walk as any)(root, { + walk(root, { enter(node: Node & { scopeIds?: Set }, parent: Node | undefined) { parent && parentStack.push(parent) if ( diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index 2c15b7f49..046797cfb 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -607,8 +607,8 @@ export function compileScript( node.type.endsWith('Statement') ) { const scope: Statement[][] = [scriptSetupAst.body] - ;(walk as any)(node, { - enter(child: Node, parent: Node) { + walk(node, { + enter(child: Node, parent: Node | undefined) { if (isFunctionType(child)) { this.skip() } @@ -633,7 +633,7 @@ export function compileScript( ctx, child, needsSemi, - parent.type === 'ExpressionStatement' + parent!.type === 'ExpressionStatement' ) } }, diff --git a/packages/compiler-sfc/src/script/definePropsDestructure.ts b/packages/compiler-sfc/src/script/definePropsDestructure.ts index a81b4a5c5..5965262f3 100644 --- a/packages/compiler-sfc/src/script/definePropsDestructure.ts +++ b/packages/compiler-sfc/src/script/definePropsDestructure.ts @@ -238,7 +238,7 @@ export function transformDestructuredProps( // check root scope first const ast = ctx.scriptSetupAst! walkScope(ast, true) - ;(walk as any)(ast, { + walk(ast, { enter(node: Node, parent?: Node) { parent && parentStack.push(parent) diff --git a/packages/global.d.ts b/packages/global.d.ts index c814ad55e..97405129b 100644 --- a/packages/global.d.ts +++ b/packages/global.d.ts @@ -33,6 +33,17 @@ declare module 'file-saver' { export function saveAs(blob: any, name: any): void } +declare module 'estree-walker' { + export function walk( + root: T, + options: { + enter?: (node: T, parent: T | undefined) => any + leave?: (node: T, parent: T | undefined) => any + exit?: (node: T) => any + } & ThisType<{ skip: () => void }> + ) +} + declare interface String { /** * @deprecated Please use String.prototype.slice instead of String.prototype.substring in the repository. diff --git a/packages/reactivity-transform/src/reactivityTransform.ts b/packages/reactivity-transform/src/reactivityTransform.ts index c0e2d1b68..855dfbb18 100644 --- a/packages/reactivity-transform/src/reactivityTransform.ts +++ b/packages/reactivity-transform/src/reactivityTransform.ts @@ -636,7 +636,7 @@ export function transformAST( // check root scope first walkScope(ast, true) - ;(walk as any)(ast, { + walk(ast, { enter(node: Node, parent?: Node) { parent && parentStack.push(parent) diff --git a/tsconfig.json b/tsconfig.json index e575f0c4c..5d7789b08 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,7 @@ "newLine": "LF", "useDefineForClassFields": false, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "allowJs": false, "strict": true, "noUnusedLocals": true,