cdklabs-projen-project-types 0.1.163 → 0.1.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -1
- package/.jsii +87 -10
- package/.projenrc.ts +0 -14
- package/API.md +17307 -15957
- package/README.md +1 -1
- package/lib/auto-merge.js +1 -1
- package/lib/cdk.js +2 -2
- package/lib/cdklabs.js +3 -3
- package/lib/common-options.d.ts +8 -2
- package/lib/common-options.js +28 -1
- package/lib/jsii.js +1 -1
- package/lib/merge-queue.js +1 -1
- package/lib/rosetta.js +1 -1
- package/lib/upgrade-cdklabs-projen-project-types.d.ts +6 -17
- package/lib/upgrade-cdklabs-projen-project-types.js +22 -156
- package/lib/yarn/monorepo-options.d.ts +6 -2
- package/lib/yarn/monorepo-options.js +1 -1
- package/lib/yarn/monorepo.js +2 -2
- package/lib/yarn/typescript-workspace-options.d.ts +6 -2
- package/lib/yarn/typescript-workspace-options.js +1 -1
- package/lib/yarn/typescript-workspace.js +1 -1
- package/node_modules/yaml/browser/dist/doc/directives.js +9 -2
- package/node_modules/yaml/dist/doc/directives.js +9 -2
- package/node_modules/yaml/package.json +1 -1
- package/package.json +13 -11
package/.gitattributes
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
/.github/workflows/build.yml linguist-generated
|
|
10
10
|
/.github/workflows/pull-request-lint.yml linguist-generated
|
|
11
11
|
/.github/workflows/release.yml linguist-generated
|
|
12
|
+
/.github/workflows/upgrade-dev-deps-main.yml linguist-generated
|
|
12
13
|
/.github/workflows/upgrade-main.yml linguist-generated
|
|
13
14
|
/.gitignore linguist-generated
|
|
14
15
|
/.npmignore linguist-generated
|
|
15
|
-
/.npmrc linguist-generated
|
|
16
16
|
/.projen/** linguist-generated
|
|
17
17
|
/.projen/deps.json linguist-generated
|
|
18
18
|
/.projen/files.json linguist-generated
|
package/.jsii
CHANGED
|
@@ -8,12 +8,37 @@
|
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
10
|
"bundled": {
|
|
11
|
-
"yaml": "^2.3.
|
|
11
|
+
"yaml": "^2.3.3"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"projen": "^0.
|
|
14
|
+
"projen": "^0.76.13"
|
|
15
15
|
},
|
|
16
16
|
"dependencyClosure": {
|
|
17
|
+
"constructs": {
|
|
18
|
+
"targets": {
|
|
19
|
+
"dotnet": {
|
|
20
|
+
"namespace": "Constructs",
|
|
21
|
+
"packageId": "Constructs"
|
|
22
|
+
},
|
|
23
|
+
"go": {
|
|
24
|
+
"moduleName": "github.com/aws/constructs-go"
|
|
25
|
+
},
|
|
26
|
+
"java": {
|
|
27
|
+
"maven": {
|
|
28
|
+
"artifactId": "constructs",
|
|
29
|
+
"groupId": "software.constructs"
|
|
30
|
+
},
|
|
31
|
+
"package": "software.constructs"
|
|
32
|
+
},
|
|
33
|
+
"js": {
|
|
34
|
+
"npm": "constructs"
|
|
35
|
+
},
|
|
36
|
+
"python": {
|
|
37
|
+
"distName": "constructs",
|
|
38
|
+
"module": "constructs"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
17
42
|
"projen": {
|
|
18
43
|
"submodules": {
|
|
19
44
|
"projen.awscdk": {},
|
|
@@ -71,7 +96,7 @@
|
|
|
71
96
|
},
|
|
72
97
|
"name": "cdklabs-projen-project-types",
|
|
73
98
|
"readme": {
|
|
74
|
-
"markdown": "# Cdklabs Projen Project Types\n\nThis repository stores custom project types extended from `projen` with cdklabs defaults\nbaked in. This is meant to serve as a hook for continuous management of all repos we own.\nWith cdklabs projen types, we can add new configuration as they come up and have it\npropagate to all repositories using the type.\n\n## CdklabsConstructLibrary\n\nThis type extends projen's `awscdk.AwsConstructLibrary` project type and should be used in place\nof that type.\n\n### Usage\n\nFrom the command line:\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-construct-lib\n```\n\nFrom inside `cdk-ops`:\n\n```ts\nthis.cdklabs.addPreApprovedRepo({\n repo: 'cdk-new-lib',\n owner: 'conroyka@amazon.com',\n createWith: {\n projectType: ProjectType.CDKLABS_MANAGED_CONSTRUCT_LIB,\n },\n});\n```\n\n### Features\n\n- `cdklabsPublishingDefaults`\n\nBy default, this is turned on. `cdklabsPublishingDefaults` provides publishing defaults based off\nof the project's name. Specifically, the defaults look like this:\n\n```ts\nreturn {\n publishToPypi: {\n distName: npmPackageName,\n module: changeDelimiter(npmPackageName, '_'),\n },\n publishToMaven: {\n javaPackage: `io.github.cdklabs.${changeDelimiter(npmPackageName, '.')}`,\n mavenGroupId: 'io.github.cdklabs',\n mavenArtifactId: npmPackageName,\n mavenEndpoint: 'https://s01.oss.sonatype.org',\n },\n publishToNuget: {\n dotNetNamespace: `Cdklabs${upperCaseName(npmPackageName)}`,\n packageId: `Cdklabs${upperCaseName(npmPackageName)}`,\n },\n publishToGo: {\n moduleName: `${npmPackageName}-go`,\n },\n};\n```\n\nAdditionally, we also require that we publish to all jsii language targets (including go) when\nwe specify a library as `stable`.\n\n- `private`\n\nBy default, a project is created as `private`. Turning this off simply means setting `private: false`.\nA project being `private` means it gets certain properties set as default that are true for private\nprojects. Today, that means setting `private: true` in `package.json`, removing `.mergify.yml` from\nthe project, and removing `.npmignore`.\n\n- `releasableCommits`\n\nBy default this project type releases `ReleasableCommits.featuresAndFixes`, to not release a new\nversion every day on a package that only sees devDependency updates. You may want to override this\nif you need something more specific.\n\n## CdklabsTypeScriptProject\n\nThis type extends projen's `typescript.TypeScriptProject` project type and should be used in place\nof that type.\n\n### Usage\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-ts-proj\n```\n\nFrom inside `cdk-ops`:\n\n```ts\nthis.cdklabs.addPreApprovedRepo({\n repo: 'cdk-new-lib',\n owner: 'conroyka@amazon.com',\n createWith: {\n projectType: ProjectType.CDKLABS_MANAGED_TS_PROJECT,\n },\n});\n```\n\n### Features\n\n- `private`\n\nBy default, a project is created as `private`. Turning this off simply means setting `private: false`.\nA project being `private` means it gets certain properties set as default that are true for private\nprojects. Today, that means setting `private: true` in `package.json`, removing `.mergify.yml` from\nthe project, and removing `.npmignore`.\n\n## CdklabsMonorepo\n\nA TypeScript monorepo using Yarn Workspaces.\nIndividual workspaces can be added with `yarn.TypeScriptWorkspace` which extends projen's `typescript.TypeScriptProject`.\n\n### Usage\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-yarn-monorepo\n```\n\n### Features\n\n```ts\nconst project = new yarn.CdkLabsMonorepo({\n defaultReleaseBranch: \"main\",\n devDeps: [\"cdklabs-projen-project-types\"],\n name: \"monorepo\",\n});\n```\n\n- Workspace commands: `projen build|compile|package|test|upgrade`\\\nWill run the specific command in all workspaces and the root if applicable.\n\n- Workspace run: `projen run <command>`\\\nExecutes the given command in all workspaces\n\n- Automatic dependency installation\\\nThe monorepo will know if a dependency has been added for a workspace and run `yarn install` as part of `projen`\n\n- `projen` at any level\\\nThe default `projen` command can be run in any workspace and will execute the monorepo synth command.\n\n- Release\\\nThis feature is not supported at this time.\nAny release functionality must be implemented.\n\n- `vscodeWorkspace: boolean`\\\nYou can
|
|
99
|
+
"markdown": "# Cdklabs Projen Project Types\n\nThis repository stores custom project types extended from `projen` with cdklabs defaults\nbaked in. This is meant to serve as a hook for continuous management of all repos we own.\nWith cdklabs projen types, we can add new configuration as they come up and have it\npropagate to all repositories using the type.\n\n## CdklabsConstructLibrary\n\nThis type extends projen's `awscdk.AwsConstructLibrary` project type and should be used in place\nof that type.\n\n### Usage\n\nFrom the command line:\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-construct-lib\n```\n\nFrom inside `cdk-ops`:\n\n```ts\nthis.cdklabs.addPreApprovedRepo({\n repo: 'cdk-new-lib',\n owner: 'conroyka@amazon.com',\n createWith: {\n projectType: ProjectType.CDKLABS_MANAGED_CONSTRUCT_LIB,\n },\n});\n```\n\n### Features\n\n- `cdklabsPublishingDefaults`\n\nBy default, this is turned on. `cdklabsPublishingDefaults` provides publishing defaults based off\nof the project's name. Specifically, the defaults look like this:\n\n```ts\nreturn {\n publishToPypi: {\n distName: npmPackageName,\n module: changeDelimiter(npmPackageName, '_'),\n },\n publishToMaven: {\n javaPackage: `io.github.cdklabs.${changeDelimiter(npmPackageName, '.')}`,\n mavenGroupId: 'io.github.cdklabs',\n mavenArtifactId: npmPackageName,\n mavenEndpoint: 'https://s01.oss.sonatype.org',\n },\n publishToNuget: {\n dotNetNamespace: `Cdklabs${upperCaseName(npmPackageName)}`,\n packageId: `Cdklabs${upperCaseName(npmPackageName)}`,\n },\n publishToGo: {\n moduleName: `${npmPackageName}-go`,\n },\n};\n```\n\nAdditionally, we also require that we publish to all jsii language targets (including go) when\nwe specify a library as `stable`.\n\n- `private`\n\nBy default, a project is created as `private`. Turning this off simply means setting `private: false`.\nA project being `private` means it gets certain properties set as default that are true for private\nprojects. Today, that means setting `private: true` in `package.json`, removing `.mergify.yml` from\nthe project, and removing `.npmignore`.\n\n- `releasableCommits`\n\nBy default this project type releases `ReleasableCommits.featuresAndFixes`, to not release a new\nversion every day on a package that only sees devDependency updates. You may want to override this\nif you need something more specific.\n\n## CdklabsTypeScriptProject\n\nThis type extends projen's `typescript.TypeScriptProject` project type and should be used in place\nof that type.\n\n### Usage\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-ts-proj\n```\n\nFrom inside `cdk-ops`:\n\n```ts\nthis.cdklabs.addPreApprovedRepo({\n repo: 'cdk-new-lib',\n owner: 'conroyka@amazon.com',\n createWith: {\n projectType: ProjectType.CDKLABS_MANAGED_TS_PROJECT,\n },\n});\n```\n\n### Features\n\n- `private`\n\nBy default, a project is created as `private`. Turning this off simply means setting `private: false`.\nA project being `private` means it gets certain properties set as default that are true for private\nprojects. Today, that means setting `private: true` in `package.json`, removing `.mergify.yml` from\nthe project, and removing `.npmignore`.\n\n## CdklabsMonorepo\n\nA TypeScript monorepo using Yarn Workspaces.\nIndividual workspaces can be added with `yarn.TypeScriptWorkspace` which extends projen's `typescript.TypeScriptProject`.\n\n### Usage\n\n```bash\nnpx projen new --from cdklabs-projen-project-types cdklabs-yarn-monorepo\n```\n\n### Features\n\n```ts\nconst project = new yarn.CdkLabsMonorepo({\n defaultReleaseBranch: \"main\",\n devDeps: [\"cdklabs-projen-project-types\"],\n name: \"monorepo\",\n});\n```\n\n- Workspace commands: `projen build|compile|package|test|upgrade`\\\nWill run the specific command in all workspaces and the root if applicable.\n\n- Workspace run: `projen run <command>`\\\nExecutes the given command in all workspaces\n\n- Automatic dependency installation\\\nThe monorepo will know if a dependency has been added for a workspace and run `yarn install` as part of `projen`\n\n- `projen` at any level\\\nThe default `projen` command can be run in any workspace and will execute the monorepo synth command.\n\n- Release\\\nThis feature is not supported at this time.\nAny release functionality must be implemented.\n\n- `vscodeWorkspace: boolean`\\\nYou can specify if a VSCode Workspace file should be created for the monorepo.\n\n#### Workspaces\n\n```ts\nnew yarn.TypeScriptWorkspace({\n parent: project,\n name: 'workspace'\n})\n```\n\n- `parent: yarn.Monorepo`\\\nWorkspaces (aka subprojects) must be added using the `parent` option.\n\n- `workspaceScope: string`\\\nThe location the workspace is placed at. Defaults to `./packages`\n\n- `excludeDepsFromUpgrade: Array<string>`\\\nList any dependencies that should not be updated in the workspace.\n"
|
|
75
100
|
},
|
|
76
101
|
"repository": {
|
|
77
102
|
"type": "git",
|
|
@@ -355,7 +380,7 @@
|
|
|
355
380
|
"immutable": true,
|
|
356
381
|
"locationInModule": {
|
|
357
382
|
"filename": "src/common-options.ts",
|
|
358
|
-
"line":
|
|
383
|
+
"line": 67
|
|
359
384
|
},
|
|
360
385
|
"name": "tenancy",
|
|
361
386
|
"optional": true,
|
|
@@ -380,6 +405,24 @@
|
|
|
380
405
|
"type": {
|
|
381
406
|
"primitive": "boolean"
|
|
382
407
|
}
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"abstract": true,
|
|
411
|
+
"docs": {
|
|
412
|
+
"default": "true",
|
|
413
|
+
"stability": "stable",
|
|
414
|
+
"summary": "Whether to have a separate workflow to upgrade runtime deps and mark this PR as fix."
|
|
415
|
+
},
|
|
416
|
+
"immutable": true,
|
|
417
|
+
"locationInModule": {
|
|
418
|
+
"filename": "src/common-options.ts",
|
|
419
|
+
"line": 60
|
|
420
|
+
},
|
|
421
|
+
"name": "upgradeRuntimeDepsAsFix",
|
|
422
|
+
"optional": true,
|
|
423
|
+
"type": {
|
|
424
|
+
"primitive": "boolean"
|
|
425
|
+
}
|
|
383
426
|
}
|
|
384
427
|
],
|
|
385
428
|
"symbolId": "src/common-options:CdkCommonOptions"
|
|
@@ -1321,7 +1364,7 @@
|
|
|
1321
1364
|
},
|
|
1322
1365
|
{
|
|
1323
1366
|
"docs": {
|
|
1324
|
-
"remarks": "1. Call \"this.preSynthesize()\"\n2. Delete all generated files\n3. Synthesize all
|
|
1367
|
+
"remarks": "1. Call \"this.preSynthesize()\"\n2. Delete all generated files\n3. Synthesize all subprojects\n4. Synthesize all components of this project\n5. Call \"postSynthesize()\" for all components of this project\n6. Call \"this.postSynthesize()\"",
|
|
1325
1368
|
"stability": "stable",
|
|
1326
1369
|
"summary": "Synthesize all project files into `outdir`."
|
|
1327
1370
|
},
|
|
@@ -2656,7 +2699,7 @@
|
|
|
2656
2699
|
"abstract": true,
|
|
2657
2700
|
"docs": {
|
|
2658
2701
|
"default": "\".\"",
|
|
2659
|
-
"remarks": "If this project has a parent, this directory is relative to the parent\ndirectory and it cannot be the same as the parent or any of it's other\
|
|
2702
|
+
"remarks": "If this project has a parent, this directory is relative to the parent\ndirectory and it cannot be the same as the parent or any of it's other\nsubprojects.",
|
|
2660
2703
|
"stability": "stable",
|
|
2661
2704
|
"summary": "The root directory of the project. Relative to this directory, all files are synthesized."
|
|
2662
2705
|
},
|
|
@@ -3868,6 +3911,23 @@
|
|
|
3868
3911
|
"kind": "array"
|
|
3869
3912
|
}
|
|
3870
3913
|
}
|
|
3914
|
+
},
|
|
3915
|
+
{
|
|
3916
|
+
"abstract": true,
|
|
3917
|
+
"docs": {
|
|
3918
|
+
"stability": "stable",
|
|
3919
|
+
"summary": "Github Runner Group selection options."
|
|
3920
|
+
},
|
|
3921
|
+
"immutable": true,
|
|
3922
|
+
"locationInModule": {
|
|
3923
|
+
"filename": "src/yarn/monorepo-options.ts",
|
|
3924
|
+
"line": 777
|
|
3925
|
+
},
|
|
3926
|
+
"name": "workflowRunsOnGroup",
|
|
3927
|
+
"optional": true,
|
|
3928
|
+
"type": {
|
|
3929
|
+
"fqn": "projen.GroupRunnerOptions"
|
|
3930
|
+
}
|
|
3871
3931
|
}
|
|
3872
3932
|
],
|
|
3873
3933
|
"symbolId": "src/yarn/monorepo-options:MonorepoOptions"
|
|
@@ -5343,7 +5403,7 @@
|
|
|
5343
5403
|
{
|
|
5344
5404
|
"abstract": true,
|
|
5345
5405
|
"docs": {
|
|
5346
|
-
"default": "NodePackageManager.
|
|
5406
|
+
"default": "NodePackageManager.YARN_CLASSIC",
|
|
5347
5407
|
"stability": "stable",
|
|
5348
5408
|
"summary": "The Node Package Manager used to execute scripts."
|
|
5349
5409
|
},
|
|
@@ -6531,6 +6591,23 @@
|
|
|
6531
6591
|
}
|
|
6532
6592
|
}
|
|
6533
6593
|
},
|
|
6594
|
+
{
|
|
6595
|
+
"abstract": true,
|
|
6596
|
+
"docs": {
|
|
6597
|
+
"stability": "stable",
|
|
6598
|
+
"summary": "Github Runner Group selection options."
|
|
6599
|
+
},
|
|
6600
|
+
"immutable": true,
|
|
6601
|
+
"locationInModule": {
|
|
6602
|
+
"filename": "src/yarn/typescript-workspace-options.ts",
|
|
6603
|
+
"line": 779
|
|
6604
|
+
},
|
|
6605
|
+
"name": "workflowRunsOnGroup",
|
|
6606
|
+
"optional": true,
|
|
6607
|
+
"type": {
|
|
6608
|
+
"fqn": "projen.GroupRunnerOptions"
|
|
6609
|
+
}
|
|
6610
|
+
},
|
|
6534
6611
|
{
|
|
6535
6612
|
"abstract": true,
|
|
6536
6613
|
"docs": {
|
|
@@ -6541,7 +6618,7 @@
|
|
|
6541
6618
|
"immutable": true,
|
|
6542
6619
|
"locationInModule": {
|
|
6543
6620
|
"filename": "src/yarn/typescript-workspace-options.ts",
|
|
6544
|
-
"line":
|
|
6621
|
+
"line": 784
|
|
6545
6622
|
},
|
|
6546
6623
|
"name": "workspaceScope",
|
|
6547
6624
|
"optional": true,
|
|
@@ -6553,6 +6630,6 @@
|
|
|
6553
6630
|
"symbolId": "src/yarn/typescript-workspace-options:TypeScriptWorkspaceOptions"
|
|
6554
6631
|
}
|
|
6555
6632
|
},
|
|
6556
|
-
"version": "0.1.
|
|
6557
|
-
"fingerprint": "
|
|
6633
|
+
"version": "0.1.165",
|
|
6634
|
+
"fingerprint": "iyPlxMoLx/0UkkPPydAwGDSuLdtzd5dcAVuA4+Rh/XY="
|
|
6558
6635
|
}
|
package/.projenrc.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ReleasableCommits, javascript } from 'projen';
|
|
2
1
|
import { generateYarnMonorepoOptions } from './projenrc/yarn-monorepo-options';
|
|
3
2
|
import { CdklabsJsiiProject } from './src';
|
|
4
3
|
|
|
@@ -17,20 +16,7 @@ const project = new CdklabsJsiiProject({
|
|
|
17
16
|
enablePRAutoMerge: true,
|
|
18
17
|
cdklabsPublishingDefaults: false,
|
|
19
18
|
upgradeCdklabsProjenProjectTypes: false, // that is this project!
|
|
20
|
-
depsUpgradeOptions: {
|
|
21
|
-
workflowOptions: {
|
|
22
|
-
schedule: javascript.UpgradeDependenciesSchedule.expressions(['0 18 * * *']),
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
19
|
setNodeEngineVersion: false,
|
|
26
|
-
autoApproveUpgrades: true,
|
|
27
|
-
autoApproveOptions: {
|
|
28
|
-
allowedUsernames: ['cdklabs-automation', 'dependabot[bot]'],
|
|
29
|
-
secret: 'GITHUB_TOKEN',
|
|
30
|
-
},
|
|
31
|
-
// Default is to release only features and fixes. If we don't do this, we'll
|
|
32
|
-
// release every day because of devDependency updates.
|
|
33
|
-
releasableCommits: ReleasableCommits.featuresAndFixes(),
|
|
34
20
|
});
|
|
35
21
|
|
|
36
22
|
generateYarnMonorepoOptions(project);
|