1
1
import type { request as RequestT } from "undici" ;
2
2
3
- import { join , resolve } from "node:path" ;
3
+ import { join } from "node:path" ;
4
4
import { mkdir , readFile , writeFile } from "node:fs/promises" ;
5
5
import semver from "semver" ;
6
6
7
7
import { getCacheDir } from "../util/global-dir" ;
8
+ import { getHardhatVersion } from "../util/packageInfo" ;
8
9
9
10
const GITHUB_API_URL = "https://api.github.com" ;
10
- const GITHUB_OWNER = "schaable" ; // CHANGEME: " NomicFoundation";
11
- const GITHUB_REPO = "fake-hh" ; // CHANGEME: " hardhat";
12
- const V3_RELEASE_TAG = "[email protected] " ; // CHANGEME: " [email protected] ";
11
+ const GITHUB_OWNER = "NomicFoundation" ;
12
+ const GITHUB_REPO = "hardhat" ;
13
+ const V3_RELEASE_TAG = "[email protected] " ;
13
14
const V3_RELEASE_VERSION_NOTIFIER_ASSET_NAME = "version-notifier-message.txt" ;
14
15
const V3_RELEASE_MAX_TIMES_SHOWN = 5 ;
15
16
@@ -47,11 +48,7 @@ export async function showNewVersionNotification() {
47
48
return ;
48
49
}
49
50
50
- const projectVersion = await getProjectHardhatVersion ( ) ;
51
-
52
- if ( projectVersion === null ) {
53
- return ;
54
- }
51
+ const hardhatVersion = getHardhatVersion ( ) ;
55
52
56
53
const releases = await getReleases ( ) ;
57
54
@@ -65,7 +62,7 @@ export async function showNewVersionNotification() {
65
62
return (
66
63
packageName === GITHUB_REPO &&
67
64
semver . valid ( packageVersion ) !== null &&
68
- semver . major ( packageVersion ) === 0 // CHANGEME: 2
65
+ semver . major ( packageVersion ) === 2
69
66
) ;
70
67
} ) ;
71
68
@@ -79,7 +76,7 @@ export async function showNewVersionNotification() {
79
76
if ( latestV2Release !== undefined ) {
80
77
const releaseVersion = semver . valid ( latestV2Release . tag_name . split ( "@" ) [ 1 ] ) ;
81
78
82
- if ( releaseVersion !== null && semver . gt ( releaseVersion , projectVersion ) ) {
79
+ if ( releaseVersion !== null && semver . gt ( releaseVersion , hardhatVersion ) ) {
83
80
console . log (
84
81
`There's a new version of ${ GITHUB_REPO } available: ${ releaseVersion } ! Run "npm i ${ GITHUB_REPO } @${ releaseVersion } " to update.\n`
85
82
) ;
@@ -89,7 +86,7 @@ export async function showNewVersionNotification() {
89
86
if ( v3Release !== undefined ) {
90
87
const releaseVersion = semver . valid ( v3Release . tag_name . split ( "@" ) [ 1 ] ) ;
91
88
92
- if ( releaseVersion !== null && semver . gt ( releaseVersion , projectVersion ) ) {
89
+ if ( releaseVersion !== null ) {
93
90
if ( cache . v3TimesShown < V3_RELEASE_MAX_TIMES_SHOWN ) {
94
91
cache . v3ReleaseMessage =
95
92
cache . v3ReleaseMessage ?? ( await getV3ReleaseMessage ( v3Release ) ) ;
@@ -143,26 +140,6 @@ async function writeCache(cache: VersionNotifierCache) {
143
140
}
144
141
}
145
142
146
- async function getProjectHardhatVersion ( ) : Promise < string | null > {
147
- const packageJsonPath = resolve ( __dirname , "../../../.." , "package.json" ) ;
148
- let packageJson : {
149
- dependencies ?: Record < string , string > ;
150
- devDependencies ?: Record < string , string > ;
151
- } = { } ;
152
- try {
153
- packageJson = JSON . parse ( await readFile ( packageJsonPath , "utf-8" ) ) ;
154
- } catch ( error ) {
155
- return null ;
156
- }
157
-
158
- const versionRange =
159
- packageJson ?. dependencies ?. [ "fake-hh" ] ??
160
- packageJson ?. devDependencies ?. [ "fake-hh" ] ;
161
- // CHANGEME: packageJson?.dependencies?.hardhat ?? packageJson?.devDependencies?.hardhat;
162
-
163
- return semver . valid ( semver . coerce ( versionRange ) ) ;
164
- }
165
-
166
143
async function getReleases ( ) : Promise < Release [ ] > {
167
144
const { request } = ( await import ( "undici" ) ) as { request : typeof RequestT } ;
168
145
let releases : Release [ ] = [ ] ;
0 commit comments