-
Notifications
You must be signed in to change notification settings - Fork 664
[Feat] Implement the UI pages for Activepieces integration #9137
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
base: develop
Are you sure you want to change the base?
Conversation
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Overview
Summary
This PR introduces the initial scaffolding for an Activepieces integration UI plugin within the Ever Gauzy monorepo. Activepieces is a workflow automation platform, and this plugin aims to provide user interface components for managing Activepieces workflows within the Gauzy application.The changes follow the established plugin architecture pattern used by other integration plugins in the codebase (such as GitHub and Upwork integrations). The implementation creates a new plugin package at packages/plugins/integration-activepieces-ui/
with the standard monorepo structure including TypeScript configurations, build scripts, and project metadata.
Key architectural components added include:
- Project configuration files (tsconfig.json, project.json, package.json) that establish the plugin as a buildable library within the Nx workspace
- TypeScript path mapping in the root tsconfig.json to enable module resolution for
@gauzy/plugin-integration-activepieces-ui
- Service layer scaffolding in
packages/ui-core/core/src/lib/services/activepieces/
for handling Activepieces-related operations - Standard development tooling setup (ESLint, Jest) following project conventions
The plugin integrates with the existing UI core services architecture and follows the separation of concerns between backend API integration and frontend UI components that is characteristic of other integration plugins in the system.
PR Description Notes:
- The contributing guidelines checkbox is not checked
- The explanation of changes and value proposition is missing
- The PR body indicates it may be closed without the required information
Changed Files
Filename | Score | Overview |
---|---|---|
packages/plugins/integration-activepieces-ui/tsconfig.json | 5/5 | Standard TypeScript project configuration extending base config with project references |
tsconfig.json | 5/5 | Added path mapping for new Activepieces UI plugin following established pattern |
packages/plugins/integration-activepieces-ui/project.json | 5/5 | Nx project configuration for library with build, test, and lint targets |
packages/plugins/integration-activepieces-ui/src/index.ts | 4/5 | Plugin entry point with barrel export pattern but minimal implementation |
packages/ui-core/core/src/lib/services/activepieces/activepieces-store.service.ts | 0/5 | Empty file with no implementation - critical issue |
packages/plugins/integration-activepieces-ui/README.md | 5/5 | Standard Nx-generated README with build and test instructions |
packages/plugins/integration-activepieces-ui/eslint.config.cjs | 5/5 | Proper ESLint configuration following established patterns |
packages/ui-core/core/src/lib/services/activepieces/activepieces.service.ts | 0/5 | Completely empty service file - critical missing implementation |
packages/plugins/integration-activepieces-ui/tsconfig.spec.json | 2/5 | Test TypeScript config with deprecated moduleResolution settings |
packages/plugins/integration-activepieces-ui/jest.config.ts | 3/5 | Jest configuration using 'node' environment instead of 'jsdom' for UI plugin |
packages/plugins/integration-activepieces-ui/src/lib/integration-activepieces-ui.module.ts | 1/5 | Uses NestJS backend module instead of Angular NgModule for UI plugin |
packages/ui-core/core/src/lib/services/activepieces/index.ts | 1/5 | Empty barrel export file missing service exports |
packages/plugins/integration-activepieces-ui/tsconfig.lib.json | 3/5 | Library TypeScript config with some inconsistencies compared to project patterns |
packages/plugins/integration-activepieces-ui/package.json | 2/5 | Minimal package.json missing many required fields and dependencies |
Confidence score: 1/5
- This PR has critical implementation issues and is not ready for production deployment
- Score reflects multiple empty service files, architectural mismatches, and incomplete plugin structure
- Pay close attention to service implementation files and the main module file which use wrong frameworks
Additional Comments (2)
-
packages/ui-core/core/src/lib/services/activepieces/activepieces-store.service.ts
, line 1 (link)logic: File appears to be empty or content was not properly included in the PR submission. Please ensure the file content is properly provided for review.
-
packages/ui-core/core/src/lib/services/activepieces/activepieces.service.ts
, line 1 (link)logic: Critical: Service implementation is completely missing. This file should contain the ActivepiecesService class with methods for handling Activepieces integration operations, API calls, and data management.
Context used:
Context from dashboard
- Always check the boxes in the PR template and provide all requested information, or the PR may be cl... (source)
14 files reviewed, 9 comments
export default { | ||
displayName: 'integration-activepieces-ui', | ||
preset: '../../../jest.preset.js', | ||
testEnvironment: 'node', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: The test environment should be 'jsdom' instead of 'node' for a UI plugin. Angular components and UI code require a DOM environment for proper testing.
testEnvironment: 'node', | |
testEnvironment: 'jsdom', |
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/jest.config.ts
Line: 4:4
Comment:
**logic:** The test environment should be 'jsdom' instead of 'node' for a UI plugin. Angular components and UI code require a DOM environment for proper testing.
```suggestion
testEnvironment: 'jsdom',
```
How can I resolve this? If you propose a fix, please make it concise.
@@ -0,0 +1,8 @@ | |||
import { Module } from '@nestjs/common'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Wrong framework import - should use Angular @NgModule
from @angular/core
instead of NestJS @Module
for a UI plugin
import { Module } from '@nestjs/common'; | |
import { NgModule } from '@angular/core'; |
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/src/lib/integration-activepieces-ui.module.ts
Line: 1:1
Comment:
**logic:** Wrong framework import - should use Angular `@NgModule` from `@angular/core` instead of NestJS `@Module` for a UI plugin
```suggestion
import { NgModule } from '@angular/core';
```
How can I resolve this? If you propose a fix, please make it concise.
@Module({ | ||
controllers: [], | ||
providers: [], | ||
exports: [] | ||
}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Using NestJS @Module
decorator for a UI plugin is incorrect - Angular UI plugins should use @NgModule
with imports, declarations, and exports appropriate for Angular components
@Module({ | |
controllers: [], | |
providers: [], | |
exports: [] | |
}) | |
@NgModule({ | |
imports: [], | |
declarations: [], | |
exports: [] | |
}) |
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/src/lib/integration-activepieces-ui.module.ts
Line: 3:7
Comment:
**logic:** Using NestJS `@Module` decorator for a UI plugin is incorrect - Angular UI plugins should use `@NgModule` with imports, declarations, and exports appropriate for Angular components
```suggestion
@NgModule({
imports: [],
declarations: [],
exports: []
})
```
How can I resolve this? If you propose a fix, please make it concise.
controllers: [], | ||
providers: [], | ||
exports: [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Empty module configuration provides no functionality - UI modules typically need declarations for components, imports for dependencies, and exports for public API
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/src/lib/integration-activepieces-ui.module.ts
Line: 4:6
Comment:
**style:** Empty module configuration provides no functionality - UI modules typically need declarations for components, imports for dependencies, and exports for public API
How can I resolve this? If you propose a fix, please make it concise.
"strictNullChecks": true, | ||
"noImplicitAny": true, | ||
"strictBindCallApply": true, | ||
"forceConsistentCasingInFileNames": true, | ||
"noFallthroughCasesInSwitch": true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: Individual strict options can be replaced with 'strict: true' which enables all strict type checking options
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/tsconfig.lib.json
Line: 8:12
Comment:
**style:** Individual strict options can be replaced with 'strict: true' which enables all strict type checking options
How can I resolve this? If you propose a fix, please make it concise.
{ | ||
"name": "@gauzy/plugin-integration-activepieces-ui", | ||
"version": "0.0.1", | ||
"type": "commonjs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
syntax: Type should be 'module' not 'commonjs' to match other plugin packages in the codebase
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/package.json
Line: 4:4
Comment:
**syntax:** Type should be 'module' not 'commonjs' to match other plugin packages in the codebase
How can I resolve this? If you propose a fix, please make it concise.
"main": "./src/index.js", | ||
"types": "./src/index.d.ts", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Main and types paths should point to dist directory (./dist/index.js, ./dist/index.d.ts) to match build output structure
"main": "./src/index.js", | |
"types": "./src/index.d.ts", | |
"main": "./dist/index.js", | |
"types": "./dist/index.d.ts", |
Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/plugins/integration-activepieces-ui/package.json
Line: 5:6
Comment:
**logic:** Main and types paths should point to dist directory (./dist/index.js, ./dist/index.d.ts) to match build output structure
```suggestion
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
```
How can I resolve this? If you propose a fix, please make it concise.
PR
Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.