diff --git a/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts b/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts index 10b8a2e2c..50ae8d90e 100644 --- a/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts +++ b/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts @@ -42,19 +42,22 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => dataSourceItems.forEach((ds) => { if (!(ds.type in requestHandlersMap) && ds.type !== 'custom') { - const handlerName = '__$$' + changeCase.camelCase(ds.type) + 'RequestHandler'; + const handlerFactoryName = '__$$create' + changeCase.pascal(ds.type) + 'RequestHandler'; requestHandlersMap[ds.type] = { type: 'JSExpression', - value: handlerName + (ds.type === 'urlParams' ? '(this.props.location.search)' : ''), + value: handlerFactoryName + (ds.type === 'urlParams' ? '(this.props.location.search)' : '()'), }; + const handlerFactoryExportName = `create${changeCase.pascal(ds.type)}Handler`; + const handlerPkgName = `@ali/lowcode-datasource-${changeCase.kebab(ds.type)}-handler`; + next.chunks.push({ type: ChunkType.STRING, fileType: FileType.JSX, name: COMMON_CHUNK_NAME.ExternalDepsImport, content: ` - import ${handlerName} from '@ali/lowcode-datasource-engine/handlers/${changeCase.kebabCase(ds.type)}'; + import { ${handlerFactoryExportName} as ${handlerFactoryName} } from '${handlerPkgName}'; `, linkAfter: [], }); @@ -69,7 +72,7 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => fileType: FileType.JSX, name: COMMON_CHUNK_NAME.ExternalDepsImport, content: ` - import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; + import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; `, linkAfter: [], }); diff --git a/packages/code-generator/src/plugins/project/framework/rax/plugins/packageJSON.ts b/packages/code-generator/src/plugins/project/framework/rax/plugins/packageJSON.ts index c47412f0e..7db3a0a38 100644 --- a/packages/code-generator/src/plugins/project/framework/rax/plugins/packageJSON.ts +++ b/packages/code-generator/src/plugins/project/framework/rax/plugins/packageJSON.ts @@ -33,7 +33,12 @@ const pluginFactory: BuilderComponentPluginFactory = () => { lint: 'eslint --ext .js --ext .jsx ./', }, dependencies: { - '@ali/lowcode-datasource-engine': '^0.1.0', + '@ali/lowcode-datasource-engine': '*', + // TODO: 如何动态获取下面这些依赖? + '@ali/lowcode-datasource-url-params-handler': '*', + '@ali/lowcode-datasource-fetch-handler': '*', + '@ali/lowcode-datasource-mtop-handler': '*', + '@ali/lowcode-datasource-mopen-handler': '*', 'universal-env': '^3.2.0', 'intl-messageformat': '^9.3.6', rax: '^1.1.0', diff --git a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/package.json b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/package.json index 0d4d71bb6..33a086c66 100644 --- a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/package.json +++ b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/package.json @@ -8,7 +8,11 @@ "lint": "eslint --ext .js --ext .jsx ./" }, "dependencies": { - "@ali/lowcode-datasource-engine": "^0.1.0", + "@ali/lowcode-datasource-engine": "*", + "@ali/lowcode-datasource-url-params-handler": "*", + "@ali/lowcode-datasource-fetch-handler": "*", + "@ali/lowcode-datasource-mtop-handler": "*", + "@ali/lowcode-datasource-mopen-handler": "*", "universal-env": "^3.2.0", "intl-messageformat": "^9.3.6", "rax": "^1.1.0", diff --git a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx index f7f5f00c2..cb5a4ddbe 100644 --- a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx @@ -7,7 +7,7 @@ import Page from 'rax-view'; import Text from 'rax-text'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; diff --git a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/package.json b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/package.json index 0b4537b56..aa61cda9c 100644 --- a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/package.json +++ b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/package.json @@ -8,7 +8,11 @@ "lint": "eslint --ext .js --ext .jsx ./" }, "dependencies": { - "@ali/lowcode-datasource-engine": "^0.1.0", + "@ali/lowcode-datasource-engine": "*", + "@ali/lowcode-datasource-url-params-handler": "*", + "@ali/lowcode-datasource-fetch-handler": "*", + "@ali/lowcode-datasource-mtop-handler": "*", + "@ali/lowcode-datasource-mopen-handler": "*", "universal-env": "^3.2.0", "intl-messageformat": "^9.3.6", "rax": "^1.1.0", diff --git a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx index b3b0448e7..5b78b28a0 100644 --- a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx @@ -9,11 +9,11 @@ import Text from 'rax-text'; import Image from 'rax-image'; -import __$$urlParamsRequestHandler from '@ali/lowcode-datasource-engine/handlers/url-params'; +import { createUrlParamsHandler as __$$createUrlParamsRequestHandler } from '@ali/lowcode-datasource-url-params-handler'; -import __$$fetchRequestHandler from '@ali/lowcode-datasource-engine/handlers/fetch'; +import { createFetchHandler as __$$createFetchRequestHandler } from '@ali/lowcode-datasource-fetch-handler'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; @@ -51,8 +51,8 @@ class Home$$Page extends Component { _dataSourceEngine = __$$createDataSourceEngine(this._dataSourceConfig, this._context, { runtimeConfig: true, requestHandlersMap: { - urlParams: __$$urlParamsRequestHandler(this.props.location.search), - fetch: __$$fetchRequestHandler, + urlParams: __$$createUrlParamsRequestHandler(this.props.location.search), + fetch: __$$createFetchRequestHandler(), }, }); diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/package.json b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/package.json index d9842a107..f9451df10 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/package.json +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/package.json @@ -8,7 +8,11 @@ "lint": "eslint --ext .js --ext .jsx ./" }, "dependencies": { - "@ali/lowcode-datasource-engine": "^0.1.0", + "@ali/lowcode-datasource-engine": "*", + "@ali/lowcode-datasource-url-params-handler": "*", + "@ali/lowcode-datasource-fetch-handler": "*", + "@ali/lowcode-datasource-mtop-handler": "*", + "@ali/lowcode-datasource-mopen-handler": "*", "universal-env": "^3.2.0", "intl-messageformat": "^9.3.6", "rax": "^1.1.0", diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx index 03a389ab0..91dbd2d75 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx @@ -11,7 +11,7 @@ import Link from 'rax-link'; import Image from 'rax-image'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx index 8412a98f6..d1d93e306 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx @@ -11,7 +11,7 @@ import Link from 'rax-link'; import Image from 'rax-image'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx index 17a49c62f..9c14cc6e5 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx @@ -11,7 +11,7 @@ import Link from 'rax-link'; import Image from 'rax-image'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; diff --git a/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/package.json b/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/package.json index 1510f3c4a..c7a658230 100644 --- a/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/package.json +++ b/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/package.json @@ -8,7 +8,11 @@ "lint": "eslint --ext .js --ext .jsx ./" }, "dependencies": { - "@ali/lowcode-datasource-engine": "^0.1.0", + "@ali/lowcode-datasource-engine": "*", + "@ali/lowcode-datasource-url-params-handler": "*", + "@ali/lowcode-datasource-fetch-handler": "*", + "@ali/lowcode-datasource-mtop-handler": "*", + "@ali/lowcode-datasource-mopen-handler": "*", "universal-env": "^3.2.0", "intl-messageformat": "^9.3.6", "rax": "^1.1.0", diff --git a/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/src/pages/Home/index.jsx index e5463339e..6b550a1e3 100644 --- a/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo4/expected/demo-project/src/pages/Home/index.jsx @@ -11,7 +11,7 @@ import Text from 'rax-text'; import Image from 'rax-image'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env'; diff --git a/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/package.json b/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/package.json index 0d4d71bb6..33a086c66 100644 --- a/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/package.json +++ b/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/package.json @@ -8,7 +8,11 @@ "lint": "eslint --ext .js --ext .jsx ./" }, "dependencies": { - "@ali/lowcode-datasource-engine": "^0.1.0", + "@ali/lowcode-datasource-engine": "*", + "@ali/lowcode-datasource-url-params-handler": "*", + "@ali/lowcode-datasource-fetch-handler": "*", + "@ali/lowcode-datasource-mtop-handler": "*", + "@ali/lowcode-datasource-mopen-handler": "*", "universal-env": "^3.2.0", "intl-messageformat": "^9.3.6", "rax": "^1.1.0", diff --git a/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/src/pages/Home/index.jsx index 8a3656bfc..d7885feb3 100644 --- a/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo5/expected/demo-project/src/pages/Home/index.jsx @@ -7,7 +7,7 @@ import Page from 'rax-view'; import Text from 'rax-text'; -import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine'; +import { create as __$$createDataSourceEngine } from '@ali/lowcode-datasource-engine/runtime'; import { isMiniApp as __$$isMiniApp } from 'universal-env';