8de19320c5
Generate the four phase-4 libraries: - libs/shared/tokens (project name shared-tokens) - plain TS lib via @nx/js:library; will host the a11y design tokens (palette, contrast tiers, spacing, motion) once Tailwind lands in phase 5; consumable by both apps; tagged scope:shared, type:shared. - libs/shared/util (shared-util) - plain TS lib for cross-cutting utility code; tagged scope:shared, type:shared. - libs/shared/ui (shared-ui) - Angular standalone library that will host the spartan-ng components copy-pasted in phase 5; Angular-only so tagged scope:portal-shell, type:shared. unitTestRunner= vitest-analog because vitest-angular requires a buildable lib. - libs/feature/auth (feature-auth) - placeholder Angular standalone feature lib to demonstrate the type:feature pattern; tagged scope:portal-shell, type:feature. @nx/enforce-module-boundaries depConstraints replaced (root eslint.config.mjs) with the rules from ADR-0003: scope:portal-shell -> scope:portal-shell, scope:shared scope:portal-bff -> scope:portal-bff, scope:shared scope:shared -> scope:shared type:app -> type:feature, type:shared type:feature -> type:feature, type:shared type:shared -> type:shared This forbids portal-shell from importing portal-bff code (and vice versa) and prevents shared libs from depending on feature libs. Project names follow the convention of ADR-0003 (feature-<name> / shared-<scope>) by passing --name explicitly to the generator; the Nx 22 default takes only the last directory segment. Sanity check: pnpm nx run-many -t lint and -t test pass for the 8 projects (4 apps/e2e + 4 libs). Side effects from the generators: tsconfig.base.json paths populated with the lib import aliases; nx.json gains vite/playwright plugin entries; .gitignore picks up vitest.config.*.timestamp* (Vitest temp files); package.json gains @analogjs/vitest-angular and related devDeps; pnpm-lock.yaml regenerated. Two eslint-disable comments in portal-bff-e2e support files were trimmed by lint --fix - those files already lint clean without the directive.
52 lines
634 B
Plaintext
52 lines
634 B
Plaintext
# Dependencies
|
|
node_modules/
|
|
.pnpm-store/
|
|
|
|
# Build outputs
|
|
dist/
|
|
build/
|
|
out-tsc/
|
|
tmp/
|
|
.nx/cache/
|
|
.nx/workspace-data/
|
|
|
|
# Test artifacts
|
|
coverage/
|
|
.test-output/
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
pnpm-debug.log*
|
|
|
|
# Environment / secrets
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
*.pem
|
|
*.key
|
|
|
|
# OS / editor scrap
|
|
.DS_Store
|
|
Thumbs.db
|
|
*.swp
|
|
*~
|
|
.idea/
|
|
|
|
# VS Code: keep shared settings, ignore local overrides
|
|
.vscode/*.local
|
|
.vscode/*.code-workspace
|
|
|
|
# Claude Code: keep shared settings, ignore local overrides
|
|
.claude/settings.local.json
|
|
|
|
# Personal scratchpad — see CLAUDE.md
|
|
notes/
|
|
|
|
.angular
|
|
|
|
__screenshots__/
|
|
|
|
vitest.config.*.timestamp*
|