File tree 2 files changed +57
-0
lines changed
2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : Delete NPM Versions
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ push :
6
+
7
+ jobs :
8
+ delete-npm-versions :
9
+ runs-on : ubuntu-latest
10
+
11
+ steps :
12
+ - name : Checkout repository
13
+ uses : actions/checkout@v2
14
+
15
+ - name : Set up Node.js
16
+ uses : actions/setup-node@v3
17
+ with :
18
+ node-version : ' lts/*'
19
+
20
+ - name : Run deleteVersions script
21
+ env :
22
+ PACKAGE_NAME : sfdx-hardis
23
+ NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
24
+ run : |
25
+ echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
26
+ node deleteVersions.js
Original file line number Diff line number Diff line change
1
+ const { execSync } = require ( 'child_process' ) ;
2
+
3
+ function getPackageVersions ( packageName ) {
4
+ const result = execSync ( `npm view ${ packageName } versions --json` ) ;
5
+ return JSON . parse ( result ) ;
6
+ }
7
+
8
+ function deletePackageVersion ( packageName , version ) {
9
+ try {
10
+ execSync ( `npm unpublish ${ packageName } @${ version } ` ) ;
11
+ console . log ( `Successfully deleted ${ packageName } @${ version } ` ) ;
12
+ } catch ( error ) {
13
+ console . error ( `Failed to delete ${ packageName } @${ version } : ${ error . message } ` ) ;
14
+ }
15
+ }
16
+
17
+ function main ( ) {
18
+ const packageName = process . env . PACKAGE_NAME ;
19
+ if ( ! packageName ) {
20
+ console . error ( 'PACKAGE_NAME environment variable is not set' ) ;
21
+ process . exit ( 1 ) ;
22
+ }
23
+
24
+ const versions = getPackageVersions ( packageName ) ;
25
+ const versionsToDelete = versions . filter ( version => / a l p h a | b e t a | c a n a r y / . test ( version ) ) ;
26
+
27
+ console . log ( JSON . stringify ( versionsToDelete , null , 2 ) ) ;
28
+ // versionsToDelete.forEach(version => deletePackageVersion(packageName, version));
29
+ }
30
+
31
+ main ( ) ;
You can’t perform that action at this time.
0 commit comments