Skip to content

Conversation

@BioPhoton
Copy link
Collaborator

@BioPhoton BioPhoton commented Dec 2, 2025

Followup of #1163
Precondition of #1188

This PR includes:

  • create nx plugin under zod2md-jsdocs
  • logic to add target config if file matches zod2md.config.ts
  • plugin docs
  • remove old config
  • remove file reference from production inputs as changes in the config may impact build output

A potential followup PR could implement a nx plugin for our build target and add dependsOn settings automatically. This is also noted in a clean up issue.

Note

This is tooling code and it is not planned to get released

Related:
#1168

@github-actions github-actions bot added 📖 Project documentation improvements or additions to the project documentation 🛠️ tooling labels Dec 2, 2025
@nx-cloud
Copy link

nx-cloud bot commented Dec 2, 2025

View your CI Pipeline Execution ↗ for commit d1eb4f8

Command Status Duration Result
nx run ci:code-pushup -- merge-diffs --files=/h... ✅ Succeeded 5s View ↗
nx run-many --targets=code-pushup --parallel=fa... ✅ Succeeded 1m 37s View ↗
nx run-many --targets=code-pushup --parallel=fa... ✅ Succeeded 13m 20s View ↗
nx run-many -t unit-test,int-test ✅ Succeeded 53s View ↗

☁️ Nx Cloud last updated this comment at 2026-01-16 22:46:33 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 2, 2025

Open in StackBlitz

@code-pushup/ci

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/ci@1162

@code-pushup/cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/cli@1162

@code-pushup/core

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/core@1162

@code-pushup/create-cli

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/create-cli@1162

@code-pushup/models

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/models@1162

@code-pushup/nx-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/nx-plugin@1162

@code-pushup/axe-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/axe-plugin@1162

@code-pushup/coverage-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/coverage-plugin@1162

@code-pushup/eslint-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/eslint-plugin@1162

@code-pushup/js-packages-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/js-packages-plugin@1162

@code-pushup/jsdocs-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/jsdocs-plugin@1162

@code-pushup/lighthouse-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/lighthouse-plugin@1162

@code-pushup/typescript-plugin

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/typescript-plugin@1162

@code-pushup/utils

npm i https://pkg.pr.new/code-pushup/cli/@code-pushup/utils@1162

commit: d1eb4f8

@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Code PushUp

🤨 Code PushUp report has both improvements and regressions – compared current commit 543447a with previous commit 270b474.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Categories

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Performance 🔴 37 🔴 39 ↑ +1.9
Code style 🟢 99 🟢 100 ↑ +0.4
Code coverage 🟢 93 🟢 92 ↓ −0.1
Bug prevention 🟡 75 🟡 75 ↓ −0.1
Axe Accessibility 🟡 88 🟡 88 ↓ −0.1
Security 🟡 51 🟡 51
Updates 🟡 78 🟡 78
Type Safety 🟡 67 🟡 67
Miscellaneous 🟡 67 🟡 67
Documentation 🔴 42 🔴 42
Accessibility 🟢 92 🟢 92
Best Practices 🟢 100 🟢 100
SEO 🟢 92 🟢 92
👍 3 groups improved, 👎 1 group regressed, 👍 6 audits improved, 👎 3 audits regressed, 14 audits changed without impacting score

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
ESLint Style guide (import) 🟡 80 🟢 100 ↑ +20
Lighthouse Performance 🔴 37 🔴 39 ↑ +1.9
ESLint Suggestions 🟢 99 🟢 100 ↑ +0.4
Code coverage Code coverage metrics 🟢 93 🟢 92 ↓ −0.1

30 other groups are unchanged.

🛡️ Audits

🔌 Plugin 🛡️ Audit 📏 Previous value 📏 Current value 🔄 Value change
ESLint Forbid unassigned imports 🟥 1 warning 🟩 passed ↓ −100 %
Lighthouse Total Blocking Time 🟥 1,890 ms 🟥 1,480 ms ↓ −21.7 %
Lighthouse Speed Index 🟥 6.0 s 🟥 5.8 s ↓ −3.9 %
Lighthouse Time to Interactive 🟥 13.0 s 🟥 12.6 s ↓ −3.8 %
Lighthouse First Contentful Paint 🟥 3.1 s 🟥 3.0 s ↓ −1 %
Lighthouse Max Potential First Input Delay 🟥 980 ms 🟥 720 ms ↓ −26.6 %
Code coverage Line coverage 🟩 92.7 % 🟩 92.3 % ↓ −0.4 %
Code coverage Function coverage 🟩 94.4 % 🟩 94.3 % ↓ −0.1 %
Code coverage Branch coverage 🟨 89 % 🟨 89 % ↓ −0.1 %
Lighthouse Avoids enormous network payloads 🟩 Total size was 2,104 KiB 🟩 Total size was 2,106 KiB ↑ +0.1 %
Lighthouse Minimizes main-thread work 🟥 9.2 s 🟥 7.6 s ↓ −17.5 %
Lighthouse Largest Contentful Paint 🟥 11.5 s 🟥 10.9 s ↓ −4.7 %
Lighthouse Metrics 🟩 100% 🟩 100% ↓ −3.8 %
Lighthouse JavaScript execution time 🟥 4.3 s 🟥 3.8 s ↓ −11.4 %
Lighthouse Server Backend Latencies 🟩 1,200 ms 🟩 770 ms ↓ −36 %
Lighthouse Uses efficient cache policy on static assets 🟨 31 resources found 🟨 31 resources found ↑ +0.1 %
Lighthouse Reduce unused CSS 🟥 Potential savings of 95 KiB 🟥 Potential savings of 95 KiB ↓ −26.2 %
Lighthouse Reduce unused JavaScript 🟥 Potential savings of 224 KiB 🟥 Potential savings of 225 KiB ↓ −11.7 %
Lighthouse Initial server response time was short 🟩 Root document took 540 ms 🟩 Root document took 510 ms ↓ −4.7 %
Lighthouse Remove duplicate modules in JavaScript bundles 🟥 Potential savings of 93 KiB 🟥 Potential savings of 90 KiB ↓ −2.2 %
Lighthouse Network Round Trip Times 🟩 10 ms 🟩 20 ms ↑ +133.2 %
JS packages Outdated npm prod dependencies. 🟨 16 outdated package versions (5 major, 8 minor, 3 patch) 🟨 15 outdated package versions (5 major, 8 minor, 2 patch) ↓ −6.2 %
JS packages Outdated npm dev dependencies. 🟨 56 outdated package versions (29 major, 19 minor, 8 patch) 🟨 55 outdated package versions (29 major, 18 minor, 8 patch) ↓ −1.8 %

