@aws-amplify/amplify-util-uibuilder 1.5.0-studio-forms.0 → 1.5.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 (63) hide show
  1. package/CHANGELOG.md +1 -2
  2. package/amplify-plugin.json +3 -10
  3. package/lib/clients/amplify-studio-client.d.ts +2 -13
  4. package/lib/clients/amplify-studio-client.d.ts.map +1 -1
  5. package/lib/clients/amplify-studio-client.js +4 -72
  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 +15 -36
  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 +2 -12
  15. package/lib/commands/utils/codegenResources.d.ts.map +1 -1
  16. package/lib/commands/utils/codegenResources.js +3 -70
  17. package/lib/commands/utils/codegenResources.js.map +1 -1
  18. package/lib/commands/utils/getUiBuilderComponentsPath.d.ts.map +1 -1
  19. package/lib/commands/utils/getUiBuilderComponentsPath.js.map +1 -1
  20. package/lib/commands/utils/syncAmplifyUiBuilderComponents.d.ts +20 -12
  21. package/lib/commands/utils/syncAmplifyUiBuilderComponents.d.ts.map +1 -1
  22. package/lib/commands/utils/syncAmplifyUiBuilderComponents.js +3 -36
  23. package/lib/commands/utils/syncAmplifyUiBuilderComponents.js.map +1 -1
  24. package/lib/commands/version.d.ts +1 -1
  25. package/lib/commands/version.d.ts.map +1 -1
  26. package/lib/commands/version.js +2 -2
  27. package/lib/commands/version.js.map +1 -1
  28. package/lib/event-handlers/handle-PostEnvAdd.d.ts +1 -1
  29. package/lib/event-handlers/handle-PostEnvAdd.d.ts.map +1 -1
  30. package/lib/event-handlers/handle-PostEnvAdd.js +6 -4
  31. package/lib/event-handlers/handle-PostEnvAdd.js.map +1 -1
  32. package/lib/event-handlers/handle-PostPull.d.ts +1 -1
  33. package/lib/event-handlers/handle-PostPull.d.ts.map +1 -1
  34. package/lib/event-handlers/handle-PostPull.js +3 -4
  35. package/lib/event-handlers/handle-PostPull.js.map +1 -1
  36. package/package.json +7 -8
  37. package/src/__tests__/cloneComponentsFromEnv.test.ts +0 -11
  38. package/src/__tests__/createUiBuilderComponent.test.ts +1 -19
  39. package/src/__tests__/generateComponents.test.ts +1 -35
  40. package/src/__tests__/getAmplifyDataSchema.test.ts +3 -43
  41. package/src/__tests__/handleEvents.test.ts +21 -0
  42. package/src/__tests__/syncAmplifyUiComponents.test.ts +8 -111
  43. package/src/clients/amplify-studio-client.ts +63 -146
  44. package/src/commands/generateComponents.ts +16 -46
  45. package/src/commands/help.ts +2 -5
  46. package/src/commands/utils/codegenResources.ts +4 -108
  47. package/src/commands/utils/getUiBuilderComponentsPath.ts +2 -7
  48. package/src/commands/utils/syncAmplifyUiBuilderComponents.ts +29 -74
  49. package/src/commands/version.ts +2 -5
  50. package/src/event-handlers/handle-PostEnvAdd.ts +6 -8
  51. package/src/event-handlers/handle-PostPull.ts +3 -7
  52. package/tsconfig.tsbuildinfo +1 -1
  53. package/lib/commands/utils/featureFlags.d.ts +0 -3
  54. package/lib/commands/utils/featureFlags.d.ts.map +0 -1
  55. package/lib/commands/utils/featureFlags.js +0 -34
  56. package/lib/commands/utils/featureFlags.js.map +0 -1
  57. package/lib/event-handlers/handle-PostPush.d.ts +0 -3
  58. package/lib/event-handlers/handle-PostPush.d.ts.map +0 -1
  59. package/lib/event-handlers/handle-PostPush.js +0 -15
  60. package/lib/event-handlers/handle-PostPush.js.map +0 -1
  61. package/src/__tests__/utils.ts +0 -70
  62. package/src/commands/utils/featureFlags.ts +0 -61
  63. package/src/event-handlers/handle-PostPush.ts +0 -15
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateUiBuilderForms = exports.generateUiBuilderThemes = exports.generateUiBuilderComponents = void 0;
3
+ 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");
6
5
  const codegenResources_1 = require("./codegenResources");
7
6
  const getUiBuilderComponentsPath_1 = require("./getUiBuilderComponentsPath");
