Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .changeset/sad-bats-battle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
"@stephansama/catppuccin-jsonresume-theme": patch
"@stephansama/prettier-plugin-handlebars": patch
"@stephansama/svelte-social-share-links": patch
"@stephansama/types-github-action-env": patch
"@stephansama/find-makefile-targets": patch
"@stephansama/astro-iconify-svgmap": patch
"@stephansama/catppuccin-typedoc": patch
"@stephansama/remark-asciinema": patch
"@stephansama/typed-nocodb-api": patch
"@stephansama/catppuccin-opml": patch
"@stephansama/typed-templates": patch
"@stephansama/alfred-kaomoji": patch
"@stephansama/catppuccin-rss": patch
"@stephansama/catppuccin-xsl": patch
"@stephansama/ai-commit-msg": patch
"@stephansama/multipublish": patch
"@stephansama/typed-events": patch
"@stephansama/auto-readme": patch
"@stephansama/github-env": patch
"@stephansama/types-lhci": patch
"@stephansama/typed-env": patch
"create-stephansama-example": patch
---

added socket and jsr badge to relevant packages
117 changes: 60 additions & 57 deletions .config/.cspell.json
Original file line number Diff line number Diff line change
@@ -1,59 +1,62 @@
{
"ignoreWords": [
"COMMIT_EDITMSG",
"alfy",
"arktype",
"asciinema",
"astrojs",
"attw",
"automagically",
"autoreadme",
"autoreadmerc",
"barhandle",
"barhandles",
"bluwy",
"catppuccin",
"dotenvx",
"esbuild",
"feedsmith",
"giget",
"headful",
"healthcheck",
"iarna",
"iconify",
"isbot",
"kaomoji",
"kaomojis",
"lhci",
"lighthouseci",
"macchiato",
"manypkg",
"multipublish",
"nocodb",
"nodemon",
"nvim",
"nvmrc",
"obug",
"ollama",
"pkgs",
"pnpx",
"pomodoro",
"randle",
"rollup",
"stackblitz",
"stephan",
"stephanrandle",
"stephansama",
"sveltejs",
"svgmap",
"svgmaps",
"tsdown",
"typedoc",
"vite",
"vitepress",
"vitest",
"workerd",
"yarg"
],
"ignorePaths": [".env"]
"ignoreWords": [
"COMMIT_EDITMSG",
"alfy",
"arktype",
"asciinema",
"astrojs",
"attw",
"automagically",
"autoreadme",
"autoreadmerc",
"barhandle",
"barhandles",
"bluwy",
"catppuccin",
"commitlint",
"dotenvx",
"esbuild",
"feedsmith",
"giget",
"headful",
"healthcheck",
"iarna",
"iconify",
"isbot",
"kaomoji",
"kaomojis",
"lhci",
"lighthouseci",
"macchiato",
"manypkg",
"multipublish",
"nocodb",
"nodemon",
"nvim",
"nvmrc",
"obug",
"ollama",
"packagejson",
"pkgs",
"pnpx",
"pomodoro",
"randle",
"rollup",
"stackblitz",
"stephan",
"stephanrandle",
"stephansama",
"sveltejs",
"svgmap",
"svgmaps",
"taze",
"tsdown",
"typedoc",
"vite",
"vitepress",
"vitest",
"workerd",
"yarg"
],
"ignorePaths": [".env"]
}
2 changes: 1 addition & 1 deletion .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/sh

pnpm dlx commitlint --config .config/.commitlintrc.ts --edit $1
pnpm dlx commitlint --config .config/.commitlintrc.ts --edit "$1"
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh

