mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-01 22:23:07 +00:00
refactor(import): load the import engine as a dependency
This commit is contained in:
@@ -94,16 +94,16 @@ facade. App and CLI may import the low-level driver from
|
||||
code imports from `@getpaseo/client`. Node automation uses
|
||||
`@getpaseo/client/node`, which owns daemon discovery, authentication, transport
|
||||
selection, and the capability-gated host automation facade shared by the CLI and
|
||||
published migration tools.
|
||||
published import tools.
|
||||
|
||||
### `packages/migrate` — Installation migration CLI
|
||||
### External project import
|
||||
|
||||
Published as `@getpaseo/migrate`. It inspects third-party installation metadata
|
||||
through source adapters, maps source-neutral projects/config/workspaces, and
|
||||
applies them through the public Node host automation client. Source knowledge and
|
||||
fixtures stay in this package; the daemon and shared app workflow remain
|
||||
source-neutral. Desktop bundles the exact-version CLI and exposes a narrow,
|
||||
local-only Electron bridge for supported migrations.
|
||||
The private [`getpaseo/import`](https://github.com/getpaseo/import) repository publishes
|
||||
`@getpaseo/import`. It owns source discovery, parsing, mapping, fixtures, the CLI, and the
|
||||
programmatic import engine. Paseo Desktop pins an exact package version and calls its library
|
||||
entrypoint from Electron main, passing the public Node host-automation facade and forwarding typed
|
||||
progress events through a narrow IPC bridge. Paseo does not contain source databases, parsers, or
|
||||
import-package release machinery.
|
||||
|
||||
### `packages/app` — Mobile + web client (Expo)
|
||||
|
||||
|
||||
+5
-5
@@ -156,13 +156,13 @@ Vitest picks up tests by suffix. The suffix tells the runner which category it b
|
||||
|
||||
App-level Playwright browser E2E lives in `packages/app/e2e/*.spec.ts` and runs via `npm run test:e2e --workspace=@getpaseo/app` (separate from Vitest E2E). App Playwright specs that hit real providers use `*.real.spec.ts` and run through `npm run test:e2e:real --workspace=@getpaseo/app`; the default app E2E project ignores that suffix so CI does not need provider credentials.
|
||||
|
||||
Desktop migration coverage starts from the real product Integrations row and crosses the real
|
||||
Electron main process, compiled sandboxed preload, production migration IPC, a real
|
||||
Desktop-managed daemon, and the bundled migration entrypoint. It covers confirmation, streamed
|
||||
output, success, failure, and ineligible-host UI:
|
||||
Desktop import coverage starts from the real product Integrations row and crosses the real Electron
|
||||
main process, compiled sandboxed preload, production import IPC, the installed import library, and a
|
||||
real Desktop-managed daemon. It covers confirmation, streamed output, success, failure, and
|
||||
ineligible-host UI:
|
||||
|
||||
```bash
|
||||
npm run test:migration-electron --workspace=@getpaseo/desktop
|
||||
npm run test:import-electron --workspace=@getpaseo/desktop
|
||||
```
|
||||
|
||||
Live provider smoke tests belong in `*.real.e2e.test.ts`, not `*.test.ts`, even when guarded by environment variables. Default unit suites must use deterministic provider adapters/fakes so missing credits, auth outages, and upstream model drift do not block normal CI.
|
||||
|
||||
Reference in New Issue
Block a user