great 1.3.0 → 1.4.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 (69) hide show
  1. package/README.md +32 -16
  2. package/dist/explode/transform.js +3 -4
  3. package/dist/explode/transform.js.map +1 -1
  4. package/dist/explode/unescapeMongo.js +33 -0
  5. package/dist/explode/unescapeMongo.js.map +1 -1
  6. package/dist/generated/operations.d.ts +23 -1
  7. package/dist/generated/schema.d.ts +16 -0
  8. package/dist/generated/schema.js.map +1 -1
  9. package/dist/import/index.d.ts +3 -1
  10. package/dist/import/index.js +27 -6
  11. package/dist/import/index.js.map +1 -1
  12. package/dist/include/index.d.ts +3 -1
  13. package/dist/include/index.js +129 -11
  14. package/dist/include/index.js.map +1 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/integrations/index.js +5 -0
  18. package/dist/integrations/index.js.map +1 -1
  19. package/dist/integrations/list.d.ts +2 -0
  20. package/dist/integrations/list.js +30 -16
  21. package/dist/integrations/list.js.map +1 -1
  22. package/dist/push/index.js +262 -42
  23. package/dist/push/index.js.map +1 -1
  24. package/dist/remove/index.d.ts +5 -0
  25. package/dist/remove/index.js +71 -0
  26. package/dist/remove/index.js.map +1 -0
  27. package/dist/rename/index.js +4 -3
  28. package/dist/rename/index.js.map +1 -1
  29. package/dist/run/index.d.ts +1 -1
  30. package/dist/utils/detectPullConflicts.js +13 -3
  31. package/dist/utils/detectPullConflicts.js.map +1 -1
  32. package/dist/utils/elementFiles.d.ts +8 -0
  33. package/dist/utils/elementFiles.js +33 -0
  34. package/dist/utils/elementFiles.js.map +1 -1
  35. package/dist/utils/graphqlError.js +16 -2
  36. package/dist/utils/graphqlError.js.map +1 -1
  37. package/dist/utils/hashContent.d.ts +1 -0
  38. package/dist/utils/hashContent.js +6 -3
  39. package/dist/utils/hashContent.js.map +1 -1
  40. package/dist/utils/integrationConfig.d.ts +13 -0
  41. package/dist/utils/integrationConfig.js +29 -0
  42. package/dist/utils/integrationConfig.js.map +1 -0
  43. package/dist/utils/mergeEndpointLists.d.ts +7 -0
  44. package/dist/utils/mergeEndpointLists.js +32 -0
  45. package/dist/utils/mergeEndpointLists.js.map +1 -0
  46. package/dist/utils/promptForEndpoints.d.ts +5 -0
  47. package/dist/utils/promptForEndpoints.js +37 -0
  48. package/dist/utils/promptForEndpoints.js.map +1 -0
  49. package/dist/utils/promptForReplaceLocal.d.ts +5 -0
  50. package/dist/utils/promptForReplaceLocal.js +18 -0
  51. package/dist/utils/promptForReplaceLocal.js.map +1 -0
  52. package/dist/utils/promptForValue.d.ts +2 -0
  53. package/dist/utils/promptForValue.js +6 -3
  54. package/dist/utils/promptForValue.js.map +1 -1
  55. package/dist/utils/resolveElementIncludes.d.ts +6 -0
  56. package/dist/utils/resolveElementIncludes.js +113 -0
  57. package/dist/utils/resolveElementIncludes.js.map +1 -0
  58. package/dist/utils/saveIntegration.js +7 -2
  59. package/dist/utils/saveIntegration.js.map +1 -1
  60. package/dist/utils/serviceFile.d.ts +3 -0
  61. package/dist/utils/serviceFile.js +7 -1
  62. package/dist/utils/serviceFile.js.map +1 -1
  63. package/dist/utils/writeShadowElement.d.ts +10 -7
  64. package/dist/utils/writeShadowElement.js +89 -50
  65. package/dist/utils/writeShadowElement.js.map +1 -1
  66. package/package.json +7 -7
  67. package/dist/utils/resolveElementInclude.d.ts +0 -3
  68. package/dist/utils/resolveElementInclude.js +0 -27
  69. package/dist/utils/resolveElementInclude.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ const dedupe = (keys) => [...new Set(keys)];
