@@ -49,6 +49,7 @@ def check_metadata(errors: list[str]) -> None:
4949 "version" : PLACEHOLDER_VERSION ,
5050 "private" : False ,
5151 "license" : "Apache-2.0" ,
52+ "engines" : {"node" : ">=22.11" },
5253 }
5354 for field , value in expected .items ():
5455 if package .get (field ) != value :
@@ -81,7 +82,7 @@ def check_metadata(errors: list[str]) -> None:
8182 errors .append ("commands.ts must not freeze CLI_VERSION to the committed placeholder" )
8283
8384 root_lock = (lock .get ("packages" ) or {}).get ("" ) or {}
84- for field in ("name" , "version" , "license" ):
85+ for field in ("name" , "version" , "license" , "engines" ):
8586 if root_lock .get (field ) != package .get (field ):
8687 errors .append (f"package-lock.json root { field !r} drifts from package.json" )
8788
@@ -101,7 +102,8 @@ def check_public_tree(errors: list[str]) -> None:
101102 "npm run check" ,
102103 "npm audit --audit-level=high --package-lock-only" ,
103104 "name: screenrig-cli" ,
104- "name: npm install (${{ matrix.os }}, Node 22.0.0)" ,
105+ "name: npm install (${{ matrix.os }}, Node 22.11.0)" ,
106+ 'node-version: "22.11.0"' ,
105107 "os: [ubuntu-24.04, macos-14, windows-2022]" ,
106108 "npm run check:npm-install" ,
107109 "gitleaks\" git" ,
@@ -144,6 +146,7 @@ def check_public_tree(errors: list[str]) -> None:
144146 "npm publish --access public" ,
145147 "screenrig@${{ needs.publish.outputs.version }}" ,
146148 "ubuntu-24.04, macos-14, windows-2022" ,
149+ 'node-version: "22.11.0"' ,
147150 "gh release upload" ,
148151 ):
149152 if fact not in npm_release :
0 commit comments