├── CODEOWNERS ├── .gitignore ├── README.md ├── .eslintrc.mjs ├── .prettierrc.json ├── package.json ├── .github ├── workflows │ ├── meeting-reminder.yml │ ├── generate-meeting-agendas.yml │ └── generate-transcript.yaml └── ISSUE_TEMPLATE │ └── meeting-agenda.md ├── FUNDING.md ├── scripts └── generate-transcript.mjs └── notes └── 2025 ├── 2025-04-28.md ├── 2025-07-28-transcript.md ├── 2025-05-19-transcript.md ├── 2025-08-25-transcript.md └── 2025-04-28-transcript.md /CODEOWNERS: -------------------------------------------------------------------------------- 1 | @webpack/tsc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Webpack TSC 2 | 3 | This repository contains the tsc meeting notes and more 4 | -------------------------------------------------------------------------------- /.eslintrc.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | root: true, 3 | extends: ['eslint'], 4 | parserOptions: { ecmaVersion: 8 }, 5 | env: { node: true, es6: true }, 6 | rules: { 'no-console': 'off' }, 7 | }; 8 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "semi": true, 5 | "singleQuote": true, 6 | "trailingComma": "es5", 7 | "bracketSpacing": true, 8 | "bracketSameLine": false, 9 | "arrowParens": "avoid" 10 | } 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tsc-meetings", 3 | "private": true, 4 | "version": "1.0.0", 5 | "description": "Technical Steering Committee meeting notes, proposals, and related information", 6 | "scripts": { 7 | "lint": "eslint .", 8 | "lint:fix": "npm run lint -- --fix", 9 | "generate:transcript": "node ./scripts/generate-transcript.mjs" 10 | }, 11 | "repository": "webpack/tsc", 12 | "license": "MIT", 13 | "dependencies": { 14 | "discord-transcript-generator": "^1.1.2", 15 | "moment": "^2.30.1" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^22.15.3", 19 | "eslint": "^9.25.1", 20 | "eslint-config-eslint": "^11.0.0", 21 | "eslint-plugin-jsdoc": "^50.6.11", 22 | "eslint-plugin-node": "^11.1.0", 23 | "prettier": "^3.5.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.github/workflows/meeting-reminder.yml: -------------------------------------------------------------------------------- 1 | name: TSC Meeting Discord Reminder 2 | 3 | on: 4 | issues: 5 | types: [opened] 6 | 7 | jobs: 8 | send-discord-reminder: 9 | runs-on: ubuntu-latest 10 | if: github.event.issue.user.login == 'github-actions[bot]' && startsWith(github.event.issue.title, 'TSC Meeting') 11 | 12 | env: 13 | DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} 14 | ISSUE_TITLE: ${{ github.event.issue.title }} 15 | ISSUE_URL: ${{ github.event.issue.html_url }} 16 | 17 | steps: 18 | - name: Send message to Discord 19 | run: | 20 | curl -sS -X POST -H "Content-Type: application/json" -d '{ 21 | "embeds": [{ 22 | "title": "'"$ISSUE_TITLE"'", 23 | "url": "'"$ISSUE_URL"' 24 | }] 25 | }' "$DISCORD_WEBHOOK" 26 | -------------------------------------------------------------------------------- /.github/workflows/generate-meeting-agendas.yml: -------------------------------------------------------------------------------- 1 | name: Generate TSC Meeting Agenda 2 | 3 | on: 4 | pull_request: 5 | paths: 6 | - '.github/workflows/generate-meeting-agendas.yml' 7 | - '.github/ISSUE_TEMPLATE/meeting-agenda.md' 8 | schedule: 9 | - cron: '0 0 * * *' 10 | 11 | permissions: 12 | issues: write 13 | contents: read 14 | 15 | jobs: 16 | meeting: 17 | runs-on: ubuntu-latest 18 | 19 | steps: 20 | - name: Webpack TSC Meeting Agenda 21 | uses: 'pkgjs/meet@v1' 22 | with: 23 | issueTitle: 'TSC Meeting <%= date.toZonedDateTimeISO("UTC").toPlainDate().toString() %>' 24 | token: ${{ secrets.GITHUB_TOKEN }} 25 | orgs: webpack,webpack-contrib 26 | agendaLabel: 'tsc-agenda' 27 | meetingLabels: 'meeting' 28 | schedules: '2025-05-05T11:00:00.0[America/Chicago]/P2W' 29 | createWithin: 'P7D' 30 | issueTemplate: 'meeting-agenda.md' 31 | -------------------------------------------------------------------------------- /FUNDING.md: -------------------------------------------------------------------------------- 1 | # FUNDING 2 | 3 | This document explains how the webpack project uses donations received via OpenCollective. 4 | 5 | ## Purpose 6 | Donations help keep webpack healthy, secure, and sustainable so the project can continue delivering reliable tooling and support for the community. 7 | 8 | ## Primary uses of donations 9 | Donations are allocated to prioritized needs that support the project’s long-term stability: 10 | 11 | - Core maintenance 12 | - Funding paid maintainers for critical bug fixes, release management, and triage. 13 | - Paying for focused maintenance sprints and high-priority issue work. 14 | - Community and support 15 | - Sponsoring mentorship programs, and documentation improvements. 16 | 17 | ## Budgeting principles 18 | 19 | - Prioritize work that increases stability, security, and user experience. 20 | - Use funds transparently and minimize overhead. 21 | 22 | ## Transparency and reporting 23 | - Donation receipts and expense records are published on the project’s OpenCollective page. 24 | - Major one‑off expenditures are expended based on the core working group’s approval. 25 | 26 | ## How contributors and sponsors can help 27 | 28 | - Donate via our OpenCollective page (link on the webpack website). 29 | - Sponsor specific initiatives by contacting project maintainers with a proposal. 30 | - Fix issues that are important to webpack. 31 | 32 | ## Contact 33 | 34 | For questions about funding open an issue in the webpack repository or contact the finance leads listed on the OpenCollective page. 35 | 36 | Thank you to all supporters — your contributions keep webpack improving and available to everyone. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/meeting-agenda.md: -------------------------------------------------------------------------------- 1 | <% const timezones = [ 2 | 'America/Los_Angeles', 3 | 'America/Denver', 4 | 'America/Chicago', 5 | 'America/New_York', 6 | 'Europe/London', 7 | 'Europe/Amsterdam', 8 | 'Europe/Moscow', 9 | 'Asia/Kolkata', 10 | 'Asia/Shanghai', 11 | 'Asia/Tokyo', 12 | 'Australia/Sydney' 13 | ]; %> 14 | 15 | ## Date/Time 16 | 17 | | Timezone | Date/Time | 18 | |----------|-----------| 19 | <%= timezones.map((zone) => { 20 | const zonedDate = date.toZonedDateTimeISO(zone) 21 | const formatter = new Intl.DateTimeFormat('en-US', { 22 | weekday: 'short', 23 | month: 'short', 24 | day: '2-digit', 25 | year: 'numeric', 26 | hour: '2-digit', 27 | minute: '2-digit', 28 | hour12: true, 29 | timeZone: zone 30 | }) 31 | const formattedDate = formatter.format(new Date(zonedDate.epochMilliseconds)) 32 | return `| ${zone} | ${formattedDate} |` 33 | }).join('\n') %> 34 | 35 | Or in your local time: 36 | 37 | * https://www.timeanddate.com/worldclock/fixedtime.html?msg=<%= encodeURIComponent(title) %>&iso=<%= date.toZonedDateTimeISO('UTC').toPlainDateTime().toString().slice(0, 16).replace(/[-:]/g, '') %>&p1=1440&ah=1 38 | 39 | ## Agenda 40 | 41 | Extracted from **<%= agendaLabel %>** labelled issues and pull requests from **<%= owner %>/<%= repo %>** prior to the meeting. 42 | 43 | <%= agendaIssues.map((i) => { 44 | return `* ${i.html_url}` 45 | }).join('\n') %> 46 | 47 | ## Invited 48 | 49 | * Webpack TSC (@webpack/tsc) 50 | 51 | ### Observers/Guests 52 | 53 | This meeting is open for anyone who wants to attend. Reminder to follow our [Code of Conduct](https://github.com/webpack/webpack/blob/main/CODE_OF_CONDUCT.md). 54 | 55 | ### Joining the meeting 56 | 57 | * Join [Webpack's Discord server](https://discord.gg/5sxFZPdx2k) then the [#tsc-meetings](https://discord.com/channels/1180618526436888586/1374060261576540170) channel 58 | 59 | --- 60 | 61 | Please use the following emoji reactions in this post to indicate your 62 | availability. 63 | 64 | * 👍 - Attending 65 | * 👎 - Not attending 66 | * 😕 - Not sure yet 67 | -------------------------------------------------------------------------------- /scripts/generate-transcript.mjs: -------------------------------------------------------------------------------- 1 | // This script is originally based on ESLint's Transcript Generator script. 2 | // @see https://github.com/eslint/tsc-meetings/blob/32b2c32ba5804e616470ac988cb553334a61a06f/scripts/generate-transcript.js 3 | 4 | 'use strict'; 5 | 6 | import moment from 'moment'; 7 | import fs from 'node:fs/promises'; 8 | import path from 'node:path'; 9 | import generateTranscript from 'discord-transcript-generator'; 10 | 11 | const { TOKEN, ID, ISSUE_TITLE } = process.env; 12 | 13 | /** 14 | * Extract a date string from an automatically generated TSC Meeting issue title. 15 | * Issue title is formatted as "TSC meeting YYYY-MM-DD". 16 | * https://github.com/eslint/eslint-github-bot/blob/460d2653de44eafa0c15c361a294f5ecf5d05840/src/plugins/recurring-issues/index.js#L235 17 | * @param {string} issueTitle The issue title from which to extract the date string. 18 | * @returns {string} The extracted date string. 19 | */ 20 | const extractDateString = issueTitle => { 21 | const [, dateString = null] = /(\d\d\d\d-\d\d-\d\d)$/u.exec(issueTitle) || []; 22 | 23 | if (!dateString) { 24 | throw new Error( 25 | 'Can\'t extract date from issue title. Expecting format "TSC meeting YYYY-MM-DD".' 26 | ); 27 | } 28 | 29 | return dateString; 30 | }; 31 | 32 | /** 33 | * Formats a date string to MM/DD/YYYY. 34 | * @param {string} dateString The date string to format. 35 | * @returns {string} The formatted date string. 36 | */ 37 | const formatDate = dateString => 38 | moment(dateString, 'YYYY-MM-DD').format('MM/DD/YYYY'); 39 | 40 | /** 41 | * Generates the transcript file output path. 42 | * @param {string} dateString The date string representing the date of the transcript. 43 | * @returns {string} The path in which to output the transcript. 44 | */ 45 | const generateOutputPath = dateString => { 46 | const date = moment(dateString, 'MM/DD/YYYY'); 47 | 48 | return `./notes/${date.year()}/${date.format('YYYY-MM-DD')}-transcript.md`; 49 | }; 50 | 51 | const date = formatDate(extractDateString(ISSUE_TITLE)); 52 | 53 | const output = generateOutputPath(date); 54 | 55 | await fs.mkdir(path.dirname(output), { 56 | recursive: true, 57 | }); 58 | 59 | await generateTranscript({ 60 | token: TOKEN, 61 | id: ID, 62 | date, 63 | output, 64 | name: 'Webpack TSC Meeting', 65 | }); 66 | -------------------------------------------------------------------------------- /.github/workflows/generate-transcript.yaml: -------------------------------------------------------------------------------- 1 | name: Generate TSC Meeting Transcript 2 | 3 | on: 4 | issues: 5 | types: [closed] 6 | 7 | permissions: 8 | contents: write 9 | pull-requests: write 10 | 11 | jobs: 12 | generate-trancript: 13 | runs-on: ubuntu-latest 14 | 15 | if: contains(github.event.issue.labels.*.name, 'meeting') 16 | 17 | env: 18 | TRANSCRIPT_GENERATED: false 19 | 20 | steps: 21 | - uses: actions/checkout@v3 22 | with: 23 | ref: 'main' 24 | 25 | - name: Setup Node.js 26 | uses: actions/setup-node@v3 27 | with: 28 | cache: 'npm' 29 | 30 | - name: Cache Node.js modules 31 | uses: actions/cache@v3 32 | with: 33 | path: ~/.npm 34 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 35 | restore-keys: | 36 | ${{ runner.os }}-node- 37 | 38 | - name: Install dependencies 39 | run: npm install 40 | 41 | - name: Generate transcript 42 | run: npm run generate:transcript 43 | env: 44 | TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }} 45 | ID: ${{ secrets.DISCORD_CHANNEL_ID }} 46 | ISSUE_TITLE: ${{ github.event.issue.title }} 47 | 48 | - name: Configure Git identity 49 | run: | 50 | git config user.email "webpack[bot]@users.noreply.github.com" 51 | git config user.name "Webpack Bot" 52 | 53 | - name: Add changed files (if changed) 54 | run: | 55 | if [ -n "$(git status --porcelain)" ]; then 56 | git add --all 57 | echo "TRANSCRIPT_GENERATED=true" >> $GITHUB_ENV 58 | fi 59 | 60 | - name: Create Pull Request (if changed) 61 | if: env.TRANSCRIPT_GENERATED == 'true' 62 | uses: peter-evans/create-pull-request@v3 63 | with: 64 | base: 'main' 65 | commit-message: 'chore: add ${{ github.event.issue.title }} transcript' 66 | title: 'chore: add ${{ github.event.issue.title }} transcript' 67 | branch: generate-meeting-transcript 68 | branch-suffix: timestamp 69 | body: | 70 | Add ${{ github.event.issue.title }} transcript. 71 | 72 | This PR is autogenerated by the "Generate Transcript" GitHub Action. 73 | env: 74 | GH_TOKEN: ${{ secrets.WEBPACK_GITHUB_BOT_TOKEN }} 75 | -------------------------------------------------------------------------------- /notes/2025/2025-04-28.md: -------------------------------------------------------------------------------- 1 | # 04/28/2025 Webpack TSC Meeting Notes Summary 2 | 3 | #### **Attendance** 4 | 5 | **Participants** 6 | 7 | - Even Stensberg ([https://twitter.com/evenstensberg](https://twitter.com/evenstensberg)) 8 | - Nitin Kumar ([https://x.com/snitin315](https://x.com/snitin315) ) 9 | - Claudio Wunder ([https://github.com/ovflowd](https://github.com/ovflowd)) 10 | - Sean Larkin ([https://github.com/thelarkinn](https://github.com/thelarkinn)) 11 | - Alexander Akait ([https://github.com/aleksander-akait](https://github.com/aleksander-akait)) 12 | 13 | --- 14 | 15 | #### **1. Establish Working Groups (WGs)** 16 | 17 | **Objective:** Organize contributions by partitioning work into focused teams for scalability. 18 | 19 | - **Actions:** 20 | - Define core WGs (e.g., Core, Infra) and potential future WGs (e.g., Ecosystem). 21 | - Draft WG proposals with scope, roadmaps, and access privileges. 22 | - Assign **Nitin** as initial lead to coordinate setup. 23 | - **Owner:** Nitin + TSC 24 | - **Timeline:** 2–4 weeks (dependent on contributor availability). 25 | - **Dependencies:** Requires approval from TSC and clear communication of roles. 26 | - **Outcome:** Scoped WGs with defined responsibilities and access levels. 27 | 28 | --- 29 | 30 | #### **2. Automate Releases** 31 | 32 | **Objective:** Replace manual release processes to improve efficiency. 33 | 34 | - **Actions:** 35 | - Research existing tools (e.g., GitHub Actions, semantic release). 36 | - Propose automation workflow for versioning, changelog generation, and deployment. 37 | - Validate feasibility with current contributors (e.g., Alex). 38 | - **Owner:** Nitin 39 | - **Timeline:** 3–6 weeks (post-WG setup). 40 | - **Dependencies:** Requires collaboration with core contributors to align on tooling. 41 | - **Outcome:** Draft proposal for automated release pipeline. 42 | 43 | --- 44 | 45 | #### **3. Improve Meeting Infrastructure** 46 | 47 | **Objective:** Streamline meeting logistics and documentation. 48 | 49 | - **Actions:** 50 | - Adopt ESLint/Node.js templates for agenda generation (e.g., `generate-transcript.js`). 51 | - Migrate meeting notes to `webpack/tsc` repo with clear categorization. 52 | - Set up GHA workflows for agenda/transcript automation. 53 | - **Owner:** Claudio + Even 54 | - **Timeline:** 2–3 weeks. 55 | - **Dependencies:** Access to Cross Project Council tools (Even will coordinate). 56 | - **Outcome:** Automated meeting transcripts and agendas stored in `webpack/tsc`. 57 | 58 | --- 59 | 60 | #### **4. Roadmapping via GitHub Projects** 61 | 62 | **Objective:** Use GitHub Projects for centralized, org-wide roadmaps. 63 | 64 | - **Actions:** 65 | - Migrate from Kanban board to a unified GitHub Project (repo-neutral). 66 | - Align WGs with project boards to track cross-repo dependencies. 67 | - Integrate milestones for core releases and OKRs (if feasible). 68 | - **Owner:** Nitin + TSC 69 | - **Timeline:** Ongoing, with initial setup in 2 weeks. 70 | - **Dependencies:** WG structure must be finalized first. 71 | - **Outcome:** GitHub Project serving as a single source of truth for roadmaps. 72 | 73 | --- 74 | 75 | #### **5. Meeting Transcript Automation** 76 | 77 | **Objective:** Standardize and automate post-meeting documentation. 78 | 79 | - **Actions:** 80 | - Deploy scripts from ESLint/Node.js to generate transcripts. 81 | - Validate with Claudio’s proposed `generate-transcript.js` tool. 82 | - Ensure compatibility with existing repositories. 83 | - **Owner:** Claudio + Even 84 | - **Timeline:** 2–3 weeks. 85 | - **Dependencies:** Requires GitHub Actions setup and testing. 86 | - **Outcome:** Automated, version-controlled transcripts for all TSC meetings. 87 | 88 | --- 89 | 90 | ### **Summary Table** 91 | 92 | | Task | Owner | Timeline | Outcome | 93 | | ------------------------------ | -------------- | --------------------------------- | ------------------------------ | 94 | | Establish WGs | Nitin + TSC | 2–4 weeks | Scoped WGs with access/roles | 95 | | Automate Releases | Nitin | 3–6 weeks | Draft automation proposal | 96 | | Improve Meeting Infrastructure | Claudio + Even | 2–3 weeks | Automated agendas/transcripts | 97 | | Roadmapping (GitHub Projects) | Nitin + TSC | Ongoing, initial setup in 2 weeks | Centralized roadmap project | 98 | | Meeting Transcript Automation | Claudio + Even | 2–3 weeks | Version-controlled transcripts | 99 | 100 | --- 101 | 102 | ### **Next Steps** 103 | 104 | 1. Nitin to draft WG proposals and schedule TSC vote (within 1 week). 105 | 2. Claudio and Even to prototype `generate-transcript.js` and test with next meeting. 106 | 3. Alex to review release automation tools and provide feedback by [insert deadline]. 107 | -------------------------------------------------------------------------------- /notes/2025/2025-07-28-transcript.md: -------------------------------------------------------------------------------- 1 | # 07/28/2025 Webpack TSC Meeting Transcript 2 | 3 | **wunderacle:** Hey folks 👋 we''re starting today's TSC meeting. The meeting agenda is available here: https://github.com/webpack/tsc/issues/25 4 | 5 | Please react with 👍 to acknowledge you're participating today ✨ 6 | * 👍 @snitin315, @vipinalways, @porus_123, @bjohansebas, @thekavyashah 7 | 8 | **wunderacle:** Alrighjty, let's give 3 more minutes for more people to join. 9 | * 👍 @snitin315, @vipinalways, @alexander.akait, @bjohansebas 10 | 11 | **wunderacle:** I'd also like to emphasise you can subscribe on OpenJS's calendar for https://calendar.google.com/calendar/embed?src=linuxfoundation.org_fuop4ufv766f9avc517ujs4i0g%40group.calendar.google.com all calendar updates! 12 | * 👍 @vipinalways, @alexander.akait 13 | 14 | **wunderacle:** Alrighty, welcome all to today's TSC meeting! 15 | 16 | **wunderacle:** Before we start the items of our agenda, does anyone has an announcement they'd like to share or a topic to be discussed in private afterwards on <#1371080839341019237> ? 17 | 18 | **wunderacle:** Alrighty, the first item of the agenda is https://github.com/webpack/tsc/issues/21 19 | 20 | **wunderacle:** I've opened this issue to vote that we should streamline our comms. Our Slack is barely ever used and I feel it should be removed/disbanded. At most we could have Slack channels on OpenJS's slack as other projects do :) 21 | 22 | **wunderacle:** This removes the need of supervising/monitoring more platforms. Discord feels sufficient for us. 23 | 24 | **wunderacle:** TSC members: could you react with a thumbs up/down on the issue if you're in agreement and/or write a comment if you're -1 or if you have alternative suggestions? 25 | * 👍 @snitin315, @alexander.akait 26 | 27 | **snitin315:** Yeah discord is sufficient IMO as well 28 | 29 | **alexander.akait:** It would be nice to choose something that is available in all countries, yeah, we have VPN or other similar things, but such services sometimes are unstable, also now we have couple core developers from China, discord is blocked there too 30 | 31 | **wunderacle:** Discord is not blocked on Russia, right? 32 | 33 | **alexander.akait:** On the other hand, I understand that the number of such platforms is not so great these days. 34 | 35 | **wunderacle:** I think folxs from China already need to use VPN for services like Slack, GitHub, Discord and others, unfortunately. 36 | * 👍 @alexander.akait, @bjohansebas 37 | 38 | **snitin315:** Do we have any platform which works everywhere? 🤔 39 | 40 | **alexander.akait:** In Russia it is slow, not banned 41 | 42 | **alexander.akait:** Not all services are banned in Russia, but many of them just slow to force people use internal services 43 | 44 | **alexander.akait:** Currently telegram is working everywhere, but not all people like it 😄 45 | * ➕ @snitin315 46 | 47 | **alexander.akait:** So let's vote on this issue as was described above. If most decide to continue using discord I will be fine (hope other too). 48 | 49 | **wunderacle:** Noted. And if issues arise, we can also address them as they come. 50 | * 👍 @alexander.akait 51 | 52 | **wunderacle:** Maintaining a whole platform on the premise that it could cause issues... Isn't probably one that we should put much value into. 53 | * 👍 @alexander.akait 54 | 55 | **wunderacle:** So far only I have reacted on the issue. Don't forget to react, y'all! 56 | 57 | **snitin315:** Shall we move to the next item? 58 | 59 | **alexander.akait:** One note about slack - let's keep the general channel, a lot of developers there and sometimes we have feedback there too, so we will avoid using slack for internal discussion/work/communication/etc 60 | * 👍 @snitin315 61 | 62 | **wunderacle:** I mean, if we keep any channel, we still need to maintain the whole platform. 63 | 64 | **wunderacle:** We can just redirect people towards here 65 | 66 | **wunderacle:** (I barely ever see anyone asking questions there) 67 | 68 | **wunderacle:** So consolidating all traffic to Discord makes sense imo 69 | 70 | **alexander.akait:** We will pin a message like - we don't use it anymore if you need support/have questions/etc please visit here with link 71 | * 👍 @snitin315 72 | 73 | **wunderacle:** Would that even be needed? But sure. We can make all channels read-only and disallow channel creation and stop accepting new people joining 74 | * 👍 @snitin315 75 | 76 | **alexander.akait:** I am fine with read-only too, just give time for people to switch to our new platform, for example in 3 months we can just turn everything off 77 | 78 | **wunderacle:** Sure. I can write a migration plan afterwards. 79 | * 👍 @snitin315, @alexander.akait 80 | 81 | **wunderacle:** Let's move ton the next item: https://github.com/webpack/tsc/issues/16 82 | * 👍 @alexander.akait 83 | 84 | **alexander.akait:** Will be great to see @evenstensberg for this issue, because he has ideas how to make it better and the plan 😄 85 | * ➕ @snitin315 86 | 87 | **snitin315:** Were you able to discuss this in CPC? 88 | 89 | **wunderacle:** So on this one, I chatted with the Foundation's CPC and they are more than happy to support us with marketing/branding/promotion and we're OK to organize it however we see fit and disburse funds however we see fit. 90 | 91 | **wunderacle:** The real challenge here is: Indeed what's the format we want to run the Hackathon, how we're going to run, what are the prizes, etc. 92 | 93 | **wunderacle:** So this require some more coordination. And to give us enough time, I'd believe the Hackathon should be around November. 94 | 95 | **wunderacle:** We need to be very careful with guidelines and many other things (such as the format of the Hackathon, what sort of contributions are valid, etc) we don't want to create unfortunate situations where our own rules are used against us 96 | * ➕ @snitin315 97 | * 👍 @alexander.akait 98 | 99 | **wunderacle:** Since anything involving money... People will want to take advantage of it. 100 | 101 | **wunderacle:** Popular formats are: 102 | 103 | 1. Every contribution gives you points, in the end, the users with top points win prizes (either equally or based on position) 104 | 2. Bug Hunting. We have specific issues that are eligible for the Hackathon and folxs can work into them. 105 | ... 106 | 107 | **snitin315:** We can start with a doc and put all of our ideas there, then we can finalise the strategy 108 | 109 | **wunderacle:** Also, regarding the participation, teams or individual format. How to handle multiple people working on the same issue... Does the first opened PR receive points or the first merged PR? Will AI assisted code be allowed, etc 110 | 111 | **wunderacle:** We can use the issue itself for initial convos and then also for drafting it, and then transfer it to a draft doc over time. 112 | * 👍 @alexander.akait 113 | 114 | **wunderacle:** In the end we will need the Foundation's help with copywriting, legal, branding and marketing support. 115 | * 👍 @snitin315 116 | 117 | **snitin315:** It should be individual i feel also it should be first come first serve, contributors are expected to comment on the issue they want to work on with a time like “I will work on this and raise a pr in 2 days” then if there is no significant progress after 2 days other contributors can ask to work on it 118 | 119 | **alexander.akait:** I'll be honest, I'm afraid I won't be able to find time to help with this issue (but I am ready to review and give hints on PRs/issues), I'm not against it, but I'm afraid I personally won't be able to find that much time, we already have a lot of tasks on our list, as a main developer I would like to focus on them 120 | * 👍 @wunderacle 121 | 122 | **wunderacle:** First-come-first serve as PR merged? 123 | 124 | **snitin315:** Right, we will be able to prioritise reviews but won’t be able to help contribute by explaining code or writing tests 125 | 126 | **wunderacle:** Yeah the Hackathon is meant to a certain degree alleviate the burden on us of developing code, but it will for a brief period of time increase the amount of PRs we need to review. 127 | 128 | **snitin315:** First to claim an issue by commenting on it 129 | 130 | **wunderacle:** Hence strict policies against AI PRs, spam PRs, etc. 131 | 132 | **wunderacle:** > First to claim an issue by commenting on it 133 | That's usually discouraged in Open Source 134 | 135 | **wunderacle:** https://www.redhat.com/zh-cn/blog/stop-licking-cookie 136 | 137 | **wunderacle:** Give this a read 😉 138 | 139 | **snitin315:** Otherwise multiple contributors will end up sending prs to same issue leading to duplicate efforts 140 | 141 | **snitin315:** We follow similar approach in Eslint 142 | 143 | **snitin315:** https://eslint.org/docs/latest/contribute/work-on-issue 144 | 145 | **snitin315:** I think for hackathon we can have some restrictions 146 | 147 | **snitin315:** Contributors might also argue over whose PR should be merged 148 | 149 | **wunderacle:** > Otherwise multiple contributors will end up sending prs to same issue leading to duplicate efforts 150 | The issue of first come first serve is that if a person claims the issue and then doesn't work on it it prevents anyone to contribute on it :) 151 | 152 | **wunderacle:** The first PR to get merged is pretty much the first one to get all the concerns resolved and all approvals and pass the contribution timelines 153 | 154 | **wunderacle:** Maybe for this Hackathon it _could_ be first come first served, but there must be then an adherence or enforcement. 155 | 156 | **snitin315:** Yes that’s why we should have a strict deadline of 2 days maybe. We can think more on this 157 | 158 | **wunderacle:** Like if you claim to work on X and don't end up working on it, get disqualified. IDK. The thing is that these deadlines will vastly depend on how long shuld the hackathon run for? 159 | 160 | **wunderacle:** I was thinking a whole month, which removes the rush of the usual hackathon, making the Hackathon itself become something similar as an Hacktoberfest 161 | * 👍 @snitin315 162 | 163 | **snitin315:** Hmm true, we should start preparing a document and put all our ideas there 164 | * 👍 @alexander.akait 165 | 166 | **wunderacle:** I think we can start writing straight to the issue. I will first have the meeting notes being generated after this meeting. 167 | 168 | **wunderacle:** And then Ill write some minimal/initial stuff on the issue and we can go from there 👀 169 | 170 | **wunderacle:** Is that alrighty by all? 171 | 172 | **snitin315:** Sounds good to me 👌 173 | 174 | **wunderacle:** Alrighty, let's move to the last issue for this meeting as we're nearing our time limit 175 | 176 | **wunderacle:** https://github.com/webpack/tsc/issues/17 177 | 178 | **wunderacle:** Does anyone has info on this one? 179 | 180 | **alexander.akait:** We don't have a lot of issues for webpack-cli, there are three things: 181 | - Fix broken cache when filesystem cache enabled - we already have a PR to fix it, just need a rebase and I want to merge it for the next major release 182 | - Plugin support webpack-dev-server inside webpack-cli, but it is more about webpack-dev-server and only after this we should fix it on webpack-cli side 183 | - New major release, again it should be after the webpack-dev-server plugin support 184 | 185 | That is all, but updates above already in WIP, no ETA currently, but maybe autumn (early) 186 | * 👍 @wunderacle, @snitin315 187 | 188 | **wunderacle:** Do you mind writing those updates on the issue? 189 | 190 | **wunderacle:** Is there any other CTA needed here? Do we want to have these issues part of the Hackathon too? 191 | 192 | **alexander.akait:** I don't think at all we need an issue for this, it is just a regular job for any our repo... 193 | * 👍 @wunderacle 194 | 195 | **alexander.akait:** So I think it can be closed, because it is already in our roadmap, we already have discussion to have dashboard for tracking fixes/features for next releases 196 | * 👍 @wunderacle 197 | 198 | **wunderacle:** Feel free to close it then :) 199 | * 👍 @alexander.akait 200 | 201 | **alexander.akait:** Done 202 | * 👍 @snitin315 203 | 204 | **alexander.akait:** I think we will focus on the dashboard after migration webpack-contrib into webpack, it's easier to keep everything in one place, also we are already working on the migration, currently - update eslint and jest in our repos, the next step is common repo for configuration files like - prettier/eslint/babel/package json commands/etc, I will work on it this week, so I think we will start migration next week (maybe after next week) and then we will make our dashboard 205 | * ➕ @snitin315 206 | 207 | **wunderacle:** Noted. Is there an issue for that? 208 | 209 | **alexander.akait:** I think it is all 210 | 211 | **alexander.akait:** Anyway else we have? 212 | 213 | **snitin315:** I think that’s all 214 | * 👍 @alexander.akait 215 | 216 | **wunderacle:** That's all indeed. 217 | 218 | **wunderacle:** Apologies, got a small emergency and work 219 | * 👍 @alexander.akait 220 | 221 | **wunderacle:** Then, thank you all for attending this TSC's meeting. I'll be following up with https://github.com/webpack/tsc/issues/21, https://github.com/webpack/tsc/issues/16 and removing the first one from our agenda. 222 | * 👍 @snitin315, @alexander.akait 223 | 224 | **wunderacle:** Take care, y'all! 225 | 226 | **alexander.akait:** Thank you all! 227 | 228 | **snitin315:** Thanks, byee everyone 229 | -------------------------------------------------------------------------------- /notes/2025/2025-05-19-transcript.md: -------------------------------------------------------------------------------- 1 | # 05/19/2025 Webpack TSC Meeting Transcript 2 | 3 | **evenstensberg:** ready when you are 4 | * 👍 @wunderacle, @snitin315 5 | 6 | **wunderacle:** Alrighty, welcome y’all to this meeting. Ill be recording later the name of the people that attended today. 7 | 8 | **wunderacle:** First, is there any announcement anyone wishes to do? 9 | 10 | **evenstensberg:** no from me 11 | 12 | **snitin315:** No announcements from me either 13 | 14 | **alexander.akait:** No too 15 | 16 | **wunderacle:** Alrighty 17 | 18 | **wunderacle:** None from my side either 19 | * 👍🏾 @evenstensberg, @snitin315 20 | 21 | **wunderacle:** Besides of course, that we're still going around the setup of the automations of our bots here. 22 | 23 | **wunderacle:** And the fact the first meeting agenda got successfully generated https://github.com/webpack/tsc/issues/8 24 | * 🚀 @snitin315 25 | 26 | **wunderacle:** Without further ado, if no one opposes, let's go to the agenda topics. Per recommendation, private items are recommended _last_ regardless of their order; This allows us to easily remove private pieces of our meeting from the public hands. 27 | * 👍 @snitin315 28 | 29 | **evenstensberg:** good idea 30 | 31 | **wunderacle:** Let's talk about "Discuss a webpack Google Summer of Code repository", the first item of the agenda. 32 | 33 | **evenstensberg:** So.. a bit background here 34 | 35 | **evenstensberg:** we've had a bunch of people contacting the maintainers often they ask the same questions or need the same type of guidance 36 | 37 | **evenstensberg:** it makes sense that we create a gsoc repo so that we can reduce amount of stress for the contributors 38 | 39 | **snitin315:** Yeah, I think it is good idea to get all the resources in one place 40 | 41 | **wunderacle:** Yeah I was going (still am) to create some material, FAQ, templates of how to write their submissions, what to do, what not to do, etc. 42 | 43 | **snitin315:** Should we also add past sample proposals also to that repository for reference? 44 | * 👍 @wunderacle, @alexander.akait 45 | 46 | **evenstensberg:** yea thats a good idea nitin 47 | 48 | **evenstensberg:** but we need to ask them for permission first 49 | 50 | **snitin315:** I can add mine for starting 51 | 52 | **wunderacle:** We can make a template tho; But yeah, as much content to reduce duplication... and help them navigating on their own, helps definitely 53 | * 👍 @snitin315 54 | 55 | **evenstensberg:** Awesome. Nitin you already have access to the repo on github. We need to figure out a structure (outside this meeting) 56 | 57 | **snitin315:** Yeah, this time we got way too many AI generated proposals that too not even related to webpack at all. 58 | 59 | **snitin315:** @evenstensberg Sure, I'll come up with a structure to help gsoc aspirants get started 60 | * 👍🏾 @evenstensberg, @wunderacle 61 | 62 | **evenstensberg:** good stuff. That's the only thing imo that we need to discuss about gsoc 63 | 64 | **evenstensberg:** can move on 65 | * 👍 @wunderacle, @snitin315 66 | 67 | **wunderacle:** Alrighty, let's move to the next topic. 68 | 69 | **evenstensberg:** tc39 is private btw 70 | 71 | **wunderacle:** Right, what would be the next public topic? 72 | 73 | **wunderacle:** I think you said 2,3 are private or? 74 | 75 | **evenstensberg:** changelogs, issue tracking and github boards 76 | 77 | **snitin315:** TC39 can be public because the tc39 meetings are also public 78 | 79 | **wunderacle:** Okay, let's chat about "Automated changelogs" 80 | 81 | **evenstensberg:** yea but our approach is private, we need to discuss that 82 | 83 | **alexander.akait:** I think we should take changesets to make it, there is a bot for this and also we can setup commit linting 84 | 85 | **alexander.akait:** I already used it for some repos and it works great 86 | 87 | **wunderacle:** Are these automated changelogs about webpack releases? 88 | 89 | **wunderacle:** We can use Commitizen here btw 90 | 91 | **snitin315:** Yeah, regarding automated changelog I didn't get much time to explore but we have this action release-please usein in eslint https://github.com/eslint/markdown/blob/main/.github/workflows/release-please.yml and this seems useful 92 | 93 | **evenstensberg:** same approach as google @alexander.akait ? Add patches to commits to build up the change? 94 | 95 | **snitin315:** I guess we already do that and force conventional commits 96 | * 👍 @wunderacle 97 | 98 | **alexander.akait:** Yeah, we will add them into PR 99 | * 👍 @wunderacle 100 | 101 | **alexander.akait:** Bot will generate a link and before merge we will add required informations 102 | 103 | **alexander.akait:** Then before release it will generate changelog file 104 | 105 | **snitin315:** >I think we should take changesets to make it, there is a bot for this and also we can setup commit linting 106 | 107 | changesets are also good to have 108 | 109 | **snitin315:** we need to setup a global npm access token also for publishing releases with changesets 110 | 111 | **alexander.akait:** Yeah, before it I want to finish integration of changesets firstly and try it with webpack, so we will understand any bottlenecks 112 | * 👍 @snitin315 113 | 114 | **snitin315:** Also does anyone here has access to https://github.com/webpack-bot ? I think maybe we can use it for publishing packages & creating version bump PRs automatically 115 | 116 | **evenstensberg:** I dont 117 | 118 | **alexander.akait:** Yeah, we need this bot, @evenstensberg can you write to Tobias or Sean to understand where we store access for this bot and how to setup and how it works? 119 | 120 | **evenstensberg:** Yep noted 121 | * ❤️ @wunderacle, @snitin315, @alexander.akait 122 | 123 | **evenstensberg:** I think we can start with that 124 | 125 | **evenstensberg:** then see if we want to implement changepatches in a dummy repo 126 | 127 | **evenstensberg:** i know the issue with patching changes/change sets are that it becomes very hard to be consistent when theres a lot of projects within one repo 128 | 129 | **snitin315:** Yeah, we can start with any loader/plugin repo as well 130 | * 👍🏾 @evenstensberg 131 | 132 | **evenstensberg:** but luckily our code isnt a big cake where you put everything in one repo like chrome 133 | 134 | **evenstensberg:** @wunderacle i think we can move on, we got action points we can act on 135 | * 👍 @wunderacle 136 | 137 | **wunderacle:** Noted. 138 | 139 | **wunderacle:** Let's move to the next topic, "Issue tracking" 140 | 141 | **wunderacle:** To begin with, what are we referring here? What is this topic about? 142 | 143 | **snitin315:** I think we just need to make this board active https://github.com/orgs/webpack/projects/4 144 | * 🔥 @evenstensberg 145 | 146 | **snitin315:** And increase the scope to all webpack repos 147 | * 👍 @alexander.akait 148 | 149 | **snitin315:** RIght now we track issues only specefic to webpack 150 | 151 | **alexander.akait:** I agree 152 | 153 | **alexander.akait:** And automatically move closed issues to shipped to avoid noise of resolved problems 154 | 155 | **evenstensberg:** Yep. and then we can add issues a cross repos 156 | 157 | **snitin315:** ESLint has also documented there triage process - https://eslint.org/docs/latest/maintain/manage-issues#triaging-process 158 | 159 | **evenstensberg:** please highlight this in the meeting notes 160 | 161 | **evenstensberg:** I think this also touches the next (and last) meeting point about project boards 162 | 163 | **snitin315:** Yeah, I think we can have something similar and also document the process. 164 | 165 | **evenstensberg:** should we have a project board for each of the critical repos we have? 166 | 167 | **evenstensberg:** we can still cross-reference issues 168 | 169 | **snitin315:** Yeah, we should have project boards for major milestones like webpack-6, gsoc-esm, webpack-cli v6, etc. 170 | 171 | **wunderacle:** Hmmm; I think we can create an issue to discuss our project boards tbh 172 | 173 | **evenstensberg:** was thinking the same 174 | 175 | **evenstensberg:** i think for now its very clear? 176 | 177 | **evenstensberg:** we create boards for core repos, and we have one big board for webpack v6+ 178 | * 👌 @snitin315 179 | 180 | **snitin315:** Sounds good to me. 181 | 182 | **evenstensberg:** highlight this also 🙂 183 | 184 | **evenstensberg:** @alexander.akait wdyt? 185 | 186 | **alexander.akait:** I think better to have one, because most of issues for webpack@6 can be solved for webpack 5 too, they postpone just because we have more priority issues right now 187 | * 👍 @wunderacle, @snitin315 188 | 189 | **alexander.akait:** So one board will be better to track than two/three/etc 190 | 191 | **evenstensberg:** Imo it makes sense to have an extra board for webpack-cli, dev server etc 192 | 193 | **evenstensberg:** but if thats cumbersome then ok 194 | 195 | **snitin315:** Hmm, let's start with one board for now for webpack-6. We don't have many items for cli/dev-server as of now. 196 | 197 | **evenstensberg:** 👍🏾 198 | 199 | **evenstensberg:** To summarize project boards/issue tracking: one project for webpack v6+ 200 | * 👍 @snitin315 201 | 202 | **evenstensberg:** agenda ++ 😄 203 | 204 | **alexander.akait:** I am afraid it comes to outdated boards, as we have before 205 | 206 | **alexander.akait:** Just from my experience 207 | 208 | **evenstensberg:** yea and if we use milestone labels it gets messy really fast 209 | 210 | **evenstensberg:** unless the implementation is consistent across repos 211 | 212 | **alexander.akait:** Sometimes I am thinking to move all repos from webpack org to webpack itself for better control everything 213 | 214 | **snitin315:** hmm, let's try to use projects properly this time with automations like creating an issue automatically adds it to the triage board and adding some specific labels like "accepted" moves it to the correct column automatically. 215 | 216 | **wunderacle:** Like a monorepo? 😅 217 | 218 | **wunderacle:** We don't really neeed that 219 | 220 | **alexander.akait:** We don’t have a lot of active repos and soon most of old loaders will deprecated 221 | 222 | **wunderacle:** With GitHub projects we can have one board even across-orgs 223 | 224 | **alexander.akait:** No, not monorepo 225 | 226 | **wunderacle:** and across repositories 227 | 228 | **alexander.akait:** Just in one org 229 | 230 | **snitin315:** I think @alexander.akait meant all the webpack-contrib repos 231 | 232 | **alexander.akait:** Yeah 233 | 234 | **wunderacle:** GitHub can do this through something they call Enterprises 235 | 236 | **snitin315:** right now we have two orgs, webpack & webpack-contrib 237 | * 👍 @alexander.akait 238 | 239 | **alexander.akait:** And it hard to control and setup some things between all repos 240 | 241 | **alexander.akait:** And control permissions too 242 | 243 | **snitin315:** Yeah, true. +1 for one single org. I think we can transfer ownership of repos accross org via settings 244 | 245 | **alexander.akait:** For example changesets can be configured for all public repos in org 246 | * 👍 @snitin315 247 | 248 | **snitin315:** But we will need admin permissions to webpack org for that i guess 249 | 250 | **wunderacle:** Won't moving things from webpack-contrib break the flow of maybe anything existing? 251 | 252 | **snitin315:** https://github.com/webpack-contrib/css-loader/transfer 253 | 254 | **evenstensberg:** We can just depreciate stuff in the docs it will be fine 255 | 256 | **alexander.akait:** The main problems after moving is links 257 | 258 | **snitin315:** More info here - https://docs.github.com/repositories/creating-and-managing-repositories/transferring-a-repository 259 | 260 | **alexander.akait:** In our docs and package jsons 261 | 262 | **snitin315:** Yeah, we also have automated scripts that loads the readme files of these repo's on webpack.js.org, example https://webpack.js.org/loaders/css-loader/ 263 | 264 | **alexander.akait:** I can transfer or can give permissions for that, we need just decide will we do it and plan it 265 | 266 | **evenstensberg:** This is a pretty big decision so first we need to communicate this well within the org, get a thumbs up from a general consensus and document the change + reason 267 | * 👍 @snitin315, @alexander.akait 268 | 269 | **snitin315:** Yeah, correct. 270 | 271 | **evenstensberg:** Its not done in an hour is what i try to communicate 272 | 273 | **snitin315:** I agree. 274 | 275 | **evenstensberg:** First, lets open an issue in webpack/webpack 276 | 277 | **evenstensberg:** or as a discussion 278 | 279 | **evenstensberg:** after that, we need to create a document stating why we move to one org 280 | 281 | **evenstensberg:** it will make a lot of stuff easier admin-wise 282 | 283 | **evenstensberg:** fyi 284 | 285 | **alexander.akait:** I think we can plan this discussion for the next meeting, currently we need to setup changelog generation and automatic releases for webpack and we can make the same then for all repos when moving them 286 | * 👍 @snitin315 287 | 288 | **alexander.akait:** So firstly let’s try it on webpack itself 289 | 290 | **evenstensberg:** +1 291 | * 👍 @snitin315 292 | 293 | **alexander.akait:** And look at result 294 | 295 | **evenstensberg:** I mean, if the main reason for moving to one org is changesets we need to try it and see if that is good for us 296 | * 👍 @alexander.akait 297 | 298 | **evenstensberg:** its not only for releasing + changelogs its good for moving into one org 299 | 300 | **evenstensberg:** payouts are calculated in one org, we can automate dependabot prs, etc etc 301 | * 👍 @snitin315, @alexander.akait 302 | 303 | **snitin315:** I think we can move on ? 304 | 305 | **evenstensberg:** yes 306 | * 👍 @snitin315, @alexander.akait 307 | 308 | **evenstensberg:** https://github.com/webpack/webpack/discussions/19548 309 | * 👍 @snitin315, @alexander.akait 310 | 311 | **evenstensberg:** @wunderacle I think thats a wrap? 312 | 313 | **wunderacle:** For the public part, yes? 314 | * 👍 @evenstensberg, @snitin315 315 | 316 | **snitin315:** I think private topics are still left. tc39 & core devs 317 | * ❤️ @evenstensberg 318 | 319 | **evenstensberg:** I have dinner now so g2g 320 | 321 | **evenstensberg:** but nice speeking to yall 322 | 323 | **evenstensberg:** Next meeting in 2 weeks 324 | * 👌 @snitin315 325 | 326 | **snitin315:** see yaa 327 | 328 | **snitin315:** bye folks 👋 329 | 330 | **evenstensberg:** cya ❤️ 331 | 332 | **alexander.akait:** Bye ✌️ 333 | -------------------------------------------------------------------------------- /notes/2025/2025-08-25-transcript.md: -------------------------------------------------------------------------------- 1 | # 08/25/2025 Webpack TSC Meeting Transcript 2 | 3 | **snitin315:** Cool, let’s start today’s meeting 4 | 5 | **snitin315:** First agenda item is https://github.com/webpack/tsc/issues/32 6 | 7 | **snitin315:** Use minify for the webpack 6 docs 8 | 9 | **evenstensberg:** @wunderacle can start with his rationale. Me and Alex have some points we need to address after 10 | 11 | **wunderacle:** Right, generally speaking, Webpack docs need a refresh. Both in terms of structure (UX/DX) and content. It's a long-term goal, IMO, to come in with Webpack 6 as we intend to make some API deprecations and (general documentation changes) 12 | 13 | **alexander.akait:** Yes, my biggest concern is the links, there is a lot of information with links to our site, if we change them, many will stop working, we need to pay close attention to this, the second rational question is whether we have enough time for such work, and the third point is that webpack itself has a schema in json format where there are all the types and a basic description of the properties, could we use this to generate the options structure? 14 | 15 | **snitin315:** I think it makes sense to have versioning supported on the same URL, but i m not sure if we should change the underlying tool/framework. it might be a lot of work and we have tight resources 16 | 17 | **evenstensberg:** Another thing is the use of money/resources on this. Ideally if we get everything free both from the contributing pov and using Mintlify then its a good thing. An update to next breaking version is acceptable to me, if its not much job or costly 18 | 19 | **wunderacle:** Ah yes, we can guarantee links to keep working. 20 | 21 | **evenstensberg:** DX wise the docs site is good, you create a markdown file and prefix with the appropriate path you want it to reside in. The cost of running the project locally takes time 22 | 23 | **snitin315:** Why not use Docusauras? 24 | 25 | **evenstensberg:** If we do agree on a change, this needs to be done at a markdown level 26 | 27 | **evenstensberg:** re-creating the entire documentation site is time consuming 28 | 29 | **snitin315:** https://docusaurus.io/ supports markdown, and we can re-use the existing content 30 | 31 | **evenstensberg:** + it is free 32 | * ➕ @snitin315 33 | 34 | **evenstensberg:** Maybe something worth considering @wunderacle ? 35 | 36 | **evenstensberg:** I mean if Mintify can guuarantee 0 cost for us, then that is also good 37 | 38 | **snitin315:** I can do a small POC to evaluate the effort for migrating to Docusauras. 39 | 40 | **evenstensberg:** There's a contributor working on a POC @snitin315 , @augustinmauroy . Talk to him about it 41 | * 👍 @snitin315 42 | 43 | **evenstensberg:** I wanna hear what Claudio thinks tho 44 | 45 | **snitin315:** Sure 46 | 47 | **wunderacle:** Yeah, Docusaurus, also sounds great. 48 | 49 | **snitin315:** We need to evaulte which one would be a good fit for us 50 | 51 | **evenstensberg:** @wunderacle I've seen the Mintify docs and it is good. Can you reach out to them about providing their services for free? In return we can have ads for them in the docs page 52 | 53 | **evenstensberg:** not aggresive ads, just mentioning them where they want 54 | 55 | **wunderacle:** My +1 with Mintlify 56 | 57 | **wunderacle:** Is the UX and DX 58 | 59 | **wunderacle:** Also low maintenance effort. 60 | 61 | **evenstensberg:** +1 there 62 | 63 | **evenstensberg:** if its free 64 | 65 | **snitin315:** let's reach out to the minify team and check if they can sponsor our website 66 | 67 | **snitin315:** we have good traffic, it will be a good marketing for them as well 68 | 69 | **snitin315:** Does anyone here has access to google analytics of webpack.js.org? 70 | 71 | **evenstensberg:** I dont believe we have google analytics access 72 | 73 | **alexander.akait:** Maybe Tobias or Sean have, I don't, so we need to ask them, or we can re setup (not sure will we lost previous data) 74 | 75 | **evenstensberg:** recreating is ok for me 76 | 77 | **evenstensberg:** we dont use the data for anything anyways 78 | 79 | **alexander.akait:** Let's ask Sean firstly, I think he should 80 | 81 | **snitin315:** yeah, let's ask Sean & tobias, then we can recreate if needed. 82 | 83 | **wunderacle:** As I mentioned on https://discord.com/channels/1180618526436888586/1374043079425790082/1409565322771435652 84 | 85 | **snitin315:** 1 year is not enough for us, we need long term solution 86 | * ⭐ @evenstensberg, @bjohansebas 87 | 88 | **wunderacle:** Indeed 89 | 90 | **evenstensberg:** @wunderacle can u reach out to them? 91 | 92 | **wunderacle:** Yeah, I can also cc' you on them 93 | 94 | **evenstensberg:** sounds good 95 | 96 | **snitin315:** That would be great. I think we need an official email like webpack-tsc@openjsf.org something like that so that the whole TSC is looped in always 97 | 98 | **wunderacle:** I'm also fine with placing them as supporters 99 | 100 | **evenstensberg:** we have an email set up for contacting webpack 101 | 102 | **evenstensberg:** currently the emails get forwarded to me and alex 103 | 104 | **evenstensberg:** let me know if you want to get forwarded too 105 | 106 | **snitin315:** Yes, let's forward them to each TSC member 107 | 108 | **evenstensberg:** let me create an issue quick 109 | 110 | **snitin315:** Cool, so the action items for this are: 111 | - Evaluate docusarus 112 | - Check with minify to get long term sponsorship 113 | * 👍🏾 @evenstensberg, @alexander.akait, @bjohansebas 114 | 115 | **snitin315:** Sound good? Anything else for this issue? 116 | 117 | **wunderacle:** Sounds good 118 | 119 | **snitin315:** Cool, let's move on to the next item 120 | 121 | **snitin315:** Webapck hackathon 122 | 123 | https://github.com/webpack/tsc/issues/16 124 | 125 | **evenstensberg:** Claudio has done some great progress here 126 | 127 | **snitin315:** Nice, @wunderacle Can you share a quick update here? 128 | 129 | **alexander.akait:** I think we need more issues and more simple or divided into smaller steps, some of them are very hard, even for me it is the big and hard work 130 | 131 | **snitin315:** Hmm, I think we can also club this docs website migration as part of hackathon 132 | 133 | **alexander.akait:** It would also be great if we found sponsors for this @evenstensberg any feedback here? 134 | 135 | **evenstensberg:** Asked nasa and google + microsoft none has replied, so we need to figure out other venues to get sponsors 136 | 137 | **evenstensberg:** got a dm from another oss org that is interested in co-hosting the hackathon 138 | 139 | **snitin315:** Can openjs foundation help us here? 140 | 141 | **evenstensberg:** openjsf will help with marketing + coms 142 | * 👍 @snitin315 143 | 144 | **snitin315:** Which oss org is interested in co-hosting? 145 | 146 | **evenstensberg:** let me check 147 | 148 | **alexander.akait:** My other suggestion is to abandon the idea of ​​different prices for them, since this will most likely result in competition where we will be overwhelmed with bad code, ideally, tasks of approximately equal complexity and time with the same prize, yes, this will require a little more preparation from us, but the result will be better, I think 149 | 150 | **wunderacle:** Right, so the Hackathon at the moment we're opening issues 151 | 152 | **evenstensberg:** i just have his linkedin, he hasent provided his org 153 | 154 | **wunderacle:** And exploring work for it 155 | 156 | **evenstensberg:** @alexander.akait we can decide on ranking later based on our allocated budget 157 | 158 | **alexander.akait:** Yeah, we can 159 | 160 | **evenstensberg:** I've spoken a bit with Alex @wunderacle , we are currently trying to figure out how much we can allocate from our open collective 161 | 162 | **evenstensberg:** as a base budget 163 | 164 | **evenstensberg:** sponsors will be added to the base budget 165 | * 👍 @snitin315 166 | 167 | **snitin315:** Makes sense 168 | 169 | **wunderacle:** Noted 170 | 171 | **snitin315:** So the action items for this issues are: 172 | - Get sponsors and finalize budget 173 | - Create smalled issues for contributors to pick up 174 | - Finalise hackathond timelines 175 | 176 | **evenstensberg:** @avivkeller and @wunderacle works on issue generation, me and @alexander.akait will work on economics 177 | * 👍 @snitin315, @avivkeller, @alexander.akait 178 | 179 | **evenstensberg:** Claudio got better networking skills than me so it would be great if you could relay that we needs sponsors if u find any 180 | * 👍 @snitin315 181 | 182 | **evenstensberg:** another thing 183 | 184 | **evenstensberg:** before we move to next 185 | 186 | **evenstensberg:** we do not have a time frame for the hackathon 187 | 188 | **evenstensberg:** So... I propose we can maybe estimate that the hackathon will be in february/march? 189 | 190 | **evenstensberg:** this fall is somewhat ambigious 191 | 192 | **snitin315:** yes, we need to finalise the timelines as well 193 | 194 | **evenstensberg:** me and claudio have openjsf stuff we need to work on the rest of the fall 195 | 196 | **snitin315:** Updated the action items 197 | 198 | **alexander.akait:** Yeah, also migrations into webpack org is a big tasks for fall 199 | 200 | **alexander.akait:** And we always have different fixes in webpack itself 201 | * 👍🏾 @evenstensberg, @snitin315 202 | 203 | **snitin315:** Cool, let's move on to the next item 204 | 205 | **snitin315:** Feature: allow to use custom parser and investigate using their to increase performance 206 | 207 | https://github.com/webpack/webpack/issues/19412 208 | 209 | **evenstensberg:** Not much from me here. Claudio has a friend that is working on ast node locations to the ast tree. We're waiting on that 210 | 211 | **evenstensberg:** after that we can just add an experimental flag in core 212 | 213 | **alexander.akait:** Here is more about using any estree compat parsers, I have two ideas - an option in webpack.config.js or implement a hook to override our default parse function 214 | 215 | **alexander.akait:** Both solutions are not hard 216 | 217 | **evenstensberg:** im for config option 218 | 219 | **evenstensberg:** instead of overriding 220 | 221 | **snitin315:** Yes, config option seems more easy to adopt for existing users 222 | 223 | **alexander.akait:** Okay, noted, maybe this week, want to finish some internal work around types, trying to reduce todo and todos types into core 224 | 225 | **evenstensberg:** btw @alexander.akait are you done with eslint migration? 226 | 227 | **snitin315:** I think we have updated eslint in most of the repos 228 | 229 | **evenstensberg:** good point to mention we're going to remove payouts for contributors that updates deps and ci's. That's a core/wg responsibility and will save us money 230 | 231 | **evenstensberg:** so if u see a dep update pr 232 | 233 | **evenstensberg:** say its internal, close it 234 | 235 | **snitin315:** Noted, makes sense. 236 | 237 | **alexander.akait:** Almost done - css-loader and thread-loader need to finish 238 | * ⭐ @evenstensberg, @snitin315 239 | 240 | **evenstensberg:** we need to move on now haha 241 | 242 | **alexander.akait:** Here another question - we have some repos which contributing and maintaining by external developers - webpack-bundle-analyzer and grunt-webpack 243 | 244 | **alexander.akait:** The first is very main for us, the second can be moved out of webpack repos at all 245 | 246 | **snitin315:** do we still need grunt-webpack? 247 | 248 | **snitin315:** bundle-analyzer is populer so it makes sense to maintain it 249 | 250 | **evenstensberg:** many projects actually still use grunt 251 | 252 | **evenstensberg:** so yea 253 | 254 | **evenstensberg:** if we can, move the repos to the org 255 | 256 | **evenstensberg:** we can onboard the contributors 257 | 258 | **evenstensberg:** and is good for them too 259 | 260 | **alexander.akait:** Yeah, I think we don’t need grunt in our repo, it is really very exotic in our time 261 | 262 | **evenstensberg:** we could ask them to join the webpack org 263 | 264 | **evenstensberg:** this way we can oversee the development and be better at communicating 265 | * 👍 @snitin315 266 | 267 | **alexander.akait:** About webpack-bundle-analyzer, we need to apply our defaults - eslint, prettier and etc here too, someone should write to contributors and ask them that now it is required as a part of all repos 268 | 269 | **evenstensberg:** makes more sense to incorporate the repos into webpack 270 | * 👍 @snitin315 271 | 272 | **evenstensberg:** this way we have alignment 273 | 274 | **snitin315:** I think we can also raise PR in bundle-analyzer and ask them to review/merge 275 | 276 | **alexander.akait:** Someone will do it? I will support 277 | 278 | **evenstensberg:** sure 279 | 280 | **evenstensberg:** opening an issue 281 | * 👍 @alexander.akait 282 | 283 | **evenstensberg:** https://github.com/webpack/tsc/issues/39 284 | 285 | **evenstensberg:** I'll work on this 286 | * 👍 @snitin315 287 | 288 | **evenstensberg:** next agenda item? 289 | 290 | **snitin315:** Cool @evenstensberg , All yours 291 | 292 | **snitin315:** Next up we have https://github.com/webpack/webpack/pull/19693 293 | 294 | **evenstensberg:** lgtm 295 | 296 | **evenstensberg:** this is the gsoc student work btw 297 | 298 | **snitin315:** I think it makes sense to adopt the latest yml configuration, we should do it in all repos. it there any way we can keep it one place and reuse everywhere else? 299 | 300 | **evenstensberg:** either you need to create a automation repo that has a gh access token 301 | 302 | **evenstensberg:** or manually 303 | 304 | **alexander.akait:** I have a couple questions here - I see we have two templates for bugs and features, will be great to add other, sometimes it is useful, and know we have discussions, but some questions or discussions can be useful as a part of issues, also we need improve our PR template and use the same templates everywhere in webpack repos 305 | 306 | **evenstensberg:** to be more specific, you want a "question" template too alex? 307 | 308 | **snitin315:** I'll work on it, will see if we can use AI for writing the script & creating the PRs 309 | 310 | **evenstensberg:** @snitin315 +1, you got core access to you can finish this yourself 311 | * 👍 @snitin315 312 | 313 | **alexander.akait:** About the same configurations and templates - I have idea to implement eslint rule and keep this template there, why? It will catch any changes which need to be updates, each our repo have eslint-config-webpack 314 | 315 | **alexander.akait:** So I think it is the best place for this 316 | 317 | **alexander.akait:** Yeah, it is something like question/other 318 | * ⭐ @evenstensberg, @wunderacle, @snitin315 319 | 320 | **snitin315:** Sounds good to me 321 | 322 | **evenstensberg:** https://github.com/webpack/tsc/issues/40 323 | 324 | **snitin315:** let's move on to the next item: 325 | 326 | https://github.com/webpack/webpack.js.org/issues/7626 327 | 328 | **snitin315:** I'll work on this document, will raise a PR before next meeting. 329 | 330 | **evenstensberg:** I havent worked on this, @wunderacle has done some good work with Aviv here, so I think he should do this. Have spoken to Claudio about this and he is writing onboarding notes 331 | * 👍 @wunderacle 332 | 333 | **evenstensberg:** Co-ordinate with Claudio nitin 334 | 335 | **evenstensberg:** aaah wait 336 | 337 | **snitin315:** Cool, I'll connect with @wunderacle 338 | * ❤️ @wunderacle 339 | 340 | **evenstensberg:** wrong issue 341 | 342 | **alexander.akait:** I will write an issue with steps after finish eslint migrations, I want to do this for one repo and catch all problems, we can start with minimizes they are popular and using everyone 343 | 344 | **evenstensberg:** the migration work is me + alex 345 | 346 | **evenstensberg:** i meant that we have an issue about onboarding new collaborators 347 | 348 | **snitin315:** that would implementation, we need a document first 349 | 350 | **evenstensberg:** @snitin315 work with alex on this one 351 | 352 | **snitin315:** Got it 353 | 354 | **evenstensberg:** (https://github.com/webpack/tsc/issues/41) 355 | 356 | **wunderacle:** Nice 357 | 358 | **evenstensberg:** Just to be clear, sorry for the confusion 359 | * 👍 @snitin315 360 | 361 | **evenstensberg:** Onboarding new collaborators/core: @snitin315 + @wunderacle 362 | Docs transition: @snitin315 + @alexander.akait 363 | 364 | **snitin315:** Yes, that sound good to me 365 | 366 | **snitin315:** I think all the agenda items are done, is there anything else someone wants to discuss? 367 | 368 | **evenstensberg:** @wunderacle as you progress with the core onboarding documentation we will give u github privelleges 369 | 370 | **evenstensberg:** i think thats it 371 | 372 | **snitin315:** cool 373 | 374 | **snitin315:** Thanks everyone for joining ⭐ 375 | 376 | **evenstensberg:** Pleasure ❤️ 377 | 378 | **alexander.akait:** Thanks everyone ⭐️ 379 | 380 | **snitin315:** bye 👋 381 | 382 | **wunderacle:** Noice! 383 | 384 | **wunderacle:** Bye y'all! 385 | -------------------------------------------------------------------------------- /notes/2025/2025-04-28-transcript.md: -------------------------------------------------------------------------------- 1 | # 04/28/2025 Webpack TSC Meeting Transcript 2 | 3 | **evenstensberg:** [Redacted] 4 | 5 | **evenstensberg:** So we will wait about 15-20mins. Grab a coffee meanwhile 6 | 7 | **snitin315:** Sure 8 | 9 | **snitin315:** What’s agenda today? 10 | 11 | **alexander.akait:** I am here, but want to say - it can be unstable, so don’t lose me if I don’t answer immediately 12 | 13 | **evenstensberg:** Introductory. So it’s about how these meetings will go, admin stuff and roadmap creation 14 | 15 | - 👍 @snitin315, @alexander.akait 16 | 17 | **evenstensberg:** It’s important for us that Claudio joins. He’s tasks are very much linked to how Webpack communicates with external orgs and also he’s good on meeting recording/repo sync with meeting invites et.al 18 | 19 | **evenstensberg:** I'm creating a google docs atm 20 | 21 | **evenstensberg:** You should have gotten an invite now 22 | 23 | **snitin315:** Yup, got it 24 | 25 | **evenstensberg:** @wunderacle you here? 26 | 27 | **wunderacle:** 👋 28 | 29 | **snitin315:** Heya 👋 30 | 31 | **wunderacle:** Alrighty, we might want to integrate an agenda bot for our meeting agenda. 32 | 33 | **wunderacle:** Node has a GitHub bot that does that, we can just fork it and repurpose for our own needs 34 | 35 | - 👍 @snitin315, @alexander.akait 36 | 37 | **evenstensberg:** @wunderacle your email? 38 | 39 | **evenstensberg:** will inv u to the google docs 40 | 41 | **wunderacle:** cwunder@gnome.org it is also listed on the webpack's readme xD 42 | 43 | **evenstensberg:** faster for me to get your email here when i got ya 🙂 44 | 45 | **wunderacle:** xD 46 | 47 | **wunderacle:** Im teasing you :P 48 | 49 | **evenstensberg:** https://tenor.com/view/husky-siberian-dog-cody-woof-gif-10159125698214328944 50 | 51 | **evenstensberg:** We could create the agenda before the meeting but this is the first one 52 | 53 | **evenstensberg:** so its better to get feedback from folks about your questions or stuff you wanna discuss 54 | 55 | **wunderacle:** Noted 56 | 57 | **evenstensberg:** next time we will do this before meeting 58 | 59 | **evenstensberg:** fill your questions in the agenda numbered list 60 | 61 | **snitin315:** Yeah, next time we will do it beforehand 62 | 63 | **wunderacle:** The benefits from said bot is that it automates a bunch of things. Im talking with Michael Dawson from RedHat, he developed Node's ones which also handles OpenJS's meetings. https://github.com/nodejs/create-node-meeting-artifacts 64 | 65 | **evenstensberg:** sec need to find my glasses 66 | 67 | **evenstensberg:** great. put this link in the correct subject in the docs 68 | 69 | **snitin315:** ESLint also hosts tsc meetings on discord and maintain notes in a public repo - https://github.com/eslint/tsc-meetings 70 | 71 | **wunderacle:** This is cool https://github.com/eslint/tsc-meetings/blob/main/scripts/generate-transcript.js 72 | 73 | **wunderacle:** Let's take notes of all of this on the initial Google doc 74 | 75 | **snitin315:** https://eslint.org/docs/latest/contribute/governance#tsc-meetings 76 | 77 | **evenstensberg:** @alexander.akait @snitin315 @wunderacle @thelarkinn react with thumbs if youre ready to start the meeting 78 | 79 | - 👍 @wunderacle, @thelarkinn, @snitin315, @alexander.akait 80 | 81 | **thelarkinn:** hiiii all 82 | 83 | **thelarkinn:** Am here now 84 | 85 | **snitin315:** Hi @thelarkinn 86 | 87 | **evenstensberg:** Great! We've sent you a google docs invite Sean 88 | 89 | **evenstensberg:** go there and put your name in 90 | 91 | **snitin315:** Welcome 🙂 Long time no see 92 | 93 | **evenstensberg:** Alex also needs to do this @alexander.akait 94 | 95 | **thelarkinn:** Opening 96 | 97 | **evenstensberg:** @alexander.akait put your name in 98 | 99 | **evenstensberg:** FYI Sean, alex is on an unstable network so he might be delayed in responding 100 | 101 | - 👍 @thelarkinn 102 | 103 | **alexander.akait:** I am on phone, I will do it after meeting, is it ok? 104 | 105 | **evenstensberg:** ok 106 | 107 | **alexander.akait:** Typing on phone in Google docs is pain😀 108 | 109 | **evenstensberg:** haha yes! 110 | 111 | **evenstensberg:** ok bois 112 | 113 | **evenstensberg:** lets start 114 | 115 | - 👍 @alexander.akait 116 | 117 | **evenstensberg:** @wunderacle you ok with taking notes? 118 | 119 | - 👍 @wunderacle 120 | 121 | **evenstensberg:** Also, if there's some parts of the convo that you think is not meant for the public, prefix your message or suffix with [PRIVATE] or something 122 | 123 | **evenstensberg:** I.e: 124 | 125 | [Private]: I think we should choose gsoc candidate number 69 126 | 127 | - 👍 @snitin315, @alexander.akait 128 | 129 | **evenstensberg:** Some meeting points are private by nature so in the meeting doc we will just say "this is a closed session" or something in the notes 130 | 131 | - 👍 @snitin315, @alexander.akait 132 | 133 | **snitin315:** Let's start with first agenda item "Changing meeting platform (public)"? 134 | 135 | **evenstensberg:** aye 136 | 137 | **evenstensberg:** Just waiting for Claudio to verify hes taking notes 138 | 139 | - 👍 @snitin315 140 | 141 | **wunderacle:** [Private] What's the name of the candidate? 142 | 143 | **wunderacle:** Ah 144 | 145 | **wunderacle:** that was an example xD 146 | 147 | **evenstensberg:** yes 🙂 148 | 149 | **evenstensberg:** @wunderacle can u take notes? 150 | 151 | **wunderacle:** I already reacted to the original message. 152 | 153 | **evenstensberg:** aaah ok 154 | 155 | **evenstensberg:** lets go then 156 | 157 | **alexander.akait:** Yeah, it will be great, so I will have time to prepare environment, I am fine with discord, just need a time to find a good vpn🙂 158 | 159 | **evenstensberg:** #1 - Changing meeting platform 160 | 161 | **evenstensberg:** In our governance documenation we have stated we have meetings through slack, but because sean has some problems we need to change this to discord 162 | 163 | **evenstensberg:** i can find the right place to make this change 164 | 165 | **alexander.akait:** Alternative places - slack or zoom, but I found discord is more intuitive as was said before 166 | 167 | - 👍 @snitin315 168 | 169 | **snitin315:** I'm fine with discord too. We can update the governance docs 170 | 171 | **evenstensberg:** let me quickly find the right place the code for this is 172 | 173 | - 👍 @alexander.akait 174 | 175 | **evenstensberg:** https://github.com/webpack/governance/blob/main/README.md#tsc-meetings 176 | 177 | **evenstensberg:** Someone want to do a pr? 178 | 179 | **snitin315:** I think we should move this information to webpack.js.org as well. 180 | 181 | **evenstensberg:** free gh clout 😄 182 | 183 | **evenstensberg:** i think the gov documentation is linked to this repo on our main documentation page 184 | 185 | **snitin315:** Yes, sure. I'll update. 186 | 187 | **wunderacle:** FYI I also gotta drop soon, the meeting started way late, I need to leave home around 19:00 but gotta first clean some stuff. 188 | 189 | **evenstensberg:** ok we need to finish at least the #2 stuff about meeting admin 190 | 191 | **evenstensberg:** important we discuss this before you leave 192 | 193 | **evenstensberg:** lets continue 194 | 195 | **evenstensberg:** nitin creates pr 196 | 197 | - 👍 @snitin315 198 | 199 | **evenstensberg:** # Information of how meetings will be done (public) 200 | 201 | **evenstensberg:** Ok so in the gov charter (?) we have stated meetings will be hosted on discord (new). It is text based and initially I thought tsc meetings would be once a month 202 | 203 | - 👍 @alexander.akait 204 | 205 | **evenstensberg:** that's correct? 1ce a month not 2 times a month 206 | 207 | **wunderacle:** Once a month? 208 | 209 | **wunderacle:** I think biweekly makes sense (once every two weeks) and if there is nothing on the agenda we can just cancel it 210 | 211 | **snitin315:** I think it should be 2 times for at least initial 2-3 months, then we can reduce the cadence 212 | 213 | - 👍 @wunderacle 214 | 215 | **evenstensberg:** okay im good with that 216 | 217 | **alexander.akait:** Also I think we need to choose our next topic, currently we have 4 places to focus: 218 | 219 | 1. esm - universe target is almost the same because it is about loading and worlds on any runtimes/platforms 220 | 2. Finish css support - mostly about pure mode and finish small fixes, already done around 70-80% 221 | 3. Html support out of box - I already implement fast and good parser/printer/trandromers for swc, so we just can copy paste, hopefully we don’t have export import and html so it should be not hard, just need a time 222 | 4. Strict types, I have finish it, but we still have around 100 todos types, we need to fix it, types really helps, especially if we want to say about future major update 223 | 224 | - 👍 @wunderacle, @snitin315 225 | 226 | **evenstensberg:** I'll copy this to next meeting @alexander.akait 227 | 228 | - 👍 @wunderacle, @alexander.akait 229 | 230 | **evenstensberg:** in 14 days 231 | 232 | **evenstensberg:** this is an intro meeting 233 | 234 | **evenstensberg:** technical stuff later 235 | 236 | - 👍 @alexander.akait 237 | 238 | **alexander.akait:** I am fine with it 239 | 240 | **evenstensberg:** Ok great. so biweekly, 241 | 242 | **evenstensberg:** i would like to add that in beforehand, the week before next meeting, we create agenda 243 | 244 | - 👍 @snitin315 245 | 246 | **evenstensberg:** the agenda is a list of stuff we have discussed 247 | 248 | **evenstensberg:** @wunderacle I wonder if there's a tool for creating agendas, hopefully through google docs? 249 | 250 | **evenstensberg:** also I was wondering if we could automate meeting invitations 251 | 252 | **wunderacle:** I mentioned before there is 253 | 254 | **snitin315:** ESlint has some tooling for agenda as well - https://github.com/eslint/tsc-meetings/issues/579 255 | 256 | **evenstensberg:** yep, this kinda touches that later bullet point 257 | 258 | **wunderacle:** But it will generate a GH issue; we can just copy it to a Google doc at the time of the meeting 259 | 260 | **evenstensberg:** Ok great 261 | 262 | **evenstensberg:** Put it in 263 | 264 | **thelarkinn:** A link with a GitHub discussion to the gdoc meeting notes could be helpful for feedback 265 | 266 | **evenstensberg:** +1 to that 267 | 268 | **evenstensberg:** for externals that read the minutes 269 | 270 | - 👍 @snitin315, @alexander.akait 271 | 272 | **evenstensberg:** for each meeting 273 | 274 | **evenstensberg:** I'm kinda filling in as we go on the google doc now @wunderacle 275 | 276 | **evenstensberg:** so we can go through the most important ones 277 | 278 | **evenstensberg:** lets jump to # 8 279 | 280 | **wunderacle:** Noted, although I dont mind filling the Google doc later 281 | 282 | **wunderacle:** Once Im back 283 | 284 | **evenstensberg:** ok great, you can do that if you see stuff missing 285 | 286 | **evenstensberg:** so ive seen node 287 | 288 | **evenstensberg:** they have a repo with the minutes 289 | 290 | **evenstensberg:** can we get that? 291 | 292 | **evenstensberg:** we have a place to host these: 293 | 294 | **evenstensberg:** https://github.com/webpack/tsc 295 | 296 | **evenstensberg:** meeting folder 297 | 298 | **evenstensberg:** so we just export the minutes from the google doc to markdown 299 | 300 | **snitin315:** Noice! 301 | 302 | **wunderacle:** Yup we can get that no biggie 303 | 304 | **evenstensberg:** I dont mind automating this, but can be done manually 305 | 306 | **wunderacle:** I can work on the scripts and workflows 307 | 308 | **evenstensberg:** ok great. I'll take note 309 | 310 | **wunderacle:** I just need admin access to the server so I can make the bot 311 | 312 | **alexander.akait:** Yeah, sounds good too, everything about tsc is in one place 313 | 314 | - 👍 @snitin315 315 | 316 | **evenstensberg:** which server? 317 | 318 | **snitin315:** I think claudio means the webpack discord server 319 | 320 | **evenstensberg:** You mean privelges to make changes to workflows etc? 321 | 322 | **evenstensberg:** ok ill fix this 323 | 324 | **evenstensberg:** Noted in the docs, will fix after meeting 325 | 326 | **evenstensberg:** ok so now we've covered meeting note generation 327 | 328 | **evenstensberg:** @clu 329 | 330 | **evenstensberg:** @wunderacle you have a lengthy reply on # 8 331 | 332 | **evenstensberg:** Anything you want to discuss there? 333 | 334 | **evenstensberg:** or is this something you can do yourself? Me, Alex or Sean will give you correct acess within the org if you need 335 | 336 | **evenstensberg:** For now I'll do 1 on 1 with you (later) to implement the stuff Michael from NodeJS has for cpc meetings, ok? 337 | 338 | **snitin315:** [Redacted] 339 | 340 | **evenstensberg:** [Redacted] 341 | 342 | - 👍 @wunderacle, @snitin315 343 | 344 | **evenstensberg:** [Redacted] 345 | 346 | **evenstensberg:** WG + roadmapping firstd 347 | 348 | **evenstensberg:** first\* 349 | 350 | - 👍 @wunderacle, @thelarkinn, @snitin315, @alexander.akait 351 | 352 | **thelarkinn:** Do we have a really detailed guide for how this intern will execute incrementally on the ESM output? 353 | 354 | **snitin315:** Sounds good. 355 | 356 | **wunderacle:** Yup 357 | 358 | **wunderacle:** Yup I can do it myself 359 | 360 | - 👍🏾 @evenstensberg 361 | 362 | **evenstensberg:** Awesome 363 | 364 | **evenstensberg:** @wunderacle we've covered the most critical now, so just let us know when you gotta leave 365 | 366 | - 👍 @wunderacle 367 | 368 | **evenstensberg:** I'd like you to stay for the Working Group part if you have time though 369 | 370 | **evenstensberg:** You know this stuff better than us haha 371 | 372 | **alexander.akait:** Yeah, I have ideas, but need to discuss about it, let’s postpone it for next meetings 373 | 374 | - 👍 @snitin315 375 | 376 | **evenstensberg:** # 6 Working groups 377 | 378 | **evenstensberg:** As far as I know, working groups are just a definition about teams that work on different areas of the org, like the CLI, different plugins and such 379 | 380 | **evenstensberg:** the WG create a document in each repo that it belongs to, and it allows us to scope work to different parts of the org 381 | 382 | **evenstensberg:** Claudio is more familar with this than I am, but in practise it will allow us to partition work done in the org better. 383 | 384 | We can create local roadmaps for each WG (Working Group). 385 | 386 | **snitin315:** I see node.js has https://github.com/nodejs/TSC/blob/main/WORKING_GROUPS.md, similarly we can have separate WG for CLI, webpack.js.org website, core webpack, devserver + dev-middleware, webpack-contrib 387 | 388 | **evenstensberg:** yep! 389 | 390 | **evenstensberg:** So in relation to the TSC, we can have goals on a higher level 391 | 392 | **evenstensberg:** like "Bump new major of webpack-dev-server" and then we delegate the actual implementation to the working groups 393 | 394 | **snitin315:** But we don't have a lot of contributors, I think right now only Alex & I are active 395 | 396 | - 👍 @alexander.akait 397 | 398 | **snitin315:** so we have to manage all repos. I think we can establish WG once we have more contributors. 399 | 400 | **evenstensberg:** sec noting 401 | 402 | **evenstensberg:** I'm thinking of ways we can keep the WG definition but more broadly 403 | 404 | **evenstensberg:** like WG for infra 405 | 406 | **evenstensberg:** or WG for core 407 | 408 | **snitin315:** Sounds good. Also for releasing packages all TSC members should have npm access. 409 | 410 | **evenstensberg:** TSC yep, but as we grow, the WG should only have npm access for the repos they manage 411 | 412 | **snitin315:** yes, agree. 413 | 414 | **evenstensberg:** @alexander.akait any input? 415 | 416 | **alexander.akait:** Sounds good for me👍 417 | 418 | **evenstensberg:** WG are roadmapping is kinda related so we can continue 419 | 420 | **evenstensberg:** I think Claudio went afk so I'll take notes while we discuss 421 | 422 | **evenstensberg:** # 7 Roadmapping 423 | 424 | **evenstensberg:** Ok so this is a very important topic because a lot of the tsc work will be to roadmap 425 | 426 | **snitin315:** For roadmap we have this board but i am not sure we are maintaing this actively https://github.com/orgs/webpack/projects/4 427 | 428 | **alexander.akait:** We can do it on our meetings too, I am doing it, but not often, after minor releases mostly 429 | 430 | **evenstensberg:** I see that this kanban is just for webpack/webpack 431 | 432 | **evenstensberg:** Maybe we can have roadmaps org wide? 433 | 434 | **evenstensberg:** like for all repos 435 | 436 | **evenstensberg:** (that we think is important) 437 | 438 | **evenstensberg:** it doesnt make sense to have dep bumps of some plugin in the roadmap, but you know what i mean 439 | 440 | **snitin315:** For CLI we have - 441 | 442 | - https://github.com/webpack/webpack-cli/issues/3768 443 | - https://github.com/webpack/webpack-cli/issues/3747 444 | - Improve create-webpack-app with latest templates using swc, etc. 445 | 446 | **evenstensberg:** These are ticket 447 | 448 | **evenstensberg:** tickets\* 449 | 450 | **snitin315:** ESLint maintains a single board for all repos, see this -https://github.com/orgs/eslint/projects/3 451 | 452 | **evenstensberg:** I was thinking more like eslint! 453 | 454 | **evenstensberg:** @snitin315 you've worked with OKRs? 455 | 456 | **snitin315:** Yes 457 | 458 | **evenstensberg:** I think OKRs are a bit out of scope 459 | 460 | **evenstensberg:** but github has milestones 461 | 462 | **evenstensberg:** we can leverage that 463 | 464 | **evenstensberg:** create an internal milestone board 465 | 466 | **evenstensberg:** for all webpack repos 467 | 468 | **evenstensberg:** (that we actively work on) 469 | 470 | **snitin315:** Will have to check this milestones feature. I have not used it heavily. 471 | 472 | **snitin315:** But we should definitely explore. 473 | 474 | **evenstensberg:** We started with this on webpack-cli, but it got discontinued 475 | 476 | **snitin315:** Ah! 477 | 478 | **evenstensberg:** i know some projects use milestones for dev 479 | 480 | **evenstensberg:** like for both versioning and quarters 481 | 482 | **evenstensberg:** like: v6 pi 1 483 | 484 | **evenstensberg:** where pi is month 485 | 486 | **evenstensberg:** in this context we need to use webpack core to determine work on other repos, I dont know if that is what we want 487 | 488 | **evenstensberg:** It will make work on other repos dependent on webpack, but its a nice thing to look into 489 | 490 | **snitin315:** Hmm, got it. Can't we leverage GitHub projects instead of milestones? 491 | 492 | **evenstensberg:** yea 493 | 494 | **evenstensberg:** For now, we can set roadmapping to github projects, it makes sense 495 | 496 | **thelarkinn:** Yup 497 | 498 | **evenstensberg:** and then move to other techniques if we decide its not a way to go 499 | 500 | **snitin315:** I think it should be fine for now. Once we get more contributors we can look into it. 501 | 502 | - 👍🏾 @evenstensberg 503 | 504 | **evenstensberg:** @alexander.akait if you have any input here let us know. This is going to impact the way you work 505 | 506 | **evenstensberg:** Not only on core, but also for smaller repos 507 | 508 | **evenstensberg:** I think this section of maintainance is very interesting because if we had more contributors this is where WG + Github projects would be amazing 509 | 510 | **alexander.akait:** I am fine with everything, we already done it before, just stop it because I mostly was only one 511 | 512 | **alexander.akait:** And to avoid losing time I stopped to do some things 513 | 514 | **snitin315:** We also need to automate release notes generation as well, I think right now @alexander.akait writes them manually. 515 | 516 | **evenstensberg:** noted 517 | 518 | **thelarkinn:** I would love to see just releases become automatic also 519 | 520 | **snitin315:** I can look into the automations. 521 | 522 | - 👍🏾 @evenstensberg 523 | 524 | **thelarkinn:** This would be a great GSOC task if we needed to take something else on 525 | 526 | **evenstensberg:** Ideas phase of gsoc is over, students have already submitted their proposals and we are about to choose which one to mentor 527 | 528 | **alexander.akait:** Automatic release and changelog generation already in my todo, just focus on perf tests right now, already initially implemented, just need to rewrite old benchmarks, it is the next step in my todo 529 | 530 | - 👍 @evenstensberg, @snitin315 531 | 532 | **evenstensberg:** Ok so to summarize: 533 | 534 | 1. We will look into github projects in a larger scale than currrent 535 | 2. Nitin + Alex will look into automated releases 536 | 537 | - 👍 @snitin315, @alexander.akait 538 | 539 | **evenstensberg:** I think for now, we will first need to create a larger WG 540 | 541 | **evenstensberg:** like webpack/infra, webpack/core (which already is present) 542 | 543 | **evenstensberg:** each of these WG have their own project boards 544 | 545 | - 👍 @snitin315 546 | 547 | **alexander.akait:** Maybe we don’t need to deeply split our tasks between repos, most of tasks can be done together, for example - env support, u think we main plugin should be implemented in webpack itself, but flags to enable it should be added in webpack-cli 548 | 549 | **alexander.akait:** So one board for our tasks is good, the same for eslint, we need to migrate on 9 version, but we need to do it eslint-wepack repo, than update it in other repos 550 | 551 | **evenstensberg:** ok ill note this 552 | 553 | **evenstensberg:** then we have 1 board for all the main tasks 554 | 555 | **snitin315:** Yeah, I can pick the ESLint upgrade. 556 | 557 | - 👍 @alexander.akait 558 | 559 | **evenstensberg:** great, I'll assign this work to you nitin 560 | 561 | - 👍 @snitin315 562 | 563 | **evenstensberg:** you got access? 564 | 565 | **snitin315:** Yes, i think I do have access to the required repos. 566 | 567 | **evenstensberg:** great 568 | 569 | **evenstensberg:** we can move on 570 | 571 | **evenstensberg:** [Redacted] 572 | 573 | **evenstensberg:** Ok so meetings over. I just wanna summarize the actionable stuff we will to until next time: 574 | 575 | 1. Me and claudio will set up meeting infra 576 | 2. Nitin will send PR to update meeting platform 577 | 3. Nitin will look into automated releases 578 | 4. Claudio, Even, Alex, Nitin will add points (and doc) to discuss in next TSC meeting 579 | 580 | - 👍 @snitin315, @alexander.akait 581 | 582 | **evenstensberg:** The most important takeaway is that we need to add stuff to discuss next meeting 583 | 584 | **evenstensberg:** I will create a google doc for next meeting agenda later 585 | 586 | **evenstensberg:** + Will be in touch with y'all if you have any feedback 587 | 588 | **snitin315:** sounds good! 589 | 590 | **alexander.akait:** Yeah, thanks for everyone, I think we can have small discussions on slack or here for small tasks or where we need to update/change information 591 | 592 | - ❤️ @evenstensberg 593 | 594 | **evenstensberg:** ok thanks all! 595 | 596 | **evenstensberg:** cya later 597 | 598 | **snitin315:** byee folks! 599 | 600 | **alexander.akait:** Bye⭐️ 601 | 602 | **thelarkinn:** Perfect thanks all! 603 | --------------------------------------------------------------------------------