Skip to content

Commit

Permalink
fix(deps): libnpmaccess was rewritten, lsPackages is now getPackages (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
ghiscoding committed Oct 21, 2022
1 parent 41b6eaa commit abb78b0
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 38 deletions.
2 changes: 1 addition & 1 deletion packages/publish/package.json
Expand Up @@ -39,7 +39,7 @@
"columnify": "^1.6.0",
"fs-extra": "^10.1.0",
"has-unicode": "^2.0.1",
"libnpmaccess": "^6.0.4",
"libnpmaccess": "^7.0.0",
"libnpmpublish": "^7.0.0",
"npm-package-arg": "^10.0.0",
"npm-packlist": "^7.0.1",
Expand Down
20 changes: 10 additions & 10 deletions packages/publish/src/__tests__/verify-npm-package-access.spec.ts
Expand Up @@ -7,7 +7,7 @@ import { verifyNpmPackageAccess } from '../lib/verify-npm-package-access';
import { initFixtureFactory } from '@lerna-test/helpers';
const initFixture = initFixtureFactory(__dirname);

(access.lsPackages as unknown as jest.Mock).mockImplementation(() =>
(access.getPackages as unknown as jest.Mock).mockImplementation(() =>
Promise.resolve({
'package-1': 'read-write',
'package-2': 'read-write',
Expand Down Expand Up @@ -37,7 +37,7 @@ describe('verifyNpmPackageAccess', () => {

await verifyNpmPackageAccess(packages, 'lerna-test', opts as FetchConfig);

expect(access.lsPackages).toHaveBeenLastCalledWith(
expect(access.getPackages).toHaveBeenLastCalledWith(
'lerna-test',
expect.objectContaining({
registry: 'https://registry.npmjs.org/',
Expand All @@ -50,7 +50,7 @@ describe('verifyNpmPackageAccess', () => {
const packages = await Project.getPackages(cwd);
const opts = { registry: 'https://registry.npmjs.org/' };

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() =>
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() =>
Promise.resolve({
'package-1': 'read-write',
// unpublished packages don't show up in ls-packages
Expand All @@ -60,15 +60,15 @@ describe('verifyNpmPackageAccess', () => {

await verifyNpmPackageAccess(packages, 'lerna-test', opts as FetchConfig);

expect(access.lsPackages).toHaveBeenCalled();
expect(access.getPackages).toHaveBeenCalled();
});

test('allows null result to pass with warning', async () => {
const packages = await Project.getPackages(cwd);
const opts = { registry: 'https://registry.npmjs.org/' };

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() =>
// access.lsPackages() returns null when _no_ results returned
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() =>
// access.getPackages() returns null when _no_ results returned
Promise.resolve(null)
);

Expand All @@ -84,7 +84,7 @@ describe('verifyNpmPackageAccess', () => {
const packages = await Project.getPackages(cwd);
const opts = { registry: 'https://registry.npmjs.org/' };

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() =>
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() =>
Promise.resolve({
'package-1': 'read-write',
'package-2': 'read-only',
Expand All @@ -101,7 +101,7 @@ describe('verifyNpmPackageAccess', () => {
const registry = 'http://outdated-npm-enterprise.mycompany.com:12345/';
const opts = { registry };

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() => {
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() => {
const err = new Error('npm-enterprise-what') as Error & { code: string };
err.code = 'E500';
return Promise.reject(err);
Expand All @@ -121,7 +121,7 @@ describe('verifyNpmPackageAccess', () => {
const registry = 'https://artifactory-partial-implementation.corpnet.mycompany.com/';
const opts = { registry };

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() => {
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() => {
const err = new Error('artifactory-why') as Error & { code: string };
err.code = 'E404';
return Promise.reject(err);
Expand All @@ -140,7 +140,7 @@ describe('verifyNpmPackageAccess', () => {
const packages = await Project.getPackages(cwd);
const opts = {};

(access.lsPackages as unknown as jest.Mock).mockImplementationOnce(() => {
(access.getPackages as unknown as jest.Mock).mockImplementationOnce(() => {
const err = new Error('gonna-need-a-bigger-boat');

return Promise.reject(err);
Expand Down
4 changes: 2 additions & 2 deletions packages/publish/src/lib/verify-npm-package-access.ts
Expand Up @@ -18,10 +18,10 @@ export function verifyNpmPackageAccess(packages: Package[], username: string, op

opts.log.silly('verifyNpmPackageAccess', '');

return pulseTillDone(access.lsPackages(username, opts)).then(success, failure);
return pulseTillDone(access.getPackages(username, opts)).then(success, failure);

function success(result: any) {
// when _no_ results received, access.lsPackages returns null
// when _no_ results received, access.getPackages returns null
// we can only assume that the packages in question have never been published
if (result === null) {
opts.log.warn(
Expand Down
32 changes: 7 additions & 25 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit abb78b0

Please sign in to comment.