Skip to content

Commit 9cf8c77

Browse files
committed
fix(publishable): limit badge creation to the lifter
1 parent 624714e commit 9cf8c77

9 files changed

Lines changed: 10 additions & 38 deletions

File tree

src/project-type/cli/scaffolder.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {scaffold as scaffoldBundler} from '../publishable/bundler/index.js';
88
const defaultBuildDirectory = 'bin';
99

1010
export default async function scaffoldCli({
11-
packageName,
1211
visibility,
1312
projectRoot,
1413
dialect,
@@ -19,7 +18,7 @@ export default async function scaffoldCli({
1918
const packageAccessLevel = determinePackageAccessLevelFromProjectVisibility({projectVisibility: visibility});
2019
const [bundlerResults, publishableResults] = await Promise.all([
2120
scaffoldBundler({bundlers: packageBundlers, projectRoot, dialect, decisions, projectType: projectTypes.CLI}),
22-
scaffoldPublishable({packageName, packageAccessLevel}),
21+
scaffoldPublishable(),
2322
mergeIntoExistingPackageJson({
2423
projectRoot,
2524
config: {

src/project-type/cli/scaffolder.test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ vi.mock('../publishable');
1616

1717
describe('cli project-type scaffolder', () => {
1818
const projectRoot = any.string();
19-
const packageName = any.word();
2019
const publishableResults = any.simpleObject();
2120
const configs = any.simpleObject();
2221
const visibility = any.word();
@@ -30,7 +29,7 @@ describe('cli project-type scaffolder', () => {
3029
when(determinePackageAccessLevelFromProjectVisibility)
3130
.calledWith({projectVisibility: visibility})
3231
.thenReturn(packageAccessLevel);
33-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
32+
when(scaffoldPublishable).calledWith().thenReturn(publishableResults);
3433
when(scaffoldBundler)
3534
.calledWith({bundlers: packageBundlers, decisions, projectRoot, dialect, projectType: projectTypes.CLI})
3635
.thenResolve(bundlerResults);
@@ -44,7 +43,6 @@ describe('cli project-type scaffolder', () => {
4443
const results = await scaffoldCli({
4544
projectRoot,
4645
configs,
47-
packageName,
4846
visibility,
4947
dialect,
5048
decisions,
@@ -80,7 +78,6 @@ describe('cli project-type scaffolder', () => {
8078
await scaffoldCli({
8179
projectRoot,
8280
configs,
83-
packageName,
8481
visibility,
8582
publishRegistry,
8683
dialect,

src/project-type/package/scaffolder.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default async function scaffoldPackageProjectType({
3232
provideExample,
3333
decisions
3434
}),
35-
scaffoldPublishable({packageName, packageAccessLevel}),
35+
scaffoldPublishable(),
3636
mergeIntoExistingPackageJson({
3737
projectRoot,
3838
config: {

src/project-type/package/scaffolder.test.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ describe('package project-type scaffolder', () => {
4343
when(determinePackageAccessLevelFromProjectVisibility)
4444
.calledWith({projectVisibility: visibility})
4545
.thenReturn(packageAccessLevel);
46+
when(scaffoldPublishable).calledWith().thenReturn(publishableResults);
4647
});
4748

4849
it('should scaffold details specific to a modern-js package', async () => {
4950
const dialect = dialects.BABEL;
50-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
5151
when(buildDetails.default).calledWith({
5252
projectRoot,
5353
projectName,
@@ -93,7 +93,6 @@ describe('package project-type scaffolder', () => {
9393

9494
it('should scaffold details specific to an esm-only package', async () => {
9595
const dialect = dialects.ESM;
96-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
9796
when(buildDetails.default).calledWith({
9897
projectRoot,
9998
projectName,
@@ -134,7 +133,6 @@ describe('package project-type scaffolder', () => {
134133

135134
it('should scaffold details specific to a typescript package', async () => {
136135
const dialect = dialects.TYPESCRIPT;
137-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
138136
when(buildDetails.default).calledWith({
139137
projectRoot,
140138
projectName,
@@ -181,7 +179,6 @@ describe('package project-type scaffolder', () => {
181179

182180
it('should not include build details when the project will not be scaffolded', async () => {
183181
const dialect = dialects.COMMON_JS;
184-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
185182
when(buildDetails.default).calledWith({
186183
projectRoot,
187184
projectName,
@@ -221,7 +218,6 @@ describe('package project-type scaffolder', () => {
221218
it('should define the registry to publish to when provided', async () => {
222219
const publishRegistry = any.url();
223220
const dialect = dialects.BABEL;
224-
when(scaffoldPublishable).calledWith({packageName, packageAccessLevel}).thenReturn(publishableResults);
225221
when(buildDetails.default).calledWith({
226222
projectRoot,
227223
projectName,

src/project-type/publishable/lifter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {lift as liftProvenance} from './provenance/index.js';
77

88
export default async function liftPublishable({projectRoot, packageDetails, configs}) {
99
const {name: packageName, publishConfig: {access: packageAccessLevel}} = packageDetails;
10-
const homepage = `https://npm.im/${packageName}`;
1110
const customRegistry = resolveRegistry(packageName, configs.registries);
11+
const homepage = `https://npm.im/${packageName}`;
1212

1313
await mergeIntoExistingPackageJson({projectRoot, config: {homepage}});
1414

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import defineBadges from './badges.js';
2-
3-
export default async function scaffoldPublishable({packageName, packageAccessLevel}) {
4-
return {
5-
badges: await defineBadges(packageName, packageAccessLevel)
6-
};
1+
export default async function scaffoldPublishable() {
2+
return {};
73
}
Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,9 @@
1-
import {afterEach, describe, expect, it, vi} from 'vitest';
2-
import any from '@travi/any';
3-
import {when} from 'vitest-when';
1+
import {describe, expect, it} from 'vitest';
42

5-
import scaffoldBadges from './badges.js';
63
import scaffoldPublishable from './scaffolder.js';
74

8-
vi.mock('./badges');
9-
105
describe('publishable project-type scaffolder', () => {
11-
afterEach(() => {
12-
vi.clearAllMocks();
13-
});
14-
156
it('should scaffold common details of a package project', async () => {
16-
const packageName = any.word();
17-
const packageAccessLevel = any.word();
18-
const badgesResults = any.simpleObject();
19-
when(scaffoldBadges).calledWith(packageName, packageAccessLevel).thenReturn(badgesResults);
20-
21-
expect(await scaffoldPublishable({packageName, packageAccessLevel})).toEqual({badges: badgesResults});
7+
expect(await scaffoldPublishable()).toEqual({});
228
});
239
});

src/project-type/scaffolder.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export default async function scaffoldProjectType({
3838
return scaffoldApplicationType({projectRoot});
3939
case projectTypes.CLI:
4040
return scaffoldCliType({
41-
packageName,
4241
visibility,
4342
projectRoot,
4443
dialect,

src/project-type/scaffolder.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,11 @@ describe('project-type scaffolder', () => {
8080

8181
it('should apply the cli-type scaffolder when the project-type is `CLI`', async () => {
8282
when(scaffoldCliType)
83-
.calledWith({packageName, visibility, projectRoot, dialect, publishRegistry, decisions, packageBundlers})
83+
.calledWith({visibility, projectRoot, dialect, publishRegistry, decisions, packageBundlers})
8484
.thenResolve(results);
8585

8686
expect(await projectTypeScaffolder({
8787
projectType: projectTypes.CLI,
88-
packageName,
8988
visibility,
9089
projectRoot,
9190
dialect,

0 commit comments

Comments
 (0)