@ngx-formbar/core 0.11.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 (201) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/fesm2022/ngx-formbar-core.mjs +2429 -0
  4. package/fesm2022/ngx-formbar-core.mjs.map +1 -0
  5. package/index.d.ts +5 -0
  6. package/lib/components/form/ngxfb-form.component.d.ts +28 -0
  7. package/lib/composables/computed-value.d.ts +8 -0
  8. package/lib/composables/disabled.state.d.ts +36 -0
  9. package/lib/composables/dynamic-label.d.ts +9 -0
  10. package/lib/composables/dynamic-title.d.ts +9 -0
  11. package/lib/composables/hidden.state.d.ts +68 -0
  12. package/lib/composables/readonly.state.d.ts +19 -0
  13. package/lib/composables/testId.d.ts +16 -0
  14. package/lib/composables/update-strategy.d.ts +20 -0
  15. package/lib/composables/validators.d.ts +22 -0
  16. package/lib/config/config.d.ts +7 -0
  17. package/lib/config/provide-formbar.d.ts +38 -0
  18. package/lib/directives/ngxfb-abstract-control.directive.d.ts +53 -0
  19. package/lib/directives/ngxfb-block.directive.d.ts +124 -0
  20. package/lib/directives/ngxfb-control.directive.d.ts +203 -0
  21. package/lib/directives/ngxfb-group.directive.d.ts +253 -0
  22. package/lib/helper/control-container-view-providers.d.ts +33 -0
  23. package/lib/index.d.ts +23 -0
  24. package/lib/services/component-registration.service.d.ts +8 -0
  25. package/lib/services/configuration.service.d.ts +8 -0
  26. package/lib/services/expression.service.d.ts +148 -0
  27. package/lib/services/form.service.d.ts +10 -0
  28. package/lib/services/validator-registration.service.d.ts +10 -0
  29. package/lib/tokens/component-registrations.d.ts +2 -0
  30. package/lib/tokens/component-resolver.d.ts +3 -0
  31. package/lib/tokens/default-update-strategy.d.ts +3 -0
  32. package/lib/tokens/global-config.d.ts +5 -0
  33. package/lib/tokens/validator-registrations.d.ts +8 -0
  34. package/lib/tokens/validator-resolver.d.ts +3 -0
  35. package/lib/types/component-resolver.type.d.ts +4 -0
  36. package/lib/types/content.type.d.ts +137 -0
  37. package/lib/types/expression.type.d.ts +2 -0
  38. package/lib/types/form.type.d.ts +4 -0
  39. package/lib/types/functions.type.d.ts +4 -0
  40. package/lib/types/global-configuration.type.d.ts +4 -0
  41. package/lib/types/provide.type.d.ts +42 -0
  42. package/lib/types/registration.type.d.ts +18 -0
  43. package/lib/types/validation.type.d.ts +59 -0
  44. package/lib/types/validator-resolver.type.d.ts +6 -0
  45. package/package.json +52 -0
  46. package/public-api.d.ts +1 -0
  47. package/schematics/block/files/__componentName@dasherize__.component.html.template +1 -0
  48. package/schematics/block/files/__componentName@dasherize__.component.ts.template +29 -0
  49. package/schematics/block/files/__interfaceName@dasherize__.type.ts.template +6 -0
  50. package/schematics/block/index.d.ts +3 -0
  51. package/schematics/block/index.js +11 -0
  52. package/schematics/block/index.js.map +1 -0
  53. package/schematics/block/schema.json +62 -0
  54. package/schematics/collection.json +31 -0
  55. package/schematics/control/files/__componentName@dasherize__.component.html.template +0 -0
  56. package/schematics/control/files/__componentName@dasherize__.component.ts.template +29 -0
  57. package/schematics/control/files/__interfaceName@dasherize__.type.ts.template +6 -0
  58. package/schematics/control/index.d.ts +3 -0
  59. package/schematics/control/index.js +11 -0
  60. package/schematics/control/index.js.map +1 -0
  61. package/schematics/control/schema.json +61 -0
  62. package/schematics/group/files/__componentName@dasherize__.component.html.template +5 -0
  63. package/schematics/group/files/__componentName@dasherize__.component.ts.template +29 -0
  64. package/schematics/group/files/__interfaceName@dasherize__.type.ts.template +5 -0
  65. package/schematics/group/index.d.ts +3 -0
  66. package/schematics/group/index.js +11 -0
  67. package/schematics/group/index.js.map +1 -0
  68. package/schematics/group/schema.json +62 -0
  69. package/schematics/ng-add/files/config-registrations/async-validator-registrations.ts.template +4 -0
  70. package/schematics/ng-add/files/config-registrations/component-registrations.ts.template +4 -0
  71. package/schematics/ng-add/files/config-registrations/index.ts.template +3 -0
  72. package/schematics/ng-add/files/config-registrations/validator-registrations.ts.template +4 -0
  73. package/schematics/ng-add/files/helper/block.host-directive.ts.template +6 -0
  74. package/schematics/ng-add/files/helper/control.host-directive.ts.template +6 -0
  75. package/schematics/ng-add/files/helper/group.host-directive.ts.template +6 -0
  76. package/schematics/ng-add/files/helper/index.ts.template +4 -0
  77. package/schematics/ng-add/files/helper/view-provider.ts.template +9 -0
  78. package/schematics/ng-add/files/provider-config/config/__providerConfigFileName__.ts.template +9 -0
  79. package/schematics/ng-add/files/provider-config/inline/__providerConfigFileName__.ts.template +8 -0
  80. package/schematics/ng-add/files/provider-config/token/__providerConfigFileName__.ts.template +4 -0
  81. package/schematics/ng-add/files/schematics-config/__schematicConfigFileName__.json.template +1 -0
  82. package/schematics/ng-add/files/token-registrations/async-validator-registrations.ts.template +8 -0
  83. package/schematics/ng-add/files/token-registrations/component-registrations.ts.template +8 -0
  84. package/schematics/ng-add/files/token-registrations/index.ts.template +3 -0
  85. package/schematics/ng-add/files/token-registrations/validator-registrations.ts.template +8 -0
  86. package/schematics/ng-add/helper.d.ts +11 -0
  87. package/schematics/ng-add/helper.js +198 -0
  88. package/schematics/ng-add/helper.js.map +1 -0
  89. package/schematics/ng-add/index.d.ts +3 -0
  90. package/schematics/ng-add/index.js +68 -0
  91. package/schematics/ng-add/index.js.map +1 -0
  92. package/schematics/ng-add/rules/create-config-registration-files.rule.d.ts +3 -0
  93. package/schematics/ng-add/rules/create-config-registration-files.rule.js +32 -0
  94. package/schematics/ng-add/rules/create-config-registration-files.rule.js.map +1 -0
  95. package/schematics/ng-add/rules/create-formbar-registration-config.rule.d.ts +3 -0
  96. package/schematics/ng-add/rules/create-formbar-registration-config.rule.js +30 -0
  97. package/schematics/ng-add/rules/create-formbar-registration-config.rule.js.map +1 -0
  98. package/schematics/ng-add/rules/create-helper-files.rule.d.ts +6 -0
  99. package/schematics/ng-add/rules/create-helper-files.rule.js +22 -0
  100. package/schematics/ng-add/rules/create-helper-files.rule.js.map +1 -0
  101. package/schematics/ng-add/rules/create-schematics-config.rule.d.ts +3 -0
  102. package/schematics/ng-add/rules/create-schematics-config.rule.js +42 -0
  103. package/schematics/ng-add/rules/create-schematics-config.rule.js.map +1 -0
  104. package/schematics/ng-add/rules/create-token-registration-files.rule.d.ts +3 -0
  105. package/schematics/ng-add/rules/create-token-registration-files.rule.js +32 -0
  106. package/schematics/ng-add/rules/create-token-registration-files.rule.js.map +1 -0
  107. package/schematics/ng-add/rules/include-templates.rule.d.ts +3 -0
  108. package/schematics/ng-add/rules/include-templates.rule.js +11 -0
  109. package/schematics/ng-add/rules/include-templates.rule.js.map +1 -0
  110. package/schematics/ng-add/rules/install-dependencies.rule.d.ts +2 -0
  111. package/schematics/ng-add/rules/install-dependencies.rule.js +12 -0
  112. package/schematics/ng-add/rules/install-dependencies.rule.js.map +1 -0
  113. package/schematics/ng-add/rules/update-app-config.rule.d.ts +3 -0
  114. package/schematics/ng-add/rules/update-app-config.rule.js +48 -0
  115. package/schematics/ng-add/rules/update-app-config.rule.js.map +1 -0
  116. package/schematics/ng-add/rules/update-schematics-config.rule.d.ts +6 -0
  117. package/schematics/ng-add/rules/update-schematics-config.rule.js +28 -0
  118. package/schematics/ng-add/rules/update-schematics-config.rule.js.map +1 -0
  119. package/schematics/ng-add/schema.d.ts +23 -0
  120. package/schematics/ng-add/schema.js +3 -0
  121. package/schematics/ng-add/schema.js.map +1 -0
  122. package/schematics/ng-add/schema.json +81 -0
  123. package/schematics/register/component-info.type.d.ts +11 -0
  124. package/schematics/register/component-info.type.js +3 -0
  125. package/schematics/register/component-info.type.js.map +1 -0
  126. package/schematics/register/discover-components.d.ts +19 -0
  127. package/schematics/register/discover-components.js +267 -0
  128. package/schematics/register/discover-components.js.map +1 -0
  129. package/schematics/register/index.d.ts +3 -0
  130. package/schematics/register/index.js +49 -0
  131. package/schematics/register/index.js.map +1 -0
  132. package/schematics/register/register-components.d.ts +3 -0
  133. package/schematics/register/register-components.js +38 -0
  134. package/schematics/register/register-components.js.map +1 -0
  135. package/schematics/register/schema.d.ts +14 -0
  136. package/schematics/register/schema.js +3 -0
  137. package/schematics/register/schema.js.map +1 -0
  138. package/schematics/register/schema.json +44 -0
  139. package/schematics/shared/ast/decorators.d.ts +9 -0
  140. package/schematics/shared/ast/decorators.js +182 -0
  141. package/schematics/shared/ast/decorators.js.map +1 -0
  142. package/schematics/shared/ast/imports.d.ts +3 -0
  143. package/schematics/shared/ast/imports.js +93 -0
  144. package/schematics/shared/ast/imports.js.map +1 -0
  145. package/schematics/shared/ast/parse.d.ts +3 -0
  146. package/schematics/shared/ast/parse.js +17 -0
  147. package/schematics/shared/ast/parse.js.map +1 -0
  148. package/schematics/shared/ast/registrations.d.ts +22 -0
  149. package/schematics/shared/ast/registrations.js +654 -0
  150. package/schematics/shared/ast/registrations.js.map +1 -0
  151. package/schematics/shared/ast/types.d.ts +3 -0
  152. package/schematics/shared/ast/types.js +58 -0
  153. package/schematics/shared/ast/types.js.map +1 -0
  154. package/schematics/shared/file.d.ts +4 -0
  155. package/schematics/shared/file.js +60 -0
  156. package/schematics/shared/file.js.map +1 -0
  157. package/schematics/shared/helper.d.ts +2 -0
  158. package/schematics/shared/helper.js +29 -0
  159. package/schematics/shared/helper.js.map +1 -0
  160. package/schematics/shared/rules/create-component.rule.d.ts +3 -0
  161. package/schematics/shared/rules/create-component.rule.js +15 -0
  162. package/schematics/shared/rules/create-component.rule.js.map +1 -0
  163. package/schematics/shared/rules/register-control.rule.d.ts +3 -0
  164. package/schematics/shared/rules/register-control.rule.js +30 -0
  165. package/schematics/shared/rules/register-control.rule.js.map +1 -0
  166. package/schematics/shared/rules/register-type-map.rule.d.ts +3 -0
  167. package/schematics/shared/rules/register-type-map.rule.js +46 -0
  168. package/schematics/shared/rules/register-type-map.rule.js.map +1 -0
  169. package/schematics/shared/rules/register-type-token.rule.d.ts +3 -0
  170. package/schematics/shared/rules/register-type-token.rule.js +49 -0
  171. package/schematics/shared/rules/register-type-token.rule.js.map +1 -0
  172. package/schematics/shared/rules/scaffold-and-register.rule.d.ts +3 -0
  173. package/schematics/shared/rules/scaffold-and-register.rule.js +134 -0
  174. package/schematics/shared/rules/scaffold-and-register.rule.js.map +1 -0
  175. package/schematics/shared/schema.d.ts +32 -0
  176. package/schematics/shared/schema.js +3 -0
  177. package/schematics/shared/schema.js.map +1 -0
  178. package/schematics/tests/generators.spec.d.ts +1 -0
  179. package/schematics/tests/generators.spec.js +450 -0
  180. package/schematics/tests/generators.spec.js.map +1 -0
  181. package/schematics/tests/helper.d.ts +20 -0
  182. package/schematics/tests/helper.js +275 -0
  183. package/schematics/tests/helper.js.map +1 -0
  184. package/schematics/tests/ng-add.spec.d.ts +1 -0
  185. package/schematics/tests/ng-add.spec.js +380 -0
  186. package/schematics/tests/ng-add.spec.js.map +1 -0
  187. package/schematics/tests/register.spec.d.ts +1 -0
  188. package/schematics/tests/register.spec.js +340 -0
  189. package/schematics/tests/register.spec.js.map +1 -0
  190. package/schematics/tests/workspace-setup.d.ts +21 -0
  191. package/schematics/tests/workspace-setup.js +255 -0
  192. package/schematics/tests/workspace-setup.js.map +1 -0
  193. package/shared/ast.d.ts +10 -0
  194. package/shared/ast.js +93 -0
  195. package/shared/ast.js.map +1 -0
  196. package/shared/constants.d.ts +16 -0
  197. package/shared/constants.js +20 -0
  198. package/shared/constants.js.map +1 -0
  199. package/shared/shared-config.type.d.ts +20 -0
  200. package/shared/shared-config.type.js +3 -0
  201. package/shared/shared-config.type.js.map +1 -0
