Skip to content

Dev -> Main for 2.7.1 #1739

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ server/api-service/lowcoder-server/src/main/resources/application-local-dev.yaml
translations/locales/node_modules/
server/api-service/lowcoder-server/src/main/resources/application-local-dev-ee.yaml
node_modules

# Local Netlify folder
.netlify
71 changes: 70 additions & 1 deletion client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,73 @@ When you finish developing and testing the plugin, you can publish it into the n
yarn build --publish
```

You can check a code demo here: [Code Demo on Github](https://github.com/lowcoder-org/lowcoder/tree/main/client/packages/lowcoder-plugin-demo)
You can check a code demo here: [Code Demo on Github](https://github.com/lowcoder-org/lowcoder/tree/main/client/packages/lowcoder-plugin-demo)

# Deployment of the Lowcoder Frontend to Netlify (Local Build Flow)

## ⚙️ Prerequisites

* Node.js & Yarn installed
* Netlify CLI installed:

```bash
npm install -g netlify-cli
```

* Netlify CLI authenticated:

```bash
netlify login
```

* The project is linked to the correct Netlify site:

```bash
cd client
netlify link
```

---

## 🛠 Setup `netlify.toml` (only once)

Inside the `client/` folder, create or update `netlify.toml`:

```toml
[build]
base = "client"
command = "yarn workspace lowcoder build"
publish = "client/packages/lowcoder/build"
```

This ensures Netlify uses the correct build and publish paths when building locally.

---

## 🚀 Deployment Steps

1️⃣ Navigate into the `client` folder:

```bash
cd client
```

2️⃣ Run local build (with Netlify environment variables injected):

```bash
netlify build
```

3️⃣ Deploy to production:

```bash
netlify deploy --prod --dir=packages/lowcoder/build
```

---

## 🔧 Notes

* This local build flow fully honors the environment variables configured in Netlify.
* No build happens on Netlify servers — only the deploy step runs on Netlify.
* This approach avoids Netlify’s build memory limits.
6 changes: 4 additions & 2 deletions client/netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@
from = "/*"
to = "/"
status = 200
[[plugins]]
package = "@netlify/plugin-cache"
[build]
base = "client"
command = "yarn workspace lowcoder build"
publish = "client/packages/lowcoder/build"
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ public Mono<QueryExecutionResult> executeQuery(String pluginName, Object queryDs
String json = OBJECT_MAPPER.writeValueAsString(body);

boolean encryptionEnabled = !(commonConfig.getJsExecutor().getPassword().isEmpty() || commonConfig.getJsExecutor().getSalt().isEmpty());
String payload;
Object payload;
WebClient.RequestBodySpec requestSpec = WEB_CLIENT
.post()
.uri(nodeServerHelper.createUri(RUN_PLUGIN_QUERY))
Expand All @@ -148,7 +148,7 @@ public Mono<QueryExecutionResult> executeQuery(String pluginName, Object queryDs
payload = encryptionService.encryptStringForNodeServer(json);
requestSpec = requestSpec.header("X-Encrypted", "true");
} else {
payload = json;
payload = body;
}

return requestSpec
Expand Down
Loading