@@ -9,27 +9,96 @@ This directory contains different scripts that are used during development.
99* [ What is this?] ( #what-is-this )
1010 * [ Table of Contents] ( #table-of-contents )
1111 * [ Resources] ( #resources )
12+ * [ Yarn management scripts] ( #yarn-management-scripts )
1213 * [ Project stats script] ( #project-stats-script )
1314 * [ GitHub Actions update checker] ( #github-actions-update-checker )
1415
1516## Resources [ ᐞ] ( #table-of-contents )
1617
1718<a id =" resources " ></a >
1819
19- * [ Project stats script] ( project-stats.sh )
20- * This script is used to generate simple project stats. It will generate
21- output with some basic stats about project.
22- * [ GitHub Actions update checker] ( check-action-updates.sh )
23- * Checks pinned GitHub Actions from ` .github/workflows/*.yml ` , reports
24- discovery issues (unpinned refs/conflicting versions), and checks for
25- available updates in the current major version line.
20+ * [ Yarn management scripts] ( #yarn-management-scripts )
21+ * Manage the pinned Yarn version across the project
22+ * [ Project stats script] ( #project-stats-script )
23+ * Generate simple project statistics
24+ * [ GitHub Actions update checker] ( #github-actions-update-checker )
25+ * Check for updates to pinned GitHub Actions
26+
27+ ### Yarn management scripts [ ᐞ] ( #table-of-contents )
28+
29+ <a id =" yarn-management-scripts " ></a >
30+
31+ The project pins Yarn in-repo for consistent development, CI, and Docker environments.
32+ Use these scripts via their Makefile entrypoints:
33+
34+ ** Check current state:**
35+
36+ ``` bash
37+ make yarn-status
38+ ```
39+
40+ * Shows configured Yarn version, active version, latest stable, and update availability
41+
42+ ** Dry-run check (no file changes):**
43+
44+ ``` bash
45+ make yarn-upgrade-check
46+ ```
47+
48+ * Performs all upgrade validations without modifying files
49+
50+ ** Upgrade to latest stable:**
51+
52+ ``` bash
53+ make yarn-upgrade
54+ ```
55+
56+ * Automatically detects and upgrades to the latest stable Yarn version
57+
58+ ** Upgrade to explicit version:**
59+
60+ ``` bash
61+ make yarn-upgrade VERSION=4.17.0
62+ ```
63+
64+ * Compatible alias: ` make yarn upgrade VERSION=4.17.0 `
65+ * Updates ` package.json ` , ` .yarnrc.yml ` , and ` .yarn/releases/ `
66+
67+ ** Alternative upgrade approach:**
68+
69+ ``` bash
70+ make yarn-update VERSION=4.17.0
71+ ```
72+
73+ * Uses ` scripts/update-yarn.sh ` with detailed step-by-step output
74+ * Requires explicit VERSION parameter
75+
76+ ** Convenience workflow (check, validate, then upgrade):**
77+
78+ ``` bash
79+ make yarn-check-and-upgrade
80+ ```
81+
82+ * Runs: ` yarn-status ` → ` yarn-upgrade-check ` → ` yarn-upgrade ` sequentially
83+
84+ Scripts referenced:
85+
86+ * ` scripts/yarn-lib.sh ` - Shared helper functions
87+ * ` scripts/yarn-status.sh ` - Display current versions
88+ * ` scripts/yarn-upgrade.sh ` - Primary upgrade script
89+ * ` scripts/yarn-upgrade-check.sh ` - Dry-run validation
90+ * ` scripts/update-yarn.sh ` - Alternative upgrade with detailed output
91+
92+ See ` doc/YARN_UPDATE.md ` and ` doc/YARN_UPDATE_QUICK_REF.md ` for detailed documentation.
2693
2794### Project stats script [ ᐞ] ( #table-of-contents )
2895
2996<a id =" project-stats-script " ></a >
3097
3198File: ` scripts/project-stats.sh `
3299
100+ Generate simple project statistics:
101+
33102``` bash
34103make project-stats
35104```
0 commit comments