@catladder/pipeline 3.29.1 → 3.30.1

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.
Files changed (160) hide show
  1. package/dist/build/rails/index.js +2 -2
  2. package/dist/constants.js +1 -1
  3. package/dist/deploy/cloudRun/createJobs/execute/onDeploy.js +22 -14
  4. package/dist/deploy/types/executeBase.d.ts +24 -0
  5. package/dist/deploy/types/executeBase.js +5 -0
  6. package/dist/deploy/types/googleCloudRun.d.ts +5 -4
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/examples/__snapshots__/automatic-releases.test.ts.snap +1 -1
  9. package/examples/__snapshots__/cloud-run-execute-script-on-deploy.test.ts.snap +1618 -0
  10. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +1 -1
  11. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +1 -1
  12. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +1 -1
  13. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +1 -1
  14. package/examples/__snapshots__/cloud-run-llama.test.ts.snap +1 -1
  15. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +1 -1
  16. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +1 -1
  17. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +1 -1
  18. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +1 -1
  19. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +1 -1
  20. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +1 -1
  21. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +1 -1
  22. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +1 -1
  23. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +1 -1
  24. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +1 -1
  25. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +1 -1
  26. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +1 -1
  27. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +1 -1
  28. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +1 -1
  29. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +1 -1
  30. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +1 -1
  31. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +1 -1
  32. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +1 -1
  33. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +1 -1
  34. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +1 -1
  35. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +1 -1
  36. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +1 -1
  37. package/examples/__snapshots__/custom-build-job.test.ts.snap +1 -1
  38. package/examples/__snapshots__/custom-deploy.test.ts.snap +1 -1
  39. package/examples/__snapshots__/custom-envs.test.ts.snap +1 -1
  40. package/examples/__snapshots__/custom-sbom-java.test.ts.snap +1 -1
  41. package/examples/__snapshots__/custom-verify-job.test.ts.snap +1 -1
  42. package/examples/__snapshots__/git-submodule.test.ts.snap +1 -1
  43. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +1 -1
  44. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +1 -1
  45. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +1 -1
  46. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +1 -1
  47. package/examples/__snapshots__/local-dot-env.test.ts.snap +1 -1
  48. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +1 -1
  49. package/examples/__snapshots__/modify-generated-files.test.ts.snap +1 -1
  50. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +1 -1
  51. package/examples/__snapshots__/multiline-var.test.ts.snap +1 -1
  52. package/examples/__snapshots__/native-app.test.ts.snap +1 -1
  53. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +1 -1
  54. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +1 -1
  55. package/examples/__snapshots__/override-secrets.test.ts.snap +1 -1
  56. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +1 -1
  57. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +1 -1
  58. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +1 -1
  59. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +1 -1
  60. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +1 -1
  61. package/examples/__snapshots__/workspace-api-www.test.ts.snap +1 -1
  62. package/examples/automatic-releases.test.ts +1 -0
  63. package/examples/cloud-run-execute-script-on-deploy.test.ts +12 -0
  64. package/examples/cloud-run-execute-script-on-deploy.ts +47 -0
  65. package/examples/cloud-run-health-check-defaults.test.ts +1 -0
  66. package/examples/cloud-run-health-check-only-startup.test.ts +1 -0
  67. package/examples/cloud-run-health-check.test.ts +1 -0
  68. package/examples/cloud-run-http2.test.ts +1 -0
  69. package/examples/cloud-run-llama.test.ts +1 -0
  70. package/examples/cloud-run-memory-limit.test.ts +1 -0
  71. package/examples/cloud-run-meteor-with-worker.test.ts +1 -0
  72. package/examples/cloud-run-nextjs.test.ts +1 -0
  73. package/examples/cloud-run-no-cpu-throttling.test.ts +1 -0
  74. package/examples/cloud-run-no-service.test.ts +1 -0
  75. package/examples/cloud-run-non-public.test.ts +1 -0
  76. package/examples/cloud-run-post-stop-job.test.ts +1 -0
  77. package/examples/cloud-run-service-custom-vpc-connector.test.ts +1 -0
  78. package/examples/cloud-run-service-custom-vpc.test.ts +1 -0
  79. package/examples/cloud-run-service-gen2.test.ts +1 -0
  80. package/examples/cloud-run-service-increase-timout.test.ts +1 -0
  81. package/examples/cloud-run-service-with-volumes.test.ts +1 -0
  82. package/examples/cloud-run-storybook.test.ts +1 -0
  83. package/examples/cloud-run-with-agents.test.ts +1 -0
  84. package/examples/cloud-run-with-gpu.test.ts +1 -0
  85. package/examples/cloud-run-with-ngnix.test.ts +1 -0
  86. package/examples/cloud-run-with-sql-legacy-jobs.test.ts +1 -0
  87. package/examples/cloud-run-with-sql-multiple-dbs.test.ts +1 -0
  88. package/examples/cloud-run-with-sql-reuse-db.test.ts +1 -0
  89. package/examples/cloud-run-with-sql.test.ts +1 -0
  90. package/examples/cloud-run-with-worker.test.ts +1 -0
  91. package/examples/custom-build-job-with-tests.test.ts +1 -0
  92. package/examples/custom-build-job.test.ts +1 -0
  93. package/examples/custom-deploy.test.ts +1 -0
  94. package/examples/custom-envs.test.ts +1 -0
  95. package/examples/custom-sbom-java.test.ts +1 -0
  96. package/examples/custom-verify-job.test.ts +1 -0
  97. package/examples/git-submodule.test.ts +1 -0
  98. package/examples/kubernetes-application-customization.test.ts +1 -0
  99. package/examples/kubernetes-with-cloud-sql.test.ts +1 -0
  100. package/examples/kubernetes-with-jobs.test.ts +1 -0
  101. package/examples/kubernetes-with-mongodb.test.ts +1 -0
  102. package/examples/local-dot-env.test.ts +1 -0
  103. package/examples/meteor-kubernetes.test.ts +1 -0
  104. package/examples/modify-generated-files.test.ts +1 -0
  105. package/examples/modify-generated-yaml.test.ts +1 -0
  106. package/examples/multiline-var.test.ts +1 -0
  107. package/examples/native-app.test.ts +1 -0
  108. package/examples/node-build-with-custom-image.test.ts +1 -0
  109. package/examples/node-build-with-docker-additions.test.ts +1 -0
  110. package/examples/override-secrets.test.ts +1 -0
  111. package/examples/rails-k8s-with-worker.test.ts +1 -0
  112. package/examples/referencing-other-vars.test.ts +1 -0
  113. package/examples/wait-for-other-deploy.test.ts +1 -0
  114. package/examples/workspace-api-www-turbo-cache.test.ts +1 -0
  115. package/examples/workspace-api-www.test.ts +1 -0
  116. package/package.json +1 -3
  117. package/scripts/generate-examples-test.ts +1 -0
  118. package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +4 -4
  119. package/src/build/base/__tests__/createArtifactsConfig.test.ts +1 -0
  120. package/src/build/custom/__tests__/testJob.test.ts +1 -0
  121. package/src/build/rails/index.ts +1 -1
  122. package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +4 -4
  123. package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +2 -2
  124. package/src/config/__tests__/configruedEnvs.test.ts +1 -0
  125. package/src/config/__tests__/getAllEnvs.test.ts +1 -0
  126. package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +1 -0
  127. package/src/deploy/cloudRun/createJobs/execute/onDeploy.ts +31 -24
  128. package/src/deploy/types/base.ts +1 -0
  129. package/src/deploy/types/executeBase.ts +27 -0
  130. package/src/deploy/types/googleCloudRun.ts +8 -2
  131. package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +2 -2
  132. package/src/pipeline/__tests__/getPipelineStages.test.ts +1 -0
  133. package/src/variables/__tests__/resolveAllReferences.test.ts +1 -0
  134. package/src/variables/__tests__/resolveAllReferencesOnce.test.ts +1 -0
  135. package/src/variables/__tests__/resolveReferencesOnce.test.ts +1 -0
  136. package/src/variables/__tests__/variableValue.test.ts +1 -0
  137. package/tsconfig.json +2 -1
  138. package/dist/build/base/__tests__/createArtifactsConfig.test.d.ts +0 -1
  139. package/dist/build/base/__tests__/createArtifactsConfig.test.js +0 -42
  140. package/dist/build/custom/__tests__/testJob.test.d.ts +0 -1
  141. package/dist/build/custom/__tests__/testJob.test.js +0 -36
  142. package/dist/config/__tests__/configruedEnvs.test.d.ts +0 -1
  143. package/dist/config/__tests__/configruedEnvs.test.js +0 -112
  144. package/dist/config/__tests__/getAllEnvs.test.d.ts +0 -1
  145. package/dist/config/__tests__/getAllEnvs.test.js +0 -79
  146. package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +0 -1
  147. package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +0 -73
  148. package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +0 -1
  149. package/dist/pipeline/__tests__/getPipelineStages.test.js +0 -73
  150. package/dist/variables/__tests__/resolveAllReferences.test.d.ts +0 -1
  151. package/dist/variables/__tests__/resolveAllReferences.test.js +0 -218
  152. package/dist/variables/__tests__/resolveAllReferencesOnce.test.d.ts +0 -1
  153. package/dist/variables/__tests__/resolveAllReferencesOnce.test.js +0 -171
  154. package/dist/variables/__tests__/resolveReferencesOnce.test.d.ts +0 -1
  155. package/dist/variables/__tests__/resolveReferencesOnce.test.js +0 -199
  156. package/dist/variables/__tests__/variableValue.test.d.ts +0 -1
  157. package/dist/variables/__tests__/variableValue.test.js +0 -36
  158. /package/dist/build/rails/{test.d.ts → testJob.d.ts} +0 -0
  159. /package/dist/build/rails/{test.js → testJob.js} +0 -0
  160. /package/src/build/rails/{test.ts → testJob.ts} +0 -0
