Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
2.7 KiB
2.7 KiB
SoftwareOne Extension (Enterprise)
This package adds SoftwareOne navigation, settings, agreements, and statements UI to Alga PSA. Delivery is v2‑only via the runner/iframe architecture using the v2 manifest and bundle.
Current State
- UI is a mix of JSON descriptors (navigation, settings page) and React pages/components (agreements, statements, details), built with Vite.
- No server WASM handlers are included; descriptor handler stubs are present only for typing.
Directory Structure
manifest.json— EE v2 bundle manifest (used for runner packaging)src/descriptors/— JSON descriptors (navigation + settings page)src/components/— React wrappers and UI pieces referenced by descriptorssrc/pages/— React pages (Agreements, Agreement Detail, Statements, Statement Detail, Settings)vite.config.ts— Default build (ESM, externals)vite.browser.config.ts— Browser‑external React build
Build
- Install root dependencies (ensures
@alga/ui-kit):npm install
- Build outputs (ES modules under
dist/):cd ee/extensions/softwareone-extnpm run build- Produces
dist/{components,pages}/**.jsplus shared modules - Externalizes:
react,react-dom,react-router-dom,formik,yup,@tanstack/react-query - Optional: browser‑external build →
npx vite build -c vite.browser.config.ts
Develop
- Watch build:
npm run build -- --watch - Vite dev server (for UI iteration):
npm run dev
Host Integration
- Install via v2 registry and serve UI through the runner iframe per the v2 docs.
Packaging (EE v2, optional)
This project includes a v2 manifest.json and tools to produce a content‑addressed bundle for the EE runner.
- Pack from project (stages then packs):
node ee/tools/ext-bundle/pack-project.ts --project ee/extensions/softwareone-ext --out dist/softwareone/bundle.tar.zst- Stages
manifest.json, and includesui/+dist/if present, then packs usingpack.ts. - Overwrite existing bundle: append
--force(otherwise you’ll be prompted in interactive shells)
- Result artifacts:
dist/softwareone/bundle.tar.zstanddist/softwareone/bundle.sha256
Known Limitations
- Descriptor handlers are placeholders; no server execution environment is included here.
- Settings is fully descriptor‑driven; other routes provide React pages that can be wired via descriptors/wrappers.
- EE runner + iframe delivery requires a v2 bundle and server support.
References
- EE Overview:
ee/docs/extension-system/overview.md - Development Guide:
ee/docs/extension-system/development_guide.md - Example Bundle:
ee/docs/examples/extension-bundle-v2
License
Proprietary. See ee/LICENSE.md.