2
+ function drainTo(keys, anchor) {
3
+ const taken = [];
4
+ for (let next = keys.next(); !next.done; next = keys.next()) {
5
+ if (next.value === anchor) {
6
+ break;
7
+ }
8
+ taken.push(next.value);
9
+ }
10
+ return taken;
11
+ }
12
+ export default function mergeEndpointLists(a, b) {
13
+ const aList = dedupe(a);
14
+ const bList = dedupe(b);
15
+ const aSet = new Set(aList);
16
+ const bSet = new Set(bList);
17
+ const aRest = aList.values();
18
+ const bRest = bList.values();
19
+ const merged = [];
20
+ for (const anchor of aList.filter((key) => bSet.has(key))) {
21
+ const fromA = drainTo(aRest, anchor);
22
+ const fromB = drainTo(bRest, anchor);
23
+ const misplaced = fromB.find((key) => aSet.has(key));
24
+ if (misplaced) {
25
+ return { conflict: [anchor, misplaced] };
26
+ }
27
+ merged.push(...fromA, ...fromB, anchor);
28
+ }
29
+ merged.push(...aRest, ...bRest);
30
+ return { merged };
31
+ }
32
+ //# sourceMappingURL=mergeEndpointLists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeEndpointLists.js","sourceRoot":"","sources":["../../src/utils/mergeEndpointLists.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAMrD,SAAS,OAAO,CAAC,IAAsB,EAAE,MAAc;IACrD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAK;QACP,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAcD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,CAAW,EACX,CAAW;IAEX,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;IAE5B,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAA;QAC1C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface EndpointChoice {
2
+ key: string;
3
+ name: string;
4
+ }
5
+ export default function promptForEndpoints(serviceKey: string, endpoints: readonly EndpointChoice[], log: (message: string) => void, hasShadowList?: boolean): Promise<string[]>;
@@ -0,0 +1,37 @@
1
+ import { checkbox, confirm } from '@inquirer/prompts';
2
+ import chalk from 'chalk';
3
+ async function selectEndpoints(endpoints) {
4
+ return checkbox({
5
+ message: 'Endpoints to include',
6
+ choices: endpoints.map(({ key, name }) => ({
7
+ name: `${name} (${key})`,
8
+ value: key,
9
+ checked: true,
10
+ })),
11
+ });
12
+ }
13
+ async function confirmLocalList(log, hasShadowList) {
14
+ const replaces = hasShadowList
15
+ ? ' It replaces the shadow endpoint list you have now.'
16
+ : '';
17
+ log(chalk.yellow(`Leaving out endpoints means you make your own, local endpoint list, and won't follow changes to it.${replaces}`));
18
+ return confirm({
19
+ message: 'Make the endpoint list a local element with only the selected endpoints?',
20
+ default: false,
21
+ });
22
+ }
23
+ export default async function promptForEndpoints(serviceKey, endpoints, log, hasShadowList = false) {
24
+ log(`Service ${serviceKey} has an endpoint list with ${endpoints.length} endpoint(s). Select the ones to include with it.`);
25
+ try {
26
+ let selected;
27
+ do {
28
+ selected = await selectEndpoints(endpoints);
29
+ } while (selected.length < endpoints.length &&
30
+ !(await confirmLocalList(log, hasShadowList)));
31
+ return selected;
32
+ }
33
+ catch {
34
+ throw new Error('User cancelled');
35
+ }
36
+ }
37
+ //# sourceMappingURL=promptForEndpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptForEndpoints.js","sourceRoot":"","sources":["../../src/utils/promptForEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,KAAK,UAAU,eAAe,CAC5B,SAAoC;IAEpC,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,GAAG,IAAI,KAAK,GAAG,GAAG;YACxB,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,GAA8B,EAC9B,aAAsB;IAEtB,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,EAAE,CAAA;IACN,GAAG,CACD,KAAK,CAAC,MAAM,CACV,sGAAsG,QAAQ,EAAE,CACjH,CACF,CAAA;IACD,OAAO,OAAO,CAAC;QACb,OAAO,EACL,0EAA0E;QAC5E,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;AACJ,CAAC;AAQD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC9C,UAAkB,EAClB,SAAoC,EACpC,GAA8B,EAC9B,aAAa,GAAG,KAAK;IAErB,GAAG,CACD,WAAW,UAAU,8BAA8B,SAAS,CAAC,MAAM,mDAAmD,CACvH,CAAA;IACD,IAAI,CAAC;QACH,IAAI,QAAkB,CAAA;QACtB,GAAG,CAAC;YACF,QAAQ,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAA;QAC7C,CAAC,QACC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;YAClC,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAC9C;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ElementTarget } from './elementFiles.js';
2
+ export interface ReplacedElement extends ElementTarget {
3
+ droppedKeys?: string[];
4
+ }
5
+ export default function promptForReplaceLocal(replaced: readonly ReplacedElement[], log: (message: string) => void): Promise<boolean>;
@@ -0,0 +1,18 @@
1
+ import { confirm } from '@inquirer/prompts';
2
+ import chalk from 'chalk';
3
+ const describeReplaced = ({ folder, key, droppedKeys }) => droppedKeys
4
+ ? ` ${folder}/${key} (leaves out ${droppedKeys.join(', ')})`
5
+ : ` ${folder}/${key}`;
6
+ export default async function promptForReplaceLocal(replaced, log) {
7
+ log(chalk.yellow('These local elements will be replaced, and any changes to them that have not been pushed will be lost:'));
8
+ for (const element of replaced) {
9
+ log(describeReplaced(element));
10
+ }
11
+ try {
12
+ return await confirm({ message: 'Replace them?', default: false });
13
+ }
14
+ catch {
15
+ throw new Error('User cancelled');
16
+ }
17
+ }
18
+ //# sourceMappingURL=promptForReplaceLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptForReplaceLocal.js","sourceRoot":"","sources":["../../src/utils/promptForReplaceLocal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,MAAM,gBAAgB,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAmB,EAAE,EAAE,CACzE,WAAW;IACT,CAAC,CAAC,KAAK,MAAM,IAAI,GAAG,gBAAgB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC7D,CAAC,CAAC,KAAK,MAAM,IAAI,GAAG,EAAE,CAAA;AAK1B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,qBAAqB,CACjD,QAAoC,EACpC,GAA8B;IAE9B,GAAG,CACD,KAAK,CAAC,MAAM,CACV,wGAAwG,CACzG,CACF,CAAA;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;AACH,CAAC"}
@@ -5,5 +5,7 @@ interface LocalElement {
5
5
  data: Record<string, unknown>;
6
6
  remoteId?: string;
7
7
  }