@@ -0,0 +1,380 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const vitest_1 = require("vitest");
13
+ const testing_1 = require("@angular-devkit/schematics/testing");
14
+ const path_1 = require("path");
15
+ const helper_1 = require("./helper");
16
+ const workspace_setup_1 = require("./workspace-setup");
17
+ const parse_1 = require("../shared/ast/parse");
18
+ const imports_1 = require("../shared/ast/imports");
19
+ const constants_1 = require("../../shared/constants");
20
+ const COLLECTION_PATH = (0, path_1.join)(__dirname, '../../../../../dist/core/schematics/collection.json');
21
+ (0, vitest_1.describe)('ng-add schematic', () => {
22
+ const baseOptions = { project: 'test-app' };
23
+ let appTree;
24
+ let runner;
25
+ const registrations = (0, helper_1.app)('registrations');
26
+ const helperDir = (0, helper_1.app)('shared/helper');
27
+ const appConfigPath = (0, helper_1.app)('app.config.ts');
28
+ const formbarConfigPath = (0, helper_1.app)('formbar.config.ts');
29
+ const formbarConfigImportPath = formbarConfigPath.split('.ts')[0];
30
+ const schematicsConfigPath = (0, helper_1.app)('formbar.config.json');
31
+ function runAdd() {
32
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
33
+ return runner.runSchematic('ng-add', Object.assign(Object.assign({}, baseOptions), options), appTree);
34
+ });
35
+ }
36
+ (0, vitest_1.beforeEach)(() => __awaiter(void 0, void 0, void 0, function* () {
37
+ runner = new testing_1.SchematicTestRunner('schematics', COLLECTION_PATH);
38
+ runner = new testing_1.SchematicTestRunner('schematics', COLLECTION_PATH);
39
+ appTree = yield (0, workspace_setup_1.setupWorkspace)(runner);
40
+ }));
41
+ (0, vitest_1.it)('is idempotent: no duplicate import or provider call on re-run', () => __awaiter(void 0, void 0, void 0, function* () {
42
+ const once = yield runAdd();
43
+ const twice = yield runner.runSchematic('ng-add', baseOptions, once);
44
+ const sf = (0, parse_1.parseTS)((0, helper_1.read)(twice, appConfigPath));
45
+ (0, vitest_1.expect)((0, helper_1.countNamedImport)(sf, 'ngx-formbar', 'provideFormbar')).toBe(1);
46
+ (0, vitest_1.expect)((0, helper_1.countCall)(sf, 'provideFormbar')).toBe(1);
47
+ }));
48
+ (0, vitest_1.describe)('Default', () => {
49
+ (0, vitest_1.it)('imports provideFormbar from ngx-formbar', () => __awaiter(void 0, void 0, void 0, function* () {
50
+ const tree = yield runAdd();
51
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, appConfigPath)).toBe(true);
52
+ const sf = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
53
+ (0, vitest_1.expect)((0, imports_1.hasNamedImport)(sf, 'ngx-formbar', 'provideFormbar')).toBe(true);
54
+ }));
55
+ (0, vitest_1.it)('provides formbar and component registration providers in providers array', () => __awaiter(void 0, void 0, void 0, function* () {
56
+ const tree = yield runAdd();
57
+ const sf = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
58
+ (0, vitest_1.expect)((0, helper_1.providersArrayContainsCall)(sf, 'provideFormbar')).toBe(true);
59
+ (0, vitest_1.expect)((0, helper_1.providersArrayContainsIdentifier)(sf, 'componentRegistrationsProvider')).toBe(true);
60
+ }));
61
+ (0, vitest_1.it)('generates token-based registration files, helper files, and registration configuration', () => __awaiter(void 0, void 0, void 0, function* () {
62
+ const tree = yield runAdd();
63
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(true);
64
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(true);
65
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(true);
66
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(true);
67
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/block.host-directive.ts`)).toBe(true);
68
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/group.host-directive.ts`)).toBe(true);
69
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/control.host-directive.ts`)).toBe(true);
70
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/view-provider.ts`)).toBe(true);
71
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, formbarConfigPath)).toBe(true);
72
+ }));
73
+ (0, vitest_1.it)('uses schematic config without values', () => __awaiter(void 0, void 0, void 0, function* () {
74
+ var _a, _b, _c;
75
+ const tree = yield runAdd();
76
+ const schematicsConfig = JSON.parse((0, helper_1.read)(tree, schematicsConfigPath));
77
+ (0, vitest_1.expect)(schematicsConfig.registrationType).toBeUndefined();
78
+ (0, vitest_1.expect)(schematicsConfig.controlRegistrationsPath).toBeUndefined();
79
+ (0, vitest_1.expect)(schematicsConfig.viewProviderHelperPath).toBe(constants_1.DEFAULT_HELPER_PATH);
80
+ (0, vitest_1.expect)((_a = schematicsConfig.control) === null || _a === void 0 ? void 0 : _a.hostDirectiveHelperPath).toBe(constants_1.DEFAULT_HELPER_PATH);
81
+ (0, vitest_1.expect)((_b = schematicsConfig.group) === null || _b === void 0 ? void 0 : _b.hostDirectiveHelperPath).toBe(constants_1.DEFAULT_HELPER_PATH);
82
+ (0, vitest_1.expect)((_c = schematicsConfig.block) === null || _c === void 0 ? void 0 : _c.hostDirectiveHelperPath).toBe(constants_1.DEFAULT_HELPER_PATH);
83
+ }));
84
+ });
85
+ (0, vitest_1.describe)('Registration Style Token', () => {
86
+ (0, vitest_1.it)('generates config-based registration files and formbar.config.ts', () => __awaiter(void 0, void 0, void 0, function* () {
87
+ const tree = yield runAdd({ registrationStyle: 'token' });
88
+ const providerConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, formbarConfigPath));
89
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
90
+ const hasComponentRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'componentRegistrations', 'shorthand');
91
+ const hasComponentProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'componentRegistrationsProvider');
92
+ const hasValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'validatorRegistrationsProvider');
93
+ const hasAsyncValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'asyncValidatorRegistrationsProvider');
94
+ const usesCorrectRegistrationsPath = (0, imports_1.importForSymbolUsesCorrectRelativePath)(appConfig, appConfigPath, 'componentRegistrationsProvider', registrations);
95
+ const usesCorrectConfigPath = (0, imports_1.importForSymbolUsesCorrectRelativePath)(appConfig, appConfigPath, 'formbarConfig', formbarConfigImportPath);
96
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(true);
97
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(true);
98
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(true);
99
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(true);
100
+ (0, vitest_1.expect)(hasComponentRegistrations).toBe(false);
101
+ (0, vitest_1.expect)(hasComponentProviders).toBe(true);
102
+ (0, vitest_1.expect)(hasValidatorProviders).toBe(true);
103
+ (0, vitest_1.expect)(hasAsyncValidatorProviders).toBe(true);
104
+ (0, vitest_1.expect)(usesCorrectRegistrationsPath).toBe(true);
105
+ (0, vitest_1.expect)(usesCorrectConfigPath).toBe(true);
106
+ }));
107
+ (0, vitest_1.it)('respects validator flags', () => __awaiter(void 0, void 0, void 0, function* () {
108
+ const tree = yield runAdd({
109
+ registrationStyle: 'token',
110
+ includeSyncValidators: false,
111
+ includeAsyncValidators: false,
112
+ });
113
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
114
+ const hasComponentProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'componentRegistrationsProvider');
115
+ const hasValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'validatorRegistrationsProvider');
116
+ const hasAsyncValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'asyncValidatorRegistrationsProvider');
117
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(false);
118
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(false);
119
+ (0, vitest_1.expect)(hasComponentProviders).toBe(true);
120
+ (0, vitest_1.expect)(hasValidatorProviders).toBe(false);
121
+ (0, vitest_1.expect)(hasAsyncValidatorProviders).toBe(false);
122
+ }));
123
+ (0, vitest_1.it)('is not affecting token files by setting provideInline to true', () => __awaiter(void 0, void 0, void 0, function* () {
124
+ const tree = yield runAdd({
125
+ registrationStyle: 'token',
126
+ includeSyncValidators: true,
127
+ includeAsyncValidators: true,
128
+ provideInline: true,
129
+ });
130
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
131
+ const hasComponentProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'componentRegistrationsProvider');
132
+ const hasValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'validatorRegistrationsProvider');
133
+ const hasAsyncValidatorProviders = (0, helper_1.providersArrayContainsIdentifier)(appConfig, 'asyncValidatorRegistrationsProvider');
134
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(true);
135
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(true);
136
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, formbarConfigPath)).toBe(false);
137
+ (0, vitest_1.expect)(hasComponentProviders).toBe(true);
138
+ (0, vitest_1.expect)(hasValidatorProviders).toBe(true);
139
+ (0, vitest_1.expect)(hasAsyncValidatorProviders).toBe(true);
140
+ }));
141
+ (0, vitest_1.it)('adds providers directly in app.config.ts if splitRegistrations is set to false', () => __awaiter(void 0, void 0, void 0, function* () {
142
+ const tree = yield runAdd({
143
+ registrationStyle: 'token',
144
+ includeSyncValidators: true,
145
+ includeAsyncValidators: true,
146
+ splitRegistrations: false,
147
+ });
148
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
149
+ const hasComponentProviders = (0, helper_1.providersArrayContainsProviderObject)(appConfig, 'NGX_FW_COMPONENT_REGISTRATIONS');
150
+ const hasValidatorProviders = (0, helper_1.providersArrayContainsProviderObject)(appConfig, 'NGX_FW_VALIDATOR_REGISTRATIONS');
151
+ const hasAsyncValidatorProviders = (0, helper_1.providersArrayContainsProviderObject)(appConfig, 'NGX_FW_ASYNC_VALIDATOR_REGISTRATIONS');
152
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(false);
153
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(false);
154
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(false);
155
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(false);
156
+ (0, vitest_1.expect)(hasComponentProviders).toBe(true);
157
+ (0, vitest_1.expect)(hasValidatorProviders).toBe(true);
158
+ (0, vitest_1.expect)(hasAsyncValidatorProviders).toBe(true);
159
+ }));
160
+ (0, vitest_1.it)('uses the user provided registrationsPath', () => __awaiter(void 0, void 0, void 0, function* () {
161
+ const registrationsPath = 'app/management/forms';
162
+ const finalPath = (0, helper_1.src)(registrationsPath);
163
+ const tree = yield runAdd({
164
+ registrationStyle: 'token',
165
+ includeSyncValidators: true,
166
+ includeAsyncValidators: true,
167
+ registrationsPath,
168
+ });
169
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
170
+ const usesCorrectRelativePath = (0, imports_1.importForSymbolUsesCorrectRelativePath)(appConfig, appConfigPath, 'componentRegistrationsProvider', finalPath);
171
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/component-registrations.ts`)).toBe(true);
172
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/index.ts`)).toBe(true);
173
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/validator-registrations.ts`)).toBe(true);
174
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/async-validator-registrations.ts`)).toBe(true);
175
+ (0, vitest_1.expect)(usesCorrectRelativePath).toBe(true);
176
+ }));
177
+ });
178
+ (0, vitest_1.describe)('Registration Style Config', () => {
179
+ (0, vitest_1.it)('generates config-based registration files and formbar.config.ts', () => __awaiter(void 0, void 0, void 0, function* () {
180
+ const tree = yield runAdd({ registrationStyle: 'config' });
181
+ const providerConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, formbarConfigPath));
182
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
183
+ const appConfigUsesFormbarConfig = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'formbarConfig', 'identifier');
184
+ const providerConfigHasComponentRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'componentRegistrations', 'shorthand');
185
+ const providerConfigHasValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'validatorRegistrations', 'shorthand');
186
+ const providerConfigHasAsyncValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'asyncValidatorRegistrations', 'shorthand');
187
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(true);
188
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(true);
189
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(true);
190
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(true);
191
+ (0, vitest_1.expect)(appConfigUsesFormbarConfig).toBe(true);
192
+ (0, vitest_1.expect)(providerConfigHasComponentRegistrations).toBe(true);
193
+ (0, vitest_1.expect)(providerConfigHasValidatorRegistrations).toBe(true);
194
+ (0, vitest_1.expect)(providerConfigHasAsyncValidatorRegistrations).toBe(true);
195
+ }));
196
+ (0, vitest_1.it)('respects validator flags', () => __awaiter(void 0, void 0, void 0, function* () {
197
+ const tree = yield runAdd({
198
+ registrationStyle: 'config',
199
+ includeSyncValidators: false,
200
+ includeAsyncValidators: false,
201
+ });
202
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(false);
203
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(false);
204
+ }));
205
+ (0, vitest_1.it)('does not create a registration files and adds registrations directly to config, if splitRegistrations is set to false', () => __awaiter(void 0, void 0, void 0, function* () {
206
+ const tree = yield runAdd({
207
+ registrationStyle: 'config',
208
+ includeSyncValidators: true,
209
+ includeAsyncValidators: true,
210
+ provideInline: false,
211
+ splitRegistrations: false,
212
+ });
213
+ const providerConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, formbarConfigPath));
214
+ const providerConfigHasComponentRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'componentRegistrations', 'object');
215
+ const providerConfigHasValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'validatorRegistrations', 'object');
216
+ const providerConfigHasAsyncValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(providerConfig, 'defineFormbarConfig', 'asyncValidatorRegistrations', 'object');
217
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(false);
218
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(false);
219
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(false);
220
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(false);
221
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, formbarConfigPath)).toBe(true);
222
+ (0, vitest_1.expect)(providerConfigHasComponentRegistrations).toBe(true);
223
+ (0, vitest_1.expect)(providerConfigHasValidatorRegistrations).toBe(true);
224
+ (0, vitest_1.expect)(providerConfigHasAsyncValidatorRegistrations).toBe(true);
225
+ }));
226
+ (0, vitest_1.it)('uses the user provided registrationsPath', () => __awaiter(void 0, void 0, void 0, function* () {
227
+ const registrationsPath = 'app/management/forms';
228
+ const finalPath = (0, helper_1.src)(registrationsPath);
229
+ const tree = yield runAdd({
230
+ registrationStyle: 'config',
231
+ includeSyncValidators: true,
232
+ includeAsyncValidators: true,
233
+ registrationsPath,
234
+ });
235
+ const formbarConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, formbarConfigPath));
236
+ const usesCorrectRelativePath = (0, imports_1.importForSymbolUsesCorrectRelativePath)(formbarConfig, formbarConfigPath, 'componentRegistrations', finalPath);
237
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/component-registrations.ts`)).toBe(true);
238
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/index.ts`)).toBe(true);
239
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/validator-registrations.ts`)).toBe(true);
240
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/async-validator-registrations.ts`)).toBe(true);
241
+ (0, vitest_1.expect)(usesCorrectRelativePath).toBe(true);
242
+ }));
243
+ (0, vitest_1.describe)('provideInline is set to true', () => {
244
+ (0, vitest_1.it)('does not create a registration config, but still splits configuration, if splitRegistrations is set to true ', () => __awaiter(void 0, void 0, void 0, function* () {
245
+ const tree = yield runAdd({
246
+ registrationStyle: 'config',
247
+ includeSyncValidators: true,
248
+ includeAsyncValidators: true,
249
+ provideInline: true,
250
+ });
251
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
252
+ const appConfigHasComponentRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'componentRegistrations', 'shorthand');
253
+ const appConfigHasValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'validatorRegistrations', 'shorthand');
254
+ const appConfigHasAsyncValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'asyncValidatorRegistrations', 'shorthand');
255
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(true);
256
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(true);
257
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(true);
258
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(true);
259
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, formbarConfigPath)).toBe(false);
260
+ (0, vitest_1.expect)(appConfigHasComponentRegistrations).toBe(true);
261
+ (0, vitest_1.expect)(appConfigHasValidatorRegistrations).toBe(true);
262
+ (0, vitest_1.expect)(appConfigHasAsyncValidatorRegistrations).toBe(true);
263
+ }));
264
+ (0, vitest_1.it)("does not create a registration config and doesn't splits configuration, if splitRegistrations is set to false", () => __awaiter(void 0, void 0, void 0, function* () {
265
+ const tree = yield runAdd({
266
+ registrationStyle: 'config',
267
+ includeSyncValidators: true,
268
+ includeAsyncValidators: true,
269
+ provideInline: true,
270
+ splitRegistrations: false,
271
+ });
272
+ const appConfig = (0, parse_1.parseTS)((0, helper_1.read)(tree, appConfigPath));
273
+ const appConfigHasComponentRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'componentRegistrations', 'object');
274
+ const appConfigHasValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'validatorRegistrations', 'object');
275
+ const appConfigHasAsyncValidatorRegistrations = (0, helper_1.callObjectArgHasProp)(appConfig, 'provideFormbar', 'asyncValidatorRegistrations', 'object');
276
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/component-registrations.ts`)).toBe(false);
277
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/validator-registrations.ts`)).toBe(false);
278
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/async-validator-registrations.ts`)).toBe(false);
279
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${registrations}/index.ts`)).toBe(false);
280
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, formbarConfigPath)).toBe(false);
281
+ (0, vitest_1.expect)(appConfigHasComponentRegistrations).toBe(true);
282
+ (0, vitest_1.expect)(appConfigHasValidatorRegistrations).toBe(true);
283
+ (0, vitest_1.expect)(appConfigHasAsyncValidatorRegistrations).toBe(true);
284
+ }));
285
+ });
286
+ });
287
+ (0, vitest_1.describe)('Other options', () => {
288
+ (0, vitest_1.it)('skips helper files (useHelper = false)', () => __awaiter(void 0, void 0, void 0, function* () {
289
+ const tree = yield runAdd({
290
+ useHelper: false,
291
+ });
292
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/block.host-directive.ts`)).toBe(false);
293
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/group.host-directive.ts`)).toBe(false);
294
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/control.host-directive.ts`)).toBe(false);
295
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${helperDir}/view-provider.ts`)).toBe(false);
296
+ }));
297
+ (0, vitest_1.it)('uses the user provided helperPath', () => __awaiter(void 0, void 0, void 0, function* () {
298
+ const helperPath = 'app/management/forms/helper';
299
+ const finalPath = (0, helper_1.src)(helperPath);
300
+ const tree = yield runAdd({
301
+ useHelper: true,
302
+ helperPath,
303
+ });
304
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/block.host-directive.ts`)).toBe(true);
305
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/group.host-directive.ts`)).toBe(true);
306
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/control.host-directive.ts`)).toBe(true);
307
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${finalPath}/view-provider.ts`)).toBe(true);
308
+ }));
309
+ (0, vitest_1.it)('uses the user provided providerConfigPath and providerConfigFileName', () => __awaiter(void 0, void 0, void 0, function* () {
310
+ const providerConfigPath = 'app/management/forms';
311
+ const providerConfigFileName = 'providers.ts';
312
+ const tree = yield runAdd({
313
+ provideInline: false,
314
+ providerConfigPath,
315
+ providerConfigFileName,
316
+ });
317
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${(0, helper_1.src)(providerConfigPath)}/${providerConfigFileName}`)).toBe(true);
318
+ }));
319
+ });
320
+ (0, vitest_1.describe)('Schematics Config', () => {
321
+ (0, vitest_1.describe)('useSchematicConfig is set to false', () => {
322
+ (0, vitest_1.it)('does not create a schematics config file', () => __awaiter(void 0, void 0, void 0, function* () {
323
+ const tree = yield runAdd({
324
+ useSchematicConfig: false,
325
+ });
326
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, schematicsConfigPath)).toBe(false);
327
+ }));
328
+ (0, vitest_1.it)('writes all user provided configurations in angular.json', () => __awaiter(void 0, void 0, void 0, function* () {
329
+ const helperPath = 'app/management/forms/helper';
330
+ const tree = yield runAdd({
331
+ useSchematicConfig: false,
332
+ helperPath,
333
+ });
334
+ const angularJson = JSON.parse((0, helper_1.read)(tree, 'angular.json'));
335
+ const schematicsConfig = angularJson.projects['test-app'].schematics;
336
+ const controlConfig = schematicsConfig['ngx-formbar:control'];
337
+ const groupConfig = schematicsConfig['ngx-formbar:group'];
338
+ const blockConfig = schematicsConfig['ngx-formbar:block'];
339
+ (0, vitest_1.expect)(controlConfig === null || controlConfig === void 0 ? void 0 : controlConfig.hostDirectiveHelperPath).toBe(helperPath);
340
+ (0, vitest_1.expect)(groupConfig === null || groupConfig === void 0 ? void 0 : groupConfig.hostDirectiveHelperPath).toBe(helperPath);
341
+ (0, vitest_1.expect)(blockConfig === null || blockConfig === void 0 ? void 0 : blockConfig.hostDirectiveHelperPath).toBe(helperPath);
342
+ }));
343
+ });
344
+ (0, vitest_1.describe)('useSchematicConfig is set to true', () => {
345
+ (0, vitest_1.it)('writes all user provided configurations in config file', () => __awaiter(void 0, void 0, void 0, function* () {
346
+ var _a, _b, _c;
347
+ const helperPath = 'app/management/forms/helper';
348
+ const registrationsPath = 'app/management/forms/registrations';
349
+ const providerConfigPath = 'app/management/forms';
350
+ const providerConfigFileName = 'providers.ts';
351
+ const tree = yield runAdd({
352
+ registrationStyle: 'config',
353
+ useSchematicConfig: true,
354
+ helperPath,
355
+ registrationsPath,
356
+ providerConfigPath,
357
+ providerConfigFileName,
358
+ });
359
+ const schematicsConfig = JSON.parse((0, helper_1.read)(tree, schematicsConfigPath));
360
+ (0, vitest_1.expect)(schematicsConfig.registrationType).toBe('config');
361
+ (0, vitest_1.expect)(schematicsConfig.controlRegistrationsPath).toBe(registrationsPath);
362
+ (0, vitest_1.expect)(schematicsConfig.viewProviderHelperPath).toBe(helperPath);
363
+ (0, vitest_1.expect)((_a = schematicsConfig.control) === null || _a === void 0 ? void 0 : _a.hostDirectiveHelperPath).toBe(helperPath);
364
+ (0, vitest_1.expect)((_b = schematicsConfig.group) === null || _b === void 0 ? void 0 : _b.hostDirectiveHelperPath).toBe(helperPath);
365
+ (0, vitest_1.expect)((_c = schematicsConfig.block) === null || _c === void 0 ? void 0 : _c.hostDirectiveHelperPath).toBe(helperPath);
366
+ }));
367
+ (0, vitest_1.it)('uses the user provided schematicsConfigPath && schematicConfigFileName', () => __awaiter(void 0, void 0, void 0, function* () {
368
+ const schematicsConfigPath = 'app/management/forms';
369
+ const schematicConfigFileName = 'schemas.json';
370
+ const tree = yield runAdd({
371
+ useSchematicConfig: true,
372
+ schematicsConfigPath,
373
+ schematicConfigFileName,
374
+ });
375
+ (0, vitest_1.expect)((0, helper_1.exists)(tree, `${(0, helper_1.src)(schematicsConfigPath)}/${schematicConfigFileName}`)).toBe(true);
376
+ }));
377
+ });
378
+ });
379
+ });
380
+ //# sourceMappingURL=ng-add.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-add.spec.js","sourceRoot":"","sources":["../../../../projects/core/automation/schematics/tests/ng-add.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};