@stamhoofd/build-development-env 2.86.0

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 (166) hide show
  1. package/LICENSE +665 -0
  2. package/README.md +3 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +5 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/Service.d.ts +6 -0
  8. package/dist/src/Service.d.ts.map +1 -0
  9. package/dist/src/Service.js +3 -0
  10. package/dist/src/Service.js.map +1 -0
  11. package/dist/src/build.d.ts +9 -0
  12. package/dist/src/build.d.ts.map +1 -0
  13. package/dist/src/build.js +128 -0
  14. package/dist/src/build.js.map +1 -0
  15. package/dist/src/buildPresets.d.ts +8 -0
  16. package/dist/src/buildPresets.d.ts.map +1 -0
  17. package/dist/src/buildPresets.js +100 -0
  18. package/dist/src/buildPresets.js.map +1 -0
  19. package/dist/src/helpers/1password.d.ts +8 -0
  20. package/dist/src/helpers/1password.d.ts.map +1 -0
  21. package/dist/src/helpers/1password.js +33 -0
  22. package/dist/src/helpers/1password.js.map +1 -0
  23. package/dist/src/helpers/cache.d.ts +9 -0
  24. package/dist/src/helpers/cache.d.ts.map +1 -0
  25. package/dist/src/helpers/cache.js +144 -0
  26. package/dist/src/helpers/cache.js.map +1 -0
  27. package/dist/src/helpers/project-path.d.ts +5 -0
  28. package/dist/src/helpers/project-path.d.ts.map +1 -0
  29. package/dist/src/helpers/project-path.js +35 -0
  30. package/dist/src/helpers/project-path.js.map +1 -0
  31. package/dist/src/init.d.ts +2 -0
  32. package/dist/src/init.d.ts.map +1 -0
  33. package/dist/src/init.js +41 -0
  34. package/dist/src/init.js.map +1 -0
  35. package/dist/src/presets/internal.d.ts +5 -0
  36. package/dist/src/presets/internal.d.ts.map +1 -0
  37. package/dist/src/presets/internal.js +38 -0
  38. package/dist/src/presets/internal.js.map +1 -0
  39. package/dist/src/presets/keeo.d.ts +3 -0
  40. package/dist/src/presets/keeo.d.ts.map +1 -0
  41. package/dist/src/presets/keeo.js +36 -0
  42. package/dist/src/presets/keeo.js.map +1 -0
  43. package/dist/src/presets/platform.d.ts +2 -0
  44. package/dist/src/presets/platform.d.ts.map +1 -0
  45. package/dist/src/presets/platform.js +10 -0
  46. package/dist/src/presets/platform.js.map +1 -0
  47. package/dist/src/presets/ports-primary.d.ts +3 -0
  48. package/dist/src/presets/ports-primary.d.ts.map +1 -0
  49. package/dist/src/presets/ports-primary.js +53 -0
  50. package/dist/src/presets/ports-primary.js.map +1 -0
  51. package/dist/src/presets/ports-secundary.d.ts +3 -0
  52. package/dist/src/presets/ports-secundary.d.ts.map +1 -0
  53. package/dist/src/presets/ports-secundary.js +16 -0
  54. package/dist/src/presets/ports-secundary.js.map +1 -0
  55. package/dist/src/presets/ravot.d.ts +3 -0
  56. package/dist/src/presets/ravot.d.ts.map +1 -0
  57. package/dist/src/presets/ravot.js +35 -0
  58. package/dist/src/presets/ravot.js.map +1 -0
  59. package/dist/src/presets/services/caddy.d.ts +3 -0
  60. package/dist/src/presets/services/caddy.d.ts.map +1 -0
  61. package/dist/src/presets/services/caddy.js +253 -0
  62. package/dist/src/presets/services/caddy.js.map +1 -0
  63. package/dist/src/presets/services/coredns.d.ts +3 -0
  64. package/dist/src/presets/services/coredns.d.ts.map +1 -0
  65. package/dist/src/presets/services/coredns.js +13 -0
  66. package/dist/src/presets/services/coredns.js.map +1 -0
  67. package/dist/src/presets/services/frontend-type-checking.d.ts +3 -0
  68. package/dist/src/presets/services/frontend-type-checking.d.ts.map +1 -0
  69. package/dist/src/presets/services/frontend-type-checking.js +13 -0
  70. package/dist/src/presets/services/frontend-type-checking.js.map +1 -0
  71. package/dist/src/presets/services/maildev.d.ts +5 -0
  72. package/dist/src/presets/services/maildev.d.ts.map +1 -0
  73. package/dist/src/presets/services/maildev.js +28 -0
  74. package/dist/src/presets/services/maildev.js.map +1 -0
  75. package/dist/src/presets/services/stripe.d.ts +11 -0
  76. package/dist/src/presets/services/stripe.d.ts.map +1 -0
  77. package/dist/src/presets/services/stripe.js +51 -0
  78. package/dist/src/presets/services/stripe.js.map +1 -0
  79. package/dist/src/presets/stamhoofd.d.ts +3 -0
  80. package/dist/src/presets/stamhoofd.d.ts.map +1 -0
  81. package/dist/src/presets/stamhoofd.js +43 -0
  82. package/dist/src/presets/stamhoofd.js.map +1 -0
  83. package/dist/tsconfig.tsbuildinfo +1 -0
  84. package/esm/dist/index.d.ts +2 -0
  85. package/esm/dist/index.d.ts.map +1 -0
  86. package/esm/dist/index.js +2 -0
  87. package/esm/dist/index.js.map +1 -0
  88. package/esm/dist/src/Service.d.ts +6 -0
  89. package/esm/dist/src/Service.d.ts.map +1 -0
  90. package/esm/dist/src/Service.js +2 -0
  91. package/esm/dist/src/Service.js.map +1 -0
  92. package/esm/dist/src/build.d.ts +9 -0
  93. package/esm/dist/src/build.d.ts.map +1 -0
  94. package/esm/dist/src/build.js +122 -0
  95. package/esm/dist/src/build.js.map +1 -0
  96. package/esm/dist/src/buildPresets.d.ts +8 -0
  97. package/esm/dist/src/buildPresets.d.ts.map +1 -0
  98. package/esm/dist/src/buildPresets.js +74 -0
  99. package/esm/dist/src/buildPresets.js.map +1 -0
  100. package/esm/dist/src/helpers/1password.d.ts +8 -0
  101. package/esm/dist/src/helpers/1password.d.ts.map +1 -0
  102. package/esm/dist/src/helpers/1password.js +28 -0
  103. package/esm/dist/src/helpers/1password.js.map +1 -0
  104. package/esm/dist/src/helpers/cache.d.ts +9 -0
  105. package/esm/dist/src/helpers/cache.d.ts.map +1 -0
  106. package/esm/dist/src/helpers/cache.js +139 -0
  107. package/esm/dist/src/helpers/cache.js.map +1 -0
  108. package/esm/dist/src/helpers/project-path.d.ts +5 -0
  109. package/esm/dist/src/helpers/project-path.d.ts.map +1 -0
  110. package/esm/dist/src/helpers/project-path.js +31 -0
  111. package/esm/dist/src/helpers/project-path.js.map +1 -0
  112. package/esm/dist/src/init.d.ts +2 -0
  113. package/esm/dist/src/init.d.ts.map +1 -0
  114. package/esm/dist/src/init.js +38 -0
  115. package/esm/dist/src/init.js.map +1 -0
  116. package/esm/dist/src/presets/internal.d.ts +5 -0
  117. package/esm/dist/src/presets/internal.d.ts.map +1 -0
  118. package/esm/dist/src/presets/internal.js +34 -0
  119. package/esm/dist/src/presets/internal.js.map +1 -0
  120. package/esm/dist/src/presets/keeo.d.ts +3 -0
  121. package/esm/dist/src/presets/keeo.d.ts.map +1 -0
  122. package/esm/dist/src/presets/keeo.js +33 -0
  123. package/esm/dist/src/presets/keeo.js.map +1 -0
  124. package/esm/dist/src/presets/platform.d.ts +2 -0
  125. package/esm/dist/src/presets/platform.d.ts.map +1 -0
  126. package/esm/dist/src/presets/platform.js +7 -0
  127. package/esm/dist/src/presets/platform.js.map +1 -0
  128. package/esm/dist/src/presets/ports-primary.d.ts +3 -0
  129. package/esm/dist/src/presets/ports-primary.d.ts.map +1 -0
  130. package/esm/dist/src/presets/ports-primary.js +50 -0
  131. package/esm/dist/src/presets/ports-primary.js.map +1 -0
  132. package/esm/dist/src/presets/ports-secundary.d.ts +3 -0
  133. package/esm/dist/src/presets/ports-secundary.d.ts.map +1 -0
  134. package/esm/dist/src/presets/ports-secundary.js +13 -0
  135. package/esm/dist/src/presets/ports-secundary.js.map +1 -0
  136. package/esm/dist/src/presets/ravot.d.ts +3 -0
  137. package/esm/dist/src/presets/ravot.d.ts.map +1 -0
  138. package/esm/dist/src/presets/ravot.js +32 -0
  139. package/esm/dist/src/presets/ravot.js.map +1 -0
  140. package/esm/dist/src/presets/services/caddy.d.ts +3 -0
  141. package/esm/dist/src/presets/services/caddy.d.ts.map +1 -0
  142. package/esm/dist/src/presets/services/caddy.js +249 -0
  143. package/esm/dist/src/presets/services/caddy.js.map +1 -0
  144. package/esm/dist/src/presets/services/coredns.d.ts +3 -0
  145. package/esm/dist/src/presets/services/coredns.d.ts.map +1 -0
  146. package/esm/dist/src/presets/services/coredns.js +10 -0
  147. package/esm/dist/src/presets/services/coredns.js.map +1 -0
  148. package/esm/dist/src/presets/services/frontend-type-checking.d.ts +3 -0
  149. package/esm/dist/src/presets/services/frontend-type-checking.d.ts.map +1 -0
  150. package/esm/dist/src/presets/services/frontend-type-checking.js +10 -0
  151. package/esm/dist/src/presets/services/frontend-type-checking.js.map +1 -0
  152. package/esm/dist/src/presets/services/maildev.d.ts +5 -0
  153. package/esm/dist/src/presets/services/maildev.d.ts.map +1 -0
  154. package/esm/dist/src/presets/services/maildev.js +24 -0
  155. package/esm/dist/src/presets/services/maildev.js.map +1 -0
  156. package/esm/dist/src/presets/services/stripe.d.ts +11 -0
  157. package/esm/dist/src/presets/services/stripe.d.ts.map +1 -0
  158. package/esm/dist/src/presets/services/stripe.js +46 -0
  159. package/esm/dist/src/presets/services/stripe.js.map +1 -0
  160. package/esm/dist/src/presets/stamhoofd.d.ts +3 -0
  161. package/esm/dist/src/presets/stamhoofd.d.ts.map +1 -0
  162. package/esm/dist/src/presets/stamhoofd.js +40 -0
  163. package/esm/dist/src/presets/stamhoofd.js.map +1 -0
  164. package/esm/dist/tsconfig.tsbuildinfo +1 -0
  165. package/esm/package.json +3 -0
  166. package/package.json +24 -0
