@o3r/rules-engine 10.2.0-prerelease.2 → 10.2.0-prerelease.20

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.
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAdd = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const schematics_1 = require("@angular-devkit/schematics");
6
- const schematics_2 = require("@o3r/schematics");
7
6
  const cms_adapter_1 = require("../cms-adapter");
8
7
  const path = tslib_1.__importStar(require("node:path"));
9
8
  const fs = tslib_1.__importStar(require("node:fs"));
@@ -11,6 +10,12 @@ const devtools_registration_1 = require("./helpers/devtools-registration");
11
10
  const devDependenciesToInstall = [
12
11
  'jsonpath-plus'
13
12
  ];
13
+ const reportMissingSchematicsDep = (logger) => (reason) => {
14
+ logger.error(`[ERROR]: Adding @o3r/rules-engine has failed.
15
+ If the error is related to missing @o3r dependencies you need to install '@o3r/core' to be able to use the rules-engine package. Please run 'ng add @o3r/core' .
16
+ Otherwise, use the error message as guidance.`);
17
+ throw reason;
18
+ };
14
19
  /**
15
20
  * Add Otter rules-engine to an Angular Project
16
21
  * @param options
@@ -18,72 +23,67 @@ const devDependenciesToInstall = [
18
23
  function ngAddFn(options) {
19
24
  /* ng add rules */
