nu_scripts/make_release/this_week_in_nu_weekly.nu
Igor 13f2c47135
Port before_v0.60/make_release folder (#830)
This PR is part of porting all old scripts #221 and ports `make_release`
folder
## Summary

### make_release/this_week_in_nu_weekly.nu
This script has already been ported and has received some updates: #433.
So I just removed it
```yaml
from: before_v0.60/make_release/this_week_in_nu_weekly.nu
to: make_release/this_week_in_nu_weekly.nu
functions:
    do-work: make_release/this_week_in_nu_weekly.nu:1:query-week-span
```

### make_release/this_week_in_nu_release.nu

I have ported this, but I'm not sure if we need it because it has
strange name and we have `prs.nu` and `make_release/release-note/`

```yaml
from: before_v0.60/make_release/this_week_in_nu_release.nu
to: make_release/this_week_in_nu_release.nu
functions:
    do-work: make_release/this_week_in_nu_release.nu:1:do-work
```

### make_release/nu_release.nu

This has already been ported to `make_release/nu_release.nu` and has
received new updates #828 so I just removed it

```yaml
from: before_v0.60/make_release/nu_release.nu
to: make_release/nu_release.nu
```

### make_release/gen-js-ext.nu
This has already been moved to `make_release/gen-js-ext.nu` and has
received new updates #621 but not completely ported so I have ported it
- pipeline `for` to `each`
- `$nu.scope.commands` to `scope commands`
- explicit `print`
```yaml
from: before_v0.60/make_release/gen-js-ext.nu
to: make_release/gen-js-ext.nu
functions:
  gen_keywords: make_release/gen-js-ext.nu:1:gen_keywords
  gen_sub_keywords: make_release/gen-js-ext.nu:20:gen_sub_keywords
```

### make_release/gen-ts-ext.nu
I have ported this script
```yaml
from: before_v0.60/make_release/gen-ts-ext.nu
to: make_release/gen-ts-ext.nu
functions:
  gen-ts-cmds-begin: make_release/gen-ts-ext.nu:1:gen-ts-cmds-begin
  gen-ts-cmds: make_release/gen-ts-ext.nu:18:gen-ts-cmds
  gen-ts-subs: make_release/gen-ts-ext.nu:40:gen-ts-subs
```
2024-05-13 09:53:13 -04:00

64 lines
2.4 KiB
Plaintext

# http get https://api.github.com/repos/nushell/nushell/pulls?q=is%3Apr+merged%3A%3E%3D2021-04-20+ | select html_url user.login title body
# http get https://api.github.com/search/issues?q=repo:nushell/nushell+is:pr+is:merged+merged:%3E2021-05-08 | get items | select html_url user.login title body
# Repos to monitor
def query-week-span [] {
let site_table = [
[site repo];
[Nushell nushell]
[Extension vscode-nushell-lang]
[Documentation nushell.github.io]
[Wasm demo]
[Nu_Scripts nu_scripts]
[RFCs rfcs]
[reedline reedline]
[Nana nana]
# ] [Jupyter jupyter]
]
let query_prefix = "https://api.github.com/search/issues?q=repo:nushell/"
let query_date = (seq date --days 7 -r | get 6)
let per_page = "100"
let page_num = "1" # need to implement iterating pages
let colon = "%3A"
let gt = "%3E"
let eq = "%3D"
let amp = "%26"
let query_suffix = $"+is($colon)pr+is($colon)merged+merged($colon)($gt)($eq)($query_date)&per_page=100&page=1"
for repo in $site_table {
let query_string = $"($query_prefix)($repo.repo)($query_suffix)"
let site_json = (http get -u $env.GITHUB_USERNAME -p $env.GITHUB_PASSWORD $query_string | get items | select html_url user.login title)
if not ($site_json | all { |it| $it | is-empty }) {
print $"(char nl)## ($repo.site)(char nl)"
for user in ($site_json | group-by user_login | transpose user prs) {
let user_name = $user.user
let pr_count = ($user.prs | length)
print -n $"- ($user_name) created "
for pr in ($user.prs | enumerate) {
if $pr_count == ($pr.index + 1) {
print -n $"[($pr.item.title)](char lparen)($pr.item.html_url)(char rparen)"
} else {
print -n $"[($pr.item.title)](char lparen)($pr.item.html_url)(char rparen), and "
}
}
print ""
}
}
}
}
# 2019-08-23 was the release of 0.2.0, the first public release
let week_num = ((seq date -b '2019-08-23' -n 7 | length) - 1)
print $"# This week in Nushell #($week_num)(char nl)"
if ($env | get -i GITHUB_USERNAME | is-empty) or ($env | get -i GITHUB_PASSWORD | is-empty) {
print 'Please set GITHUB_USERNAME and GITHUB_PASSWORD in $env to use this script'
} else {
query-week-span
}