スキル一覧に戻る
kuboon

jsr

by kuboon

2🍴 0📅 2026年1月17日
GitHubで見るManusで実行

SKILL.md


name: jsr description: jsr release workflow for Deno projects. Use when publishing or releasing packages to JSR (JavaScript Registry) using Deno.

Add deno task release

// scripts/release.ts
const denoJsonPath = new URL("../deno.json", import.meta.url);
const denoJson = JSON.parse(Deno.readTextFileSync(denoJsonPath));
const currentVersion = denoJson.version;

let newVersion = Deno.args[0];

if (!newVersion) {
  console.log(`Current version: ${currentVersion}`);
  const input = prompt("Enter new version:");
  if (!input) {
    console.error("Version is required");
    Deno.exit(1);
  }
  newVersion = input;
}

if (newVersion.startsWith("v")) {
  newVersion = newVersion.substring(1);
}

// Update deno.json
denoJson.version = newVersion;
Deno.writeTextFileSync(
  denoJsonPath,
  JSON.stringify(denoJson, null, 2) + "\n",
);
console.log(`Updated deno.json version to ${newVersion}`);

// Run git commands
async function run(cmd: string[]) {
  console.log(`> ${cmd.join(" ")}`);
  const command = new Deno.Command(cmd[0], {
    args: cmd.slice(1),
    stdout: "inherit",
    stderr: "inherit",
  });
  const { code } = await command.output();
  if (code !== 0) {
    console.error(`Command failed with code ${code}`);
    Deno.exit(code);
  }
}

await run(["git", "add", "deno.json"]);
await run(["git", "commit", "-m", `chore: bump version to ${newVersion}`]);

console.log(
  `\nSuccessfully bumped version to ${newVersion}. Please push to trigger release workflow.`,
);

Add release workflow under .github/workflows/ci.yml

name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Setup Deno
        uses: denoland/setup-deno@v2

      - run: deno lint
      - run: deno check
      - run: deno test -P
      - run: deno fmt --check

  release:
    needs: test
    if: github.ref == 'refs/heads/main' && github.event_name == 'push'
    runs-on: ubuntu-latest
    permissions:
      contents: write
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Check version
        id: check
        run: |
          VERSION="v$(jq -r .version deno.json)"
          echo "Version: $VERSION"
          git fetch --tags
          if git rev-parse "$VERSION" >/dev/null 2>&1; then
            echo "Tag $VERSION already exists."
            echo "exists=true" >> "$GITHUB_OUTPUT"
          else
            echo "Tag $VERSION not found."
            echo "exists=false" >> "$GITHUB_OUTPUT"
            echo "version=$VERSION" >> "$GITHUB_OUTPUT"
          fi

      - name: Setup Deno
        if: steps.check.outputs.exists == 'false'
        uses: denoland/setup-deno@v2

      - name: Create Tag and Publish
        if: steps.check.outputs.exists == 'false'
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"

          VERSION="${{ steps.check.outputs.version }}"

          git tag "$VERSION"
          git push origin "$VERSION"
          deno publish

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です