Skip to content

feat(nx-workspace-tools): Add documentation - #6

Merged
eweap merged 6 commits into
mainfrom
feat/create-doc
Aug 29, 2026
Merged

eweap merged 6 commits into
mainfrom
feat/create-doc

Conversation

@eweap

@eweap eweap commented Aug 29, 2026

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI lite review requested due to automatic review settings August 29, 2026 22:33
@nx-cloud

nx-cloud Bot commented Aug 29, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit e60a9c0

Command Status Duration Result
nx run-many -t lint test build typecheck ✅ Succeeded 1m 51s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-08-29 22:56:20 UTC

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

It introduces confirmed functional breakages (pnpm workspace globs exclude packages/*, an E2E test asserts non-existent content, and addInternalDepsToPackageJson can throw when package.json is missing).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR introduces a static documentation website (Vue + Tailwind + Vite) for nx-workspace-tools, adds Playwright E2E scaffolding, and refactors/extends parts of the generator test suite and utilities to support the updated workspace setup.

Changes:

  • Add a new apps/website Vue/Vite app that renders documentation content for the Nx plugin.
  • Add a new apps/website-e2e Playwright project and wire it into Nx via nx.json plugins.
  • Refactor generator utilities/tests (new specs for patching utilities; move addInternalDepsToPackageJson into its own module) and adjust workspace/config files for the new apps.
File summaries
File Description
tsconfig.json Adds TS solution references for the new website apps.
pnpm-workspace.yaml Updates pnpm workspace package globs and pnpm workspace settings.
packages/nx-workspace-tools/src/generators/feature-libs/utils/string-helpers.spec.ts Renames test descriptions for consistency.
packages/nx-workspace-tools/src/generators/feature-libs/utils/patch-file.spec.ts Replaces todo with real unit tests for file patching utility.
packages/nx-workspace-tools/src/generators/feature-libs/utils/library-generators.ts Updates import to new internal-deps helper module.
packages/nx-workspace-tools/src/generators/feature-libs/utils/library-generators.spec.ts Updates mocks/imports to match the internal-deps helper move.
packages/nx-workspace-tools/src/generators/feature-libs/utils/file-helpers.spec.ts Removes placeholder todo spec.
packages/nx-workspace-tools/src/generators/feature-libs/utils/context.spec.ts Renames test description for consistency.
packages/nx-workspace-tools/src/generators/feature-libs/utils/add-internal-deps.ts Adjusts internal dependency injection logic (now assumes package.json exists).
packages/nx-workspace-tools/src/generators/feature-libs/utils/add-internal-deps.spec.ts Adds new tests for internal dependency insertion behavior.
packages/nx-workspace-tools/src/generators/feature-libs/feature-libs.spec.ts Replaces snapshot-heavy generator tests with delegation tests using mocks.
packages/nx-workspace-tools/src/executors/internal-deps/internal-deps.spec.ts Renames test descriptions for consistency.
packages/nx-workspace-tools/package.json Removes direct nx dependency and excludes snapshots from packaging.
package.json Adds dependencies/devDependencies needed for the website and Playwright.
nx.json Adds Nx Vite + Playwright plugins and tweaks cache inputs/changelog config.
eslint.config.mjs Expands ignore patterns and adds .vue to linted file globs.
CHANGELOG.md Fixes formatting/indentation.
apps/website/vite.config.mts Adds Vite config for the website (including Vitest config).
apps/website/tsconfig.spec.json Adds test TS config for website Vitest setup.
apps/website/tsconfig.json Adds TS project references for website app/spec configs.
apps/website/tsconfig.app.json Adds app TS config for Vue/Vite build.
apps/website/src/vue-shims.d.ts Adds Vue SFC typing shim.
apps/website/src/styles.css Adds Tailwind + global styles for the website UI.
apps/website/src/main.ts Boots the Vue app and mounts it.
apps/website/src/app/utils/docs-content.ts Provides structured docs content (TOC, features, API entries/snippets).
apps/website/src/app/components/TocNav.vue Adds TOC navigation component.
apps/website/src/app/components/SectionBlock.vue Adds reusable section wrapper component.
apps/website/src/app/components/HeroSection.vue Adds hero header component for the docs landing section.
apps/website/src/app/components/FeatureCard.vue Adds feature highlight card component.
apps/website/src/app/components/DocumentationMain.vue Composes the full documentation page layout and content blocks.
apps/website/src/app/components/DocItem.vue Renders API reference entries and option tables.
apps/website/src/app/components/CodeSnippet.vue Adds syntax-highlighted code blocks with copy-to-clipboard.
apps/website/src/app/components/AppHeader.vue Adds header with navigation and theme toggle.
apps/website/src/app/components/AppFooter.vue Adds footer with repo/source links and copyright.
apps/website/src/app/App.vue Adds full app shell with theme switching + section observer.
apps/website/src/app/App.spec.ts Adds a basic render test for the docs content.
apps/website/package.json Adds Nx project metadata for the website app.
apps/website/index.html Adds static HTML entrypoint for the website app.
apps/website/eslint.config.mjs Adds app-specific Vue ESLint configuration.
apps/website-e2e/tsconfig.json Adds TS config for Playwright E2E project.
apps/website-e2e/src/example.spec.ts Adds initial Playwright E2E test scaffold.
apps/website-e2e/playwright.config.mts Adds Playwright + Nx preset configuration and webServer command.
apps/website-e2e/package.json Adds Nx project metadata and implicit dependency on website.
apps/website-e2e/eslint.config.mjs Adds Playwright ESLint configuration for E2E project.
.vscode/extensions.json Recommends Playwright VS Code extension.
.prettierrc Enables single-attribute-per-line formatting.
.gitignore Adds ignores for Vite timestamp files and test-output.
.github/workflows/publish.yml Builds and deploys the website to GitHub Pages during tag publish.
Review details

Suppressed comments (1)

packages/nx-workspace-tools/src/generators/feature-libs/utils/add-internal-deps.ts:17

  • addInternalDepsToPackageJson calls updateJson unconditionally; if the generated library doesn't have a package.json (common unless the workspace is configured for package-based projects), this will throw and fail the generator. The previous guard/initializer was removed, but callers still assume this is safe.
  • Files reviewed: 44/49 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread pnpm-workspace.yaml
Comment thread apps/website-e2e/src/example.spec.ts Outdated
eweap and others added 3 commits August 30, 2026 00:45
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

@nx-cloud nx-cloud Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ The fix was rejected

We are restoring "nx": "*" to the dependencies in packages/nx-workspace-tools/package.json, which was unintentionally removed in this PR. This caused the @nx/dependency-checks ESLint rule to fail because the project's source still imports from nx but the package was no longer declared as a dependency. Adding it back will resolve the lint error and ensure the published package correctly declares all its runtime dependencies.

Tip

We verified this fix by re-running nx-workspace-tools:lint.

Warning

The suggested diff is too large to display here, but you can view it on Nx Cloud ↗


View interactive diff ↗



🎓 Learn more about Self-Healing CI on nx.dev

@eweap
eweap merged commit d05befd into main Aug 29, 2026
1 check passed
@eweap
eweap deleted the feat/create-doc branch August 29, 2026 22:56
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.

2 participants