8
7
  const generateUiBuilderComponents = (context, componentSchemas, dataSchema) => {
9
8
  const componentResults = componentSchemas.map(schema => {
10
9
  try {
11
10
  const component = (0, codegenResources_1.createUiBuilderComponent)(context, schema, dataSchema);
12
- return { resultType: 'SUCCESS', schema: component };
11
+ return { resultType: 'SUCCESS', component };
13
12
  }
14
13
  catch (e) {
15
14
  amplify_prompts_1.printer.debug(`Failure caught processing ${schema.name}`);
@@ -25,7 +24,7 @@ const generateUiBuilderThemes = (context, themeSchemas) => {
25
24
  const themeResults = themeSchemas.map(schema => {
26
25
  try {
27
26
  const theme = (0, codegenResources_1.createUiBuilderTheme)(context, schema);
28
- return { resultType: 'SUCCESS', schema: theme };
27
+ return { resultType: 'SUCCESS', theme };
29
28
  }
30
29
  catch (e) {
31
30
  amplify_prompts_1.printer.debug(`Failure caught processing ${schema.name}`);
@@ -37,36 +36,4 @@ const generateUiBuilderThemes = (context, themeSchemas) => {
37
36
  return themeResults;
38
37
  };
39
38
  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;
72
39
  //# sourceMappingURL=syncAmplifyUiBuilderComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncAmplifyUiBuilderComponents.js","sourceRoot":"","sources":["../../../src/commands/utils/syncAmplifyUiBuilderComponents.ts"],"names":[],"mappings":"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"}
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,2 +1,2 @@
1
- export declare const run: () => Promise<void>;
1
+ export declare function 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":"AAMA,eAAO,MAAM,GAAG,QAAa,QAAQ,IAAI,CAExC,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,kBAExB"}
@@ -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
- const run = async () => {
28
+ async function run() {
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;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
+ {"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,3 +1,3 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- export declare const run: (context: $TSContext) => Promise<void>;
2
+ export declare function 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;AAQ9C,eAAO,MAAM,GAAG,YAAmB,UAAU,KAAG,QAAQ,IAAI,CAO3D,CAAC"}
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"}
@@ -2,14 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.run = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
- const cloneComponentsFromEnv_1 = require("../commands/cloneComponentsFromEnv");
6
- const run = async (context) => {
5
+ async function run(context) {
7
6
  try {
8
- await (0, cloneComponentsFromEnv_1.run)(context);
7
+ await context.amplify.invokePluginMethod(context, 'ui-builder', undefined, 'executeAmplifyCommand', [
8
+ context,
9
+ 'cloneComponentsFromEnv',
10
+ ]);
9
11
  }
10
12
  catch (e) {
11
13
  amplify_prompts_1.printer.debug(e);
12
14
  }
13
- };
15
+ }
14
16
  exports.run = run;
15
17
  //# 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;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
+ {"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,3 +1,3 @@
1
1
  import { $TSContext } from 'amplify-cli-core';
2
- export declare const run: (context: $TSContext) => Promise<void>;
2
+ export declare function 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;AAO9C,eAAO,MAAM,GAAG,YAAmB,UAAU,KAAG,QAAQ,IAAI,CAO3D,CAAC"}
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"}
@@ -2,14 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.run = void 0;
4
4
  const amplify_prompts_1 = require("amplify-prompts");
5
- const generateComponents_1 = require("../commands/generateComponents");
6
- const run = async (context) => {
5
+ async function run(context) {
7
6
  try {
8
- await (0, generateComponents_1.run)(context);
7
+ await context.amplify.invokePluginMethod(context, 'ui-builder', undefined, 'executeAmplifyCommand', [context, 'generateComponents']);
9
8
  }
10
9
  catch (e) {
11
10
  amplify_prompts_1.printer.debug(e);
12
11
  }
13
- };
12
+ }
14
13
  exports.run = run;
15
14
  //# 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;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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/amplify-util-uibuilder",
3
- "version": "1.5.0-studio-forms.0",
3
+ "version": "1.5.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -13,12 +13,11 @@
13
13
  "access": "public"
14
14
  },
15
15
  "dependencies": {
16
- "@aws-amplify/codegen-ui": "^2.5.1",
17
- "@aws-amplify/codegen-ui-react": "^2.5.1",
18
- "amplify-cli-core": "3.2.2-studio-forms.0",
19
- "amplify-prompts": "2.6.0-studio-forms.0",
20
- "aws-sdk": "^2.1221.0",
21
- "fs-extra": "^8.1.0",
16
+ "@aws-amplify/codegen-ui": "^2.4.2",
17
+ "@aws-amplify/codegen-ui-react": "^2.4.2",
18
+ "amplify-cli-core": "3.2.2",
19
+ "amplify-prompts": "2.6.0",
20
+ "aws-sdk": "^2.1113.0",
22
21
  "ora": "^4.0.3"
23
22
  },
24
23
  "devDependencies": {
@@ -68,5 +67,5 @@
68
67
  "usePathForSuiteName": "true",
69
68
  "addFileAttribute": "true"
70
69
  },
71
- "gitHead": "bfbfe627dd6e3b01f19425aad3bea39b0c3b5d6a"
70
+ "gitHead": "c4f1e5f3b3dc4e92ccc4561610fa00beac7b3a1f"
72
71
  }
@@ -5,9 +5,6 @@ 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().mockImplementation(() => 2)
10
- }));
11
8
  jest.mock('../commands/utils/extractArgs');
12
9
  jest.mock('amplify-cli-core');
13
10
 
@@ -48,14 +45,6 @@ describe('can clone components to new environment', () => {
48
45
  promise: () => mockedComponentExport(environmentName),
49
46
  })),
50
47
  createComponent: jest.fn(() => ({ promise: () => mockedComponentCreate() })),
51
- getMetadata: jest.fn(() => ({
52
- promise: jest.fn(() => ({
53
- features: {
54
- autoGenerateForms: 'true',
55
- autoGenerateViews: 'true',
56
- },
57
- })),
58
- })),
59
48
  }));
60
49
  });
61
50
 
@@ -3,12 +3,11 @@ import {
3
3
  generateAmplifyUiBuilderIndexFile,
4
4
  createUiBuilderTheme,
5
5
  createUiBuilderComponent,
6
- createUiBuilderForm,
7
- generateAmplifyUiBuilderUtilFile,
8
6
  } from '../commands/utils/codegenResources';
9
7
 
10
8
  jest.mock('@aws-amplify/codegen-ui');
11
9
  const codegenMock = codegen as any;
10
+ const renderSchemaToTemplateMock = jest.fn();
12
11
 
13
12
  describe('can create a ui builder component', () => {
14
13
  let context: any;
@@ -43,7 +42,6 @@ describe('can create a ui builder component', () => {
43
42
  properties: {},
44
43
  variants: [],
45
44
  };
46
- const renderSchemaToTemplateMock = jest.fn();
47
45
  codegenMock.StudioTemplateRendererManager = jest.fn().mockImplementation(() => ({
48
46
  renderSchemaToTemplate: renderSchemaToTemplateMock,
49
47
  }));
@@ -56,24 +54,8 @@ describe('can create a ui builder component', () => {
56
54
  createUiBuilderTheme(context, schema);
57
55
  expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
58
56
  });
59
- it('calls the renderManager for forms', () => {
60
- createUiBuilderForm(context, schema);
61
- expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
62
- });
63
57
  it('calls the renderManager for index file', () => {
64
58
  generateAmplifyUiBuilderIndexFile(context, [schema]);
65
59
  expect(new codegenMock.StudioTemplateRendererManager().renderSchemaToTemplate).toBeCalled();
66
60
  });
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
- });
79
61
  });
