Skip to content

arch phase 2b scaffold hexagon - #10332

Draft
gatzjames wants to merge 2 commits into
arch-phase-2a-rename-appsfrom
arch-phase-2b-scaffold-hexagon
Draft

arch phase 2b scaffold hexagon#10332
gatzjames wants to merge 2 commits into
arch-phase-2a-rename-appsfrom
arch-phase-2b-scaffold-hexagon

Conversation

@gatzjames

Copy link
Copy Markdown
Contributor

No description provided.

…cture/

Consolidates the compilerOptions duplicated verbatim across all 7 tsconfig
files (esModuleInterop, skipLibCheck, resolveJsonModule, moduleResolution,
isolatedModules, strict, noImplicitReturns, noUnusedLocals,
noUnusedParameters, noFallthroughCasesInSwitch, useUnknownInCatchVariables)
into .config/tsconfig.base.json. Every package now extends it, keeping only
its genuinely package-specific options (target/module, lib, jsx, paths,
rootDirs, allowJs, types, noEmit, sourceMap, verbatimModuleSyntax,
forceConsistentCasingInFileNames) locally. insomnia-data's own
tsconfig.base.json now extends the shared base too, cascading to its three
sub-tsconfigs.

Deliberately left eslint.config.mjs and vite.config.ts where they are -
each is already a single canonical file with nothing to deduplicate, and
physically relocating them into .config/ would break ESLint's directory
auto-discovery (it only walks upward, not into a sibling dir) and require
rewriting every __dirname-relative path in vite.config.ts, for zero benefit.

Scaffolds domain/, application/, infrastructure/ as three new top-level
workspace packages (one per layer, per the open decision on package
granularity), each with a placeholder src/index.ts to be populated
incrementally in Phase 2c. Wires three new dependency-cruiser rules in
warning mode enforcing the layer dependency direction (domain depends on
nothing; application depends on domain only; infrastructure depends on
domain plus external libs, never application). The apps/*-route-vs-bootstrap
boundary is deliberately deferred - there's no established bootstrap-file
convention yet to encode, and nothing consumes these packages yet to verify
against.

Note: naming the domain package literally "domain" creates a
node_modules/domain symlink that could shadow Node's deprecated core
`domain` module for a bare `require("domain")` in a bundled (non-Node)
context. Plain CommonJS require() always prioritizes core modules, so this
is inert today; flagging it since the plan's target folder structure
specifies this exact name.

Also fixes several extensionless-file path references (.prettierrc,
.prettierignore, .gitattributes, apps/cli/Dockerfile, two .insorc fixtures)
that Phase 2a's rename sweep missed because it only searched files with a
known extension.

Verified: lint, type-check, the full test suite (all workspaces), and
check-boundaries all pass clean. Re-verified apps/cli's unit tests and
esbuild bundle build after the tsconfig changes.
Config consolidation (a shared tsconfig.base.json) isn't earning its
keep yet with only three empty scaffold packages depending on it -
reverting to every tsconfig being fully self-contained, matching how
the repo already worked before this phase. Re-evaluate consolidation
once there's a real, populated set of consumers to shape it around,
per the plan's own "re-evaluate at the end" framing for config files.

domain/application/infrastructure's tsconfig.json files keep the same
compilerOptions, just inlined instead of extended.
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

✅ Circular References Report

Generated at: 2026-08-05T08:24:42.405Z
Status: ✅ NO CHANGE

Summary

Metric Base (arch-phase-2a-rename-apps) PR Change
Total Circular References 13 13 0 (0.00%)
Click to view all circular references in PR (13)
../apps/desktop/src/common/render.ts -> ../apps/desktop/src/network/network.ts
../apps/desktop/src/network/network.ts -> ../apps/desktop/src/network/concurrency.renderer.ts -> insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/response.ts
../packages/insomnia-scripting-environment/src/objects/collection.ts -> ../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts -> ../packages/insomnia-scripting-environment/src/objects/insomnia.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts -> ../packages/insomnia-scripting-environment/src/objects/insomnia.ts -> ../packages/insomnia-scripting-environment/src/objects/send-request.ts
desktop/src/main/prompt-bridge.ts -> desktop/src/main/window-utils.ts -> desktop/src/main/plugin-window.ts
desktop/src/main/window-utils.ts -> desktop/src/main/plugin-window.ts
desktop/src/network/network.ts -> desktop/src/common/render.ts
desktop/src/ui/components/settings/import-export.tsx -> desktop/src/ui/components/modals/export-requests-modal.tsx
desktop/src/ui/components/tabs/tab-list.tsx -> desktop/src/ui/components/tabs/tab.tsx
desktop/src/ui/components/templating/tag-editor-arg-sub-form.tsx -> desktop/src/ui/components/templating/external-vault/external-vault-form.tsx
desktop/src/ui/components/viewers/response-viewer.tsx -> desktop/src/ui/components/viewers/response-multipart-viewer.tsx
Click to view all circular references in base branch (13)
../apps/desktop/src/common/render.ts -> ../apps/desktop/src/network/network.ts
../apps/desktop/src/network/network.ts -> ../apps/desktop/src/network/concurrency.renderer.ts -> insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/response.ts
../packages/insomnia-scripting-environment/src/objects/collection.ts -> ../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts -> ../packages/insomnia-scripting-environment/src/objects/insomnia.ts
../packages/insomnia-scripting-environment/src/objects/response.ts -> desktop/src/network/network.ts -> ../packages/insomnia-scripting-environment/src/objects/index.ts -> ../packages/insomnia-scripting-environment/src/objects/insomnia.ts -> ../packages/insomnia-scripting-environment/src/objects/send-request.ts
desktop/src/main/prompt-bridge.ts -> desktop/src/main/window-utils.ts -> desktop/src/main/plugin-window.ts
desktop/src/main/window-utils.ts -> desktop/src/main/plugin-window.ts
desktop/src/network/network.ts -> desktop/src/common/render.ts
desktop/src/ui/components/settings/import-export.tsx -> desktop/src/ui/components/modals/export-requests-modal.tsx
desktop/src/ui/components/tabs/tab-list.tsx -> desktop/src/ui/components/tabs/tab.tsx
desktop/src/ui/components/templating/tag-editor-arg-sub-form.tsx -> desktop/src/ui/components/templating/external-vault/external-vault-form.tsx
desktop/src/ui/components/viewers/response-viewer.tsx -> desktop/src/ui/components/viewers/response-multipart-viewer.tsx

Analysis

No Change: This PR does not introduce or remove any circular references.


This report was generated automatically by comparing against the arch-phase-2a-rename-apps branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant