Skip to content

chore(ci): add knip configuration for unused dep linting#75

Merged
coryrylan merged 1 commit into
mainfrom
topic-knip
May 6, 2026
Merged

chore(ci): add knip configuration for unused dep linting#75
coryrylan merged 1 commit into
mainfrom
topic-knip

Conversation

@coryrylan
Copy link
Copy Markdown
Collaborator

@coryrylan coryrylan commented May 5, 2026

  • Introduced knip.config.js for managing package and project file exclusions.
  • Updated package.json to include a new linting script for knip.
  • Adjusted workspace configurations in pnpm-workspace.yaml to reflect new project structures.
  • Refactored various TypeScript files to improve type definitions and remove unnecessary exports.
  • https://knip.dev/

Summary by CodeRabbit

  • Chores

    • Added knip configuration and lint script, integrated knip into CI cache workflow
    • Updated workspace tooling config, adjusted package metadata and .gitignore entries
    • Removed/updated a few pinned workspace dependencies and reordered devDependencies
  • Refactor

    • Reduced public surface by converting multiple exported types, functions, and constants to internal-only across modules
  • Docs

    • Fixed internal import paths in site layout files

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

📝 Walkthrough

Walkthrough

Adds Knip unused-export detection (config, script, wireit task) and removes many previously exported types/functions across multiple packages; adjusts workspace manifests and some import paths and package.json entries. No runtime behavior changes described.

Changes

Knip Tooling Integration

Layer / File(s) Summary
Configuration & Constants
knip.config.js
New typed default KnipConfig export; introduces shared glob constants, global excludes/ignoreUnresolved, treatConfigHintsAsErrors, and per-workspace entry/project globs.
Build Tooling / Task
package.json
Adds lint:knip script, adds knip@6.11.0 to devDependencies, updates wireit.ci.dependencies to include lint:knip, and adds wireit.lint:knip task with command, build-script deps, include/exclude file globs, and cache output config.

API Surface Reduction

Layer / File(s) Summary
Type/interface deexports (core libraries)
projects/core/src/forms/utils/layout.ts, projects/core/src/forms/utils/types.ts, projects/core/src/forms/utils/states.ts, projects/core/src/sparkline/sparkline.utils.ts
Removed export from ControlLayouts, ValidityState, toggleControlGroupDisabledState, and DEFAULT_INTERVAL_LENGTH_EM (now file-local); internal logic unchanged.
Type/interface deexports (internals & tools)
projects/internals/metadata/src/tasks/lighthouse.utils.ts, projects/internals/metadata/src/utils/reports.ts, projects/internals/tools/src/internal/tools.ts, projects/internals/tools/src/internal/utils.ts, projects/internals/tools/src/project/setup-agent.ts, projects/internals/tools/src/project/update.ts
Made LighthouseElementReport, removed DownloadsSummary, and deexported ToolAnnotations, ToolMetadata, ELEMENTS_ENV, IDE, McpServerConfig, PackageUpdate (now local/internal).
Function deexports (tools & examples)
projects/internals/tools/src/distill/examples.ts, projects/internals/tools/src/examples/utils.ts, projects/internals/tools/src/project/starters.ts
De-exported distillExampleSummary, renderExampleHeaderMarkdown, getExampleSummaryMarkdown, downloadStarter, extractStarter, isGitRepository — functions remain and are used internally.
Lint internals deexports
projects/lint/src/eslint/internals/attributes.ts, projects/lint/src/eslint/internals/element-attributes.ts, projects/lint/src/eslint/internals/tailwind.ts, projects/lint/src/eslint/rule-types.ts
De-exported VALID_NVE_TEXT_VALUES, VALID_NVE_LAYOUT_VALUES, isComplexAttributeValue, AttributeInfo, STANDALONE_TAILWIND_CLASSES; removed asNode/asFixTarget helpers from exports.
Monaco deexports
projects/monaco/src/internal/base/input.ts, projects/monaco/src/internal/formats/problems-format.ts
Removed export from JSONSchema, LineNumberFormatter, LineNumbersType, WordWrapOptions, and ProblemsFormat (now internal).
CLI surface changes
projects/cli/src/mcp/mcp.ts, projects/cli/src/utils.ts
VERSION, BUILD_SHA and ArgInputType were made non-exported/local.
Reports / downloads removal
projects/internals/metadata/src/utils/reports.ts
Removed DownloadsSummary export and stopped importing PackageDownload.