@@ -1,112 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var __1 = require("..");
7
- describe("getAllEnvsByTrigger", function () {
8
- var cluster = {
9
- type: "gcloud",
10
- name: "mega-cluster",
11
- projectId: "super-google-project",
12
- region: "ch-blabla"
13
- };
14
- var SIMPLE_CONFIG = {
15
- appName: "my-app",
16
- customerName: "pan",
17
- components: {
18
- app1: {
19
- dir: "dir1",
20
- build: {
21
- type: "node"
22
- },
23
- deploy: {
24
- type: "kubernetes",
25
- cluster: cluster
26
- }
27
- },
28
- app2: {
29
- dir: "dir2",
30
- build: {
31
- type: "node"
32
- },
33
- deploy: {
34
- type: "kubernetes",
35
- cluster: cluster
36
- },
37
- env: {
38
- dev2: {
39
- type: "dev"
40
- },
41
- review2: {
42
- type: "review"
43
- },
44
- stage2: {
45
- type: "stage"
46
- },
47
- prod2: {
48
- type: "prod"
49
- }
50
- }
51
- },
52
- app3: {
53
- dir: "dir2",
54
- build: {
55
- type: "node"
56
- },
57
- deploy: {
58
- type: "kubernetes",
59
- cluster: cluster
60
- },
61
- env: {
62
- dev: false,
63
- review: false,
64
- stage: false,
65
- prod: false
66
- }
67
- }
68
- }
69
- };
70
- describe("mainBranch", function () {
71
- it("always includes dev if not disabled", function () {
72
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app1", "mainBranch");
73
- expect(envs).toEqual(["dev"]);
74
- });
75
- it("returns additional dev environments", function () {
76
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app2", "mainBranch");
77
- expect(envs).toEqual(["dev", "dev2"]);
78
- });
79
- it("does not include disabled envs", function () {
80
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app3", "mainBranch");
81
- expect(envs).toEqual([]);
82
- });
83
- });
84
- describe("mr", function () {
85
- it("always includes review if not disabled", function () {
86
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app1", "mr");
87
- expect(envs).toEqual(["review"]);
88
- });
89
- it("returns additional dev environments", function () {
90
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app2", "mr");
91
- expect(envs).toEqual(["review", "review2"]);
92
- });
93
- it("does not include disabled envs", function () {
94
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app3", "mr");
95
- expect(envs).toEqual([]);
96
- });
97
- });
98
- describe("taggedRelease", function () {
99
- it("always includes review if not disabled", function () {
100
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app1", "taggedRelease");
101
- expect(envs).toEqual(["stage", "prod"]);
102
- });
103
- it("returns additional dev environments", function () {
104
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app2", "taggedRelease");
105
- expect(envs).toEqual(["stage", "prod", "stage2", "prod2"]);
106
- });
107
- it("does not include disabled envs", function () {
108
- var envs = (0, __1.getAllEnvsByTrigger)(SIMPLE_CONFIG, "app3", "taggedRelease");
109
- expect(envs).toEqual([]);
110
- });
111
- });
112
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var configruedEnvs_1 = require("../configruedEnvs");
7
- describe("getAllEnvs()", function () {
8
- var cluster = {
9
- type: "gcloud",
10
- name: "mega-cluster",
11
- projectId: "super-google-project",
12
- region: "ch-blabla"
13
- };
14
- var SIMPLE_CONFIG = {
15
- appName: "my-app",
16
- customerName: "pan",
17
- components: {
18
- app1: {
19
- dir: "dir1",
20
- build: {
21
- type: "node"
22
- },
23
- deploy: {
24
- type: "kubernetes",
25
- cluster: cluster
26
- }
27
- },
28
- app2: {
29
- dir: "dir2",
30
- build: {
31
- type: "node"
32
- },
33
- deploy: {
34
- type: "kubernetes",
35
- cluster: cluster
36
- },
37
- env: {
38
- dev2: {
39
- type: "dev"
40
- },
41
- review2: {
42
- type: "review"
43
- },
44
- stage2: {
45
- type: "stage"
46
- },
47
- prod2: {
48
- type: "prod"
49
- }
50
- }
51
- },
52
- app3: {
53
- dir: "dir2",
54
- build: {
55
- type: "node"
56
- },
57
- deploy: {
58
- type: "kubernetes",
59
- cluster: cluster
60
- },
61
- env: {
62
- dev: false,
63
- review: false,
64
- stage: false,
65
- prod: false
66
- }
67
- }
68
- }
69
- };
70
- it("should return all envs for app1", function () {
71
- expect((0, configruedEnvs_1.getAllEnvs)(SIMPLE_CONFIG, "app1")).toMatchSnapshot();
72
- });
73
- it("should return all envs for app2", function () {
74
- expect((0, configruedEnvs_1.getAllEnvs)(SIMPLE_CONFIG, "app2")).toMatchSnapshot();
75
- });
76
- it("should return all envs for app3", function () {
77
- expect((0, configruedEnvs_1.getAllEnvs)(SIMPLE_CONFIG, "app3")).toMatchSnapshot();
78
- });
79
- });
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var configruedEnvs_1 = require("../configruedEnvs");
7
- describe("getAllEnvsInAllComponents()", function () {
8
- var cluster = {
9
- type: "gcloud",
10
- name: "mega-cluster",
11
- projectId: "super-google-project",
12
- region: "ch-blabla"
13
- };
14
- var SIMPLE_CONFIG1 = {
15
- appName: "my-app",
16
- customerName: "pan",
17
- components: {
18
- app1: {
19
- dir: "dir1",
20
- build: {
21
- type: "node"
22
- },
23
- deploy: {
24
- type: "kubernetes",
25
- cluster: cluster
26
- }
27
- },
28
- app2: {
29
- dir: "dir2",
30
- build: {
31
- type: "node"
32
- },
33
- deploy: {
34
- type: "kubernetes",
35
- cluster: cluster
36
- },
37
- env: {
38
- dev2: {
39
- type: "dev"
40
- },
41
- review2: {
42
- type: "review"
43
- },
44
- stage2: {
45
- type: "stage"
46
- },
47
- prod2: {
48
- type: "prod"
49
- }
50
- }
51
- },
52
- app3: {
53
- dir: "dir2",
54
- build: {
55
- type: "node"
56
- },
57
- deploy: {
58
- type: "kubernetes",
59
- cluster: cluster
60
- },
61
- env: {
62
- dev: false,
63
- review: false,
64
- stage: false,
65
- prod: false
66
- }
67
- }
68
- }
69
- };
70
- it("should return all envs for SIMPLE_CONFIG1", function () {
71
- expect((0, configruedEnvs_1.getAllEnvsInAllComponents)(SIMPLE_CONFIG1)).toMatchSnapshot();
72
- });
73
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var getPipelineStages_1 = require("../getPipelineStages");
7
- describe("getPipelineStages()", function () {
8
- var cluster = {
9
- type: "gcloud",
10
- name: "mega-cluster",
11
- projectId: "super-google-project",
12
- region: "ch-blabla"
13
- };
14
- var SIMPLE_CONFIG1 = {
15
- appName: "my-app",
16
- customerName: "pan",
17
- components: {
18
- app1: {
19
- dir: "dir1",
20
- build: {
21
- type: "node"
22
- },
23
- deploy: {
24
- type: "kubernetes",
25
- cluster: cluster
26
- }
27
- },
28
- app2: {
29
- dir: "dir2",
30
- build: {
31
- type: "node"
32
- },
33
- deploy: {
34
- type: "kubernetes",
35
- cluster: cluster
36
- },
37
- env: {
38
- dev2: {
39
- type: "dev"
40
- },
41
- review2: {
42
- type: "review"
43
- },
44
- stage2: {
45
- type: "stage"
46
- },
47
- prod2: {
48
- type: "prod"
49
- }
50
- }
51
- },
52
- app3: {
53
- dir: "dir2",
54
- build: {
55
- type: "node"
56
- },
57
- deploy: {
58
- type: "kubernetes",
59
- cluster: cluster
60
- },
61
- env: {
62
- dev: false,
63
- review: false,
64
- stage: false,
65
- prod: false
66
- }
67
- }
68
- }
69
- };
70
- it("should return all envs for SIMPLE_CONFIG1", function () {
71
- expect((0, getPipelineStages_1.getPipelineStages)(SIMPLE_CONFIG1)).toMatchSnapshot();
72
- });
73
- });
@@ -1,218 +0,0 @@
1
- "use strict";
2
-
3
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) {
5
- return value instanceof P ? value : new P(function (resolve) {
6
- resolve(value);
7
- });
8
- }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) {
11
- try {
12
- step(generator.next(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- }
17
- function rejected(value) {
18
- try {
19
- step(generator["throw"](value));
20
- } catch (e) {
21
- reject(e);
22
- }
23
- }
24
- function step(result) {
25
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
26
- }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = this && this.__generator || function (thisArg, body) {
31
- var _ = {
32
- label: 0,
33
- sent: function () {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
39
- },
40
- f,
41
- y,
42
- t,
43
- g;
44
- return g = {
45
- next: verb(0),
46
- "throw": verb(1),
47
- "return": verb(2)
48
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
49
- return this;
50
- }), g;
51
- function verb(n) {
52
- return function (v) {
53
- return step([n, v]);
54
- };
55
- }
56
- function step(op) {
57
- if (f) throw new TypeError("Generator is already executing.");
58
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
59
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
60
- if (y = 0, t) op = [op[0] & 2, t.value];
61
- switch (op[0]) {
62
- case 0:
63
- case 1:
64
- t = op;
65
- break;
66
- case 4:
67
- _.label++;
68
- return {
69
- value: op[1],
70
- done: false
71
- };
72
- case 5:
73
- _.label++;
74
- y = op[1];
75
- op = [0];
76
- continue;
77
- case 7:
78
- op = _.ops.pop();
79
- _.trys.pop();
80
- continue;
81
- default:
82
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
83
- _ = 0;
84
- continue;
85
- }
86
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
87
- _.label = op[1];
88
- break;
89
- }
90
- if (op[0] === 6 && _.label < t[1]) {
91
- _.label = t[1];
92
- t = op;
93
- break;
94
- }
95
- if (t && _.label < t[2]) {
96
- _.label = t[2];
97
- _.ops.push(op);
98
- break;
99
- }
100
- if (t[2]) _.ops.pop();
101
- _.trys.pop();
102
- continue;
103
- }
104
- op = body.call(thisArg, _);
105
- } catch (e) {
106
- op = [6, e];
107
- y = 0;
108
- } finally {
109
- f = t = 0;
110
- }
111
- if (op[0] & 5) throw op[1];
112
- return {
113
- value: op[0] ? op[1] : void 0,
114
- done: true
115
- };
116
- }
117
- };
118
- Object.defineProperty(exports, "__esModule", {
119
- value: true
120
- });
121
- var VariableValueContainingReferences_1 = require("../VariableValueContainingReferences");
122
- var resolveAllReferences_1 = require("../resolveAllReferences");
123
- describe("replaceAllReferences", function () {
124
- it("should replace all references recursivly", function () {
125
- return __awaiter(void 0, void 0, void 0, function () {
126
- var values, getEnvVars, result;
127
- return __generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0:
130
- values = {
131
- myVar: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("the 2nd component has ${component2:variable1} and self reference ${variable2}", {
132
- componentName: "component1"
133
- }),
134
- myOtherVar: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("the third component has ${component3:variable1}, isn't that cool?", {
135
- componentName: "component1"
136
- }),
137
- myThirdVar: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("value from component3: ${component3:variable3}", {
138
- componentName: "component1"
139
- })
140
- };
141
- getEnvVars = function (componentName) {
142
- return __awaiter(void 0, void 0, void 0, function () {
143
- return __generator(this, function (_a) {
144
- return [2 /*return*/, {
145
- variable1: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am variable1 from ".concat(componentName), {
146
- componentName: componentName
147
- }),
148
- variable2: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("foo from ".concat(componentName), {
149
- componentName: componentName
150
- }),
151
- variable3: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am referencing ${component1:variable1}", {
152
- componentName: componentName
153
- })
154
- }];
155
- });
156
- });
157
- };
158
- return [4 /*yield*/, (0, resolveAllReferences_1.resolveAllReferences)(values, getEnvVars)];
159
- case 1:
160
- result = _a.sent();
161
- expect(result).toEqual({
162
- myVar: new VariableValueContainingReferences_1.VariableValueContainingReferences(["the 2nd component has ", "i am variable1 from component2", " and self reference ", "foo from component1"]),
163
- myOtherVar: new VariableValueContainingReferences_1.VariableValueContainingReferences(["the third component has ", "i am variable1 from component3", ", isn't that cool?"]),
164
- myThirdVar: new VariableValueContainingReferences_1.VariableValueContainingReferences(["value from component3: ", "i am referencing ", "i am variable1 from component1"])
165
- });
166
- return [2 /*return*/];
167
- }
168
- });
169
- });
170
- });
171
- it("detects infinte loop", function () {
172
- return __awaiter(void 0, void 0, void 0, function () {
173
- var values, getEnvVars;
174
- return __generator(this, function (_a) {
175
- switch (_a.label) {
176
- case 0:
177
- values = {
178
- myVar: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am referencing ${component2:variable1}", {
179
- componentName: "component1"
180
- })
181
- };
182
- getEnvVars = function (componentName) {
183
- return __awaiter(void 0, void 0, void 0, function () {
184
- return __generator(this, function (_a) {
185
- if (componentName === "component2") {
186
- return [2 /*return*/, {
187
- variable1: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am referencing ${component3:variable1}", {
188
- componentName: componentName
189
- })
190
- }];
191
- } else if (componentName === "component3") {
192
- return [2 /*return*/, {
193
- variable1: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am referencing ${component1:variable1}", {
194
- componentName: componentName
195
- })
196
- }];
197
- } else {
198
- return [2 /*return*/, {
199
- variable1: (0, VariableValueContainingReferences_1.createVariableValueContainingReferencesFromString)("i am referencing ${component2:variable1}", {
200
- componentName: componentName
201
- })
202
- }];
203
- }
204
- return [2 /*return*/];
205
- });
206
- });
207
- };
208
- // expect to throw an error
209
- return [4 /*yield*/, expect((0, resolveAllReferences_1.resolveAllReferences)(values, getEnvVars)).rejects.toThrow("Infinite loop detected in these variables: myVar (last reference: ${component1:variable1})")];
210
- case 1:
211
- // expect to throw an error
212
- _a.sent();
213
- return [2 /*return*/];
214
- }
215
- });
216
- });
217
- });
218
- });