Skip to content

feat: use JSON, templates, npx, and add dry-run support#186

Draft
avivkeller wants to merge 3 commits intonodejs:mainfrom
avivkeller:use-json-use-templates-use-npx-add-dry-run
Draft

feat: use JSON, templates, npx, and add dry-run support#186
avivkeller wants to merge 3 commits intonodejs:mainfrom
avivkeller:use-json-use-templates-use-npx-add-dry-run

Conversation

@avivkeller
Copy link
Copy Markdown
Member

Fixes #3
Closes #185


This PR makes a few substantial changes to improve the DX of this tool.

  • Moves from INI/env files in templates/ to JSON configurations in configs/, this'll make it easier to edit and parse (See fix(properties): allow quote-less props #185 for an example of dotenv struggles)
  • Adds a --dry-run argument, as, when testing this, it's important not to create the issues and notes
  • Adds, and relies on, npx-style support. (i.e. npx . tsc or npx https://github.com/nodejs/create-node-meeting-artifacts tsc
    • With this in mind, it makes sense to put the entrypoint in src/, since it no longer really needs to be easily accessible for scripts, it'll be npx-ed.
  • Moves from a custom template system to Mustache.
  • Uses a dynamic matrix in GH Actions
  • Removes obsolete teams (with archived repositories)

The goal here is:

  • Improve DX
  • Less code to maintain

For example, running npx . web --dry-run produces:

[dry-run] Would create HackMD meeting notes document.
[dry-run] Would create GitHub issue with title: Node.js Web Team Meeting 2025-09-29
[dry-run] Would use the following content:
 ## Time

**UTC Mon, Sep 29, 2025, 07:00 PM**:

| Timezone | Date/Time |
| -------- | --------- |
| US / Pacific | Mon, Sep 29, 2025, 12:00 PM |
| US / Mountain | Mon, Sep 29, 2025, 01:00 PM |
| US / Central | Mon, Sep 29, 2025, 02:00 PM |
| US / Eastern | Mon, Sep 29, 2025, 03:00 PM |
| EU / Western | Mon, Sep 29, 2025, 08:00 PM |
| EU / Central | Mon, Sep 29, 2025, 09:00 PM |
| EU / Eastern | Mon, Sep 29, 2025, 10:00 PM |
| Moscow | Mon, Sep 29, 2025, 10:00 PM |
| Chennai | Tue, Sep 30, 2025, 12:30 AM |
| Hangzhou | Tue, Sep 30, 2025, 03:00 AM |
| Tokyo | Tue, Sep 30, 2025, 04:00 AM |
| Sydney | Tue, Sep 30, 2025, 05:00 AM |

Or in your local time:

* https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Node.js%20Web%20Team+Meeting+2025-09-29&iso=20250929T190000
* https://www.wolframalpha.com/input/?i=07%3A00%20PM+UTC%2C+Sep%2029%2C%202025+in+local+time

## Links

* https://hackmd.io/dry-run

## Agenda

Extracted from **web-agenda** labelled issues and pull requests from @nodejs prior to the meeting.

### nodejs/doc-kit

* Generate Type Declarations [#437](https://github.com/nodejs/doc-kit/issues/437)

### nodejs/nodejs.org

* content(`userland-migration`): make up to date [#8053](https://github.com/nodejs/nodejs.org/pull/8053)

### nodejs/web-team

* Create Means for Private Communications [#14](https://github.com/nodejs/web-team/issues/14)

## Invited

* @nodejs/web

### Observers/Guests


## Joining the meeting

* To join this meeting, visit <https://zoom-lfx.platform.linuxfoundation.org/meeting/91972207331?password=419d8029-a3c7-4536-9666-d9e97c0f0f93>.
* To observe this meeting, visit <https://livestream.openjsf.org>.
[dry-run] Would update HackMD document with self-referencing link.
[dry-run] Would use the following notes content:
 ## Time

**UTC Mon, Sep 29, 2025, 07:00 PM**:

| Timezone | Date/Time |
| -------- | --------- |
| US / Pacific | Mon, Sep 29, 2025, 12:00 PM |
| US / Mountain | Mon, Sep 29, 2025, 01:00 PM |
| US / Central | Mon, Sep 29, 2025, 02:00 PM |
| US / Eastern | Mon, Sep 29, 2025, 03:00 PM |
| EU / Western | Mon, Sep 29, 2025, 08:00 PM |
| EU / Central | Mon, Sep 29, 2025, 09:00 PM |
| EU / Eastern | Mon, Sep 29, 2025, 10:00 PM |
| Moscow | Mon, Sep 29, 2025, 10:00 PM |
| Chennai | Tue, Sep 30, 2025, 12:30 AM |
| Hangzhou | Tue, Sep 30, 2025, 03:00 AM |
| Tokyo | Tue, Sep 30, 2025, 04:00 AM |
| Sydney | Tue, Sep 30, 2025, 05:00 AM |

Or in your local time:

* https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Node.js%20Web%20Team+Meeting+2025-09-29&iso=20250929T190000
* https://www.wolframalpha.com/input/?i=07%3A00%20PM+UTC%2C+Sep%2029%2C%202025+in+local+time

## Links

* https://hackmd.io/dry-run
* https://github.com/dry-run/issue

## Agenda

Extracted from **web-agenda** labelled issues and pull requests from @nodejs prior to the meeting.

### nodejs/doc-kit

* Generate Type Declarations [#437](https://github.com/nodejs/doc-kit/issues/437)

### nodejs/nodejs.org

* content(`userland-migration`): make up to date [#8053](https://github.com/nodejs/nodejs.org/pull/8053)

### nodejs/web-team

* Create Means for Private Communications [#14](https://github.com/nodejs/web-team/issues/14)

## Invited

* @nodejs/web

### Observers/Guests


## Joining the meeting

* To join this meeting, visit <https://zoom-lfx.platform.linuxfoundation.org/meeting/91972207331?password=419d8029-a3c7-4536-9666-d9e97c0f0f93>.
* To observe this meeting, visit <https://livestream.openjsf.org>.
Created GitHub issue: https://github.com/dry-run/issue
Created HackMD document: https://hackmd.io/dry-run
Dry run mode: no data was created or updated.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TODO: use template for issue

4 participants