@@ -1,5 +1,4 @@
1
1
  import aws from 'aws-sdk'; // eslint-disable-line import/no-extraneous-dependencies
2
- import { CloudformationProviderFacade } from 'amplify-cli-core';
3
2
  import * as utils from '../commands/utils';
4
3
  import { run } from '../commands/generateComponents';
5
4
 
@@ -10,12 +9,6 @@ const utilsMock = utils as any;
10
9
 
11
10
  utilsMock.shouldRenderComponents = jest.fn().mockImplementation(() => true);
12
11
  utilsMock.notifyMissingPackages = jest.fn().mockImplementation(() => true);
13
- CloudformationProviderFacade.isAmplifyAdminApp = jest.fn().mockImplementation(() => ({
14
- isAdminApp: true,
15
- }));
16
- jest.mock('../commands/utils/featureFlags', () => ({
17
- getTransformerVersion: jest.fn().mockImplementation(() => 2)
18
- }));
19
12
 
20
13
  describe('can generate components', () => {
21
14
  let context: any;
@@ -53,44 +46,17 @@ describe('can generate components', () => {
53
46
  exportThemes: jest.fn(() => ({
54
47
  promise: () => mockedExport(),
55
48
  })),
56
- exportForms: jest.fn(() => ({
57
- promise: () => mockedExport(),
58
- })),
59
- exportViews: jest.fn(() => ({
60
- promise: () => mockedExport(),
61
- })),
62
- getMetadata: jest.fn(() => ({
63
- promise: jest.fn(() => ({
64
- features: {
65
- autoGenerateForms: 'true',
66
- autoGenerateViews: 'true',
67
- },
68
- })),
69
- })),
70
49
  }));
71
50
  utilsMock.generateUiBuilderComponents = jest.fn().mockImplementation(() => schemas.entities);
72
51
  utilsMock.generateUiBuilderThemes = jest.fn().mockImplementation(() => schemas.entities);
73
- utilsMock.generateUiBuilderForms = jest.fn().mockImplementation(() => schemas.entities);
74
52
  utilsMock.getAmplifyDataSchema = jest.fn().mockImplementation(() => undefined);
75
53
  utilsMock.generateAmplifyUiBuilderIndexFile = jest.fn().mockImplementation(() => true);
76
- utilsMock.generateAmplifyUiBuilderUtilFile = jest.fn().mockImplementation(() => true);
77
54
  });
