diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..4636a1bdd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,116 @@ +name: Node CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + upload-designer-codecov: + runs-on: ubuntu-latest + # if: ${{ github.event.pull_request.head.repo.full_name == 'alibaba/lowcode-engine' }} + steps: + - name: checkout + uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: install + run: npm i && npm run setup:skip-build + + - name: test designer + run: cd packages/designer && npm run test:cov && cd ../.. + + - name: Upload designer coverage to Codecov + uses: codecov/codecov-action@v3 + with: + # working-directory: packages/designer + directory: ./packages/designer/coverage + token: ${{ secrets.CODECOV_TOKEN }} + name: designer + fail_ci_if_error: true + verbose: true + + upload-renderer-core: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: install + run: npm i && npm run setup:skip-build + + - name: test renderer-core + run: cd packages/renderer-core && npm run test:cov && cd ../.. + + - name: Upload renderer-core coverage to Codecov + uses: codecov/codecov-action@v3 + with: + # working-directory: packages/designer + directory: ./packages/renderer-core/coverage + token: ${{ secrets.CODECOV_TOKEN }} + name: renderer-core + fail_ci_if_error: true + verbose: true + + upload-react-simulator-renderer: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: install + run: npm i && npm run setup:skip-build + + - name: test react-simulator-renderer + run: cd packages/react-simulator-renderer && npm run test:cov && cd ../.. + + - name: Upload react-simulator-renderer coverage to Codecov + uses: codecov/codecov-action@v3 + with: + # working-directory: packages/designer + directory: ./packages/react-simulator-renderer/coverage + token: ${{ secrets.CODECOV_TOKEN }} + name: react-simulator-renderer + fail_ci_if_error: true + verbose: true + + upload-code-generator: + runs-on: ubuntu-latest + # if: ${{ github.event.pull_request.head.repo.full_name == 'alibaba/lowcode-engine' }} + steps: + - name: checkout + uses: actions/checkout@v2 + + - uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: install + run: npm i && npm run setup:skip-build + + - name: test code-generator + run: cd modules/code-generator && npm i && npm run build && npm run test:cov && cd ../.. + + - name: Upload code-generator coverage to Codecov + uses: codecov/codecov-action@v3 + with: + # working-directory: packages/designer + directory: ./modules/code-generator/coverage + token: ${{ secrets.CODECOV_TOKEN }} + name: code-generator + fail_ci_if_error: true + verbose: true \ No newline at end of file diff --git a/modules/code-generator/src/parser/SchemaParser.ts b/modules/code-generator/src/parser/SchemaParser.ts index b7b9f2b0f..2e526d88b 100644 --- a/modules/code-generator/src/parser/SchemaParser.ts +++ b/modules/code-generator/src/parser/SchemaParser.ts @@ -123,7 +123,7 @@ export class SchemaParser implements ISchemaParser { const schema = this.decodeSchema(schemaSrc); // 解析三方组件依赖 - schema.componentsMap.forEach((info) => { + schema.componentsMap.forEach((info: any) => { if (info.componentName) { compDeps[info.componentName] = { ...info, diff --git a/modules/code-generator/src/utils/expressionParser.ts b/modules/code-generator/src/utils/expressionParser.ts index 3589fc3f5..58c6e6ca8 100644 --- a/modules/code-generator/src/utils/expressionParser.ts +++ b/modules/code-generator/src/utils/expressionParser.ts @@ -181,7 +181,7 @@ export function parseExpressionGetKeywords(expr: string | null | undefined): str const fieldValue = node[fieldName as keyof typeof node]; if (typeof fieldValue === 'object') { if (Array.isArray(fieldValue)) { - fieldValue.forEach((item) => { + fieldValue.forEach((item: any) => { addIdentifierIfNeeded(item); }); } else { @@ -233,7 +233,7 @@ export function parseExpressionGetGlobalVariables( const fieldValue = node[fieldName as keyof typeof node]; if (typeof fieldValue === 'object') { if (Array.isArray(fieldValue)) { - fieldValue.forEach((item) => { + fieldValue.forEach((item: any) => { addUndeclaredIdentifierIfNeeded(item, path); }); } else { diff --git a/packages/engine/README-zh_CN.md b/packages/engine/README-zh_CN.md index 91e90ad52..5a070affb 100644 --- a/packages/engine/README-zh_CN.md +++ b/packages/engine/README-zh_CN.md @@ -12,7 +12,9 @@ [![NPM version][npm-image]][npm-url] [![NPM downloads][download-image]][download-url] - [![][issues-helper-image]][issues-helper-url] [![Issues need help][help-wanted-image]][help-wanted-url] +[![][issues-helper-image]][issues-helper-url] [![Issues need help][help-wanted-image]][help-wanted-url] + +[![codecov][codecov-image-url]][codecov-url] [npm-image]: https://img.shields.io/npm/v/@alilc/lowcode-engine.svg?style=flat-square [npm-url]: http://npmjs.org/package/@alilc/lowcode-engine @@ -25,6 +27,9 @@ [issues-helper-image]: https://img.shields.io/badge/using-issues--helper-orange?style=flat-square [issues-helper-url]: https://github.com/actions-cool/issues-helper +[codecov-image-url]: https://codecov.io/gh/alibaba/lowcode-engine/branch/main/graph/badge.svg +[codecov-url]: https://codecov.io/gh/alibaba/lowcode-engine + [![](https://img.alicdn.com/imgextra/i2/O1CN01UhoS7C1sNNhySvfWi_!!6000000005754-2-tps-2878-1588.png)](https://lowcode-engine.cn) diff --git a/packages/engine/README.md b/packages/engine/README.md index c4cc5f8ae..63e967140 100644 --- a/packages/engine/README.md +++ b/packages/engine/README.md @@ -14,6 +14,8 @@ An enterprise-class low-code technology stack with scale-out design [![][issues-helper-image]][issues-helper-url] [![Issues need help][help-wanted-image]][help-wanted-url] +[![codecov][codecov-image-url]][codecov-url] + [npm-image]: https://img.shields.io/npm/v/@alilc/lowcode-engine.svg?style=flat-square [npm-url]: http://npmjs.org/package/@alilc/lowcode-engine @@ -25,6 +27,9 @@ An enterprise-class low-code technology stack with scale-out design [issues-helper-image]: https://img.shields.io/badge/using-issues--helper-orange?style=flat-square [issues-helper-url]: https://github.com/actions-cool/issues-helper +[codecov-image-url]: https://codecov.io/gh/alibaba/lowcode-engine/branch/main/graph/badge.svg +[codecov-url]: https://codecov.io/gh/alibaba/lowcode-engine + [![](https://img.alicdn.com/imgextra/i2/O1CN01UhoS7C1sNNhySvfWi_!!6000000005754-2-tps-2878-1588.png)](http://lowcode-engine.cn) diff --git a/packages/react-simulator-renderer/package.json b/packages/react-simulator-renderer/package.json index 348d5a605..f15f503d0 100644 --- a/packages/react-simulator-renderer/package.json +++ b/packages/react-simulator-renderer/package.json @@ -13,7 +13,8 @@ "scripts": { "test": "build-scripts test --config build.test.json", "build": "NODE_OPTIONS=--max_old_space_size=8192 build-scripts build --skip-demo", - "build:umd": "NODE_OPTIONS=--max_old_space_size=8192 build-scripts build --config build.umd.json" + "build:umd": "NODE_OPTIONS=--max_old_space_size=8192 build-scripts build --config build.umd.json", + "test:cov": "build-scripts test --config build.test.json --jest-coverage" }, "dependencies": { "@alilc/lowcode-designer": "1.0.14",