From 1ddfe35f326b0146d97ec5198b094e932ad2d038 Mon Sep 17 00:00:00 2001 From: Ciaran Welch Date: Thu, 30 May 2024 13:05:23 +1000 Subject: [PATCH 1/4] chore: Update js-yaml to version 4.1.0 --- package-lock.json | 78 ++++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index e73066583..99e329829 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2451,6 +2451,15 @@ "resolve-from": "^5.0.0" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -2467,6 +2476,16 @@ "path-exists": "^4.0.0" } }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -2496,6 +2515,12 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true } } }, @@ -5897,6 +5922,33 @@ "log-driver": "^1.2.7", "minimist": "^1.2.5", "request": "^2.88.2" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } } }, "crc-32": { @@ -9263,30 +9315,12 @@ "dev": true }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - } + "argparse": "^2.0.1" } }, "jsbn": { diff --git a/package.json b/package.json index 66a8846ac..1fa23b987 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0", - "js-yaml": "^3.14.1", + "js-yaml": "^4.1.0", "markdownlint-cli": "^0.39.0", "meteor-sdk": "0.0.21", "mocha": "^10.4.0", From dbd58c14f635c32f559e44ab15f97d6419b6d477 Mon Sep 17 00:00:00 2001 From: Ciaran Welch Date: Thu, 30 May 2024 13:26:09 +1000 Subject: [PATCH 2/4] chore: Update js-yaml to version 4.1.0 --- tests/i18n/test_i18n_resources.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/i18n/test_i18n_resources.js b/tests/i18n/test_i18n_resources.js index 1cfdf07dd..65dff07ca 100644 --- a/tests/i18n/test_i18n_resources.js +++ b/tests/i18n/test_i18n_resources.js @@ -127,7 +127,7 @@ function checkCodeUsage(extension, keyPattern) { // Read and parse YAML file to JS object let yaml_doc = undefined; try { - yaml_doc = yaml.safeLoad(fs.readFileSync(en_yaml, "utf8")); + yaml_doc = yaml.load(fs.readFileSync(en_yaml, "utf8")); } catch (e) { console.log(e); anyErrorExitCodeToShell = 10; From e0ae46e22ae0a6a79096d46628acf017933cd872 Mon Sep 17 00:00:00 2001 From: Ciaran Welch Date: Thu, 30 May 2024 16:00:13 +1000 Subject: [PATCH 3/4] Resolve JS-0262 --- tests/i18n/test_i18n_resources.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tests/i18n/test_i18n_resources.js b/tests/i18n/test_i18n_resources.js index 65dff07ca..c7c211481 100644 --- a/tests/i18n/test_i18n_resources.js +++ b/tests/i18n/test_i18n_resources.js @@ -1,3 +1,4 @@ +import * as path from "pathe"; /* * This script will check i18n resources keys * 1. read all available keys from YAML @@ -19,7 +20,7 @@ const IGNOREKEYS = { const fs = require("fs"); const yaml = require("js-yaml"); -const en_yaml = `${__dirname}/../../both/i18n/en.i18n.yml`; +const en_yaml = path.join(__dirname, "../../both/i18n/en.i18n.yml"); let anyErrorExitCodeToShell = 0; let globalErrorCount = 0; let globalWarningCount = 0; @@ -65,16 +66,15 @@ function collectFilesRecursive(dir, extension) { }); return results; } - -// Recursively iterate a JS object build full pathes of keys -function buildFullPathes(obj, stack, separator = ".") { +// Recursively iterate a JS object build full paths of keys +function buildFullPaths(obj, stack, separator = ".") { for (const property in obj) { if (Object.prototype.hasOwnProperty.call(obj, property)) { if (typeof obj[property] == "object") { if (stack) { - buildFullPathes(obj[property], stack + separator + property); + buildFullPaths(obj[property], stack + separator + property); } else { - buildFullPathes(obj[property], property); + buildFullPaths(obj[property], property); } } else { dictKeysFromYaml[stack + separator + property] = 0; // Remember leaf! @@ -83,10 +83,16 @@ function buildFullPathes(obj, stack, separator = ".") { } } +/** + * Checks the usage of i18n keys in code files and compares them with YAML files. + * + * @param {string} extension - The file extension to search for. + * @param {RegExp} keyPattern - The regular expression pattern to match i18n keys. + */ function checkCodeUsage(extension, keyPattern) { dictKeysFromCode = {}; let localErrorCount = 0; - const files_js = collectFilesRecursive(`${__dirname}/../..`, extension); + const files_js = collectFilesRecursive(path.join(__dirname, ".."), extension); // Find all i18n __ keys used in this file, according to regexp key pattern // provided @@ -132,10 +138,10 @@ try { console.log(e); anyErrorExitCodeToShell = 10; } -// Recursively walk the YAML JS object, build key pathes like: +// Recursively walk the YAML JS object, build key paths like: // 'Admin.Users.State.column' if (yaml_doc) { - buildFullPathes(yaml_doc, ""); // ==> results in dictKeysFromYaml + buildFullPaths(yaml_doc, ""); // ==> results in dictKeysFromYaml } else { console.log("Error: could not parse YAML"); anyErrorExitCodeToShell = 20; From 3e4c2d6bba2385f373c59e2b0ae973416903fa51 Mon Sep 17 00:00:00 2001 From: "restyled-io[bot]" <32688539+restyled-io[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 16:02:11 +1000 Subject: [PATCH 4/4] Restyle chore: Update js-yaml to version 4.1.0 (#784) * style: format code with clang-format * style: format code with prettier --------- Co-authored-by: Restyled.io --- tests/i18n/test_i18n_resources.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/i18n/test_i18n_resources.js b/tests/i18n/test_i18n_resources.js index c7c211481..0be61b048 100644 --- a/tests/i18n/test_i18n_resources.js +++ b/tests/i18n/test_i18n_resources.js @@ -84,10 +84,12 @@ function buildFullPaths(obj, stack, separator = ".") { } /** - * Checks the usage of i18n keys in code files and compares them with YAML files. + * Checks the usage of i18n keys in code files and compares them with YAML + * files. * * @param {string} extension - The file extension to search for. - * @param {RegExp} keyPattern - The regular expression pattern to match i18n keys. + * @param {RegExp} keyPattern - The regular expression pattern to match i18n + * keys. */ function checkCodeUsage(extension, keyPattern) { dictKeysFromCode = {};