@aws-amplify/amplify-util-uibuilder 1.5.0 → 1.6.0-cdkv2.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 (69) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/amplify-plugin.json +10 -3
  3. package/lib/clients/amplify-studio-client.d.ts +13 -2
  4. package/lib/clients/amplify-studio-client.d.ts.map +1 -1
  5. package/lib/clients/amplify-studio-client.js +85 -17
  6. package/lib/clients/amplify-studio-client.js.map +1 -1
  7. package/lib/commands/generateComponents.d.ts.map +1 -1
  8. package/lib/commands/generateComponents.js +33 -15
  9. package/lib/commands/generateComponents.js.map +1 -1
  10. package/lib/commands/help.d.ts +1 -1
  11. package/lib/commands/help.d.ts.map +1 -1
  12. package/lib/commands/help.js +2 -2
  13. package/lib/commands/help.js.map +1 -1
  14. package/lib/commands/utils/codegenResources.d.ts +12 -2
  15. package/lib/commands/utils/codegenResources.d.ts.map +1 -1
  16. package/lib/commands/utils/codegenResources.js +70 -3
  17. package/lib/commands/utils/codegenResources.js.map +1 -1
  18. package/lib/commands/utils/featureFlags.d.ts +2 -0
  19. package/lib/commands/utils/featureFlags.d.ts.map +1 -0
  20. package/lib/commands/utils/featureFlags.js +35 -0
  21. package/lib/commands/utils/featureFlags.js.map +1 -0
  22. package/lib/commands/utils/getUiBuilderComponentsPath.d.ts.map +1 -1
  23. package/lib/commands/utils/getUiBuilderComponentsPath.js.map +1 -1
  24. package/lib/commands/utils/shouldRenderComponents.d.ts +1 -1
  25. package/lib/commands/utils/shouldRenderComponents.d.ts.map +1 -1
  26. package/lib/commands/utils/shouldRenderComponents.js +14 -8
  27. package/lib/commands/utils/shouldRenderComponents.js.map +1 -1
  28. package/lib/commands/utils/syncAmplifyUiBuilderComponents.d.ts +12 -20
  29. package/lib/commands/utils/syncAmplifyUiBuilderComponents.d.ts.map +1 -1
  30. package/lib/commands/utils/syncAmplifyUiBuilderComponents.js +36 -3
  31. package/lib/commands/utils/syncAmplifyUiBuilderComponents.js.map +1 -1
  32. package/lib/commands/version.d.ts +1 -1
  33. package/lib/commands/version.d.ts.map +1 -1
  34. package/lib/commands/version.js +2 -2
  35. package/lib/commands/version.js.map +1 -1
  36. package/lib/event-handlers/handle-PostEnvAdd.d.ts +1 -1
  37. package/lib/event-handlers/handle-PostEnvAdd.d.ts.map +1 -1
  38. package/lib/event-handlers/handle-PostEnvAdd.js +4 -6
  39. package/lib/event-handlers/handle-PostEnvAdd.js.map +1 -1
  40. package/lib/event-handlers/handle-PostPull.d.ts +1 -1
  41. package/lib/event-handlers/handle-PostPull.d.ts.map +1 -1
  42. package/lib/event-handlers/handle-PostPull.js +4 -3
  43. package/lib/event-handlers/handle-PostPull.js.map +1 -1
  44. package/lib/event-handlers/handle-PostPush.d.ts +3 -0
  45. package/lib/event-handlers/handle-PostPush.d.ts.map +1 -0
  46. package/lib/event-handlers/handle-PostPush.js +15 -0
  47. package/lib/event-handlers/handle-PostPush.js.map +1 -0
  48. package/package.json +7 -6
  49. package/src/__tests__/cloneComponentsFromEnv.test.ts +17 -6
  50. package/src/__tests__/createUiBuilderComponent.test.ts +21 -3
  51. package/src/__tests__/generateComponents.test.ts +43 -15
  52. package/src/__tests__/getAmplifyDataSchema.test.ts +51 -19
  53. package/src/__tests__/shouldRenderComponents.test.ts +51 -4
  54. package/src/__tests__/syncAmplifyUiComponents.test.ts +113 -8
  55. package/src/__tests__/utils.ts +70 -0
  56. package/src/clients/amplify-studio-client.ts +157 -69
  57. package/src/commands/generateComponents.ts +43 -16
  58. package/src/commands/help.ts +5 -2
  59. package/src/commands/utils/codegenResources.ts +108 -4
  60. package/src/commands/utils/featureFlags.ts +62 -0
  61. package/src/commands/utils/getUiBuilderComponentsPath.ts +7 -2
  62. package/src/commands/utils/shouldRenderComponents.ts +20 -8
  63. package/src/commands/utils/syncAmplifyUiBuilderComponents.ts +76 -29
  64. package/src/commands/version.ts +5 -2
  65. package/src/event-handlers/handle-PostEnvAdd.ts +8 -6
  66. package/src/event-handlers/handle-PostPull.ts +7 -3
  67. package/src/event-handlers/handle-PostPush.ts +15 -0
  68. package/tsconfig.tsbuildinfo +1 -1
  69. package/src/__tests__/handleEvents.test.ts +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"getUiBuilderComponentsPath.js","sourceRoot":"","sources":["../../../src/commands/utils/getUiBuilderComponentsPath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAC1B,+CAA4C;AAGrC,MAAM,0BAA0B,GAAG,CAAC,OAAmB,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;IACrG,MAAM,uBAAuB,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtF,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAC3C,kBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;KACxC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AAVW,QAAA,0BAA0B,8BAUrC"}
