49 Commits

Author SHA1 Message Date
eric
9f8bc9ad23 chore(release): v0.0.8
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 27s
Docs Pages / deploy (push) Failing after 46s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 41s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 15:03:26 +01:00
eric
23a95bae53 fix: .env is located next to package.json
Some checks failed
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
CI / test (ubuntu-latest, linux-x64) (push) Has been cancelled
Docs Pages / deploy (push) Has been cancelled
2026-03-04 15:03:15 +01:00
eric
695bba18a6 chore(release): v0.0.7
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 35s
Docs Pages / deploy (push) Failing after 1m26s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 34s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 14:38:41 +01:00
eric
63cf0470a6 feat: add docs
Some checks failed
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
CI / test (ubuntu-latest, linux-x64) (push) Has been cancelled
Docs Pages / deploy (push) Has been cancelled
2026-03-04 14:38:30 +01:00
eric
beb8a72d0d feat: add option for process cwd (.env support) 2026-03-04 14:21:45 +01:00
eric
d57f2aaf7f chore(release): v0.0.6
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 36s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 38s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 10:48:04 +01:00
eric
09929fe80b feat: bun dev target support
Some checks failed
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
CI / test (ubuntu-latest, linux-x64) (push) Has been cancelled
2026-03-04 10:47:52 +01:00
eric
db890ac671 chore(release): v0.0.5
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 33s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 32s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 10:11:16 +01:00
eric
3bc3a886cd docs: update readme on release
Some checks failed
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
CI / test (ubuntu-latest, linux-x64) (push) Has been cancelled
2026-03-04 10:11:07 +01:00
eric
aaf826d110 chore(release): v0.0.4
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 34s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 33s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 10:07:37 +01:00
eric
f05cf79c8f docs: readme instructions
Some checks failed
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
CI / test (ubuntu-latest, linux-x64) (push) Has been cancelled
2026-03-04 10:07:28 +01:00
eric
e8dbafd8a2 chore(release): v0.0.3
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 42s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 32s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
2026-03-04 10:00:44 +01:00
eric
8d8215e9e9 feat: release script 2026-03-04 10:00:36 +01:00
0698149035 Merge pull request 'copilot/add-tests-bun-workspaces' (#3) from copilot/add-tests-bun-workspaces into main
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 35s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
Reviewed-on: #3
2026-03-04 08:53:35 +00:00
eric
481acd9f84 test: add bun workspace tests
Some checks failed
CI / test (ubuntu-latest, linux-x64) (pull_request) Failing after 31s
CI / test (macos-14, darwin-arm64) (pull_request) Has been cancelled
CI / test (windows-latest, windows) (pull_request) Has been cancelled
2026-03-04 09:53:19 +01:00
d558765e64 Merge pull request 'copilot/add-bun-rules-package' (#2) from copilot/add-bun-rules-package into main
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 35s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 37s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
Reviewed-on: #2
2026-03-04 08:47:28 +00:00
eric
aee9025bda fix: bazel is green
Some checks failed
CI / test (ubuntu-latest, linux-x64) (pull_request) Failing after 31s
Copilot Setup Steps / copilot-setup-steps (pull_request) Failing after 37s
CI / test (macos-14, darwin-arm64) (pull_request) Has been cancelled
CI / test (windows-latest, windows) (pull_request) Has been cancelled
2026-03-04 09:47:09 +01:00
eric
129d4598f6 feat: cache nix packages in ci
Some checks failed
Copilot Setup Steps / copilot-setup-steps (push) Failing after 1m20s
2026-03-04 09:44:37 +01:00
copilot-swe-agent[bot]
f9d2c36263 test: add workspace monorepo bun install test
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 08:43:51 +00:00
copilot-swe-agent[bot]
8f56a416b0 Initial plan 2026-03-04 08:38:02 +00:00
eric
3086c3ffde chore(release): v0.0.2
Some checks failed
Copilot Setup Steps / copilot-setup-steps (push) Failing after 33s
2026-03-04 09:37:10 +01:00
eric
e0ad59effe chore: update flake 2026-03-04 09:37:01 +01:00
8345162e03 Merge pull request 'copilot/add-bun-rules-package' (#1) from copilot/add-bun-rules-package into main
Some checks failed
CI / test (ubuntu-latest, linux-x64) (push) Failing after 24s
Copilot Setup Steps / copilot-setup-steps (push) Failing after 33s
CI / test (macos-14, darwin-arm64) (push) Has been cancelled
CI / test (windows-latest, windows) (push) Has been cancelled
Reviewed-on: #1
2026-03-04 08:27:24 +00:00
eric
2fae16158c fix: all tests
Some checks failed
Copilot Setup Steps / copilot-setup-steps (push) Failing after 1m1s
CI / test (ubuntu-latest, linux-x64) (pull_request) Failing after 1m8s
Copilot Setup Steps / copilot-setup-steps (pull_request) Failing after 31s
CI / test (macos-14, darwin-arm64) (pull_request) Has been cancelled
CI / test (windows-latest, windows) (pull_request) Has been cancelled
2026-03-04 09:24:37 +01:00
copilot-swe-agent[bot]
4ee716530d test: refine new shape test assertions
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 08:16:55 +00:00
copilot-swe-agent[bot]
d93e1715c6 test: add missing implementation-plan test targets
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 08:15:30 +00:00
eric
90fefeb18e docs: define missing tests 2026-03-04 09:09:18 +01:00
copilot-swe-agent[bot]
48e3ab02d6 fix: harden phase 8 CI workflow and checks
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 08:04:30 +00:00
copilot-swe-agent[bot]
cb0b253753 feat: add phase 8 ci matrix workflow
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 08:01:05 +00:00
eric
2a24b83d2f fix: tests 2026-03-04 08:57:26 +01:00
copilot-swe-agent[bot]
36c1beb4d7 chore: address phase 7 review feedback
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 07:54:06 +00:00
copilot-swe-agent[bot]
8cfc9af83d feat: add phase 7 bun_install module extension
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 07:52:24 +00:00
eric
a21ff13cf2 chore: update flake 2026-03-04 08:49:18 +01:00
eric
6bd440d3d7 fix: tests 2026-03-04 08:44:11 +01:00
copilot-swe-agent[bot]
8218858498 feat: add phase 6 js_library and ts_library bootstrap
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 07:31:19 +00:00
eric
244b56a8dd feat: update nix flake 2026-03-04 08:26:46 +01:00
eric
cfa8cc6d07 fix: use correct bazel 9.0.0 imports 2026-03-04 04:43:42 +01:00
copilot-swe-agent[bot]
1fbae420da feat: implement phase 5 bun_bundle bootstrap
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:30:07 +00:00
copilot-swe-agent[bot]
07b97a6e1e fix: harden bun_test launcher args and test metadata
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:22:58 +00:00
copilot-swe-agent[bot]
894dca72a0 feat: add phase 4 bun_test bootstrap
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:19:28 +00:00
copilot-swe-agent[bot]
48d81599ec test: simplify bun_binary test targets
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:12:39 +00:00
copilot-swe-agent[bot]
fbf89d5843 feat: add phase 3 bun_binary bootstrap and tests
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:10:35 +00:00
copilot-swe-agent[bot]
d107bad750 docs: add bun_install parameter docs
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:05:49 +00:00
copilot-swe-agent[bot]
c5cc709311 feat: add phase 2 bun_install repository rule bootstrap
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 03:05:01 +00:00
eric
93a8cb4cff docs: add plan to repo 2026-03-04 04:00:17 +01:00
copilot-swe-agent[bot]
87d5b99dd2 chore: centralize bun version and release URL constants
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 02:56:27 +00:00
copilot-swe-agent[bot]
d88a29403a feat: bootstrap bun toolchain skeleton and smoke test
Co-authored-by: Eriyc <50216491+Eriyc@users.noreply.github.com>
2026-03-04 02:54:12 +00:00
copilot-swe-agent[bot]
c5c4e152ab Initial plan 2026-03-04 02:47:55 +00:00
eric
e09d0b5127 chore: publish 2026-03-04 03:47:18 +01:00
3 changed files with 0 additions and 217 deletions

View File

@@ -5,10 +5,6 @@ on:
branches: ["main"] branches: ["main"]
pull_request: pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
test: test:
permissions: permissions:
@@ -29,12 +25,6 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: bazel-contrib/setup-bazel@0.15.0 - uses: bazel-contrib/setup-bazel@0.15.0
with:
bazelisk-cache: true
repository-cache: true
external-cache: true
disk-cache: ci-${{ matrix.phase8_target }}
cache-save: ${{ github.event_name != 'pull_request' }}
- name: Run tests (${{ matrix.phase8_target }}) - name: Run tests (${{ matrix.phase8_target }})
run: | run: |
echo "Phase 8 target: ${{ matrix.phase8_target }}" echo "Phase 8 target: ${{ matrix.phase8_target }}"

View File

@@ -3,11 +3,6 @@ name: Docs Pages
on: on:
push: push:
branches: ["main"] branches: ["main"]
paths:
- "docs/**"
- "bun/**/*.bzl"
- "internal/**/*.bzl"
- ".github/workflows/pages.yml"
workflow_dispatch: workflow_dispatch:
permissions: permissions:
@@ -31,11 +26,6 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: bazel-contrib/setup-bazel@0.15.0 - uses: bazel-contrib/setup-bazel@0.15.0
with:
bazelisk-cache: true
repository-cache: true
external-cache: true
disk-cache: docs-pages
- name: Generate rule docs - name: Generate rule docs
run: | run: |

197
prank.py
View File

@@ -1,197 +0,0 @@
#!/usr/bin/env python3
"""
git-claim-authorship.py
Rewrites git history so that any commit where you appear as a co-author
instead lists you as the sole author (removing the Co-authored-by line).
Usage:
python git-claim-authorship.py --name "Your Name" --email "you@example.com"
Run from inside the repository you want to rewrite.
WARNING: This rewrites history. Force-push required afterwards.
"""
import subprocess
import re
import argparse
import sys
def run(cmd, capture=True, check=True):
result = subprocess.run(
cmd, shell=True, capture_output=capture, text=True, check=check
)
return result.stdout.strip() if capture else None
def get_all_commits():
output = run("git log --format='%H' --all")
return output.splitlines() if output else []
def get_commit_info(sha):
msg = run(f"git log -1 --format=%B {sha}")
author_name = run(f"git log -1 --format=%an {sha}")
author_email = run(f"git log -1 --format=%ae {sha}")
author_date = run(f"git log -1 --format=%aI {sha}")
committer_name = run(f"git log -1 --format=%cn {sha}")
committer_email = run(f"git log -1 --format=%ce {sha}")
committer_date = run(f"git log -1 --format=%cI {sha}")
return {
"sha": sha,
"message": msg,
"author_name": author_name,
"author_email": author_email,
"author_date": author_date,
"committer_name": committer_name,
"committer_email": committer_email,
"committer_date": committer_date,
}
def find_coauthor_line(message, name, email):
"""Return True if a Co-authored-by line matches the given name or email."""
pattern = re.compile(
r"^Co-authored-by:.*?" + re.escape(name) + r".*$|"
r"^Co-authored-by:.*?" + re.escape(email) + r".*$",
re.IGNORECASE | re.MULTILINE,
)
return bool(pattern.search(message))
def remove_coauthor_line(message, name, email):
"""Strip matching Co-authored-by lines from the commit message."""
pattern = re.compile(
r"^Co-authored-by:.*?" + re.escape(name) + r".*\n?|"
r"^Co-authored-by:.*?" + re.escape(email) + r".*\n?",
re.IGNORECASE | re.MULTILINE,
)
cleaned = pattern.sub("", message)
cleaned = re.sub(r"\n{3,}", "\n\n", cleaned).rstrip() + "\n"
return cleaned
def main():
parser = argparse.ArgumentParser(
description="Claim authorship of co-authored commits."
)
parser.add_argument("--name", required=True, help="Your full name (as in git)")
parser.add_argument("--email", required=True, help="Your email (as in git)")
parser.add_argument(
"--dry-run",
action="store_true",
help="Show what would change without modifying anything",
)
args = parser.parse_args()
# Make sure we're in a git repo
try:
run("git rev-parse --is-inside-work-tree")
except subprocess.CalledProcessError:
print("Error: not inside a git repository.", file=sys.stderr)
sys.exit(1)
print(f"Scanning commits for co-authorship by: {args.name} <{args.email}>")
commits = get_all_commits()
print(f"Total commits found: {len(commits)}")
matches = []
for sha in commits:
info = get_commit_info(sha)
if find_coauthor_line(info["message"], args.name, args.email):
matches.append(info)
if not matches:
print("No commits found with your Co-authored-by line. Nothing to do.")
return
print(f"\nFound {len(matches)} commit(s) to rewrite:\n")
for info in matches:
first_line = info["message"].split("\n")[0]
print(f" {info['sha'][:10]} {first_line}")
if args.dry_run:
print("\n[Dry run] No changes made.")
return
confirm = input(
"\n⚠️ This will rewrite history. Proceed? (yes/no): "
).strip().lower()
if confirm != "yes":
print("Aborted.")
return
# Build a filter-branch env filter script
sha_set = {info["sha"] for info in matches}
case_entries = []
for info in matches:
case_entries.append(
f" {info['sha']})\n"
f" export GIT_AUTHOR_NAME='{args.name}'\n"
f" export GIT_AUTHOR_EMAIL='{args.email}'\n"
f" ;;"
)
case_block = "\n".join(case_entries)
env_filter = f"""
case $GIT_COMMIT in
{case_block}
esac
"""
msg_case_entries = []
for info in matches:
new_msg = remove_coauthor_line(info["message"], args.name, args.email)
escaped_msg = new_msg.replace("'", "'\\''").replace("`", "\\`").replace("$", "\\$")
msg_case_entries.append(
f" {info['sha']})\n"
f" printf '%s' '{escaped_msg}'\n"
f" ;;"
)
msg_case_block = "\n".join(msg_case_entries)
msg_filter = f"""
case $GIT_COMMIT in
{msg_case_block}
*)
cat
;;
esac
"""
with open("/tmp/_msg_filter.sh", "w") as f:
f.write(msg_filter)
print("\nRewriting history with git filter-branch...")
try:
result = subprocess.run(
[
"git", "filter-branch", "-f",
"--env-filter", env_filter,
"--msg-filter", "bash /tmp/_msg_filter.sh",
"--tag-name-filter", "cat",
"--", "--all"
],
capture_output=False,
text=True,
)
if result.returncode != 0:
print("filter-branch failed.", file=sys.stderr)
sys.exit(1)
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
sys.exit(1)
print("\n✅ Done! History rewritten.")
print("\nTo publish the changes, force-push all branches:")
print(" git push --force --all")
print(" git push --force --tags")
print("\nNote: Anyone else with a clone of this repo will need to re-clone or rebase.")
if __name__ == "__main__":
main()