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
55 lines
2.7 KiB
Markdown
55 lines
2.7 KiB
Markdown
# 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 descriptors
|
||
- `src/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-ext`
|
||
- `npm run build`
|
||
- Produces `dist/{components,pages}/**.js` plus 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 includes `ui/` + `dist/` if present, then packs using `pack.ts`.
|
||
- Overwrite existing bundle: append `--force` (otherwise you’ll be prompted in interactive shells)
|
||
- Result artifacts: `dist/softwareone/bundle.tar.zst` and `dist/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`.
|