656 other audits are unchanged.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Code PushUp

😟 Code PushUp report has regressed – compared current commit 543447a with previous commit 270b474.

💼 Project utils

😟 Code PushUp report has regressed.

🕵️ See full comparison in Code PushUp portal 🔍

🏷️ Category ⭐ Previous score ⭐ Current score 🔄 Score change
Documentation 🔴 45 🔴 45 ↓ −0.1

5 other categories are unchanged.

👎 1 group regressed

🗃️ Groups

🔌 Plugin 🗃️ Group ⭐ Previous score ⭐ Current score 🔄 Score change
JSDocs coverage Documentation coverage 🔴 45 🔴 45 ↓ −0.1

14 other groups are unchanged.

🛡️ Audits

All of 444 audits are unchanged.


13 other projects are unchanged.

@BioPhoton BioPhoton marked this pull request as ready for review December 2, 2025 23:41
@BioPhoton BioPhoton requested a review from matejchalk December 2, 2025 23:41
BioPhoton and others added 7 commits December 3, 2025 16:20
Co-authored-by: Matěj Chalk <34691111+matejchalk@users.noreply.github.com>
Co-authored-by: Matěj Chalk <34691111+matejchalk@users.noreply.github.com>
@BioPhoton
Copy link
Collaborator Author

BioPhoton commented Dec 16, 2025

After switching to .ts format for the Nx plugin, the graph stopped computing because of NX invalid type: unit value, expected struct Options.
I researched and found out package updates help so I updated nx packages.

After the update errors popped up that i could not fully relate to the changes:

@matejchalk could you check this changes pls.

@BioPhoton BioPhoton requested a review from matejchalk December 16, 2025 01:09
John Doe added 3 commits January 6, 2026 00:11
# Conflicts:
#	package-lock.json
#	package.json
# Conflicts:
#	packages/plugin-eslint/src/lib/eslint-plugin.int.test.ts
@BioPhoton
Copy link
Collaborator Author

I was able to resolve the same issue in NX v22 without changed in tests. (related: #1162 (comment))

@BioPhoton BioPhoton disabled auto-merge January 6, 2026 03:36
@BioPhoton BioPhoton requested a review from hanna-skryl January 7, 2026 22:24
}

module.exports = annotateTypeDefinitions;
export { annotateTypeDefinitions as default };
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think you're using the default export anymore.

Suggested change
export { annotateTypeDefinitions as default };

The only reference to this module is in index.ts, which uses a named import.

import { annotateTypeDefinitions } from './lib/transformers.js';
export {
annotateTypeDefinitions,
generateJSDocComment,
} from './lib/transformers.js';
export default annotateTypeDefinitions;

Comment on lines 10 to +12
"generate-docs",
{ "projects": "zod2md-jsdocs", "target": "build" }
{ "projects": "zod2md-jsdocs", "target": "build" },
{ "projects": "zod2md-jsdocs", "target": "ts-patch" }
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it necessary to add these dependencies manually? Couldn't the plugin infer them based on the existence of zod2md.config.ts? It's looking like a leaky abstraction at the moment.

Copy link
Collaborator Author

@BioPhoton BioPhoton Jan 13, 2026

Choose a reason for hiding this comment

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

I thought I will automate this part in: #1188 (followup of this one).
What I already did is considering the cleanest solution..
ATM I believe I will:

  • implement a sync generator to

    • do the ts config file update of the TS transformer based on the presence of zod2md.config.ts
    • do the build target implementation either in a plugin, or move the docs build step into sync generator

    As my opinion could change when starting to clean up build config i thought I keep that part out in this PR.

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

Labels

🧹 maintenance 📖 Project documentation improvements or additions to the project documentation 🔬 testing writing tests 🛠️ tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants