Skip to content

Commit 1e53a85

Browse files
committed
Update verdaccio to v6
1 parent 5b1b2f3 commit 1e53a85

7 files changed

Lines changed: 1101 additions & 755 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "none",
3+
"comment": "Tests: update verdaccio to v6",
4+
"packageName": "beachball",
5+
"email": "elcraig@microsoft.com",
6+
"dependentChangeType": "none"
7+
}

package.json

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,19 +66,12 @@
6666
"resolutions": {
6767
"@types/node": "^22.0.0",
6868
"lodash": "^4.18.1",
69-
"body-parser/qs@6.11.0": "^6.14.2",
7069
"express/qs@6.11.0": "^6.14.2",
7170
"@cypress/request/qs@6.10.4": "^6.14.2",
7271
"syncpack/minimatch@6.2.0": "^6.2.3",
7372
"syncpack/semver@7.5.0": "^7.7.4",
74-
"verdaccio/handlebars@4.7.8": "^4.7.9",
75-
"verdaccio/js-yaml@4.1.0": "^4.1.0",
76-
"verdaccio/validator@13.11.0": "^13.15.22",
77-
"@verdaccio/config/js-yaml@4.1.0": "^4.1.0",
78-
"@verdaccio/config/minimatch@7.4.6": "^7.4.9",
79-
"@verdaccio/core/ajv@8.12.0": "^8.18.0",
80-
"@verdaccio/url/validator@13.11.0": "^13.15.22",
81-
"@verdaccio/utils/minimatch@7.4.6": "^7.4.9"
73+
"@verdaccio/core/ajv@8.17.1": "^8.18.0",
74+
"@verdaccio/core/ajv@8.18.0": "^8.18.0"
8275
},
8376
"rationale": {
8477
"devDependencies": {
@@ -88,8 +81,6 @@
8881
"lodash": "Unpin due to security issue",
8982
"*/qs": "Unpin due to security issue",
9083
"*/semver": "Unpin due to security issues",
91-
"*/verdaccio/*": "Unpin due to security issues",
92-
"*/@verdaccio/*/*": "Unpin due to security issues",
9384
"*/minimatch": "Unpin minimatch due to security issues"
9485
}
9586
}

packages/beachball/.depcheckrc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ ignores:
1111
- 'eslint-*'
1212
- '@types/node'
1313
- '@jest/globals'
14+
# needed for type references from verdaccio (not listed in deps)
15+
- '@verdaccio/types'
16+
# needed for type references from @verdaccio/types
17+
- '@types/jsonwebtoken'

packages/beachball/package.json

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,19 @@
4848
},
4949
"devDependencies": {
5050
"@microsoft/beachball-scripts": "1.0.0",
51+
"@types/jsonwebtoken": "^9.0.10",
5152
"@types/minimatch": "^3.0.0",
5253
"@types/prompts": "^2.4.2",
5354
"@types/semver": "^7.3.13",
5455
"@types/tmp": "^0.2.3",
5556
"@types/yargs-parser": "^21.0.0",
57+
"@verdaccio/types": "^13.0.0",
5658
"get-port": "^5.0.0",
5759
"normalized-tmpdir": "1.0.1",
5860
"strip-ansi": "^6.0.1",
5961
"tmp": "^0.2.1",
60-
"verdaccio": "5.29.2",
61-
"verdaccio-auth-memory": "10.2.2",
62-
"verdaccio-memory": "10.3.2"
63-
},
64-
"rationale": {
65-
"devDependencies": {
66-
"verdaccio-auth-memory@10.2.2": "node 18 required by newer version",
67-
"verdaccio-memory@10.3.2": "node 18 required by newer version"
68-
}
62+
"verdaccio": "^6.5.2",
63+
"verdaccio-auth-memory": "^13.0.0",
64+
"verdaccio-memory": "^10.4.3"
6965
}
7066
}

packages/beachball/src/__fixtures__/registry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export class Registry {
114114
const registry = this.getUrl();
115115
const result = await execa('npm', ['whoami', '--registry', registry]);
116116
return result.stdout.trim();
117-
} catch (err) {
117+
} catch {
118118
return undefined;
119119
}
120120
}
@@ -178,7 +178,7 @@ export class Registry {
178178
return new Promise((resolve, reject) => {
179179
let hasReturned = false;
180180
const rejectWrapper = (err: unknown) => {
181-
!hasReturned && reject(err);
181+
!hasReturned && reject(err instanceof Error ? err : new Error(String(err)));
182182
hasReturned = true;
183183
};
184184

@@ -270,7 +270,7 @@ export class Registry {
270270
configBuilder.addLogger({
271271
type: 'file',
272272
level: 'trace',
273-
format: 'file',
273+
format: 'pretty',
274274
path: path.join(process.cwd(), `verdaccio-${Date.now()}.log`),
275275
});
276276
}

packages/beachball/src/__functional__/packageManager/packagePublish.test.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { removeTempDir, tmpdir } from '../../__fixtures__/tmpdir';
66
import * as npmModule from '../../packageManager/npm';
77
import { packagePublish } from '../../packageManager/packagePublish';
88
import type { PackageInfo } from '../../types/PackageInfo';
9-
import type { npm, NpmResult } from '../../packageManager/npm';
9+
import { npm, NpmResult } from '../../packageManager/npm';
1010
import { writeJson } from '../../object/writeJson';
1111
import { getNpmPackageInfo } from '../../packageManager/getNpmPackageInfo';
1212
import { env } from '../../env';
@@ -27,7 +27,6 @@ const testPackage = { name: testName, version: testVersion };
2727
// TODO: re-enable when jest and verdaccio are updated
2828
describe.skip('packagePublish', () => {
2929
let npmSpy: jest.SpiedFunction<typeof npm>;
30-
let npmVersion: string;
3130
let tempRoot: string;
3231
let tempPackageJsonPath: string;
3332
/**
@@ -90,8 +89,6 @@ describe.skip('packagePublish', () => {
9089
tempRoot = tmpdir();
9190
tempPackageJsonPath = path.join(tempRoot, 'package.json');
9291
writeJson(tempPackageJsonPath, testPackage);
93-
94-
npmVersion = (await npmModule.npm(['--version'], { cwd: tempRoot })).stdout.trim() || '';
9592
});
9693

9794
beforeEach(async () => {
@@ -187,12 +184,6 @@ describe.skip('packagePublish', () => {
187184
});
188185

189186
it('handles auth error and does not retry', async () => {
190-
// TODO: remove condition once node version is upgraded (this test doesn't work with npm 6 because
191-
// that version seems to allow truly anonymous publishing with verdaccio)
192-
if (npmVersion.startsWith('6.')) {
193-
console.warn('Skipping auth error test on npm 6');
194-
return;
195-
}
196187
await registry.logout();
197188

198189
const testPackageInfo = getTestPackageInfo();

0 commit comments

Comments
 (0)