auto-readme -vg
auto-readme -g
lint-staged -v
pnpm --workspace-root run scripts:lint-examples
8 changes: 3 additions & 5 deletions .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@
"jsxSingleQuote": false,
"overrides": [
{ "files": ["*.md"], "options": { "tabWidth": 2, "useTabs": false } },
{ "files": "*.astro", "options": { "parser": "astro" } },
{ "files": ["*.json"], "options": { "useTabs": false, "tabWidth": 2 } },
{ "files": ["*.astro"], "options": { "parser": "astro" } },
{
"files": ["pnpm-workspace.yaml"],
"options": {
"useTabs": true,
"singleQuote": true
}
"options": { "useTabs": true, "singleQuote": true }
}
],
"plugins": [
Expand Down
2 changes: 2 additions & 0 deletions core/ai-commit-msg/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/ai-commit-msg)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/ai-commit-msg)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fai-commit-msg?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/ai-commit-msg)
[![JSR](https://jsr.io/badges/@stephansama/ai-commit-msg)](https://jsr.io/@stephansama/ai-commit-msg)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/ai-commit-msg)](https://socket.dev/npm/package/@stephansama/ai-commit-msg/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/ai-commit-msg?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/ai-commit-msg)

generate commit messages using ai
Expand Down
1 change: 1 addition & 0 deletions core/alfred-kaomoji/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[![Source code](https://img.shields.io/badge/Source%20code-211F1F?style=flat&logo=github)](https://github.com/stephansama/packages/tree/main/core/alfred-kaomoji)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/alfred-kaomoji)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Falfred-kaomoji?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/alfred-kaomoji)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/alfred-kaomoji)](https://socket.dev/npm/package/@stephansama/alfred-kaomoji/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/alfred-kaomoji?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/alfred-kaomoji)

An Alfred workflow for macOS, allowing you to quickly browse and select kaomojis right from your keyboard.
Expand Down
2 changes: 2 additions & 0 deletions core/astro-iconify-svgmap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source%20code-211F1F?style=flat&logo=github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/astro-iconify-svgmap)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/astro-iconify-svgmap)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fastro-iconify-svgmap?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/astro-iconify-svgmap)
[![JSR](https://jsr.io/badges/@stephansama/astro-iconify-svgmap)](https://jsr.io/@stephansama/astro-iconify-svgmap)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/astro-iconify-svgmap)](https://socket.dev/npm/package/@stephansama/astro-iconify-svgmap/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/astro-iconify-svgmap?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/astro-iconify-svgmap)

## This project is a work in progress
Expand Down
4 changes: 3 additions & 1 deletion core/auto-readme/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/auto-readme)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/auto-readme)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fauto-readme?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/auto-readme)
[![JSR](https://jsr.io/badges/@stephansama/auto-readme)](https://jsr.io/@stephansama/auto-readme)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/auto-readme)](https://socket.dev/npm/package/@stephansama/auto-readme/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/auto-readme?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/auto-readme)

Generate lists and tables for your README automagically based on your repository
Expand Down Expand Up @@ -142,7 +144,7 @@ disableEmojis: true
#### JavaScript Example

```javascript
/** @type {import('@stephansama/auto-readme').Config} */
/** @type {import("@stephansama/auto-readme").Config} */
export default {
disableEmojis: true,
};
Expand Down
2 changes: 2 additions & 0 deletions core/catppuccin-jsonresume-theme/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/catppuccin-jsonresume-theme)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/catppuccin-jsonresume-theme)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fcatppuccin-jsonresume-theme?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-jsonresume-theme)
[![JSR](https://jsr.io/badges/@stephansama/catppuccin-jsonresume-theme)](https://jsr.io/@stephansama/catppuccin-jsonresume-theme)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/catppuccin-jsonresume-theme)](https://socket.dev/npm/package/@stephansama/catppuccin-jsonresume-theme/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/catppuccin-jsonresume-theme?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-jsonresume-theme)

theme for [resume cli](https://github.com/jsonresume/resume-cli) website
Expand Down
2 changes: 2 additions & 0 deletions core/catppuccin-opml/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/catppuccin-opml)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/catppuccin-opml)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fcatppuccin-opml?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-opml)
[![JSR](https://jsr.io/badges/@stephansama/catppuccin-opml)](https://jsr.io/@stephansama/catppuccin-opml)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/catppuccin-opml)](https://socket.dev/npm/package/@stephansama/catppuccin-opml/overview)
Comment on lines +6 to +7
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Inconsistent badge ordering across READMEs.

The badge order here is JSR → socket.dev, but in core/catppuccin-xsl/README.md it's socket.dev → JSR. Consider maintaining a consistent badge order across all package READMEs for uniformity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@core/catppuccin-opml/README.md` around lines 6 - 7, The README badge order is
inconsistent with other package READMEs; in core/catppuccin-opml/README.md swap
the two badge lines so the socket.dev badge
(https://badge.socket.dev/npm/package/@stephansama/catppuccin-opml) appears
before the JSR badge (https://jsr.io/badges/@stephansama/catppuccin-opml) to
match core/catppuccin-xsl/README.md and keep badge ordering uniform across
packages.

[![npm downloads](https://img.shields.io/npm/dw/@stephansama/catppuccin-opml?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-opml)

> \[!CAUTION]
Expand Down
2 changes: 2 additions & 0 deletions core/catppuccin-rss/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source%20code-211F1F?style=flat&logo=github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/catppuccin-rss)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/catppuccin-rss)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fcatppuccin-rss?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-rss)
[![JSR](https://jsr.io/badges/@stephansama/catppuccin-rss)](https://jsr.io/@stephansama/catppuccin-rss)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/catppuccin-rss)](https://socket.dev/npm/package/@stephansama/catppuccin-rss/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/catppuccin-rss?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-rss)

> \[!CAUTION]
Expand Down
2 changes: 2 additions & 0 deletions core/catppuccin-typedoc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/catppuccin-typedoc)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/catppuccin-typedoc)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/catppuccin-typedoc)](https://socket.dev/npm/package/@stephansama/catppuccin-typedoc/overview)
[![JSR](https://jsr.io/badges/@stephansama/catppuccin-typedoc)](https://jsr.io/@stephansama/catppuccin-typedoc)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fcatppuccin-typedoc?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-typedoc)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/catppuccin-typedoc?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-typedoc)

Expand Down
2 changes: 2 additions & 0 deletions core/catppuccin-xsl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/catppuccin-xsl)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/catppuccin-xsl)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/catppuccin-xsl)](https://socket.dev/npm/package/@stephansama/catppuccin-xsl/overview)
[![JSR](https://jsr.io/badges/@stephansama/catppuccin-xsl)](https://jsr.io/@stephansama/catppuccin-xsl)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fcatppuccin-xsl?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-xsl)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/catppuccin-xsl?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/catppuccin-xsl)

Expand Down
1 change: 1 addition & 0 deletions core/example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/example)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/create-stephansama-example)
[![NPM Version](https://img.shields.io/npm/v/create-stephansama-example?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/create-stephansama-example)
[![socket.dev](https://badge.socket.dev/npm/package/create-stephansama-example)](https://socket.dev/npm/package/create-stephansama-example/overview)
[![npm downloads](https://img.shields.io/npm/dw/create-stephansama-example?labelColor=211F1F)](https://www.npmx.dev/package/create-stephansama-example)

Download an example from the @stephansama/packages examples
Expand Down
2 changes: 2 additions & 0 deletions core/find-makefile-targets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/find-makefile-targets)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/find-makefile-targets)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Ffind-makefile-targets?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/find-makefile-targets)
[![JSR](https://jsr.io/badges/@stephansama/find-makefile-targets)](https://jsr.io/@stephansama/find-makefile-targets)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/find-makefile-targets)](https://socket.dev/npm/package/@stephansama/find-makefile-targets/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/find-makefile-targets?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/find-makefile-targets)

Finds targets in a Makefile. The output is formatted to be easily piped into other tools like `fzf`
Expand Down
2 changes: 2 additions & 0 deletions core/github-env/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/github-env)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/github-env)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fgithub-env?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/github-env)
[![JSR](https://jsr.io/badges/@stephansama/github-env)](https://jsr.io/@stephansama/github-env)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/github-env)](https://socket.dev/npm/package/@stephansama/github-env/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/github-env?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/github-env)

> \[!CAUTION]
Expand Down
17 changes: 10 additions & 7 deletions core/multipublish/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/multipublish)
[![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/multipublish)
[![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fmultipublish?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/multipublish)
[![JSR](https://jsr.io/badges/@stephansama/multipublish)](https://jsr.io/@stephansama/multipublish)
[![socket.dev](https://badge.socket.dev/npm/package/@stephansama/multipublish)](https://socket.dev/npm/package/@stephansama/multipublish/overview)
[![npm downloads](https://img.shields.io/npm/dw/@stephansama/multipublish?labelColor=211F1F)](https://www.npmx.dev/package/@stephansama/multipublish)

Publish packages to multiple providers easily
Expand Down Expand Up @@ -144,13 +146,14 @@ _(\*) Required._

_Object containing the following properties:_

| Property | Type | Default |
| :--------------------------- | :-------------- | :------ |
| `allowSlowTypes` | `boolean` | `true` |
| `defaultExclude` | `Array<string>` | |
| `defaultInclude` | `Array<string>` | |
| `experimentalGenerateJSR` | `boolean` | `false` |
| `experimentalUpdateCatalogs` | `boolean` | `false` |
| Property | Type | Default |
| :--------------------------- | :-------------- | :----------------- |
| `allowSlowTypes` | `boolean` | `true` |
| `defaultExclude` | `Array<string>` | |
| `defaultInclude` | `Array<string>` | |
| `experimentalGenerateJSR` | `boolean` | `false` |
| `experimentalUpdateCatalogs` | `boolean` | `false` |
| `tokenEnvironmentKey` | `string` | `'JSR_AUTH_TOKEN'` |

_All properties are optional._

Expand Down
23 changes: 21 additions & 2 deletions core/multipublish/src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,23 @@ const mocks = vi.hoisted(() => ({
packageJson: { name: "pkg1", version: "1.0.0" },
relativeDir: "pkg1",
},
{
dir: "/mock/root/pkg2",
packageJson: {
name: "@stephansama/pkg2",
version: "1.0.0",
},
relativeDir: "pkg2",
},
],
}),
),
loadConfig: vi.fn(() => Promise.resolve({ platforms: ["npm"] })),
loadReleases: vi.fn(() =>
Promise.resolve([{ name: "pkg1", version: "1.0.0" }]),
Promise.resolve([
{ name: "pkg1", version: "1.0.0" },
{ name: "@stephansama/pkg2", version: "1.0.0" },
]),
),
publishPlatform: vi.fn(),
updateJsrConfigVersion: vi.fn(),
Expand Down Expand Up @@ -47,7 +58,6 @@ describe("run", () => {
expect(mocks.getPackages).toHaveBeenCalledOnce();
expect(mocks.loadReleases).toHaveBeenCalledOnce();
expect(mocks.updateJsrConfigVersion).not.toHaveBeenCalled();
expect(mocks.publishPlatform).toHaveBeenCalledOnce();
expect(mocks.publishPlatform).toHaveBeenCalledWith(
expect.objectContaining({
packageJson: expect.objectContaining({
Expand All @@ -57,6 +67,15 @@ describe("run", () => {
}),
"npm",
);
expect(mocks.publishPlatform).toHaveBeenCalledWith(
expect.objectContaining({
packageJson: expect.objectContaining({
name: "@stephansama/pkg2",
version: "1.0.0",
}),
}),
"npm",
);
});

it("should call updateJsrConfigVersion if args.versionJsr is true", async () => {
Expand Down
8 changes: 8 additions & 0 deletions core/multipublish/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,15 @@ export async function run() {

for (const pkg of releasedPackages) {
if (args.versionJsr) {
if (!pkg.packageJson.name.includes("/")) {
console.warn(
`attempting to publish a non scoped package skipping`,
);
continue;
}
Comment on lines +32 to +37
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 | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

python - <<'PY'
import json, re
from pathlib import Path

skip_dirs = {".git", "node_modules", "dist", "build", ".next", ".turbo"}

def should_skip(path: Path):
    return any(part in skip_dirs for part in path.parts)

def extract_name(path: Path):
    txt = path.read_text(encoding="utf-8", errors="ignore")
    m = re.search(r'"name"\s*:\s*"([^"]+)"', txt)
    return m.group(1) if m else None

for pkg_json in Path(".").rglob("package.json"):
    if should_skip(pkg_json):
        continue
    try:
        pkg = json.loads(pkg_json.read_text(encoding="utf-8"))
    except Exception:
        continue

    npm_name = pkg.get("name")
    if not isinstance(npm_name, str) or "/" in npm_name:
        continue

    pdir = pkg_json.parent
    for cfg_name in ("jsr.json", "deno.json", "jsr.jsonc", "deno.jsonc"):
        cfg = pdir / cfg_name
        if not cfg.exists():
            continue
        jsr_name = extract_name(cfg)
        if jsr_name and "/" in jsr_name:
            print(f"{pdir}\tnpm={npm_name}\tjsr={jsr_name}\tconfig={cfg_name}")
PY

Repository: stephansama/packages

Length of output: 46


🏁 Script executed:

# First, let's examine the index.ts file around lines 32-37
cat -n core/multipublish/src/index.ts | head -50

Repository: stephansama/packages

Length of output: 1655


🏁 Script executed:

# Also examine the jsr.ts file to understand JSR config loading and validation
cat -n core/multipublish/src/jsr.ts

Repository: stephansama/packages

Length of output: 3811


🏁 Script executed:

# Check if there are any JSR/deno config files in the repo
find . -type f \( -name "jsr.json" -o -name "deno.json" -o -name "jsr.jsonc" -o -name "deno.jsonc" \) ! -path "*/node_modules/*" ! -path "*/.git/*" | head -20

Repository: stephansama/packages

Length of output: 46


Guard checks npm package name scope instead of JSR config presence or JSR name scope.

Line 32 validates pkg.packageJson.name (npm package name), but JSR versioning should be gated by JSR config presence or the name field within the JSR config itself (lines 39-49, 85 in jsr.ts). These are independent—a package can have an unscoped npm name but scoped JSR name in jsr.json/deno.json, which would be incorrectly skipped by the current guard. The verification confirms no such packages currently exist in this repository, but the architectural issue remains.

Suggested fix
-import { updateJsrConfigVersion } from "./jsr";
+import { loadConfig as loadJsrConfig, updateJsrConfigVersion } from "./jsr";

 for (const pkg of releasedPackages) {
   if (args.versionJsr) {
-    if (!pkg.packageJson.name.includes("/")) {
+    const { config: jsrConfig } = await loadJsrConfig(pkg.dir);
+    if (!jsrConfig?.name.includes("/")) {
       console.warn(
-        `attempting to publish a non scoped package skipping`,
+        `skipping JSR version update for package "${pkg.packageJson.name}" because JSR name is not scoped`,
       );
       continue;
     }

     await updateJsrConfigVersion(pkg);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@core/multipublish/src/index.ts` around lines 32 - 37, The current guard in
index.ts checks pkg.packageJson.name for a scope and skips publishing based on
the npm package name; instead, change the check to detect JSR-specific
configuration/name scope: remove the pkg.packageJson.name.includes("/") branch
and replace it with a guard that verifies the presence of the JSR config for the
package (use the loader/validator in jsr.ts) and then checks the JSR config's
name field for a scope (e.g., ensure jsrConfig exists and
jsrConfig.name.includes("/")); reference the existing jsr.ts helpers (the
functions that parse/validate the JSR config and the jsrConfig.name usage at
lines ~39-49 and ~85) to locate how to read the JSR config, and only skip when
there is no JSR config or the JSR name is not scoped.


await updateJsrConfigVersion(pkg);

continue;
}

Expand Down
Loading
Loading