From 97242c3c481ea46347df1d2c03e8dd92a9037b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=A5=E5=B8=8C?= Date: Sun, 13 Sep 2020 17:19:33 +0800 Subject: [PATCH] fix: miss scope --- packages/code-generator/package.json | 1 + .../code-generator/src/plugins/component/react/jsx.ts | 9 +++++---- .../plugins/project/framework/rax/plugins/buildConfig.ts | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/code-generator/package.json b/packages/code-generator/package.json index dca06c932..d8b05838a 100644 --- a/packages/code-generator/package.json +++ b/packages/code-generator/package.json @@ -13,6 +13,7 @@ "scripts": { "start": "ava --watch", "build": "rimraf lib && build-scripts build --skip-demo", + "build:tsc": "rimraf lib && tsc", "demo": "node ./demo/demo.js", "test": "ava", "template": "node ./tools/createTemplate.js" diff --git a/packages/code-generator/src/plugins/component/react/jsx.ts b/packages/code-generator/src/plugins/component/react/jsx.ts index 942b2109f..c172d0375 100644 --- a/packages/code-generator/src/plugins/component/react/jsx.ts +++ b/packages/code-generator/src/plugins/component/react/jsx.ts @@ -5,11 +5,13 @@ import { FileType, ICodeStruct, IContainerInfo, + IScope, } from '../../../types'; import { REACT_CHUNK_NAME } from './const'; import { createReactNodeGenerator } from '../../../utils/nodeToJSX'; +import Scope from '../../../utils/Scope'; type PluginConfig = { fileType?: string; @@ -26,9 +28,7 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => const { nodeTypeMapping } = cfg; const generator = createReactNodeGenerator({ - handlers: { - tagName: (v) => nodeTypeMapping[v] || v, - }, + tagMapping: (v) => nodeTypeMapping[v] || v, }); const plugin: BuilderComponentPlugin = async (pre: ICodeStruct) => { @@ -37,7 +37,8 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => }; const ir = next.ir as IContainerInfo; - const jsxContent = generator(ir); + const scope: IScope = Scope.createRootScope(); + const jsxContent = generator(ir, scope); next.chunks.push({ type: ChunkType.STRING, diff --git a/packages/code-generator/src/plugins/project/framework/rax/plugins/buildConfig.ts b/packages/code-generator/src/plugins/project/framework/rax/plugins/buildConfig.ts index d29f2b8cc..c746e6ccb 100644 --- a/packages/code-generator/src/plugins/project/framework/rax/plugins/buildConfig.ts +++ b/packages/code-generator/src/plugins/project/framework/rax/plugins/buildConfig.ts @@ -16,6 +16,7 @@ const pluginFactory: BuilderComponentPluginFactory = () => { }; const ir = next.ir as IParseResult; + // TODO: miniAppBuildType 这个东西是不是不应该在 schema 里面,而是应该由 plugin 的构造参数传入 const miniAppBuildType = ir.project?.config.miniAppBuildType; const buildCfg = {