Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit35d366a

Browse files
authored
build: Support updates to previous major versions (#18870)
* build: Support updates to previous major versions on v8.x-dev branchRefs#18691* add `overrides` for `@sinonjs/fake-timers`* remove `overrides`, pin `@sinonjs/fake-timers` in root devDependencies* upgrade eslint-release
1 parenta0dea8e commit35d366a

File tree

2 files changed

+46
-15
lines changed

2 files changed

+46
-15
lines changed

‎Makefile.js‎

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ const OPEN_SOURCE_LICENSES = [
5151
/MIT/u,/BSD/u,/Apache/u,/ISC/u,/WTF/u,/PublicDomain/u,/LGPL/u,/Python/u
5252
];
5353

54+
constMAIN_GIT_BRANCH="main";
55+
5456
//------------------------------------------------------------------------------
5557
// Data
5658
//------------------------------------------------------------------------------
@@ -78,6 +80,8 @@ const NODE = "node ", // intentional extra space
7880
TEST_FILES="\"tests/{bin,conf,lib,tools}/**/*.js\"",
7981
PERF_ESLINTRC=path.join(PERF_TMP_DIR,"eslint.config.js"),
8082
PERF_MULTIFILES_TARGET_DIR=path.join(PERF_TMP_DIR,"eslint"),
83+
CHANGELOG_FILE="./CHANGELOG.md",
84+
VERSIONS_FILE="./docs/src/_data/versions.json",
8185

8286
/*
8387
* glob arguments with Windows separator `\` don't work:
@@ -125,6 +129,14 @@ function execSilent(cmd) {
125129
returnexec(cmd,{silent:true}).stdout;
126130
}
127131

132+
/**
133+
* Gets name of the currently checked out Git branch.
134+
*@returns {string} Name of the currently checked out Git branch.
135+
*/
136+
functiongetCurrentGitBranch(){
137+
returnexecSilent("git branch --show-current").trim();
138+
}
139+
128140
/**
129141
* Generates a release blog post for eslint.org
130142
*@param {Object} releaseInfo The release metadata.
@@ -274,10 +286,14 @@ function publishSite() {
274286
/**
275287
* Updates the changelog, bumps the version number in package.json, creates a local git commit and tag,
276288
* and generates the site in an adjacent `website` folder.
289+
*@param {Object} options Release options.
290+
*@param {string} options.packageTag Tag that should be added to the package submitted to the npm registry.
277291
*@returns {void}
278292
*/
279-
functiongenerateRelease(){
280-
ReleaseOps.generateRelease();
293+
functiongenerateRelease({ packageTag}){
294+
echo(`Current Git branch:${getCurrentGitBranch()}`);
295+
296+
ReleaseOps.generateRelease(/* prereleaseId = */void0,packageTag);
281297
constreleaseInfo=JSON.parse(cat(".eslint-release-info.json"));
282298

283299
echo("Generating site");
@@ -343,19 +359,33 @@ function generatePrerelease(prereleaseId) {
343359
functionpublishRelease(){
344360
ReleaseOps.publishRelease();
345361
constreleaseInfo=JSON.parse(cat(".eslint-release-info.json"));
346-
constisPreRelease=/[a-z]/u.test(releaseInfo.version);
347362

348-
/*
349-
* for a pre-release, push to the "next" branch to trigger docs deploy
350-
* for a release, push to the "latest" branch to trigger docs deploy
351-
*/
352-
if(isPreRelease){
353-
exec("git push origin HEAD:next -f");
354-
}else{
355-
exec("git push origin HEAD:latest -f");
356-
}
363+
constdocsSiteBranch=releaseInfo.packageTag==="maintenance"
364+
?`v${semver.major(releaseInfo.version)}.x`
365+
:releaseInfo.packageTag;// "latest" or "next"
366+
367+
echo(`Updating docs site branch:${docsSiteBranch}`);
368+
exec(`git push origin HEAD:${docsSiteBranch} -f`);
357369

358370
publishSite();
371+
372+
// Update changelog and list of versions on the main branch
373+
if(getCurrentGitBranch()!==MAIN_GIT_BRANCH){
374+
echo(`Updating changelog and versions on branch:${MAIN_GIT_BRANCH}`);
375+
376+
exec(`git checkout${MAIN_GIT_BRANCH} --force`);
377+
378+
fs.writeFileSync(CHANGELOG_FILE,`${releaseInfo.markdownChangelog}${cat(CHANGELOG_FILE)}`);
379+
380+
constversions=JSON.parse(cat(VERSIONS_FILE));
381+
382+
versions.items.find(({ branch})=>branch===docsSiteBranch).version=releaseInfo.version;
383+
fs.writeFileSync(VERSIONS_FILE,`${JSON.stringify(versions,null,4)}\n`);
384+
385+
exec(`git add${CHANGELOG_FILE}${VERSIONS_FILE}`);
386+
exec(`git commit -m "chore: updates for v${releaseInfo.version} release"`);
387+
exec("git push origin HEAD");
388+
}
359389
}
360390

361391
/**
@@ -1105,6 +1135,6 @@ target.perf = function() {
11051135
});
11061136
};
11071137

1108-
target.generateRelease=generateRelease;
1138+
target.generateRelease=([packageTag])=>generateRelease({ packageTag});
11091139
target.generatePrerelease=([prereleaseType])=>generatePrerelease(prereleaseType);
11101140
target.publishRelease=publishRelease;

‎package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"lint:fix:docs:js":"node Makefile.js lintDocsJS -- fix",
2525
"release:generate:alpha":"node Makefile.js generatePrerelease -- alpha",
2626
"release:generate:beta":"node Makefile.js generatePrerelease -- beta",
27-
"release:generate:latest":"node Makefile.js generateRelease",
27+
"release:generate:latest":"node Makefile.js generateRelease -- latest",
28+
"release:generate:maintenance":"node Makefile.js generateRelease -- maintenance",
2829
"release:generate:rc":"node Makefile.js generatePrerelease -- rc",
2930
"release:publish":"node Makefile.js publishRelease",
3031
"test":"node Makefile.js test",
@@ -125,7 +126,7 @@
125126
"eslint-plugin-jsdoc":"^46.2.5",
126127
"eslint-plugin-n":"^16.6.0",
127128
"eslint-plugin-unicorn":"^49.0.0",
128-
"eslint-release":"^3.2.0",
129+
"eslint-release":"^3.3.0",
129130
"eslump":"^3.0.0",
130131
"esprima":"^4.0.1",
131132
"fast-glob":"^3.2.11",

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp