diff --git a/.github/labels.yml b/.github/labels.yml index de63dc0ef..09bddf868 100644 --- a/.github/labels.yml +++ b/.github/labels.yml @@ -10,6 +10,8 @@ color: 7ef7ef - name: backport color: 88aabb +- name: backport-candidate + color: 0075ca - name: blocked color: fc1423 - name: bug diff --git a/packages/scripts/bin/sortLabels.js b/packages/scripts/bin/sortLabels.js new file mode 100755 index 000000000..a5da45182 --- /dev/null +++ b/packages/scripts/bin/sortLabels.js @@ -0,0 +1,2 @@ +#!/usr/bin/env node +import('../dist/bin/sortLabels.mjs'); diff --git a/packages/scripts/bin/sortLabels.ts b/packages/scripts/bin/sortLabels.ts new file mode 100644 index 000000000..b99551953 --- /dev/null +++ b/packages/scripts/bin/sortLabels.ts @@ -0,0 +1,16 @@ +import { readFile, writeFile } from 'node:fs/promises'; +import { parse as parseYAML, stringify as stringifyYAML } from 'yaml'; + +interface LabelerData { + color: string; + name: string; +} + +const labelsYamlFile = new URL('../../../../.github/labels.yml', import.meta.url); + +const content = await readFile(labelsYamlFile, 'utf8'); + +const labelsYAML = parseYAML(content) as LabelerData[]; +labelsYAML.sort((a, b) => a.name.localeCompare(b.name)); + +await writeFile(labelsYamlFile, stringifyYAML(labelsYAML)); diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 2fab14d92..4c93ab43f 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -5,13 +5,14 @@ "description": "A set of scripts that we use for our workflows", "private": true, "scripts": { - "build": "tsc --noEmit --lib ESNext,DOM && tsup", + "build": "tsc --noEmit --lib ESNext,DOM && tsup", "lint": "prettier --check . && cross-env TIMING=1 eslint --format=pretty src turbo/generators/config.ts", "format": "prettier --write . && cross-env TIMING=1 eslint --fix --format=pretty src turbo/generators/config.ts", "fmt": "pnpm run format" }, "bin": { - "generate-split-documentation": "./bin/generateSplitDocumentation.js" + "generate-split-documentation": "./bin/generateSplitDocumentation.js", + "sort-labels": "./bin/sortLabels.js" }, "exports": { ".": { diff --git a/packages/scripts/tsup.config.ts b/packages/scripts/tsup.config.ts index 04b2d1bf8..1cc7367c8 100644 --- a/packages/scripts/tsup.config.ts +++ b/packages/scripts/tsup.config.ts @@ -6,7 +6,7 @@ export default [ minify: 'terser', }), createTsupConfig({ - entry: ['src/populateDevDatabaseBranch.ts'], + entry: ['src/populateDevDatabaseBranch.ts', 'bin/sortLabels.ts'], format: 'esm', minify: 'terser', }),