@firestartr/cli 2.11.0-snapshot-gh-pages-public-https-2 → 2.11.0-snapshot-objects-in-patches

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/build/index.js CHANGED
@@ -323011,7 +323011,20 @@ const external_node_child_process_namespaceObject = __WEBPACK_EXTERNAL_createReq
323011
323011
  type: 'boolean',
323012
323012
  },
323013
323013
  pages: {
323014
- $ref: 'firestartr.dev://github/GithubPages',
323014
+ type: 'object',
323015
+ properties: {
323016
+ cname: { type: 'string' },
323017
+ buildType: { type: 'string', enum: ['workflow', 'legacy'] },
323018
+ source: {
323019
+ type: 'object',
323020
+ properties: {
323021
+ branch: { type: 'string' },
323022
+ path: { type: 'string' },
323023
+ },
323024
+ additionalProperties: false,
323025
+ },
323026
+ },
323027
+ additionalProperties: false,
323015
323028
  },
323016
323029
  additionalRules: {
323017
323030
  type: 'array',
@@ -323448,42 +323461,6 @@ const organizationSettingsProperties = {
323448
323461
  },
323449
323462
  });
323450
323463
 
323451
- ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/pages.schema.ts
323452
-
323453
- /* harmony default export */ const pages_schema = ({
323454
- $schema: SCHEMA,
323455
- $id: 'GithubPages',
323456
- definitions: {
323457
- GithubPages: {
323458
- $id: 'firestartr.dev://github/GithubPages',
323459
- type: 'object',
323460
- description: 'GitHub Pages configuration shared across component and repository claims',
323461
- properties: {
323462
- cname: { type: 'string' },
323463
- public: { type: 'boolean' },
323464
- https_enforced: { type: 'boolean' },
323465
- buildType: { type: 'string', enum: ['workflow', 'legacy'] },
323466
- source: {
323467
- type: 'object',
323468
- properties: {
323469
- branch: { type: 'string' },
323470
- path: { type: 'string', enum: ['/', '/docs'] },
323471
- },
323472
- additionalProperties: false,
323473
- },
323474
- },
323475
- additionalProperties: false,
323476
- if: {
323477
- required: ['https_enforced'],
323478
- properties: { https_enforced: { const: true } },
323479
- },
323480
- then: {
323481
- required: ['cname'],
323482
- },
323483
- },
323484
- },
323485
- });
323486
-
323487
323464
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/github/index.ts
323488
323465
 
323489
323466
 
