@restorecommerce/acs-client 3.0.0 → 3.0.2

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 (44) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cfg/config_test.json +2 -2
  3. package/eslint.config.mjs +22 -0
  4. package/lib/acs/authz.d.ts +3 -2
  5. package/lib/acs/authz.d.ts.map +1 -0
  6. package/lib/acs/authz.js +12 -10
  7. package/lib/acs/authz.js.map +1 -1
  8. package/lib/acs/cache.d.ts +1 -0
  9. package/lib/acs/cache.d.ts.map +1 -0
  10. package/lib/acs/cache.js +2 -2
  11. package/lib/acs/cache.js.map +1 -1
  12. package/lib/acs/decorators.d.ts +3 -2
  13. package/lib/acs/decorators.d.ts.map +1 -0
  14. package/lib/acs/decorators.js +3 -0
  15. package/lib/acs/decorators.js.map +1 -1
  16. package/lib/acs/errors.d.ts +1 -0
  17. package/lib/acs/errors.d.ts.map +1 -0
  18. package/lib/acs/errors.js +12 -0
  19. package/lib/acs/errors.js.map +1 -1
  20. package/lib/acs/interfaces.d.ts +1 -0
  21. package/lib/acs/interfaces.d.ts.map +1 -0
  22. package/lib/acs/middleware.d.ts +1 -0
  23. package/lib/acs/middleware.d.ts.map +1 -0
  24. package/lib/acs/middleware.js.map +1 -1
  25. package/lib/acs/resolver.d.ts +1 -0
  26. package/lib/acs/resolver.d.ts.map +1 -0
  27. package/lib/acs/resolver.js.map +1 -1
  28. package/lib/config.d.ts +1 -0
  29. package/lib/config.d.ts.map +1 -0
  30. package/lib/index.d.ts +1 -0
  31. package/lib/index.d.ts.map +1 -0
  32. package/lib/logger.d.ts +1 -0
  33. package/lib/logger.d.ts.map +1 -0
  34. package/lib/logger.js.map +1 -1
  35. package/lib/tsconfig.tsbuildinfo +1 -0
  36. package/lib/utils.d.ts +2 -23
  37. package/lib/utils.d.ts.map +1 -0
  38. package/lib/utils.js +43 -41
  39. package/lib/utils.js.map +1 -1
  40. package/package.json +25 -32
  41. package/tsconfig-base.json +13 -0
  42. package/tsconfig.json +1 -27
  43. package/tsconfig.test.json +6 -8
  44. package/vitest.config.ts +2 -0
package/lib/utils.d.ts CHANGED
@@ -1,27 +1,5 @@
1
1
  import lodash from 'lodash';
2
- export declare const _: lodash.LoDashStatic & {
3
- condense: typeof import("deepdash/es/condense").default;
4
- condenseDeep: typeof import("deepdash/es/condenseDeep").default;
5
- eachDeep: typeof import("deepdash/es/eachDeep").default;
6
- exists: typeof import("deepdash/es/exists").default;
7
- filterDeep: typeof import("deepdash/es/filterDeep").default;
8
- findDeep: typeof import("deepdash/es/findDeep").default;
9
- findPathDeep: typeof import("deepdash/es/findPathDeep").default;
10
- findValueDeep: typeof import("deepdash/es/findValueDeep").default;
11
- forEachDeep: typeof import("deepdash/es/eachDeep").default;
12
- index: typeof import("deepdash/es").default;
13
- keysDeep: typeof import("deepdash/es/paths").default;
14
- mapDeep: typeof import("deepdash/es/mapDeep").default;
15
- mapKeysDeep: typeof import("deepdash/es/mapKeysDeep").default;
16
- mapValuesDeep: typeof import("deepdash/es/mapValuesDeep").default;
17
- omitDeep: typeof import("deepdash/es/omitDeep").default;
18
- pathMatches: typeof import("deepdash/es/pathMatches").default;
19
- pathToString: typeof import("deepdash/es/pathToString").default;
20
- paths: typeof import("deepdash/es/paths").default;
21
- pickDeep: typeof import("deepdash/es/pickDeep").default;
22
- reduceDeep: typeof import("deepdash/es/reduceDeep").default;
23
- someDeep: typeof import("deepdash/es/someDeep").default;
24
- };
2
+ export declare const _: lodash.LoDashStatic;
25
3
  import { PolicySetRQ, PolicySetRQResponse, ResourceFilterMap, CustomQueryArgs, DecisionResponse, ACSResource, AuthZAction, ResolvedSubject, Obligation } from './acs/interfaces';
26
4
  import { QueryArguments, UserQueryArguments } from './acs/resolver';
27
5
  import { Subject, DeepPartial } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/auth';
@@ -71,3 +49,4 @@ export declare const createResourceFilterMap: (resource: ACSResource[], policySe
71
49
  *
72
50
  */
73
51
  export declare const mapResourceURNObligationProperties: (obligations: Attribute[]) => Obligation[];
52
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,CAAC,qBAAS,CAAC;AACxB,OAAO,EACL,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAC9E,eAAe,EAAE,UAAU,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOpE,OAAO,EACL,OAAO,EACP,WAAW,EACZ,MAAM,gFAAgF,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,qFAAqF,CAAC;AAShH,eAAO,MAAM,WAAW,QAAS,MAAM,GAAG,KAAK,GAAG,GAAG,KAAG,GAQvD,CAAC;AAmTF,eAAO,MAAM,sBAAsB,cACtB,WAAW,WACb,eAAe,gBACV,GAAG,YACP,MAAM,KACf,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAgM7C,CAAC;AAWF,eAAO,MAAM,uBAAuB,UAAW,MAAM,YAAY,MAAM;;;CAQtE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,mBAAoB,WAAW,CAAC,SAAS,CAAC,EAAE,qBAAqB,WAAW,CAAC,SAAS,CAAC,EAAE,KAAG,OAyDvH,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,aACxB,WAAW,EAAE,qBACJ,mBAAmB,aAC3B,GAAG,UAAU,WAAW,WAC1B,WAAW,CAAC,OAAO,CAAC,aAClB,MAAM,iBACF,OAAO,eACT,MAAM,YACT,UAAU,GAAG,UAAU,KAChC,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAgG9C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,gBAAiB,SAAS,EAAE,KAAG,UAAU,EA0BvF,CAAC"}
package/lib/utils.js CHANGED
@@ -5,9 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.mapResourceURNObligationProperties = exports.createResourceFilterMap = exports.attributesMatch = exports.generateOperationStatus = exports.buildFilterPermissions = exports.handleError = exports._ = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
- const deepdash_1 = __importDefault(require("deepdash"));
9
- exports._ = (0, deepdash_1.default)(lodash_1.default);
8
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
9
+ require('deepdash')(lodash_1.default);
10
+ exports._ = lodash_1.default;
10
11
  const config_1 = require("./config");
12
+ // @ts-expect-error TS7016
11
13
  const node_eval_1 = __importDefault(require("node-eval"));
12
14
  const logger_1 = __importDefault(require("./logger"));
13
15
  const cache_1 = require("./acs/cache");
@@ -29,7 +31,7 @@ exports.handleError = handleError;
29
31
  const reduceUserScope = (hrScope, reducedUserScope, hierarchicalRoleScoping) => {
30
32
  reducedUserScope.push(hrScope.id);
31
33
  if (hrScope?.children?.length > 0 && hierarchicalRoleScoping === 'true') {
32
- for (let childNode of hrScope.children) {
34
+ for (const childNode of hrScope.children) {
33
35
  reduceUserScope(childNode, reducedUserScope, hierarchicalRoleScoping);
34
36
  }
35
37
  }
@@ -43,7 +45,7 @@ const checkTargetScopeExists = (hrScopes, targetScope, reducedUserScope, hierarc
43
45
  return true;
44
46
  }
45
47
  else if (hrScope?.children?.length > 0 && hierarchicalRoleScopingCheck === 'true') {
46
- for (let childNode of hrScope.children) {
48
+ for (const childNode of hrScope.children) {
47
49
  if (checkTargetScopeExists([childNode], targetScope, reducedUserScope, hierarchicalRoleScopingCheck)) {
48
50
  return true;
49
51
  }
@@ -64,7 +66,7 @@ const checkSubjectMatch = (user, ruleSubjectAttributes, reducedUserScope) => {
64
66
  if (ruleSubjectAttributes?.length === 0) {
65
67
  return true;
66
68
  }
67
- for (let attribute of ruleSubjectAttributes) {
69
+ for (const attribute of ruleSubjectAttributes) {
68
70
  if (attribute?.id === 'urn:restorecommerce:acs:names:unauthenticated-user' && attribute?.value === 'true') {
69
71
  return true;
70
72
  }
@@ -115,7 +117,7 @@ const checkSubjectMatch = (user, ruleSubjectAttributes, reducedUserScope) => {
115
117
  return false;
116
118
  };
117
119
  const validateCondition = (condition, request) => {
118
- let evalResponse = (0, node_eval_1.default)(condition, 'condition.js', request);
120
+ const evalResponse = (0, node_eval_1.default)(condition, 'condition.js', request);
119
121
  if (typeof evalResponse === 'function') {
120
122
  return evalResponse(request);
121
123
  }
@@ -230,11 +232,11 @@ const buildQueryFromTarget = (target, effect, userTotalScope, urns, scopingUpdat
230
232
  filterParamKey = 'orgKey';
231
233
  }
232
234
  logger_1.default.debug('Filter paramter key for Postgres DB', { filterParamKey });
233
- for (let eachScope of userTotalScope) {
235
+ for (const eachScope of userTotalScope) {
234
236
  query['filters'].push({ field: filterParamKey, operation: 'eq', value: eachScope });
235
237
  }
236
238
  // apply filter from condition
237
- for (let eachFilter of filter) {
239
+ for (const eachFilter of filter) {
238
240
  if (eachFilter && eachFilter.value) {
239
241
  query['filters'].push({ field: filterParamKey, operation: 'eq', value: eachFilter.value });
240
242
  filter = [];
@@ -242,7 +244,7 @@ const buildQueryFromTarget = (target, effect, userTotalScope, urns, scopingUpdat
242
244
  }
243
245
  }
244
246
  if (resources?.length > 0) {
245
- for (let attribute of resources) {
247
+ for (const attribute of resources) {
246
248
  if (attribute.id == urns.resourceID) {
247
249
  if (effect == rule_1.Effect.PERMIT) {
248
250
  filter.push({
@@ -310,14 +312,14 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
310
312
  subject.role_associations ??= [];
311
313
  }
312
314
  const urns = config_1.cfg.get('authorization:urns');
313
- let query = {
315
+ const query = {
314
316
  filters: []
315
317
  };
316
318
  const pSetAlgorithm = policySet.combining_algorithm;
317
319
  const policyEffects = [];
318
320
  const policyFiltersArr = [];
319
321
  if (policySet?.policies?.length > 0) {
320
- for (let policy of policySet.policies) {
322
+ for (const policy of policySet.policies) {
321
323
  if (policy.has_rules) {
322
324
  const algorithm = policy.combining_algorithm;
323
325
  // iterate through policy_set and check subject in policy and Rule:
@@ -329,7 +331,7 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
329
331
  }
330
332
  }
331
333
  let effect;
332
- for (let rule of policy.rules) {
334
+ for (const rule of policy.rules || []) {
333
335
  if (algorithm == urns.permitOverrides && rule.effect == rule_1.Effect.PERMIT) {
334
336
  effect = rule_1.Effect.PERMIT;
335
337
  break;
@@ -342,8 +344,8 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
342
344
  effect = algorithm == urns.permitOverrides ? rule_1.Effect.DENY : rule_1.Effect.PERMIT;
343
345
  }
344
346
  let scopingUpdated = false;
345
- for (let rule of policy?.rules) {
346
- let reducedUserScope = [];
347
+ for (const rule of policy?.rules || []) {
348
+ const reducedUserScope = [];
347
349
  if (rule?.target?.subjects) {
348
350
  const userSubjectMatched = checkSubjectMatch(subject, rule.target.subjects, reducedUserScope);
349
351
  if (!userSubjectMatched) {
@@ -388,7 +390,7 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
388
390
  return undefined;
389
391
  }
390
392
  let aqlQueryFilters = false;
391
- for (let policy of policyFiltersArr) {
393
+ for (const policy of policyFiltersArr) {
392
394
  let filterList = [];
393
395
  // fix to override the AQL query filters with ACS policy filters if they exist for ArangoDB
394
396
  // TODO remove this once the AQL filterByOwnership is removed and ACS policy filters are returned
@@ -420,7 +422,7 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
420
422
  // same entity already exists, update instances on this object
421
423
  query['custom_arguments']?.forEach((obj) => {
422
424
  if (obj?.entity === policy?.scope?.custom_arguments?.entity) {
423
- obj?.instance?.push(...policy?.scope?.custom_arguments?.instance);
425
+ obj?.instance?.push(...policy?.scope?.custom_arguments?.instance || []);
424
426
  }
425
427
  });
426
428
  }
@@ -430,7 +432,7 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
430
432
  if (policy?.filters && !aqlQueryFilters) {
431
433
  filterList = policy.filters;
432
434
  }
433
- for (let filter of filterList) {
435
+ for (const filter of filterList) {
434
436
  query.filters.push(filter);
435
437
  }
436
438
  if (exports._.isArray(filterList) && filterList.length > 0) {
@@ -440,7 +442,7 @@ const buildFilterPermissions = async (policySet, subject, reqResources, database
440
442
  query.filters.operator = policy.filters.operator;
441
443
  }
442
444
  }
443
- if (policy.field) {
445
+ if (policy.fields) {
444
446
  if (!query['fields']) {
445
447
  query['fields'] = policy.fields;
446
448
  }
@@ -481,7 +483,7 @@ exports.generateOperationStatus = generateOperationStatus;
481
483
  */
482
484
  const attributesMatch = (ruleAttributes, requestAttributes) => {
483
485
  if (ruleAttributes?.length > 0) {
484
- for (let attribute of ruleAttributes) {
486
+ for (const attribute of ruleAttributes) {
485
487
  const id = attribute.id;
486
488
  const value = attribute.value;
487
489
  const match = !!requestAttributes.find((requestAttribute) => {
@@ -491,29 +493,29 @@ const attributesMatch = (ruleAttributes, requestAttributes) => {
491
493
  }
492
494
  else if (requestAttribute.id == id) {
493
495
  // rule entity
494
- let pattern = value.substring(value.lastIndexOf(':') + 1);
495
- let nsEntityArray = pattern.split('.');
496
+ const pattern = value.substring(value.lastIndexOf(':') + 1);
497
+ const nsEntityArray = pattern.split('.');
496
498
  // firstElement could be either entity or namespace
497
- let nsOrEntity = nsEntityArray[0];
498
- let entityRegexValue = nsEntityArray[nsEntityArray.length - 1];
499
+ const nsOrEntity = nsEntityArray[0];
500
+ const entityRegexValue = nsEntityArray[nsEntityArray.length - 1];
499
501
  let reqNS, ruleNS;
500
502
  if (nsOrEntity.toUpperCase() != entityRegexValue.toUpperCase()) {
501
503
  // rule name space is present
502
504
  ruleNS = nsOrEntity.toUpperCase();
503
505
  }
504
506
  // request entity
505
- let reqValue = requestAttribute.value;
507
+ const reqValue = requestAttribute.value;
506
508
  const reqAttributeNS = reqValue.substring(0, reqValue.lastIndexOf(':'));
507
509
  const ruleAttributeNS = value.substring(0, value.lastIndexOf(':'));
508
510
  // verify namespace before entity name
509
511
  if (reqAttributeNS != ruleAttributeNS) {
510
512
  return false;
511
513
  }
512
- let reqPattern = reqValue.substring(reqValue.lastIndexOf(':') + 1);
513
- let reqNSEntityArray = reqPattern.split('.');
514
+ const reqPattern = reqValue.substring(reqValue.lastIndexOf(':') + 1);
515
+ const reqNSEntityArray = reqPattern.split('.');
514
516
  // firstElement could be either entity or namespace
515
- let reqNSOrEntity = reqNSEntityArray[0];
516
- let requestEntityValue = reqNSEntityArray[reqNSEntityArray.length - 1];
517
+ const reqNSOrEntity = reqNSEntityArray[0];
518
+ const requestEntityValue = reqNSEntityArray[reqNSEntityArray.length - 1];
517
519
  if (reqNSOrEntity.toUpperCase() != requestEntityValue.toUpperCase()) {
518
520
  // request name space is present
519
521
  reqNS = reqNSOrEntity.toUpperCase();
@@ -555,10 +557,10 @@ exports.attributesMatch = attributesMatch;
555
557
  *
556
558
  */
557
559
  const createResourceFilterMap = async (resource, policySetResponse, resources, action, subject, subjectID, authzEnforced, targetScope, database) => {
558
- let resourceFilterMap = [];
559
- let customQueryArgs = [];
560
- for (let resourceObj of resource) {
561
- let resourcenameNameSpace = resourceObj.resource;
560
+ const resourceFilterMap = [];
561
+ const customQueryArgs = [];
562
+ for (const resourceObj of resource) {
563
+ const resourcenameNameSpace = resourceObj.resource;
562
564
  let resourceNameSpace, resourceName;
563
565
  if (resourcenameNameSpace && resourcenameNameSpace.indexOf('.') > -1) {
564
566
  resourceNameSpace = resourcenameNameSpace.slice(0, resourcenameNameSpace.lastIndexOf('.'));
@@ -572,19 +574,19 @@ const createResourceFilterMap = async (resource, policySetResponse, resources, a
572
574
  const resourceType = (0, authz_1.formatResourceType)(resourceName, resourceNameSpace);
573
575
  const urns = config_1.cfg.get('authorization:urns');
574
576
  const resourceValueURN = urns?.model + `:${resourceType}`;
575
- let resourcePolicies = { policy_sets: [{ policies: [] }] };
577
+ const resourcePolicies = { policy_sets: [{ policies: [] }] };
576
578
  const resourceAttributes = [{ id: urns?.entity, value: resourceValueURN }];
577
579
  if (policySetResponse && policySetResponse.policy_sets && policySetResponse.policy_sets.length > 0) {
578
580
  policySetResponse.policy_sets.forEach((policySet) => {
579
581
  const policies = policySet.policies;
580
582
  // check if the policy and rule set is applicable to the enitity
581
583
  if (policies?.length > 0) {
582
- for (let policy of policies) {
584
+ for (const policy of policies) {
583
585
  const policyTargetResources = policy?.target?.resources;
584
586
  if (policyTargetResources) {
585
587
  const policyMatch = (0, exports.attributesMatch)(policyTargetResources, resourceAttributes);
586
588
  if (policyMatch && policy?.rules?.length > 0) {
587
- for (let rule of policy.rules) {
589
+ for (const rule of policy.rules) {
588
590
  const ruleMatch = (0, exports.attributesMatch)(rule?.target?.resources, resourceAttributes);
589
591
  if (ruleMatch) {
590
592
  resourcePolicies.policy_sets[0].policies.push(policy);
@@ -595,7 +597,7 @@ const createResourceFilterMap = async (resource, policySetResponse, resources, a
595
597
  }
596
598
  else if (policy?.rules) {
597
599
  // check for rule
598
- for (let rule of policy.rules) {
600
+ for (const rule of policy.rules) {
599
601
  const ruleMatch = (0, exports.attributesMatch)(rule?.target?.resources, resourceAttributes);
600
602
  if (ruleMatch) {
601
603
  resourcePolicies.policy_sets[0].policies.push(policy);
@@ -607,7 +609,7 @@ const createResourceFilterMap = async (resource, policySetResponse, resources, a
607
609
  }
608
610
  });
609
611
  }
610
- let permissionArguments = await (0, exports.buildFilterPermissions)(resourcePolicies.policy_sets[0], subject, resources, database);
612
+ const permissionArguments = await (0, exports.buildFilterPermissions)(resourcePolicies.policy_sets[0], subject, resources, database);
611
613
  if (permissionArguments) {
612
614
  if (!exports._.isArray(permissionArguments.filters)) {
613
615
  permissionArguments.filters = [permissionArguments.filters];
@@ -658,19 +660,19 @@ const mapResourceURNObligationProperties = (obligations) => {
658
660
  const mappedResourceObligation = [];
659
661
  const urns = config_1.cfg.get('authorization:urns');
660
662
  if (obligations?.length > 0) {
661
- for (let obligationObj of obligations) {
663
+ for (const obligationObj of obligations) {
662
664
  if (obligationObj?.id === urns.entity && obligationObj?.value) {
663
665
  const resourceValueURN = obligationObj.value;
664
666
  const resourceNameSpace = resourceValueURN.substring(resourceValueURN.lastIndexOf(':') + 1);
665
667
  let resource = resourceNameSpace.substring(resourceNameSpace.lastIndexOf('.') + 1);
666
- let resourceWithNameSpace = resourceNameSpace.substring(0, resourceNameSpace.lastIndexOf('.'));
668
+ const resourceWithNameSpace = resourceNameSpace.substring(0, resourceNameSpace.lastIndexOf('.'));
667
669
  if (resource != resourceWithNameSpace) {
668
670
  // name space exists add the entity name to obligation as well with name space
669
671
  resource = resourceWithNameSpace;
670
672
  }
671
673
  const obligationAttributes = obligationObj.attributes;
672
- let property = new Set();
673
- for (let obligationAttribute of obligationAttributes) {
674
+ const property = new Set();
675
+ for (const obligationAttribute of obligationAttributes) {
674
676
  if (obligationAttribute.id === urns.maskedProperty) {
675
677
  property.add(obligationAttribute.value.substring(obligationAttribute.value.lastIndexOf('#') + 1));
676
678
  }
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/acs-client",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "Access Control Service Client",
5
5
  "author": "n-fuse GmbH",
6
6
  "repository": {
@@ -17,54 +17,47 @@
17
17
  ],
18
18
  "main": "./lib/index.js",
19
19
  "dependencies": {
20
- "@restorecommerce/grpc-client": "^2.2.4",
21
- "@restorecommerce/kafka-client": "^1.2.14",
22
- "@restorecommerce/logger": "^1.3.1",
23
- "@restorecommerce/rc-grpc-clients": "^5.1.36",
24
- "@restorecommerce/service-config": "^1.0.15",
20
+ "@restorecommerce/grpc-client": "^2.2.5",
21
+ "@restorecommerce/kafka-client": "^1.2.15",
22
+ "@restorecommerce/logger": "^1.3.2",
23
+ "@restorecommerce/rc-grpc-clients": "^5.1.37",
24
+ "@restorecommerce/service-config": "^1.0.16",
25
25
  "deepdash": "^5.3.9",
26
26
  "lodash": "^4.17.21",
27
27
  "nconf": "^0.12.1",
28
28
  "node-eval": "^2.0.0",
29
- "redis": "^4.6.14",
30
- "winston": "^3.13.0"
29
+ "redis": "^4.7.0",
30
+ "winston": "^3.14.2"
31
31
  },
32
32
  "devDependencies": {
33
- "@alenon/grpc-mock-server": "^3.1.11",
34
- "@restorecommerce/protos": "^6.8.11",
33
+ "@alenon/grpc-mock-server": "^3.1.15",
34
+ "@eslint/js": "^9.12.0",
35
+ "@restorecommerce/dev": "^0.0.13",
36
+ "@restorecommerce/protos": "^6.8.12",
37
+ "@types/eslint__js": "^8.42.3",
35
38
  "@types/koa": "^2.15.0",
36
- "@types/mocha": "^10.0.4",
37
- "@types/node": "^20.8.2",
39
+ "@types/node": "^22.7.9",
38
40
  "@types/redis": "^4.0.2",
39
- "@typescript-eslint/eslint-plugin": "^7.14.1",
40
- "@typescript-eslint/eslint-plugin-tslint": "^7.0.2",
41
- "@typescript-eslint/parser": "^7.14.1",
42
- "coveralls": "^3.1.1",
43
41
  "cross-env": "^7.0.3",
44
- "eslint": "^8.54.0",
45
- "eslint-plugin-prefer-arrow-functions": "^3.2.4",
46
- "mocha": "^10.3.0",
47
- "nice-grpc": "^2.1.7",
48
- "nodemon": "^3.1.4",
42
+ "eslint": "^9.12.0",
43
+ "eslint-plugin-prefer-arrow-functions": "^3.4.1",
44
+ "nice-grpc": "^2.1.10",
45
+ "nodemon": "^3.1.7",
49
46
  "npm-run-all": "^4.1.5",
50
- "nyc": "^17.0.0",
51
- "rimraf": "^5.0.5",
47
+ "rimraf": "^6.0.1",
52
48
  "should": "^13.2.3",
53
49
  "ts-node": "^10.9.1",
54
- "typescript": "^5.2.2"
50
+ "typescript": "^5.6.2",
51
+ "typescript-eslint": "8.11.0",
52
+ "vitest": "^2.1.4"
55
53
  },
56
54
  "scripts": {
57
55
  "build:tsc": "tsc -d",
58
56
  "build:tsc:watch": "tsc -d --watch",
59
57
  "build:clean": "rimraf lib",
60
58
  "build": "npm-run-all lint build:clean build:tsc",
61
- "lint": "eslint src --ext .ts --fix",
62
- "test": "npm run build && nyc npm run mocha && npm run mocha:cache",
63
- "mocha": "cross-env NODE_ENV=test mocha --full-trace --exit --timeout 30000",
64
- "mocha:cache": "cross-env NODE_ENV=test CACHE_ENABLED=true mocha --full-trace --exit --timeout 30000",
65
- "test-debug": "npm run mocha -- --inspect-brk",
66
- "lcov-report": "nyc report --reporter=lcov",
67
- "coveralls": "nyc report --reporter=text-lcov | coveralls"
59
+ "lint": "eslint src",
60
+ "test": "npm run build && cross-env NODE_ENV=test vitest run && cross-env NODE_ENV=test CACHE_ENABLED=true vitest run"
68
61
  },
69
62
  "nx": {
70
63
  "targets": {
@@ -75,5 +68,5 @@
75
68
  }
76
69
  }
77
70
  },
78
- "gitHead": "2dc8edfc5c7828a1ffe536ca0bf3426adcf1a57b"
71
+ "gitHead": "2cdfe2ff31f5c695c8789831fd7b797e5256e25d"
79
72
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../node_modules/@restorecommerce/dev/tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./lib",
5
+ "types": ["node"],
6
+ "resolveJsonModule": true
7
+ },
8
+ "exclude": [
9
+ "node_modules",
10
+ "lib",
11
+ "doc"
12
+ ]
13
+ }
package/tsconfig.json CHANGED
@@ -1,32 +1,6 @@
1
1
  {
2
- "compilerOptions": {
3
- "target": "ES2021",
4
- "module": "commonjs",
5
- "moduleResolution": "node",
6
- "declaration": true,
7
- // "strict": true,
8
- "emitDecoratorMetadata": true,
9
- "experimentalDecorators": true,
10
- "allowSyntheticDefaultImports": true,
11
- "noUnusedLocals": false,
12
- "skipLibCheck": true,
13
- "esModuleInterop": true,
14
- "sourceMap": true,
15
- "outDir": "lib",
16
- "typeRoots": [
17
- "node_modules/@types"
18
- ],
19
- "lib": [
20
- "es2020.promise",
21
- "dom"
22
- ]
23
- },
2
+ "extends": "./tsconfig-base.json",
24
3
  "include": [
25
4
  "./src/**/*.ts"
26
- ],
27
- "exclude": [
28
- "node_modules",
29
- "lib",
30
- "doc"
31
5
  ]
32
6
  }
@@ -1,9 +1,7 @@
1
1
  {
2
- "compilerOptions": {
3
- "outDir": "test"
4
- },
5
- "extends": "./tsconfig.json",
6
- "include": [
7
- "./test/**/*.ts"
8
- ]
9
- }
2
+ "extends": "./tsconfig.json",
3
+ "include": [
4
+ "./src/**/*.ts",
5
+ "./tests/**/*.ts"
6
+ ]
7
+ }
@@ -0,0 +1,2 @@
1
+ import config from '../../node_modules/@restorecommerce/dev/vitest.config.js';
2
+ export default config;