@companieshouse/ch-node-utils 1.3.13 → 1.3.15

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 CHANGED
@@ -82,14 +82,14 @@ Available as a normal npm dependency([here on npmjs](https://www.npmjs.com/packa
82
82
  A menu navigation bar component has been added to make it easier to add links pointing to new services when needed. There are two Nunjucks macros: one that adds a menu navigation bar with the provided items and another that adds a menu navigation bar with predefined items. The latter internally uses the former and currently contains links to the following services:
83
83
 
84
84
  - Authorised agent (conditional)
85
- - Your companies
85
+ - Your companies (conditional)
86
86
  - Your filings
87
87
  - Companies you follow
88
88
  - Basket
89
89
  - Manage account
90
90
  - Sign out
91
91
 
92
- The "Authorised agent" menu item appears conditionally if the logged user has ACSP membership.
92
+ The "Authorised agent" menu item appears conditionally if the logged user has ACSP membership. The "Your companies" menu items appears conditionally until the service is live.
93
93
 
94
94
  #### Usage
95
95
 
@@ -107,6 +107,7 @@ The macro requires the following parameters:
107
107
  - `chsMonitorGuiUrl`: The URL for the "Companies you follow" link
108
108
  - `lang`: An object containing language-specific strings for localization
109
109
  - `displayAuthorisedAgent`: A flag for displaying the "Authorised agent" menu item. If the logged user has ACSP membership, this flag should be set to `'yes'`. If your service uses i18 middleware provided in the `@companieshouse/ch-node-utils` package, then this flag will be set to the correct value automatically. If not, you can use `isAuthorisedAgent` function from `./utils/sessionUtils`.
110
+ - `displayYourCompanies`: A flag for displaying the "Your companies" menu item. It should be set to `'yes` if this menu iten needs to be displayed.
110
111
 
111
112
  #### Localization
112
113
 
@@ -12,8 +12,8 @@ export default class i18nCh {
12
12
  private getFoldersFromPath;
13
13
  private changeLanguage;
14
14
  private loadGenericKey;
15
- resolveNamespacesKeys(lang: string, vars?: any): Record<string, any>;
16
- resolveSingleKey(key: string, lang: string, vars?: any): string;
15
+ resolveNamespacesKeys(lang: string, vars?: any, unescape?: boolean): Record<string, any>;
16
+ resolveSingleKey(key: string, lang: string, vars?: any, unescape?: boolean): string;
17
17
  loadNamespaces(nameSpaces?: string[]): void;
18
18
  getResourceBundle(lng: string, ns: string): any;
19
19
  }
@@ -93,21 +93,23 @@ class i18nCh {
93
93
  throw new Error(`i18nCh changeLanguage error: ${err}`);
94
94
  });
95
95
  }
