4runr-os 2.9.132 → 2.9.133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/gateway/package-lock.json +173 -173
- package/dist/npm-list-version.d.ts +8 -0
- package/dist/npm-list-version.d.ts.map +1 -1
- package/dist/npm-list-version.js +49 -1
- package/dist/npm-list-version.js.map +1 -1
- package/dist/security/package-integrity.d.ts.map +1 -1
- package/dist/security/package-integrity.js +34 -12
- package/dist/security/package-integrity.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +4 -8
- package/dist/version-check.js.map +1 -1
- package/package.json +2 -2
- package/src/npm-list-version.ts +52 -1
- package/src/security/package-integrity.ts +40 -19
|
@@ -2995,16 +2995,16 @@
|
|
|
2995
2995
|
}
|
|
2996
2996
|
},
|
|
2997
2997
|
"node_modules/@smithy/config-resolver": {
|
|
2998
|
-
"version": "4.4.
|
|
2999
|
-
"resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.
|
|
3000
|
-
"integrity": "sha512-
|
|
2998
|
+
"version": "4.4.16",
|
|
2999
|
+
"resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.16.tgz",
|
|
3000
|
+
"integrity": "sha512-GFlGPNLZKrGfqWpqVb31z7hvYCA9ZscfX1buYnvvMGcRYsQQnhH+4uN6mWWflcD5jB4OXP/LBrdpukEdjl41tg==",
|
|
3001
3001
|
"license": "Apache-2.0",
|
|
3002
3002
|
"dependencies": {
|
|
3003
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3004
|
-
"@smithy/types": "^4.14.
|
|
3003
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3004
|
+
"@smithy/types": "^4.14.1",
|
|
3005
3005
|
"@smithy/util-config-provider": "^4.2.2",
|
|
3006
|
-
"@smithy/util-endpoints": "^3.4.
|
|
3007
|
-
"@smithy/util-middleware": "^4.2.
|
|
3006
|
+
"@smithy/util-endpoints": "^3.4.1",
|
|
3007
|
+
"@smithy/util-middleware": "^4.2.14",
|
|
3008
3008
|
"tslib": "^2.6.2"
|
|
3009
3009
|
},
|
|
3010
3010
|
"engines": {
|
|
@@ -3012,18 +3012,18 @@
|
|
|
3012
3012
|
}
|
|
3013
3013
|
},
|
|
3014
3014
|
"node_modules/@smithy/core": {
|
|
3015
|
-
"version": "3.23.
|
|
3016
|
-
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.
|
|
3017
|
-
"integrity": "sha512-
|
|
3015
|
+
"version": "3.23.15",
|
|
3016
|
+
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.15.tgz",
|
|
3017
|
+
"integrity": "sha512-E7GVCgsQttzfujEZb6Qep005wWf4xiL4x06apFEtzQMWYBPggZh/0cnOxPficw5cuK/YjjkehKoIN4YUaSh0UQ==",
|
|
3018
3018
|
"license": "Apache-2.0",
|
|
3019
3019
|
"dependencies": {
|
|
3020
|
-
"@smithy/protocol-http": "^5.3.
|
|
3021
|
-
"@smithy/types": "^4.14.
|
|
3022
|
-
"@smithy/url-parser": "^4.2.
|
|
3020
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3021
|
+
"@smithy/types": "^4.14.1",
|
|
3022
|
+
"@smithy/url-parser": "^4.2.14",
|
|
3023
3023
|
"@smithy/util-base64": "^4.3.2",
|
|
3024
3024
|
"@smithy/util-body-length-browser": "^4.2.2",
|
|
3025
|
-
"@smithy/util-middleware": "^4.2.
|
|
3026
|
-
"@smithy/util-stream": "^4.5.
|
|
3025
|
+
"@smithy/util-middleware": "^4.2.14",
|
|
3026
|
+
"@smithy/util-stream": "^4.5.23",
|
|
3027
3027
|
"@smithy/util-utf8": "^4.2.2",
|
|
3028
3028
|
"@smithy/uuid": "^1.1.2",
|
|
3029
3029
|
"tslib": "^2.6.2"
|
|
@@ -3033,15 +3033,15 @@
|
|
|
3033
3033
|
}
|
|
3034
3034
|
},
|
|
3035
3035
|
"node_modules/@smithy/credential-provider-imds": {
|
|
3036
|
-
"version": "4.2.
|
|
3037
|
-
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.
|
|
3038
|
-
"integrity": "sha512-
|
|
3036
|
+
"version": "4.2.14",
|
|
3037
|
+
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.14.tgz",
|
|
3038
|
+
"integrity": "sha512-Au28zBN48ZAoXdooGUHemuVBrkE+Ie6RPmGNIAJsFqj33Vhb6xAgRifUydZ2aY+M+KaMAETAlKk5NC5h1G7wpg==",
|
|
3039
3039
|
"license": "Apache-2.0",
|
|
3040
3040
|
"dependencies": {
|
|
3041
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3042
|
-
"@smithy/property-provider": "^4.2.
|
|
3043
|
-
"@smithy/types": "^4.14.
|
|
3044
|
-
"@smithy/url-parser": "^4.2.
|
|
3041
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3042
|
+
"@smithy/property-provider": "^4.2.14",
|
|
3043
|
+
"@smithy/types": "^4.14.1",
|
|
3044
|
+
"@smithy/url-parser": "^4.2.14",
|
|
3045
3045
|
"tslib": "^2.6.2"
|
|
3046
3046
|
},
|
|
3047
3047
|
"engines": {
|
|
@@ -3049,14 +3049,14 @@
|
|
|
3049
3049
|
}
|
|
3050
3050
|
},
|
|
3051
3051
|
"node_modules/@smithy/fetch-http-handler": {
|
|
3052
|
-
"version": "5.3.
|
|
3053
|
-
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.
|
|
3054
|
-
"integrity": "sha512-
|
|
3052
|
+
"version": "5.3.17",
|
|
3053
|
+
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.17.tgz",
|
|
3054
|
+
"integrity": "sha512-bXOvQzaSm6MnmLaWA1elgfQcAtN4UP3vXqV97bHuoOrHQOJiLT3ds6o9eo5bqd0TJfRFpzdGnDQdW3FACiAVdw==",
|
|
3055
3055
|
"license": "Apache-2.0",
|
|
3056
3056
|
"dependencies": {
|
|
3057
|
-
"@smithy/protocol-http": "^5.3.
|
|
3058
|
-
"@smithy/querystring-builder": "^4.2.
|
|
3059
|
-
"@smithy/types": "^4.14.
|
|
3057
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3058
|
+
"@smithy/querystring-builder": "^4.2.14",
|
|
3059
|
+
"@smithy/types": "^4.14.1",
|
|
3060
3060
|
"@smithy/util-base64": "^4.3.2",
|
|
3061
3061
|
"tslib": "^2.6.2"
|
|
3062
3062
|
},
|
|
@@ -3065,12 +3065,12 @@
|
|
|
3065
3065
|
}
|
|
3066
3066
|
},
|
|
3067
3067
|
"node_modules/@smithy/hash-node": {
|
|
3068
|
-
"version": "4.2.
|
|
3069
|
-
"resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.
|
|
3070
|
-
"integrity": "sha512-
|
|
3068
|
+
"version": "4.2.14",
|
|
3069
|
+
"resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.14.tgz",
|
|
3070
|
+
"integrity": "sha512-8ZBDY2DD4wr+GGjTpPtiglEsqr0lUP+KHqgZcWczFf6qeZ/YRjMIOoQWVQlmwu7EtxKTd8YXD8lblmYcpBIA1g==",
|
|
3071
3071
|
"license": "Apache-2.0",
|
|
3072
3072
|
"dependencies": {
|
|
3073
|
-
"@smithy/types": "^4.14.
|
|
3073
|
+
"@smithy/types": "^4.14.1",
|
|
3074
3074
|
"@smithy/util-buffer-from": "^4.2.2",
|
|
3075
3075
|
"@smithy/util-utf8": "^4.2.2",
|
|
3076
3076
|
"tslib": "^2.6.2"
|
|
@@ -3080,12 +3080,12 @@
|
|
|
3080
3080
|
}
|
|
3081
3081
|
},
|
|
3082
3082
|
"node_modules/@smithy/invalid-dependency": {
|
|
3083
|
-
"version": "4.2.
|
|
3084
|
-
"resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.
|
|
3085
|
-
"integrity": "sha512-
|
|
3083
|
+
"version": "4.2.14",
|
|
3084
|
+
"resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.14.tgz",
|
|
3085
|
+
"integrity": "sha512-c21qJiTSb25xvvOp+H2TNZzPCngrvl5vIPqPB8zQ/DmJF4QWXO19x1dWfMJZ6wZuuWUPPm0gV8C0cU3+ifcWuw==",
|
|
3086
3086
|
"license": "Apache-2.0",
|
|
3087
3087
|
"dependencies": {
|
|
3088
|
-
"@smithy/types": "^4.14.
|
|
3088
|
+
"@smithy/types": "^4.14.1",
|
|
3089
3089
|
"tslib": "^2.6.2"
|
|
3090
3090
|
},
|
|
3091
3091
|
"engines": {
|
|
@@ -3105,13 +3105,13 @@
|
|
|
3105
3105
|
}
|
|
3106
3106
|
},
|
|
3107
3107
|
"node_modules/@smithy/middleware-content-length": {
|
|
3108
|
-
"version": "4.2.
|
|
3109
|
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.
|
|
3110
|
-
"integrity": "sha512-
|
|
3108
|
+
"version": "4.2.14",
|
|
3109
|
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.14.tgz",
|
|
3110
|
+
"integrity": "sha512-xhHq7fX4/3lv5NHxLUk3OeEvl0xZ+Ek3qIbWaCL4f9JwgDZEclPBElljaZCAItdGPQl/kSM4LPMOpy1MYgprpw==",
|
|
3111
3111
|
"license": "Apache-2.0",
|
|
3112
3112
|
"dependencies": {
|
|
3113
|
-
"@smithy/protocol-http": "^5.3.
|
|
3114
|
-
"@smithy/types": "^4.14.
|
|
3113
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3114
|
+
"@smithy/types": "^4.14.1",
|
|
3115
3115
|
"tslib": "^2.6.2"
|
|
3116
3116
|
},
|
|
3117
3117
|
"engines": {
|
|
@@ -3119,18 +3119,18 @@
|
|
|
3119
3119
|
}
|
|
3120
3120
|
},
|
|
3121
3121
|
"node_modules/@smithy/middleware-endpoint": {
|
|
3122
|
-
"version": "4.4.
|
|
3123
|
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.
|
|
3124
|
-
"integrity": "sha512-
|
|
3122
|
+
"version": "4.4.30",
|
|
3123
|
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.30.tgz",
|
|
3124
|
+
"integrity": "sha512-qS2XqhKeXmdZ4nEQ4cOxIczSP/Y91wPAHYuRwmWDCh975B7/57uxsm5d6sisnUThn2u2FwzMdJNM7AbO1YPsPg==",
|
|
3125
3125
|
"license": "Apache-2.0",
|
|
3126
3126
|
"dependencies": {
|
|
3127
|
-
"@smithy/core": "^3.23.
|
|
3128
|
-
"@smithy/middleware-serde": "^4.2.
|
|
3129
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3130
|
-
"@smithy/shared-ini-file-loader": "^4.4.
|
|
3131
|
-
"@smithy/types": "^4.14.
|
|
3132
|
-
"@smithy/url-parser": "^4.2.
|
|
3133
|
-
"@smithy/util-middleware": "^4.2.
|
|
3127
|
+
"@smithy/core": "^3.23.15",
|
|
3128
|
+
"@smithy/middleware-serde": "^4.2.18",
|
|
3129
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3130
|
+
"@smithy/shared-ini-file-loader": "^4.4.9",
|
|
3131
|
+
"@smithy/types": "^4.14.1",
|
|
3132
|
+
"@smithy/url-parser": "^4.2.14",
|
|
3133
|
+
"@smithy/util-middleware": "^4.2.14",
|
|
3134
3134
|
"tslib": "^2.6.2"
|
|
3135
3135
|
},
|
|
3136
3136
|
"engines": {
|
|
@@ -3138,19 +3138,19 @@
|
|
|
3138
3138
|
}
|
|
3139
3139
|
},
|
|
3140
3140
|
"node_modules/@smithy/middleware-retry": {
|
|
3141
|
-
"version": "4.5.
|
|
3142
|
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.5.
|
|
3143
|
-
"integrity": "sha512
|
|
3141
|
+
"version": "4.5.3",
|
|
3142
|
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.5.3.tgz",
|
|
3143
|
+
"integrity": "sha512-TE8dJNi6JuxzGSxMCVd3i9IEWDndCl3bmluLsBNDWok8olgj65OfkndMhl9SZ7m14c+C5SQn/PcUmrDl57rSFw==",
|
|
3144
3144
|
"license": "Apache-2.0",
|
|
3145
3145
|
"dependencies": {
|
|
3146
|
-
"@smithy/core": "^3.23.
|
|
3147
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3148
|
-
"@smithy/protocol-http": "^5.3.
|
|
3149
|
-
"@smithy/service-error-classification": "^4.2.
|
|
3150
|
-
"@smithy/smithy-client": "^4.12.
|
|
3151
|
-
"@smithy/types": "^4.14.
|
|
3152
|
-
"@smithy/util-middleware": "^4.2.
|
|
3153
|
-
"@smithy/util-retry": "^4.3.
|
|
3146
|
+
"@smithy/core": "^3.23.15",
|
|
3147
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3148
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3149
|
+
"@smithy/service-error-classification": "^4.2.14",
|
|
3150
|
+
"@smithy/smithy-client": "^4.12.11",
|
|
3151
|
+
"@smithy/types": "^4.14.1",
|
|
3152
|
+
"@smithy/util-middleware": "^4.2.14",
|
|
3153
|
+
"@smithy/util-retry": "^4.3.2",
|
|
3154
3154
|
"@smithy/uuid": "^1.1.2",
|
|
3155
3155
|
"tslib": "^2.6.2"
|
|
3156
3156
|
},
|
|
@@ -3159,14 +3159,14 @@
|
|
|
3159
3159
|
}
|
|
3160
3160
|
},
|
|
3161
3161
|
"node_modules/@smithy/middleware-serde": {
|
|
3162
|
-
"version": "4.2.
|
|
3163
|
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.
|
|
3164
|
-
"integrity": "sha512-
|
|
3162
|
+
"version": "4.2.18",
|
|
3163
|
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.18.tgz",
|
|
3164
|
+
"integrity": "sha512-M6CSgnp3v4tYz9ynj2JHbA60woBZcGqEwNjTKjBsNHPV26R1ZX52+0wW8WsZU18q45jD0tw2wL22S17Ze9LpEw==",
|
|
3165
3165
|
"license": "Apache-2.0",
|
|
3166
3166
|
"dependencies": {
|
|
3167
|
-
"@smithy/core": "^3.23.
|
|
3168
|
-
"@smithy/protocol-http": "^5.3.
|
|
3169
|
-
"@smithy/types": "^4.14.
|
|
3167
|
+
"@smithy/core": "^3.23.15",
|
|
3168
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3169
|
+
"@smithy/types": "^4.14.1",
|
|
3170
3170
|
"tslib": "^2.6.2"
|
|
3171
3171
|
},
|
|
3172
3172
|
"engines": {
|
|
@@ -3174,12 +3174,12 @@
|
|
|
3174
3174
|
}
|
|
3175
3175
|
},
|
|
3176
3176
|
"node_modules/@smithy/middleware-stack": {
|
|
3177
|
-
"version": "4.2.
|
|
3178
|
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.
|
|
3179
|
-
"integrity": "sha512-
|
|
3177
|
+
"version": "4.2.14",
|
|
3178
|
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.14.tgz",
|
|
3179
|
+
"integrity": "sha512-2dvkUKLuFdKsCRmOE4Mn63co0Djtsm+JMh0bYZQupN1pJwMeE8FmQmRLLzzEMN0dnNi7CDCYYH8F0EVwWiPBeA==",
|
|
3180
3180
|
"license": "Apache-2.0",
|
|
3181
3181
|
"dependencies": {
|
|
3182
|
-
"@smithy/types": "^4.14.
|
|
3182
|
+
"@smithy/types": "^4.14.1",
|
|
3183
3183
|
"tslib": "^2.6.2"
|
|
3184
3184
|
},
|
|
3185
3185
|
"engines": {
|
|
@@ -3187,14 +3187,14 @@
|
|
|
3187
3187
|
}
|
|
3188
3188
|
},
|
|
3189
3189
|
"node_modules/@smithy/node-config-provider": {
|
|
3190
|
-
"version": "4.3.
|
|
3191
|
-
"resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.
|
|
3192
|
-
"integrity": "sha512-
|
|
3190
|
+
"version": "4.3.14",
|
|
3191
|
+
"resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.14.tgz",
|
|
3192
|
+
"integrity": "sha512-S+gFjyo/weSVL0P1b9Ts8C/CwIfNCgUPikk3sl6QVsfE/uUuO+QsF+NsE/JkpvWqqyz1wg7HFdiaZuj5CoBMRg==",
|
|
3193
3193
|
"license": "Apache-2.0",
|
|
3194
3194
|
"dependencies": {
|
|
3195
|
-
"@smithy/property-provider": "^4.2.
|
|
3196
|
-
"@smithy/shared-ini-file-loader": "^4.4.
|
|
3197
|
-
"@smithy/types": "^4.14.
|
|
3195
|
+
"@smithy/property-provider": "^4.2.14",
|
|
3196
|
+
"@smithy/shared-ini-file-loader": "^4.4.9",
|
|
3197
|
+
"@smithy/types": "^4.14.1",
|
|
3198
3198
|
"tslib": "^2.6.2"
|
|
3199
3199
|
},
|
|
3200
3200
|
"engines": {
|
|
@@ -3202,14 +3202,14 @@
|
|
|
3202
3202
|
}
|
|
3203
3203
|
},
|
|
3204
3204
|
"node_modules/@smithy/node-http-handler": {
|
|
3205
|
-
"version": "4.5.
|
|
3206
|
-
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.5.
|
|
3207
|
-
"integrity": "sha512
|
|
3205
|
+
"version": "4.5.3",
|
|
3206
|
+
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.5.3.tgz",
|
|
3207
|
+
"integrity": "sha512-lc5jFL++x17sPhIwMWJ3YOnqmSjw/2Po6VLDlUIXvxVWRuJwRXnJ4jOBBLB0cfI5BB5ehIl02Fxr1PDvk/kxDw==",
|
|
3208
3208
|
"license": "Apache-2.0",
|
|
3209
3209
|
"dependencies": {
|
|
3210
|
-
"@smithy/protocol-http": "^5.3.
|
|
3211
|
-
"@smithy/querystring-builder": "^4.2.
|
|
3212
|
-
"@smithy/types": "^4.14.
|
|
3210
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3211
|
+
"@smithy/querystring-builder": "^4.2.14",
|
|
3212
|
+
"@smithy/types": "^4.14.1",
|
|
3213
3213
|
"tslib": "^2.6.2"
|
|
3214
3214
|
},
|
|
3215
3215
|
"engines": {
|
|
@@ -3217,12 +3217,12 @@
|
|
|
3217
3217
|
}
|
|
3218
3218
|
},
|
|
3219
3219
|
"node_modules/@smithy/property-provider": {
|
|
3220
|
-
"version": "4.2.
|
|
3221
|
-
"resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.
|
|
3222
|
-
"integrity": "sha512-
|
|
3220
|
+
"version": "4.2.14",
|
|
3221
|
+
"resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.14.tgz",
|
|
3222
|
+
"integrity": "sha512-WuM31CgfsnQ/10i7NYr0PyxqknD72Y5uMfUMVSniPjbEPceiTErb4eIqJQ+pdxNEAUEWrewrGjIRjVbVHsxZiQ==",
|
|
3223
3223
|
"license": "Apache-2.0",
|
|
3224
3224
|
"dependencies": {
|
|
3225
|
-
"@smithy/types": "^4.14.
|
|
3225
|
+
"@smithy/types": "^4.14.1",
|
|
3226
3226
|
"tslib": "^2.6.2"
|
|
3227
3227
|
},
|
|
3228
3228
|
"engines": {
|
|
@@ -3230,12 +3230,12 @@
|
|
|
3230
3230
|
}
|
|
3231
3231
|
},
|
|
3232
3232
|
"node_modules/@smithy/protocol-http": {
|
|
3233
|
-
"version": "5.3.
|
|
3234
|
-
"resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.
|
|
3235
|
-
"integrity": "sha512
|
|
3233
|
+
"version": "5.3.14",
|
|
3234
|
+
"resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.14.tgz",
|
|
3235
|
+
"integrity": "sha512-dN5F8kHx8RNU0r+pCwNmFZyz6ChjMkzShy/zup6MtkRmmix4vZzJdW+di7x//b1LiynIev88FM18ie+wwPcQtQ==",
|
|
3236
3236
|
"license": "Apache-2.0",
|
|
3237
3237
|
"dependencies": {
|
|
3238
|
-
"@smithy/types": "^4.14.
|
|
3238
|
+
"@smithy/types": "^4.14.1",
|
|
3239
3239
|
"tslib": "^2.6.2"
|
|
3240
3240
|
},
|
|
3241
3241
|
"engines": {
|
|
@@ -3243,12 +3243,12 @@
|
|
|
3243
3243
|
}
|
|
3244
3244
|
},
|
|
3245
3245
|
"node_modules/@smithy/querystring-builder": {
|
|
3246
|
-
"version": "4.2.
|
|
3247
|
-
"resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.
|
|
3248
|
-
"integrity": "sha512-
|
|
3246
|
+
"version": "4.2.14",
|
|
3247
|
+
"resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.14.tgz",
|
|
3248
|
+
"integrity": "sha512-XYA5Z0IqTeF+5XDdh4BBmSA0HvbgVZIyv4cmOoUheDNR57K1HgBp9ukUMx3Cr3XpDHHpLBnexPE3LAtDsZkj2A==",
|
|
3249
3249
|
"license": "Apache-2.0",
|
|
3250
3250
|
"dependencies": {
|
|
3251
|
-
"@smithy/types": "^4.14.
|
|
3251
|
+
"@smithy/types": "^4.14.1",
|
|
3252
3252
|
"@smithy/util-uri-escape": "^4.2.2",
|
|
3253
3253
|
"tslib": "^2.6.2"
|
|
3254
3254
|
},
|
|
@@ -3257,12 +3257,12 @@
|
|
|
3257
3257
|
}
|
|
3258
3258
|
},
|
|
3259
3259
|
"node_modules/@smithy/querystring-parser": {
|
|
3260
|
-
"version": "4.2.
|
|
3261
|
-
"resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.
|
|
3262
|
-
"integrity": "sha512-
|
|
3260
|
+
"version": "4.2.14",
|
|
3261
|
+
"resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.14.tgz",
|
|
3262
|
+
"integrity": "sha512-hr+YyqBD23GVvRxGGrcc/oOeNlK3PzT5Fu4dzrDXxzS1LpFiuL2PQQqKPs87M79aW7ziMs+nvB3qdw77SqE7Lw==",
|
|
3263
3263
|
"license": "Apache-2.0",
|
|
3264
3264
|
"dependencies": {
|
|
3265
|
-
"@smithy/types": "^4.14.
|
|
3265
|
+
"@smithy/types": "^4.14.1",
|
|
3266
3266
|
"tslib": "^2.6.2"
|
|
3267
3267
|
},
|
|
3268
3268
|
"engines": {
|
|
@@ -3270,24 +3270,24 @@
|
|
|
3270
3270
|
}
|
|
3271
3271
|
},
|
|
3272
3272
|
"node_modules/@smithy/service-error-classification": {
|
|
3273
|
-
"version": "4.2.
|
|
3274
|
-
"resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.
|
|
3275
|
-
"integrity": "sha512-
|
|
3273
|
+
"version": "4.2.14",
|
|
3274
|
+
"resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.14.tgz",
|
|
3275
|
+
"integrity": "sha512-vVimoUnGxlx4eLLQbZImdOZFOe+Zh+5ACntv8VxZuGP72LdWu5GV3oEmCahSEReBgRJoWjypFkrehSj7BWx1HQ==",
|
|
3276
3276
|
"license": "Apache-2.0",
|
|
3277
3277
|
"dependencies": {
|
|
3278
|
-
"@smithy/types": "^4.14.
|
|
3278
|
+
"@smithy/types": "^4.14.1"
|
|
3279
3279
|
},
|
|
3280
3280
|
"engines": {
|
|
3281
3281
|
"node": ">=18.0.0"
|
|
3282
3282
|
}
|
|
3283
3283
|
},
|
|
3284
3284
|
"node_modules/@smithy/shared-ini-file-loader": {
|
|
3285
|
-
"version": "4.4.
|
|
3286
|
-
"resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.
|
|
3287
|
-
"integrity": "sha512-
|
|
3285
|
+
"version": "4.4.9",
|
|
3286
|
+
"resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.9.tgz",
|
|
3287
|
+
"integrity": "sha512-495/V2I15SHgedSJoDPD23JuSfKAp726ZI1V0wtjB07Wh7q/0tri/0e0DLefZCHgxZonrGKt/OCTpAtP1wE1kQ==",
|
|
3288
3288
|
"license": "Apache-2.0",
|
|
3289
3289
|
"dependencies": {
|
|
3290
|
-
"@smithy/types": "^4.14.
|
|
3290
|
+
"@smithy/types": "^4.14.1",
|
|
3291
3291
|
"tslib": "^2.6.2"
|
|
3292
3292
|
},
|
|
3293
3293
|
"engines": {
|
|
@@ -3295,16 +3295,16 @@
|
|
|
3295
3295
|
}
|
|
3296
3296
|
},
|
|
3297
3297
|
"node_modules/@smithy/signature-v4": {
|
|
3298
|
-
"version": "5.3.
|
|
3299
|
-
"resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.
|
|
3300
|
-
"integrity": "sha512-
|
|
3298
|
+
"version": "5.3.14",
|
|
3299
|
+
"resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.14.tgz",
|
|
3300
|
+
"integrity": "sha512-1D9Y/nmlVjCeSivCbhZ7hgEpmHyY1h0GvpSZt3l0xcD9JjmjVC1CHOozS6+Gh+/ldMH8JuJ6cujObQqfayAVFA==",
|
|
3301
3301
|
"license": "Apache-2.0",
|
|
3302
3302
|
"dependencies": {
|
|
3303
3303
|
"@smithy/is-array-buffer": "^4.2.2",
|
|
3304
|
-
"@smithy/protocol-http": "^5.3.
|
|
3305
|
-
"@smithy/types": "^4.14.
|
|
3304
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3305
|
+
"@smithy/types": "^4.14.1",
|
|
3306
3306
|
"@smithy/util-hex-encoding": "^4.2.2",
|
|
3307
|
-
"@smithy/util-middleware": "^4.2.
|
|
3307
|
+
"@smithy/util-middleware": "^4.2.14",
|
|
3308
3308
|
"@smithy/util-uri-escape": "^4.2.2",
|
|
3309
3309
|
"@smithy/util-utf8": "^4.2.2",
|
|
3310
3310
|
"tslib": "^2.6.2"
|
|
@@ -3314,17 +3314,17 @@
|
|
|
3314
3314
|
}
|
|
3315
3315
|
},
|
|
3316
3316
|
"node_modules/@smithy/smithy-client": {
|
|
3317
|
-
"version": "4.12.
|
|
3318
|
-
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.
|
|
3319
|
-
"integrity": "sha512-
|
|
3317
|
+
"version": "4.12.11",
|
|
3318
|
+
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.11.tgz",
|
|
3319
|
+
"integrity": "sha512-wzz/Wa1CH/Tlhxh0s4DQPEcXSxSVfJ59AZcUh9Gu0c6JTlKuwGf4o/3P2TExv0VbtPFt8odIBG+eQGK2+vTECg==",
|
|
3320
3320
|
"license": "Apache-2.0",
|
|
3321
3321
|
"dependencies": {
|
|
3322
|
-
"@smithy/core": "^3.23.
|
|
3323
|
-
"@smithy/middleware-endpoint": "^4.4.
|
|
3324
|
-
"@smithy/middleware-stack": "^4.2.
|
|
3325
|
-
"@smithy/protocol-http": "^5.3.
|
|
3326
|
-
"@smithy/types": "^4.14.
|
|
3327
|
-
"@smithy/util-stream": "^4.5.
|
|
3322
|
+
"@smithy/core": "^3.23.15",
|
|
3323
|
+
"@smithy/middleware-endpoint": "^4.4.30",
|
|
3324
|
+
"@smithy/middleware-stack": "^4.2.14",
|
|
3325
|
+
"@smithy/protocol-http": "^5.3.14",
|
|
3326
|
+
"@smithy/types": "^4.14.1",
|
|
3327
|
+
"@smithy/util-stream": "^4.5.23",
|
|
3328
3328
|
"tslib": "^2.6.2"
|
|
3329
3329
|
},
|
|
3330
3330
|
"engines": {
|
|
@@ -3332,9 +3332,9 @@
|
|
|
3332
3332
|
}
|
|
3333
3333
|
},
|
|
3334
3334
|
"node_modules/@smithy/types": {
|
|
3335
|
-
"version": "4.14.
|
|
3336
|
-
"resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.
|
|
3337
|
-
"integrity": "sha512-
|
|
3335
|
+
"version": "4.14.1",
|
|
3336
|
+
"resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.1.tgz",
|
|
3337
|
+
"integrity": "sha512-59b5HtSVrVR/eYNei3BUj3DCPKD/G7EtDDe7OEJE7i7FtQFugYo6MxbotS8mVJkLNVf8gYaAlEBwwtJ9HzhWSg==",
|
|
3338
3338
|
"license": "Apache-2.0",
|
|
3339
3339
|
"dependencies": {
|
|
3340
3340
|
"tslib": "^2.6.2"
|
|
@@ -3344,13 +3344,13 @@
|
|
|
3344
3344
|
}
|
|
3345
3345
|
},
|
|
3346
3346
|
"node_modules/@smithy/url-parser": {
|
|
3347
|
-
"version": "4.2.
|
|
3348
|
-
"resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.
|
|
3349
|
-
"integrity": "sha512-
|
|
3347
|
+
"version": "4.2.14",
|
|
3348
|
+
"resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.14.tgz",
|
|
3349
|
+
"integrity": "sha512-p06BiBigJ8bTA3MgnOfCtDUWnAMY0YfedO/GRpmc7p+wg3KW8vbXy1xwSu5ASy0wV7rRYtlfZOIKH4XqfhjSQQ==",
|
|
3350
3350
|
"license": "Apache-2.0",
|
|
3351
3351
|
"dependencies": {
|
|
3352
|
-
"@smithy/querystring-parser": "^4.2.
|
|
3353
|
-
"@smithy/types": "^4.14.
|
|
3352
|
+
"@smithy/querystring-parser": "^4.2.14",
|
|
3353
|
+
"@smithy/types": "^4.14.1",
|
|
3354
3354
|
"tslib": "^2.6.2"
|
|
3355
3355
|
},
|
|
3356
3356
|
"engines": {
|
|
@@ -3421,14 +3421,14 @@
|
|
|
3421
3421
|
}
|
|
3422
3422
|
},
|
|
3423
3423
|
"node_modules/@smithy/util-defaults-mode-browser": {
|
|
3424
|
-
"version": "4.3.
|
|
3425
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.
|
|
3426
|
-
"integrity": "sha512-
|
|
3424
|
+
"version": "4.3.47",
|
|
3425
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.47.tgz",
|
|
3426
|
+
"integrity": "sha512-zlIuXai3/SHjQUQ8y3g/woLvrH573SK2wNjcDaHu5e9VOcC0JwM1MI0Sq0GZJyN3BwSUneIhpjZ18nsiz5AtQw==",
|
|
3427
3427
|
"license": "Apache-2.0",
|
|
3428
3428
|
"dependencies": {
|
|
3429
|
-
"@smithy/property-provider": "^4.2.
|
|
3430
|
-
"@smithy/smithy-client": "^4.12.
|
|
3431
|
-
"@smithy/types": "^4.14.
|
|
3429
|
+
"@smithy/property-provider": "^4.2.14",
|
|
3430
|
+
"@smithy/smithy-client": "^4.12.11",
|
|
3431
|
+
"@smithy/types": "^4.14.1",
|
|
3432
3432
|
"tslib": "^2.6.2"
|
|
3433
3433
|
},
|
|
3434
3434
|
"engines": {
|
|
@@ -3436,17 +3436,17 @@
|
|
|
3436
3436
|
}
|
|
3437
3437
|
},
|
|
3438
3438
|
"node_modules/@smithy/util-defaults-mode-node": {
|
|
3439
|
-
"version": "4.2.
|
|
3440
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.
|
|
3441
|
-
"integrity": "sha512-
|
|
3439
|
+
"version": "4.2.52",
|
|
3440
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.52.tgz",
|
|
3441
|
+
"integrity": "sha512-cQBz8g68Vnw1W2meXlkb3D/hXJU+Taiyj9P8qLJtjREEV9/Td65xi4A/H1sRQ8EIgX5qbZbvdYPKygKLholZ3w==",
|
|
3442
3442
|
"license": "Apache-2.0",
|
|
3443
3443
|
"dependencies": {
|
|
3444
|
-
"@smithy/config-resolver": "^4.4.
|
|
3445
|
-
"@smithy/credential-provider-imds": "^4.2.
|
|
3446
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3447
|
-
"@smithy/property-provider": "^4.2.
|
|
3448
|
-
"@smithy/smithy-client": "^4.12.
|
|
3449
|
-
"@smithy/types": "^4.14.
|
|
3444
|
+
"@smithy/config-resolver": "^4.4.16",
|
|
3445
|
+
"@smithy/credential-provider-imds": "^4.2.14",
|
|
3446
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3447
|
+
"@smithy/property-provider": "^4.2.14",
|
|
3448
|
+
"@smithy/smithy-client": "^4.12.11",
|
|
3449
|
+
"@smithy/types": "^4.14.1",
|
|
3450
3450
|
"tslib": "^2.6.2"
|
|
3451
3451
|
},
|
|
3452
3452
|
"engines": {
|
|
@@ -3454,13 +3454,13 @@
|
|
|
3454
3454
|
}
|
|
3455
3455
|
},
|
|
3456
3456
|
"node_modules/@smithy/util-endpoints": {
|
|
3457
|
-
"version": "3.4.
|
|
3458
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.4.
|
|
3459
|
-
"integrity": "sha512-
|
|
3457
|
+
"version": "3.4.1",
|
|
3458
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.4.1.tgz",
|
|
3459
|
+
"integrity": "sha512-wMxNDZJrgS5mQV9oxCs4TWl5767VMgOfqfZ3JHyCkMtGC2ykW9iPqMvFur695Otcc5yxLG8OKO/80tsQBxrhXg==",
|
|
3460
3460
|
"license": "Apache-2.0",
|
|
3461
3461
|
"dependencies": {
|
|
3462
|
-
"@smithy/node-config-provider": "^4.3.
|
|
3463
|
-
"@smithy/types": "^4.14.
|
|
3462
|
+
"@smithy/node-config-provider": "^4.3.14",
|
|
3463
|
+
"@smithy/types": "^4.14.1",
|
|
3464
3464
|
"tslib": "^2.6.2"
|
|
3465
3465
|
},
|
|
3466
3466
|
"engines": {
|
|
@@ -3480,12 +3480,12 @@
|
|
|
3480
3480
|
}
|
|
3481
3481
|
},
|
|
3482
3482
|
"node_modules/@smithy/util-middleware": {
|
|
3483
|
-
"version": "4.2.
|
|
3484
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.
|
|
3485
|
-
"integrity": "sha512-
|
|
3483
|
+
"version": "4.2.14",
|
|
3484
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.14.tgz",
|
|
3485
|
+
"integrity": "sha512-1Su2vj9RYNDEv/V+2E+jXkkwGsgR7dc4sfHn9Z7ruzQHJIEni9zzw5CauvRXlFJfmgcqYP8fWa0dkh2Q2YaQyw==",
|
|
3486
3486
|
"license": "Apache-2.0",
|
|
3487
3487
|
"dependencies": {
|
|
3488
|
-
"@smithy/types": "^4.14.
|
|
3488
|
+
"@smithy/types": "^4.14.1",
|
|
3489
3489
|
"tslib": "^2.6.2"
|
|
3490
3490
|
},
|
|
3491
3491
|
"engines": {
|
|
@@ -3493,13 +3493,13 @@
|
|
|
3493
3493
|
}
|
|
3494
3494
|
},
|
|
3495
3495
|
"node_modules/@smithy/util-retry": {
|
|
3496
|
-
"version": "4.3.
|
|
3497
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.3.
|
|
3498
|
-
"integrity": "sha512-
|
|
3496
|
+
"version": "4.3.2",
|
|
3497
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.3.2.tgz",
|
|
3498
|
+
"integrity": "sha512-2+KTsJEwTi63NUv4uR9IQ+IFT1yu6Rf6JuoBK2WKaaJ/TRvOiOVGcXAsEqX/TQN2thR9yII21kPUJq1UV/WI2A==",
|
|
3499
3499
|
"license": "Apache-2.0",
|
|
3500
3500
|
"dependencies": {
|
|
3501
|
-
"@smithy/service-error-classification": "^4.2.
|
|
3502
|
-
"@smithy/types": "^4.14.
|
|
3501
|
+
"@smithy/service-error-classification": "^4.2.14",
|
|
3502
|
+
"@smithy/types": "^4.14.1",
|
|
3503
3503
|
"tslib": "^2.6.2"
|
|
3504
3504
|
},
|
|
3505
3505
|
"engines": {
|
|
@@ -3507,14 +3507,14 @@
|
|
|
3507
3507
|
}
|
|
3508
3508
|
},
|
|
3509
3509
|
"node_modules/@smithy/util-stream": {
|
|
3510
|
-
"version": "4.5.
|
|
3511
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.
|
|
3512
|
-
"integrity": "sha512-
|
|
3510
|
+
"version": "4.5.23",
|
|
3511
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.23.tgz",
|
|
3512
|
+
"integrity": "sha512-N6on1+ngJ3RznZOnDWNveIwnTSlqxNnXuNAh7ez889ZZaRdXoNRTXKgmYOLe6dB0gCmAVtuRScE1hymQFl4hpg==",
|
|
3513
3513
|
"license": "Apache-2.0",
|
|
3514
3514
|
"dependencies": {
|
|
3515
|
-
"@smithy/fetch-http-handler": "^5.3.
|
|
3516
|
-
"@smithy/node-http-handler": "^4.5.
|
|
3517
|
-
"@smithy/types": "^4.14.
|
|
3515
|
+
"@smithy/fetch-http-handler": "^5.3.17",
|
|
3516
|
+
"@smithy/node-http-handler": "^4.5.3",
|
|
3517
|
+
"@smithy/types": "^4.14.1",
|
|
3518
3518
|
"@smithy/util-base64": "^4.3.2",
|
|
3519
3519
|
"@smithy/util-buffer-from": "^4.2.2",
|
|
3520
3520
|
"@smithy/util-hex-encoding": "^4.2.2",
|
|
@@ -3551,12 +3551,12 @@
|
|
|
3551
3551
|
}
|
|
3552
3552
|
},
|
|
3553
3553
|
"node_modules/@smithy/util-waiter": {
|
|
3554
|
-
"version": "4.2.
|
|
3555
|
-
"resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.
|
|
3556
|
-
"integrity": "sha512-
|
|
3554
|
+
"version": "4.2.16",
|
|
3555
|
+
"resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.16.tgz",
|
|
3556
|
+
"integrity": "sha512-GtclrKoZ3Lt7jPQ7aTIYKfjY92OgceScftVnkTsG8e1KV8rkvZgN+ny6YSRhd9hxB8rZtwVbmln7NTvE5O3GmQ==",
|
|
3557
3557
|
"license": "Apache-2.0",
|
|
3558
3558
|
"dependencies": {
|
|
3559
|
-
"@smithy/types": "^4.14.
|
|
3559
|
+
"@smithy/types": "^4.14.1",
|
|
3560
3560
|
"tslib": "^2.6.2"
|
|
3561
3561
|
},
|
|
3562
3562
|
"engines": {
|
|
@@ -4884,9 +4884,9 @@
|
|
|
4884
4884
|
}
|
|
4885
4885
|
},
|
|
4886
4886
|
"node_modules/electron-to-chromium": {
|
|
4887
|
-
"version": "1.5.
|
|
4888
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.
|
|
4889
|
-
"integrity": "sha512-
|
|
4887
|
+
"version": "1.5.339",
|
|
4888
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.339.tgz",
|
|
4889
|
+
"integrity": "sha512-Is+0BBHJ4NrdpAYiperrmp53pLywG/yV/6lIMTAnhxvzj/Cmn5Q/ogSHC6AKe7X+8kPLxxFk0cs5oc/3j/fxIg==",
|
|
4890
4890
|
"dev": true,
|
|
4891
4891
|
"license": "ISC"
|
|
4892
4892
|
},
|
|
@@ -3,4 +3,12 @@
|
|
|
3
3
|
* npm may return the queried package as the JSON root (name + version) or nested under dependencies.
|
|
4
4
|
*/
|
|
5
5
|
export declare function parseNpmListGlobalVersion(stdout: string | Buffer, packageName: string): string | null;
|
|
6
|
+
/** Looks like a normal x.y.z (or x.y) semver string from npm. */
|
|
7
|
+
export declare function looksLikeNpmVersion(v: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Read globally installed version from `npm list -g` JSON.
|
|
10
|
+
* Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
|
|
11
|
+
* do not treat non-zero status as "no install".
|
|
12
|
+
*/
|
|
13
|
+
export declare function getInstalledGlobalPackageVersion(packageName: string): string | null;
|
|
6
14
|
//# sourceMappingURL=npm-list-version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-list-version.d.ts","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"npm-list-version.d.ts","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8CrG;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWnF"}
|
package/dist/npm-list-version.js
CHANGED
|
@@ -2,10 +2,37 @@
|
|
|
2
2
|
* Parse installed version from `npm list -g <pkg> --depth=0 --json` output.
|
|
3
3
|
* npm may return the queried package as the JSON root (name + version) or nested under dependencies.
|
|
4
4
|
*/
|
|
5
|
+
import { spawnNpmSync } from './npm-spawn.js';
|
|
5
6
|
import { sanitizePackageName } from './security/validation.js';
|
|
6
7
|
function stdoutToString(stdout) {
|
|
7
8
|
return typeof stdout === 'string' ? stdout : stdout.toString('utf-8');
|
|
8
9
|
}
|
|
10
|
+
/** Deep scan (npm global tree shapes vary by npm major). */
|
|
11
|
+
function deepFindPackageVersion(node, targetName) {
|
|
12
|
+
if (node === null || typeof node !== 'object') {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(node)) {
|
|
16
|
+
for (const el of node) {
|
|
17
|
+
const f = deepFindPackageVersion(el, targetName);
|
|
18
|
+
if (f) {
|
|
19
|
+
return f;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const o = node;
|
|
25
|
+
if (o.name === targetName && typeof o.version === 'string') {
|
|
26
|
+
return o.version;
|
|
27
|
+
}
|
|
28
|
+
for (const v of Object.values(o)) {
|
|
29
|
+
const f = deepFindPackageVersion(v, targetName);
|
|
30
|
+
if (f) {
|
|
31
|
+
return f;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
9
36
|
export function parseNpmListGlobalVersion(stdout, packageName) {
|
|
10
37
|
const validation = sanitizePackageName(packageName);
|
|
11
38
|
if (!validation.valid || !validation.sanitized) {
|
|
@@ -47,6 +74,27 @@ export function parseNpmListGlobalVersion(stdout, packageName) {
|
|
|
47
74
|
}
|
|
48
75
|
}
|
|
49
76
|
}
|
|
50
|
-
return
|
|
77
|
+
return deepFindPackageVersion(data, n);
|
|
78
|
+
}
|
|
79
|
+
/** Looks like a normal x.y.z (or x.y) semver string from npm. */
|
|
80
|
+
export function looksLikeNpmVersion(v) {
|
|
81
|
+
return /^\d+\.\d+(\.\d+)?/.test(v.trim());
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Read globally installed version from `npm list -g` JSON.
|
|
85
|
+
* Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
|
|
86
|
+
* do not treat non-zero status as "no install".
|
|
87
|
+
*/
|
|
88
|
+
export function getInstalledGlobalPackageVersion(packageName) {
|
|
89
|
+
const validation = sanitizePackageName(packageName);
|
|
90
|
+
if (!validation.valid || !validation.sanitized) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
|
|
94
|
+
if (!result.stdout) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const v = parseNpmListGlobalVersion(result.stdout, packageName);
|
|
98
|
+
return v && looksLikeNpmVersion(v) ? v : null;
|
|
51
99
|
}
|
|
52
100
|
//# sourceMappingURL=npm-list-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-list-version.js","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,SAAS,cAAc,CAAC,MAAuB;IAC7C,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAuB,EAAE,WAAmB;IACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;IAE/B,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,IAA+B,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAI,MAAgC,CAAC,OAAO,CAAC;YACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAI,GAA6B,CAAC,OAAO,CAAC;oBACjD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,OAAO,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"npm-list-version.js","sourceRoot":"","sources":["../src/npm-list-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-integrity.d.ts","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAkB9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"package-integrity.d.ts","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBvF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAkB9F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAW5F;AAwCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyFzG"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as crypto from 'crypto';
|
|
6
6
|
import * as fs from 'fs';
|
|
7
|
-
import {
|
|
7
|
+
import { getInstalledGlobalPackageVersion } from '../npm-list-version.js';
|
|
8
8
|
import { spawnNpmSync } from '../npm-spawn.js';
|
|
9
9
|
import { sanitizePackageName } from './validation.js';
|
|
10
10
|
/**
|
|
@@ -58,11 +58,7 @@ export function verifyInstalledVersion(packageName, expectedVersion) {
|
|
|
58
58
|
if (!validation.valid || !validation.sanitized) {
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
61
|
-
const
|
|
62
|
-
if (result.status !== 0 || !result.stdout) {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const installedVersion = parseNpmListGlobalVersion(result.stdout, packageName);
|
|
61
|
+
const installedVersion = getInstalledGlobalPackageVersion(packageName);
|
|
66
62
|
return installedVersion === expectedVersion;
|
|
67
63
|
}
|
|
68
64
|
catch {
|
|
@@ -128,10 +124,24 @@ export function safeNpmInstall(packageName, version) {
|
|
|
128
124
|
if (result.status !== 0) {
|
|
129
125
|
return { success: false, error: npmErrorResult(result) };
|
|
130
126
|
}
|
|
131
|
-
const
|
|
132
|
-
|
|
127
|
+
const installed = getInstalledGlobalPackageVersion(validation.sanitized);
|
|
128
|
+
// @latest: npm list exit code is often 1 for noisy global trees; registry can move during install.
|
|
129
|
+
// Trust a readable installed semver after a successful npm install, not strict equality to resolveTagVersion.
|
|
130
|
+
const verified = version === 'latest'
|
|
131
|
+
? Boolean(installed)
|
|
132
|
+
: (() => {
|
|
133
|
+
const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
|
|
134
|
+
return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
|
|
135
|
+
})();
|
|
133
136
|
if (!verified) {
|
|
134
|
-
return {
|
|
137
|
+
return {
|
|
138
|
+
success: false,
|
|
139
|
+
error: installed == null
|
|
140
|
+
? 'Could not read installed version after update (npm list). Run: npm install -g ' +
|
|
141
|
+
validation.sanitized +
|
|
142
|
+
'@latest'
|
|
143
|
+
: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
|
|
144
|
+
};
|
|
135
145
|
}
|
|
136
146
|
return { success: true };
|
|
137
147
|
}
|
|
@@ -144,10 +154,22 @@ export function safeNpmInstall(packageName, version) {
|
|
|
144
154
|
if (result.status !== 0) {
|
|
145
155
|
return { success: false, error: npmErrorResult(result) };
|
|
146
156
|
}
|
|
147
|
-
const
|
|
148
|
-
const verified =
|
|
157
|
+
const installed = getInstalledGlobalPackageVersion(validation.sanitized);
|
|
158
|
+
const verified = version === 'latest'
|
|
159
|
+
? Boolean(installed)
|
|
160
|
+
: (() => {
|
|
161
|
+
const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
|
|
162
|
+
return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
|
|
163
|
+
})();
|
|
149
164
|
if (!verified) {
|
|
150
|
-
return {
|
|
165
|
+
return {
|
|
166
|
+
success: false,
|
|
167
|
+
error: installed == null
|
|
168
|
+
? 'Could not read installed version after update (npm list). Run: npm install -g ' +
|
|
169
|
+
validation.sanitized +
|
|
170
|
+
'@latest'
|
|
171
|
+
: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
|
|
172
|
+
};
|
|
151
173
|
}
|
|
152
174
|
return { success: true };
|
|
153
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-integrity.js","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package-integrity.js","sourceRoot":"","sources":["../../src/security/package-integrity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAsFD;;GAEG;AACH,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAM5F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,MAAmB,GAAG,IAAI,CAGpG;AAgGD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,GAAE,MAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,CA2EjF;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,WAAW,GAAE,MAAmB,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBvH"}
|
package/dist/version-check.js
CHANGED
|
@@ -7,7 +7,7 @@ import * as fs from 'fs';
|
|
|
7
7
|
import * as path from 'path';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
9
9
|
import { dirname } from 'path';
|
|
10
|
-
import {
|
|
10
|
+
import { getInstalledGlobalPackageVersion } from './npm-list-version.js';
|
|
11
11
|
import { spawnNpmSync } from './npm-spawn.js';
|
|
12
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
13
13
|
const __dirname = dirname(__filename);
|
|
@@ -16,13 +16,9 @@ const __dirname = dirname(__filename);
|
|
|
16
16
|
*/
|
|
17
17
|
function getCurrentVersion() {
|
|
18
18
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const installedVersion = parseNpmListGlobalVersion(result.stdout, '4runr-os');
|
|
23
|
-
if (installedVersion) {
|
|
24
|
-
return installedVersion;
|
|
25
|
-
}
|
|
19
|
+
const installedVersion = getInstalledGlobalPackageVersion('4runr-os');
|
|
20
|
+
if (installedVersion) {
|
|
21
|
+
return installedVersion;
|
|
26
22
|
}
|
|
27
23
|
}
|
|
28
24
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "4runr-os",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.133",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.133: Auto-update verify — ignore npm list exit 1; deep-parse tree; @latest trusts readable installed version (no strict registry race). Prior: 2.9.132 publish bundle, TUI stderr logs, ESC portal reset. ⚠️ Pre-MVP / Development Phase",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|
package/src/npm-list-version.ts
CHANGED
|
@@ -3,12 +3,40 @@
|
|
|
3
3
|
* npm may return the queried package as the JSON root (name + version) or nested under dependencies.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { spawnNpmSync } from './npm-spawn.js';
|
|
6
7
|
import { sanitizePackageName } from './security/validation.js';
|
|
7
8
|
|
|
8
9
|
function stdoutToString(stdout: string | Buffer): string {
|
|
9
10
|
return typeof stdout === 'string' ? stdout : stdout.toString('utf-8');
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
/** Deep scan (npm global tree shapes vary by npm major). */
|
|
14
|
+
function deepFindPackageVersion(node: unknown, targetName: string): string | null {
|
|
15
|
+
if (node === null || typeof node !== 'object') {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(node)) {
|
|
19
|
+
for (const el of node) {
|
|
20
|
+
const f = deepFindPackageVersion(el, targetName);
|
|
21
|
+
if (f) {
|
|
22
|
+
return f;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const o = node as Record<string, unknown>;
|
|
28
|
+
if (o.name === targetName && typeof o.version === 'string') {
|
|
29
|
+
return o.version;
|
|
30
|
+
}
|
|
31
|
+
for (const v of Object.values(o)) {
|
|
32
|
+
const f = deepFindPackageVersion(v, targetName);
|
|
33
|
+
if (f) {
|
|
34
|
+
return f;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
12
40
|
export function parseNpmListGlobalVersion(stdout: string | Buffer, packageName: string): string | null {
|
|
13
41
|
const validation = sanitizePackageName(packageName);
|
|
14
42
|
if (!validation.valid || !validation.sanitized) {
|
|
@@ -54,5 +82,28 @@ export function parseNpmListGlobalVersion(stdout: string | Buffer, packageName:
|
|
|
54
82
|
}
|
|
55
83
|
}
|
|
56
84
|
|
|
57
|
-
return
|
|
85
|
+
return deepFindPackageVersion(data, n);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Looks like a normal x.y.z (or x.y) semver string from npm. */
|
|
89
|
+
export function looksLikeNpmVersion(v: string): boolean {
|
|
90
|
+
return /^\d+\.\d+(\.\d+)?/.test(v.trim());
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Read globally installed version from `npm list -g` JSON.
|
|
95
|
+
* Important: `npm list` often exits with code 1 (extraneous/missing peers) even when JSON is valid —
|
|
96
|
+
* do not treat non-zero status as "no install".
|
|
97
|
+
*/
|
|
98
|
+
export function getInstalledGlobalPackageVersion(packageName: string): string | null {
|
|
99
|
+
const validation = sanitizePackageName(packageName);
|
|
100
|
+
if (!validation.valid || !validation.sanitized) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
|
|
104
|
+
if (!result.stdout) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const v = parseNpmListGlobalVersion(result.stdout, packageName);
|
|
108
|
+
return v && looksLikeNpmVersion(v) ? v : null;
|
|
58
109
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import * as crypto from 'crypto';
|
|
7
7
|
import * as fs from 'fs';
|
|
8
|
-
import {
|
|
8
|
+
import { getInstalledGlobalPackageVersion } from '../npm-list-version.js';
|
|
9
9
|
import { spawnNpmSync } from '../npm-spawn.js';
|
|
10
10
|
import { sanitizePackageName } from './validation.js';
|
|
11
11
|
|
|
@@ -64,19 +64,10 @@ export function verifyPackageIntegrity(tarballPath: string, expectedIntegrity: s
|
|
|
64
64
|
export function verifyInstalledVersion(packageName: string, expectedVersion: string): boolean {
|
|
65
65
|
try {
|
|
66
66
|
const validation = sanitizePackageName(packageName);
|
|
67
|
-
|
|
68
67
|
if (!validation.valid || !validation.sanitized) {
|
|
69
68
|
return false;
|
|
70
69
|
}
|
|
71
|
-
|
|
72
|
-
const result = spawnNpmSync(['list', '-g', validation.sanitized, '--depth=0', '--json']);
|
|
73
|
-
|
|
74
|
-
if (result.status !== 0 || !result.stdout) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const installedVersion = parseNpmListGlobalVersion(result.stdout, packageName);
|
|
79
|
-
|
|
70
|
+
const installedVersion = getInstalledGlobalPackageVersion(packageName);
|
|
80
71
|
return installedVersion === expectedVersion;
|
|
81
72
|
} catch {
|
|
82
73
|
return false;
|
|
@@ -155,12 +146,28 @@ export function safeNpmInstall(packageName: string, version: string): { success:
|
|
|
155
146
|
return { success: false, error: npmErrorResult(result) };
|
|
156
147
|
}
|
|
157
148
|
|
|
158
|
-
const
|
|
159
|
-
|
|
149
|
+
const installed = getInstalledGlobalPackageVersion(validation.sanitized);
|
|
150
|
+
// @latest: npm list exit code is often 1 for noisy global trees; registry can move during install.
|
|
151
|
+
// Trust a readable installed semver after a successful npm install, not strict equality to resolveTagVersion.
|
|
152
|
+
const verified =
|
|
153
|
+
version === 'latest'
|
|
154
|
+
? Boolean(installed)
|
|
155
|
+
: (() => {
|
|
156
|
+
const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
|
|
157
|
+
return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
|
|
158
|
+
})();
|
|
160
159
|
if (!verified) {
|
|
161
|
-
return {
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
error:
|
|
163
|
+
installed == null
|
|
164
|
+
? 'Could not read installed version after update (npm list). Run: npm install -g ' +
|
|
165
|
+
validation.sanitized +
|
|
166
|
+
'@latest'
|
|
167
|
+
: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
|
|
168
|
+
};
|
|
162
169
|
}
|
|
163
|
-
|
|
170
|
+
|
|
164
171
|
return { success: true };
|
|
165
172
|
}
|
|
166
173
|
|
|
@@ -175,12 +182,26 @@ export function safeNpmInstall(packageName: string, version: string): { success:
|
|
|
175
182
|
return { success: false, error: npmErrorResult(result) };
|
|
176
183
|
}
|
|
177
184
|
|
|
178
|
-
const
|
|
179
|
-
const verified =
|
|
185
|
+
const installed = getInstalledGlobalPackageVersion(validation.sanitized);
|
|
186
|
+
const verified =
|
|
187
|
+
version === 'latest'
|
|
188
|
+
? Boolean(installed)
|
|
189
|
+
: (() => {
|
|
190
|
+
const expected = versionToVerify ?? resolveTagVersion(validation.sanitized, version);
|
|
191
|
+
return expected ? verifyInstalledVersion(validation.sanitized, expected) : true;
|
|
192
|
+
})();
|
|
180
193
|
if (!verified) {
|
|
181
|
-
return {
|
|
194
|
+
return {
|
|
195
|
+
success: false,
|
|
196
|
+
error:
|
|
197
|
+
installed == null
|
|
198
|
+
? 'Could not read installed version after update (npm list). Run: npm install -g ' +
|
|
199
|
+
validation.sanitized +
|
|
200
|
+
'@latest'
|
|
201
|
+
: 'Installed version does not match expected. Run: npm install -g ' + validation.sanitized + '@latest',
|
|
202
|
+
};
|
|
182
203
|
}
|
|
183
|
-
|
|
204
|
+
|
|
184
205
|
return { success: true };
|
|
185
206
|
} catch (error: any) {
|
|
186
207
|
return { success: false, error: error?.message || String(error) };
|