By default only publish EXPERIMENTAL package to NPM (Typescript) #246
JeremyJonas
started this conversation in
Polls
Replies: 1 comment
-
Further discussion in #244 (comment) regarding issues with current state. After further consideration, it is likely best to remove the Need to confirm with @agdimech what original design reasoning was for the **Config option variants. Proposal
/**
* Configuration options for the PDK Project.
*/
export interface PDKProjectOptions extends JsiiProjectOptions {
- readonly publishToPypiConfig?: JsiiPythonTarget;
- readonly publishToMavenConfig?: JsiiJavaTarget;
+ readonly doPublishToPypi?: boolean;
+ readonly doPublishToMaven?: boolean;
} // projen project options in PDK Projen
const doPublishToPypi = options.doPublishToPypi ?? options.stability === Stability.STABLE;
const doPublishToMaven = options.doPublishToMaven ?? options.stability === Stability.STABLE;
...
{
...
publishToPypi: doPublishToPypi ? options.publishToPypi || {
distName: `aws_prototyping_sdk.${nameWithUnderscore}`,
module: `aws_prototyping_sdk.${nameWithUnderscore}`,
} : undefined,
publishToMaven: doPublishToMaven ? options.publishToMaven || {
mavenEndpoint: "https://aws.oss.sonatype.org",
mavenGroupId: "software.aws.awsprototypingsdk",
mavenArtifactId: `${options.name}`,
javaPackage: `software.aws.awsprototypingsdk.${condensedName}`,
}) : undefined,
...
} |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I am proposing that by default, we disable publishing to PyPi and Java for EXPERIMENTAL packages, so we can release early stage packages and get feedback against Typescript version before polluting the other public repos.
Since we don't have an easy way to test all package languages (Python, Java, etc), and given that Typescript is the source code during initial development of early stage experimental packages, only Typescript (NPM packages) is likely to have adequate testing.
Example: when releasing
cdk-graph
andcdk-graph-plugin-diagram
, the bundling of npm package was broken do to hoisting, which in turn means that the other JSII language packages (python, java) are broken given they wrap the node package. This is being resolved in #244, with ability to "opt-out" of python/java publishing.This would only effect EXPERIMENTAL packages, as STABLE packages are assumed to be cross-language compatible and fully tested. If this is approved, existing experimental packages will "opt-in" (enable) publishing to pypi/java as to not change current publishing behavior - only NEW packages will be effected.
Example config to "opt-in" experimental publishing as is would be something like:
With stable "opt-out"
1 vote ·
Beta Was this translation helpful? Give feedback.
All reactions