Workspace & Manifest Cleanup

Layer / File(s) Summary
Workspace catalog edits
pnpm-workspace.yaml
Removed lit-element: ^4.2.2 from catalogs.publish and lit-element: 4.2.2 and @vitest/mocker: 4.1.4 from main catalog entries.
Pattern & style package.json edits
projects/internals/patterns/package.json, projects/styles/package.json
Replaced @internals/lint with @nvidia-elements/lint, added @nvidia-elements/monaco, and reordered devDependencies (no version changes).
Site & starter fixes
projects/site/src/_11ty/layouts/docs.ts, projects/site/.gitignore, projects/starters/hugo/package.json
Normalized internal imports from absolute to relative paths; removed .screencast/.auth and .screencast/dist ignores; removed "main": "index.js" from Hugo starter package.json.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 52.94% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and concisely summarizes the primary change: adding knip configuration for unused dependency linting in CI.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch topic-knip

Comment @coderabbitai help to get the list of available commands and usage tips.

import { type ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';

export const VERSION = '0.0.0';
export const BUILD_SHA = '__NVE_BUILD_CHECKSUM__';
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is used but there was already a declaration in the index.ts of the package

Comment thread projects/cli/src/utils.ts

export const banner = `"░██████████ ░██ ░██ \\n░██ ░██ ░██ \\n░██ ░██ ░███████ ░█████████████ ░███████ ░████████ ░████████ ░███████ \\n░█████████ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ \\n░██ ░██ ░█████████ ░██ ░██ ░██ ░█████████ ░██ ░██ ░██ ░███████ \\n░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ ░██ \\n░██████████ ░██ ░███████ ░██ ░██ ░██ ░███████ ░██ ░██ ░████ ░███████"`;

export type ArgInputType = 'string' | 'number' | 'boolean' | 'object' | 'array';
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

knip will catch interfaces, vars, functions that are not used outside a module and flag them. This is helpful to see what functions are internal to the module or may need dedicated tests

return resizeObserver;
}

export type ControlLayouts = 'vertical' | 'vertical-inline' | 'horizontal' | 'horizontal-inline';
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

knip will follow the code paths to determine if the type/interface is exported up to a public entrypoint. This is why the knip config requires explicit entrypoint paths to do this safely.

/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/valueMissing) */
readonly valueMissing: boolean;
}

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

No longer needed, provided by the DOM types built in to TS

"@nvidia-elements/lint": "workspace:*",
"@nvidia-elements/monaco": "workspace:*",
"@nvidia-elements/styles": "workspace:*",
"@nvidia-elements/themes": "workspace:*",
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Had references to other workspace projects but were missing from the deps

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
projects/internals/tools/src/project/starters.ts (1)

206-213: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Validate HTTP response before persisting starter archive.

Line 208 currently accepts any HTTP status. If the server returns 404/500, non-zip content gets written and fails later during extraction.

