Skip to content

Commit 2476c6f

Browse files
authored
Merge pull request #621 from lowcoder-org/dev
Dev -> Main (release preview)
2 parents e3d1e44 + 6002540 commit 2476c6f

File tree

334 files changed

+3867
-3484
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

334 files changed

+3867
-3484
lines changed

.DS_Store

0 Bytes
Binary file not shown.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2+
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3+
4+
name: Publish Lowcoder CLI
5+
6+
on:
7+
push:
8+
branches: [ "dev" ]
9+
10+
jobs:
11+
publish-package:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
17+
- name: Check version changes
18+
uses: EndBug/version-check@v1
19+
id: check
20+
with:
21+
diff-search: true
22+
file-name: client/packages/lowcoder-cli/package.json
23+
24+
- name: Version update detected
25+
if: steps.check.outputs.changed == 'true'
26+
run: 'echo "Version change found! New version: ${{ steps.check.outputs.version }} (${{ steps.check.outputs.type }})"'
27+
28+
- name: Set up Node.js for NPM
29+
if: steps.check.outputs.changed == 'true'
30+
uses: actions/setup-node@v3
31+
with:
32+
node-version: 16
33+
registry-url: https://registry.npmjs.org/
34+
35+
- name: Install dependencies
36+
if: steps.check.outputs.changed == 'true'
37+
uses: borales/actions-yarn@v4.2.0
38+
with:
39+
cmd: install
40+
dir: client/packages/lowcoder-cli
41+
42+
- name: Publish package to NPM
43+
if: steps.check.outputs.changed == 'true'
44+
run: npm publish
45+
working-directory: client/packages/lowcoder-cli
46+
env:
47+
NODE_AUTH_TOKEN: ${{ secrets.LOWCODERNPMBOT }}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2+
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3+
4+
name: Publish Lowcoder Comps
5+
6+
on:
7+
push:
8+
branches: [ "dev" ]
9+
10+
jobs:
11+
publish-package:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
17+
- name: Check version changes
18+
uses: EndBug/version-check@v1
19+
id: check
20+
with:
21+
diff-search: true
22+
file-name: client/packages/lowcoder-comps/package.json
23+
24+
- name: Version update detected
25+
if: steps.check.outputs.changed == 'true'
26+
run: 'echo "Version change found! New version: ${{ steps.check.outputs.version }} (${{ steps.check.outputs.type }})"'
27+
28+
- name: Set up Node.js for NPM
29+
if: steps.check.outputs.changed == 'true'
30+
uses: actions/setup-node@v3
31+
with:
32+
node-version: 16
33+
registry-url: https://registry.npmjs.org/
34+
35+
- name: Install dependencies
36+
if: steps.check.outputs.changed == 'true'
37+
uses: borales/actions-yarn@v4.2.0
38+
with:
39+
cmd: install
40+
dir: client/packages/lowcoder-comps
41+
42+
- name: Publish
43+
if: steps.check.outputs.changed == 'true'
44+
uses: borales/actions-yarn@v4.2.0
45+
with:
46+
cmd: build_publish
47+
dir: client/packages/lowcoder-comps
48+
env:
49+
NODE_AUTH_TOKEN: ${{ secrets.LOWCODERNPMBOT }}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2+
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3+
4+
name: Publish Lowcoder Core
5+
6+
on:
7+
push:
8+
branches: [ "dev" ]
9+
10+
jobs:
11+
publish-package:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
17+
- name: Check version changes
18+
uses: EndBug/version-check@v1
19+
id: check
20+
with:
21+
diff-search: true
22+
file-name: client/packages/lowcoder-core/package.json
23+
24+
- name: Version update detected
25+
if: steps.check.outputs.changed == 'true'
26+
run: 'echo "Version change found! New version: ${{ steps.check.outputs.version }} (${{ steps.check.outputs.type }})"'
27+
28+
- name: Set up Node.js for NPM
29+
if: steps.check.outputs.changed == 'true'
30+
uses: actions/setup-node@v3
31+
with:
32+
node-version: 16
33+
registry-url: https://registry.npmjs.org/
34+
35+
- name: Install dependencies
36+
if: steps.check.outputs.changed == 'true'
37+
uses: borales/actions-yarn@v4.2.0
38+
with:
39+
cmd: install
40+
dir: client/packages/lowcoder-core
41+
42+
- name: Publish package to NPM
43+
if: steps.check.outputs.changed == 'true'
44+
run: npm publish
45+
working-directory: client/packages/lowcoder-core
46+
env:
47+
NODE_AUTH_TOKEN: ${{ secrets.LOWCODERNPMBOT }}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2+
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3+
4+
name: Publish Lowcoder SDK
5+
6+
on:
7+
push:
8+
branches: [ "dev" ]
9+
10+
jobs:
11+
publish-package:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
17+
- name: Check version changes
18+
uses: EndBug/version-check@v1
19+
id: check
20+
with:
21+
diff-search: true
22+
file-name: client/packages/lowcoder-sdk/package.json
23+
24+
- name: Version update detected
25+
if: steps.check.outputs.changed == 'true'
26+
run: 'echo "Version change found! New version: ${{ steps.check.outputs.version }} (${{ steps.check.outputs.type }})"'
27+
28+
- name: Set up Node.js for NPM
29+
if: steps.check.outputs.changed == 'true'
30+
uses: actions/setup-node@v3
31+
with:
32+
node-version: 16
33+
registry-url: https://registry.npmjs.org/
34+
35+
- name: Install dependencies
36+
if: steps.check.outputs.changed == 'true'
37+
uses: borales/actions-yarn@v4.2.0
38+
with:
39+
cmd: install
40+
dir: client/packages/lowcoder-sdk
41+
42+
- name: Build Package
43+
if: steps.check.outputs.changed == 'true'
44+
uses: borales/actions-yarn@v4.2.0
45+
with:
46+
cmd: build
47+
dir: client/packages/lowcoder-sdk
48+
49+
- name: Publish package to NPM
50+
if: steps.check.outputs.changed == 'true'
51+
run: npm publish
52+
working-directory: client/packages/lowcoder-sdk
53+
env:
54+
NODE_AUTH_TOKEN: ${{ secrets.LOWCODERNPMBOT }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ client/node_modules/
99
client/packages/lowcoder-plugin-demo/.yarn/install-state.gz
1010
client/packages/lowcoder-plugin-demo/yarn.lock
1111
client/packages/lowcoder-plugin-demo/.yarn/cache/@types-node-npm-16.18.68-56f72825c0-094ae9ed80.zip
12+
.DS_Store

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,4 @@ You can access Lowcoder from [cloud-hosted version](https://app.lowcoder.cloud/)
9696
Accelerate the growth of Lowcoder and unleash its potential with your Sponsorship – together, we're shaping the future of Lowcode for everyone!
9797
[Be a Sponsor](https://github.com/sponsors/lowcoder-org)
9898

99-
Like ... @CHSchuepfer. Thank you very much!
99+
Like ... @CHSchuepfer & @spacegoats-io. Thank you very much!!

client/config/test/jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export default {
3636
path.resolve(currentDir, "../../packages/lowcoder-design/src"),
3737
],
3838
setupFiles: [path.resolve(currentDir, "./jest.setup.js")],
39-
setupFilesAfterEnv: [path.resolve(currentDir, "./jest.setup-after-env.js")],
39+
setupFilesAfterEnv: [path.resolve(currentDir, "./jest.setup-after-env.js"), 'jest-canvas-mock'],
4040
transform: {
4141
"^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": path.resolve(currentDir, "./transform/babelTransform.js"),
4242
"^.+\\.css$": path.resolve(currentDir, "./transform/cssTransform.js"),

client/config/test/jest.setup-after-env.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,36 @@ window.ResizeObserver = function () {
2121
disconnect: () => {},
2222
};
2323
};
24+
25+
Object.defineProperty(window, 'ImageData', { value: 'yourValue' });
26+
Object.defineProperty(window, 'MediaStreamTrack', { value: 'yourValue' });
27+
Object.defineProperty(window, 'URL', {
28+
writable: true,
29+
value: {
30+
createObjectURL: jest.fn(),
31+
}
32+
});
33+
Object.defineProperty(window, "navigator", {
34+
writable: true,
35+
value: {
36+
mediaDevices: {
37+
enumerateDevices: jest.fn(),
38+
},
39+
userAgent: '',
40+
language: '',
41+
browserLanguage: '',
42+
},
43+
});
44+
45+
class Worker {
46+
constructor(stringUrl) {
47+
this.url = stringUrl;
48+
this.onmessage = () => {};
49+
}
50+
51+
postMessage(msg) {
52+
this.onmessage(msg);
53+
}
54+
}
55+
56+
window.Worker = Worker;

client/package.json

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@
2525
"@babel/preset-typescript": "^7.18.6",
2626
"@rollup/plugin-typescript": "^8.5.0",
2727
"@testing-library/jest-dom": "^5.16.5",
28-
"@testing-library/react": "^12.0.0",
29-
"@testing-library/user-event": "^13.2.1",
30-
"@types/ali-oss": "^6.16.4",
3128
"@types/file-saver": "^2.0.5",
3229
"@types/jest": "^29.2.2",
3330
"@types/mime": "^2.0.3",
@@ -37,17 +34,16 @@
3734
"@types/react-resizable": "^3.0.5",
3835
"@types/react-router-dom": "^5.3.2",
3936
"@types/shelljs": "^0.8.11",
40-
"@types/styled-components": "^5.1.19",
4137
"@types/stylis": "^4.0.2",
4238
"@types/tern": "0.23.4",
43-
"@types/toposort": "^2.0.3",
4439
"@types/ua-parser-js": "^0.7.36",
4540
"@welldone-software/why-did-you-render": "^6.2.3",
4641
"add": "^2.0.6",
4742
"babel-jest": "^29.3.0",
4843
"babel-preset-react-app": "^10.0.1",
4944
"husky": "^8.0.1",
5045
"jest": "^29.5.0",
46+
"jest-canvas-mock": "^2.5.2",
5147
"jest-environment-jsdom": "^29.5.0",
5248
"lint-staged": "^13.0.1",
5349
"lowcoder-cli": "workspace:^",
@@ -66,14 +62,17 @@
6662
},
6763
"packageManager": "yarn@3.6.4",
6864
"resolutions": {
69-
"@types/react": "^17",
65+
"@types/react": "^18",
7066
"moment": "2.29.2",
7167
"canvas": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.2.1.tgz",
7268
"react-virtualized@^9.22.3": "patch:react-virtualized@npm%3A9.22.3#./.yarn/patches/react-virtualized-npm-9.22.3-0fff3cbf64.patch",
7369
"eslint-plugin-only-ascii@^0.0.0": "patch:eslint-plugin-only-ascii@npm%3A0.0.0#./.yarn/patches/eslint-plugin-only-ascii-npm-0.0.0-29e3417685.patch"
7470
},
7571
"dependencies": {
7672
"@lottiefiles/react-lottie-player": "^3.5.3",
73+
"@testing-library/react": "^14.1.2",
74+
"@testing-library/user-event": "^14.5.1",
75+
"@types/styled-components": "^5.1.34",
7776
"antd-mobile": "^5.28.0",
7877
"chalk": "4",
7978
"number-precision": "^1.6.0",
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
*.tgz
2-
/node_modules
2+
.DS_Store
3+
node_modules
4+
*.zip
Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
1-
# lowcoder-cli-template-typescript
1+
# Lowcoder Demonstrator Plugin Sourcecode
22

3-
This is the official typescript template of lowcoder-cli.
3+
## Overview
44

5-
This template will be used by default.
5+
This repository contains the demonstrator code for a Component Plugin in Lowcoder. It serves as a practical example and a reference for developers looking to build their own Component Plugins within the Lowcoder framework.
6+
7+
This repository is not about to integrate the Plugin like other NPM repositories. However, for the Lowcoder Component Plugin Creator we wanted to publish the Demonstrator Plugin code sources.
8+
9+
### The Lowcoder App Editor
10+
11+
<p align="center">
12+
<img src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/main/images/App%20Editor%20%7C%20Main%20Screeen%20clean.png" alt="Lowcoder App Editor">
13+
</p>
14+
15+
### Purpose
16+
17+
The primary goal of this repository is to showcase best practices, demonstrate the structure, and provide a clear example of how to develop Component Plugins for Lowcoder. It is intended to be a learning resource rather than a production-ready solution.
18+
19+
## Getting Started
20+
21+
To explore this demonstrator plugin, install and test it in action you can use the "Lowcoder Component Plugin Builder". https://www.npmjs.com/package/create-lowcoder-plugin
22+
23+
### The Lowcoder Component Plugin Builder and Preivew
24+
25+
<p align="center">
26+
<img src="https://raw.githubusercontent.com/lowcoder-org/lowcoder-media-assets/main/images/Component%20Plugin%20Builder%20%7C%20Preview.png" alt="Lowcoder Plugin Preview">
27+
</p>
Lines changed: 17 additions & 0 deletions
Loading

client/packages/lowcoder-cli-template-typescript/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8" />
55
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>Lowcoder Comp Playground</title>
7+
<title>Lowcoder Component Plugin Preview</title>
88
<style>
99
#root {
1010
height: 100vh;

client/packages/lowcoder-cli-template-typescript/index.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import ReactDOM from "react-dom";
1+
import { createRoot } from 'react-dom/client';
22
import { CompIDE } from "lowcoder-sdk";
33
import { name, version, lowcoder } from "./package.json";
44
import compMap from "./src/index";
5-
65
import "lowcoder-sdk/dist/style.css";
76

87
function CompDevApp() {
@@ -15,5 +14,6 @@ function CompDevApp() {
1514
/>
1615
);
1716
}
18-
19-
ReactDOM.render(<CompDevApp />, document.querySelector("#root"));
17+
const container = document.querySelector("#root") as Element | DocumentFragment;
18+
const root = createRoot(container);
19+
root.render(<CompDevApp />);

0 commit comments

Comments
 (0)