@@ -323493,7 +323470,6 @@ const organizationSettingsProperties = {
323493
323470
 
323494
323471
 
323495
323472
 
323496
-
323497
323473
  const GithubSchemas = [
323498
323474
  github_group_schema,
323499
323475
  github_user_schema,
@@ -323503,7 +323479,6 @@ const GithubSchemas = [
323503
323479
  github_orgsettings_schema,
323504
323480
  component_secrets_vars_schema,
323505
323481
  component_labels_schema,
323506
- pages_schema,
323507
323482
  ];
323508
323483
 
323509
323484
  ;// CONCATENATED MODULE: ../cdk8s_renderer/src/claims/tfworkspaces/terraform.schema.ts
@@ -328469,8 +328444,6 @@ function toJson_FirestartrGithubRepositorySpecPages(obj) {
328469
328444
  }
328470
328445
  const result = {
328471
328446
  'cname': obj.cname,
328472
- 'public': obj.public,
328473
- 'https_enforced': obj.httpsEnforced,
328474
328447
  'source': toJson_FirestartrGithubRepositorySpecPagesSource(obj.source),
328475
328448
  'buildType': obj.buildType,
328476
328449
  };
@@ -328797,17 +328770,6 @@ function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj) {
328797
328770
  // filter undefined values
328798
328771
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
328799
328772
  }
328800
- /* eslint-enable max-len, @stylistic/max-len, quote-props, @stylistic/quote-props */
328801
- /**
328802
- * @schema FirestartrGithubRepositorySpecPagesSourcePath
328803
- */
328804
- var FirestartrGithubRepositorySpecPagesSourcePath;
328805
- (function (FirestartrGithubRepositorySpecPagesSourcePath) {
328806
- /** / */
328807
- FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH"] = "/";
328808
- /** /docs */
328809
- FirestartrGithubRepositorySpecPagesSourcePath["VALUE_FORWARD_SLASH_DOCS"] = "/docs";
328810
- })(FirestartrGithubRepositorySpecPagesSourcePath || (FirestartrGithubRepositorySpecPagesSourcePath = {}));
328811
328773
  /**
328812
328774
  * Converts an object of type 'FirestartrGithubRepositorySpecVarsVariableItemSchemaRef' to JSON representation.
328813
328775
  */
@@ -330598,17 +330560,6 @@ class RepoSecretsSectionChart extends BaseGithubChart {
330598
330560
 
330599
330561
 
330600
330562
 
330601
- function normalizePages(pages) {
330602
- if (!pages)
330603
- return undefined;
330604
- return {
330605
- cname: pages.cname,
330606
- public: pages.public,
330607
- httpsEnforced: pages.https_enforced,
330608
- source: pages.source,
330609
- buildType: pages.buildType,
330610
- };
330611
- }
330612
330563
  class GithubRepositoryChart extends BaseGithubChart {
330613
330564
  template() {
330614
330565
  const claim = this.get('claim');
@@ -330657,7 +330608,7 @@ class GithubRepositoryChart extends BaseGithubChart {
330657
330608
  actions,
330658
330609
  permissions: this.createPermissions(claim),
330659
330610
  vars: this.createVars(claim),
330660
- pages: normalizePages(claim.providers.github.pages),
330611
+ pages: claim.providers.github.pages,
330661
330612
  branchProtections: [],
330662
330613
  writeConnectionSecretToRef: {
330663
330614
  name: `firestartrgithubrepository-${claim.name}-outputs`.toLowerCase(),
@@ -333488,27 +333439,33 @@ class RepoGithubDecanter extends GithubDecanter {
333488
333439
  }
333489
333440
  __decantPages() {
333490
333441
  if (this.data.pages) {
333491
- const pagesData = this.data.pages;
333492
- const pagesConfig = {
333493
- buildType: pagesData.build_type,
333494
- ...(typeof pagesData.cname === 'string' && pagesData.cname.length > 0
333495
- ? { cname: pagesData.cname }
333496
- : {}),
333497
- ...(typeof pagesData.public === 'boolean'
333498
- ? { public: pagesData.public }
333499
- : {}),
333500
- ...(typeof pagesData.https_enforced === 'boolean'
333501
- ? { https_enforced: pagesData.https_enforced }
333502
- : {}),
333503
- };
333504
- if (pagesData.build_type === 'legacy') {
333505
- pagesConfig.source = pagesData.source;
333442
+ if (this.data.pages.build_type === 'workflow') {
333443
+ this.__patchClaim({
333444
+ op: 'add',
333445
+ path: '/providers/github/pages',
333446
+ value: {
333447
+ buildType: 'workflow',
333448
+ ...(typeof this.data.pages.cname === 'string' &&
333449
+ this.data.pages.cname.length > 0
333450
+ ? { cname: this.data.pages.cname }
333451
+ : {}),
333452
+ },
333453
+ });
333454
+ }
333455
+ else if (this.data.pages.build_type === 'legacy') {
333456
+ this.__patchClaim({
333457
+ op: 'add',
333458
+ path: '/providers/github/pages',
333459
+ value: {
333460
+ buildType: 'legacy',
333461
+ ...(typeof this.data.pages.cname === 'string' &&
333462
+ this.data.pages.cname.length > 0
333463
+ ? { cname: this.data.pages.cname }
333464
+ : {}),
333465
+ source: this.data.pages.source,
333466
+ },
333467
+ });
333506
333468
  }
333507
- this.__patchClaim({
333508
- op: 'add',
333509
- path: '/providers/github/pages',
333510
- value: pagesConfig,
333511
- });
333512
333469
  }
333513
333470
  }
333514
333471
  __decantOIDC() {
@@ -343079,8 +343036,8 @@ const MODULES = {
343079
343036
  },
343080
343037
  FirestartrGithubRepository: {
343081
343038
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-repo',
343082
- // github-repo feat/1385: add public and https_enforced to pages
343083
- ref: '441b93d8a0d78f6088db096a852305f63a227eaa',
343039
+ // github-repo-v0.9.0
343040
+ ref: '76074c2817032b199962c380481617d99f78d9d7',
343084
343041
  },
343085
343042
  FirestartrGithubRepositoryFeature: {
343086
343043
  module: 'git::https://github.com/prefapp/tfm.git//modules/github-files-set',
@@ -343965,14 +343922,14 @@ class EntityGHRepo extends base_Entity {
343965
343922
  },
343966
343923
  });
343967
343924
  }
343968
- async validatePages(tfOp, repoAlreadyExists) {
343925
+ /**
343926
+ * Validation logic for GitHub Pages branch settings:
343927
+ * - On create: If pages branch is set, it must equal the default branch.
343928
+ * - On update: If pages branch is set and is not the default, it must exist in remote.
343929
+ */
343930
+ async validatePagesBranch(tfOp, repoAlreadyExists) {
343969
343931
  const pages = this.cr.spec.pages;
343970
- if (!pages)
343971
- return;
343972
- if (pages.https_enforced && !pages.cname) {
343973
- throw new Error(`[gh-provisioner] ${this.k8sId} https_enforced requires cname to be set in pages configuration`);
343974
- }
343975
- if (!pages.source || !pages.source.branch)
343932
+ if (!pages || !pages.source || !pages.source.branch)
343976
343933
  return;
343977
343934
  const branch = pages.source.branch;
343978
343935
  const defaultBranch = this.cr.spec.repo.defaultBranch;
@@ -343996,6 +343953,7 @@ class EntityGHRepo extends base_Entity {
343996
343953
  if (err && err.status === 404) {
343997
343954
  throw new Error(`Pages branch '${branch}' does not exist in the repository '${org}/${repo}'.`);
343998
343955
  }
343956
+ // Other errors propagate
343999
343957
  throw err;
344000
343958
  }
344001
343959
  }
@@ -344008,7 +343966,7 @@ class EntityGHRepo extends base_Entity {
344008
343966
  return await github["default"].repo.repoExists(this.cr.spec.org, this.cr.name);
344009
343967
  }));
344010
343968
  if (tfOp !== 'destroy' && tfOp !== 'plan-destroy') {
344011
- await this.validatePages(tfOp, repoAlreadyExists);
343969
+ await this.validatePagesBranch(tfOp, repoAlreadyExists);
344012
343970
  }
344013
343971
  await this.provisionRepository();
344014
343972
  this.provisionPages();
@@ -344155,9 +344113,6 @@ class EntityGHRepo extends base_Entity {
344155
344113
  if (this.cr.spec.pages) {
344156
344114
  const source = this.cr.spec.pages.source ?? {};
344157
344115
  const buildType = this.cr.spec.pages.buildType ?? 'legacy';
344158
- const cname = this.cr.spec.pages.cname;
344159
- const public_ = this.cr.spec.pages.public;
344160
- const httpsEnforced = this.cr.spec.pages.https_enforced;
344161
344116
  this.patchData({
344162
344117
  path: '/config/pages',
344163
344118
  op: PatchOperations.add,
@@ -344171,11 +344126,7 @@ class EntityGHRepo extends base_Entity {
344171
344126
  },
344172
344127
  }
344173
344128
  : {}),
344174
- ...(cname !== undefined ? { cname } : {}),
344175
- ...(public_ !== undefined ? { public: public_ } : {}),
344176
- ...(httpsEnforced !== undefined
344177
- ? { https_enforced: httpsEnforced }
344178
- : {}),
344129
+ cname: this.cr.spec.pages.cname,
344179
344130
  },
344180
344131
  });
344181
344132
  }
@@ -525669,7 +525620,7 @@ const crsStatusSubcommand = {
525669
525620
  };
525670
525621
 
525671
525622
  ;// CONCATENATED MODULE: ./package.json
525672
- const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-gh-pages-public-https-2"}');
525623
+ const package_namespaceObject = JSON.parse('{"i8":"2.11.0-snapshot-objects-in-patches"}');
525673
525624
  ;// CONCATENATED MODULE: ../../package.json
525674
525625
  const package_namespaceObject_1 = {"i8":"2.10.0"};
525675
525626
  // EXTERNAL MODULE: ../../node_modules/semver/index.js
@@ -1709,14 +1709,6 @@ export interface FirestartrGithubRepositorySpecPages {
1709
1709
  * @schema FirestartrGithubRepositorySpecPages#cname
1710
1710
  */
1711
1711
  readonly cname?: string;
1712
- /**
1713
- * @schema FirestartrGithubRepositorySpecPages#public
1714
- */
1715
- readonly public?: boolean;
1716
- /**
1717
- * @schema FirestartrGithubRepositorySpecPages#https_enforced
1718
- */
1719
- readonly httpsEnforced?: boolean;
1720
1712
  /**
1721
1713
  * @schema FirestartrGithubRepositorySpecPages#source
1722
1714
  */
@@ -1960,7 +1952,7 @@ export interface FirestartrGithubRepositorySpecPagesSource {
1960
1952
  /**
1961
1953
  * @schema FirestartrGithubRepositorySpecPagesSource#path
1962
1954
  */
1963
- readonly path?: FirestartrGithubRepositorySpecPagesSourcePath;
1955
+ readonly path?: string;
1964
1956
  }
1965
1957
  /**
1966
1958
  * Converts an object of type 'FirestartrGithubRepositorySpecPagesSource' to JSON representation.
@@ -2127,15 +2119,6 @@ export interface FirestartrGithubRepositorySpecContextProviderRef {
2127
2119
  * Converts an object of type 'FirestartrGithubRepositorySpecContextProviderRef' to JSON representation.
2128
2120
  */
2129
2121
  export declare function toJson_FirestartrGithubRepositorySpecContextProviderRef(obj: FirestartrGithubRepositorySpecContextProviderRef | undefined): Record<string, any> | undefined;
2130
- /**
2131
- * @schema FirestartrGithubRepositorySpecPagesSourcePath
2132
- */
2133
- export declare enum FirestartrGithubRepositorySpecPagesSourcePath {
2134
- /** / */
2135
- VALUE_FORWARD_SLASH = "/",
2136
- /** /docs */
2137
- VALUE_FORWARD_SLASH_DOCS = "/docs"
2138
- }
2139
2122
  /**
2140
2123
  * @schema FirestartrGithubRepositorySpecVarsVariableItemSchemaRef
2141
2124
  */
@@ -733,7 +733,29 @@ declare const schemas: {
733
733
  type: string;
734
734
  };
735
735
  pages: {
736
- $ref: string;
736
+ type: string;
737
+ properties: {
738
+ cname: {
739
+ type: string;
740
+ };
741
+ buildType: {
742
+ type: string;
743
+ enum: string[];
744
+ };
745
+ source: {
746
+ type: string;
747
+ properties: {
748
+ branch: {
749
+ type: string;
750
+ };
751
+ path: {
752
+ type: string;
753
+ };
754
+ };
755
+ additionalProperties: boolean;
756
+ };
757
+ };
758
+ additionalProperties: boolean;
737
759
  };
738
760
  additionalRules: {
739
761
  type: string;
@@ -1117,56 +1139,6 @@ declare const schemas: {
1117
1139
  additionalProperties: boolean;
1118
1140
  };
1119
1141
  };
1120
- } | {
1121
- $schema: string;
1122
- $id: string;
1123
- definitions: {
1124
- GithubPages: {
1125
- $id: string;
1126
- type: string;
1127
- description: string;
1128
- properties: {
1129
- cname: {
1130
- type: string;
1131
- };
1132
- public: {
1133
- type: string;
1134
- };
1135
- https_enforced: {
1136
- type: string;
1137
- };
1138
- buildType: {
1139
- type: string;
1140
- enum: string[];
1141
- };
1142
- source: {
1143
- type: string;
1144
- properties: {
1145
- branch: {
1146
- type: string;
1147
- };
1148
- path: {
1149
- type: string;
1150
- enum: string[];
1151
- };
1152
- };
1153
- additionalProperties: boolean;
1154
- };
1155
- };
1156
- additionalProperties: boolean;
1157
- if: {
1158
- required: string[];
1159
- properties: {
1160
- https_enforced: {
1161
- const: boolean;
1162
- };
1163
- };
1164
- };
1165
- then: {
1166
- required: string[];
1167
- };
1168
- };
1169
- };
1170
1142
  })[] | {
1171
1143
  $id: string;
1172
1144
  definitions: {
@@ -137,7 +137,29 @@ declare const _default: {
137
137
  type: string;
138
138
  };
139
139
  pages: {
140
- $ref: string;
140
+ type: string;
141
+ properties: {
142
+ cname: {
143
+ type: string;
144
+ };
145
+ buildType: {
146
+ type: string;
147
+ enum: string[];
148
+ };
149
+ source: {
150
+ type: string;
151
+ properties: {
152
+ branch: {
153
+ type: string;
154
+ };
155
+ path: {
156
+ type: string;
157
+ };
158
+ };
159
+ additionalProperties: boolean;
160
+ };
161
+ };
162
+ additionalProperties: boolean;
141
163
  };
142
164
  additionalRules: {
143
165
  type: string;
@@ -264,7 +264,29 @@ export declare const GithubSchemas: ({
264
264
  type: string;
265
265
  };
266
266
  pages: {
267
- $ref: string;
267
+ type: string;
268
+ properties: {
269
+ cname: {
270
+ type: string;
271
+ };
272
+ buildType: {
273
+ type: string;
274
+ enum: string[];
275
+ };
276
+ source: {
277
+ type: string;
278
+ properties: {
279
+ branch: {
280
+ type: string;
281
+ };
282
+ path: {
283
+ type: string;
284
+ };
285
+ };
286
+ additionalProperties: boolean;
287
+ };
288
+ };
289
+ additionalProperties: boolean;
268
290
  };
269
291
  additionalRules: {
270
292
  type: string;
@@ -648,54 +670,4 @@ export declare const GithubSchemas: ({
648
670
  additionalProperties: boolean;
649
671
  };
650
672
  };
651
- } | {
652
- $schema: string;
653
- $id: string;
654
- definitions: {
655
- GithubPages: {
656
- $id: string;
657
- type: string;
658
- description: string;
659
- properties: {
660
- cname: {
661
- type: string;
662
- };
663
- public: {
664
- type: string;
665
- };
666
- https_enforced: {
667
- type: string;
668
- };
669
- buildType: {
670
- type: string;
671
- enum: string[];
672
- };
673
- source: {
674
- type: string;
675
- properties: {
676
- branch: {
677
- type: string;
678
- };
679
- path: {
680
- type: string;
681
- enum: string[];
682
- };
683
- };
684
- additionalProperties: boolean;
685
- };
686
- };
687
- additionalProperties: boolean;
688
- if: {
689
- required: string[];
690
- properties: {
691
- https_enforced: {
692
- const: boolean;
693
- };
694
- };
695
- };
696
- then: {
697
- required: string[];
698
- };
699
- };
700
- };
701
673
  })[];
@@ -1,8 +1,7 @@
1
1
  import { BranchStrategy } from 'catalog_common';
2
- import { FirestartrGithubRepositorySpecRepoVisibility } from '../../../imports/firestartr.dev';
2
+ import { FirestartrGithubRepositorySpecPagesBuildType, FirestartrGithubRepositorySpecRepoVisibility } from '../../../imports/firestartr.dev';
3
3
  import { IClaimInstalledFeature } from '../base';
4
4
  import { IComponentClaim } from '../base/component';
5
- import { IRepositoryPage } from './pages';
6
5
  export interface IGithubRepositoryClaim extends IComponentClaim {
7
6
  providers: {
8
7
  github: {
@@ -50,6 +49,14 @@ interface IComponentClaimActions {
50
49
  includeClaimKeys: string[];
51
50
  };
52
51
  }
52
+ interface IRepositoryPage {
53
+ cname?: string;
54
+ source?: {
55
+ branch: string;
56
+ path: string;
57
+ };
58
+ buildType?: FirestartrGithubRepositorySpecPagesBuildType;
59
+ }
53
60
  interface IComponentClaimLabel {
54
61
  name: string;
55
62
  color: string;
@@ -2,7 +2,12 @@ import { Entity } from '../base';
2
2
  export declare class EntityGHRepo extends Entity {
3
3
  private escapeTerraformBranchName;
4
4
  constructor(artifact: any);
5
- private validatePages;
5
+ /**
6
+ * Validation logic for GitHub Pages branch settings:
7
+ * - On create: If pages branch is set, it must equal the default branch.
8
+ * - On update: If pages branch is set and is not the default, it must exist in remote.
9
+ */
10
+ private validatePagesBranch;
6
11
  loadResources(tfOp: string): Promise<void>;
7
12
  postProvision(tfOp: string): Promise<void>;
8
13
  loadAddressesToImport(): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "2.11.0-snapshot-gh-pages-public-https-2",
3
+ "version": "2.11.0-snapshot-objects-in-patches",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",
@@ -1,11 +0,0 @@
1
- import { FirestartrGithubRepositorySpecPagesBuildType, FirestartrGithubRepositorySpecPagesSourcePath } from '../../../imports/firestartr.dev';
2
- export interface IRepositoryPage {
3
- cname?: string;
4
- public?: boolean;
5
- https_enforced?: boolean;
6
- source?: {
7
- branch: string;
8
- path: FirestartrGithubRepositorySpecPagesSourcePath;
9
- };
10
- buildType?: FirestartrGithubRepositorySpecPagesBuildType;
11
- }
@@ -1,52 +0,0 @@
1
- declare const _default: {
2
- $schema: string;
3
- $id: string;
4
- definitions: {
5
- GithubPages: {
6
- $id: string;
7
- type: string;
8
- description: string;
9
- properties: {
10
- cname: {
11
- type: string;
12
- };
13
- public: {
14
- type: string;
15
- };
16
- https_enforced: {
17
- type: string;
18
- };
19
- buildType: {
20
- type: string;
21
- enum: string[];
22
- };
23
- source: {
24
- type: string;
25
- properties: {
26
- branch: {
27
- type: string;
28
- };
29
- path: {
30
- type: string;
31
- enum: string[];
32
- };
33
- };
34
- additionalProperties: boolean;
35
- };
36
- };
37
- additionalProperties: boolean;
38
- if: {
39
- required: string[];
40
- properties: {
41
- https_enforced: {
42
- const: boolean;
43
- };
44
- };
45
- };
46
- then: {
47
- required: string[];
48
- };
49
- };
50
- };
51
- };
52
- export default _default;