96
- loadGenericKey(lang, ns, value, vars = {}, path = '') {
96
+ loadGenericKey(lang, ns, value, unescape, vars = {}, path = '') {
97
97
  let data = {};
98
98
  for (const [key, val] of Object.entries(value)) {
99
99
  (0, log_1.default)(`${key}`);
100
100
  const currentPath = path ? `${path}.${key}` : key;
101
101
  if (typeof val === 'object' && val !== null) {
102
- data[key] = this.loadGenericKey(lang, ns, val, vars, currentPath);
102
+ data[key] = this.loadGenericKey(lang, ns, val, unescape, vars, currentPath);
103
103
  }
104
104
  else {
105
- data[key] = this.i18nInst.t(currentPath, Object.assign({ lng: lang, ns: ns }, vars));
105
+ data[key] = this.i18nInst.t(currentPath, Object.assign(Object.assign({ lng: lang, ns: ns }, vars), { interpolation: {
106
+ escapeValue: !unescape
107
+ } }));
106
108
  }
107
109
  }
108
110
  return data;
109
111
  }
110
- resolveNamespacesKeys(lang, vars = {}) {
112
+ resolveNamespacesKeys(lang, vars = {}, unescape = false) {
111
113
  let data = {};
112
114
  try {
113
115
  if (this.i18nInst && this.nameSpaces) {
@@ -118,7 +120,7 @@ class i18nCh {
118
120
  (0, log_1.default)(`${ns}: ${this.nameSpaces}`);
119
121
  if (this.nameSpaces.includes(ns)) {
120
122
  (0, log_1.default)(`${ns}`);
121
- data = Object.assign(Object.assign({}, data), this.loadGenericKey(lang, ns, value, vars));
123
+ data = Object.assign(Object.assign({}, data), this.loadGenericKey(lang, ns, value, unescape, vars));
122
124
  }
123
125
  }
124
126
  }
@@ -129,12 +131,14 @@ class i18nCh {
129
131
  }
130
132
  return data;
131
133
  }
132
- resolveSingleKey(key, lang, vars = {}) {
134
+ resolveSingleKey(key, lang, vars = {}, unescape = false) {
133
135
  let t = key;
134
136
  if (this.i18nInst) {
135
137
  try {
136
138
  this.changeLanguage(lang);
137
- t = this.i18nInst.t(key, Object.assign({ lng: lang, ns: this.nameSpaces }, vars));
139
+ t = this.i18nInst.t(key, Object.assign(Object.assign({ lng: lang, ns: this.nameSpaces }, vars), { interpolation: {
140
+ escapeValue: !unescape
141
+ } }));
138
142
  (0, log_1.default)(`searched for key:${key} lang:${lang} and got: ${t}`);
139
143
  }
140
144
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"i18nCh.js","sourceRoot":"","sources":["../../src/utils/i18nCh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18nCh.js","sourceRoot":"","sources":["../../src/utils/i18nCh.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NamedIsoCode = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const iso_639_1_1 = tslib_1.__importDefault(require("iso-639-1"));
6
- const subDirs_js_1 = tslib_1.__importDefault(require("./subDirs.js"));
6
+ const subDirs_1 = tslib_1.__importDefault(require("./subDirs"));
7
7
  class NamedIsoCode {
8
8
  constructor(IsoCode, Name) {
9
9
  this.IsoCode = IsoCode;
@@ -34,11 +34,11 @@ class LanguageNames {
34
34
  return a.localeCompare(b);
35
35
  }
36
36
  static sourceLocales(localesDir) {
37
- const localesArray = subDirs_js_1.default.getSubDirs(localesDir);
37
+ const localesArray = subDirs_1.default.getSubDirs(localesDir);
38
38
  return LanguageNames.getNativeNamesObjectArray(localesArray.sort(LanguageNames._customSort));
39
39
  }
40
40
  static isSupportedLocale(localesDir, locale) {
41
- return subDirs_js_1.default.getSubDirs(localesDir).includes(locale);
41
+ return subDirs_1.default.getSubDirs(localesDir).includes(locale);
42
42
  }
43
43
  }
44
44
  exports.default = LanguageNames;
@@ -1 +1 @@
1
- {"version":3,"file":"languageNames.js","sourceRoot":"","sources":["../../src/utils/languageNames.ts"],"names":[],"mappings":";;;;AAAA,kEAAgC;AAChC,sEAAmC;AAEnC,MAAa,YAAY;IACtB,YAAmB,OAAe,EAAS,IAAY;QAApC,YAAO,GAAP,OAAO,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IACvD,CAAC;CACH;AAHD,oCAGC;AAED,MAAqB,aAAa;IAC/B,MAAM,CAAC,aAAa,CAAC,QAAkB;QACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAE1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,QAAkB;QAEhD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IAClG,CAAC;IAKO,MAAM,CAAC,WAAW,CAAC,CAAS,EAAE,CAAS;QAC/C,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,OAAQ,CAAC,CAAC;QAAC,CAAC;QAE9B,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,aAAa,CAAE,UAAkB;QACrC,MAAO,YAAY,GAAG,oBAAO,CAAC,UAAU,CAAE,UAAU,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,yBAAyB,CAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAE,UAAkB,EAAE,MAAc;QACzD,OAAO,oBAAO,CAAC,UAAU,CAAE,UAAU,CAAC,CAAC,QAAQ,CAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;CACH;AArCD,gCAqCC"}
1
+ {"version":3,"file":"languageNames.js","sourceRoot":"","sources":["../../src/utils/languageNames.ts"],"names":[],"mappings":";;;;AAAA,kEAAgC;AAChC,gEAAgC;AAEhC,MAAa,YAAY;IACtB,YAAmB,OAAe,EAAS,IAAY;QAApC,YAAO,GAAP,OAAO,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IACvD,CAAC;CACH;AAHD,oCAGC;AAED,MAAqB,aAAa;IAC/B,MAAM,CAAC,aAAa,CAAC,QAAkB;QACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAE1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IAC5F,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,QAAkB;QAEhD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IAClG,CAAC;IAKO,MAAM,CAAC,WAAW,CAAC,CAAS,EAAE,CAAS;QAC/C,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,OAAQ,CAAC,CAAC;QAAC,CAAC;QAE9B,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,aAAa,CAAE,UAAkB;QACrC,MAAO,YAAY,GAAG,iBAAO,CAAC,UAAU,CAAE,UAAU,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,yBAAyB,CAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAE,UAAkB,EAAE,MAAc;QACzD,OAAO,iBAAO,CAAC,UAAU,CAAE,UAAU,CAAC,CAAC,QAAQ,CAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;CACH;AArCD,gCAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companieshouse/ch-node-utils",
3
- "version": "1.3.13",
3
+ "version": "1.3.15",
4
4
  "author": "companieshouse",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -17,26 +17,17 @@
17
17
  "scripts": {
18
18
  "prebuild": "rm -rf ./lib",
19
19
  "build": "tsc",
20
- "_test": "mocha --recursive test/**/*.spec.ts",
21
- "test": "echo 'would execute: mocha --recursive test/**/*.spec.ts'",
22
- "_lint": "eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts'",
23
- "lint": "echo would execute: eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts'",
24
- "_lint:fix": "eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts' --fix",
25
- "lint:fix": "echo would execute: eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts' --fix",
26
- "_coverage": "nyc npm test",
27
- "coverage": "echo 'would execute: nyc npm test'",
28
- "_test:coverage": "nyc --check-coverage --reporter=text-summary npm run test",
29
- "test:coverage": "echo 'would execute: nyc --check-coverage --reporter=text-summary npm run test'",
30
- "_coverage:report": "nyc --reporter=lcov --reporter=text npm run test",
31
- "coverage:report": "echo 'would execute: nyc --reporter=lcov --reporter=text npm run test'",
32
- "_analyse-code": "sonar-scanner",
33
- "analyse-code": "echo 'would execute: sonar-scanner'",
20
+ "test": "jest",
21
+ "_lint": "eslint '{src,test}/**/*'",
22
+ "_lint:fix": "eslint '{src,test}/**/*' --fix",
23
+ "coverage": "jest --coverage --forceExit --passWithNoTests",
34
24
  "prepublishOnly": "[ ! -d node_modules ] && npm install; tsc",
35
25
  "postpublish": "rm -rf lib"
36
26
  },
37
27
  "license": "MIT",
38
28
  "dependencies": {
39
29
  "@companieshouse/node-session-handler": "^5.1.4",
30
+ "eslint": "^9.14.0",
40
31
  "express": "^4.18.3",
41
32
  "i18next": "^23.10.1",
42
33
  "i18next-fs-backend": "^2.3.1",
@@ -48,7 +39,10 @@
48
39
  "@types/express": "^4.17.21",
49
40
  "@types/i18next": "^13.0.0",
50
41
  "@types/ioredis": "4.28.10",
42
+ "@types/jest": "^29.5.14",
51
43
  "@types/node": "^20.11.28",
44
+ "jest": "^29.7.0",
45
+ "ts-jest": "^29.2.5",
52
46
  "typescript": "^5.4.2"
53
47
  },
54
48
  "bugs": {
@@ -60,11 +60,12 @@ It receives:
60
60
  - chsMonitorGuiUrl: the URL for the 'Companies you follow' link
61
61
  - lang: an object containing language-specific strings for localization
62
62
  - displayAuthorisedAgent: a flag indicating whether to display the 'Authorised agent' menu item
63
+ - displayYourCompanies: a flag indicating whether to display the 'Your companies' menu item
63
64
  #}
64
- {% macro addPredefinedNavbar(userDisplayText, chsMonitorGuiUrl, lang, displayAuthorisedAgent) %}
65
+ {% macro addPredefinedNavbar(userDisplayText, chsMonitorGuiUrl, lang, displayAuthorisedAgent, displayYourCompanies) %}
65
66
  {% set menuItems = [
66
67
  { id: "authorised-agent", href: "/authorised-agent", displayText: lang.authorisedAgent or "Authorised agent" } if displayAuthorisedAgent === "yes",
67
- { id: "your-companies", href: "/your-companies", displayText: lang.yourCompanies or "Your companies" },
68
+ { id: "your-companies", href: "/your-companies", displayText: lang.yourCompanies or "Your companies" } if displayYourCompanies === "yes",
68
69
  { id: "your-filings", href: "/user/transactions", displayText: lang.yourFilings or "Your filings" },
69
70
  { id: "companies-you-follow", href: chsMonitorGuiUrl, displayText: lang.companiesYouFollow or "Companies you follow" },
70
71
  { id: "basket", href: "/basket", displayText: lang.basket or "Basket" },
@@ -74,4 +75,4 @@ It receives:
74
75
 
75
76
  {{ addNavbar("/signin", menuItems, userDisplayText, lang) }}
76
77
 
77
- {% endmacro %}
78
+ {% endmacro %}