8
+ export declare const hasValueToSet: (element: LocalElement) => boolean;
9
+ export declare const findElementsToSet: (elements: LocalElement[]) => LocalElement[];
8
10
  export declare function promptForValueSetting(elements: LocalElement[], log: (message: string) => void): Promise<boolean>;
9
11
  export {};
@@ -1,12 +1,15 @@
1
1
  import { confirm } from '@inquirer/prompts';
2
2
  import chalk from 'chalk';
3
+ export const hasValueToSet = (element) => element.folder === 'values' &&
4
+ (element.data.value !== undefined || element.data.ref !== undefined);
5
+ export const findElementsToSet = (elements) => elements.filter(hasValueToSet);
3
6
  export async function promptForValueSetting(elements, log) {
4
- const valueElementsWithValue = elements.filter((element) => element.folder === 'values' && element.data.value !== undefined);
5
- if (valueElementsWithValue.length === 0) {
7
+ const elementsToSet = findElementsToSet(elements);
8
+ if (elementsToSet.length === 0) {
6
9
  return false;
7
10
  }
8
11
  log(chalk.white('The following value elements have values set:'));
9
- for (const element of valueElementsWithValue) {
12
+ for (const element of elementsToSet) {
10
13
  log(chalk.white(` - ${element.key}`));
11
14
  }
12
15
  log('');
@@ -1 +1 @@
1
- {"version":3,"file":"promptForValue.js","sourceRoot":"","sources":["../../src/utils/promptForValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAwB,EACxB,GAA8B;IAG9B,MAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAC5C,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAClE,CAAA;IAGD,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IAGD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAA;IACjE,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,CAAA;IAGP,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QAEP,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"promptForValue.js","sourceRoot":"","sources":["../../src/utils/promptForValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAqB,EAAW,EAAE,CAC9D,OAAO,CAAC,MAAM,KAAK,QAAQ;IAC3B,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;AAKtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAwB,EAAkB,EAAE,CAC5E,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAOhC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAwB,EACxB,GAA8B;IAE9B,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAGjD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAA;IACd,CAAC;IAGD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAA;IACjE,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,CAAA;IAGP,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QAEP,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { GraphQLRequestClient } from './graphqlClient.js';
2
+ import type { ResolveElementIncludeQuery } from '../generated/operations.js';
3
+ export type ResolvedInclude = ResolveElementIncludeQuery['resolveElementInclude'];
4
+ export default function resolveElementIncludes(graphqlClient: GraphQLRequestClient, elementId: string, sourceTimestamp: string | undefined, log: (message: string) => void): Promise<ResolvedInclude[] | undefined>;
5
+ export declare function endpointListKeys(list: ResolvedInclude): string[] | undefined;
6
+ export declare function resolveEndpointIncludes(graphqlClient: GraphQLRequestClient, list: ResolvedInclude, sourceTimestamp: string | undefined, log: (message: string) => void): Promise<ResolvedInclude[] | undefined>;
@@ -0,0 +1,113 @@
1
+ import { gql } from 'graphql-tag';
2
+ import chalk from 'chalk';
3
+ import { handleGraphQLError, isNotFoundError } from './graphqlError.js';
4
+ import { companionElementType, isEndpointKeys } from './serviceFile.js';
5
+ import { ElementType } from '../generated/schema.js';
6
+ const ResolveElementIncludeQueryDocument = gql `
7
+ query ResolveElementInclude($elementId: ID!, $sourceTimestamp: DateTime) {
8
+ resolveElementInclude(
9
+ elementId: $elementId
10
+ sourceTimestamp: $sourceTimestamp
11
+ ) {
12
+ key
13
+ name
14
+ description
15
+ type
16
+ integration {
17
+ id
18
+ }
19
+ content {
20
+ sourceId
21
+ sourceTimestamp
22
+ provenance
23
+ data
24
+ }
25
+ }
26
+ }
27
+ `;
28
+ const ElementIdByKeyQueryDocument = gql `
29
+ query ElementIdByKey($integrationId: ID!, $key: ID!, $type: ElementType!) {
30
+ elementByKey(integrationId: $integrationId, key: $key, type: $type) {
31
+ id
32
+ }
33
+ }
34
+ `;
35
+ async function resolveOne(graphqlClient, elementId, sourceTimestamp, log) {
36
+ const result = await graphqlClient.request(ResolveElementIncludeQueryDocument, { elementId, sourceTimestamp });
37
+ if (result.error) {
38
+ handleGraphQLError(result.error, log);
39
+ return undefined;
40
+ }
41
+ return result.data?.resolveElementInclude;
42
+ }
43
+ async function findElementId(graphqlClient, integrationId, key, type, log) {
44
+ const result = await graphqlClient.request(ElementIdByKeyQueryDocument, { integrationId, key, type });
45
+ if (result.error) {
46
+ if (isNotFoundError(result.error)) {
47
+ return { status: 'none' };
48
+ }
49
+ handleGraphQLError(result.error, log);
50
+ return { status: 'error' };
51
+ }
52
+ const id = result.data?.elementByKey?.id;
53
+ return id ? { status: 'found', id } : { status: 'none' };
54
+ }
55
+ async function findCompanionId(graphqlClient, resolved, log) {
56
+ const type = companionElementType(resolved.type);
57
+ if (!type || !resolved.integration) {
58
+ return { status: 'none' };
59
+ }
60
+ return findElementId(graphqlClient, resolved.integration.id, resolved.key, type, log);
61
+ }
62
+ export default async function resolveElementIncludes(graphqlClient, elementId, sourceTimestamp, log) {
63
+ const resolved = await resolveOne(graphqlClient, elementId, sourceTimestamp, log);
64
+ if (!resolved) {
65
+ return undefined;
66
+ }
67
+ const lookup = await findCompanionId(graphqlClient, resolved, log);
68
+ if (lookup.status === 'error') {
69
+ return undefined;
70
+ }
71
+ if (lookup.status === 'none') {
72
+ return [resolved];
73
+ }
74
+ const companion = await resolveOne(graphqlClient, lookup.id, sourceTimestamp, log);
75
+ if (!companion) {
76
+ return undefined;
77
+ }
78
+ return companion.content?.sourceId ? [resolved, companion] : [resolved];
79
+ }
80
+ export function endpointListKeys(list) {
81
+ const endpoints = list.content?.data?.endpoints;
82
+ return isEndpointKeys(endpoints) ? endpoints : undefined;
83
+ }
84
+ async function resolveEndpoint(graphqlClient, integrationId, key, sourceTimestamp, log) {
85
+ const lookup = await findElementId(graphqlClient, integrationId, key, ElementType.Endpoint, log);
86
+ if (lookup.status === 'none') {
87
+ log(chalk.yellow(`Endpoint ${key} was not found in the source integration`));
88
+ return 'none';
89
+ }
90
+ if (lookup.status === 'error') {
91
+ return 'error';
92
+ }
93
+ const resolved = await resolveOne(graphqlClient, lookup.id, sourceTimestamp, log);
94
+ return resolved ?? 'error';
95
+ }
96
+ export async function resolveEndpointIncludes(graphqlClient, list, sourceTimestamp, log) {
97
+ const keys = endpointListKeys(list) ?? [];
98
+ if (!list.integration || keys.length === 0) {
99
+ return [];
100
+ }
101
+ const endpoints = [];
102
+ for (const key of keys) {
103
+ const resolved = await resolveEndpoint(graphqlClient, list.integration.id, key, sourceTimestamp, log);
104
+ if (resolved === 'error') {
105
+ return undefined;
106
+ }
107
+ else if (resolved !== 'none') {
108
+ endpoints.push(resolved);
109
+ }
110
+ }
111
+ return endpoints;
112
+ }
113
+ //# sourceMappingURL=resolveElementIncludes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveElementIncludes.js","sourceRoot":"","sources":["../../src/utils/resolveElementIncludes.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { emptyGreatFile, readGreatFile, writeGreatFile, setElementRecord, getEle
5
5
  import { elementFilePath, elementKeyFromFileName, isVirtualFolder, } from './elementFiles.js';
6
6
  import { SERVICES_FOLDER, mergeServiceFile, serviceFileFolders, } from './serviceFile.js';
7
7
  import { SHADOW_MARKER, shadowMarkerFor } from './shadowMarker.js';
8
+ import { CONFIG_KEY, CONFIG_RECORD_FOLDER, buildConfigRecord, findConfigElement, } from './integrationConfig.js';
8
9
  const normalizeFolderName = (folder) => folder.replace(':', '_');
9
10
  function createFolderIfMissing(root, fsImpl) {
10
11
  const rootPath = root ? `${root}/` : '';
@@ -155,13 +156,14 @@ export default function saveIntegration(integration, definitions, root, fsImpl =
155
156
  great.id = id;
156
157
  great.timestamp = timestamp ?? undefined;
157
158
  great.account = account ? { id: account.id, key: account.key } : undefined;
158
- const config = elements?.find((el) => el.__typename === 'ConfigElement' && el.key === 'config');
159
+ const config = findConfigElement(elements);
160
+ const flags = config?.content?.data;
159
161
  const index = {
160
162
  name,
161
163
  description,
162
164
  status,
163
165
  type: resolveIntegrationType(type),
164
- flags: config?.content?.data,
166
+ flags,
165
167
  identConfig: undefined,
166
168
  nonvalues: undefined,
167
169
  queueService: undefined,
@@ -172,6 +174,9 @@ export default function saveIntegration(integration, definitions, root, fsImpl =
172
174
  if (elements) {
173
175
  writeElements(elements, writeFile, great);
174
176
  }
177
+ if (config) {
178
+ setElementRecord(great, CONFIG_RECORD_FOLDER, CONFIG_KEY, buildConfigRecord(config.id, config.content?.createdAt, flags ?? {}));
179
+ }
175
180
  const imports = buildImportRecords(templateImports);
176
181
  if (imports.length > 0) {
177
182
  great.imports = imports;
@@ -1 +1 @@
1
- {"version":3,"file":"saveIntegration.js","sourceRoot":"","sources":["../../src/utils/saveIntegration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveIntegration.js","sourceRoot":"","sources":["../../src/utils/saveIntegration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,sBAAsB,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AA0C/B,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAExE,SAAS,qBAAqB,CAAC,IAAwB,EAAE,MAAe;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACvC,OAAO,CAAC,IAAY,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAA;QAEjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAID,SAAS,aAAa,CAAC,IAAwB,EAAE,MAAe;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACvC,OAAO,CAAC,MAAqB,EAAE,IAAY,EAAE,OAAgB,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM;YACjB,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;YAC7C,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,OAAO,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;QACrD,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAOD,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAA2B,EAAE,CAAC,CAAC;IAC1E,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI;QAC7B,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;QACtC,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI;CACzB,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,CAAC,OAA4B,EAAW,EAAE,CACzD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AAKrC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAA2B,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,GAAG,mBAAmB,CAAC,OAAO,CAAC;CAChC,CAAC,CAAA;AAGF,MAAM,gBAAgB,GAAG,CACvB,IAAyB,EACQ,EAAE,CACnC,IAAI,EAAE,OAAO,EAAE,IAAI;IACjB,CAAC,CAAC,EAAE,SAAS,EAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAkC,IAAI,EAAE,EAAE;IAC5E,CAAC,CAAC,SAAS,CAAA;AAIf,MAAM,gBAAgB,GAAG,CACvB,OAA4B,EAC5B,IAAyB,EACA,EAAE,CAC3B,gBAAgB,CACd;IACE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;IAC3D,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;CAC7B,EACD,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CACnD,CAAA;AAMH,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAsB,EAAE;IAClE,MAAM,MAAM,GAAuB;QACjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS;YAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,EAAE,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;KAChD,CAAA;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG;YACd,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;YAC5B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe;gBACjC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAA;IACH,CAAC;IACD,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;IAExD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAID,MAAM,kBAAkB,GAAG,CACzB,eAAoD,EAC/B,EAAE,CACvB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CACjD,cAAc,CAAC,QAAQ;IACrB,CAAC,CAAC;QACE;YACE,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;YACtC,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,EAAE,EAAE,cAAc,CAAC,EAAE;SACtB;KACF;IACH,CAAC,CAAC,EAAE,CACP,CAAA;AAGH,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,eAAe;IAC7B,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,WAAW;IAC3B,UAAU,EAAE,cAAc;IAC1B,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,YAAY;CACxB,CAAA;AAGD,MAAM,WAAW,GAAG,GAAa,EAAE,CACjC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAC9C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CACrC,CAAA;AAEH,SAAS,kBAAkB,CACzB,UAA8B,EAC9B,QAA4C,EAC5C,UAAqB,EACrB,MAAe;IAEf,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEnD,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAM;QACR,CAAC;QAGD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAErB,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAM;YACR,CAAC;YAGD,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,KAAK,OAAO,CAC1B,CAAA;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAM;YACR,CAAC;YAID,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBAClE,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,IAAI,IAAI,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAMD,SAAS,aAAa,CACpB,QAA4C,EAC5C,SAAmE,EACnE,KAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,QAAQ;SACL,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,CAAC;SAC1D,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAC5C,CAAA;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,QAAQ;SACL,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;SACrD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CACjC,CAAA;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACnF,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,WAA4B,EAC5B,WAAmC,EACnC,IAAa,EACb,SAAkB,EAAE;IAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,GACrE,WAAW,CAAA;IACb,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAGnD,IAAI,UAAU,EAAE,CAAC;QACf,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,CAAC;IAID,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAIpD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;IACb,KAAK,CAAC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAA;IACxC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAI1E,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,IAAyB,CAAA;IAIxD,MAAM,KAAK,GAA4B;QACrC,IAAI;QACJ,WAAW;QACX,MAAM;QACN,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;QAClC,KAAK;QACL,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IAED,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;IAGrC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAGnC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAG5D,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IAID,IAAI,MAAM,EAAE,CAAC;QACX,gBAAgB,CACd,KAAK,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CACrE,CAAA;IACH,CAAC;IAID,MAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACzB,CAAC;IAKD,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ElementType } from '../generated/schema.js';
1
2
  import type { ShadowMarker } from './shadowMarker.js';
2
3
  import type { GreatFile } from './greatFile.js';
3
4
  import type { GreatFs } from '../types.js';
@@ -14,6 +15,7 @@ export interface ServiceFileParts {
14
15
  }
15
16
  export declare const isServiceFileFolder: (folder: string) => boolean;
16
17
  export declare const serviceFileFolders: (folder: string) => string[];
18
+ export declare const companionElementType: (type: ElementType) => ElementType | undefined;
17
19
  export interface EndpointReferenceElement {
18
20
  folder: string;
19
21
  key: string;
@@ -28,4 +30,5 @@ export declare function mergeServiceFile(parts: {
28
30
  list?: EndpointListContent;
29
31
  }, marker?: ShadowMarker): Record<string, unknown>;
30
32
  export declare function readServiceFileParts(filePath: string, fsImpl: GreatFs): ServiceFileParts;
33
+ export declare const isEndpointKeys: (value: unknown) => value is string[];
31
34
  export declare function validateEndpointReferences(elements: readonly EndpointReferenceElement[], great: GreatFile): string[];
@@ -1,5 +1,6 @@
1
1
  import parseJson from './parseJson.js';
2
2
  import { SHADOW_MARKER } from './shadowMarker.js';
3
+ import { ElementType } from '../generated/schema.js';
3
4
  export const SERVICES_FOLDER = 'services';
4
5
  export const ENDPOINTS_FOLDER = 'endpoints';
5
6
  export const ENDPOINT_LISTS_FOLDER = 'endpointLists';
@@ -7,6 +8,11 @@ export const isServiceFileFolder = (folder) => folder === SERVICES_FOLDER || fol
7
8
  export const serviceFileFolders = (folder) => folder === SERVICES_FOLDER
8
9
  ? [ENDPOINT_LISTS_FOLDER, SERVICES_FOLDER]
9
10
  : [folder];
11
+ export const companionElementType = (type) => type === ElementType.Service
12
+ ? ElementType.EndpointList
13
+ : type === ElementType.EndpointList
14
+ ? ElementType.Service
15
+ : undefined;
10
16
  export function classifyEndpoints(endpoints) {
11
17
  if (!Array.isArray(endpoints)) {
12
18
  return 'none';
@@ -59,7 +65,7 @@ export function readServiceFileParts(filePath, fsImpl) {
59
65
  const data = parseJson(fsImpl.readFileSync(filePath, 'utf8'));
60
66
  return splitServiceFile(data, filePath);
61
67
  }
62
- const isEndpointKeys = (value) => classifyEndpoints(value) === 'keys';
68
+ export const isEndpointKeys = (value) => classifyEndpoints(value) === 'keys';
63
69
  const endpointFileKeys = (elements) => elements
64
70
  .filter((element) => element.folder === ENDPOINTS_FOLDER)
65
71
  .map((element) => element.key);
@@ -1 +1 @@
1
- {"version":3,"file":"serviceFile.js","sourceRoot":"","sources":["../../src/utils/serviceFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceFile.js","sourceRoot":"","sources":["../../src/utils/serviceFile.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,27 @@
1
+ import type { ElementTarget } from './elementFiles.js';
1
2
  import type { GreatFile } from './greatFile.js';
2
- import type { ResolveElementIncludeQuery } from '../generated/operations.js';
3
+ import type { ResolveTemplateImportQuery } from '../generated/operations.js';
3
4
  import type { GreatFs } from '../types.js';
4
- export type ResolvedShadow = ResolveElementIncludeQuery['resolveElementInclude'];
5
+ export type ResolvedShadow = ResolveTemplateImportQuery['resolveTemplateImport']['elements'][number];
5
6
  export interface ShadowConflict {
6
7
  key: string;
7
8
  folder: string;
8
9
  reason: string;
9
10
  }
10
11
  export interface WriteShadowsResult {
11
- written: {
12
- folder: string;
13
- key: string;
14
- }[];
12
+ written: ElementTarget[];
13
+ merged: ElementTarget[];
15
14
  skipped: ResolvedShadow[];
16
15
  conflicts: ShadowConflict[];
17
16
  }
17
+ export type ShadowMode = 'include' | 'import';
18
18
  interface WriteShadowsOptions {
19
+ mode: ShadowMode;
19
20
  root?: string;
20
21
  fsImpl?: GreatFs;
21
22
  }
22
- export declare function writeShadowElements(great: GreatFile, resolved: readonly ResolvedShadow[], options?: WriteShadowsOptions): WriteShadowsResult;
23
+ export declare function isLocalOccupant(great: GreatFile, folder: string, key: string, root: string | undefined, fsImpl: GreatFs): boolean;
24
+ export declare const findLocalOccupants: (great: GreatFile, elements: readonly ResolvedShadow[], root: string | undefined, fsImpl: GreatFs) => ElementTarget[];
25
+ export declare function writeShadowElements(great: GreatFile, resolved: readonly ResolvedShadow[], options: WriteShadowsOptions): WriteShadowsResult;
23
26
  export declare function logShadowConflicts(verb: string, conflicts: readonly ShadowConflict[], log: (message: string) => void): void;
24
27
  export {};