@@ -0,0 +1,31 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ async function fileExists(path) {
4
+ try {
5
+ await fs.access(path);
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ /**
13
+ * Includes trailing slash
14
+ */
15
+ export async function getProjectPath() {
16
+ let depth = 2;
17
+ while (true) {
18
+ // check lerna.json exists at depth
19
+ const fileName = __dirname + '/' + '../'.repeat(depth) + `lerna.json`;
20
+ if (await fileExists(fileName)) {
21
+ break;
22
+ }
23
+ depth++;
24
+ if (depth >= 7) {
25
+ throw new Error('Could not find lerna.json in the parent directories');
26
+ }
27
+ }
28
+ const rootPath = path.normalize(__dirname + '/' + '../'.repeat(depth));
29
+ return rootPath;
30
+ }
31
+ //# sourceMappingURL=project-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-path.js","sourceRoot":"","sources":["../../../../src/helpers/project-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,KAAK,UAAU,UAAU,CAAC,IAAY;IAClC,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACV,mCAAmC;QACnC,MAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QACtE,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM;QACV,CAAC;QACD,KAAK,EAAE,CAAC;QAER,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/init.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { concurrently } from 'concurrently';
2
+ import { buildConfig } from './build';
3
+ import chalk from 'chalk';
4
+ async function init() {
5
+ var _a;
6
+ console.log(chalk.magenta('[INIT]') + ' Initializing development environment...');
7
+ const services = [];
8
+ // Loop all presets with a init method and call that method.
9
+ // Append responses to the services array
10
+ const { config, initFunctions } = await buildConfig((_a = process.env.STAMHOOFD_ENV) !== null && _a !== void 0 ? _a : '', { backend: 'api' });
11
+ for (const initFunction of initFunctions) {
12
+ const s = await initFunction(config);
13
+ if (Array.isArray(s)) {
14
+ services.push(...s);
15
+ }
16
+ }
17
+ if (services.length === 0) {
18
+ return;
19
+ }
20
+ // Run concurrently all services
21
+ const { result } = concurrently(services, {
22
+ prefix: 'name',
23
+ killOthersOn: [], // don't kill on failure
24
+ successCondition: 'first',
25
+ cwd: process.cwd(),
26
+ });
27
+ try {
28
+ await result;
29
+ }
30
+ catch (e) {
31
+ // Ignore error
32
+ }
33
+ }
34
+ init().catch((error) => {
35
+ console.error('Error during initialization:', error);
36
+ process.exit(1);
37
+ });
38
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,UAAU,IAAI;;IACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,0CAA0C,CAAC,CAAC;IAClF,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAEhD,4DAA4D;IAC5D,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,WAAW,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzG,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAA2B,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,EAAE,EAAE,wBAAwB;QAC1C,gBAAgB,EAAE,OAAO;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,MAAM,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,eAAe;IACnB,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Service } from '../Service';
2
+ export declare function build(service: Service): Promise<{
3
+ presets: never[];
4
+ }>;
5
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/presets/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,wBAAsB,KAAK,CAAC,OAAO,EAAE,OAAO;;GAmC3C"}
@@ -0,0 +1,34 @@
1
+ import os from 'os';
2
+ import { Formatter } from '@stamhoofd/utility';
3
+ import { read1PasswordCli } from '../helpers/1password';
4
+ export async function build(service) {
5
+ const config = {
6
+ presets: [],
7
+ };
8
+ const username = Formatter.slug(os.userInfo().username);
9
+ const hostname = Formatter.slug(os.hostname());
10
+ if ('backend' in service && service.backend === 'api') {
11
+ // In development, we do connect to a DigitalOcean database in development mode
12
+ Object.assign(config, {
13
+ SPACES_ENDPOINT: 'ams3.digitaloceanspaces.com',
14
+ SPACES_BUCKET: 'stamhoofd-development',
15
+ SPACES_KEY: await read1PasswordCli('op://DevOps Development/digitalocean-spaces.stamhoofd-development/key'),
16
+ SPACES_SECRET: await read1PasswordCli('op://DevOps Development/digitalocean-spaces.stamhoofd-development/secret'),
17
+ SPACES_PREFIX: username || hostname || 'unknown',
18
+ });
19
+ // Add Mollie credentials
20
+ Object.assign(config, {
21
+ MOLLIE_CLIENT_ID: await read1PasswordCli('op://DevOps Development/Mollie/MOLLIE_CLIENT_ID', { optional: true }),
22
+ MOLLIE_API_KEY: await read1PasswordCli('op://DevOps Development/Mollie/MOLLIE_API_KEY', { optional: true }),
23
+ MOLLIE_SECRET: await read1PasswordCli('op://DevOps Development/Mollie/MOLLIE_SECRET', { optional: true }),
24
+ MOLLIE_ORGANIZATION_TOKEN: await read1PasswordCli('op://DevOps Development/Mollie/MOLLIE_ORGANIZATION_TOKEN', { optional: true }),
25
+ });
26
+ // Add Stripe credentials
27
+ Object.assign(config, {
28
+ STRIPE_ACCOUNT_ID: await read1PasswordCli('op://DevOps Development/Stripe/STRIPE_ACCOUNT_ID', { optional: true }),
29
+ STRIPE_SECRET_KEY: await read1PasswordCli('op://DevOps Development/Stripe/STRIPE_SECRET_KEY', { optional: true }),
30
+ });
31
+ }
32
+ return config;
33
+ }
34
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../../src/presets/internal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/C,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACpD,+EAA+E;QAC/E,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,eAAe,EAAE,6BAA6B;YAC9C,aAAa,EAAE,uBAAuB;YACtC,UAAU,EAAE,MAAM,gBAAgB,CAAC,uEAAuE,CAAC;YAC3G,aAAa,EAAE,MAAM,gBAAgB,CAAC,0EAA0E,CAAC;YACjH,aAAa,EAAE,QAAQ,IAAI,QAAQ,IAAI,SAAS;SACnD,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC,iDAAiD,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/G,cAAc,EAAE,MAAM,gBAAgB,CAAC,+CAA+C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3G,aAAa,EAAE,MAAM,gBAAgB,CAAC,8CAA8C,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzG,yBAAyB,EAAE,MAAM,gBAAgB,CAAC,0DAA0D,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAEpI,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC,kDAAkD,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACjH,iBAAiB,EAAE,MAAM,gBAAgB,CAAC,kDAAkD,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACpH,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Service } from '../Service';
2
+ export declare function build(service: Service): any;
3
+ //# sourceMappingURL=keeo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keeo.d.ts","sourceRoot":"","sources":["../../../../src/presets/keeo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAmC3C"}
@@ -0,0 +1,33 @@
1
+ export function build(service) {
2
+ const config = {
3
+ presets: ['platform'],
4
+ domains: {
5
+ dashboard: 'keeo.dashboard.stamhoofd',
6
+ marketing: {
7
+ '': 'fos.be',
8
+ },
9
+ webshop: {
10
+ '': 'keeo.shop.stamhoofd',
11
+ },
12
+ api: 'keeo.api.stamhoofd',
13
+ rendererApi: 'keeo.renderer.stamhoofd',
14
+ defaultTransactionalEmail: {
15
+ '': 'stamhoofd.be',
16
+ 'NL': 'stamhoofd.nl',
17
+ },
18
+ defaultBroadcastEmail: {
19
+ '': 'stamhoofd.email',
20
+ },
21
+ webshopCname: 'keeo.shop.stamhoofd',
22
+ },
23
+ translationNamespace: 'keeo',
24
+ platformName: 'keeo',
25
+ fixedCountry: 'BE',
26
+ DB_DATABASE: 'stamhoofd-keeo',
27
+ // Enable member numbers
28
+ MEMBER_NUMBER_ALGORITHM: 'Incremental',
29
+ MEMBER_NUMBER_ALGORITHM_LENGTH: 10,
30
+ };
31
+ return config;
32
+ }
33
+ //# sourceMappingURL=keeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keeo.js","sourceRoot":"","sources":["../../../../src/presets/keeo.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CAAC,OAAgB;IAClC,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,OAAO,EAAE;YACL,SAAS,EAAE,0BAA0B;YACrC,SAAS,EAAE;gBACP,EAAE,EAAE,QAAQ;aACf;YACD,OAAO,EAAE;gBACL,EAAE,EAAE,qBAAqB;aAC5B;YACD,GAAG,EAAE,oBAAoB;YACzB,WAAW,EAAE,yBAAyB;YAEtC,yBAAyB,EAAE;gBACvB,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,cAAc;aACvB;YAED,qBAAqB,EAAE;gBACnB,EAAE,EAAE,iBAAiB;aACxB;YACD,YAAY,EAAE,qBAAqB;SACtC;QACD,oBAAoB,EAAE,MAAM;QAC5B,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,gBAAgB;QAE7B,wBAAwB;QACxB,uBAAuB,EAAE,aAAa;QACtC,8BAA8B,EAAE,EAAE;KACrC,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function build(): any;
2
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/presets/platform.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,IAAI,GAAG,CAK3B"}
@@ -0,0 +1,7 @@
1
+ export function build() {
2
+ return {
3
+ userMode: 'platform',
4
+ fixedCountry: 'BE',
5
+ };
6
+ }
7
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/presets/platform.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK;IACjB,OAAO;QACH,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,IAAI;KACrB,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Service } from '../Service';
2
+ export declare function build(service: Service): any;
3
+ //# sourceMappingURL=ports-primary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports-primary.d.ts","sourceRoot":"","sources":["../../../../src/presets/ports-primary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAiD3C"}
@@ -0,0 +1,50 @@
1
+ export function build(service) {
2
+ if ('frontend' in service) {
3
+ switch (service.frontend) {
4
+ case 'dashboard': {
5
+ return {
6
+ PORT: 8080,
7
+ };
8
+ }
9
+ case 'registration': {
10
+ return {
11
+ PORT: 8081,
12
+ };
13
+ }
14
+ case 'webshop': {
15
+ return {
16
+ PORT: 8082,
17
+ };
18
+ }
19
+ default: {
20
+ throw new Error(`Unknown frontend service: ${service.frontend}`);
21
+ }
22
+ }
23
+ }
24
+ switch (service.backend) {
25
+ case 'api': {
26
+ return {
27
+ PORT: 9091,
28
+ };
29
+ }
30
+ case 'redirecter': {
31
+ return {
32
+ PORT: 9092,
33
+ };
34
+ }
35
+ case 'renderer': {
36
+ return {
37
+ PORT: 9093,
38
+ };
39
+ }
40
+ case 'backup': {
41
+ return {
42
+ PORT: 9094,
43
+ };
44
+ }
45
+ default: {
46
+ throw new Error(`Unknown backend service: ${service.backend}`);
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=ports-primary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports-primary.js","sourceRoot":"","sources":["../../../../src/presets/ports-primary.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CAAC,OAAgB;IAClC,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QACxB,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,OAAO;oBACH,IAAI,EAAE,IAAI;iBACb,CAAC;YACN,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,OAAO;oBACH,IAAI,EAAE,IAAI;iBACb,CAAC;YACN,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,OAAO;oBACH,IAAI,EAAE,IAAI;iBACb,CAAC;YACN,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,QAA6B,EAAE,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;IACL,CAAC;IAED,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,KAAK,CAAC,CAAC,CAAC;YACT,OAAO;gBACH,IAAI,EAAE,IAAI;aACb,CAAC;QACN,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAChB,OAAO;gBACH,IAAI,EAAE,IAAI;aACb,CAAC;QACN,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;aACb,CAAC;QACN,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,OAAO;gBACH,IAAI,EAAE,IAAI;aACb,CAAC;QACN,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,OAA4B,EAAE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Service } from '../Service';
2
+ export declare function build(service: Service): any;
3
+ //# sourceMappingURL=ports-secundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports-secundary.d.ts","sourceRoot":"","sources":["../../../../src/presets/ports-secundary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAY3C"}
@@ -0,0 +1,13 @@
1
+ import { build as defaultPortsBuild } from './ports-primary.js';
2
+ export function build(service) {
3
+ const defaultPorts = defaultPortsBuild(service);
4
+ if ('port' in defaultPorts) {
5
+ return {
6
+ port: defaultPorts.port + 10000,
7
+ };
8
+ }
9
+ return {
10
+ PORT: defaultPorts.PORT + 10000,
11
+ };
12
+ }
13
+ //# sourceMappingURL=ports-secundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports-secundary.js","sourceRoot":"","sources":["../../../../src/presets/ports-secundary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,UAAU,KAAK,CAAC,OAAgB;IAClC,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;QACzB,OAAO;YACH,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,KAAM;SACnC,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,KAAM;KACnC,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Service } from '../Service';
2
+ export declare function build(service: Service): any;
3
+ //# sourceMappingURL=ravot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ravot.d.ts","sourceRoot":"","sources":["../../../../src/presets/ravot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAkC3C"}
@@ -0,0 +1,32 @@
1
+ export function build(service) {
2
+ const config = {
3
+ presets: ['platform'],
4
+ domains: {
5
+ dashboard: 'ravot.dashboard.stamhoofd',
6
+ marketing: {
7
+ '': 'ksa.be',
8
+ },
9
+ webshop: {
10
+ '': 'ravot.shop.stamhoofd',
11
+ },
12
+ api: 'ravot.api.stamhoofd',
13
+ rendererApi: 'ravot.renderer.stamhoofd',
14
+ defaultTransactionalEmail: {
15
+ '': 'stamhoofd.be',
16
+ 'NL': 'stamhoofd.nl',
17
+ },
18
+ defaultBroadcastEmail: {
19
+ '': 'stamhoofd.email',
20
+ },
21
+ webshopCname: 'ravot.shop.stamhoofd',
22
+ },
23
+ translationNamespace: 'digit',
24
+ platformName: 'ravot',
25
+ fixedCountry: 'BE',
26
+ DB_DATABASE: 'stamhoofd-ravot',
27
+ // Member numbers are KSA-specific
28
+ MEMBER_NUMBER_ALGORITHM: "KSA" /* MemberNumberAlgorithm.KSA */,
29
+ };
30
+ return config;
31
+ }
32
+ //# sourceMappingURL=ravot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ravot.js","sourceRoot":"","sources":["../../../../src/presets/ravot.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,KAAK,CAAC,OAAgB;IAClC,MAAM,MAAM,GAAG;QACX,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,OAAO,EAAE;YACL,SAAS,EAAE,2BAA2B;YACtC,SAAS,EAAE;gBACP,EAAE,EAAE,QAAQ;aACf;YACD,OAAO,EAAE;gBACL,EAAE,EAAE,sBAAsB;aAC7B;YACD,GAAG,EAAE,qBAAqB;YAC1B,WAAW,EAAE,0BAA0B;YAEvC,yBAAyB,EAAE;gBACvB,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,cAAc;aACvB;YAED,qBAAqB,EAAE;gBACnB,EAAE,EAAE,iBAAiB;aACxB;YACD,YAAY,EAAE,sBAAsB;SACvC;QACD,oBAAoB,EAAE,OAAO;QAC7B,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,iBAAiB;QAE9B,kCAAkC;QAClC,uBAAuB,uCAA2B;KACrD,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ConcurrentlyCommandInput } from 'concurrently';
2
+ export declare function init(config: SharedEnvironment): Promise<ConcurrentlyCommandInput[]>;
3
+ //# sourceMappingURL=caddy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caddy.d.ts","sourceRoot":"","sources":["../../../../../src/presets/services/caddy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,wBAAsB,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAgCzF"}
@@ -0,0 +1,249 @@
1
+ import { Formatter } from '@stamhoofd/utility';
2
+ import fs from 'fs/promises';
3
+ import { exec as execCallback } from 'node:child_process';
4
+ import { promisify } from 'node:util';
5
+ const exec = promisify(execCallback);
6
+ export async function init(config) {
7
+ const caddyConfig = buildCaddyConfig(config.domains);
8
+ const tmpFileLocation = __dirname + '/caddy.json';
9
+ // Write to file
10
+ await fs.writeFile(tmpFileLocation, JSON.stringify(caddyConfig, null, 2));
11
+ // Make sure to kill any running caddy processes
12
+ try {
13
+ const cmd = 'brew services stop caddy';
14
+ await exec(cmd);
15
+ }
16
+ catch (error) {
17
+ // ignore
18
+ }
19
+ // Make sure to kill any running caddy processes
20
+ try {
21
+ const cmd = 'caddy stop';
22
+ await exec(cmd);
23
+ }
24
+ catch (error) {
25
+ // ignore
26
+ }
27
+ return [
28
+ {
29
+ name: 'caddy',
30
+ command: 'caddy run -w --config \'' + tmpFileLocation + '\'',
31
+ prefixColor: 'red',
32
+ },
33
+ ];
34
+ }
35
+ function buildCaddyConfig(domains) {
36
+ const routes = [
37
+ {
38
+ match: [
39
+ {
40
+ host: [
41
+ domains.rendererApi,
42
+ ],
43
+ },
44
+ ],
45
+ handle: [
46
+ {
47
+ handler: 'reverse_proxy',
48
+ upstreams: [
49
+ {
50
+ dial: '127.0.0.1:9093',
51
+ },
52
+ ],
53
+ headers: {
54
+ request: {
55
+ set: {
56
+ 'x-real-ip': [
57
+ '{http.request.remote}',
58
+ ],
59
+ },
60
+ },
61
+ },
62
+ },
63
+ ],
64
+ },
65
+ {
66
+ match: [
67
+ {
68
+ host: [
69
+ domains.api,
70
+ '*.' + domains.api,
71
+ ],
72
+ },
73
+ ],
74
+ handle: [
75
+ {
76
+ handler: 'reverse_proxy',
77
+ upstreams: [
78
+ {
79
+ dial: '127.0.0.1:9091',
80
+ },
81
+ ],
82
+ headers: {
83
+ request: {
84
+ set: {
85
+ 'x-real-ip': [
86
+ '{http.request.remote}',
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ },
92
+ ],
93
+ },
94
+ {
95
+ match: [
96
+ {
97
+ host: [
98
+ domains.dashboard,
99
+ ],
100
+ },
101
+ ],
102
+ handle: [
103
+ {
104
+ handler: 'reverse_proxy',
105
+ load_balancing: {
106
+ retries: 5,
107
+ },
108
+ upstreams: [
109
+ {
110
+ dial: '127.0.0.1:8080',
111
+ },
112
+ ],
113
+ },
114
+ ],
115
+ },
116
+ ];
117
+ if (domains.webshop) {
118
+ routes.push({
119
+ match: [
120
+ {
121
+ host: Formatter.uniqueArray([...Object.values(domains.webshop)]),
122
+ },
123
+ ],
124
+ handle: [
125
+ {
126
+ handler: 'reverse_proxy',
127
+ load_balancing: {
128
+ retries: 5,
129
+ },
130
+ upstreams: [
131
+ {
132
+ dial: '127.0.0.1:8082',
133
+ },
134
+ ],
135
+ },
136
+ ],
137
+ });
138
+ }
139
+ if (domains.registration) {
140
+ routes.push({
141
+ match: [
142
+ {
143
+ host: Formatter.uniqueArray([...Object.values(domains.registration)].map(domain => ('*.' + domain))),
144
+ },
145
+ ],
146
+ handle: [
147
+ {
148
+ handler: 'reverse_proxy',
149
+ load_balancing: {
150
+ retries: 5,
151
+ },
152
+ upstreams: [
153
+ {
154
+ dial: '127.0.0.1:8081',
155
+ },
156
+ ],
157
+ },
158
+ ],
159
+ });
160
+ }
161
+ routes.push({
162
+ match: [
163
+ {
164
+ vars_regexp: {
165
+ '{http.request.host}': {
166
+ pattern: '^inschrijven\\.',
167
+ },
168
+ },
169
+ },
170
+ ],
171
+ handle: [
172
+ {
173
+ handler: 'reverse_proxy',
174
+ load_balancing: {
175
+ retries: 5,
176
+ },
177
+ upstreams: [
178
+ {
179
+ dial: '127.0.0.1:8081',
180
+ },
181
+ ],
182
+ },
183
+ ],
184
+ }, {
185
+ handle: [
186
+ {
187
+ handler: 'reverse_proxy',
188
+ load_balancing: {
189
+ retries: 5,
190
+ },
191
+ upstreams: [
192
+ {
193
+ dial: '127.0.0.1:8082',
194
+ },
195
+ ],
196
+ },
197
+ ],
198
+ });
199
+ return {
200
+ apps: {
201
+ http: {
202
+ servers: {
203
+ stamhoofd: {
204
+ listen: [
205
+ ':443',
206
+ ':80',
207
+ ],
208
+ routes,
209
+ },
210
+ },
211
+ },
212
+ tls: {
213
+ automation: {
214
+ policies: [
215
+ {
216
+ subjects: Formatter.uniqueArray([
217
+ domains.dashboard,
218
+ domains.api,
219
+ '*.' + domains.api,
220
+ ...(domains.registration ? [...Object.values(domains.registration)].map(domain => ('*.' + domain)) : []),
221
+ ...(domains.webshop ? [...Object.values(domains.webshop)] : []),
222
+ domains.rendererApi,
223
+ ]),
224
+ on_demand: false,
225
+ issuers: [
226
+ {
227
+ module: 'internal',
228
+ },
229
+ ],
230
+ },
231
+ {
232
+ on_demand: true,
233
+ issuers: [{
234
+ module: 'internal',
235
+ }],
236
+ },
237
+ ],
238
+ on_demand: {
239
+ rate_limit: {
240
+ interval: '1d',
241
+ burst: 200,
242
+ },
243
+ },
244
+ },
245
+ },
246
+ },
247
+ };
248
+ }
249
+ //# sourceMappingURL=caddy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caddy.js","sourceRoot":"","sources":["../../../../../src/presets/services/caddy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ConcurrentlyCommandInput } from 'concurrently';
2
+ export declare function init(): ConcurrentlyCommandInput[];
3
+ //# sourceMappingURL=coredns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coredns.d.ts","sourceRoot":"","sources":["../../../../../src/presets/services/coredns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,wBAAgB,IAAI,IAAI,wBAAwB,EAAE,CAQjD"}
@@ -0,0 +1,10 @@
1
+ export function init() {
2
+ return [
3
+ {
4
+ name: 'CoreDNS',
5
+ command: 'yarn -s dns',
6
+ prefixColor: 'red',
7
+ },
8
+ ];
9
+ }
10
+ //# sourceMappingURL=coredns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coredns.js","sourceRoot":"","sources":["../../../../../src/presets/services/coredns.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI;IAChB,OAAO;QACH;YACI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,KAAK;SACrB;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ConcurrentlyCommandInput } from 'concurrently';
2
+ export declare function init(): ConcurrentlyCommandInput[];
3
+ //# sourceMappingURL=frontend-type-checking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-type-checking.d.ts","sourceRoot":"","sources":["../../../../../src/presets/services/frontend-type-checking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,wBAAgB,IAAI,IAAI,wBAAwB,EAAE,CAQjD"}