-
Notifications
You must be signed in to change notification settings - Fork 512
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/main' into add-sentry-to-yari
- Loading branch information
Showing
43 changed files
with
1,587 additions
and
1,274 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: Compare bundle size | ||
|
||
on: | ||
pull_request: | ||
|
||
jobs: | ||
# Build current and upload stats.json | ||
build-head: | ||
name: "Build head" | ||
permissions: | ||
contents: read | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
|
||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: ".nvmrc" | ||
cache: yarn | ||
|
||
- name: Cache @vscode/ripgrep bin | ||
uses: actions/cache@v4 | ||
with: | ||
key: vscode-ripgrep-bin-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('yarn.lock') }} | ||
path: node_modules/@vscode/ripgrep/bin/ | ||
|
||
- name: Install all yarn packages | ||
run: yarn --frozen-lockfile | ||
env: | ||
# https://github.com/microsoft/vscode-ripgrep#github-api-limit-note | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build | ||
run: yarn build:client | ||
env: | ||
ANALYZE_BUNDLE_PR: true | ||
|
||
- name: Upload stats.json | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: head-stats | ||
path: ./client/build/stats.json | ||
|
||
# Build base for comparison and upload stats.json | ||
build-base: | ||
name: "Build base" | ||
permissions: | ||
contents: read | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.base_ref }} | ||
|
||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version-file: ".nvmrc" | ||
cache: yarn | ||
|
||
- name: Cache @vscode/ripgrep bin | ||
uses: actions/cache@v4 | ||
with: | ||
key: vscode-ripgrep-bin-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('yarn.lock') }} | ||
path: node_modules/@vscode/ripgrep/bin/ | ||
|
||
- name: Install all yarn packages | ||
run: yarn --frozen-lockfile | ||
env: | ||
# https://github.com/microsoft/vscode-ripgrep#github-api-limit-note | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build | ||
run: yarn build:client | ||
env: | ||
ANALYZE_BUNDLE_PR: true | ||
|
||
- name: Upload stats.json | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: base-stats | ||
path: ./client/build/stats.json | ||
|
||
# run the action against the stats.json files | ||
compare: | ||
name: "Compare base & head bundle sizes" | ||
runs-on: ubuntu-latest | ||
needs: [build-base, build-head] | ||
permissions: | ||
pull-requests: write | ||
steps: | ||
- uses: actions/download-artifact@v4 | ||
- uses: github/webpack-bundlesize-compare-action@v1 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
current-stats-json-path: ./head-stats/stats.json | ||
base-stats-json-path: ./base-stats/stats.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
{ | ||
".": "2.63.0" | ||
".": "2.63.1" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import * as cheerio from "cheerio"; | ||
|
||
// Over the years we have accumulated some weird <pre> tags whose | ||
// brush is more or less "junk". | ||
// TODO: Perhaps, if you have a doc with <pre> tags that matches | ||
// this, it should become a flaw. | ||
const IGNORE = new Set(["none", "text", "plain", "unix"]); | ||
|
||
/** | ||
* Mutate the `$` instance by adding headers to <pre> tags containing code blocks. | ||
* | ||
*/ | ||
export function wrapCodeExamples($: cheerio.CheerioAPI) { | ||
// Our content will be like this: `<pre class="brush:js">` or | ||
// `<pre class="brush: js">` so we're technically not looking for an exact | ||
// match. The wildcard would technically match `<pre class="brushetta">` | ||
// too. But within the loop, we do a more careful regex on the class name | ||
// and only proceed if it's something sensible. | ||
$("pre[class*=brush]").each((_, element) => { | ||
// The language is whatever string comes after the `brush(:)` | ||
// portion of the class name. | ||
const $pre = $(element); | ||
|
||
const className = $pre.attr("class").toLowerCase(); | ||
const match = className.match(/brush:?\s*([\w_-]+)/); | ||
if (!match) { | ||
return; | ||
} | ||
const name = match[1].replace("-nolint", ""); | ||
if (IGNORE.has(name)) { | ||
// Seems to exist a couple of these in our docs. Just bail. | ||
return; | ||
} | ||
const code = $pre.text(); | ||
$pre.wrapAll(`<div class='code-example'></div>`); | ||
if (!$pre.hasClass("hidden")) { | ||
$( | ||
`<div class='example-header'><span class="language-name">${name}</span></div>` | ||
).insertBefore($pre); | ||
} | ||
const $code = $("<code>").text(code); | ||
|
||
$pre.empty().append($code); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.