1
+ {"version":3,"file":"getUiBuilderComponentsPath.js","sourceRoot":"","sources":["../../../src/commands/utils/getUiBuilderComponentsPath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAE1B,+CAA4C;AAMrC,MAAM,0BAA0B,GAAG,CAAC,OAAmB,EAAU,EAAE;IACxE,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;IACrG,MAAM,uBAAuB,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtF,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAE3C,kBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;KACxC;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC"}
@@ -1,3 +1,3 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- export declare function shouldRenderComponents(context: $TSContext): Promise<boolean>;
2
+ export declare const shouldRenderComponents: (context: $TSContext) => Promise<boolean>;
3
3
  //# sourceMappingURL=shouldRenderComponents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shouldRenderComponents.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/shouldRenderComponents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,oBA+B/D"}
1
+ {"version":3,"file":"shouldRenderComponents.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/shouldRenderComponents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,eAAO,MAAM,sBAAsB,YAAmB,UAAU,KAAG,QAAQ,OAAO,CAoCjF,CAAC"}
@@ -2,33 +2,39 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.shouldRenderComponents = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
- async function shouldRenderComponents(context) {
5
+ const clients_1 = require("../../clients");
6
+ const environmentHelpers_1 = require("./environmentHelpers");
7
+ const shouldRenderComponents = async (context) => {
6
8
  var _a, _b, _c;
7
9
  if (process.env.FORCE_RENDER) {
8
10
  amplify_prompts_1.printer.debug('Forcing component render since environment variable flag is set.');
9
11
  return true;
10
12
  }
11
13
  if ((_b = (_a = context === null || context === void 0 ? void 0 : context.input) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b['no-codegen']) {
12
- amplify_prompts_1.printer.debug('Not pulling components because --no-codegen flag is set');
14
+ amplify_prompts_1.printer.debug('Not pulling components because --no-codegen flag is set.');
13
15
  return false;
14
16
  }
15
17
  if (!((_c = context === null || context === void 0 ? void 0 : context.exeInfo) === null || _c === void 0 ? void 0 : _c.projectConfig)) {
16
- amplify_prompts_1.printer.debug('Not pulling components because there is no projectConfig set for this project');
18
+ amplify_prompts_1.printer.debug('Not pulling components because there is no projectConfig set for this project.');
17
19
  return false;
18
20
  }
19
21
  if (!context.exeInfo.projectConfig.providers.includes('awscloudformation')) {
20
- amplify_prompts_1.printer.debug('Not pulling components because there is no "awscloudformation" provider');
22
+ amplify_prompts_1.printer.debug('Not pulling components because there is no "awscloudformation" provider.');
21
23
  return false;
22
24
  }
23
25
  if (context.exeInfo.projectConfig.frontend !== 'javascript') {
24
- amplify_prompts_1.printer.debug('Not pulling components because this project is not configured as a javascript frontend');
26
+ amplify_prompts_1.printer.debug('Not pulling components because this project is not configured as a javascript frontend.');
25
27
  return false;
26
28
  }
27
- if (context.exeInfo.projectConfig['javascript'].framework !== 'react') {
28
- amplify_prompts_1.printer.debug('Not pulling components because this project is not configured with the "react" framework');
29
+ if (context.exeInfo.projectConfig.javascript.framework !== 'react') {
30
+ amplify_prompts_1.printer.debug('Not pulling components because this project is not configured with the "react" framework.');
31
+ return false;
32
+ }
33
+ if (!(await clients_1.AmplifyStudioClient.isAmplifyApp(context, (0, environmentHelpers_1.getAppId)(context)))) {
34
+ amplify_prompts_1.printer.debug('Not pulling components because this project is not Amplify Studio enabled.');
29
35
  return false;
30
36
  }
31
37
  return true;
32
- }
38
+ };
33
39
  exports.shouldRenderComponents = shouldRenderComponents;
34
40
  //# sourceMappingURL=shouldRenderComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shouldRenderComponents.js","sourceRoot":"","sources":["../../../src/commands/utils/shouldRenderComponents.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AACnC,KAAK,UAAU,sBAAsB,CAAC,OAAmB;;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC5B,yBAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;KACb;IACD,IAAI,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,0CAAG,YAAY,CAAC,EAAE;QAC3C,yBAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,aAAa,CAAA,EAAE;QACpC,yBAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;QAC/F,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC1E,yBAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,YAAY,EAAE;QAC3D,yBAAO,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QACxG,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,KAAK,OAAO,EAAE;QACrE,yBAAO,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC1G,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA/BD,wDA+BC"}
1
+ {"version":3,"file":"shouldRenderComponents.js","sourceRoot":"","sources":["../../../src/commands/utils/shouldRenderComponents.ts"],"names":[],"mappings":";;;AAEA,qDAA0C;AAC1C,2CAAoD;AACpD,6DAAgD;AAKzC,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAmB,EAAoB,EAAE;;IACpF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;QAC5B,yBAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;KACb;IACD,IAAI,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,0CAAG,YAAY,CAAC,EAAE;QAC3C,yBAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,aAAa,CAAA,EAAE;QACpC,yBAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC1E,yBAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,YAAY,EAAE;QAC3D,yBAAO,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;QACzG,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,KAAK,OAAO,EAAE;QAClE,yBAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC3G,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,CAAC,MAAM,6BAAmB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAA,6BAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzE,yBAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC"}
@@ -1,25 +1,17 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- import { StudioComponent, StudioTheme, GenericDataSchema } from '@aws-amplify/codegen-ui';
3
- export declare const generateUiBuilderComponents: (context: $TSContext, componentSchemas: any[], dataSchema?: GenericDataSchema | undefined) => ({
4
- resultType: string;
5
- component: StudioComponent;
6
- schemaName?: undefined;
7
- error?: undefined;
2
+ import { StudioComponent, StudioTheme, GenericDataSchema, StudioForm, StudioSchema } from '@aws-amplify/codegen-ui';
3
+ declare type CodegenResponse<T extends StudioSchema> = {
4
+ resultType: 'SUCCESS';
5
+ schema: T;
6
+ schemaName?: string;
8
7
  } | {
9
- resultType: string;
8
+ resultType: 'FAILURE';
10
9
  schemaName: string;
11
10
  error: Error;
12
- component?: undefined;
13
- })[];
14
- export declare const generateUiBuilderThemes: (context: $TSContext, themeSchemas: any[]) => ({
15
- resultType: string;
16
- theme: StudioTheme;
17
- schemaName?: undefined;
18
- error?: undefined;
19
- } | {
20
- resultType: string;
21
- schemaName: string;
22
- error: Error;
23
- theme?: undefined;
24
- })[];
11
+ schema?: T;
12
+ };
13
+ export declare const generateUiBuilderComponents: (context: $TSContext, componentSchemas: any[], dataSchema?: GenericDataSchema | undefined) => CodegenResponse<StudioComponent>[];
14
+ export declare const generateUiBuilderThemes: (context: $TSContext, themeSchemas: any[]) => CodegenResponse<StudioTheme>[];
15
+ export declare const generateUiBuilderForms: (context: $TSContext, formSchemas: any[], dataSchema?: GenericDataSchema | undefined, autoGenerateForms?: boolean | undefined) => CodegenResponse<StudioForm>[];
16
+ export {};
25
17
  //# sourceMappingURL=syncAmplifyUiBuilderComponents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncAmplifyUiBuilderComponents.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/syncAmplifyUiBuilderComponents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAChD,MAAM,yBAAyB,CAAC;AAQjC,eAAO,MAAM,2BAA2B,YAAa,UAAU,oBAAoB,GAAG,EAAE,iDAAmC,CAAC;IAC1H,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GAAG;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC,EAkBD,CAAC;AAMF,eAAO,MAAM,uBAAuB,YAAa,UAAU,gBAAgB,GAAG,EAAE,KAAG,CAAC;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GAAG;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,EAgBD,CAAC"}
1
+ {"version":3,"file":"syncAmplifyUiBuilderComponents.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/syncAmplifyUiBuilderComponents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAC1E,MAAM,yBAAyB,CAAC;AASjC,aAAK,eAAe,CAAC,CAAC,SAAS,YAAY,IACvC;IACE,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAON,eAAO,MAAM,2BAA2B,YAC7B,UAAU,oBACD,GAAG,EAAE,iDAEtB,gBAAgB,eAAe,CAAC,EAkBlC,CAAC;AAMF,eAAO,MAAM,uBAAuB,YAAa,UAAU,gBAAgB,GAAG,EAAE,KAAG,gBAAgB,WAAW,CAAC,EAgB9G,CAAC;AAKF,eAAO,MAAM,sBAAsB,YAExB,UAAU,eACN,GAAG,EAAE,0FAGjB,gBAAgB,UAAU,CAAC,EAiC7B,CAAC"}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateUiBuilderThemes = exports.generateUiBuilderComponents = void 0;
3
+ exports.generateUiBuilderForms = exports.generateUiBuilderThemes = exports.generateUiBuilderComponents = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
+ const codegen_ui_1 = require("@aws-amplify/codegen-ui");
5
6
  const codegenResources_1 = require("./codegenResources");
6
7
  const getUiBuilderComponentsPath_1 = require("./getUiBuilderComponentsPath");
7
8
  const generateUiBuilderComponents = (context, componentSchemas, dataSchema) => {
8
9
  const componentResults = componentSchemas.map(schema => {
9
10
  try {
10
11
  const component = (0, codegenResources_1.createUiBuilderComponent)(context, schema, dataSchema);
11
- return { resultType: 'SUCCESS', component };
12
+ return { resultType: 'SUCCESS', schema: component };
12
13
  }
13
14
  catch (e) {
14
15
  amplify_prompts_1.printer.debug(`Failure caught processing ${schema.name}`);
@@ -24,7 +25,7 @@ const generateUiBuilderThemes = (context, themeSchemas) => {
24
25
  const themeResults = themeSchemas.map(schema => {
25
26
  try {
26
27
  const theme = (0, codegenResources_1.createUiBuilderTheme)(context, schema);
27
- return { resultType: 'SUCCESS', theme };
28
+ return { resultType: 'SUCCESS', schema: theme };
28
29
  }
29
30
  catch (e) {
30
31
  amplify_prompts_1.printer.debug(`Failure caught processing ${schema.name}`);
@@ -36,4 +37,36 @@ const generateUiBuilderThemes = (context, themeSchemas) => {
36
37
  return themeResults;
37
38
  };
38
39
  exports.generateUiBuilderThemes = generateUiBuilderThemes;
40
+ const generateUiBuilderForms = (context, formSchemas, dataSchema, autoGenerateForms) => {
41
+ const modelMap = {};
42
+ if ((dataSchema === null || dataSchema === void 0 ? void 0 : dataSchema.dataSourceType) === 'DataStore' && autoGenerateForms) {
43
+ Object.entries(dataSchema.models).forEach(([name, model]) => {
44
+ if ((0, codegen_ui_1.checkIsSupportedAsForm)(model) && !model.isJoinTable) {
45
+ modelMap[name] = new Set(['create', 'update']);
46
+ }
47
+ });
48
+ }
49
+ const codegenForm = (schema) => {
50
+ try {
51
+ const form = (0, codegenResources_1.createUiBuilderForm)(context, schema, dataSchema);
52
+ return { resultType: 'SUCCESS', schema: form };
53
+ }
54
+ catch (e) {
55
+ amplify_prompts_1.printer.debug(`Failure caught processing ${schema.name}`);
56
+ amplify_prompts_1.printer.debug(e);
57
+ return { resultType: 'FAILURE', schemaName: schema.name, error: e };
58
+ }
59
+ };
60
+ const formResults = formSchemas.map((schema) => {
61
+ var _a, _b;
62
+ if ((schema === null || schema === void 0 ? void 0 : schema.dataType) && ((_a = schema.dataType) === null || _a === void 0 ? void 0 : _a.dataSourceType) === 'DataStore') {
63
+ (_b = modelMap[schema.dataType.dataTypeName]) === null || _b === void 0 ? void 0 : _b.delete(schema.formActionType);
64
+ }
65
+ return codegenForm(schema);
66
+ });
67
+ formResults.push(...(0, codegenResources_1.generateBaseForms)(modelMap).map(codegenForm));
68
+ amplify_prompts_1.printer.debug(`Generated ${formResults.filter(result => result.resultType === 'SUCCESS').length} forms in ${(0, getUiBuilderComponentsPath_1.getUiBuilderComponentsPath)(context)}`);
69
+ return formResults;
70
+ };
71
+ exports.generateUiBuilderForms = generateUiBuilderForms;
39
72
  //# sourceMappingURL=syncAmplifyUiBuilderComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncAmplifyUiBuilderComponents.js","sourceRoot":"","sources":["../../../src/commands/utils/syncAmplifyUiBuilderComponents.ts"],"names":[],"mappings":";;;AAAA,qDAA0C;AAK1C,yDAAoF;AACpF,6EAA0E;AAMnE,MAAM,2BAA2B,GAAG,CAAC,OAAmB,EAAE,gBAAuB,EAAE,UAA8B,EAUnH,EAAE;IACL,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACrD,IAAI;YACF,MAAM,SAAS,GAAG,IAAA,2CAAwB,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,yBAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACrE;IACH,CAAC,CAAC,CAAC;IAEH,yBAAO,CAAC,KAAK,CACX,aAAa,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,kBAAkB,IAAA,uDAA0B,EAChI,OAAO,CACR,EAAE,CACJ,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AA5BW,QAAA,2BAA2B,+BA4BtC;AAMK,MAAM,uBAAuB,GAAG,CAAC,OAAmB,EAAE,YAAmB,EAU3E,EAAE;IACL,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC7C,IAAI;YACF,MAAM,KAAK,GAAG,IAAA,uCAAoB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,yBAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACrE;IACH,CAAC,CAAC,CAAC;IAEH,yBAAO,CAAC,KAAK,CACX,aAAa,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,cAAc,IAAA,uDAA0B,EAAC,OAAO,CAAC,EAAE,CACtI,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AA1BW,QAAA,uBAAuB,2BA0BlC"}
1
+ {"version":3,"file":"syncAmplifyUiBuilderComponents.js","sourceRoot":"","sources":["../../../src/commands/utils/syncAmplifyUiBuilderComponents.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function run(): Promise<void>;
1
+ export declare const run: () => Promise<void>;
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,kBAExB"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,QAAa,QAAQ,IAAI,CAExC,CAAC"}
@@ -25,8 +25,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.run = void 0;
26
26
  const amplify_prompts_1 = require("amplify-prompts");
27
27
  const path_1 = __importDefault(require("path"));
28
- async function run() {
28
+ const run = async () => {
29
29
  amplify_prompts_1.printer.info((await Promise.resolve().then(() => __importStar(require(path_1.default.join(__dirname, '..', '..', 'package.json'))))).version);
30
- }
30
+ };
31
31
  exports.run = run;
32
32
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA0C;AAC1C,gDAAwB;AAEjB,KAAK,UAAU,GAAG;IACvB,yBAAO,CAAC,IAAI,CAAC,CAAC,wDAAa,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,GAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC;AAFD,kBAEC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA0C;AAC1C,gDAAwB;AAKjB,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;IAC3C,yBAAO,CAAC,IAAI,CAAC,CAAC,wDAAa,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,GAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC,CAAC;AAFW,QAAA,GAAG,OAEd"}
@@ -1,3 +1,3 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- export declare function run(context: $TSContext): Promise<void>;
2
+ export declare const run: (context: $TSContext) => Promise<void>;
3
3
  //# sourceMappingURL=handle-PostEnvAdd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-PostEnvAdd.d.ts","sourceRoot":"","sources":["../../src/event-handlers/handle-PostEnvAdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,iBAU5C"}
1
+ {"version":3,"file":"handle-PostEnvAdd.d.ts","sourceRoot":"","sources":["../../src/event-handlers/handle-PostEnvAdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,eAAO,MAAM,GAAG,YAAmB,UAAU,KAAG,QAAQ,IAAI,CAO3D,CAAC"}
@@ -2,16 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.run = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
- async function run(context) {
5
+ const cloneComponentsFromEnv_1 = require("../commands/cloneComponentsFromEnv");
6
+ const run = async (context) => {
6
7
  try {
7
- await context.amplify.invokePluginMethod(context, 'ui-builder', undefined, 'executeAmplifyCommand', [
8
- context,
9
- 'cloneComponentsFromEnv',
10
- ]);
8
+ await (0, cloneComponentsFromEnv_1.run)(context);
11
9
  }
12
10
  catch (e) {
13
11
  amplify_prompts_1.printer.debug(e);
14
12
  }
15
- }
13
+ };
16
14
  exports.run = run;
17
15
  //# sourceMappingURL=handle-PostEnvAdd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-PostEnvAdd.js","sourceRoot":"","sources":["../../src/event-handlers/handle-PostEnvAdd.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AAEnC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,IAAI;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE;YAClG,OAAO;YACP,wBAAwB;SACzB,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QAEV,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC;AAVD,kBAUC"}
1
+ {"version":3,"file":"handle-PostEnvAdd.js","sourceRoot":"","sources":["../../src/event-handlers/handle-PostEnvAdd.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AAC1C,+EAAmF;AAM5E,MAAM,GAAG,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;IAC9D,IAAI;QACF,MAAM,IAAA,4BAAsB,EAAC,OAAO,CAAC,CAAC;KACvC;IAAC,OAAO,CAAC,EAAE;QAEV,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,GAAG,OAOd"}
@@ -1,3 +1,3 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- export declare function run(context: $TSContext): Promise<void>;
2
+ export declare const run: (context: $TSContext) => Promise<void>;
3
3
  //# sourceMappingURL=handle-PostPull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-PostPull.d.ts","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,iBAO5C"}
1
+ {"version":3,"file":"handle-PostPull.d.ts","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,eAAO,MAAM,GAAG,YAAmB,UAAU,KAAG,QAAQ,IAAI,CAO3D,CAAC"}
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.run = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
- async function run(context) {
5
+ const generateComponents_1 = require("../commands/generateComponents");
6
+ const run = async (context) => {
6
7
  try {
7
- await context.amplify.invokePluginMethod(context, 'ui-builder', undefined, 'executeAmplifyCommand', [context, 'generateComponents']);
8
+ await (0, generateComponents_1.run)(context);
8
9
  }
9
10
  catch (e) {
10
11
  amplify_prompts_1.printer.debug(e);
11
12
  }
12
- }
13
+ };
13
14
  exports.run = run;
14
15
  //# sourceMappingURL=handle-PostPull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-PostPull.js","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPull.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AAEnC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,IAAI;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;KACtI;IAAC,OAAO,CAAC,EAAE;QAEV,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC;AAPD,kBAOC"}
1
+ {"version":3,"file":"handle-PostPull.js","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPull.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AAC1C,uEAA2E;AAKpE,MAAM,GAAG,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;IAC9D,IAAI;QACF,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;KACnC;IAAC,OAAO,CAAC,EAAE;QAEV,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,GAAG,OAOd"}
@@ -0,0 +1,3 @@
1
+ import { $TSContext } from 'amplify-cli-core';
2
+ export declare const run: (context: $TSContext) => Promise<void>;
3
+ //# sourceMappingURL=handle-PostPush.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-PostPush.d.ts","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPush.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,eAAO,MAAM,GAAG,YAAmB,UAAU,KAAG,QAAQ,IAAI,CAO3D,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.run = void 0;
4
+ const amplify_prompts_1 = require("amplify-prompts");
5
+ const generateComponents_1 = require("../commands/generateComponents");
6
+ const run = async (context) => {
7
+ try {
8
+ await (0, generateComponents_1.run)(context);
9
+ }
10
+ catch (e) {
11
+ amplify_prompts_1.printer.debug(e);
12
+ }
13
+ };
14
+ exports.run = run;
15
+ //# sourceMappingURL=handle-PostPush.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-PostPush.js","sourceRoot":"","sources":["../../src/event-handlers/handle-PostPush.ts"],"names":[],"mappings":";;;AACA,qDAA0C;AAC1C,uEAA2E;AAKpE,MAAM,GAAG,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;IAC9D,IAAI;QACF,MAAM,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;KACnC;IAAC,OAAO,CAAC,EAAE;QAEV,yBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC,CAAC;AAPW,QAAA,GAAG,OAOd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/amplify-util-uibuilder",
3
- "version": "1.5.0",
3
+ "version": "1.6.0-cdkv2.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -13,11 +13,12 @@
13
13
  "access": "public"
14
14
  },
15
15
  "dependencies": {
16
- "@aws-amplify/codegen-ui": "^2.4.2",
17
- "@aws-amplify/codegen-ui-react": "^2.4.2",
18
- "amplify-cli-core": "3.2.2",
16
+ "@aws-amplify/codegen-ui": "2.5.2",
17
+ "@aws-amplify/codegen-ui-react": "2.5.2",
18
+ "amplify-cli-core": "4.0.0-cdkv2.0",
19
19
  "amplify-prompts": "2.6.0",
20
- "aws-sdk": "^2.1113.0",
20
+ "aws-sdk": "^2.1233.0",
21
+ "fs-extra": "^8.1.0",
21
22
  "ora": "^4.0.3"
22
23
  },
23
24
  "devDependencies": {
@@ -67,5 +68,5 @@
67
68
  "usePathForSuiteName": "true",
68
69
  "addFileAttribute": "true"
69
70
  },
70
- "gitHead": "c4f1e5f3b3dc4e92ccc4561610fa00beac7b3a1f"
71
+ "gitHead": "6a63f0c4abcdba01799057fbbab581a179143f31"
71
72
  }
@@ -5,6 +5,9 @@ import { run } from '../commands/cloneComponentsFromEnv';
5
5
  const extractArgsDependencyMock = extractArgsDependency as any;
6
6
  const awsMock = aws as any;
7
7
 
8
+ jest.mock('../commands/utils/featureFlags', () => ({
9
+ getTransformerVersion: jest.fn().mockReturnValue(2),
10
+ }));
8
11
  jest.mock('../commands/utils/extractArgs');
9
12
  jest.mock('amplify-cli-core');
10
13
 
@@ -18,7 +21,7 @@ const mockedComponentExport = jest.fn((envName: string) => {
18
21
  entities: [{}],
19
22
  };
20
23
  });
21
- const mockedComponentCreate = jest.fn(() => ({ entity: {} }));
24
+ const mockedComponentCreate = jest.fn().mockReturnValue({ entity: {} });
22
25
 
23
26
  describe('can clone components to new environment', () => {
24
27
  let context: any;
@@ -34,18 +37,26 @@ describe('can clone components to new environment', () => {
34
37
  },
35
38
  },
36
39
  };
37
- extractArgsDependencyMock.extractArgs = jest.fn().mockImplementation(() => ({
40
+ extractArgsDependencyMock.extractArgs = jest.fn().mockReturnValue({
38
41
  sourceEnvName: 'sourceEnvName',
39
42
  newEnvName: 'newEnvName',
40
43
  appId: 'appId',
41
44
  environmentName: 'environmentName',
42
- }));
43
- awsMock.AmplifyUIBuilder = jest.fn(() => ({
45
+ });
46
+ awsMock.AmplifyUIBuilder = jest.fn().mockReturnValue({
44
47
  exportComponents: jest.fn(({ environmentName }) => ({
45
48
  promise: () => mockedComponentExport(environmentName),
46
49
  })),
47
- createComponent: jest.fn(() => ({ promise: () => mockedComponentCreate() })),
48
- }));
50
+ createComponent: jest.fn().mockReturnValue({ promise: () => mockedComponentCreate() }),
51
+ getMetadata: jest.fn().mockReturnValue({
52
+ promise: jest.fn().mockReturnValue({
53
+ features: {
54
+ autoGenerateForms: 'true',
55
+ autoGenerateViews: 'true',
56
+ },
57
+ }),
58
+ }),
59
+ });
49
60
  });
50
61
 
51
62
  it('clones components to a new env', async () => {
@@ -3,11 +3,12 @@ import {
3
3
  generateAmplifyUiBuilderIndexFile,
4
4
  createUiBuilderTheme,
5
5
  createUiBuilderComponent,
6
+ createUiBuilderForm,
7
+ generateAmplifyUiBuilderUtilFile,
6
8
  } from '../commands/utils/codegenResources';
7
9
 
8
10
  jest.mock('@aws-amplify/codegen-ui');
9
11
  const codegenMock = codegen as any;
10
- const renderSchemaToTemplateMock = jest.fn();
11
12
 
12
13
  describe('can create a ui builder component', () => {
13
14
  let context: any;
@@ -42,9 +43,10 @@ describe('can create a ui builder component', () => {
42
43
  properties: {},
43
44
  variants: [],
44
45
  };
45
- codegenMock.StudioTemplateRendererManager = jest.fn().mockImplementation(() => ({
46
+ const renderSchemaToTemplateMock = jest.fn();
47
+ codegenMock.StudioTemplateRendererManager = jest.fn().mockReturnValue({
46
48
  renderSchemaToTemplate: renderSchemaToTemplateMock,
47
- }));
49
+ });
48
50
  });
49
51
  it('calls the renderManager', () => {
50
52
  createUiBuilderComponent(context, schema);
@@ -54,8 +56,24 @@ describe('can create a ui builder component', () => {
54
56
  createUiBuilderTheme(context, schema);
55
57
  expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
56
58
  });
59
+ it('calls the renderManager for forms', () => {
60
+ createUiBuilderForm(context, schema);
61
+ expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
62
+ });
57
63
  it('calls the renderManager for index file', () => {
58
64
  generateAmplifyUiBuilderIndexFile(context, [schema]);
59
65
  expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
60
66
  });
67
+ it('calls the renderManager for utils file w/ validation, formatter, and fetchByPath helpers if there is a form', () => {
68
+ generateAmplifyUiBuilderUtilFile(context, { hasForms: true, hasViews: false });
69
+ expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalledWith(expect.arrayContaining(['validation', 'formatter', 'fetchByPath']));
70
+ });
71
+ it('calls the renderManager for utils file w/ formatter helper if there is a view', () => {
72
+ generateAmplifyUiBuilderUtilFile(context, { hasForms: false, hasViews: true });
73
+ expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalledWith(['formatter']);
74
+ });
75
+ it('should not call the renderManager for utils file if there is neither form nor views', () => {
76
+ generateAmplifyUiBuilderUtilFile(context, { hasForms: false, hasViews: false });
77
+ expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalledTimes(0);
78
+ });
61
79
  });
@@ -7,8 +7,11 @@ jest.mock('amplify-cli-core');
7
7
  const awsMock = aws as any;
8
8
  const utilsMock = utils as any;
9
9
 
10
- utilsMock.shouldRenderComponents = jest.fn().mockImplementation(() => true);
11
- utilsMock.notifyMissingPackages = jest.fn().mockImplementation(() => true);
10
+ utilsMock.shouldRenderComponents = jest.fn().mockReturnValue(true);
11
+ utilsMock.notifyMissingPackages = jest.fn().mockReturnValue(true);
12
+ jest.mock('../commands/utils/featureFlags', () => ({
13
+ getTransformerVersion: jest.fn().mockImplementation(() => 2),
14
+ }));
12
15
 
13
16
  describe('can generate components', () => {
14
17
  let context: any;
@@ -36,27 +39,52 @@ describe('can generate components', () => {
36
39
  },
37
40
  ],
38
41
  };
39
- mockedExport = jest.fn(() => ({
42
+ mockedExport = jest.fn().mockReturnValue({
40
43
  entities: schemas.entities,
41
- }));
42
- awsMock.AmplifyUIBuilder = jest.fn(() => ({
43
- exportComponents: jest.fn(() => ({
44
+ });
45
+ awsMock.AmplifyUIBuilder = jest.fn().mockReturnValue({
46
+ exportComponents: jest.fn().mockReturnValue({
44
47
  promise: () => mockedExport(),
45
- })),
46
- exportThemes: jest.fn(() => ({
48
+ }),
49
+ exportThemes: jest.fn().mockReturnValue({
47
50
  promise: () => mockedExport(),
48
- })),
49
- }));
50
- utilsMock.generateUiBuilderComponents = jest.fn().mockImplementation(() => schemas.entities);
51
- utilsMock.generateUiBuilderThemes = jest.fn().mockImplementation(() => schemas.entities);
52
- utilsMock.getAmplifyDataSchema = jest.fn().mockImplementation(() => undefined);
53
- utilsMock.generateAmplifyUiBuilderIndexFile = jest.fn().mockImplementation(() => true);
51
+ }),
52
+ exportForms: jest.fn().mockReturnValue({
53
+ promise: () => mockedExport(),
54
+ }),
55
+ exportViews: jest.fn().mockReturnValue({
56
+ promise: () => mockedExport(),
57
+ }),
58
+ getMetadata: jest.fn().mockReturnValue({
59
+ promise: jest.fn().mockReturnValue({
60
+ features: {
61
+ autoGenerateForms: 'true',
62
+ autoGenerateViews: 'true',
63
+ },
64
+ }),
65
+ }),
66
+ });
67
+ utilsMock.generateUiBuilderComponents = jest.fn().mockReturnValue(schemas.entities);
68
+ utilsMock.generateUiBuilderThemes = jest.fn().mockReturnValue(schemas.entities);
69
+ utilsMock.generateUiBuilderForms = jest.fn().mockReturnValue(schemas.entities);
70
+ utilsMock.getAmplifyDataSchema = jest.fn().mockReturnValue(undefined);
71
+ utilsMock.generateAmplifyUiBuilderIndexFile = jest.fn().mockReturnValue(true);
72
+ utilsMock.generateAmplifyUiBuilderUtilFile = jest.fn().mockReturnValue(true);
54
73
  });
55
74
 
56
75
  it('runs generateComponents', async () => {
57
76
  await run(context);
58
- expect(mockedExport).toBeCalledTimes(2);
77
+ expect(mockedExport).toBeCalledTimes(3);
59
78
  expect(utilsMock.generateUiBuilderComponents).toBeCalledTimes(1);
60
79
  expect(utilsMock.generateUiBuilderThemes).toBeCalledTimes(1);
80
+ expect(utilsMock.generateUiBuilderForms).toBeCalledTimes(1);
81
+ });
82
+ it('does not run generateComponents if not Amplify Admin app', async () => {
83
+ utilsMock.shouldRenderComponents = jest.fn().mockReturnValue(false);
84
+ await run(context);
85
+ expect(mockedExport).toBeCalledTimes(0);
86
+ expect(utilsMock.generateUiBuilderComponents).toBeCalledTimes(0);
87
+ expect(utilsMock.generateUiBuilderThemes).toBeCalledTimes(0);
88
+ expect(utilsMock.generateUiBuilderForms).toBeCalledTimes(0);
61
89
  });
62
90
  });