💡 Suggested fix
 async function downloadStarter(starterPath: string, outPath: string) {
   console.log('⏳ Downloading starter...');
   const response = await fetch(starterPath);
-  const blob = await response.blob();
-  const arrayBuffer = await blob.arrayBuffer();
+  if (!response.ok) {
+    throw new Error(`Failed to download starter (${response.status} ${response.statusText}) from ${starterPath}`);
+  }
+  const arrayBuffer = await response.arrayBuffer();
   const buffer = Buffer.from(arrayBuffer);
   writeFileSync(outPath, buffer);
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@projects/internals/tools/src/project/starters.ts` around lines 206 - 213,
downloadStarter currently writes whatever fetch returns without checking HTTP
status; update downloadStarter to validate the fetch response before writing the
file by checking response.ok (or response.status) and throwing an error when not
OK so no invalid body is persisted, and optionally verify
response.headers.get('content-type') contains 'zip' or 'octet-stream' to guard
against non-zip payloads; keep the rest of the flow (blob -> arrayBuffer ->
Buffer -> writeFileSync) unchanged and surface a clear error that includes
response.status and the starterPath when throwing.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@projects/internals/tools/src/project/starters.ts`:
- Around line 206-213: downloadStarter currently writes whatever fetch returns
without checking HTTP status; update downloadStarter to validate the fetch
response before writing the file by checking response.ok (or response.status)
and throwing an error when not OK so no invalid body is persisted, and
optionally verify response.headers.get('content-type') contains 'zip' or
'octet-stream' to guard against non-zip payloads; keep the rest of the flow
(blob -> arrayBuffer -> Buffer -> writeFileSync) unchanged and surface a clear
error that includes response.status and the starterPath when throwing.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 5bdd7490-f90f-49d8-802e-e61527962cfc

📥 Commits

Reviewing files that changed from the base of the PR and between 72fe1ff and c83dc87.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (29)
  • knip.config.js
  • package.json
  • pnpm-workspace.yaml
  • projects/cli/src/mcp/mcp.ts
  • projects/cli/src/utils.ts
  • projects/core/src/forms/utils/layout.ts
  • projects/core/src/forms/utils/states.ts
  • projects/core/src/forms/utils/types.ts
  • projects/core/src/sparkline/sparkline.utils.ts
  • projects/internals/metadata/src/tasks/lighthouse.utils.ts
  • projects/internals/metadata/src/utils/reports.ts
  • projects/internals/patterns/package.json
  • projects/internals/tools/src/distill/examples.ts
  • projects/internals/tools/src/examples/utils.ts
  • projects/internals/tools/src/internal/tools.ts
  • projects/internals/tools/src/internal/utils.ts
  • projects/internals/tools/src/project/setup-agent.ts
  • projects/internals/tools/src/project/starters.ts
  • projects/internals/tools/src/project/update.ts
  • projects/lint/src/eslint/internals/attributes.ts
  • projects/lint/src/eslint/internals/element-attributes.ts
  • projects/lint/src/eslint/internals/tailwind.ts
  • projects/lint/src/eslint/rule-types.ts
  • projects/monaco/src/internal/base/input.ts
  • projects/monaco/src/internal/formats/problems-format.ts
  • projects/site/.gitignore
  • projects/site/src/_11ty/layouts/docs.ts
  • projects/starters/hugo/package.json
  • projects/styles/package.json
💤 Files with no reviewable changes (6)
  • projects/internals/tools/src/internal/utils.ts
  • projects/starters/hugo/package.json
  • projects/core/src/forms/utils/types.ts
  • projects/lint/src/eslint/rule-types.ts
  • projects/site/.gitignore
  • pnpm-workspace.yaml

"version": "0.0.0",
"description": "Hugo + Elements Starter",
"private": true,
"main": "index.js",
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

knip will also catch bad package export paths, similar to our publish lint

- Introduced `knip.config.js` for managing package and project file exclusions.
- Updated `package.json` to include a new linting script for knip.
- Adjusted workspace configurations in `pnpm-workspace.yaml` to reflect new project structures.
- Refactored various TypeScript files to improve type definitions and remove unnecessary exports.

Signed-off-by: Cory Rylan <crylan@nvidia.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
projects/internals/tools/src/project/starters.ts (1)

206-213: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add HTTP response validation before writing archive.

downloadStarter writes the response body unconditionally; non-2xx responses will be saved as invalid zip files and cause misleading downstream errors.

💡 Proposed fix
 async function downloadStarter(starterPath: string, outPath: string) {
   console.log('⏳ Downloading starter...');
   const response = await fetch(starterPath);
-  const blob = await response.blob();
-  const arrayBuffer = await blob.arrayBuffer();
-  const buffer = Buffer.from(arrayBuffer);
-  writeFileSync(outPath, buffer);
+  if (!response.ok) {
+    throw new Error(`Failed to download starter: ${response.status} ${response.statusText}`);
+  }
+  const arrayBuffer = await response.arrayBuffer();
+  writeFileSync(outPath, Buffer.from(arrayBuffer));
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@projects/internals/tools/src/project/starters.ts` around lines 206 - 213, In
downloadStarter, validate the HTTP response before writing: check response.ok
(or response.status) after fetch(starterPath) and if it's not a 2xx response
throw or return an error that includes response.status and response.statusText
(optionally content-type) instead of writing the body; only proceed to
blob/arrayBuffer/Buffer/writeFileSync when the response is successful. Ensure
the thrown/returned error provides clear context so callers won't save invalid
zip files.
projects/internals/tools/src/project/update.ts (1)

76-77: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix malformed update command in execSync.

The command string has an erroneous trailing } and duplicated package pattern, which will cause dependency updates to fail.

💡 Proposed fix
-    execSync(`cd ${cwd} && ${packageManager} update '@nvidia-elements/*' '@nvidia-elements/*'}`);
+    execSync(`${packageManager} update "@nvidia-elements/*"`, { cwd });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@projects/internals/tools/src/project/update.ts` around lines 76 - 77, The
execSync command string is malformed: it contains an extra trailing "}" and
repeats the package pattern; update the execSync invocation (the line that
currently calls execSync with packageManager, cwd and the patterns) to form a
valid shell command — remove the duplicated '@nvidia-elements/*' and the stray
brace so the call becomes something like execSync(`cd ${cwd} &&
${packageManager} update '@nvidia-elements/*'`) (ensure proper backtick/quote
pairing); keep writeFileSync(updatedPackageJson...) unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@projects/internals/metadata/src/tasks/lighthouse.utils.ts`:
- Line 22: The declaration emit fails because LighthouseScores references
LighthouseElementReport but that interface is not exported; export the interface
so the type is visible in d.ts output—update the declaration for
LighthouseElementReport to be exported (e.g., add "export" to the interface) or
explicitly re-export it alongside LighthouseScores so the compiler can emit
correct declarations for LighthouseElementReport referenced by LighthouseScores.

In `@projects/lint/src/eslint/internals/attributes.ts`:
- Around line 39-40: Update the preceding comment for the function
isComplexAttributeValue to reflect its current non-exported visibility: remove
or change the phrase "also used in `@internals/metadata`" and replace it with a
short, accurate description such as "internal helper" or "used only within this
module" so it doesn't imply external usage; ensure the comment still explains
purpose ("values that often confuse agents...") and references the function name
isComplexAttributeValue for clarity.

---

Outside diff comments:
In `@projects/internals/tools/src/project/starters.ts`:
- Around line 206-213: In downloadStarter, validate the HTTP response before
writing: check response.ok (or response.status) after fetch(starterPath) and if
it's not a 2xx response throw or return an error that includes response.status
and response.statusText (optionally content-type) instead of writing the body;
only proceed to blob/arrayBuffer/Buffer/writeFileSync when the response is
successful. Ensure the thrown/returned error provides clear context so callers
won't save invalid zip files.

In `@projects/internals/tools/src/project/update.ts`:
- Around line 76-77: The execSync command string is malformed: it contains an
extra trailing "}" and repeats the package pattern; update the execSync
invocation (the line that currently calls execSync with packageManager, cwd and
the patterns) to form a valid shell command — remove the duplicated
'@nvidia-elements/*' and the stray brace so the call becomes something like
execSync(`cd ${cwd} && ${packageManager} update '@nvidia-elements/*'`) (ensure
proper backtick/quote pairing); keep writeFileSync(updatedPackageJson...)
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 209e3da6-ab15-4556-9aaf-7bcadb486610

📥 Commits

Reviewing files that changed from the base of the PR and between c83dc87 and 062fd01.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (29)
  • knip.config.js
  • package.json
  • pnpm-workspace.yaml
  • projects/cli/src/mcp/mcp.ts
  • projects/cli/src/utils.ts
  • projects/core/src/forms/utils/layout.ts
  • projects/core/src/forms/utils/states.ts
  • projects/core/src/forms/utils/types.ts
  • projects/core/src/sparkline/sparkline.utils.ts
  • projects/internals/metadata/src/tasks/lighthouse.utils.ts
  • projects/internals/metadata/src/utils/reports.ts
  • projects/internals/patterns/package.json
  • projects/internals/tools/src/distill/examples.ts
  • projects/internals/tools/src/examples/utils.ts
  • projects/internals/tools/src/internal/tools.ts
  • projects/internals/tools/src/internal/utils.ts
  • projects/internals/tools/src/project/setup-agent.ts
  • projects/internals/tools/src/project/starters.ts
  • projects/internals/tools/src/project/update.ts
  • projects/lint/src/eslint/internals/attributes.ts
  • projects/lint/src/eslint/internals/element-attributes.ts
  • projects/lint/src/eslint/internals/tailwind.ts
  • projects/lint/src/eslint/rule-types.ts
  • projects/monaco/src/internal/base/input.ts
  • projects/monaco/src/internal/formats/problems-format.ts
  • projects/site/.gitignore
  • projects/site/src/_11ty/layouts/docs.ts
  • projects/starters/hugo/package.json
  • projects/styles/package.json
💤 Files with no reviewable changes (6)
  • projects/lint/src/eslint/rule-types.ts
  • projects/internals/tools/src/internal/utils.ts
  • projects/site/.gitignore
  • projects/core/src/forms/utils/types.ts
  • pnpm-workspace.yaml
  • projects/starters/hugo/package.json

}

export interface LighthouseElementReport {
interface LighthouseElementReport {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Check declaration emit settings =="
fd -i 'tsconfig*.json' | xargs -r rg -n '"declaration"|"composite"|"emitDeclarationOnly"'

echo
echo "== Confirm exported types referencing LighthouseElementReport =="
rg -n -C2 'export interface LighthouseScores|LighthouseElementReport' projects/internals/metadata/src/tasks/lighthouse.utils.ts

Repository: NVIDIA/elements

Length of output: 2750


Re-export LighthouseElementReport to fix declaration emit failure.

TypeScript declaration emit is enabled in this package (declaration: true, emitDeclarationOnly: true). The exported LighthouseScores interface references LighthouseElementReport on lines 13–19, but LighthouseElementReport at line 22 is no longer exported. This will fail with TS4023 during declaration emit.

Proposed fix
-interface LighthouseElementReport {
+export interface LighthouseElementReport {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
interface LighthouseElementReport {
export interface LighthouseElementReport {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@projects/internals/metadata/src/tasks/lighthouse.utils.ts` at line 22, The
declaration emit fails because LighthouseScores references
LighthouseElementReport but that interface is not exported; export the interface
so the type is visible in d.ts output—update the declaration for
LighthouseElementReport to be exported (e.g., add "export" to the interface) or
explicitly re-export it alongside LighthouseScores so the compiler can emit
correct declarations for LighthouseElementReport referenced by LighthouseScores.

Comment thread projects/lint/src/eslint/internals/attributes.ts
@coryrylan coryrylan merged commit 1d039cd into main May 6, 2026
8 checks passed
@coryrylan coryrylan deleted the topic-knip branch May 6, 2026 13:24
@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.10 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.8 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.9 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.1.1 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.3.1 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.9 🎉

Changelog

1 similar comment
@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.9 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.11 🎉

Changelog

@coryrylan
Copy link
Copy Markdown
Collaborator Author

🎉 This issue has been resolved in version 0.0.8 🎉

Changelog

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants