Skip to content

Commit b269077

Browse files
authored
chore: set npm publish config for released packages (#345)
Fixes attempt to publish as private package: `402 Payment Required: You must sign up for private packages` See https://github.com/cdklabs/awscdk-service-spec/actions/runs/5411843113/jobs/9835226797#step:5:36
1 parent 0d2fab2 commit b269077

File tree

5 files changed

+27
-3
lines changed

5 files changed

+27
-3
lines changed

packages/@aws-cdk/aws-service-spec/package.json

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk/service-spec-types/package.json

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@cdklabs/tskb/package.json

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@cdklabs/typewriter/package.json

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

projenrc/workspace.ts

+15-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
import { yarn } from 'cdklabs-projen-project-types';
2-
import { DependencyType, ReleasableCommits } from 'projen';
2+
import { DependencyType, ReleasableCommits, javascript } from 'projen';
33
import { YarnMonorepo } from './monorepo';
44

55
export interface TypeScriptWorkspaceOptions extends yarn.TypeScriptWorkspaceOptions {
66
readonly releasableCommits?: ReleasableCommits;
77
}
88

9+
type Mutable<T> = {
10+
-readonly [K in keyof T]: T[K];
11+
};
12+
913
export class TypeScriptWorkspace extends yarn.TypeScriptWorkspace {
1014
private isPrivatePackage: boolean;
1115
private monorepo: YarnMonorepo;
1216

1317
public constructor(options: TypeScriptWorkspaceOptions) {
14-
super(options);
15-
this.monorepo = options.parent as YarnMonorepo;
18+
const monorepo = options.parent as YarnMonorepo;
19+
const defaultOptions: Partial<Mutable<TypeScriptWorkspaceOptions>> = {};
20+
if (monorepo.monorepoRelease && !options.private) {
21+
defaultOptions.npmAccess = javascript.NpmAccess.PUBLIC;
22+
}
23+
super({
24+
...defaultOptions,
25+
...options,
26+
});
27+
this.monorepo = monorepo;
1628
this.isPrivatePackage = options.private ?? false;
1729

1830
// If the package is public, all local deps and peer deps must also be public

0 commit comments

Comments
 (0)