Skip to content

feat: add npm package publishing support with typedoc and release-drafter improvements#1718

Merged
pethers merged 14 commits intomainfrom
copilot/setup-npm-package-publishing
Mar 24, 2026
Merged

feat: add npm package publishing support with typedoc and release-drafter improvements#1718
pethers merged 14 commits intomainfrom
copilot/setup-npm-package-publishing

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 24, 2026

  • Round 1: Fix build:lib, peerDeps.three, move deps to devDeps, remove CHANGELOG.md from files
  • Round 2: Clean .npmignore CHANGELOG, add postprocessing peerDeps, fix publish checkout ref
  • Round 3: Make peers non-optional, fix release-drafter v-prefix audit, externalize three/*, --ignore-scripts publish, tsc-alias for .d.ts paths
  • Round 4: Fix release-drafter npm install v-prefix, add injectable setAssetBasePath/resolveAssetPath API for library consumers
  • Code review round 5: Normalize resolveAssetPath before basePath check, update JSDoc for accepted formats, add missing-slash test
  • Fix asset audit: Remove backtick-quoted asset paths from JSDoc that triggered false positive in audit script
  • Code review round 6: Remove duplicate npm cache step in publish job (setup-node already caches)
  • Unit test flake: CollisionDetection.test.ts performance test is pre-existing flaky (timing-sensitive, not caused by this PR)

💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 24, 2026

Dependency Review

The following issues were found:

  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ✅ 0 package(s) with unknown licenses.
  • ⚠️ 12 packages with OpenSSF Scorecard issues.

View full job summary

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

- Update package.json: rename to blacktrigram, add npm metadata, exports, peerDependencies, publishConfig
- Add tsconfig.lib.json for TypeScript declaration generation
- Add vite.lib.config.ts for Vite library mode bundling
- Add .npmignore to control npm package contents
- Add build:lib script for library build
- Add publish job to release.yml workflow (following EP MCP Server pattern)
- Update .gitignore to exclude lib/ build output
- Update eslint.config.js to ignore lib/ directory
- Update tsconfig.node.json to include vite.lib.config.ts

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/d41b4334-7914-41a8-85e3-7cabc868f149
@github-actions github-actions bot added dependencies Dependency updates infrastructure CI/CD and build infrastructure config Configuration changes labels Mar 24, 2026
…d fix npm pack verification

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/d41b4334-7914-41a8-85e3-7cabc868f149
Copilot AI changed the title [WIP] Analyzing and setting up npm package publishing feat: add npm package publishing with Vite library build Mar 24, 2026
Copilot AI requested a review from pethers March 24, 2026 11:41
@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

…hing

- Update typedoc.json sidebarLinks to match riksdagsmonitor pattern with all
  architecture docs (Architecture, Security Architecture, Threat Model, Data
  Model, Flowchart, State Diagram, Mindmap, SWOT, Future Architecture, Future
  Security) and ISMS references (Secure Dev Policy, Open Source Policy)
- Update typedoc.json navigationLinks with npm Package and ISMS links
- Update release-drafter.yml with npm package section, provenance verification,
  architecture documentation links, correct API docs URL (blacktrigram.com/api/),
  and additional resources section

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/91ac18bc-ace4-465e-84b2-b7f3c5bd47ef
Copilot AI changed the title feat: add npm package publishing with Vite library build docs: improve typedoc and release-drafter for npm package publishing Mar 24, 2026
@pethers pethers marked this pull request as ready for review March 24, 2026 12:09
@pethers pethers requested a review from Copilot March 24, 2026 12:10
@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR expands the project’s documentation/release metadata (TypeDoc + release-drafter) and also introduces npm library packaging + publishing automation for the blacktrigram package.

Changes:

  • Update typedoc.json navigation/sidebar links to include architecture and ISMS-PUBLIC references.
  • Enhance release notes template with npm package installation/provenance and updated documentation URLs.
  • Add npm library build/publish support (new Vite lib config, TS lib config, npm metadata/exports, npmignore/gitignore/eslint ignores, and a release workflow publish job).

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
vite.lib.config.ts Adds Vite library-mode build configuration (ESM, preserveModules, externals).
typedoc.json Aligns navigation/sidebar links with the desired documentation pattern (architecture + ISMS links).
tsconfig.node.json Includes the new Vite library config in node TS project.
tsconfig.lib.json Adds a dedicated TS config for generating declaration output into lib/.
package.json Converts project metadata for npm publishing, adds exports/files/scripts, and peer deps.
eslint.config.js Ignores lib/ output directory.
.npmignore Defines publish-time exclusions (source, configs, tests, most docs).
.gitignore Ignores lib/ build output.
.github/workflows/release.yml Adds a new publish job that builds and publishes the npm package with provenance.
.github/release-drafter.yml Adds npm package + architecture documentation sections; updates reporting URLs.

Comment on lines +393 to +399
publish:
name: Publish npm Package
needs: [prepare, release]
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write # Required for npm provenance
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The PR metadata describes this as a docs-only change (TypeDoc + release-drafter), but this workflow hunk introduces a new publish job that publishes to npm. Please either update the PR title/description to reflect the npm-publishing scope, or split the npm publishing changes into a separate PR so reviewers can assess release/publishing risk independently.

Copilot uses AI. Check for mistakes.
package.json Outdated
"build:profile": "tsc -b && vite build --mode production --profile --minify esbuild",
"build:stats": "tsc -b && vite build --mode production && npx vite-bundle-analyzer dist/assets/*.js",
"build:fast": "tsc -b --incremental && vite build --mode production --minify esbuild",
"build:lib": "rm -rf lib && tsc -p tsconfig.lib.json && vite build --config vite.lib.config.ts && rm -rf lib/assets",
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

build:lib deletes lib/assets after the Vite library build. The library exports App (via src/index.ts), and App (and several components) import CSS, which Vite/Rollup typically emits as assets. Deleting lib/assets can leave JS files with missing CSS/asset imports, breaking consumers at build time. Remove the rm -rf lib/assets step or adjust the library build so CSS/assets are either emitted to a preserved location or not referenced from the emitted JS.

Suggested change
"build:lib": "rm -rf lib && tsc -p tsconfig.lib.json && vite build --config vite.lib.config.ts && rm -rf lib/assets",
"build:lib": "rm -rf lib && tsc -p tsconfig.lib.json && vite build --config vite.lib.config.ts",

Copilot uses AI. Check for mistakes.
package.json Outdated
"@react-three/fiber": "^9.0.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"three": "^0.170.0"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

peerDependencies.three is set to ^0.170.0, which does not include the Three.js version this repo builds/tests against (dependencies.three is 0.183.2). This will make npm/yarn/pnpm report unsatisfied peer deps for the common case and can block installs. Align the peer range with the supported Three.js version(s) (e.g., ^0.183.0 if you intend to support the current minor line).

Suggested change
"three": "^0.170.0"
"three": "^0.183.0"

Copilot uses AI. Check for mistakes.
package.json Outdated
Comment on lines +151 to +166
"react": "^19.0.0",
"react-dom": "^19.0.0",
"three": "^0.170.0"
},
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

This package now lists React/Three/R3F/Drei in both dependencies and peerDependencies. For a library, shipping React (and often Three/R3F) as direct dependencies can cause duplicate installations and runtime issues (e.g., invalid hook calls from multiple React copies). Prefer keeping these as peerDependencies (and devDependencies for local build/tests) unless you explicitly want to bundle them for consumers.

Copilot uses AI. Check for mistakes.
package.json Outdated
Comment on lines +39 to +40
"SECURITY.md",
"CHANGELOG.md"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

files includes CHANGELOG.md, but there is no CHANGELOG.md in the repository. This is misleading and will not include the intended changelog in the published tarball. Either add the file (even if generated) or remove it from files/.npmignore allowlist.

Suggested change
"SECURITY.md",
"CHANGELOG.md"
"SECURITY.md"

Copilot uses AI. Check for mistakes.
@pethers
Copy link
Copy Markdown
Member

pethers commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

- Remove rm -rf lib/assets from build:lib to preserve CSS/assets for consumers
- Move React/Three.js/R3F/Drei from dependencies to devDependencies (keep as peerDependencies for library consumers)
- Fix peerDependencies.three from ^0.170.0 to ^0.183.0 to match actual version
- Remove non-existent CHANGELOG.md from files array

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/e51be5d8-c054-4b7e-94fb-63212a02eae3
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

Applied all 5 review comments in commit e99753a:

  1. Removed rm -rf lib/assets from build:lib to preserve CSS/assets for consumers
  2. Fixed peerDependencies.three from ^0.170.0 to ^0.183.0
  3. Moved React/Three.js/R3F/Drei/postprocessing from dependencies to devDependencies (kept as peerDependencies for library consumers, dependencies is now empty)
  4. Removed non-existent CHANGELOG.md from files array

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 24, 2026

@copilot fix failing checks
Asset Audit / audit-assets (pull_request)
Asset Audit / audit-a...

Fixed the asset audit failure in 0a236d9 — the JSDoc in assetConfig.ts had backtick-quoted asset paths (e.g. `/assets/audio/...`) that the audit script's regex picked up as real asset references. Removed backtick quoting from those doc comments so they no longer match the ['"\](/assets/...)['"`]` pattern.

The unit test failure (CollisionDetection.test.ts:283expected 3.12ms to be less than 2ms) is a pre-existing flaky performance timing test, not caused by this PR. It's sensitive to CI runner speed.

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 12 out of 14 changed files in this pull request and generated 3 comments.

Comment on lines +46 to +50
if (!assetBasePath) {
return path;
}
// Ensure path starts with / for correct concatenation
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

resolveAssetPath normalizes missing leading slashes only when assetBasePath is set. With the current early return, resolveAssetPath("assets/...") returns a relative URL when assetBasePath === "", which defeats the normalization behavior and can produce incorrect asset URLs. Consider normalizing the input path before the !assetBasePath check (or explicitly rejecting non-root-relative paths).

Suggested change
if (!assetBasePath) {
return path;
}
// Ensure path starts with / for correct concatenation
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
// Ensure path starts with / for correct concatenation
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
if (!assetBasePath) {
return normalizedPath;
}

Copilot uses AI. Check for mistakes.
Comment on lines +40 to +43
* Resolve an asset path by prepending the configured base path.
*
* @param path - Root-relative asset path starting with a forward slash, e.g. /assets/audio/music/intro_theme.mp3
* @returns The resolved URL with the configured base path prepended
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The JSDoc for resolveAssetPath says the path parameter must be root-relative and start with /, but the implementation/tests also support inputs without a leading slash. Please update the @param description (and the top-level module comment if needed) to document the accepted formats consistently.

Copilot uses AI. Check for mistakes.
Comment on lines +42 to +47
describe("resolveAssetPath", () => {
it("returns path unchanged when no base path set", () => {
expect(resolveAssetPath("/assets/audio/music/intro_theme.mp3")).toBe(
"/assets/audio/music/intro_theme.mp3",
);
});
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

There is no unit test covering the case where no base path is set and the input asset path is missing a leading slash (e.g. resolveAssetPath("assets/...")). Adding this test will lock in the expected normalization behavior and prevent regressions.

Copilot generated this review using guidance from repository custom instructions.
@pethers
Copy link
Copy Markdown
Member

pethers commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

…add missing-slash test

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/blacktrigram/sessions/1ac44a25-578b-473e-bb56-9be7afc3df34
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

Applied all 3 review comments in 99aa72a:

  1. resolveAssetPath normalization — moved path normalization before the !assetBasePath check, so resolveAssetPath("assets/...") returns "/assets/..." even when no base path is set
  2. JSDoc updated@param path now documents that both /assets/... and assets/... formats are accepted
  3. Missing-slash test added — new test "normalizes missing leading slash when no base path set" locks in the normalization behavior (10/10 tests passing)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 12 out of 14 changed files in this pull request and generated 1 comment.

Comment on lines +419 to +426
- name: Cache dependencies
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

The publish job uses actions/setup-node with cache: "npm" and then also runs a separate actions/cache step for ~/.npm. These overlap (double-caching the same directory) and can add unnecessary CI time/complexity; consider keeping only one caching mechanism (either setup-node’s built-in npm cache or the explicit actions/cache step).

Suggested change
- name: Cache dependencies
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

📸 Automated UI Screenshots

📋 Screenshots Captured (8)

# Screenshot
1 01-splash-screen.png - 01 splash screen.png
2 02-intro-screen-menu.png - 02 intro screen menu.png
3 03-intro-screen-archetype-selector.png - 03 intro screen archetype selector.png
4 04-controls-screen.png - 04 controls screen.png
5 05-philosophy-screen.png - 05 philosophy screen.png
6 06-training-screen.png - 06 training screen.png
7 07-combat-screen-practice.png - 07 combat screen practice.png
8 08-combat-screen-versus.png - 08 combat screen versus.png

📦 Download Screenshots

📥 Download all screenshots from workflow artifacts

Screenshots are preserved as workflow artifacts for 30 days.


🤖 Generated by Playwright automation

@pethers
Copy link
Copy Markdown
Member

pethers commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 24, 2026

@copilot apply changes based on the comments in this thread

Removed the duplicate actions/cache step in the publish job in 5821b3factions/setup-node with cache: "npm" already handles ~/.npm caching.

@pethers pethers merged commit 7e12b9e into main Mar 24, 2026
4 checks passed
@pethers pethers deleted the copilot/setup-npm-package-publishing branch March 24, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration changes dependencies Dependency updates infrastructure CI/CD and build infrastructure test-coverage-impact Impacts test coverage testing Testing improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants