@o3r/rules-engine 10.2.0-prerelease.4 → 10.2.0-prerelease.40
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.
- package/README.md +3 -0
- package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +3 -3
- package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +3 -3
- package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +3 -3
- package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +3 -3
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +3 -3
- package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +4 -4
- package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +6 -6
- package/esm2022/devkit/rules-engine-devtools.console.service.mjs +3 -3
- package/esm2022/devkit/rules-engine-devtools.message.service.mjs +3 -3
- package/esm2022/devkit/rules-engine-devtools.module.mjs +4 -4
- package/esm2022/devkit/rules-engine-devtools.service.mjs +3 -3
- package/esm2022/services/runner/rules-engine.runner.module.mjs +4 -4
- package/esm2022/services/runner/rules-engine.runner.service.mjs +3 -3
- package/esm2022/stores/rulesets/rulesets.effect.mjs +3 -3
- package/esm2022/stores/rulesets/rulesets.module.mjs +4 -4
- package/fesm2022/o3r-rules-engine.mjs +52 -52
- package/package.json +18 -17
- package/schematics/ng-add/index.d.ts +1 -1
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +62 -62
|
@@ -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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
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
|