78
55
 
79
56
  it('runs generateComponents', async () => {
80
57
  await run(context);
81
- expect(mockedExport).toBeCalledTimes(3);
58
+ expect(mockedExport).toBeCalledTimes(2);
82
59
  expect(utilsMock.generateUiBuilderComponents).toBeCalledTimes(1);
83
60
  expect(utilsMock.generateUiBuilderThemes).toBeCalledTimes(1);
84
- expect(utilsMock.generateUiBuilderForms).toBeCalledTimes(1);
85
- });
86
- it('does not run generateComponents if not Amplify Admin app', async () => {
87
- CloudformationProviderFacade.isAmplifyAdminApp = jest.fn().mockImplementationOnce(() => ({
88
- isAdminApp: false,
89
- }));
90
- await run(context);
91
- expect(mockedExport).toBeCalledTimes(0);
92
- expect(utilsMock.generateUiBuilderComponents).toBeCalledTimes(0);
93
- expect(utilsMock.generateUiBuilderThemes).toBeCalledTimes(0);
94
- expect(utilsMock.generateUiBuilderForms).toBeCalledTimes(0);
95
61
  });
96
62
  });
@@ -1,7 +1,6 @@
1
1
  import aws from 'aws-sdk'; // eslint-disable-line import/no-extraneous-dependencies
2
- import { AmplifyCategories, AmplifySupportedService, FeatureFlags } from 'amplify-cli-core'; // eslint-disable-line import/no-extraneous-dependencies
2
+ import { AmplifyCategories, AmplifySupportedService } from 'amplify-cli-core'; // eslint-disable-line import/no-extraneous-dependencies
3
3
  import { printer } from 'amplify-prompts'; // eslint-disable-line import/no-extraneous-dependencies
4
- import { mocked } from 'ts-jest/utils';
5
4
  import { AmplifyStudioClient } from '../clients';
6
5
  import { getAmplifyDataSchema } from '../commands/utils';
7
6
 
@@ -18,19 +17,14 @@ jest.mock('amplify-cli-core', () => ({
18
17
  },
19
18
  },
20
19
  })),
21
- getCLIJSON: jest.fn().mockReturnValue({ features: { graphqltransformer: { transformerversion: 1 } } }),
22
- setCLIJSON: jest.fn(),
23
20
  },
24
21
  FeatureFlags: {
25
- getBoolean: () => true,
26
- getNumber: jest.fn(),
27
- reloadValues: jest.fn(),
22
+ getBoolean: () => false,
23
+ getNumber: () => 0,
28
24
  },
29
25
  }));
30
26
  jest.mock('amplify-prompts');
31
27
 