20
25
  return async (tree, context) => {
21
- try {
22
- const { setupDependencies, getPackageInstallConfig, getDefaultOptionsForSchematic, getO3rPeerDeps, getProjectNewDependenciesTypes, getWorkspaceConfig, getExternalDependenciesVersionRange, removePackages, setupSchematicsDefaultParams } = await Promise.resolve().then(() => tslib_1.__importStar(require('@o3r/schematics')));
23
- options = { ...getDefaultOptionsForSchematic(getWorkspaceConfig(tree), '@o3r/rules-engine', 'ng-add', options), ...options };
24
- const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
25
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
26
- const depsInfo = getO3rPeerDeps(packageJsonPath);
27
- if (options.enableMetadataExtract) {
28
- depsInfo.o3rPeerDeps = [...depsInfo.o3rPeerDeps, '@o3r/extractors'];
29
- }
30
- const workspaceProject = options.projectName ? getWorkspaceConfig(tree)?.projects[options.projectName] : undefined;
31
- const dependencies = depsInfo.o3rPeerDeps.reduce((acc, dep) => {
32
- acc[dep] = {
33
- inManifest: [{
34
- range: `${options.exactO3rVersion ? '' : '~'}${depsInfo.packageVersion}`,
35
- types: getProjectNewDependenciesTypes(workspaceProject)
36
- }],
37
- ngAddOptions: { exactO3rVersion: options.exactO3rVersion }
38
- };
39
- return acc;
40
- }, getPackageInstallConfig(packageJsonPath, tree, options.projectName, false, !!options.exactO3rVersion));
41
- Object.entries(getExternalDependenciesVersionRange(devDependenciesToInstall, packageJsonPath))
42
- .forEach(([dep, range]) => {
43
- dependencies[dep] = {
44
- inManifest: [{
45
- range,
46
- types: getProjectNewDependenciesTypes(workspaceProject)
47
- }]
48
- };
49
- });
50
- const rule = (0, schematics_1.chain)([
51
- (0, schematics_2.registerPackageCollectionSchematics)(packageJson),
52
- setupSchematicsDefaultParams({
53
- // eslint-disable-next-line @typescript-eslint/naming-convention
54
- '@o3r/core:component': {
55
- useRulesEngine: undefined
56
- },
57
- // eslint-disable-next-line @typescript-eslint/naming-convention
58
- '@o3r/core:component-container': {
59
- useRulesEngine: undefined
60
- }
61
- }),
62
- removePackages(['@otter/rules-engine', '@otter/rules-engine-core']),
63
- setupDependencies({
64
- projectName: options.projectName,
65
- dependencies,
66
- ngAddToRun: depsInfo.o3rPeerDeps
67
- }),
68
- ...(options.enableMetadataExtract ? [(0, cms_adapter_1.updateCmsAdapter)(options)] : []),
69
- await (0, devtools_registration_1.registerDevtools)(options)
70
- ]);
71
- context.logger.info(`The package ${depsInfo.packageName} comes with a debug mechanism`);
72
- context.logger.info('Get information on https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/debug.md');
73
- return () => rule(tree, context);
74
- }
75
- catch (e) {
76
- // rules-engine needs o3r/core as peer dep. o3r/core will install o3r/schematics
77
- context.logger.error(`[ERROR]: Adding @o3r/rules-engine has failed.
78
- If the error is related to missing @o3r dependencies you need to install '@o3r/core' to be able to use the rules-engine package. Please run 'ng add @o3r/core' .
79
- Otherwise, use the error message as guidance.`);
80
- throw (e);
26
+ const { setupDependencies, getPackageInstallConfig, getDefaultOptionsForSchematic, getO3rPeerDeps, getProjectNewDependenciesTypes, getWorkspaceConfig, getExternalDependenciesVersionRange, removePackages, setupSchematicsDefaultParams, registerPackageCollectionSchematics } = await Promise.resolve().then(() => tslib_1.__importStar(require('@o3r/schematics')));
27
+ options = { ...getDefaultOptionsForSchematic(getWorkspaceConfig(tree), '@o3r/rules-engine', 'ng-add', options), ...options };
28
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
29
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
30
+ const depsInfo = getO3rPeerDeps(packageJsonPath);
31
+ if (options.enableMetadataExtract) {
32
+ depsInfo.o3rPeerDeps = [...depsInfo.o3rPeerDeps, '@o3r/extractors'];
81
33
  }
34
+ const workspaceProject = options.projectName ? getWorkspaceConfig(tree)?.projects[options.projectName] : undefined;
35
+ const dependencies = depsInfo.o3rPeerDeps.reduce((acc, dep) => {
36
+ acc[dep] = {
37
+ inManifest: [{
38
+ range: `${options.exactO3rVersion ? '' : '~'}${depsInfo.packageVersion}`,
39
+ types: getProjectNewDependenciesTypes(workspaceProject)
40
+ }],
41
+ ngAddOptions: { exactO3rVersion: options.exactO3rVersion }
42
+ };
43
+ return acc;
44
+ }, getPackageInstallConfig(packageJsonPath, tree, options.projectName, false, !!options.exactO3rVersion));
45
+ Object.entries(getExternalDependenciesVersionRange(devDependenciesToInstall, packageJsonPath))
46
+ .forEach(([dep, range]) => {
47
+ dependencies[dep] = {
48
+ inManifest: [{
49
+ range,
50
+ types: getProjectNewDependenciesTypes(workspaceProject)
51
+ }]
52
+ };
53
+ });
54
+ const rule = (0, schematics_1.chain)([
55
+ registerPackageCollectionSchematics(packageJson),
56
+ setupSchematicsDefaultParams({
57
+ // eslint-disable-next-line @typescript-eslint/naming-convention
58
+ '@o3r/core:component': {
59
+ useRulesEngine: undefined
60
+ },
61
+ // eslint-disable-next-line @typescript-eslint/naming-convention
62
+ '@o3r/core:component-container': {
63
+ useRulesEngine: undefined
64
+ }
65
+ }),
66
+ removePackages(['@otter/rules-engine', '@otter/rules-engine-core']),
67
+ setupDependencies({
68
+ projectName: options.projectName,
69
+ dependencies,
70
+ ngAddToRun: depsInfo.o3rPeerDeps
71
+ }),
72
+ ...(options.enableMetadataExtract ? [(0, cms_adapter_1.updateCmsAdapter)(options)] : []),
73
+ await (0, devtools_registration_1.registerDevtools)(options)
74
+ ]);
75
+ context.logger.info(`The package ${depsInfo.packageName} comes with a debug mechanism`);
76
+ context.logger.info('Get information on https://github.com/AmadeusITGroup/otter/tree/main/docs/rules-engine/how-to-use/debug.md');
77
+ return rule;
82
78
  };
83
79
  }
84
80
  /**
85
81
  * Add Otter rules-engine to an Angular Project
86
82
  * @param options
87
83
  */
88
- exports.ngAdd = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddFn);
84
+ const ngAdd = (options) => async (_, { logger }) => {
85
+ const { createSchematicWithMetricsIfInstalled } = await Promise.resolve().then(() => tslib_1.__importStar(require('@o3r/schematics'))).catch(reportMissingSchematicsDep(logger));
86
+ return createSchematicWithMetricsIfInstalled(ngAddFn)(options);
87
+ };
88
+ exports.ngAdd = ngAdd;
89
89
  //# sourceMappingURL=index.js.map