32
- const mockedFeatureFlags = mocked(FeatureFlags);
33
-
34
28
  const getMockedSchema = jest.fn(
35
29
  // eslint-disable-next-line no-useless-escape, spellcheck/spell-checker
36
30
  () => `export const schema = {\n \"models\": {\n \"Blog\": {\n \"name\": \"Blog\",\n \"fields\": {\n \"id\": {\n \"name\": \"id\",\n \"isArray\": false,\n \"type\": \"ID\",\n \"isRequired\": true,\n \"attributes\": []\n },\n \"title\": {\n \"name\": \"title\",\n \"isArray\": false,\n \"type\": \"String\",\n \"isRequired\": false,\n \"attributes\": []\n },\n \"content\": {\n \"name\": \"content\",\n \"isArray\": false,\n \"type\": \"String\",\n \"isRequired\": false,\n \"attributes\": []\n },\n \"status\": {\n \"name\": \"status\",\n \"isArray\": false,\n \"type\": {\n \"enum\": \"Status\"\n },\n \"isRequired\": false,\n \"attributes\": []\n },\n \"createdAt\": {\n \"name\": \"createdAt\",\n \"isArray\": false,\n \"type\": \"AWSDateTime\",\n \"isRequired\": false,\n \"attributes\": [],\n \"isReadOnly\": true\n },\n \"updatedAt\": {\n \"name\": \"updatedAt\",\n \"isArray\": false,\n \"type\": \"AWSDateTime\",\n \"isRequired\": false,\n \"attributes\": [],\n \"isReadOnly\": true\n }\n },\n \"syncable\": true,\n \"pluralName\": \"Blogs\",\n \"attributes\": [\n {\n \"type\": \"model\",\n \"properties\": {}\n },\n {\n \"type\": \"auth\",\n \"properties\": {\n \"rules\": [\n {\n \"allow\": \"public\",\n \"operations\": [\n \"create\",\n \"update\",\n \"delete\",\n \"read\"\n ]\n }\n ]\n }\n }\n ]\n }\n },\n \"enums\": {\n \"Status\": {\n \"name\": \"Status\",\n \"values\": [\n \"ENABLED\",\n \"DISABLED\"\n ]\n }\n },\n \"nonModels\": {},\n \"version\": \"demo\"\n};`,
@@ -39,20 +33,6 @@ const getMockedSchema = jest.fn(
39
33
  describe('should sync amplify backend models', () => {
40
34
  let context: any;
41
35
 
42
- beforeAll(() => {
43
- // set metadata response
44
- awsMock.AmplifyUIBuilder = jest.fn(() => ({
45
- getMetadata: jest.fn(() => ({
46
- promise: jest.fn(() => ({
47
- features: {
48
- autoGenerateForms: 'true',
49
- autoGenerateViews: 'true',
50
- },
51
- })),
52
- })),
53
- }));
54
- });
55
-
56
36
  beforeEach(() => {
57
37
  context = {
58
38
  exeInfo: {
@@ -76,11 +56,7 @@ describe('should sync amplify backend models', () => {
76
56
  envName: 'testEnvName',
77
57
  },
78
58
  },
79
- print: { warning: jest.fn() },
80
59
  };
81
-
82
- mockedFeatureFlags.getNumber.mockReturnValue(2);
83
- getMockedSchema.mockClear();
84
60
  });
85
61
 
86
62
  it('should getAmplifyBackendModels', async () => {
@@ -98,22 +74,6 @@ describe('should sync amplify backend models', () => {
98
74
  expect(Object.keys(dataSchema!.models)).toContain('Blog');
99
75
  });
100
76
 
101
- it('should not getAmplifyBackendModels and return undefined if graphQLTransformer version not supported', async () => {
102
- mockedFeatureFlags.getNumber.mockReturnValue(1);
103
-
104
- awsMock.AmplifyBackend = jest.fn(() => ({
105
- getBackendAPIModels: jest.fn(() => ({
106
- promise: () => ({
107
- Models: getMockedSchema(),
108
- }),
109
- })),
110
- }));
111
- const client = await AmplifyStudioClient.setClientInfo(context);
112
- const dataSchema = await getAmplifyDataSchema(client);
113
- expect(getMockedSchema).not.toBeCalled();
114
- expect(dataSchema).toBeUndefined();
115
- });
116
-
117
77
  it('should handle Models not found', async () => {
118
78
  awsMock.AmplifyBackend = jest.fn(() => ({
119
79
  getBackendAPIModels: jest.fn(() => ({
@@ -0,0 +1,21 @@
1
+ import { run as runPostEnvAdd } from '../event-handlers/handle-PostEnvAdd';
2
+ import { run as runPostPull } from '../event-handlers/handle-PostPull';
3
+
4
+ describe('can handle events', () => {
5
+ let context: any;
6
+ beforeEach(() => {
7
+ context = {
8
+ amplify: {
9
+ invokePluginMethod: jest.fn(),
10
+ },
11
+ };
12
+ });
13
+ it('handles postEnvAdd', async () => {
14
+ await runPostEnvAdd(context);
15
+ expect(context.amplify.invokePluginMethod).toBeCalledTimes(1);
16
+ });
17
+ it('handles postPull', async () => {
18
+ await runPostPull(context);
19
+ expect(context.amplify.invokePluginMethod).toBeCalledTimes(1);
20
+ });
21
+ });