From aada9c1cf61df67b8049827cdcb8a763ae9c7529 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 09:01:51 +0200 Subject: [PATCH 01/12] add biome, hook and format --- .husky/pre-commit | 1 + .husky/prepare-commit-msg | 53 + biome.json | 19 + lefthook.yml | 5 + package-lock.json | 1452 ++++------------- package.json | 14 +- src/cli/domain/clean.ts | 2 +- src/cli/domain/get-components-by-dir.ts | 4 +- .../handle-dependencies/require-template.ts | 2 +- src/cli/domain/package-components.ts | 2 +- src/cli/domain/watch.ts | 2 +- src/cli/facade/dev.ts | 12 +- src/cli/facade/package.ts | 12 +- src/cli/facade/publish.ts | 8 +- src/cli/facade/registry-ls.ts | 2 +- src/cli/index.ts | 8 +- src/components/oc-client/package.json | 46 +- .../components-cache/components-list.ts | 8 +- src/registry/domain/components-cache/index.ts | 6 +- src/registry/domain/components-details.ts | 6 +- src/registry/domain/events-handler.ts | 4 +- src/registry/domain/nested-renderer.ts | 6 +- src/registry/domain/options-sanitiser.ts | 2 +- src/registry/domain/plugins-initialiser.ts | 14 +- src/registry/domain/register-templates.ts | 15 +- src/registry/domain/repository.ts | 10 +- .../domain/validators/component-parameters.ts | 4 +- .../validators/registry-configuration.ts | 2 +- src/registry/index.ts | 2 +- src/registry/router.ts | 2 +- src/registry/routes/component.ts | 2 +- src/registry/routes/components.ts | 4 +- .../helpers/get-available-dependencies.ts | 2 +- src/registry/routes/helpers/get-component.ts | 4 +- .../routes/helpers/get-components-history.ts | 2 +- src/registry/routes/index.ts | 6 +- src/registry/views/index.ts | 4 +- src/registry/views/info.ts | 9 +- .../views/partials/component-parameters.ts | 2 +- .../views/partials/components-history.ts | 4 +- .../views/partials/components-list.ts | 2 +- .../views/partials/components-plugins.ts | 5 +- src/utils/is-template-valid.ts | 2 +- src/utils/npm-utils.ts | 4 +- src/utils/pLimit.ts | 2 +- src/utils/put.ts | 2 +- 46 files changed, 495 insertions(+), 1286 deletions(-) create mode 100755 .husky/prepare-commit-msg create mode 100644 biome.json create mode 100644 lefthook.yml diff --git a/.husky/pre-commit b/.husky/pre-commit index 35d691878..c537582ff 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -2,3 +2,4 @@ . "$(dirname "$0")/_/husky.sh" npx pretty-quick --staged + diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg new file mode 100755 index 000000000..115dba765 --- /dev/null +++ b/.husky/prepare-commit-msg @@ -0,0 +1,53 @@ +#!/bin/sh + +if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then + set -x +fi + +if [ "$LEFTHOOK" = "0" ]; then + exit 0 +fi + +call_lefthook() +{ + dir="$(git rev-parse --show-toplevel)" + osArch=$(uname | tr '[:upper:]' '[:lower:]') + cpuArch=$(uname -m | sed 's/aarch64/arm64/') + + if test -n "$LEFTHOOK_BIN" + then + "$LEFTHOOK_BIN" "$@" + elif lefthook -h >/dev/null 2>&1 + then + lefthook "$@" + elif test -f "$dir/node_modules/lefthook/bin/index.js" + then + "$dir/node_modules/lefthook/bin/index.js" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook_${osArch}_${cpuArch}/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook/bin/lefthook_${osArch}_${cpuArch}/lefthook" "$@" + elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook_${osArch}_${cpuArch}/lefthook" + then + "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook_${osArch}_${cpuArch}/lefthook" "$@" + + elif bundle exec lefthook -h >/dev/null 2>&1 + then + bundle exec lefthook "$@" + elif yarn lefthook -h >/dev/null 2>&1 + then + yarn lefthook "$@" + elif pnpm lefthook -h >/dev/null 2>&1 + then + pnpm lefthook "$@" + elif swift package plugin lefthook >/dev/null 2>&1 + then + swift package --disable-sandbox plugin lefthook "$@" + elif command -v npx >/dev/null 2>&1 + then + npx lefthook "$@" + else + echo "Can't find lefthook in PATH" + fi +} + +call_lefthook run "prepare-commit-msg" "$@" diff --git a/biome.json b/biome.json new file mode 100644 index 000000000..beea58c08 --- /dev/null +++ b/biome.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.6.4/schema.json", + "organizeImports": { + "enabled": true + }, + "javascript": { + "formatter": { + "trailingComma": "none", + "indentStyle": "space", + "quoteStyle": "single" + } + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + } +} \ No newline at end of file diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 000000000..a3f1ef35f --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,5 @@ +pre-commit: + commands: + check: + glob: '*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}' + run: npx biome check --no-errors-on-unmatched --files-ignore-unknown=true {staged_files} diff --git a/package-lock.json b/package-lock.json index 97e91906f..698da4a83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "oc", - "version": "0.49.49", + "version": "0.49.51", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "oc", - "version": "0.49.49", + "version": "0.49.51", "license": "MIT", "dependencies": { "accept-language-parser": "^1.5.0", @@ -59,6 +59,7 @@ "oc": "dist/oc-cli.js" }, "devDependencies": { + "@biomejs/biome": "1.6.4", "@types/accept-language-parser": "^1.5.6", "@types/async": "^3.2.24", "@types/cross-spawn": "^6.0.6", @@ -77,25 +78,18 @@ "@types/semver": "^7.5.8", "@types/targz": "^1.0.4", "@types/yargs": "^17.0.32", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", "chai": "^4.3.8", "chalk": "^4.1.2", - "eslint": "^8.48.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", "glob": "^7.2.0", - "husky": "^8.0.3", "injectr": "^0.5.1", + "lefthook": "^1.6.8", "minimist": "^1.2.8", "mocha": "^9.1.3", "node-emoji": "^1.11.0", - "prettier": "^3.2.4", "rimraf": "^3.0.2", "semver-sort": "^1.0.0", "simple-git": "^2.48.0", "sinon": "^12.0.1", - "ts-node": "^10.9.2", "type-fest": "^2.8.0", "typescript": "^5.4.3" }, @@ -103,15 +97,6 @@ "node": ">=18" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -1846,26 +1831,159 @@ "node": ">=4" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@biomejs/biome": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.6.4.tgz", + "integrity": "sha512-3groVd2oWsLC0ZU+XXgHSNbq31lUcOCBkCcA7sAQGBopHcmL+jmmdoWlY3S61zIh+f2mqQTQte1g6PZKb3JJjA==", "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" }, "engines": { - "node": ">=12" + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.6.4", + "@biomejs/cli-darwin-x64": "1.6.4", + "@biomejs/cli-linux-arm64": "1.6.4", + "@biomejs/cli-linux-arm64-musl": "1.6.4", + "@biomejs/cli-linux-x64": "1.6.4", + "@biomejs/cli-linux-x64-musl": "1.6.4", + "@biomejs/cli-win32-arm64": "1.6.4", + "@biomejs/cli-win32-x64": "1.6.4" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.6.4.tgz", + "integrity": "sha512-2WZef8byI9NRzGajGj5RTrroW9BxtfbP9etigW1QGAtwu/6+cLkdPOWRAs7uFtaxBNiKFYA8j/BxV5zeAo5QOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.6.4.tgz", + "integrity": "sha512-uo1zgM7jvzcoDpF6dbGizejDLCqNpUIRkCj/oEK0PB0NUw8re/cn1EnxuOLZqDpn+8G75COLQTOx8UQIBBN/Kg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.6.4.tgz", + "integrity": "sha512-wAOieaMNIpLrxGc2/xNvM//CIZg7ueWy3V5A4T7gDZ3OL/Go27EKE59a+vMKsBCYmTt7jFl4yHz0TUkUbodA/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.4.tgz", + "integrity": "sha512-Hp8Jwt6rjj0wCcYAEN6/cfwrrPLLlGOXZ56Lei4Pt4jy39+UuPeAVFPeclrrCfxyL1wQ2xPrhd/saTHSL6DoJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.6.4.tgz", + "integrity": "sha512-qTWhuIw+/ePvOkjE9Zxf5OqSCYxtAvcTJtVmZT8YQnmY2I62JKNV2m7tf6O5ViKZUOP0mOQ6NgqHKcHH1eT8jw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.4.tgz", + "integrity": "sha512-wqi0hr8KAx5kBO0B+m5u8QqiYFFBJOSJVSuRqTeGWW+GYLVUtXNidykNqf1JsW6jJDpbkSp2xHKE/bTlVaG2Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.6.4.tgz", + "integrity": "sha512-Wp3FiEeF6v6C5qMfLkHwf4YsoNHr/n0efvoC8jCKO/kX05OXaVExj+1uVQ1eGT7Pvx0XVm/TLprRO0vq/V6UzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.4.tgz", + "integrity": "sha512-mz183Di5hTSGP7KjNWEhivcP1wnHLGmOxEROvoFsIxMYtDhzJDad4k5gI/1JbmA0xe4n52vsgqo09tBhrMT/Zg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" } }, "node_modules/@esbuild/aix-ppc64": { @@ -2213,95 +2331,6 @@ "node": ">=12" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -2369,53 +2398,6 @@ "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", "dev": true }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.13.2", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.2.tgz", @@ -2653,30 +2635,6 @@ "node": ">=10" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, "node_modules/@types/accept-language-parser": { "version": "1.5.6", "resolved": "https://registry.npmjs.org/@types/accept-language-parser/-/accept-language-parser-1.5.6.tgz", @@ -3013,246 +2971,32 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true - }, - "node_modules/@types/ws": { - "version": "8.5.9", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", - "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", - "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/type-utils": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", - "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", - "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", - "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", - "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", - "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "dev": true }, - "node_modules/@typescript-eslint/utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", - "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", + "node_modules/@types/ws": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", + "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "@types/node": "*" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", - "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.20.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@types/yargs-parser": "*" } }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, "node_modules/@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -3460,24 +3204,6 @@ "acorn": "^8" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3562,12 +3288,6 @@ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3579,15 +3299,6 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -4569,15 +4280,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -4916,12 +4618,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -5011,12 +4707,6 @@ "node": ">=6" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -5114,30 +4804,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dotenv": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", @@ -5317,171 +4983,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -5607,39 +5108,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, "node_modules/fast-xml-parser": { "version": "3.19.0", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", @@ -5652,27 +5125,6 @@ "url": "https://paypal.me/naturalintelligence" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -5755,26 +5207,6 @@ "flat": "cli.js" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -5947,53 +5379,6 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -6039,12 +5424,6 @@ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -6206,21 +5585,6 @@ "node": ">=10.19.0" } }, - "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6232,40 +5596,6 @@ "node": ">=0.10.0" } }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/infinite-loop-loader": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/infinite-loop-loader/-/infinite-loop-loader-1.0.9.tgz", @@ -6391,15 +5721,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -6512,13 +5833,7 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json5": { "version": "0.5.1", @@ -6688,18 +6003,129 @@ "node": ">=0.10.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/lefthook": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.6.8.tgz", + "integrity": "sha512-h+5S3FLhErIrVTz+uLaysS0kATlzCW8Wa1DUqpu0rYsimsEk/TrP9cMnTVd0UKq3Ks2ooq5pCUmnipJy5zl1VQ==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "hasInstallScript": true, + "bin": { + "lefthook": "bin/index.js" }, - "engines": { - "node": ">= 0.8.0" - } + "optionalDependencies": { + "lefthook-darwin-arm64": "1.6.8", + "lefthook-darwin-x64": "1.6.8", + "lefthook-freebsd-arm64": "1.6.8", + "lefthook-freebsd-x64": "1.6.8", + "lefthook-linux-arm64": "1.6.8", + "lefthook-linux-x64": "1.6.8", + "lefthook-windows-arm64": "1.6.8", + "lefthook-windows-x64": "1.6.8" + } + }, + "node_modules/lefthook-darwin-arm64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.6.8.tgz", + "integrity": "sha512-L7iZVANp92MsYHRlpOlItXWGS6QL0w1E6T5GO00SGVoVPClA+Tkt26BFPhLZKa3pMbSHEhGTHeBMWJZ2Un/TnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/lefthook-darwin-x64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.6.8.tgz", + "integrity": "sha512-BhYwl1CBi0eKKfsD9Bd6a6wmmaLHaZEBS5PlGc0h8hRWxC+CmBZyR0VDqXli9yxmgraI6psehM+w1v7RkP5pSg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/lefthook-freebsd-arm64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.6.8.tgz", + "integrity": "sha512-pr86NVKUOiK0MwW2UZRLiDlYLV8XaqxKWRltVut4W78Ywb0PNTb3k4LVeMwfXiNqEgD8gug9vE8aZY1U3D2HMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/lefthook-freebsd-x64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.6.8.tgz", + "integrity": "sha512-pyzYRCHf6jSWoZJG22kE7KFbHQ1B6sHcxXP9o/Y5H8T/sHUxO03GEtdrGwyijMP0EJYb1vMfVWYY5WbWfg6SPg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/lefthook-linux-arm64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.6.8.tgz", + "integrity": "sha512-1VsEnfxWhs8YLMUnlYdbLBLldJrqJi/G2Isrvx0KBBu/nILxMmNa5GIQo8uqeeufmi/WVc8g3xgJtPxSp3NXnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lefthook-linux-x64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.6.8.tgz", + "integrity": "sha512-0e4GSPBhJkngO4qAX5bqJLYTftrBfulLiwbsWX6hx4SWFY3kFpCLtAYD8zfvfQaAfwb9Ieut2XnqcE9mNfI9+Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/lefthook-windows-arm64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.6.8.tgz", + "integrity": "sha512-bVYRF4mBcT2T5/uN5pJpk9jqvik8JLtgRL+BxTKPshuVFO2nJczgdX1lWRnveGyz84DHwYgu+GwYl7PLjGU28A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/lefthook-windows-x64": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.6.8.tgz", + "integrity": "sha512-cT3ZopXAFyEsfkRf+wRwINBPWUMYi2Wba59BqN8JU/Tfuuv7Of2e51u+VTsHMR+8+JdEt3A8Kl20xw24E8ccAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, "node_modules/livereload": { "version": "0.9.3", @@ -6781,12 +6207,6 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -6869,12 +6289,6 @@ "semver": "bin/semver.js" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, "node_modules/markdown": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", @@ -6951,15 +6365,6 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -6968,19 +6373,6 @@ "node": ">= 0.6" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -7303,12 +6695,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -8291,23 +7677,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/opts": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", @@ -8387,18 +7756,6 @@ "node": ">=6" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/parse-author": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", @@ -8447,15 +7804,6 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", @@ -8584,42 +7932,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -8689,26 +8001,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -8879,15 +8171,6 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/response-time": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", @@ -8919,16 +8202,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, "node_modules/right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -8988,29 +8261,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -9315,15 +8565,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -9417,22 +8658,6 @@ "node": ">=8" } }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -9615,12 +8840,6 @@ "source-map": "^0.6.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, "node_modules/to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", @@ -9666,87 +8885,11 @@ "resolved": "https://registry.npmjs.org/try-require/-/try-require-1.2.1.tgz", "integrity": "sha512-aMzrGUIA/R2LwUgvsOusx+GTy8ERyNjpBzbWgS1Qx4oTFlXCMxY3PyyXbPE1pvrvK/CXpO+BBREEqrTkNroC+A==" }, - "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "dev": true, - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -9865,12 +9008,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -10275,15 +9412,6 @@ "engines": { "node": ">=12" } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } } } } diff --git a/package.json b/package.json index 667eb9d9b..d688180b3 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "version-major": "node tasks/version.js --type=\"major\"", "version-minor": "node tasks/version.js --type=\"minor\"", "version-patch": "node tasks/version.js --type=\"patch\"", - "prepare": "husky install" + "prepare": "lefthook install" }, "engines": { "node": ">=18" @@ -40,6 +40,7 @@ "oc" ], "devDependencies": { + "@biomejs/biome": "1.6.4", "@types/accept-language-parser": "^1.5.6", "@types/async": "^3.2.24", "@types/cross-spawn": "^6.0.6", @@ -58,25 +59,18 @@ "@types/semver": "^7.5.8", "@types/targz": "^1.0.4", "@types/yargs": "^17.0.32", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", "chai": "^4.3.8", "chalk": "^4.1.2", - "eslint": "^8.48.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", "glob": "^7.2.0", - "husky": "^8.0.3", "injectr": "^0.5.1", + "lefthook": "^1.6.8", "minimist": "^1.2.8", "mocha": "^9.1.3", "node-emoji": "^1.11.0", - "prettier": "^3.2.4", "rimraf": "^3.0.2", "semver-sort": "^1.0.0", "simple-git": "^2.48.0", "sinon": "^12.0.1", - "ts-node": "^10.9.2", "type-fest": "^2.8.0", "typescript": "^5.4.3" }, @@ -127,4 +121,4 @@ "universalify": "^2.0.0", "yargs": "^17.7.2" } -} +} \ No newline at end of file diff --git a/src/cli/domain/clean.ts b/src/cli/domain/clean.ts index e4812122d..77e3b6a07 100644 --- a/src/cli/domain/clean.ts +++ b/src/cli/domain/clean.ts @@ -9,7 +9,7 @@ export async function fetchList(dirPath: string): Promise { if (list.length === 0) return []; - const toRemove = list.map(folder => path.join(folder, 'node_modules')); + const toRemove = list.map((folder) => path.join(folder, 'node_modules')); return toRemove.filter(fs.existsSync); } diff --git a/src/cli/domain/get-components-by-dir.ts b/src/cli/domain/get-components-by-dir.ts index 9804a5953..f6225dfb1 100644 --- a/src/cli/domain/get-components-by-dir.ts +++ b/src/cli/domain/get-components-by-dir.ts @@ -30,14 +30,14 @@ export default function getComponentsByDir() { try { let dirContent = await fs.readdir(componentsDir); if (componentsToRun) { - dirContent = dirContent.filter(content => + dirContent = dirContent.filter((content) => componentsToRun.includes(content) ); } const components = dirContent .filter(isOcComponent) - .map(component => path.resolve(componentsDir, component)); + .map((component) => path.resolve(componentsDir, component)); return components; } catch (err) { diff --git a/src/cli/domain/handle-dependencies/require-template.ts b/src/cli/domain/handle-dependencies/require-template.ts index c5c92cf0a..6c040960d 100644 --- a/src/cli/domain/handle-dependencies/require-template.ts +++ b/src/cli/domain/handle-dependencies/require-template.ts @@ -49,7 +49,7 @@ export default function requireTemplate( ); [componentRelativePath, template, localTemplate, relativeTemplate].forEach( - pathToTry => { + (pathToTry) => { ocTemplate = ocTemplate || cleanRequire(pathToTry, { justTry: true }); } ); diff --git a/src/cli/domain/package-components.ts b/src/cli/domain/package-components.ts index 40b4a4744..0095c946c 100644 --- a/src/cli/domain/package-components.ts +++ b/src/cli/domain/package-components.ts @@ -19,7 +19,7 @@ interface Sizes { } function checkSizes(folder: string) { - const jsFiles = fs.readdirSync(folder).filter(x => x.endsWith('.js')); + const jsFiles = fs.readdirSync(folder).filter((x) => x.endsWith('.js')); const sizes: Sizes = { client: 0 diff --git a/src/cli/domain/watch.ts b/src/cli/domain/watch.ts index 05e5e1073..9990d8c99 100644 --- a/src/cli/domain/watch.ts +++ b/src/cli/domain/watch.ts @@ -15,7 +15,7 @@ export default function watch( usePolling: true }); const onChange = (fileName: string) => { - const componentDir = dirs.find(dir => + const componentDir = dirs.find((dir) => Boolean(fileName.match(escapeRegularExpression(dir + path.sep))) ); changed(null, fileName, componentDir); diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index d484fc44b..e524436df 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -18,7 +18,7 @@ type Registry = ReturnType; const cliMessages = strings.messages.cli; const cliErrors = strings.errors.cli; -const delay = (time = 0) => new Promise(res => setTimeout(res, time)); +const delay = (time = 0) => new Promise((res) => setTimeout(res, time)); const getPort = promisify(getPortCb); const dev = ({ local, logger }: { logger: Logger; local: Local }) => @@ -108,9 +108,9 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => const registerPlugins = (registry: Registry) => { const mockedPlugins = getMockedPlugins(logger, componentsDir); - mockedPlugins.forEach(p => registry.register(p)); + mockedPlugins.forEach((p) => registry.register(p)); - registry.on('request', data => { + registry.on('request', (data) => { if (data.errorCode === 'PLUGIN_MISSING_FROM_REGISTRY') { logger.err( cliErrors.PLUGIN_MISSING_FROM_REGISTRY( @@ -135,14 +135,14 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => } logger.ok('OK'); - components.forEach(component => + components.forEach((component) => logger.log(colors.green('├── ') + component) ); const dependencies = await handleDependencies({ components, logger - }).catch(err => { + }).catch((err) => { logger.err(err); return Promise.reject(err); }); @@ -155,7 +155,7 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => port: undefined }; if (hotReloading) { - const otherPort = await getPort(port + 1).catch(err => { + const otherPort = await getPort(port + 1).catch((err) => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/facade/package.ts b/src/cli/facade/package.ts index 2694787ee..1db8fc786 100644 --- a/src/cli/facade/package.ts +++ b/src/cli/facade/package.ts @@ -34,7 +34,7 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => componentPath: path.resolve(componentPath) }; - const component = await local.package(packageOptions).catch(err => { + const component = await local.package(packageOptions).catch((err) => { logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); return Promise.reject(err); }); @@ -44,10 +44,12 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => if (opts.compress) { logger.warn(strings.messages.cli.COMPRESSING(compressedPackagePath)); - await local.compress(packageDir, compressedPackagePath).catch(err => { - logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); - return Promise.reject(err); - }); + await local + .compress(packageDir, compressedPackagePath) + .catch((err) => { + logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); + return Promise.reject(err); + }); logger.ok(strings.messages.cli.COMPRESSED(compressedPackagePath)); diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index 04eb500da..98c4bdf49 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -174,12 +174,12 @@ const publish = ({ await handleDependencies({ components: [path.resolve(componentPath)], logger - }).catch(err => { + }).catch((err) => { logger.err(err); return Promise.reject(err); }); - const component = await packageAndCompress().catch(err => { + const component = await packageAndCompress().catch((err) => { errorMessage = strings.errors.cli.PACKAGE_CREATION_FAIL( String(err) ); @@ -189,11 +189,11 @@ const publish = ({ await publishToRegistries(registryLocations, component); } else { if (fs.existsSync(packageDir)) { - const component = await readPackageJson().catch(err => { + const component = await readPackageJson().catch((err) => { logger.err(String(err)); return Promise.reject(err); }); - await compress().catch(err => { + await compress().catch((err) => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/facade/registry-ls.ts b/src/cli/facade/registry-ls.ts index 3e20fc091..b11d11f04 100644 --- a/src/cli/facade/registry-ls.ts +++ b/src/cli/facade/registry-ls.ts @@ -24,7 +24,7 @@ const registryLs = ({ throw err; } - registries.forEach(registryLocation => logger.ok(registryLocation)); + registries.forEach((registryLocation) => logger.ok(registryLocation)); return registries; } catch (err) { diff --git a/src/cli/index.ts b/src/cli/index.ts index 66f0379b3..f515caeb7 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -80,7 +80,7 @@ function processCommand( cli.command( command.cmd || commandName, command.description, - yargs => { + (yargs) => { yargs.usage(command.usage); if (command.options) { @@ -89,7 +89,7 @@ function processCommand( if (command.commands) { yargs - .check(argv => validateCommand(argv, level)) + .check((argv) => validateCommand(argv, level)) .epilogue(strings.messages.cli.HELP_HINT); const newPrefix = (prefix ? prefix + '-' : '') + commandName + '-'; @@ -114,7 +114,7 @@ function processCommand( return yargs; }, - options => { + (options) => { // @ts-ignore not callable facade(options).catch(() => { process.exit(1); @@ -129,7 +129,7 @@ Object.entries(commands.commands).forEach(([commandName, command]) => { const argv = cli .completion() - .check(argv => validateCommand(argv, 0)) + .check((argv) => validateCommand(argv, 0)) .usage(commands.usage) .epilogue(strings.messages.cli.HELP_HINT) .help('h') diff --git a/src/components/oc-client/package.json b/src/components/oc-client/package.json index 3fe6d92dd..fffbac5c6 100644 --- a/src/components/oc-client/package.json +++ b/src/components/oc-client/package.json @@ -1,26 +1,24 @@ { - "name": "oc-client", - "description": "The OpenComponents client-side javascript client", - "version": "0.49.51", - "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client", - "author": "Matteo Figus ", - "oc": { - "container": false, - "renderInfo": false, - "minify": false, - "parameters": {}, - "files": { - "data": "server.js", - "template": { - "src": "template.js", - "type": "oc-template-es6" - }, - "static": [ - "src" - ] - } - }, - "devDependencies": { - "oc-template-es6-compiler": "^1.0.1" - } + "name": "oc-client", + "description": "The OpenComponents client-side javascript client", + "version": "0.49.51", + "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client", + "author": "Matteo Figus ", + "oc": { + "container": false, + "renderInfo": false, + "minify": false, + "parameters": {}, + "files": { + "data": "server.js", + "template": { + "src": "template.js", + "type": "oc-template-es6" + }, + "static": ["src"] + } + }, + "devDependencies": { + "oc-template-es6-compiler": "^1.0.1" + } } diff --git a/src/registry/domain/components-cache/components-list.ts b/src/registry/domain/components-cache/components-list.ts index 52b4cbfc6..0b3118067 100644 --- a/src/registry/domain/components-cache/components-list.ts +++ b/src/registry/domain/components-cache/components-list.ts @@ -38,12 +38,12 @@ export default function componentsList(conf: Config, cdn: StorageAdapter) { `${conf.storage.options.componentsDir}/${componentName}` ); const unCheckedVersions = allVersions.filter( - version => !jsonList?.components[componentName]?.includes(version) + (version) => !jsonList?.components[componentName]?.includes(version) ); const limit = pLimit(cdn.maxConcurrentRequests); const invalidVersions = ( await Promise.all( - unCheckedVersions.map(unCheckedVersion => + unCheckedVersions.map((unCheckedVersion) => limit(async () => { const isValid = await validateComponentVersion( componentName, @@ -66,7 +66,7 @@ export default function componentsList(conf: Config, cdn: StorageAdapter) { } const validVersions = allVersions.filter( - version => !invalidVersions.includes(version) + (version) => !invalidVersions.includes(version) ); return validVersions.sort(semver.compare); @@ -79,7 +79,7 @@ export default function componentsList(conf: Config, cdn: StorageAdapter) { const limit = pLimit(cdn.maxConcurrentRequests); const versions = await Promise.all( - components.map(component => + components.map((component) => limit(() => getVersionsForComponent(component)) ) ); diff --git a/src/registry/domain/components-cache/index.ts b/src/registry/domain/components-cache/index.ts index 8223e40ea..3e4da5889 100644 --- a/src/registry/domain/components-cache/index.ts +++ b/src/registry/domain/components-cache/index.ts @@ -56,7 +56,7 @@ export default function componentsCache(conf: Config, cdn: StorageAdapter) { }, async load(): Promise { - const jsonComponents = await componentsList.getFromJson().catch(err => { + const jsonComponents = await componentsList.getFromJson().catch((err) => { if (err?.code === strings.errors.STORAGE.FILE_NOT_FOUND_CODE) return null; @@ -64,7 +64,7 @@ export default function componentsCache(conf: Config, cdn: StorageAdapter) { }); const dirComponents = await componentsList .getFromDirectories(jsonComponents) - .catch(err => throwError('components_list_get', err)); + .catch((err) => throwError('components_list_get', err)); if ( !jsonComponents || @@ -72,7 +72,7 @@ export default function componentsCache(conf: Config, cdn: StorageAdapter) { ) { await componentsList .save(dirComponents) - .catch(err => throwError('components_list_save', err)); + .catch((err) => throwError('components_list_save', err)); } cacheDataAndStartPolling(dirComponents); diff --git a/src/registry/domain/components-details.ts b/src/registry/domain/components-details.ts index 5b2b1efce..0736e29d8 100644 --- a/src/registry/domain/components-details.ts +++ b/src/registry/domain/components-details.ts @@ -35,7 +35,7 @@ export default function componentsDetails(conf: Config, cdn: StorageAdapter) { const missing: Array<{ name: string; version: string }> = []; _.each(options.componentsList.components, (versions, name) => { details.components[name] = details.components[name] || {}; - _.each(versions, version => { + _.each(versions, (version) => { if (!details.components[name][version]) { missing.push({ name, version }); } @@ -75,13 +75,13 @@ export default function componentsDetails(conf: Config, cdn: StorageAdapter) { const dirDetails = await getFromDirectories({ componentsList, details: jsonDetails - }).catch(err => returnError('components_details_get', err)); + }).catch((err) => returnError('components_details_get', err)); if ( !jsonDetails || !_.isEqual(dirDetails.components, jsonDetails.components) ) { - await save(dirDetails).catch(err => + await save(dirDetails).catch((err) => returnError('components_details_save', err) ); return dirDetails; diff --git a/src/registry/domain/events-handler.ts b/src/registry/domain/events-handler.ts index 66e88d2c4..8683f84a5 100644 --- a/src/registry/domain/events-handler.ts +++ b/src/registry/domain/events-handler.ts @@ -56,7 +56,7 @@ type EventsHandler = { const eventsHandler: EventsHandler = { fire(eventName: string, eventData: unknown): void { if (subscriptions[eventName]) { - subscriptions[eventName].forEach(callback => { + subscriptions[eventName].forEach((callback) => { callback(eventData); }); } @@ -81,7 +81,7 @@ const eventsHandler: EventsHandler = { if (subscriptions[eventName]) { subscriptions[eventName] = subscriptions[eventName].filter( - sub => sub !== callback + (sub) => sub !== callback ); } }, diff --git a/src/registry/domain/nested-renderer.ts b/src/registry/domain/nested-renderer.ts index 2b462cca6..0b4b51c21 100644 --- a/src/registry/domain/nested-renderer.ts +++ b/src/registry/domain/nested-renderer.ts @@ -23,7 +23,7 @@ export default function nestedRenderer( ) { const renderer = (options: RendererOptions) => new Promise((res, rej) => { - rendererWithCallback(options, result => { + rendererWithCallback(options, (result) => { if (result.response.error) { rej(result.response.error); } else { @@ -66,7 +66,7 @@ export default function nestedRenderer( } return Promise.all( - components.map(component => { + components.map((component) => { return renderer({ conf: conf, headers: { @@ -80,7 +80,7 @@ export default function nestedRenderer( ...component.parameters }, version: component.version || '' - }).catch(err => new Error(err)); + }).catch((err) => new Error(err)); }) ); } diff --git a/src/registry/domain/options-sanitiser.ts b/src/registry/domain/options-sanitiser.ts index c9693915b..ee1c6e292 100644 --- a/src/registry/domain/options-sanitiser.ts +++ b/src/registry/domain/options-sanitiser.ts @@ -91,7 +91,7 @@ export default function optionsSanitiser(input: RegistryOptions): Config { options.customHeadersToSkipOnWeakVersion = ( options.customHeadersToSkipOnWeakVersion || [] - ).map(s => s.toLowerCase()); + ).map((s) => s.toLowerCase()); options.port = options.port || process.env['PORT'] || 3000; options.timeout = options.timeout || 1000 * 60 * 2; diff --git a/src/registry/domain/plugins-initialiser.ts b/src/registry/domain/plugins-initialiser.ts index b51899553..074d38004 100644 --- a/src/registry/domain/plugins-initialiser.ts +++ b/src/registry/domain/plugins-initialiser.ts @@ -27,14 +27,14 @@ function validatePlugins(plugins: unknown[]): asserts plugins is Plugin[] { function checkDependencies(plugins: Plugin[]) { const graph = new DepGraph(); - plugins.forEach(p => graph.addNode(p.name)); + plugins.forEach((p) => graph.addNode(p.name)); - plugins.forEach(p => { + plugins.forEach((p) => { if (!p.register.dependencies) { return; } - p.register.dependencies.forEach(d => { + p.register.dependencies.forEach((d) => { try { graph.addDependency(p.name, d); } catch (err) { @@ -64,7 +64,7 @@ export async function init( } let present = true; - dependencies.forEach(d => { + dependencies.forEach((d) => { if (!registered[d]) { present = false; } @@ -92,7 +92,7 @@ export async function init( const register = promisify(plugin.register.register); const pluginCallback = plugin.callback || _.noop; - await register(plugin.options || {}, dependencies).catch(err => { + await register(plugin.options || {}, dependencies).catch((err) => { pluginCallback(err); throw err; }); @@ -109,7 +109,7 @@ export async function init( deferredLoads = []; await Promise.all( - deferredPlugins.map(plugin => onSeries(() => loadPlugin(plugin))) + deferredPlugins.map((plugin) => onSeries(() => loadPlugin(plugin))) ); return terminator(); } @@ -120,7 +120,7 @@ export async function init( const onSeries = pLimit(1); await Promise.all( - pluginsToRegister.map(plugin => onSeries(() => loadPlugin(plugin))) + pluginsToRegister.map((plugin) => onSeries(() => loadPlugin(plugin))) ); return terminator(); diff --git a/src/registry/domain/register-templates.ts b/src/registry/domain/register-templates.ts index 55a7ea697..fd396939a 100644 --- a/src/registry/domain/register-templates.ts +++ b/src/registry/domain/register-templates.ts @@ -17,13 +17,16 @@ export default function registerTemplates( handlebarsTemplate ]; const templates = _.union(coreTemplates, extraTemplates); - const templatesHash = templates.reduce((hash, template) => { - const type = template.getInfo().type; - hash[type] = template; - return hash; - }, {} as Record); + const templatesHash = templates.reduce( + (hash, template) => { + const type = template.getInfo().type; + hash[type] = template; + return hash; + }, + {} as Record + ); - const templatesInfo = templates.map(template => { + const templatesInfo = templates.map((template) => { const { externals, ...rest } = template.getInfo(); return { ...rest, diff --git a/src/registry/domain/repository.ts b/src/registry/domain/repository.ts index 0fcc71690..bbf6d22e2 100644 --- a/src/registry/domain/repository.ts +++ b/src/registry/domain/repository.ts @@ -65,12 +65,12 @@ export default function repository(conf: Config) { getComponents(): string[] { const validComponents = conf.components || - fs.readdirSync(conf.path).filter(file => { + fs.readdirSync(conf.path).filter((file) => { const isDir = fs.lstatSync(path.join(conf.path, file)).isDirectory(); const isValidComponent = isDir ? fs .readdirSync(path.join(conf.path, file)) - .filter(file => file === '_package').length === 1 + .filter((file) => file === '_package').length === 1 : false; return isValidComponent; @@ -83,7 +83,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(__dirname, '../../../package.json')) - .then(x => x.version) + .then((x) => x.version) ]); } @@ -99,7 +99,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(conf.path, `${componentName}/package.json`)) - .then(x => x.version) + .then((x) => x.version) ]); }, getDataProvider(componentName: string) { @@ -166,7 +166,7 @@ export default function repository(conf: Config) { const component = await repository .getComponentInfo(componentName, version) - .catch(err => { + .catch((err) => { throw `component not available: ${errorToString(err)}`; }); diff --git a/src/registry/domain/validators/component-parameters.ts b/src/registry/domain/validators/component-parameters.ts index 5d93fb013..345f73349 100644 --- a/src/registry/domain/validators/component-parameters.ts +++ b/src/registry/domain/validators/component-parameters.ts @@ -85,7 +85,7 @@ export default function componentParameters( if (Object.keys(result.errors.mandatory || {}).length > 0) { const missingParams = Object.keys(result.errors.mandatory || {}) - .map(mandatoryParameterName => mandatoryParameterName + ', ') + .map((mandatoryParameterName) => mandatoryParameterName + ', ') .join('') .slice(0, -2); @@ -99,7 +99,7 @@ export default function componentParameters( } const badParams = Object.keys(result.errors.types || {}) - .map(parameterName => parameterName + ', ') + .map((parameterName) => parameterName + ', ') .join('') .slice(0, -2); diff --git a/src/registry/domain/validators/registry-configuration.ts b/src/registry/domain/validators/registry-configuration.ts index 5b4dee21f..977a45103 100644 --- a/src/registry/domain/validators/registry-configuration.ts +++ b/src/registry/domain/validators/registry-configuration.ts @@ -128,7 +128,7 @@ export default function registryConfiguration( } const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find( - element => typeof element !== 'string' + (element) => typeof element !== 'string' ); if (hasNonStringElements) { diff --git a/src/registry/index.ts b/src/registry/index.ts index 63f124022..dab9f75a8 100644 --- a/src/registry/index.ts +++ b/src/registry/index.ts @@ -93,7 +93,7 @@ export default function registry(inputOptions: RegistryOptions) { callback(null, { app, server }); }); - server.on('error', error => { + server.on('error', (error) => { eventsHandler.fire('error', { code: 'EXPRESS_ERROR', message: error?.message ?? String(error) diff --git a/src/registry/router.ts b/src/registry/router.ts index 564b1f6d5..59b7fe73f 100644 --- a/src/registry/router.ts +++ b/src/registry/router.ts @@ -76,7 +76,7 @@ export function create(app: Express, conf: Config, repository: Repository) { app.get(`${prefix}:componentName`, routes.component); if (conf.routes) { - conf.routes.forEach(route => + conf.routes.forEach((route) => app[ route.method.toLowerCase() as 'get' | 'post' | 'put' | 'patch' | 'head' ](route.route, route.handler) diff --git a/src/registry/routes/component.ts b/src/registry/routes/component.ts index 047d7c401..6ebbf7adb 100644 --- a/src/registry/routes/component.ts +++ b/src/registry/routes/component.ts @@ -23,7 +23,7 @@ export default function component( parameters: req.query as Record, version: req.params['componentVersion'] }, - result => { + (result) => { if (result.response.error) { if (_.isError(result.response.error)) { result.response.error = serializeError(result.response.error); diff --git a/src/registry/routes/components.ts b/src/registry/routes/components.ts index e6b418753..425c0b84b 100644 --- a/src/registry/routes/components.ts +++ b/src/registry/routes/components.ts @@ -78,7 +78,7 @@ export default function components( parameters: { ...req.body.parameters, ...component.parameters }, version: component.version }, - result => callback(null, result) + (result) => callback(null, result) ); }, // @ts-ignore @@ -96,7 +96,7 @@ export default function components( code: 'RENDER_ERROR', error: strings.errors.registry.RENDER_ERROR( results - .map(x => `${x.response.name}@${x.response.version}`) + .map((x) => `${x.response.name}@${x.response.version}`) .join(', '), String(e) ) diff --git a/src/registry/routes/helpers/get-available-dependencies.ts b/src/registry/routes/helpers/get-available-dependencies.ts index d49c203c8..da1ad6bab 100644 --- a/src/registry/routes/helpers/get-available-dependencies.ts +++ b/src/registry/routes/helpers/get-available-dependencies.ts @@ -13,7 +13,7 @@ interface AvailableDependency { export default function getAvailableDependencies( dependencies: string[] ): AvailableDependency[] { - return _.map(dependencies, dependency => { + return _.map(dependencies, (dependency) => { const requirer = RequireWrapper(dependencies); const core = _.includes(coreModules, dependency); const packageJson = !core diff --git a/src/registry/routes/helpers/get-component.ts b/src/registry/routes/helpers/get-component.ts index 7212574fa..dd8f7bdb6 100644 --- a/src/registry/routes/helpers/get-component.ts +++ b/src/registry/routes/helpers/get-component.ts @@ -57,7 +57,7 @@ export interface GetComponentResult { } const noopConsole = Object.fromEntries( - Object.keys(console).map(key => [key, _.noop]) + Object.keys(console).map((key) => [key, _.noop]) ); export default function getComponent(conf: Config, repository: Repository) { @@ -260,7 +260,7 @@ export default function getComponent(conf: Config, repository: Repository) { !!options.headers['user-agent'].match('oc-client-'); const parseTemplatesHeader = (t: string) => - t.split(';').map(t => t.split(',')[0]); + t.split(';').map((t) => t.split(',')[0]); const supportedTemplates = options.headers['templates'] ? parseTemplatesHeader(options.headers['templates'] as string) : []; diff --git a/src/registry/routes/helpers/get-components-history.ts b/src/registry/routes/helpers/get-components-history.ts index 7befb51e0..a1ef889c7 100644 --- a/src/registry/routes/helpers/get-components-history.ts +++ b/src/registry/routes/helpers/get-components-history.ts @@ -33,7 +33,7 @@ export default function getComponentsHistory( return result .sort((a, b) => b.publishDate - a.publishDate) - .map(x => ({ + .map((x) => ({ name: x.name, version: x.version, templateSize: x.templateSize, diff --git a/src/registry/routes/index.ts b/src/registry/routes/index.ts index 427863d1c..d761456aa 100644 --- a/src/registry/routes/index.ts +++ b/src/registry/routes/index.ts @@ -71,7 +71,7 @@ export default function (repository: Repository) { callback(); } ), - err => { + (err) => { if (err) return next(err); componentsInfo = _.sortBy(componentsInfo, 'name'); @@ -88,7 +88,7 @@ export default function (repository: Repository) { availablePlugins: res.conf.plugins, components: componentsInfo, componentsReleases, - componentsList: componentsInfo.map(component => { + componentsList: componentsInfo.map((component) => { const state: 'deprecated' | 'experimental' | '' = _.get( component, 'oc.state', @@ -119,7 +119,7 @@ export default function (repository: Repository) { } else { res.status(200).json( Object.assign(baseResponse, { - components: _.map(components, component => + components: _.map(components, (component) => urlBuilder.component(component, res.conf.baseUrl) ) }) diff --git a/src/registry/views/index.ts b/src/registry/views/index.ts index 12ffaed17..af50e76a7 100644 --- a/src/registry/views/index.ts +++ b/src/registry/views/index.ts @@ -58,8 +58,8 @@ export default function indexView(vm: VM): string { const scripts = ``; return layout({ content, scripts }); diff --git a/src/registry/views/info.ts b/src/registry/views/info.ts index 3b27db758..117c5ba10 100644 --- a/src/registry/views/info.ts +++ b/src/registry/views/info.ts @@ -144,7 +144,14 @@ export default function info(vm: Vm): string { ${property('Template', template)} ${showArray('Node.js dependencies', dependencies)} ${showArray('Plugin dependencies', component.oc.plugins)} - ${component.oc.files.template.size ? property('Template size', `${Math.round(component.oc.files.template.size / 1024)} kb`) : ''} + ${ + component.oc.files.template.size + ? property( + 'Template size', + `${Math.round(component.oc.files.template.size / 1024)} kb` + ) + : '' + } ${componentParameters()}

Code

diff --git a/src/registry/views/partials/component-parameters.ts b/src/registry/views/partials/component-parameters.ts index 97e0099c4..a8bf1cc15 100644 --- a/src/registry/views/partials/component-parameters.ts +++ b/src/registry/views/partials/component-parameters.ts @@ -34,7 +34,7 @@ const componentParameters = }; const rows = Object.keys(component.oc.parameters) - .map(parameterName => + .map((parameterName) => parameterRow(component.oc.parameters[parameterName], parameterName) ) .join(''); diff --git a/src/registry/views/partials/components-history.ts b/src/registry/views/partials/components-history.ts index ad78123c2..d08edeaf8 100644 --- a/src/registry/views/partials/components-history.ts +++ b/src/registry/views/partials/components-history.ts @@ -14,7 +14,9 @@ export default function componentsHistory(vm: VM): string { }) => { return `

`; }; diff --git a/src/registry/views/partials/components-list.ts b/src/registry/views/partials/components-list.ts index eb708619a..f0b4ed6e7 100644 --- a/src/registry/views/partials/components-list.ts +++ b/src/registry/views/partials/components-list.ts @@ -5,7 +5,7 @@ export default function componentsList(vm: VM): string { const isLocal = vm.type !== 'oc-registry'; const isRemote = !isLocal; const sizeAvailable = vm.components.some( - component => component.oc.files.template.size + (component) => component.oc.files.template.size ); const selectedCheckbox = getSelectedCheckbox(vm); diff --git a/src/registry/views/partials/components-plugins.ts b/src/registry/views/partials/components-plugins.ts index cf00b2a95..d5a535154 100644 --- a/src/registry/views/partials/components-plugins.ts +++ b/src/registry/views/partials/components-plugins.ts @@ -1,10 +1,7 @@ import { VM } from '../../../types'; export default function componentsPlugins(vm: VM): string { - const pluginRow = ([ - name, - description - ]: string[]) => `
+ const pluginRow = ([name, description]: string[]) => `

${ name + (description ? ':' : '') diff --git a/src/utils/is-template-valid.ts b/src/utils/is-template-valid.ts index 413142584..a866d6be8 100644 --- a/src/utils/is-template-valid.ts +++ b/src/utils/is-template-valid.ts @@ -14,6 +14,6 @@ export default function isTemplateValid( const api = options && options.compiler === true ? compilerApi : templateApi; return api.every( - method => typeof (template as Template)[method] === 'function' + (method) => typeof (template as Template)[method] === 'function' ); } diff --git a/src/utils/npm-utils.ts b/src/utils/npm-utils.ts index 3fe94314b..d73344d0c 100644 --- a/src/utils/npm-utils.ts +++ b/src/utils/npm-utils.ts @@ -36,7 +36,7 @@ const executeCommand = (options: { return new Promise((res, rej) => { cmd.on('error', () => rej(new Error('error'))); - cmd.on('close', code => { + cmd.on('close', (code) => { if (code !== 0) { rej(code); } else { @@ -79,7 +79,7 @@ export const installDependencies = async (options: { silent }; - const dest = dependencies.map(dependency => + const dest = dependencies.map((dependency) => getFullPath({ installPath, dependency }) ); diff --git a/src/utils/pLimit.ts b/src/utils/pLimit.ts index 3634f2718..8c4090380 100644 --- a/src/utils/pLimit.ts +++ b/src/utils/pLimit.ts @@ -130,7 +130,7 @@ const pLimit = (concurrency: number): LimitFunction => { fn: (...args: Arguments) => PromiseLike | ReturnType, ...args: Arguments ) => - new Promise(resolve => { + new Promise((resolve) => { enqueue(fn, resolve, ...args); }); diff --git a/src/utils/put.ts b/src/utils/put.ts index efe7a2b69..0dbc89dc9 100644 --- a/src/utils/put.ts +++ b/src/utils/put.ts @@ -14,7 +14,7 @@ async function put( files = [files]; } - files.forEach(file => { + files.forEach((file) => { const fileName = path.basename(file); form.append(fileName, fs.createReadStream(file)); }); From 8e234d0281750ab77ad824ae806a8de1e000062e Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 09:03:24 +0200 Subject: [PATCH 02/12] remove husky --- .husky/pre-commit | 5 ---- .husky/prepare-commit-msg | 53 --------------------------------------- 2 files changed, 58 deletions(-) delete mode 100644 .husky/pre-commit delete mode 100755 .husky/prepare-commit-msg diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index c537582ff..000000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx pretty-quick --staged - diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg deleted file mode 100755 index 115dba765..000000000 --- a/.husky/prepare-commit-msg +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -if [ "$LEFTHOOK_VERBOSE" = "1" -o "$LEFTHOOK_VERBOSE" = "true" ]; then - set -x -fi - -if [ "$LEFTHOOK" = "0" ]; then - exit 0 -fi - -call_lefthook() -{ - dir="$(git rev-parse --show-toplevel)" - osArch=$(uname | tr '[:upper:]' '[:lower:]') - cpuArch=$(uname -m | sed 's/aarch64/arm64/') - - if test -n "$LEFTHOOK_BIN" - then - "$LEFTHOOK_BIN" "$@" - elif lefthook -h >/dev/null 2>&1 - then - lefthook "$@" - elif test -f "$dir/node_modules/lefthook/bin/index.js" - then - "$dir/node_modules/lefthook/bin/index.js" "$@" - elif test -f "$dir/node_modules/@evilmartians/lefthook/bin/lefthook_${osArch}_${cpuArch}/lefthook" - then - "$dir/node_modules/@evilmartians/lefthook/bin/lefthook_${osArch}_${cpuArch}/lefthook" "$@" - elif test -f "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook_${osArch}_${cpuArch}/lefthook" - then - "$dir/node_modules/@evilmartians/lefthook-installer/bin/lefthook_${osArch}_${cpuArch}/lefthook" "$@" - - elif bundle exec lefthook -h >/dev/null 2>&1 - then - bundle exec lefthook "$@" - elif yarn lefthook -h >/dev/null 2>&1 - then - yarn lefthook "$@" - elif pnpm lefthook -h >/dev/null 2>&1 - then - pnpm lefthook "$@" - elif swift package plugin lefthook >/dev/null 2>&1 - then - swift package --disable-sandbox plugin lefthook "$@" - elif command -v npx >/dev/null 2>&1 - then - npx lefthook "$@" - else - echo "Can't find lefthook in PATH" - fi -} - -call_lefthook run "prepare-commit-msg" "$@" From bf2743cf33dabe7d9560631037af6f840da56ccb Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 12:31:12 +0200 Subject: [PATCH 03/12] fix lint --- biome.json | 21 +++++++++- src/cli/domain/clean.ts | 4 +- src/cli/domain/get-components-by-dir.ts | 10 ++--- src/cli/domain/get-mocked-plugins.ts | 19 ++++----- ...e-compiler-is-declared-as-devDependency.ts | 2 +- .../handle-dependencies/get-compiler.ts | 6 +-- .../get-missing-dependencies.ts | 2 +- src/cli/domain/handle-dependencies/index.ts | 6 +-- .../handle-dependencies/install-compiler.ts | 4 +- .../install-missing-dependencies.ts | 4 +- .../link-missing-dependencies.ts | 4 +- .../handle-dependencies/require-template.ts | 6 +-- src/cli/domain/init-template/index.ts | 4 +- .../domain/init-template/install-template.ts | 2 +- src/cli/domain/init-template/scaffold.ts | 8 ++-- src/cli/domain/local.ts | 11 +++-- src/cli/domain/mock.ts | 6 +-- src/cli/domain/package-components.ts | 11 ++--- src/cli/domain/registry.ts | 4 +- src/cli/domain/url-parser.ts | 6 +-- src/cli/domain/watch.ts | 4 +- src/cli/facade/clean.ts | 4 +- src/cli/facade/dev.ts | 22 +++++----- src/cli/facade/init.ts | 4 +- src/cli/facade/mock.ts | 2 +- src/cli/facade/package.ts | 21 ++++------ src/cli/facade/preview.ts | 4 +- src/cli/facade/publish.ts | 20 ++++----- src/cli/facade/registry-add.ts | 4 +- src/cli/facade/registry-ls.ts | 4 +- src/cli/facade/registry-remove.ts | 4 +- src/cli/programmatic-api.ts | 6 +-- src/cli/validate-command.ts | 2 +- src/components/oc-client/server.js | 2 +- src/globals.d.ts | 2 +- src/registry/app-start.ts | 4 +- src/registry/domain/authentication.ts | 4 +- .../components-cache/components-list.ts | 4 +- src/registry/domain/components-cache/index.ts | 4 +- src/registry/domain/components-details.ts | 4 +- src/registry/domain/events-handler.ts | 6 +-- src/registry/domain/extract-package.ts | 6 +-- .../domain/get-package-json-from-temp-dir.ts | 4 +- src/registry/domain/nested-renderer.ts | 4 +- src/registry/domain/options-sanitiser.ts | 10 ++--- src/registry/domain/plugins-initialiser.ts | 18 ++++---- src/registry/domain/register-templates.ts | 2 +- src/registry/domain/repository.ts | 26 ++++++------ src/registry/domain/require-wrapper.ts | 2 +- src/registry/domain/sanitiser.ts | 11 +++-- src/registry/domain/storage-adapter.ts | 2 +- src/registry/domain/url-builder.ts | 4 +- .../domain/validators/component-parameters.ts | 18 ++++---- .../domain/validators/node-version.ts | 2 +- .../domain/validators/oc-cli-version.ts | 2 +- .../domain/validators/plugins-requirements.ts | 2 +- .../validators/registry-configuration.ts | 41 +++++++++---------- .../domain/validators/uploaded-package.ts | 6 +-- src/registry/index.ts | 8 ++-- src/registry/middleware/base-url-handler.ts | 2 +- src/registry/middleware/cors.ts | 2 +- src/registry/middleware/discovery-handler.ts | 2 +- src/registry/middleware/file-uploads.ts | 4 +- src/registry/middleware/index.ts | 4 +- src/registry/middleware/request-handler.ts | 6 +-- src/registry/router.ts | 2 +- src/registry/routes/component-info.ts | 4 +- src/registry/routes/component-preview.ts | 4 +- src/registry/routes/component.ts | 4 +- src/registry/routes/components.ts | 15 +++---- src/registry/routes/dependencies.ts | 6 +-- .../routes/helpers/apply-default-values.ts | 2 +- .../routes/helpers/get-component-fallback.ts | 12 +++--- .../helpers/get-component-retrieving-info.ts | 2 +- src/registry/routes/helpers/get-component.ts | 18 ++++---- .../routes/helpers/get-components-history.ts | 2 +- src/registry/routes/index.ts | 18 ++++---- src/registry/routes/plugins.ts | 4 +- src/registry/routes/publish.ts | 4 +- src/registry/routes/static-redirector.ts | 23 ++++++----- src/registry/views/index.ts | 2 +- src/registry/views/info.ts | 2 +- .../views/partials/component-author.ts | 2 +- .../views/partials/component-parameters.ts | 6 +-- .../views/partials/component-state.ts | 2 +- .../views/partials/component-versions.ts | 2 +- .../views/partials/components-dependencies.ts | 4 +- .../views/partials/components-history.ts | 2 +- .../views/partials/components-list.ts | 2 +- .../views/partials/components-plugins.ts | 2 +- .../views/partials/components-templates.ts | 2 +- .../views/partials/selected-checkbox.ts | 2 +- src/registry/views/preview.ts | 2 +- src/resources/index.ts | 4 +- src/types.ts | 6 +-- src/utils/error-to-string.ts | 3 +- src/utils/is-template-valid.ts | 2 +- src/utils/module-exists.ts | 2 +- src/utils/npm-utils.ts | 6 +-- src/utils/pLimit.ts | 2 +- src/utils/put.ts | 4 +- src/utils/strip-version.ts | 2 +- 102 files changed, 328 insertions(+), 314 deletions(-) diff --git a/biome.json b/biome.json index beea58c08..e313e79df 100644 --- a/biome.json +++ b/biome.json @@ -10,10 +10,29 @@ "quoteStyle": "single" } }, + "files": { + "ignore": [ + "src/components/oc-client/*" + ] + }, "linter": { "enabled": true, "rules": { - "recommended": true + "recommended": true, + "complexity": { + "noForEach": "off", + "useLiteralKeys": "off" + }, + "style": { + "noParameterAssign": "off", + "noNonNullAssertion": "off", + "useTemplate": "off" + }, + "suspicious": { + "noCatchAssign": "off", + "noExplicitAny": "off", + "noPrototypeBuiltins": "off" + } } } } \ No newline at end of file diff --git a/src/cli/domain/clean.ts b/src/cli/domain/clean.ts index 77e3b6a07..8104d2c7a 100644 --- a/src/cli/domain/clean.ts +++ b/src/cli/domain/clean.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra'; import makeGetComponentsByDir from './get-components-by-dir'; -import path from 'path'; +import path from 'node:path'; const getComponentsByDir = makeGetComponentsByDir(); @@ -9,7 +9,7 @@ export async function fetchList(dirPath: string): Promise { if (list.length === 0) return []; - const toRemove = list.map((folder) => path.join(folder, 'node_modules')); + const toRemove = list.map(folder => path.join(folder, 'node_modules')); return toRemove.filter(fs.existsSync); } diff --git a/src/cli/domain/get-components-by-dir.ts b/src/cli/domain/get-components-by-dir.ts index f6225dfb1..a45c08969 100644 --- a/src/cli/domain/get-components-by-dir.ts +++ b/src/cli/domain/get-components-by-dir.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra'; -import path from 'path'; -import { Component } from '../../types'; +import path from 'node:path'; +import type { Component } from '../../types'; export default function getComponentsByDir() { return async ( @@ -22,7 +22,7 @@ export default function getComponentsByDir() { return false; } - const packagedProperty = content.oc && content.oc.packaged; + const packagedProperty = content.oc?.packaged; return typeof packagedProperty === 'undefined'; }; @@ -30,14 +30,14 @@ export default function getComponentsByDir() { try { let dirContent = await fs.readdir(componentsDir); if (componentsToRun) { - dirContent = dirContent.filter((content) => + dirContent = dirContent.filter(content => componentsToRun.includes(content) ); } const components = dirContent .filter(isOcComponent) - .map((component) => path.resolve(componentsDir, component)); + .map(component => path.resolve(componentsDir, component)); return components; } catch (err) { diff --git a/src/cli/domain/get-mocked-plugins.ts b/src/cli/domain/get-mocked-plugins.ts index 74d837e30..f9bd09525 100644 --- a/src/cli/domain/get-mocked-plugins.ts +++ b/src/cli/domain/get-mocked-plugins.ts @@ -1,10 +1,10 @@ import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import settings from '../../resources/settings'; import strings from '../../resources/'; -import { Logger } from '../logger'; -import { OcJsonConfig } from '../../types'; +import type { Logger } from '../logger'; +import type { OcJsonConfig } from '../../types'; interface MockedPlugin { register: (options: unknown, dependencies: unknown, next: () => void) => void; @@ -67,7 +67,7 @@ const registerDynamicMocks = ( ) => Object.entries(mocks) .map(([pluginName, source]) => { - let pluginMock; + let pluginMock: any; try { pluginMock = require(path.resolve(ocJsonLocation, source)); } catch (er) { @@ -103,14 +103,13 @@ const findPath = ( if (!fs.existsSync(fileToResolve)) { if (pathToResolve === rootDir) { return undefined; - } else { - const getParent = (pathToResolve: string) => - pathToResolve.split('/').slice(0, -1).join('/'); + } + const getParent = (pathToResolve: string) => + pathToResolve.split('/').slice(0, -1).join('/'); - const parentDir = pathToResolve ? getParent(pathToResolve) : rootDir; + const parentDir = pathToResolve ? getParent(pathToResolve) : rootDir; - return findPath(parentDir, fileName); - } + return findPath(parentDir, fileName); } return fileToResolve; diff --git a/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts b/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts index 5fb4cac2b..b5b1ca6fb 100644 --- a/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts +++ b/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts @@ -1,5 +1,5 @@ import strings from '../../../resources'; -import { Component } from '../../../types'; +import type { Component } from '../../../types'; export default function ensureCompilerIsDeclaredAsDevDependency(options: { componentPath: string; diff --git a/src/cli/domain/handle-dependencies/get-compiler.ts b/src/cli/domain/handle-dependencies/get-compiler.ts index 771b4b2a4..38ef28c63 100644 --- a/src/cli/domain/handle-dependencies/get-compiler.ts +++ b/src/cli/domain/handle-dependencies/get-compiler.ts @@ -1,8 +1,8 @@ -import path from 'path'; -import { Template } from '../../../types'; +import path from 'node:path'; +import type { Template } from '../../../types'; import cleanRequire from '../../../utils/clean-require'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import installCompiler from './install-compiler'; export default function getCompiler(options: { diff --git a/src/cli/domain/handle-dependencies/get-missing-dependencies.ts b/src/cli/domain/handle-dependencies/get-missing-dependencies.ts index c01f9d10c..bb84cf866 100644 --- a/src/cli/domain/handle-dependencies/get-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/get-missing-dependencies.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path from 'node:path'; import moduleExists from '../../../utils/module-exists'; export default function getMissingDependencies( diff --git a/src/cli/domain/handle-dependencies/index.ts b/src/cli/domain/handle-dependencies/index.ts index fc11f3a88..c340d02e5 100644 --- a/src/cli/domain/handle-dependencies/index.ts +++ b/src/cli/domain/handle-dependencies/index.ts @@ -1,6 +1,6 @@ import coreModules from 'builtin-modules'; import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import ensureCompilerIsDeclaredAsDevDependency from './ensure-compiler-is-declared-as-devDependency'; import getCompiler from './get-compiler'; @@ -8,8 +8,8 @@ import installMissingDependencies from './install-missing-dependencies'; import linkMissingDependencies from './link-missing-dependencies'; import isTemplateLegacy from '../../../utils/is-template-legacy'; import strings from '../../../resources'; -import { Logger } from '../../logger'; -import { Component, Template } from '../../../types'; +import type { Logger } from '../../logger'; +import type { Component, Template } from '../../../types'; const getComponentPackageJson = (componentPath: string): Promise => fs.readJson(path.join(componentPath, 'package.json')); diff --git a/src/cli/domain/handle-dependencies/install-compiler.ts b/src/cli/domain/handle-dependencies/install-compiler.ts index 214df8e7d..313ab05b7 100644 --- a/src/cli/domain/handle-dependencies/install-compiler.ts +++ b/src/cli/domain/handle-dependencies/install-compiler.ts @@ -2,8 +2,8 @@ import cleanRequire from '../../../utils/clean-require'; import isTemplateValid from '../../../utils/is-template-valid'; import * as npm from '../../../utils/npm-utils'; import strings from '../../../resources/index'; -import { Logger } from '../../logger'; -import { Template } from '../../../types'; +import type { Logger } from '../../logger'; +import type { Template } from '../../../types'; export default async function installCompiler(options: { compilerPath: string; diff --git a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts index 0fd9ab1ef..0bec55c3c 100644 --- a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts @@ -1,9 +1,9 @@ -import path from 'path'; +import path from 'node:path'; import getMissingDependencies from './get-missing-dependencies'; import * as npm from '../../../utils/npm-utils'; import strings from '../../../resources/index'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; export default async function installMissingDependencies(options: { dependencies: Record; diff --git a/src/cli/domain/handle-dependencies/link-missing-dependencies.ts b/src/cli/domain/handle-dependencies/link-missing-dependencies.ts index 7420bad97..99b0112b8 100644 --- a/src/cli/domain/handle-dependencies/link-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/link-missing-dependencies.ts @@ -1,9 +1,9 @@ -import path from 'path'; +import path from 'node:path'; import fs from 'fs-extra'; import getMissingDependencies from './get-missing-dependencies'; import strings from '../../../resources/index'; import stripVersion from '../../../utils/strip-version'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; export default async function linkMissingDependencies(options: { componentPath: string; diff --git a/src/cli/domain/handle-dependencies/require-template.ts b/src/cli/domain/handle-dependencies/require-template.ts index 6c040960d..ed57c8adf 100644 --- a/src/cli/domain/handle-dependencies/require-template.ts +++ b/src/cli/domain/handle-dependencies/require-template.ts @@ -1,10 +1,10 @@ -import path from 'path'; +import path from 'node:path'; import cleanRequire from '../../../utils/clean-require'; import isTemplateLegacy from '../../../utils/is-template-legacy'; import isTemplateValid from '../../../utils/is-template-valid'; import strings from '../../../resources'; -import { Component } from '../../../types'; +import type { Component } from '../../../types'; interface Template { compile: ( @@ -49,7 +49,7 @@ export default function requireTemplate( ); [componentRelativePath, template, localTemplate, relativeTemplate].forEach( - (pathToTry) => { + pathToTry => { ocTemplate = ocTemplate || cleanRequire(pathToTry, { justTry: true }); } ); diff --git a/src/cli/domain/init-template/index.ts b/src/cli/domain/init-template/index.ts index b0c573911..1148abc3d 100644 --- a/src/cli/domain/init-template/index.ts +++ b/src/cli/domain/init-template/index.ts @@ -1,10 +1,10 @@ import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import installTemplate from './install-template'; import * as npm from '../../../utils/npm-utils'; import scaffold from './scaffold'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; export default async function initTemplate(options: { componentPath: string; diff --git a/src/cli/domain/init-template/install-template.ts b/src/cli/domain/init-template/install-template.ts index 9422856a5..f420a55fc 100644 --- a/src/cli/domain/init-template/install-template.ts +++ b/src/cli/domain/init-template/install-template.ts @@ -3,7 +3,7 @@ import tryRequire from 'try-require'; import isTemplateValid from '../../../utils/is-template-valid'; import * as npm from '../../../utils/npm-utils'; import strings from '../../../resources'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; interface Options { componentPath: string; diff --git a/src/cli/domain/init-template/scaffold.ts b/src/cli/domain/init-template/scaffold.ts index f9f2acd0d..549f57052 100644 --- a/src/cli/domain/init-template/scaffold.ts +++ b/src/cli/domain/init-template/scaffold.ts @@ -1,5 +1,5 @@ import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import strings from '../../../resources'; @@ -32,7 +32,7 @@ export default async function scaffold( componentPackage.name = componentName; componentPackage.scripts ??= {}; componentPackage.scripts.start ??= `oc dev .. --components ${componentName}`; - componentPackage.scripts.build ??= `oc package .`; + componentPackage.scripts.build ??= 'oc package .'; componentPackage.devDependencies[compiler] = compilerPackage.version; await fs.writeJson(componentPath + '/package.json', componentPackage, { spaces: 2 @@ -40,9 +40,7 @@ export default async function scaffold( return { ok: true }; } catch (error) { - const url = - (compilerPackage.bugs && compilerPackage.bugs.url) || - `the ${templateType} repo`; + const url = compilerPackage.bugs?.url || `the ${templateType} repo`; throw strings.errors.cli.scaffoldError(url, String(error)); } } diff --git a/src/cli/domain/local.ts b/src/cli/domain/local.ts index 34a0d94e5..edc5ad18a 100644 --- a/src/cli/domain/local.ts +++ b/src/cli/domain/local.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra'; import targz from 'targz'; -import { promisify } from 'util'; +import { promisify } from 'node:util'; import * as clean from './clean'; import getComponentsByDir from './get-components-by-dir'; @@ -10,7 +10,7 @@ import mock from './mock'; import packageComponents from './package-components'; import strings from '../../resources'; import * as validator from '../../registry/domain/validators'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; export default function local() { return { @@ -23,11 +23,10 @@ export default function local() { src: input, dest: output, tar: { - map: function (file) { - return Object.assign(file, { + map: file => + Object.assign(file, { name: `_package/${file.name}` - }); - } + }) } }); }, diff --git a/src/cli/domain/mock.ts b/src/cli/domain/mock.ts index d3c74b202..e81283863 100644 --- a/src/cli/domain/mock.ts +++ b/src/cli/domain/mock.ts @@ -1,14 +1,14 @@ import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import settings from '../../resources/settings'; export default function mock() { - return async function (params: { + return async (params: { targetType: string; targetValue: string; targetName: string; - }): Promise { + }): Promise => { const localConfig = await fs .readJson(settings.configFile.src) .catch(() => ({})); diff --git a/src/cli/domain/package-components.ts b/src/cli/domain/package-components.ts index 0095c946c..85f1ee02d 100644 --- a/src/cli/domain/package-components.ts +++ b/src/cli/domain/package-components.ts @@ -1,10 +1,10 @@ import fs from 'fs-extra'; -import { promisify } from 'util'; -import path from 'path'; +import { promisify } from 'node:util'; +import path from 'node:path'; import requireTemplate from './handle-dependencies/require-template'; import * as validator from '../../registry/domain/validators'; -import { Component } from '../../types'; +import type { Component } from '../../types'; export interface PackageOptions { componentPath: string; @@ -19,7 +19,7 @@ interface Sizes { } function checkSizes(folder: string) { - const jsFiles = fs.readdirSync(folder).filter((x) => x.endsWith('.js')); + const jsFiles = fs.readdirSync(folder).filter(x => x.endsWith('.js')); const sizes: Sizes = { client: 0 @@ -58,7 +58,8 @@ const packageComponents = if (!fs.existsSync(componentPackagePath)) { throw new Error('component does not contain package.json'); - } else if (!fs.existsSync(ocPackagePath)) { + } + if (!fs.existsSync(ocPackagePath)) { throw new Error('error resolving oc internal dependencies'); } diff --git a/src/cli/domain/registry.ts b/src/cli/domain/registry.ts index 3c678153c..9193766e1 100644 --- a/src/cli/domain/registry.ts +++ b/src/cli/domain/registry.ts @@ -1,5 +1,5 @@ import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import got from 'got'; import _ from 'lodash'; @@ -7,7 +7,7 @@ import put from '../../utils/put'; import settings from '../../resources/settings'; import * as urlBuilder from '../../registry/domain/url-builder'; import * as urlParser from '../domain/url-parser'; -import { Component } from '../../types'; +import type { Component } from '../../types'; const getOcVersion = (): string => { const ocPackagePath = path.join(__dirname, '../../../package.json'); diff --git a/src/cli/domain/url-parser.ts b/src/cli/domain/url-parser.ts index e270f76ea..889fc4744 100644 --- a/src/cli/domain/url-parser.ts +++ b/src/cli/domain/url-parser.ts @@ -1,7 +1,7 @@ -import querystring from 'querystring'; -import url from 'url'; +import querystring from 'node:querystring'; +import url from 'node:url'; -const removeFinalSlashes = function (s: string) { +const removeFinalSlashes = (s: string) => { while (s.slice(-1) === '/') { s = s.slice(0, -1); } diff --git a/src/cli/domain/watch.ts b/src/cli/domain/watch.ts index 9990d8c99..9e282b81a 100644 --- a/src/cli/domain/watch.ts +++ b/src/cli/domain/watch.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path from 'node:path'; import chokidar from 'chokidar'; import settings from '../../resources/settings'; @@ -15,7 +15,7 @@ export default function watch( usePolling: true }); const onChange = (fileName: string) => { - const componentDir = dirs.find((dir) => + const componentDir = dirs.find(dir => Boolean(fileName.match(escapeRegularExpression(dir + path.sep))) ); changed(null, fileName, componentDir); diff --git a/src/cli/facade/clean.ts b/src/cli/facade/clean.ts index a312dfc81..cd7bec4e4 100644 --- a/src/cli/facade/clean.ts +++ b/src/cli/facade/clean.ts @@ -1,9 +1,9 @@ import readCb from 'read'; import { fromPromise } from 'universalify'; -import { promisify } from 'util'; +import { promisify } from 'node:util'; import strings from '../../resources/index'; import type { Local } from '../domain/local'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; const read = promisify(readCb); diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index e524436df..4e818638e 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -1,8 +1,8 @@ import colors from 'colors/safe'; import getPortCb from 'getport'; import livereload from 'livereload'; -import path from 'path'; -import { promisify } from 'util'; +import path from 'node:path'; +import { promisify } from 'node:util'; import { fromPromise } from 'universalify'; import getMockedPlugins from '../domain/get-mocked-plugins'; @@ -10,7 +10,7 @@ import handleDependencies from '../domain/handle-dependencies'; import * as oc from '../../index'; import strings from '../../resources/index'; import watch from '../domain/watch'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import type { Local } from '../domain/local'; type Registry = ReturnType; @@ -18,7 +18,7 @@ type Registry = ReturnType; const cliMessages = strings.messages.cli; const cliErrors = strings.errors.cli; -const delay = (time = 0) => new Promise((res) => setTimeout(res, time)); +const delay = (time = 0) => new Promise(res => setTimeout(res, time)); const getPort = promisify(getPortCb); const dev = ({ local, logger }: { logger: Logger; local: Local }) => @@ -46,13 +46,13 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => let packaging = false; const postRequestPayloadSize = opts.postRequestPayloadSize || '100kb'; - const watchForChanges = function ( + const watchForChanges = ( { components, refreshLiveReload }: { components: string[]; refreshLiveReload: () => void }, cb: any - ) { + ) => { watch(components, componentsDir, (err, changedFile, componentDir) => { if (err) { logger.err(strings.errors.generic(String(err))); @@ -108,9 +108,9 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => const registerPlugins = (registry: Registry) => { const mockedPlugins = getMockedPlugins(logger, componentsDir); - mockedPlugins.forEach((p) => registry.register(p)); + mockedPlugins.forEach(p => registry.register(p)); - registry.on('request', (data) => { + registry.on('request', data => { if (data.errorCode === 'PLUGIN_MISSING_FROM_REGISTRY') { logger.err( cliErrors.PLUGIN_MISSING_FROM_REGISTRY( @@ -135,14 +135,14 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => } logger.ok('OK'); - components.forEach((component) => + components.forEach(component => logger.log(colors.green('├── ') + component) ); const dependencies = await handleDependencies({ components, logger - }).catch((err) => { + }).catch(err => { logger.err(err); return Promise.reject(err); }); @@ -155,7 +155,7 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => port: undefined }; if (hotReloading) { - const otherPort = await getPort(port + 1).catch((err) => { + const otherPort = await getPort(port + 1).catch(err => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/facade/init.ts b/src/cli/facade/init.ts index 8fb403a6c..5ae36eefd 100644 --- a/src/cli/facade/init.ts +++ b/src/cli/facade/init.ts @@ -1,9 +1,9 @@ -import path from 'path'; +import path from 'node:path'; import { fromPromise } from 'universalify'; import strings from '../../resources/index'; import type { Local } from '../domain/local'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; const init = ({ local, logger }: { local: Local; logger: Logger }) => fromPromise( diff --git a/src/cli/facade/mock.ts b/src/cli/facade/mock.ts index 030adc254..4a8016409 100644 --- a/src/cli/facade/mock.ts +++ b/src/cli/facade/mock.ts @@ -1,7 +1,7 @@ import { fromPromise } from 'universalify'; import strings from '../../resources/index'; import type { Local } from '../domain/local'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; const mock = ({ local, logger }: { local: Local; logger: Logger }) => fromPromise( diff --git a/src/cli/facade/package.ts b/src/cli/facade/package.ts index 1db8fc786..fcf033de8 100644 --- a/src/cli/facade/package.ts +++ b/src/cli/facade/package.ts @@ -1,10 +1,10 @@ import strings from '../../resources/index'; -import path from 'path'; +import path from 'node:path'; import { fromPromise } from 'universalify'; import handleDependencies from '../domain/handle-dependencies'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import type { Local } from '../domain/local'; -import { Component } from '../../types'; +import type { Component } from '../../types'; const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => fromPromise( @@ -34,7 +34,7 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => componentPath: path.resolve(componentPath) }; - const component = await local.package(packageOptions).catch((err) => { + const component = await local.package(packageOptions).catch(err => { logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); return Promise.reject(err); }); @@ -44,19 +44,16 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => if (opts.compress) { logger.warn(strings.messages.cli.COMPRESSING(compressedPackagePath)); - await local - .compress(packageDir, compressedPackagePath) - .catch((err) => { - logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); - return Promise.reject(err); - }); + await local.compress(packageDir, compressedPackagePath).catch(err => { + logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); + return Promise.reject(err); + }); logger.ok(strings.messages.cli.COMPRESSED(compressedPackagePath)); - return component; - } else { return component; } + return component; } catch (err) { logger.err(String(err)); throw err; diff --git a/src/cli/facade/preview.ts b/src/cli/facade/preview.ts index 84175cfa8..25511f66a 100644 --- a/src/cli/facade/preview.ts +++ b/src/cli/facade/preview.ts @@ -2,8 +2,8 @@ import open from 'open'; import { fromPromise } from 'universalify'; import strings from '../../resources/index'; -import { RegistryCli } from '../domain/registry'; -import { Logger } from '../logger'; +import type { RegistryCli } from '../domain/registry'; +import type { Logger } from '../logger'; const preview = ({ logger, diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index 98c4bdf49..23f0778db 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -1,16 +1,16 @@ import colors from 'colors/safe'; -import path from 'path'; +import path from 'node:path'; import fs from 'fs-extra'; import readCb from 'read'; -import { promisify } from 'util'; -import { Logger } from '../logger'; +import { promisify } from 'node:util'; +import type { Logger } from '../logger'; import type { Local } from '../domain/local'; -import { Component } from '../../types'; +import type { Component } from '../../types'; import { fromPromise } from 'universalify'; import handleDependencies from '../domain/handle-dependencies'; import strings from '../../resources/index'; -import { RegistryCli } from '../domain/registry'; +import type { RegistryCli } from '../domain/registry'; const read = promisify(readCb); @@ -41,7 +41,7 @@ const publish = ({ 'package.tar.gz' ); - let errorMessage; + let errorMessage: string; const readPackageJson = () => fs.readJson(path.join(packageDir, 'package.json')); @@ -174,12 +174,12 @@ const publish = ({ await handleDependencies({ components: [path.resolve(componentPath)], logger - }).catch((err) => { + }).catch(err => { logger.err(err); return Promise.reject(err); }); - const component = await packageAndCompress().catch((err) => { + const component = await packageAndCompress().catch(err => { errorMessage = strings.errors.cli.PACKAGE_CREATION_FAIL( String(err) ); @@ -189,11 +189,11 @@ const publish = ({ await publishToRegistries(registryLocations, component); } else { if (fs.existsSync(packageDir)) { - const component = await readPackageJson().catch((err) => { + const component = await readPackageJson().catch(err => { logger.err(String(err)); return Promise.reject(err); }); - await compress().catch((err) => { + await compress().catch(err => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/facade/registry-add.ts b/src/cli/facade/registry-add.ts index 33eccec64..fdc3dea00 100644 --- a/src/cli/facade/registry-add.ts +++ b/src/cli/facade/registry-add.ts @@ -1,7 +1,7 @@ import { fromPromise } from 'universalify'; import strings from '../../resources/index'; -import { RegistryCli } from '../domain/registry'; -import { Logger } from '../logger'; +import type { RegistryCli } from '../domain/registry'; +import type { Logger } from '../logger'; const registryAdd = ({ registry, diff --git a/src/cli/facade/registry-ls.ts b/src/cli/facade/registry-ls.ts index b11d11f04..70b185002 100644 --- a/src/cli/facade/registry-ls.ts +++ b/src/cli/facade/registry-ls.ts @@ -1,8 +1,8 @@ import { fromPromise } from 'universalify'; import strings from '../../resources/index'; -import { RegistryCli } from '../domain/registry'; -import { Logger } from '../logger'; +import type { RegistryCli } from '../domain/registry'; +import type { Logger } from '../logger'; const registryLs = ({ registry, diff --git a/src/cli/facade/registry-remove.ts b/src/cli/facade/registry-remove.ts index 87d5cc09f..18dbb3a5c 100644 --- a/src/cli/facade/registry-remove.ts +++ b/src/cli/facade/registry-remove.ts @@ -1,7 +1,7 @@ import { fromPromise } from 'universalify'; import strings from '../../resources/index'; -import { RegistryCli } from '../domain/registry'; -import { Logger } from '../logger'; +import type { RegistryCli } from '../domain/registry'; +import type { Logger } from '../logger'; const registryRemove = ({ registry, diff --git a/src/cli/programmatic-api.ts b/src/cli/programmatic-api.ts index feb719f1b..d28e2754a 100644 --- a/src/cli/programmatic-api.ts +++ b/src/cli/programmatic-api.ts @@ -1,6 +1,6 @@ -import local, { Local } from './domain/local'; -import { Logger } from './logger'; -import Registry, { RegistryCli } from './domain/registry'; +import local, { type Local } from './domain/local'; +import type { Logger } from './logger'; +import Registry, { type RegistryCli } from './domain/registry'; import dev from './facade/dev'; import init from './facade/init'; diff --git a/src/cli/validate-command.ts b/src/cli/validate-command.ts index 1acaa54f4..3264c9a47 100644 --- a/src/cli/validate-command.ts +++ b/src/cli/validate-command.ts @@ -1,4 +1,4 @@ -import { Arguments } from 'yargs'; +import type { Arguments } from 'yargs'; import commands from './commands'; import strings from '../resources'; diff --git a/src/components/oc-client/server.js b/src/components/oc-client/server.js index bd917f951..7dbf51f5e 100644 --- a/src/components/oc-client/server.js +++ b/src/components/oc-client/server.js @@ -1,4 +1,4 @@ -'use strict'; + export const data = (context, callback) => { const { staticPath, templates } = context; diff --git a/src/globals.d.ts b/src/globals.d.ts index d0c5924cf..79f4f8be4 100644 --- a/src/globals.d.ts +++ b/src/globals.d.ts @@ -97,7 +97,7 @@ declare module 'minimal-request' { ) => void ): void; - const request: Request; + const req: Request; export = request; } diff --git a/src/registry/app-start.ts b/src/registry/app-start.ts index 1ac902fc5..9c8f71b78 100644 --- a/src/registry/app-start.ts +++ b/src/registry/app-start.ts @@ -1,8 +1,8 @@ import colors from 'colors/safe'; -import path from 'path'; +import path from 'node:path'; import fs from 'fs-extra'; import type { Repository } from './domain/repository'; -import { Config } from '../types'; +import type { Config } from '../types'; const packageInfo = fs.readJsonSync( path.join( diff --git a/src/registry/domain/authentication.ts b/src/registry/domain/authentication.ts index c3d53086f..e47d1c779 100644 --- a/src/registry/domain/authentication.ts +++ b/src/registry/domain/authentication.ts @@ -1,8 +1,8 @@ import basicAuth from 'basic-auth-connect'; -import { RequestHandler } from 'express'; +import type { RequestHandler } from 'express'; import strings from '../../resources/'; -import { Authentication, PublishAuthConfig } from '../../types'; +import type { Authentication, PublishAuthConfig } from '../../types'; const basicAuthentication: Authentication<{ username: string; diff --git a/src/registry/domain/components-cache/components-list.ts b/src/registry/domain/components-cache/components-list.ts index 0b3118067..908ad67d5 100644 --- a/src/registry/domain/components-cache/components-list.ts +++ b/src/registry/domain/components-cache/components-list.ts @@ -1,8 +1,8 @@ import semver from 'semver'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; -import { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; import eventsHandler from '../events-handler'; -import { ComponentsList, Config } from '../../../types'; +import type { ComponentsList, Config } from '../../../types'; import pLimit from '../../../utils/pLimit'; export default function componentsList(conf: Config, cdn: StorageAdapter) { diff --git a/src/registry/domain/components-cache/index.ts b/src/registry/domain/components-cache/index.ts index 3e4da5889..b70674ef1 100644 --- a/src/registry/domain/components-cache/index.ts +++ b/src/registry/domain/components-cache/index.ts @@ -2,8 +2,8 @@ import _ from 'lodash'; import getComponentsList from './components-list'; import eventsHandler from '../events-handler'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; -import { ComponentsList, Config } from '../../../types'; -import { StorageAdapter, strings } from 'oc-storage-adapters-utils'; +import type { ComponentsList, Config } from '../../../types'; +import { type StorageAdapter, strings } from 'oc-storage-adapters-utils'; export default function componentsCache(conf: Config, cdn: StorageAdapter) { let cachedComponentsList: ComponentsList; diff --git a/src/registry/domain/components-details.ts b/src/registry/domain/components-details.ts index 0736e29d8..3547d4447 100644 --- a/src/registry/domain/components-details.ts +++ b/src/registry/domain/components-details.ts @@ -2,13 +2,13 @@ import pLimit from '../../utils/pLimit'; import _ from 'lodash'; import eventsHandler from './events-handler'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; -import { +import type { Component, ComponentsDetails, ComponentsList, Config } from '../../types'; -import { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; export default function componentsDetails(conf: Config, cdn: StorageAdapter) { const returnError = (code: string, message: string | Error) => { diff --git a/src/registry/domain/events-handler.ts b/src/registry/domain/events-handler.ts index 8683f84a5..18abc3bd3 100644 --- a/src/registry/domain/events-handler.ts +++ b/src/registry/domain/events-handler.ts @@ -1,4 +1,4 @@ -import { IncomingHttpHeaders } from 'http'; +import type { IncomingHttpHeaders } from 'node:http'; import strings from '../../resources'; type Subscription = (data: T) => void; @@ -56,7 +56,7 @@ type EventsHandler = { const eventsHandler: EventsHandler = { fire(eventName: string, eventData: unknown): void { if (subscriptions[eventName]) { - subscriptions[eventName].forEach((callback) => { + subscriptions[eventName].forEach(callback => { callback(eventData); }); } @@ -81,7 +81,7 @@ const eventsHandler: EventsHandler = { if (subscriptions[eventName]) { subscriptions[eventName] = subscriptions[eventName].filter( - (sub) => sub !== callback + sub => sub !== callback ); } }, diff --git a/src/registry/domain/extract-package.ts b/src/registry/domain/extract-package.ts index 75cc7a66c..104c877c4 100644 --- a/src/registry/domain/extract-package.ts +++ b/src/registry/domain/extract-package.ts @@ -1,9 +1,9 @@ -import path from 'path'; +import path from 'node:path'; import targz from 'targz'; -import { promisify } from 'util'; +import { promisify } from 'node:util'; import getPackageJsonFromTempDir from './get-package-json-from-temp-dir'; -import { Component } from '../../types'; +import type { Component } from '../../types'; export default async function extractPackage( files: diff --git a/src/registry/domain/get-package-json-from-temp-dir.ts b/src/registry/domain/get-package-json-from-temp-dir.ts index 1cf1ceb06..cc8bb9682 100644 --- a/src/registry/domain/get-package-json-from-temp-dir.ts +++ b/src/registry/domain/get-package-json-from-temp-dir.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra'; -import path from 'path'; -import { Component } from '../../types'; +import path from 'node:path'; +import type { Component } from '../../types'; export default function getPackageJsonFromTempDir( tempDirPath: string diff --git a/src/registry/domain/nested-renderer.ts b/src/registry/domain/nested-renderer.ts index 0b4b51c21..711ad88a5 100644 --- a/src/registry/domain/nested-renderer.ts +++ b/src/registry/domain/nested-renderer.ts @@ -1,7 +1,7 @@ import settings from '../../resources/settings'; import strings from '../../resources'; -import { Config } from '../../types'; -import { +import type { Config } from '../../types'; +import type { GetComponentResult, RendererOptions } from '../routes/helpers/get-component'; diff --git a/src/registry/domain/options-sanitiser.ts b/src/registry/domain/options-sanitiser.ts index ee1c6e292..3bdbfa5f6 100644 --- a/src/registry/domain/options-sanitiser.ts +++ b/src/registry/domain/options-sanitiser.ts @@ -1,6 +1,6 @@ import { compileSync } from 'oc-client-browser'; import settings from '../../resources/settings'; -import { Config } from '../../types'; +import type { Config } from '../../types'; import * as auth from './authentication'; const DEFAULT_NODE_KEEPALIVE_MS = 5000; @@ -91,7 +91,7 @@ export default function optionsSanitiser(input: RegistryOptions): Config { options.customHeadersToSkipOnWeakVersion = ( options.customHeadersToSkipOnWeakVersion || [] - ).map((s) => s.toLowerCase()); + ).map(s => s.toLowerCase()); options.port = options.port || process.env['PORT'] || 3000; options.timeout = options.timeout || 1000 * 60 * 2; @@ -117,11 +117,7 @@ export default function optionsSanitiser(input: RegistryOptions): Config { options.storage.options['verbosity'] = options.verbosity; } - if ( - options.storage && - options.storage.options && - options.storage.options['path'] - ) { + if (options.storage?.options?.['path']) { options.storage.options['path'] = options.storage.options['path'].indexOf('http') === 0 ? options.storage.options['path'] diff --git a/src/registry/domain/plugins-initialiser.ts b/src/registry/domain/plugins-initialiser.ts index 074d38004..449735d64 100644 --- a/src/registry/domain/plugins-initialiser.ts +++ b/src/registry/domain/plugins-initialiser.ts @@ -1,10 +1,10 @@ import _ from 'lodash'; import { DepGraph } from 'dependency-graph'; -import { promisify } from 'util'; +import { promisify } from 'node:util'; import pLimit from '../../utils/pLimit'; import strings from '../../resources'; -import { Plugin } from '../../types'; +import type { Plugin } from '../../types'; function validatePlugins(plugins: unknown[]): asserts plugins is Plugin[] { for (let idx = 0; idx < plugins.length; idx++) { @@ -27,14 +27,14 @@ function validatePlugins(plugins: unknown[]): asserts plugins is Plugin[] { function checkDependencies(plugins: Plugin[]) { const graph = new DepGraph(); - plugins.forEach((p) => graph.addNode(p.name)); + plugins.forEach(p => graph.addNode(p.name)); - plugins.forEach((p) => { + plugins.forEach(p => { if (!p.register.dependencies) { return; } - p.register.dependencies.forEach((d) => { + p.register.dependencies.forEach(d => { try { graph.addDependency(p.name, d); } catch (err) { @@ -64,7 +64,7 @@ export async function init( } let present = true; - dependencies.forEach((d) => { + dependencies.forEach(d => { if (!registered[d]) { present = false; } @@ -92,7 +92,7 @@ export async function init( const register = promisify(plugin.register.register); const pluginCallback = plugin.callback || _.noop; - await register(plugin.options || {}, dependencies).catch((err) => { + await register(plugin.options || {}, dependencies).catch(err => { pluginCallback(err); throw err; }); @@ -109,7 +109,7 @@ export async function init( deferredLoads = []; await Promise.all( - deferredPlugins.map((plugin) => onSeries(() => loadPlugin(plugin))) + deferredPlugins.map(plugin => onSeries(() => loadPlugin(plugin))) ); return terminator(); } @@ -120,7 +120,7 @@ export async function init( const onSeries = pLimit(1); await Promise.all( - pluginsToRegister.map((plugin) => onSeries(() => loadPlugin(plugin))) + pluginsToRegister.map(plugin => onSeries(() => loadPlugin(plugin))) ); return terminator(); diff --git a/src/registry/domain/register-templates.ts b/src/registry/domain/register-templates.ts index fd396939a..a7ea8f670 100644 --- a/src/registry/domain/register-templates.ts +++ b/src/registry/domain/register-templates.ts @@ -1,7 +1,7 @@ import es6Template from 'oc-template-es6'; import handlebarsTemplate from 'oc-template-handlebars'; import jadeTemplate from 'oc-template-jade'; -import { Template, TemplateInfo } from '../../types'; +import type { Template, TemplateInfo } from '../../types'; import _ from 'lodash'; export default function registerTemplates( diff --git a/src/registry/domain/repository.ts b/src/registry/domain/repository.ts index bbf6d22e2..a6b2afdc0 100644 --- a/src/registry/domain/repository.ts +++ b/src/registry/domain/repository.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra'; import getUnixUtcTimestamp from 'oc-get-unix-utc-timestamp'; -import path from 'path'; +import path from 'node:path'; import dotenv from 'dotenv'; import ComponentsCache from './components-cache'; @@ -12,13 +12,13 @@ import * as validator from './validators'; import getPromiseBasedAdapter from './storage-adapter'; import * as versionHandler from './version-handler'; import errorToString from '../../utils/error-to-string'; -import { +import type { Component, ComponentsDetails, Config, TemplateInfo } from '../../types'; -import { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', 'package.json') @@ -65,12 +65,12 @@ export default function repository(conf: Config) { getComponents(): string[] { const validComponents = conf.components || - fs.readdirSync(conf.path).filter((file) => { + fs.readdirSync(conf.path).filter(file => { const isDir = fs.lstatSync(path.join(conf.path, file)).isDirectory(); const isValidComponent = isDir ? fs .readdirSync(path.join(conf.path, file)) - .filter((file) => file === '_package').length === 1 + .filter(file => file === '_package').length === 1 : false; return isValidComponent; @@ -83,7 +83,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(__dirname, '../../../package.json')) - .then((x) => x.version) + .then(x => x.version) ]); } @@ -99,7 +99,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(conf.path, `${componentName}/package.json`)) - .then((x) => x.version) + .then(x => x.version) ]); }, getDataProvider(componentName: string) { @@ -166,7 +166,7 @@ export default function repository(conf: Config) { const component = await repository .getComponentInfo(componentName, version) - .catch((err) => { + .catch(err => { throw `component not available: ${errorToString(err)}`; }); @@ -194,10 +194,9 @@ export default function repository(conf: Config) { if (componentInfo.version === componentVersion) { return Promise.resolve(componentInfo); - } else { - // eslint-disable-next-line prefer-promise-reject-errors - return Promise.reject('version not available'); } + // eslint-disable-next-line prefer-promise-reject-errors + return Promise.reject('version not available'); } return cdn.getJson( @@ -355,8 +354,9 @@ export default function repository(conf: Config) { }; } - const componentVersions = - await repository.getComponentVersions(componentName); + const componentVersions = await repository.getComponentVersions( + componentName + ); if ( !versionHandler.validateNewVersion(componentVersion, componentVersions) diff --git a/src/registry/domain/require-wrapper.ts b/src/registry/domain/require-wrapper.ts index 0bc490ee1..c7016e76d 100644 --- a/src/registry/domain/require-wrapper.ts +++ b/src/registry/domain/require-wrapper.ts @@ -1,5 +1,5 @@ import coreModules from 'builtin-modules'; -import path from 'path'; +import path from 'node:path'; import requirePackageName from 'require-package-name'; import tryRequire from 'try-require'; diff --git a/src/registry/domain/sanitiser.ts b/src/registry/domain/sanitiser.ts index 881c30b9c..f1a3feaea 100644 --- a/src/registry/domain/sanitiser.ts +++ b/src/registry/domain/sanitiser.ts @@ -1,11 +1,12 @@ -import { OcParameter } from '../../types'; +import type { OcParameter } from '../../types'; const sanitise = { booleanParameter(variable: string | number | boolean) { if (typeof variable === 'string') { if (variable === 'true') { return true; - } else if (variable === 'false') { + } + if (variable === 'false') { return false; } } @@ -21,9 +22,11 @@ const sanitise = { parameter(variable: string | number | boolean, type: string) { if (type === 'boolean') { return sanitise.booleanParameter(variable); - } else if (type === 'number') { + } + if (type === 'number') { return sanitise.numberParameter(variable); - } else if (type === 'string') { + } + if (type === 'string') { return sanitise.stringParameter(variable); } diff --git a/src/registry/domain/storage-adapter.ts b/src/registry/domain/storage-adapter.ts index a01dd811a..39ed3947d 100644 --- a/src/registry/domain/storage-adapter.ts +++ b/src/registry/domain/storage-adapter.ts @@ -1,5 +1,5 @@ import { fromCallback } from 'universalify'; -import { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; type RemovePromiseOverload = T extends { (...args: infer B): void; diff --git a/src/registry/domain/url-builder.ts b/src/registry/domain/url-builder.ts index 35281cf68..e302c441a 100644 --- a/src/registry/domain/url-builder.ts +++ b/src/registry/domain/url-builder.ts @@ -1,5 +1,5 @@ -import querystring from 'querystring'; -import url from 'url'; +import querystring from 'node:querystring'; +import url from 'node:url'; type Component = { name: string; diff --git a/src/registry/domain/validators/component-parameters.ts b/src/registry/domain/validators/component-parameters.ts index 345f73349..131e6c517 100644 --- a/src/registry/domain/validators/component-parameters.ts +++ b/src/registry/domain/validators/component-parameters.ts @@ -1,17 +1,19 @@ import strings from '../../../resources'; -import { OcParameter } from '../../../types'; +import type { OcParameter } from '../../../types'; -const validateParameter = function ( +const validateParameter = ( parameter: string | number | boolean, expectedType: string -): boolean { +): boolean => { const expected = expectedType.toLowerCase(); if (expected === 'boolean') { return typeof parameter === 'boolean'; - } else if (expected === 'number') { + } + if (expected === 'number') { return typeof parameter === 'number'; - } else if (expected === 'string') { + } + if (expected === 'string') { return typeof parameter === 'string'; } @@ -80,12 +82,12 @@ export default function componentParameters( } } - result.errors.message = (function () { + result.errors.message = (() => { let errorString = ''; if (Object.keys(result.errors.mandatory || {}).length > 0) { const missingParams = Object.keys(result.errors.mandatory || {}) - .map((mandatoryParameterName) => mandatoryParameterName + ', ') + .map(mandatoryParameterName => mandatoryParameterName + ', ') .join('') .slice(0, -2); @@ -99,7 +101,7 @@ export default function componentParameters( } const badParams = Object.keys(result.errors.types || {}) - .map((parameterName) => parameterName + ', ') + .map(parameterName => parameterName + ', ') .join('') .slice(0, -2); diff --git a/src/registry/domain/validators/node-version.ts b/src/registry/domain/validators/node-version.ts index 38450b355..b92312713 100644 --- a/src/registry/domain/validators/node-version.ts +++ b/src/registry/domain/validators/node-version.ts @@ -1,6 +1,6 @@ import semver from 'semver'; import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', '..', 'package.json') diff --git a/src/registry/domain/validators/oc-cli-version.ts b/src/registry/domain/validators/oc-cli-version.ts index e1da3661a..74790eac5 100644 --- a/src/registry/domain/validators/oc-cli-version.ts +++ b/src/registry/domain/validators/oc-cli-version.ts @@ -1,6 +1,6 @@ import semver from 'semver'; import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', '..', 'package.json') diff --git a/src/registry/domain/validators/plugins-requirements.ts b/src/registry/domain/validators/plugins-requirements.ts index 72ce0191c..9a39e1283 100644 --- a/src/registry/domain/validators/plugins-requirements.ts +++ b/src/registry/domain/validators/plugins-requirements.ts @@ -1,4 +1,4 @@ -import { Config } from '../../../types'; +import type { Config } from '../../../types'; type ValidationResult = | { diff --git a/src/registry/domain/validators/registry-configuration.ts b/src/registry/domain/validators/registry-configuration.ts index 977a45103..8f9b60e4b 100644 --- a/src/registry/domain/validators/registry-configuration.ts +++ b/src/registry/domain/validators/registry-configuration.ts @@ -1,6 +1,6 @@ import * as auth from '../authentication'; import strings from '../../../resources'; -import { Config } from '../../../types'; +import type { Config } from '../../../types'; type ValidationResult = { isValid: true } | { isValid: false; message: string }; @@ -57,27 +57,26 @@ export default function registryConfiguration( return returnError( strings.errors.registry.CONFIGURATION_ROUTES_MUST_BE_ARRAY ); - } else { - for (const route of routes || []) { - if (!route.route || !route.handler || !route.method) { - return returnError( - strings.errors.registry.CONFIGURATION_ROUTES_NOT_VALID - ); - } + } + for (const route of routes || []) { + if (!route.route || !route.handler || !route.method) { + return returnError( + strings.errors.registry.CONFIGURATION_ROUTES_NOT_VALID + ); + } - if (typeof route.handler !== 'function') { - return returnError( - strings.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION - ); - } + if (typeof route.handler !== 'function') { + return returnError( + strings.errors.registry.CONFIGURATION_ROUTES_HANDLER_MUST_BE_FUNCTION + ); + } - if (route.route.indexOf(prefix || '') === 0) { - return returnError( - strings.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX( - prefix || '' - ) - ); - } + if (route.route.indexOf(prefix || '') === 0) { + return returnError( + strings.errors.registry.CONFIGURATION_ROUTES_ROUTE_CONTAINS_PREFIX( + prefix || '' + ) + ); } } @@ -128,7 +127,7 @@ export default function registryConfiguration( } const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find( - (element) => typeof element !== 'string' + element => typeof element !== 'string' ); if (hasNonStringElements) { diff --git a/src/registry/domain/validators/uploaded-package.ts b/src/registry/domain/validators/uploaded-package.ts index 128ea0c80..dee5f6802 100644 --- a/src/registry/domain/validators/uploaded-package.ts +++ b/src/registry/domain/validators/uploaded-package.ts @@ -19,12 +19,10 @@ export default function uploadedPackage( [fieldname: string]: Express.Multer.File[]; } ): ValidationResponse { - const returnError = function (message?: string): ValidationResponse { - return { + const returnError = (message?: string): ValidationResponse => ({ isValid: false, message: message || 'uploaded package is not valid' - }; - }; + }); if (!input || typeof input !== 'object' || Object.keys(input).length === 0) { return returnError('empty'); diff --git a/src/registry/index.ts b/src/registry/index.ts index dab9f75a8..56661857c 100644 --- a/src/registry/index.ts +++ b/src/registry/index.ts @@ -1,6 +1,6 @@ import colors from 'colors/safe'; import express from 'express'; -import http from 'http'; +import http from 'node:http'; import _ from 'lodash'; import appStart from './app-start'; @@ -11,7 +11,7 @@ import Repository from './domain/repository'; import { create as createRouter } from './router'; import sanitiseOptions, { RegistryOptions } from './domain/options-sanitiser'; import * as validator from './domain/validators'; -import { Plugin } from '../types'; +import type { Plugin } from '../types'; export { RegistryOptions }; @@ -29,7 +29,7 @@ export default function registry(inputOptions: RegistryOptions) { const repository = Repository(options); const close = (callback: (err?: Error | undefined | string) => void) => { - if (server && server.listening) { + if (server?.listening) { return server.close(callback); } return callback('not opened'); @@ -93,7 +93,7 @@ export default function registry(inputOptions: RegistryOptions) { callback(null, { app, server }); }); - server.on('error', (error) => { + server.on('error', error => { eventsHandler.fire('error', { code: 'EXPRESS_ERROR', message: error?.message ?? String(error) diff --git a/src/registry/middleware/base-url-handler.ts b/src/registry/middleware/base-url-handler.ts index 859df7542..7548e6379 100644 --- a/src/registry/middleware/base-url-handler.ts +++ b/src/registry/middleware/base-url-handler.ts @@ -1,4 +1,4 @@ -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; export default function baseUrlHandler( req: Request, diff --git a/src/registry/middleware/cors.ts b/src/registry/middleware/cors.ts index a634f3aa5..5835adb98 100644 --- a/src/registry/middleware/cors.ts +++ b/src/registry/middleware/cors.ts @@ -1,4 +1,4 @@ -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; export default function cors( _req: Request, diff --git a/src/registry/middleware/discovery-handler.ts b/src/registry/middleware/discovery-handler.ts index 4baad91fa..3329997e9 100644 --- a/src/registry/middleware/discovery-handler.ts +++ b/src/registry/middleware/discovery-handler.ts @@ -1,4 +1,4 @@ -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; export default function discoveryHandler( req: Request, diff --git a/src/registry/middleware/file-uploads.ts b/src/registry/middleware/file-uploads.ts index aceec9b2f..fe2309e14 100644 --- a/src/registry/middleware/file-uploads.ts +++ b/src/registry/middleware/file-uploads.ts @@ -1,11 +1,11 @@ -import { NextFunction, Request, Response } from 'express'; +import type { NextFunction, Request, Response } from 'express'; import multer from 'multer'; export default function fileUpload( req: Request, res: Response, next: NextFunction -): void { +): any { if (res.conf.local) { return next(); } diff --git a/src/registry/middleware/index.ts b/src/registry/middleware/index.ts index e7bd13206..eb33141b2 100644 --- a/src/registry/middleware/index.ts +++ b/src/registry/middleware/index.ts @@ -1,4 +1,4 @@ -import express, { Express } from 'express'; +import express, { type Express } from 'express'; import errorhandler from 'errorhandler'; import morgan from 'morgan'; @@ -7,7 +7,7 @@ import cors from './cors'; import discoveryHandler from './discovery-handler'; import fileUploads from './file-uploads'; import requestHandler from './request-handler'; -import { Config } from '../../types'; +import type { Config } from '../../types'; const bodyParserJsonArgument: { inflate: boolean; limit?: number } = { inflate: true diff --git a/src/registry/middleware/request-handler.ts b/src/registry/middleware/request-handler.ts index 392aa7da9..e44a6c1ba 100644 --- a/src/registry/middleware/request-handler.ts +++ b/src/registry/middleware/request-handler.ts @@ -1,13 +1,13 @@ -import { Request, RequestHandler, Response } from 'express'; +import type { Request, RequestHandler, Response } from 'express'; import responseTime from 'response-time'; -import eventsHandler, { RequestData } from '../domain/events-handler'; +import eventsHandler, { type RequestData } from '../domain/events-handler'; export default function requestHandler(): RequestHandler { return responseTime((req: Request, res: Response, time) => { const data: RequestData = { body: req.body, - duration: parseInt(String(time * 1000)), + duration: Number.parseInt(String(time * 1000)), headers: req.headers, method: req.method, path: req.path, diff --git a/src/registry/router.ts b/src/registry/router.ts index 59b7fe73f..b371089d5 100644 --- a/src/registry/router.ts +++ b/src/registry/router.ts @@ -10,7 +10,7 @@ import DependenciesRoute from './routes/dependencies'; import settings from '../resources/settings'; import type { Express } from 'express'; import type { Repository } from '../registry/domain/repository'; -import { Config } from '../types'; +import type { Config } from '../types'; export function create(app: Express, conf: Config, repository: Repository) { const routes = { diff --git a/src/registry/routes/component-info.ts b/src/registry/routes/component-info.ts index e49b190ca..2fdd05fc9 100644 --- a/src/registry/routes/component-info.ts +++ b/src/registry/routes/component-info.ts @@ -6,8 +6,8 @@ import infoView from '../views/info'; import isUrlDiscoverable from './helpers/is-url-discoverable'; import * as urlBuilder from '../domain/url-builder'; import type { Repository } from '../domain/repository'; -import { Component, ComponentDetail, Config } from '../../types'; -import { Request, Response } from 'express'; +import type { Component, ComponentDetail, Config } from '../../types'; +import type { Request, Response } from 'express'; function getParams(component: Component) { let params: Record = {}; diff --git a/src/registry/routes/component-preview.ts b/src/registry/routes/component-preview.ts index 5826375fb..5c7370776 100644 --- a/src/registry/routes/component-preview.ts +++ b/src/registry/routes/component-preview.ts @@ -1,9 +1,9 @@ import * as getComponentFallback from './helpers/get-component-fallback'; import previewView from '../views/preview'; import * as urlBuilder from '../domain/url-builder'; -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import type { Repository } from '../domain/repository'; -import { Component, Config, TemplateInfo } from '../../types'; +import type { Component, Config, TemplateInfo } from '../../types'; import { fromPromise } from 'universalify'; function componentPreview( diff --git a/src/registry/routes/component.ts b/src/registry/routes/component.ts index 6ebbf7adb..46378ebea 100644 --- a/src/registry/routes/component.ts +++ b/src/registry/routes/component.ts @@ -4,8 +4,8 @@ import _ from 'lodash'; import GetComponentHelper from './helpers/get-component'; import strings from '../../resources'; import type { Repository } from '../domain/repository'; -import { Config } from '../../types'; -import { Request, RequestHandler, Response } from 'express'; +import type { Config } from '../../types'; +import type { Request, RequestHandler, Response } from 'express'; export default function component( conf: Config, diff --git a/src/registry/routes/components.ts b/src/registry/routes/components.ts index 425c0b84b..0b5e26306 100644 --- a/src/registry/routes/components.ts +++ b/src/registry/routes/components.ts @@ -2,12 +2,12 @@ import async from 'async'; import _ from 'lodash'; import GetComponentHelper, { - GetComponentResult + type GetComponentResult } from './helpers/get-component'; import strings from '../../resources'; import type { Repository } from '../domain/repository'; -import { Config } from '../../types'; -import { Request, RequestHandler, Response } from 'express'; +import type { Config } from '../../types'; +import type { Request, RequestHandler, Response } from 'express'; type Component = { action?: string; @@ -35,7 +35,7 @@ export default function components( const components = req.body.components as Component[]; const registryErrors = strings.errors.registry; - const returnError = function (message: string) { + const returnError = (message: string) => { res.status(400).json({ code: registryErrors.BATCH_ROUTE_BODY_NOT_VALID_CODE, error: registryErrors.BATCH_ROUTE_BODY_NOT_VALID(message) @@ -46,7 +46,8 @@ export default function components( return returnError( registryErrors.BATCH_ROUTE_COMPONENTS_PROPERTY_MISSING ); - } else if (!Array.isArray(components)) { + } + if (!Array.isArray(components)) { return returnError(registryErrors.BATCH_ROUTE_COMPONENTS_NOT_ARRAY); } @@ -78,7 +79,7 @@ export default function components( parameters: { ...req.body.parameters, ...component.parameters }, version: component.version }, - (result) => callback(null, result) + result => callback(null, result) ); }, // @ts-ignore @@ -96,7 +97,7 @@ export default function components( code: 'RENDER_ERROR', error: strings.errors.registry.RENDER_ERROR( results - .map((x) => `${x.response.name}@${x.response.version}`) + .map(x => `${x.response.name}@${x.response.version}`) .join(', '), String(e) ) diff --git a/src/registry/routes/dependencies.ts b/src/registry/routes/dependencies.ts index df3d96833..b9f1d1caa 100644 --- a/src/registry/routes/dependencies.ts +++ b/src/registry/routes/dependencies.ts @@ -1,9 +1,9 @@ -import { Request, Response } from 'express'; -import { Config } from '../../types'; +import type { Request, Response } from 'express'; +import type { Config } from '../../types'; import getAvailableDependencies from './helpers/get-available-dependencies'; export default function dependencies(conf: Config) { - return function (_req: Request, res: Response): void { + return (_req: Request, res: Response): void => { if (res.conf.discovery) { const dependencies = getAvailableDependencies(conf.dependencies).map( ({ core, name, version }) => { diff --git a/src/registry/routes/helpers/apply-default-values.ts b/src/registry/routes/helpers/apply-default-values.ts index 6af51fffb..e1d086ae0 100644 --- a/src/registry/routes/helpers/apply-default-values.ts +++ b/src/registry/routes/helpers/apply-default-values.ts @@ -1,4 +1,4 @@ -import { OcParameter } from '../../../types'; +import type { OcParameter } from '../../../types'; interface OptionalParameterWithDefault extends OcParameter { mandatory: false; diff --git a/src/registry/routes/helpers/get-component-fallback.ts b/src/registry/routes/helpers/get-component-fallback.ts index d7efe656e..f3c6a2365 100644 --- a/src/registry/routes/helpers/get-component-fallback.ts +++ b/src/registry/routes/helpers/get-component-fallback.ts @@ -1,10 +1,10 @@ -import { Request, Response } from 'express'; -import { IncomingHttpHeaders } from 'http'; +import type { Request, Response } from 'express'; +import type { IncomingHttpHeaders } from 'node:http'; import request from 'minimal-request'; -import url from 'url'; -import { Component, Config } from '../../../types'; +import url from 'node:url'; +import type { Component, Config } from '../../../types'; import * as urlBuilder from '../../domain/url-builder'; -import { GetComponentResult } from './get-component'; +import type { GetComponentResult } from './get-component'; type ComponentCallback = ( err: { registryError: any; fallbackError: any } | null, @@ -80,7 +80,7 @@ export function getComponent( component: { name: string; version: string; parameters: IncomingHttpHeaders }, callback: (result: GetComponentResult) => void ): void { - return request( + request( { method: 'post', url: fallbackRegistryUrl, diff --git a/src/registry/routes/helpers/get-component-retrieving-info.ts b/src/registry/routes/helpers/get-component-retrieving-info.ts index e86c85ef2..614e5c955 100644 --- a/src/registry/routes/helpers/get-component-retrieving-info.ts +++ b/src/registry/routes/helpers/get-component-retrieving-info.ts @@ -1,4 +1,4 @@ -import { IncomingHttpHeaders } from 'http'; +import type { IncomingHttpHeaders } from 'node:http'; interface Options { headers: IncomingHttpHeaders; diff --git a/src/registry/routes/helpers/get-component.ts b/src/registry/routes/helpers/get-component.ts index dd8f7bdb6..14507dfea 100644 --- a/src/registry/routes/helpers/get-component.ts +++ b/src/registry/routes/helpers/get-component.ts @@ -1,9 +1,9 @@ import acceptLanguageParser from 'accept-language-parser'; import Cache from 'nice-cache'; import Client from 'oc-client'; -import Domain from 'domain'; +import Domain from 'node:domain'; import emptyResponseHandler from 'oc-empty-response-handler'; -import vm from 'vm'; +import vm from 'node:vm'; import _ from 'lodash'; import applyDefaultValues from './apply-default-values'; @@ -19,8 +19,8 @@ import strings from '../../../resources'; import * as urlBuilder from '../../domain/url-builder'; import * as validator from '../../domain/validators'; import type { Repository } from '../../domain/repository'; -import { Component, Config } from '../../../types'; -import { IncomingHttpHeaders } from 'http'; +import type { Component, Config, Template } from '../../../types'; +import type { IncomingHttpHeaders } from 'node:http'; import { fromPromise } from 'universalify'; export interface RendererOptions { @@ -57,7 +57,7 @@ export interface GetComponentResult { } const noopConsole = Object.fromEntries( - Object.keys(console).map((key) => [key, _.noop]) + Object.keys(console).map(key => [key, _.noop]) ); export default function getComponent(conf: Config, repository: Repository) { @@ -83,10 +83,10 @@ export default function getComponent(conf: Config, repository: Repository) { return env; }; - const renderer = function ( + const renderer = ( options: RendererOptions, cb: (result: GetComponentResult) => void - ) { + ) => { const nestedRenderer = NestedRenderer(renderer, options.conf); const retrievingInfo = GetComponentRetrievingInfo(options); let responseHeaders: Record = {}; @@ -260,7 +260,7 @@ export default function getComponent(conf: Config, repository: Repository) { !!options.headers['user-agent'].match('oc-client-'); const parseTemplatesHeader = (t: string) => - t.split(';').map((t) => t.split(',')[0]); + t.split(';').map(t => t.split(',')[0]); const supportedTemplates = options.headers['templates'] ? parseTemplatesHeader(options.headers['templates'] as string) : []; @@ -414,7 +414,7 @@ export default function getComponent(conf: Config, repository: Repository) { component.name, component.version, (_err, templateText) => { - let ocTemplate; + let ocTemplate: Template; try { ocTemplate = repository.getTemplate(templateType); diff --git a/src/registry/routes/helpers/get-components-history.ts b/src/registry/routes/helpers/get-components-history.ts index a1ef889c7..69936637f 100644 --- a/src/registry/routes/helpers/get-components-history.ts +++ b/src/registry/routes/helpers/get-components-history.ts @@ -1,4 +1,4 @@ -import { ComponentsDetails } from '../../../types'; +import type { ComponentsDetails } from '../../../types'; import dateStringified from '../../../utils/date-stringify'; interface UnformmatedComponentHistory { diff --git a/src/registry/routes/index.ts b/src/registry/routes/index.ts index d761456aa..9ada82e67 100644 --- a/src/registry/routes/index.ts +++ b/src/registry/routes/index.ts @@ -1,7 +1,7 @@ import async from 'async'; import parseAuthor from 'parse-author'; import _ from 'lodash'; -import path from 'path'; +import path from 'node:path'; import fs from 'fs-extra'; import dateStringified from '../../utils/date-stringify'; @@ -10,10 +10,10 @@ import getAvailableDependencies from './helpers/get-available-dependencies'; import indexView from '../views'; import urlBuilder = require('../domain/url-builder'); import type { Repository } from '../domain/repository'; -import { Author, Component, ParsedComponent } from '../../types'; -import { NextFunction, Request, Response } from 'express'; -import { IncomingHttpHeaders } from 'http'; -import { PackageJson } from 'type-fest'; +import type { Author, Component, ParsedComponent } from '../../types'; +import type { NextFunction, Request, Response } from 'express'; +import type { IncomingHttpHeaders } from 'node:http'; +import type { PackageJson } from 'type-fest'; import { fromPromise } from 'universalify'; const packageInfo: PackageJson = fs.readJsonSync( @@ -60,7 +60,7 @@ export default function (repository: Repository) { (err, result) => { if (err) return callback(err as any); - if (result.oc && result.oc.date) { + if (result.oc?.date) { result.oc.stringifiedDate = dateStringified( new Date(result.oc.date) ); @@ -71,7 +71,7 @@ export default function (repository: Repository) { callback(); } ), - (err) => { + err => { if (err) return next(err); componentsInfo = _.sortBy(componentsInfo, 'name'); @@ -88,7 +88,7 @@ export default function (repository: Repository) { availablePlugins: res.conf.plugins, components: componentsInfo, componentsReleases, - componentsList: componentsInfo.map((component) => { + componentsList: componentsInfo.map(component => { const state: 'deprecated' | 'experimental' | '' = _.get( component, 'oc.state', @@ -119,7 +119,7 @@ export default function (repository: Repository) { } else { res.status(200).json( Object.assign(baseResponse, { - components: _.map(components, (component) => + components: _.map(components, component => urlBuilder.component(component, res.conf.baseUrl) ) }) diff --git a/src/registry/routes/plugins.ts b/src/registry/routes/plugins.ts index bc8bcdaa8..b997ba44a 100644 --- a/src/registry/routes/plugins.ts +++ b/src/registry/routes/plugins.ts @@ -1,5 +1,5 @@ -import { Request, Response } from 'express'; -import { Config } from '../../types'; +import type { Request, Response } from 'express'; +import type { Config } from '../../types'; export default function plugins(conf: Config) { return (_req: Request, res: Response): void => { diff --git a/src/registry/routes/publish.ts b/src/registry/routes/publish.ts index a5d352e12..cba254f8f 100644 --- a/src/registry/routes/publish.ts +++ b/src/registry/routes/publish.ts @@ -1,11 +1,11 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import extractPackage from '../domain/extract-package'; import strings from '../../resources/index'; import * as validator from '../domain/validators'; import type { Repository } from '../domain/repository'; export default function publish(repository: Repository) { - return async function (req: Request, res: Response): Promise { + return async (req: Request, res: Response): Promise => { if (!req.params['componentName'] || !req.params['componentVersion']) { res.errorDetails = 'malformed request'; res.status(409).json({ error: res.errorDetails }); diff --git a/src/registry/routes/static-redirector.ts b/src/registry/routes/static-redirector.ts index 8139f45ff..565318c1a 100644 --- a/src/registry/routes/static-redirector.ts +++ b/src/registry/routes/static-redirector.ts @@ -1,13 +1,13 @@ import fs from 'fs-extra'; -import path from 'path'; -import { Request, Response } from 'express'; +import path from 'node:path'; +import type { Request, Response } from 'express'; import * as storageUtils from 'oc-storage-adapters-utils'; import type { Repository } from '../domain/repository'; export default function staticRedirector(repository: Repository) { - return function (req: Request, res: Response): void { - let filePath; + return (req: Request, res: Response): void => { + let filePath: string; const clientPath = `${res.conf.prefix || '/'}oc-client/client.js`; const clientMapPath = `${ res.conf.prefix || '/' @@ -19,19 +19,19 @@ export default function staticRedirector(repository: Repository) { res.type('application/javascript'); res.send(res.conf.compiledClient.dev); return; - } else { - filePath = path.join( - __dirname, - '../../components/oc-client/_package/src/oc-client.js' - ); } + filePath = path.join( + __dirname, + '../../components/oc-client/_package/src/oc-client.js' + ); } else { if (res.conf.compiledClient) { res.type('application/javascript'); res.send(res.conf.compiledClient.code); return; } - return res.redirect(repository.getStaticClientPath()); + res.redirect(repository.getStaticClientPath()); + return; } } else if (req.route.path === clientMapPath) { if (res.conf.local) { @@ -45,7 +45,8 @@ export default function staticRedirector(repository: Repository) { res.send(res.conf.compiledClient.map); return; } - return res.redirect(repository.getStaticClientMapPath()); + res.redirect(repository.getStaticClientMapPath()); + return; } } else if (req.params['componentName'] === 'oc-client') { filePath = path.join( diff --git a/src/registry/views/index.ts b/src/registry/views/index.ts index af50e76a7..ca51a69a4 100644 --- a/src/registry/views/index.ts +++ b/src/registry/views/index.ts @@ -7,7 +7,7 @@ import indexJS from './static/index'; import getLayout from './partials/layout'; import getProperty from './partials/property'; -import { VM } from '../../types'; +import type { VM } from '../../types'; export default function indexView(vm: VM): string { const tabs = { diff --git a/src/registry/views/info.ts b/src/registry/views/info.ts index 117c5ba10..7416e32c5 100644 --- a/src/registry/views/info.ts +++ b/src/registry/views/info.ts @@ -1,4 +1,4 @@ -import { Component, ComponentDetail } from '../../types'; +import type { Component, ComponentDetail } from '../../types'; import getComponentAuthor from './partials/component-author'; import getComponentParameters from './partials/component-parameters'; diff --git a/src/registry/views/partials/component-author.ts b/src/registry/views/partials/component-author.ts index 9b175d99e..bede2921d 100644 --- a/src/registry/views/partials/component-author.ts +++ b/src/registry/views/partials/component-author.ts @@ -11,7 +11,7 @@ const componentAuthor = let placeholder = ''; if (!author.name && !author.email && !author.url) { - placeholder += `not available`; + placeholder += 'not available'; } if (author.name) { diff --git a/src/registry/views/partials/component-parameters.ts b/src/registry/views/partials/component-parameters.ts index a8bf1cc15..bc98242eb 100644 --- a/src/registry/views/partials/component-parameters.ts +++ b/src/registry/views/partials/component-parameters.ts @@ -1,9 +1,9 @@ -import { Component, OcParameter } from '../../../types'; +import type { Component, OcParameter } from '../../../types'; const componentParameters = ({ component }: { component: Component }) => (): string => { - let parameters = `

Parameters

`; + let parameters = '

Parameters

'; if (!component.oc.parameters) { return `${parameters}

none

`; @@ -34,7 +34,7 @@ const componentParameters = }; const rows = Object.keys(component.oc.parameters) - .map((parameterName) => + .map(parameterName => parameterRow(component.oc.parameters[parameterName], parameterName) ) .join(''); diff --git a/src/registry/views/partials/component-state.ts b/src/registry/views/partials/component-state.ts index c36e526c0..5aa0a5954 100644 --- a/src/registry/views/partials/component-state.ts +++ b/src/registry/views/partials/component-state.ts @@ -1,4 +1,4 @@ -import { Component } from '../../../types'; +import type { Component } from '../../../types'; const componentState = ({ component }: { component: Component }) => diff --git a/src/registry/views/partials/component-versions.ts b/src/registry/views/partials/component-versions.ts index 7db0d1473..3acdfa2d3 100644 --- a/src/registry/views/partials/component-versions.ts +++ b/src/registry/views/partials/component-versions.ts @@ -1,4 +1,4 @@ -import { Component } from '../../../types'; +import type { Component } from '../../../types'; const componentVersions = ({ component }: { component: Component }) => diff --git a/src/registry/views/partials/components-dependencies.ts b/src/registry/views/partials/components-dependencies.ts index d98408ee3..7a2a48490 100644 --- a/src/registry/views/partials/components-dependencies.ts +++ b/src/registry/views/partials/components-dependencies.ts @@ -1,4 +1,4 @@ -import { VM } from '../../../types'; +import type { VM } from '../../../types'; export default function componentsDependencies(vm: VM): string { const dependencyRow = ({ @@ -12,7 +12,7 @@ export default function componentsDependencies(vm: VM): string { name: string; version: string; }) => { - const label = name + (core ? ` (node.js core dependency)` : `@${version}`); + const label = name + (core ? ' (node.js core dependency)' : `@${version}`); return `

${label}

diff --git a/src/registry/views/partials/components-history.ts b/src/registry/views/partials/components-history.ts index d08edeaf8..00f4ee24a 100644 --- a/src/registry/views/partials/components-history.ts +++ b/src/registry/views/partials/components-history.ts @@ -1,4 +1,4 @@ -import { VM } from '../../../types'; +import type { VM } from '../../../types'; export default function componentsHistory(vm: VM): string { const componentRow = ({ diff --git a/src/registry/views/partials/components-list.ts b/src/registry/views/partials/components-list.ts index f0b4ed6e7..52cbf5446 100644 --- a/src/registry/views/partials/components-list.ts +++ b/src/registry/views/partials/components-list.ts @@ -1,4 +1,4 @@ -import { ParsedComponent, VM } from '../../../types'; +import type { ParsedComponent, VM } from '../../../types'; import getSelectedCheckbox from './selected-checkbox'; export default function componentsList(vm: VM): string { diff --git a/src/registry/views/partials/components-plugins.ts b/src/registry/views/partials/components-plugins.ts index d5a535154..94a767dd2 100644 --- a/src/registry/views/partials/components-plugins.ts +++ b/src/registry/views/partials/components-plugins.ts @@ -1,4 +1,4 @@ -import { VM } from '../../../types'; +import type { VM } from '../../../types'; export default function componentsPlugins(vm: VM): string { const pluginRow = ([name, description]: string[]) => `
diff --git a/src/registry/views/partials/components-templates.ts b/src/registry/views/partials/components-templates.ts index bfc387594..565724e63 100644 --- a/src/registry/views/partials/components-templates.ts +++ b/src/registry/views/partials/components-templates.ts @@ -1,4 +1,4 @@ -import { VM } from '../../../types'; +import type { VM } from '../../../types'; export default function componentsTemplates(vm: VM): string { const externalLink = ({ diff --git a/src/registry/views/partials/selected-checkbox.ts b/src/registry/views/partials/selected-checkbox.ts index 4822f69ba..319694156 100644 --- a/src/registry/views/partials/selected-checkbox.ts +++ b/src/registry/views/partials/selected-checkbox.ts @@ -1,4 +1,4 @@ -import { VM } from '../../../types'; +import type { VM } from '../../../types'; type State = keyof VM['stateCounts']; diff --git a/src/registry/views/preview.ts b/src/registry/views/preview.ts index 502663f22..5c6be5f9a 100644 --- a/src/registry/views/preview.ts +++ b/src/registry/views/preview.ts @@ -1,4 +1,4 @@ -import { Component, TemplateInfo } from '../../types'; +import type { Component, TemplateInfo } from '../../types'; export default function preview(vm: { href: string; diff --git a/src/resources/index.ts b/src/resources/index.ts index 1ab967475..7e9904456 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -219,12 +219,12 @@ export default { }, messages: { cli: { - cleanAlreadyClean: `The folders are already clean`, + cleanAlreadyClean: 'The folders are already clean', cleanList: (list: string[]): string => `The following folders will be removed:\n${list.join('\n')}`, cleanPrompt: 'Proceed? [Y/n]', cleanPromptDefault: 'Y', - cleanSuccess: `Folders removed`, + cleanSuccess: 'Folders removed', initSuccess, installCompiler: (compiler: string): string => `Installing ${compiler} from npm...`, diff --git a/src/types.ts b/src/types.ts index 4d9448351..1aa315e4a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ -import { NextFunction, Request, Response } from 'express'; -import { PackageJson } from 'type-fest'; -import { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { NextFunction, Request, Response } from 'express'; +import type { PackageJson } from 'type-fest'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; export interface Author { email?: string; diff --git a/src/utils/error-to-string.ts b/src/utils/error-to-string.ts index 9fcd7cb77..2bd66b839 100644 --- a/src/utils/error-to-string.ts +++ b/src/utils/error-to-string.ts @@ -5,7 +5,8 @@ function hasMessage(obj: unknown): obj is { msg: string } { export default function errorToString(err: unknown): string { if (typeof err === 'string') { return err; - } else if (hasMessage(err)) { + } + if (hasMessage(err)) { return err.msg; } diff --git a/src/utils/is-template-valid.ts b/src/utils/is-template-valid.ts index a866d6be8..290996c98 100644 --- a/src/utils/is-template-valid.ts +++ b/src/utils/is-template-valid.ts @@ -1,4 +1,4 @@ -import { Template } from '../types'; +import type { Template } from '../types'; export default function isTemplateValid( template: unknown, diff --git a/src/utils/module-exists.ts b/src/utils/module-exists.ts index 22d343c39..ff4d22c8b 100644 --- a/src/utils/module-exists.ts +++ b/src/utils/module-exists.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path from 'node:path'; import tryRequire from 'try-require'; export default function moduleExists(moduleName: string): boolean { diff --git a/src/utils/npm-utils.ts b/src/utils/npm-utils.ts index d73344d0c..9c7d79200 100644 --- a/src/utils/npm-utils.ts +++ b/src/utils/npm-utils.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path from 'node:path'; import spawn from 'cross-spawn'; import stripVersion from './strip-version'; @@ -36,7 +36,7 @@ const executeCommand = (options: { return new Promise((res, rej) => { cmd.on('error', () => rej(new Error('error'))); - cmd.on('close', (code) => { + cmd.on('close', code => { if (code !== 0) { rej(code); } else { @@ -79,7 +79,7 @@ export const installDependencies = async (options: { silent }; - const dest = dependencies.map((dependency) => + const dest = dependencies.map(dependency => getFullPath({ installPath, dependency }) ); diff --git a/src/utils/pLimit.ts b/src/utils/pLimit.ts index 8c4090380..c984a27dd 100644 --- a/src/utils/pLimit.ts +++ b/src/utils/pLimit.ts @@ -77,7 +77,7 @@ export type LimitFunction = { const pLimit = (concurrency: number): LimitFunction => { if ( !( - (Number.isInteger(concurrency) || concurrency === Infinity) && + (Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0 ) ) { diff --git a/src/utils/put.ts b/src/utils/put.ts index 0dbc89dc9..55d252369 100644 --- a/src/utils/put.ts +++ b/src/utils/put.ts @@ -1,6 +1,6 @@ import FormData from 'form-data'; import fs from 'fs-extra'; -import path from 'path'; +import path from 'node:path'; import got from 'got'; async function put( @@ -14,7 +14,7 @@ async function put( files = [files]; } - files.forEach((file) => { + files.forEach(file => { const fileName = path.basename(file); form.append(fileName, fs.createReadStream(file)); }); diff --git a/src/utils/strip-version.ts b/src/utils/strip-version.ts index 2ea170fe5..3db9205e1 100644 --- a/src/utils/strip-version.ts +++ b/src/utils/strip-version.ts @@ -1,4 +1,4 @@ -import path from 'path'; +import path from 'node:path'; export default function stripVersion(dependency: string): string { const parts = path.parse(dependency); From f0aa9bc7a1ea402c3a55f0d0e4cdcd2429ae4e13 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 12:45:35 +0200 Subject: [PATCH 04/12] sort imports --- package.json | 3 +- src/cli/domain/clean.ts | 4 +- src/cli/domain/get-components-by-dir.ts | 6 +-- src/cli/domain/get-mocked-plugins.ts | 6 +-- src/cli/domain/handle-dependencies/index.ts | 10 ++--- .../handle-dependencies/install-compiler.ts | 4 +- .../install-missing-dependencies.ts | 4 +- .../link-missing-dependencies.ts | 2 +- .../handle-dependencies/require-template.ts | 6 +-- src/cli/domain/init-template/index.ts | 6 +-- .../domain/init-template/install-template.ts | 2 +- src/cli/domain/init-template/scaffold.ts | 2 +- src/cli/domain/local.ts | 12 +++--- src/cli/domain/mock.ts | 2 +- src/cli/domain/package-components.ts | 8 ++-- src/cli/domain/registry.ts | 8 ++-- src/cli/domain/watch.ts | 2 +- src/cli/facade/clean.ts | 2 +- src/cli/facade/dev.ts | 22 +++++------ src/cli/facade/package.ts | 18 +++++---- src/cli/facade/publish.ts | 20 +++++----- src/cli/index.ts | 8 ++-- src/cli/programmatic-api.ts | 4 +- src/cli/validate-command.ts | 2 +- src/registry/app-start.ts | 4 +- .../components-cache/components-list.ts | 4 +- src/registry/domain/components-cache/index.ts | 6 +-- src/registry/domain/components-details.ts | 6 +-- src/registry/domain/events-handler.ts | 4 +- src/registry/domain/extract-package.ts | 4 +- .../domain/get-package-json-from-temp-dir.ts | 2 +- src/registry/domain/nested-renderer.ts | 2 +- src/registry/domain/options-sanitiser.ts | 2 +- src/registry/domain/plugins-initialiser.ts | 18 ++++----- src/registry/domain/register-templates.ts | 2 +- src/registry/domain/repository.ts | 37 +++++++++---------- src/registry/domain/require-wrapper.ts | 2 +- src/registry/domain/storage-adapter.ts | 2 +- .../domain/validators/component-parameters.ts | 4 +- src/registry/domain/validators/index.ts | 4 +- .../domain/validators/node-version.ts | 4 +- .../domain/validators/oc-cli-version.ts | 4 +- .../validators/registry-configuration.ts | 4 +- .../domain/validators/uploaded-package.ts | 6 +-- src/registry/index.ts | 12 +++--- src/registry/middleware/index.ts | 4 +- src/registry/router.ts | 16 ++++---- src/registry/routes/component-info.ts | 10 ++--- src/registry/routes/component-preview.ts | 10 ++--- src/registry/routes/component.ts | 8 ++-- src/registry/routes/components.ts | 12 +++--- .../routes/helpers/get-component-fallback.ts | 4 +- src/registry/routes/helpers/get-component.ts | 30 +++++++-------- src/registry/routes/index.ts | 22 +++++------ src/registry/routes/publish.ts | 4 +- src/registry/routes/static-redirector.ts | 2 +- src/registry/views/index.ts | 4 +- src/registry/views/info.ts | 4 +- .../views/partials/component-parameters.ts | 2 +- src/types.ts | 2 +- src/utils/npm-utils.ts | 4 +- src/utils/pLimit.ts | 3 +- src/utils/put.ts | 4 +- 63 files changed, 222 insertions(+), 219 deletions(-) diff --git a/package.json b/package.json index d688180b3..363a0007d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "types": "./dist/index.d.ts", "bin": "./dist/oc-cli.js", "scripts": { - "lint": "eslint src", + "lint": "npx @biomejs/biome check src", + "lint:apply": "npx @biomejs/biome check --apply src", "prebuild": "rimraf dist", "build": "npm run lint && tsc && node tasks/build.js", "git-stage-and-push": "node tasks/git-stage-and-push.js", diff --git a/src/cli/domain/clean.ts b/src/cli/domain/clean.ts index 8104d2c7a..47314fdb3 100644 --- a/src/cli/domain/clean.ts +++ b/src/cli/domain/clean.ts @@ -1,6 +1,6 @@ +import path from 'node:path'; import fs from 'fs-extra'; import makeGetComponentsByDir from './get-components-by-dir'; -import path from 'node:path'; const getComponentsByDir = makeGetComponentsByDir(); @@ -9,7 +9,7 @@ export async function fetchList(dirPath: string): Promise { if (list.length === 0) return []; - const toRemove = list.map(folder => path.join(folder, 'node_modules')); + const toRemove = list.map((folder) => path.join(folder, 'node_modules')); return toRemove.filter(fs.existsSync); } diff --git a/src/cli/domain/get-components-by-dir.ts b/src/cli/domain/get-components-by-dir.ts index a45c08969..728ac00be 100644 --- a/src/cli/domain/get-components-by-dir.ts +++ b/src/cli/domain/get-components-by-dir.ts @@ -1,5 +1,5 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; import type { Component } from '../../types'; export default function getComponentsByDir() { @@ -30,14 +30,14 @@ export default function getComponentsByDir() { try { let dirContent = await fs.readdir(componentsDir); if (componentsToRun) { - dirContent = dirContent.filter(content => + dirContent = dirContent.filter((content) => componentsToRun.includes(content) ); } const components = dirContent .filter(isOcComponent) - .map(component => path.resolve(componentsDir, component)); + .map((component) => path.resolve(componentsDir, component)); return components; } catch (err) { diff --git a/src/cli/domain/get-mocked-plugins.ts b/src/cli/domain/get-mocked-plugins.ts index f9bd09525..728e2923f 100644 --- a/src/cli/domain/get-mocked-plugins.ts +++ b/src/cli/domain/get-mocked-plugins.ts @@ -1,10 +1,10 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; -import settings from '../../resources/settings'; import strings from '../../resources/'; -import type { Logger } from '../logger'; +import settings from '../../resources/settings'; import type { OcJsonConfig } from '../../types'; +import type { Logger } from '../logger'; interface MockedPlugin { register: (options: unknown, dependencies: unknown, next: () => void) => void; diff --git a/src/cli/domain/handle-dependencies/index.ts b/src/cli/domain/handle-dependencies/index.ts index c340d02e5..33b0074e8 100644 --- a/src/cli/domain/handle-dependencies/index.ts +++ b/src/cli/domain/handle-dependencies/index.ts @@ -1,15 +1,15 @@ +import path from 'node:path'; import coreModules from 'builtin-modules'; import fs from 'fs-extra'; -import path from 'node:path'; +import strings from '../../../resources'; +import type { Component, Template } from '../../../types'; +import isTemplateLegacy from '../../../utils/is-template-legacy'; +import type { Logger } from '../../logger'; import ensureCompilerIsDeclaredAsDevDependency from './ensure-compiler-is-declared-as-devDependency'; import getCompiler from './get-compiler'; import installMissingDependencies from './install-missing-dependencies'; import linkMissingDependencies from './link-missing-dependencies'; -import isTemplateLegacy from '../../../utils/is-template-legacy'; -import strings from '../../../resources'; -import type { Logger } from '../../logger'; -import type { Component, Template } from '../../../types'; const getComponentPackageJson = (componentPath: string): Promise => fs.readJson(path.join(componentPath, 'package.json')); diff --git a/src/cli/domain/handle-dependencies/install-compiler.ts b/src/cli/domain/handle-dependencies/install-compiler.ts index 313ab05b7..958501388 100644 --- a/src/cli/domain/handle-dependencies/install-compiler.ts +++ b/src/cli/domain/handle-dependencies/install-compiler.ts @@ -1,9 +1,9 @@ +import strings from '../../../resources/index'; +import type { Template } from '../../../types'; import cleanRequire from '../../../utils/clean-require'; import isTemplateValid from '../../../utils/is-template-valid'; import * as npm from '../../../utils/npm-utils'; -import strings from '../../../resources/index'; import type { Logger } from '../../logger'; -import type { Template } from '../../../types'; export default async function installCompiler(options: { compilerPath: string; diff --git a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts index 0bec55c3c..fcc4fe069 100644 --- a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts @@ -1,9 +1,9 @@ import path from 'node:path'; -import getMissingDependencies from './get-missing-dependencies'; -import * as npm from '../../../utils/npm-utils'; import strings from '../../../resources/index'; +import * as npm from '../../../utils/npm-utils'; import type { Logger } from '../../logger'; +import getMissingDependencies from './get-missing-dependencies'; export default async function installMissingDependencies(options: { dependencies: Record; diff --git a/src/cli/domain/handle-dependencies/link-missing-dependencies.ts b/src/cli/domain/handle-dependencies/link-missing-dependencies.ts index 99b0112b8..1c28225f1 100644 --- a/src/cli/domain/handle-dependencies/link-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/link-missing-dependencies.ts @@ -1,9 +1,9 @@ import path from 'node:path'; import fs from 'fs-extra'; -import getMissingDependencies from './get-missing-dependencies'; import strings from '../../../resources/index'; import stripVersion from '../../../utils/strip-version'; import type { Logger } from '../../logger'; +import getMissingDependencies from './get-missing-dependencies'; export default async function linkMissingDependencies(options: { componentPath: string; diff --git a/src/cli/domain/handle-dependencies/require-template.ts b/src/cli/domain/handle-dependencies/require-template.ts index ed57c8adf..fa8bd09f4 100644 --- a/src/cli/domain/handle-dependencies/require-template.ts +++ b/src/cli/domain/handle-dependencies/require-template.ts @@ -1,10 +1,10 @@ import path from 'node:path'; +import strings from '../../../resources'; +import type { Component } from '../../../types'; import cleanRequire from '../../../utils/clean-require'; import isTemplateLegacy from '../../../utils/is-template-legacy'; import isTemplateValid from '../../../utils/is-template-valid'; -import strings from '../../../resources'; -import type { Component } from '../../../types'; interface Template { compile: ( @@ -49,7 +49,7 @@ export default function requireTemplate( ); [componentRelativePath, template, localTemplate, relativeTemplate].forEach( - pathToTry => { + (pathToTry) => { ocTemplate = ocTemplate || cleanRequire(pathToTry, { justTry: true }); } ); diff --git a/src/cli/domain/init-template/index.ts b/src/cli/domain/init-template/index.ts index 1148abc3d..e9ffda4bf 100644 --- a/src/cli/domain/init-template/index.ts +++ b/src/cli/domain/init-template/index.ts @@ -1,10 +1,10 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; -import installTemplate from './install-template'; import * as npm from '../../../utils/npm-utils'; -import scaffold from './scaffold'; import type { Logger } from '../../logger'; +import installTemplate from './install-template'; +import scaffold from './scaffold'; export default async function initTemplate(options: { componentPath: string; diff --git a/src/cli/domain/init-template/install-template.ts b/src/cli/domain/init-template/install-template.ts index f420a55fc..f3e17035c 100644 --- a/src/cli/domain/init-template/install-template.ts +++ b/src/cli/domain/init-template/install-template.ts @@ -1,8 +1,8 @@ import tryRequire from 'try-require'; +import strings from '../../../resources'; import isTemplateValid from '../../../utils/is-template-valid'; import * as npm from '../../../utils/npm-utils'; -import strings from '../../../resources'; import type { Logger } from '../../logger'; interface Options { diff --git a/src/cli/domain/init-template/scaffold.ts b/src/cli/domain/init-template/scaffold.ts index 549f57052..10dc396c1 100644 --- a/src/cli/domain/init-template/scaffold.ts +++ b/src/cli/domain/init-template/scaffold.ts @@ -1,5 +1,5 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; import strings from '../../../resources'; diff --git a/src/cli/domain/local.ts b/src/cli/domain/local.ts index edc5ad18a..1f58e98c0 100644 --- a/src/cli/domain/local.ts +++ b/src/cli/domain/local.ts @@ -1,16 +1,16 @@ +import { promisify } from 'node:util'; import fs from 'fs-extra'; import targz from 'targz'; -import { promisify } from 'node:util'; +import * as validator from '../../registry/domain/validators'; +import strings from '../../resources'; +import isTemplateLegacy from '../../utils/is-template-legacy'; +import type { Logger } from '../logger'; import * as clean from './clean'; import getComponentsByDir from './get-components-by-dir'; import initTemplate from './init-template'; -import isTemplateLegacy from '../../utils/is-template-legacy'; import mock from './mock'; import packageComponents from './package-components'; -import strings from '../../resources'; -import * as validator from '../../registry/domain/validators'; -import type { Logger } from '../logger'; export default function local() { return { @@ -23,7 +23,7 @@ export default function local() { src: input, dest: output, tar: { - map: file => + map: (file) => Object.assign(file, { name: `_package/${file.name}` }) diff --git a/src/cli/domain/mock.ts b/src/cli/domain/mock.ts index e81283863..3fecb984d 100644 --- a/src/cli/domain/mock.ts +++ b/src/cli/domain/mock.ts @@ -1,5 +1,5 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; import settings from '../../resources/settings'; diff --git a/src/cli/domain/package-components.ts b/src/cli/domain/package-components.ts index 85f1ee02d..1808dde02 100644 --- a/src/cli/domain/package-components.ts +++ b/src/cli/domain/package-components.ts @@ -1,10 +1,10 @@ -import fs from 'fs-extra'; -import { promisify } from 'node:util'; import path from 'node:path'; +import { promisify } from 'node:util'; +import fs from 'fs-extra'; -import requireTemplate from './handle-dependencies/require-template'; import * as validator from '../../registry/domain/validators'; import type { Component } from '../../types'; +import requireTemplate from './handle-dependencies/require-template'; export interface PackageOptions { componentPath: string; @@ -19,7 +19,7 @@ interface Sizes { } function checkSizes(folder: string) { - const jsFiles = fs.readdirSync(folder).filter(x => x.endsWith('.js')); + const jsFiles = fs.readdirSync(folder).filter((x) => x.endsWith('.js')); const sizes: Sizes = { client: 0 diff --git a/src/cli/domain/registry.ts b/src/cli/domain/registry.ts index 9193766e1..d7c0c6d7a 100644 --- a/src/cli/domain/registry.ts +++ b/src/cli/domain/registry.ts @@ -1,13 +1,13 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; import got from 'got'; import _ from 'lodash'; -import put from '../../utils/put'; -import settings from '../../resources/settings'; import * as urlBuilder from '../../registry/domain/url-builder'; -import * as urlParser from '../domain/url-parser'; +import settings from '../../resources/settings'; import type { Component } from '../../types'; +import put from '../../utils/put'; +import * as urlParser from '../domain/url-parser'; const getOcVersion = (): string => { const ocPackagePath = path.join(__dirname, '../../../package.json'); diff --git a/src/cli/domain/watch.ts b/src/cli/domain/watch.ts index 9e282b81a..7979460f8 100644 --- a/src/cli/domain/watch.ts +++ b/src/cli/domain/watch.ts @@ -15,7 +15,7 @@ export default function watch( usePolling: true }); const onChange = (fileName: string) => { - const componentDir = dirs.find(dir => + const componentDir = dirs.find((dir) => Boolean(fileName.match(escapeRegularExpression(dir + path.sep))) ); changed(null, fileName, componentDir); diff --git a/src/cli/facade/clean.ts b/src/cli/facade/clean.ts index cd7bec4e4..44b31db04 100644 --- a/src/cli/facade/clean.ts +++ b/src/cli/facade/clean.ts @@ -1,6 +1,6 @@ +import { promisify } from 'node:util'; import readCb from 'read'; import { fromPromise } from 'universalify'; -import { promisify } from 'node:util'; import strings from '../../resources/index'; import type { Local } from '../domain/local'; import type { Logger } from '../logger'; diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index 4e818638e..dbc956408 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -1,24 +1,24 @@ +import path from 'node:path'; +import { promisify } from 'node:util'; import colors from 'colors/safe'; import getPortCb from 'getport'; import livereload from 'livereload'; -import path from 'node:path'; -import { promisify } from 'node:util'; import { fromPromise } from 'universalify'; -import getMockedPlugins from '../domain/get-mocked-plugins'; -import handleDependencies from '../domain/handle-dependencies'; import * as oc from '../../index'; import strings from '../../resources/index'; +import getMockedPlugins from '../domain/get-mocked-plugins'; +import handleDependencies from '../domain/handle-dependencies'; +import type { Local } from '../domain/local'; import watch from '../domain/watch'; import type { Logger } from '../logger'; -import type { Local } from '../domain/local'; type Registry = ReturnType; const cliMessages = strings.messages.cli; const cliErrors = strings.errors.cli; -const delay = (time = 0) => new Promise(res => setTimeout(res, time)); +const delay = (time = 0) => new Promise((res) => setTimeout(res, time)); const getPort = promisify(getPortCb); const dev = ({ local, logger }: { logger: Logger; local: Local }) => @@ -108,9 +108,9 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => const registerPlugins = (registry: Registry) => { const mockedPlugins = getMockedPlugins(logger, componentsDir); - mockedPlugins.forEach(p => registry.register(p)); + mockedPlugins.forEach((p) => registry.register(p)); - registry.on('request', data => { + registry.on('request', (data) => { if (data.errorCode === 'PLUGIN_MISSING_FROM_REGISTRY') { logger.err( cliErrors.PLUGIN_MISSING_FROM_REGISTRY( @@ -135,14 +135,14 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => } logger.ok('OK'); - components.forEach(component => + components.forEach((component) => logger.log(colors.green('├── ') + component) ); const dependencies = await handleDependencies({ components, logger - }).catch(err => { + }).catch((err) => { logger.err(err); return Promise.reject(err); }); @@ -155,7 +155,7 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => port: undefined }; if (hotReloading) { - const otherPort = await getPort(port + 1).catch(err => { + const otherPort = await getPort(port + 1).catch((err) => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/facade/package.ts b/src/cli/facade/package.ts index fcf033de8..2a65b862c 100644 --- a/src/cli/facade/package.ts +++ b/src/cli/facade/package.ts @@ -1,10 +1,10 @@ -import strings from '../../resources/index'; import path from 'node:path'; import { fromPromise } from 'universalify'; +import strings from '../../resources/index'; +import type { Component } from '../../types'; import handleDependencies from '../domain/handle-dependencies'; -import type { Logger } from '../logger'; import type { Local } from '../domain/local'; -import type { Component } from '../../types'; +import type { Logger } from '../logger'; const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => fromPromise( @@ -34,7 +34,7 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => componentPath: path.resolve(componentPath) }; - const component = await local.package(packageOptions).catch(err => { + const component = await local.package(packageOptions).catch((err) => { logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); return Promise.reject(err); }); @@ -44,10 +44,12 @@ const cliPackage = ({ local, logger }: { local: Local; logger: Logger }) => if (opts.compress) { logger.warn(strings.messages.cli.COMPRESSING(compressedPackagePath)); - await local.compress(packageDir, compressedPackagePath).catch(err => { - logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); - return Promise.reject(err); - }); + await local + .compress(packageDir, compressedPackagePath) + .catch((err) => { + logger.err(strings.errors.cli.PACKAGE_CREATION_FAIL(String(err))); + return Promise.reject(err); + }); logger.ok(strings.messages.cli.COMPRESSED(compressedPackagePath)); diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index 23f0778db..54902be46 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -1,15 +1,15 @@ -import colors from 'colors/safe'; import path from 'node:path'; +import { promisify } from 'node:util'; +import colors from 'colors/safe'; import fs from 'fs-extra'; import readCb from 'read'; -import { promisify } from 'node:util'; -import type { Logger } from '../logger'; -import type { Local } from '../domain/local'; -import type { Component } from '../../types'; import { fromPromise } from 'universalify'; +import type { Component } from '../../types'; +import type { Local } from '../domain/local'; +import type { Logger } from '../logger'; -import handleDependencies from '../domain/handle-dependencies'; import strings from '../../resources/index'; +import handleDependencies from '../domain/handle-dependencies'; import type { RegistryCli } from '../domain/registry'; const read = promisify(readCb); @@ -174,12 +174,12 @@ const publish = ({ await handleDependencies({ components: [path.resolve(componentPath)], logger - }).catch(err => { + }).catch((err) => { logger.err(err); return Promise.reject(err); }); - const component = await packageAndCompress().catch(err => { + const component = await packageAndCompress().catch((err) => { errorMessage = strings.errors.cli.PACKAGE_CREATION_FAIL( String(err) ); @@ -189,11 +189,11 @@ const publish = ({ await publishToRegistries(registryLocations, component); } else { if (fs.existsSync(packageDir)) { - const component = await readPackageJson().catch(err => { + const component = await readPackageJson().catch((err) => { logger.err(String(err)); return Promise.reject(err); }); - await compress().catch(err => { + await compress().catch((err) => { logger.err(String(err)); return Promise.reject(err); }); diff --git a/src/cli/index.ts b/src/cli/index.ts index f515caeb7..b26354089 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -1,12 +1,12 @@ +import _ from 'lodash'; +import semver from 'semver'; import cli from 'yargs'; import commands from './commands'; -import semver from 'semver'; -import _ from 'lodash'; +import strings from '../resources'; import Local from './domain/local'; -import logger from './logger'; import Registry from './domain/registry'; -import strings from '../resources'; +import logger from './logger'; import validateCommand from './validate-command'; import clean from './facade/clean'; diff --git a/src/cli/programmatic-api.ts b/src/cli/programmatic-api.ts index d28e2754a..37b0cd38e 100644 --- a/src/cli/programmatic-api.ts +++ b/src/cli/programmatic-api.ts @@ -1,13 +1,13 @@ import local, { type Local } from './domain/local'; -import type { Logger } from './logger'; import Registry, { type RegistryCli } from './domain/registry'; +import type { Logger } from './logger'; import dev from './facade/dev'; import init from './facade/init'; import mock from './facade/mock'; import packageScript from './facade/package'; -import publish from './facade/publish'; import preview from './facade/preview'; +import publish from './facade/publish'; import registryAdd from './facade/registry-add'; import registryLs from './facade/registry-ls'; import registryRemove from './facade/registry-remove'; diff --git a/src/cli/validate-command.ts b/src/cli/validate-command.ts index 3264c9a47..e49635f1a 100644 --- a/src/cli/validate-command.ts +++ b/src/cli/validate-command.ts @@ -1,6 +1,6 @@ import type { Arguments } from 'yargs'; -import commands from './commands'; import strings from '../resources'; +import commands from './commands'; export default function validateCommand(argv: Arguments, level: number): true { let keys = Object.keys(commands.commands); diff --git a/src/registry/app-start.ts b/src/registry/app-start.ts index 9c8f71b78..c73e9aa3d 100644 --- a/src/registry/app-start.ts +++ b/src/registry/app-start.ts @@ -1,8 +1,8 @@ -import colors from 'colors/safe'; import path from 'node:path'; +import colors from 'colors/safe'; import fs from 'fs-extra'; -import type { Repository } from './domain/repository'; import type { Config } from '../types'; +import type { Repository } from './domain/repository'; const packageInfo = fs.readJsonSync( path.join( diff --git a/src/registry/domain/components-cache/components-list.ts b/src/registry/domain/components-cache/components-list.ts index 908ad67d5..f24fcbad1 100644 --- a/src/registry/domain/components-cache/components-list.ts +++ b/src/registry/domain/components-cache/components-list.ts @@ -1,9 +1,9 @@ -import semver from 'semver'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; import type { StorageAdapter } from 'oc-storage-adapters-utils'; -import eventsHandler from '../events-handler'; +import semver from 'semver'; import type { ComponentsList, Config } from '../../../types'; import pLimit from '../../../utils/pLimit'; +import eventsHandler from '../events-handler'; export default function componentsList(conf: Config, cdn: StorageAdapter) { const filePath = (): string => diff --git a/src/registry/domain/components-cache/index.ts b/src/registry/domain/components-cache/index.ts index b70674ef1..5da3658bd 100644 --- a/src/registry/domain/components-cache/index.ts +++ b/src/registry/domain/components-cache/index.ts @@ -1,9 +1,9 @@ import _ from 'lodash'; -import getComponentsList from './components-list'; -import eventsHandler from '../events-handler'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; -import type { ComponentsList, Config } from '../../../types'; import { type StorageAdapter, strings } from 'oc-storage-adapters-utils'; +import type { ComponentsList, Config } from '../../../types'; +import eventsHandler from '../events-handler'; +import getComponentsList from './components-list'; export default function componentsCache(conf: Config, cdn: StorageAdapter) { let cachedComponentsList: ComponentsList; diff --git a/src/registry/domain/components-details.ts b/src/registry/domain/components-details.ts index 3547d4447..37c090934 100644 --- a/src/registry/domain/components-details.ts +++ b/src/registry/domain/components-details.ts @@ -1,14 +1,14 @@ -import pLimit from '../../utils/pLimit'; import _ from 'lodash'; -import eventsHandler from './events-handler'; import getUnixUTCTimestamp from 'oc-get-unix-utc-timestamp'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; import type { Component, ComponentsDetails, ComponentsList, Config } from '../../types'; -import type { StorageAdapter } from 'oc-storage-adapters-utils'; +import pLimit from '../../utils/pLimit'; +import eventsHandler from './events-handler'; export default function componentsDetails(conf: Config, cdn: StorageAdapter) { const returnError = (code: string, message: string | Error) => { diff --git a/src/registry/domain/events-handler.ts b/src/registry/domain/events-handler.ts index 18abc3bd3..61a6879bf 100644 --- a/src/registry/domain/events-handler.ts +++ b/src/registry/domain/events-handler.ts @@ -56,7 +56,7 @@ type EventsHandler = { const eventsHandler: EventsHandler = { fire(eventName: string, eventData: unknown): void { if (subscriptions[eventName]) { - subscriptions[eventName].forEach(callback => { + subscriptions[eventName].forEach((callback) => { callback(eventData); }); } @@ -81,7 +81,7 @@ const eventsHandler: EventsHandler = { if (subscriptions[eventName]) { subscriptions[eventName] = subscriptions[eventName].filter( - sub => sub !== callback + (sub) => sub !== callback ); } }, diff --git a/src/registry/domain/extract-package.ts b/src/registry/domain/extract-package.ts index 104c877c4..a61722f7e 100644 --- a/src/registry/domain/extract-package.ts +++ b/src/registry/domain/extract-package.ts @@ -1,9 +1,9 @@ import path from 'node:path'; -import targz from 'targz'; import { promisify } from 'node:util'; +import targz from 'targz'; -import getPackageJsonFromTempDir from './get-package-json-from-temp-dir'; import type { Component } from '../../types'; +import getPackageJsonFromTempDir from './get-package-json-from-temp-dir'; export default async function extractPackage( files: diff --git a/src/registry/domain/get-package-json-from-temp-dir.ts b/src/registry/domain/get-package-json-from-temp-dir.ts index cc8bb9682..b23750ccb 100644 --- a/src/registry/domain/get-package-json-from-temp-dir.ts +++ b/src/registry/domain/get-package-json-from-temp-dir.ts @@ -1,5 +1,5 @@ -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; import type { Component } from '../../types'; export default function getPackageJsonFromTempDir( diff --git a/src/registry/domain/nested-renderer.ts b/src/registry/domain/nested-renderer.ts index 711ad88a5..9462f8a47 100644 --- a/src/registry/domain/nested-renderer.ts +++ b/src/registry/domain/nested-renderer.ts @@ -1,5 +1,5 @@ -import settings from '../../resources/settings'; import strings from '../../resources'; +import settings from '../../resources/settings'; import type { Config } from '../../types'; import type { GetComponentResult, diff --git a/src/registry/domain/options-sanitiser.ts b/src/registry/domain/options-sanitiser.ts index 3bdbfa5f6..76bc20f36 100644 --- a/src/registry/domain/options-sanitiser.ts +++ b/src/registry/domain/options-sanitiser.ts @@ -91,7 +91,7 @@ export default function optionsSanitiser(input: RegistryOptions): Config { options.customHeadersToSkipOnWeakVersion = ( options.customHeadersToSkipOnWeakVersion || [] - ).map(s => s.toLowerCase()); + ).map((s) => s.toLowerCase()); options.port = options.port || process.env['PORT'] || 3000; options.timeout = options.timeout || 1000 * 60 * 2; diff --git a/src/registry/domain/plugins-initialiser.ts b/src/registry/domain/plugins-initialiser.ts index 449735d64..1b94e2152 100644 --- a/src/registry/domain/plugins-initialiser.ts +++ b/src/registry/domain/plugins-initialiser.ts @@ -1,6 +1,6 @@ -import _ from 'lodash'; -import { DepGraph } from 'dependency-graph'; import { promisify } from 'node:util'; +import { DepGraph } from 'dependency-graph'; +import _ from 'lodash'; import pLimit from '../../utils/pLimit'; import strings from '../../resources'; @@ -27,14 +27,14 @@ function validatePlugins(plugins: unknown[]): asserts plugins is Plugin[] { function checkDependencies(plugins: Plugin[]) { const graph = new DepGraph(); - plugins.forEach(p => graph.addNode(p.name)); + plugins.forEach((p) => graph.addNode(p.name)); - plugins.forEach(p => { + plugins.forEach((p) => { if (!p.register.dependencies) { return; } - p.register.dependencies.forEach(d => { + p.register.dependencies.forEach((d) => { try { graph.addDependency(p.name, d); } catch (err) { @@ -64,7 +64,7 @@ export async function init( } let present = true; - dependencies.forEach(d => { + dependencies.forEach((d) => { if (!registered[d]) { present = false; } @@ -92,7 +92,7 @@ export async function init( const register = promisify(plugin.register.register); const pluginCallback = plugin.callback || _.noop; - await register(plugin.options || {}, dependencies).catch(err => { + await register(plugin.options || {}, dependencies).catch((err) => { pluginCallback(err); throw err; }); @@ -109,7 +109,7 @@ export async function init( deferredLoads = []; await Promise.all( - deferredPlugins.map(plugin => onSeries(() => loadPlugin(plugin))) + deferredPlugins.map((plugin) => onSeries(() => loadPlugin(plugin))) ); return terminator(); } @@ -120,7 +120,7 @@ export async function init( const onSeries = pLimit(1); await Promise.all( - pluginsToRegister.map(plugin => onSeries(() => loadPlugin(plugin))) + pluginsToRegister.map((plugin) => onSeries(() => loadPlugin(plugin))) ); return terminator(); diff --git a/src/registry/domain/register-templates.ts b/src/registry/domain/register-templates.ts index a7ea8f670..2bd660235 100644 --- a/src/registry/domain/register-templates.ts +++ b/src/registry/domain/register-templates.ts @@ -1,8 +1,8 @@ +import _ from 'lodash'; import es6Template from 'oc-template-es6'; import handlebarsTemplate from 'oc-template-handlebars'; import jadeTemplate from 'oc-template-jade'; import type { Template, TemplateInfo } from '../../types'; -import _ from 'lodash'; export default function registerTemplates( extraTemplates: Template[], diff --git a/src/registry/domain/repository.ts b/src/registry/domain/repository.ts index a6b2afdc0..c288334e3 100644 --- a/src/registry/domain/repository.ts +++ b/src/registry/domain/repository.ts @@ -1,24 +1,24 @@ -import fs from 'fs-extra'; -import getUnixUtcTimestamp from 'oc-get-unix-utc-timestamp'; import path from 'node:path'; import dotenv from 'dotenv'; +import fs from 'fs-extra'; +import getUnixUtcTimestamp from 'oc-get-unix-utc-timestamp'; -import ComponentsCache from './components-cache'; -import getComponentsDetails from './components-details'; -import registerTemplates from './register-templates'; -import settings from '../../resources/settings'; +import type { StorageAdapter } from 'oc-storage-adapters-utils'; import strings from '../../resources'; -import * as validator from './validators'; -import getPromiseBasedAdapter from './storage-adapter'; -import * as versionHandler from './version-handler'; -import errorToString from '../../utils/error-to-string'; +import settings from '../../resources/settings'; import type { Component, ComponentsDetails, Config, TemplateInfo } from '../../types'; -import type { StorageAdapter } from 'oc-storage-adapters-utils'; +import errorToString from '../../utils/error-to-string'; +import ComponentsCache from './components-cache'; +import getComponentsDetails from './components-details'; +import registerTemplates from './register-templates'; +import getPromiseBasedAdapter from './storage-adapter'; +import * as validator from './validators'; +import * as versionHandler from './version-handler'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', 'package.json') @@ -65,12 +65,12 @@ export default function repository(conf: Config) { getComponents(): string[] { const validComponents = conf.components || - fs.readdirSync(conf.path).filter(file => { + fs.readdirSync(conf.path).filter((file) => { const isDir = fs.lstatSync(path.join(conf.path, file)).isDirectory(); const isValidComponent = isDir ? fs .readdirSync(path.join(conf.path, file)) - .filter(file => file === '_package').length === 1 + .filter((file) => file === '_package').length === 1 : false; return isValidComponent; @@ -83,7 +83,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(__dirname, '../../../package.json')) - .then(x => x.version) + .then((x) => x.version) ]); } @@ -99,7 +99,7 @@ export default function repository(conf: Config) { return Promise.all([ fs .readJson(path.join(conf.path, `${componentName}/package.json`)) - .then(x => x.version) + .then((x) => x.version) ]); }, getDataProvider(componentName: string) { @@ -166,7 +166,7 @@ export default function repository(conf: Config) { const component = await repository .getComponentInfo(componentName, version) - .catch(err => { + .catch((err) => { throw `component not available: ${errorToString(err)}`; }); @@ -354,9 +354,8 @@ export default function repository(conf: Config) { }; } - const componentVersions = await repository.getComponentVersions( - componentName - ); + const componentVersions = + await repository.getComponentVersions(componentName); if ( !versionHandler.validateNewVersion(componentVersion, componentVersions) diff --git a/src/registry/domain/require-wrapper.ts b/src/registry/domain/require-wrapper.ts index c7016e76d..42e2ae338 100644 --- a/src/registry/domain/require-wrapper.ts +++ b/src/registry/domain/require-wrapper.ts @@ -1,5 +1,5 @@ -import coreModules from 'builtin-modules'; import path from 'node:path'; +import coreModules from 'builtin-modules'; import requirePackageName from 'require-package-name'; import tryRequire from 'try-require'; diff --git a/src/registry/domain/storage-adapter.ts b/src/registry/domain/storage-adapter.ts index 39ed3947d..f33e6fe69 100644 --- a/src/registry/domain/storage-adapter.ts +++ b/src/registry/domain/storage-adapter.ts @@ -1,5 +1,5 @@ -import { fromCallback } from 'universalify'; import type { StorageAdapter } from 'oc-storage-adapters-utils'; +import { fromCallback } from 'universalify'; type RemovePromiseOverload = T extends { (...args: infer B): void; diff --git a/src/registry/domain/validators/component-parameters.ts b/src/registry/domain/validators/component-parameters.ts index 131e6c517..9f648cfc8 100644 --- a/src/registry/domain/validators/component-parameters.ts +++ b/src/registry/domain/validators/component-parameters.ts @@ -87,7 +87,7 @@ export default function componentParameters( if (Object.keys(result.errors.mandatory || {}).length > 0) { const missingParams = Object.keys(result.errors.mandatory || {}) - .map(mandatoryParameterName => mandatoryParameterName + ', ') + .map((mandatoryParameterName) => mandatoryParameterName + ', ') .join('') .slice(0, -2); @@ -101,7 +101,7 @@ export default function componentParameters( } const badParams = Object.keys(result.errors.types || {}) - .map(parameterName => parameterName + ', ') + .map((parameterName) => parameterName + ', ') .join('') .slice(0, -2); diff --git a/src/registry/domain/validators/index.ts b/src/registry/domain/validators/index.ts index 9a5b883ab..3cdef5b4c 100644 --- a/src/registry/domain/validators/index.ts +++ b/src/registry/domain/validators/index.ts @@ -1,13 +1,13 @@ import semver from 'semver'; -import ocCliVersionValidator from './oc-cli-version'; import componentParametersValidator from './component-parameters'; +import ocCliVersionValidator from './oc-cli-version'; import packageJsonValidator from './package-json-validator'; import pluginsRequirementsValidator from './plugins-requirements'; import registryConfigurationValidator from './registry-configuration'; -import uploadedPackageValidator from './uploaded-package'; import nodeVersionValidator from './node-version'; +import uploadedPackageValidator from './uploaded-package'; export function validateComponentName(componentName: string): boolean { return !/[^a-zA-Z0-9\-_]/.test(componentName) && componentName !== '_package'; diff --git a/src/registry/domain/validators/node-version.ts b/src/registry/domain/validators/node-version.ts index b92312713..7a5ac3237 100644 --- a/src/registry/domain/validators/node-version.ts +++ b/src/registry/domain/validators/node-version.ts @@ -1,6 +1,6 @@ -import semver from 'semver'; -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; +import semver from 'semver'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', '..', 'package.json') diff --git a/src/registry/domain/validators/oc-cli-version.ts b/src/registry/domain/validators/oc-cli-version.ts index 74790eac5..4b660e181 100644 --- a/src/registry/domain/validators/oc-cli-version.ts +++ b/src/registry/domain/validators/oc-cli-version.ts @@ -1,6 +1,6 @@ -import semver from 'semver'; -import fs from 'fs-extra'; import path from 'node:path'; +import fs from 'fs-extra'; +import semver from 'semver'; const packageInfo = fs.readJsonSync( path.join(__dirname, '..', '..', '..', '..', 'package.json') diff --git a/src/registry/domain/validators/registry-configuration.ts b/src/registry/domain/validators/registry-configuration.ts index 8f9b60e4b..0dcebba96 100644 --- a/src/registry/domain/validators/registry-configuration.ts +++ b/src/registry/domain/validators/registry-configuration.ts @@ -1,6 +1,6 @@ -import * as auth from '../authentication'; import strings from '../../../resources'; import type { Config } from '../../../types'; +import * as auth from '../authentication'; type ValidationResult = { isValid: true } | { isValid: false; message: string }; @@ -127,7 +127,7 @@ export default function registryConfiguration( } const hasNonStringElements = conf.customHeadersToSkipOnWeakVersion.find( - element => typeof element !== 'string' + (element) => typeof element !== 'string' ); if (hasNonStringElements) { diff --git a/src/registry/domain/validators/uploaded-package.ts b/src/registry/domain/validators/uploaded-package.ts index dee5f6802..6ebca5ebc 100644 --- a/src/registry/domain/validators/uploaded-package.ts +++ b/src/registry/domain/validators/uploaded-package.ts @@ -20,9 +20,9 @@ export default function uploadedPackage( } ): ValidationResponse { const returnError = (message?: string): ValidationResponse => ({ - isValid: false, - message: message || 'uploaded package is not valid' - }); + isValid: false, + message: message || 'uploaded package is not valid' + }); if (!input || typeof input !== 'object' || Object.keys(input).length === 0) { return returnError('empty'); diff --git a/src/registry/index.ts b/src/registry/index.ts index 56661857c..e384e01f5 100644 --- a/src/registry/index.ts +++ b/src/registry/index.ts @@ -1,17 +1,17 @@ +import http from 'node:http'; import colors from 'colors/safe'; import express from 'express'; -import http from 'node:http'; import _ from 'lodash'; +import type { Plugin } from '../types'; import appStart from './app-start'; import eventsHandler from './domain/events-handler'; -import * as middleware from './middleware'; +import sanitiseOptions, { RegistryOptions } from './domain/options-sanitiser'; import * as pluginsInitialiser from './domain/plugins-initialiser'; import Repository from './domain/repository'; -import { create as createRouter } from './router'; -import sanitiseOptions, { RegistryOptions } from './domain/options-sanitiser'; import * as validator from './domain/validators'; -import type { Plugin } from '../types'; +import * as middleware from './middleware'; +import { create as createRouter } from './router'; export { RegistryOptions }; @@ -93,7 +93,7 @@ export default function registry(inputOptions: RegistryOptions) { callback(null, { app, server }); }); - server.on('error', error => { + server.on('error', (error) => { eventsHandler.fire('error', { code: 'EXPRESS_ERROR', message: error?.message ?? String(error) diff --git a/src/registry/middleware/index.ts b/src/registry/middleware/index.ts index eb33141b2..916e11754 100644 --- a/src/registry/middleware/index.ts +++ b/src/registry/middleware/index.ts @@ -1,13 +1,13 @@ -import express, { type Express } from 'express'; import errorhandler from 'errorhandler'; +import express, { type Express } from 'express'; import morgan from 'morgan'; +import type { Config } from '../../types'; import baseUrlHandler from './base-url-handler'; import cors from './cors'; import discoveryHandler from './discovery-handler'; import fileUploads from './file-uploads'; import requestHandler from './request-handler'; -import type { Config } from '../../types'; const bodyParserJsonArgument: { inflate: boolean; limit?: number } = { inflate: true diff --git a/src/registry/router.ts b/src/registry/router.ts index b371089d5..2b98bcc1d 100644 --- a/src/registry/router.ts +++ b/src/registry/router.ts @@ -1,16 +1,16 @@ +import type { Express } from 'express'; +import type { Repository } from '../registry/domain/repository'; +import settings from '../resources/settings'; +import type { Config } from '../types'; +import IndexRoute from './routes'; import ComponentRoute from './routes/component'; -import ComponentsRoute from './routes/components'; import ComponentInfoRoute from './routes/component-info'; import ComponentPreviewRoute from './routes/component-preview'; -import IndexRoute from './routes'; +import ComponentsRoute from './routes/components'; +import DependenciesRoute from './routes/dependencies'; +import PluginsRoute from './routes/plugins'; import PublishRoute from './routes/publish'; import StaticRedirectorRoute from './routes/static-redirector'; -import PluginsRoute from './routes/plugins'; -import DependenciesRoute from './routes/dependencies'; -import settings from '../resources/settings'; -import type { Express } from 'express'; -import type { Repository } from '../registry/domain/repository'; -import type { Config } from '../types'; export function create(app: Express, conf: Config, repository: Repository) { const routes = { diff --git a/src/registry/routes/component-info.ts b/src/registry/routes/component-info.ts index 2fdd05fc9..ce85a4ee0 100644 --- a/src/registry/routes/component-info.ts +++ b/src/registry/routes/component-info.ts @@ -1,13 +1,13 @@ import parseAuthor from 'parse-author'; import { fromPromise } from 'universalify'; -import * as getComponentFallback from './helpers/get-component-fallback'; +import type { Request, Response } from 'express'; +import type { Component, ComponentDetail, Config } from '../../types'; +import type { Repository } from '../domain/repository'; +import * as urlBuilder from '../domain/url-builder'; import infoView from '../views/info'; +import * as getComponentFallback from './helpers/get-component-fallback'; import isUrlDiscoverable from './helpers/is-url-discoverable'; -import * as urlBuilder from '../domain/url-builder'; -import type { Repository } from '../domain/repository'; -import type { Component, ComponentDetail, Config } from '../../types'; -import type { Request, Response } from 'express'; function getParams(component: Component) { let params: Record = {}; diff --git a/src/registry/routes/component-preview.ts b/src/registry/routes/component-preview.ts index 5c7370776..70442b98f 100644 --- a/src/registry/routes/component-preview.ts +++ b/src/registry/routes/component-preview.ts @@ -1,10 +1,10 @@ -import * as getComponentFallback from './helpers/get-component-fallback'; -import previewView from '../views/preview'; -import * as urlBuilder from '../domain/url-builder'; import type { Request, Response } from 'express'; -import type { Repository } from '../domain/repository'; -import type { Component, Config, TemplateInfo } from '../../types'; import { fromPromise } from 'universalify'; +import type { Component, Config, TemplateInfo } from '../../types'; +import type { Repository } from '../domain/repository'; +import * as urlBuilder from '../domain/url-builder'; +import previewView from '../views/preview'; +import * as getComponentFallback from './helpers/get-component-fallback'; function componentPreview( err: any, diff --git a/src/registry/routes/component.ts b/src/registry/routes/component.ts index 46378ebea..a7f82b719 100644 --- a/src/registry/routes/component.ts +++ b/src/registry/routes/component.ts @@ -1,11 +1,11 @@ -import { serializeError } from 'serialize-error'; import _ from 'lodash'; +import { serializeError } from 'serialize-error'; -import GetComponentHelper from './helpers/get-component'; +import type { Request, RequestHandler, Response } from 'express'; import strings from '../../resources'; -import type { Repository } from '../domain/repository'; import type { Config } from '../../types'; -import type { Request, RequestHandler, Response } from 'express'; +import type { Repository } from '../domain/repository'; +import GetComponentHelper from './helpers/get-component'; export default function component( conf: Config, diff --git a/src/registry/routes/components.ts b/src/registry/routes/components.ts index 0b5e26306..ee6fb9659 100644 --- a/src/registry/routes/components.ts +++ b/src/registry/routes/components.ts @@ -1,13 +1,13 @@ import async from 'async'; import _ from 'lodash'; +import type { Request, RequestHandler, Response } from 'express'; +import strings from '../../resources'; +import type { Config } from '../../types'; +import type { Repository } from '../domain/repository'; import GetComponentHelper, { type GetComponentResult } from './helpers/get-component'; -import strings from '../../resources'; -import type { Repository } from '../domain/repository'; -import type { Config } from '../../types'; -import type { Request, RequestHandler, Response } from 'express'; type Component = { action?: string; @@ -79,7 +79,7 @@ export default function components( parameters: { ...req.body.parameters, ...component.parameters }, version: component.version }, - result => callback(null, result) + (result) => callback(null, result) ); }, // @ts-ignore @@ -97,7 +97,7 @@ export default function components( code: 'RENDER_ERROR', error: strings.errors.registry.RENDER_ERROR( results - .map(x => `${x.response.name}@${x.response.version}`) + .map((x) => `${x.response.name}@${x.response.version}`) .join(', '), String(e) ) diff --git a/src/registry/routes/helpers/get-component-fallback.ts b/src/registry/routes/helpers/get-component-fallback.ts index f3c6a2365..4272a53da 100644 --- a/src/registry/routes/helpers/get-component-fallback.ts +++ b/src/registry/routes/helpers/get-component-fallback.ts @@ -1,7 +1,7 @@ -import type { Request, Response } from 'express'; import type { IncomingHttpHeaders } from 'node:http'; -import request from 'minimal-request'; import url from 'node:url'; +import type { Request, Response } from 'express'; +import request from 'minimal-request'; import type { Component, Config } from '../../../types'; import * as urlBuilder from '../../domain/url-builder'; import type { GetComponentResult } from './get-component'; diff --git a/src/registry/routes/helpers/get-component.ts b/src/registry/routes/helpers/get-component.ts index 14507dfea..e37d02fa5 100644 --- a/src/registry/routes/helpers/get-component.ts +++ b/src/registry/routes/helpers/get-component.ts @@ -1,27 +1,27 @@ +import Domain from 'node:domain'; +import vm from 'node:vm'; import acceptLanguageParser from 'accept-language-parser'; +import _ from 'lodash'; import Cache from 'nice-cache'; import Client from 'oc-client'; -import Domain from 'node:domain'; import emptyResponseHandler from 'oc-empty-response-handler'; -import vm from 'node:vm'; -import _ from 'lodash'; -import applyDefaultValues from './apply-default-values'; -import eventsHandler from '../../domain/events-handler'; -import GetComponentRetrievingInfo from './get-component-retrieving-info'; -import * as getComponentFallback from './get-component-fallback'; +import type { IncomingHttpHeaders } from 'node:http'; +import { fromPromise } from 'universalify'; +import strings from '../../../resources'; +import settings from '../../../resources/settings'; +import type { Component, Config, Template } from '../../../types'; import isTemplateLegacy from '../../../utils/is-template-legacy'; +import eventsHandler from '../../domain/events-handler'; import NestedRenderer from '../../domain/nested-renderer'; +import type { Repository } from '../../domain/repository'; import RequireWrapper from '../../domain/require-wrapper'; import * as sanitiser from '../../domain/sanitiser'; -import settings from '../../../resources/settings'; -import strings from '../../../resources'; import * as urlBuilder from '../../domain/url-builder'; import * as validator from '../../domain/validators'; -import type { Repository } from '../../domain/repository'; -import type { Component, Config, Template } from '../../../types'; -import type { IncomingHttpHeaders } from 'node:http'; -import { fromPromise } from 'universalify'; +import applyDefaultValues from './apply-default-values'; +import * as getComponentFallback from './get-component-fallback'; +import GetComponentRetrievingInfo from './get-component-retrieving-info'; export interface RendererOptions { action?: string; @@ -57,7 +57,7 @@ export interface GetComponentResult { } const noopConsole = Object.fromEntries( - Object.keys(console).map(key => [key, _.noop]) + Object.keys(console).map((key) => [key, _.noop]) ); export default function getComponent(conf: Config, repository: Repository) { @@ -260,7 +260,7 @@ export default function getComponent(conf: Config, repository: Repository) { !!options.headers['user-agent'].match('oc-client-'); const parseTemplatesHeader = (t: string) => - t.split(';').map(t => t.split(',')[0]); + t.split(';').map((t) => t.split(',')[0]); const supportedTemplates = options.headers['templates'] ? parseTemplatesHeader(options.headers['templates'] as string) : []; diff --git a/src/registry/routes/index.ts b/src/registry/routes/index.ts index 9ada82e67..33e028e2b 100644 --- a/src/registry/routes/index.ts +++ b/src/registry/routes/index.ts @@ -1,20 +1,20 @@ -import async from 'async'; -import parseAuthor from 'parse-author'; -import _ from 'lodash'; import path from 'node:path'; +import async from 'async'; import fs from 'fs-extra'; +import _ from 'lodash'; +import parseAuthor from 'parse-author'; import dateStringified from '../../utils/date-stringify'; -import getComponentsHistory from './helpers/get-components-history'; -import getAvailableDependencies from './helpers/get-available-dependencies'; import indexView from '../views'; +import getAvailableDependencies from './helpers/get-available-dependencies'; +import getComponentsHistory from './helpers/get-components-history'; import urlBuilder = require('../domain/url-builder'); -import type { Repository } from '../domain/repository'; -import type { Author, Component, ParsedComponent } from '../../types'; -import type { NextFunction, Request, Response } from 'express'; import type { IncomingHttpHeaders } from 'node:http'; +import type { NextFunction, Request, Response } from 'express'; import type { PackageJson } from 'type-fest'; import { fromPromise } from 'universalify'; +import type { Author, Component, ParsedComponent } from '../../types'; +import type { Repository } from '../domain/repository'; const packageInfo: PackageJson = fs.readJsonSync( path.join(__dirname, '..', '..', '..', 'package.json') @@ -71,7 +71,7 @@ export default function (repository: Repository) { callback(); } ), - err => { + (err) => { if (err) return next(err); componentsInfo = _.sortBy(componentsInfo, 'name'); @@ -88,7 +88,7 @@ export default function (repository: Repository) { availablePlugins: res.conf.plugins, components: componentsInfo, componentsReleases, - componentsList: componentsInfo.map(component => { + componentsList: componentsInfo.map((component) => { const state: 'deprecated' | 'experimental' | '' = _.get( component, 'oc.state', @@ -119,7 +119,7 @@ export default function (repository: Repository) { } else { res.status(200).json( Object.assign(baseResponse, { - components: _.map(components, component => + components: _.map(components, (component) => urlBuilder.component(component, res.conf.baseUrl) ) }) diff --git a/src/registry/routes/publish.ts b/src/registry/routes/publish.ts index cba254f8f..30b166f01 100644 --- a/src/registry/routes/publish.ts +++ b/src/registry/routes/publish.ts @@ -1,8 +1,8 @@ import type { Request, Response } from 'express'; -import extractPackage from '../domain/extract-package'; import strings from '../../resources/index'; -import * as validator from '../domain/validators'; +import extractPackage from '../domain/extract-package'; import type { Repository } from '../domain/repository'; +import * as validator from '../domain/validators'; export default function publish(repository: Repository) { return async (req: Request, res: Response): Promise => { diff --git a/src/registry/routes/static-redirector.ts b/src/registry/routes/static-redirector.ts index 565318c1a..145190b44 100644 --- a/src/registry/routes/static-redirector.ts +++ b/src/registry/routes/static-redirector.ts @@ -1,6 +1,6 @@ -import fs from 'fs-extra'; import path from 'node:path'; import type { Request, Response } from 'express'; +import fs from 'fs-extra'; import * as storageUtils from 'oc-storage-adapters-utils'; import type { Repository } from '../domain/repository'; diff --git a/src/registry/views/index.ts b/src/registry/views/index.ts index ca51a69a4..2f3105b74 100644 --- a/src/registry/views/index.ts +++ b/src/registry/views/index.ts @@ -1,13 +1,13 @@ import dependencies from './partials/components-dependencies'; import history from './partials/components-history'; import list from './partials/components-list'; -import templates from './partials/components-templates'; import plugins from './partials/components-plugins'; +import templates from './partials/components-templates'; import indexJS from './static/index'; +import type { VM } from '../../types'; import getLayout from './partials/layout'; import getProperty from './partials/property'; -import type { VM } from '../../types'; export default function indexView(vm: VM): string { const tabs = { diff --git a/src/registry/views/info.ts b/src/registry/views/info.ts index 7416e32c5..914a1f85c 100644 --- a/src/registry/views/info.ts +++ b/src/registry/views/info.ts @@ -1,13 +1,13 @@ import type { Component, ComponentDetail } from '../../types'; +import isTemplateLegacy from '../../utils/is-template-legacy'; import getComponentAuthor from './partials/component-author'; import getComponentParameters from './partials/component-parameters'; import getComponentState from './partials/component-state'; import getComponentVersions from './partials/component-versions'; -import infoJS from './static/info'; import getLayout from './partials/layout'; import getProperty from './partials/property'; -import isTemplateLegacy from '../../utils/is-template-legacy'; +import infoJS from './static/info'; interface Vm { parsedAuthor: { name?: string; email?: string; url?: string }; diff --git a/src/registry/views/partials/component-parameters.ts b/src/registry/views/partials/component-parameters.ts index bc98242eb..08191a757 100644 --- a/src/registry/views/partials/component-parameters.ts +++ b/src/registry/views/partials/component-parameters.ts @@ -34,7 +34,7 @@ const componentParameters = }; const rows = Object.keys(component.oc.parameters) - .map(parameterName => + .map((parameterName) => parameterRow(component.oc.parameters[parameterName], parameterName) ) .join(''); diff --git a/src/types.ts b/src/types.ts index 1aa315e4a..827d15783 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ import type { NextFunction, Request, Response } from 'express'; -import type { PackageJson } from 'type-fest'; import type { StorageAdapter } from 'oc-storage-adapters-utils'; +import type { PackageJson } from 'type-fest'; export interface Author { email?: string; diff --git a/src/utils/npm-utils.ts b/src/utils/npm-utils.ts index 9c7d79200..658026f2f 100644 --- a/src/utils/npm-utils.ts +++ b/src/utils/npm-utils.ts @@ -36,7 +36,7 @@ const executeCommand = (options: { return new Promise((res, rej) => { cmd.on('error', () => rej(new Error('error'))); - cmd.on('close', code => { + cmd.on('close', (code) => { if (code !== 0) { rej(code); } else { @@ -79,7 +79,7 @@ export const installDependencies = async (options: { silent }; - const dest = dependencies.map(dependency => + const dest = dependencies.map((dependency) => getFullPath({ installPath, dependency }) ); diff --git a/src/utils/pLimit.ts b/src/utils/pLimit.ts index c984a27dd..e50e45671 100644 --- a/src/utils/pLimit.ts +++ b/src/utils/pLimit.ts @@ -77,7 +77,8 @@ export type LimitFunction = { const pLimit = (concurrency: number): LimitFunction => { if ( !( - (Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && + (Number.isInteger(concurrency) || + concurrency === Number.POSITIVE_INFINITY) && concurrency > 0 ) ) { diff --git a/src/utils/put.ts b/src/utils/put.ts index 55d252369..deff78bea 100644 --- a/src/utils/put.ts +++ b/src/utils/put.ts @@ -1,6 +1,6 @@ +import path from 'node:path'; import FormData from 'form-data'; import fs from 'fs-extra'; -import path from 'node:path'; import got from 'got'; async function put( @@ -14,7 +14,7 @@ async function put( files = [files]; } - files.forEach(file => { + files.forEach((file) => { const fileName = path.basename(file); form.append(fileName, fs.createReadStream(file)); }); From f8c6b08355bb75d6093e8ecfc0d39d45c45a960c Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 19:48:19 +0200 Subject: [PATCH 05/12] fix tests --- src/components/oc-client/package.json | 46 ++++++++++--------- test/unit/cli-domain-clean.js | 2 +- test/unit/cli-domain-get-components-by-dir.js | 2 +- test/unit/cli-domain-get-mocked-plugins.js | 2 +- ...domain-handle-dependencies-get-compiler.js | 2 +- ...e-dependencies-get-missing-dependencies.js | 2 +- ...pendencies-install-missing-dependencies.js | 2 +- ...-dependencies-link-missing-dependencies.js | 2 +- ...in-handle-dependencies-require-template.js | 2 +- test/unit/cli-domain-handle-dependencies.js | 2 +- test/unit/cli-domain-init-template.js | 2 +- test/unit/cli-domain-registry.js | 2 +- test/unit/cli-domain-watch.js | 2 +- test/unit/registry-domain-extract-package.js | 2 +- test/unit/registry.js | 8 ++-- test/unit/utils-npm-utils.js | 2 +- 16 files changed, 42 insertions(+), 40 deletions(-) diff --git a/src/components/oc-client/package.json b/src/components/oc-client/package.json index fffbac5c6..3fe6d92dd 100644 --- a/src/components/oc-client/package.json +++ b/src/components/oc-client/package.json @@ -1,24 +1,26 @@ { - "name": "oc-client", - "description": "The OpenComponents client-side javascript client", - "version": "0.49.51", - "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client", - "author": "Matteo Figus ", - "oc": { - "container": false, - "renderInfo": false, - "minify": false, - "parameters": {}, - "files": { - "data": "server.js", - "template": { - "src": "template.js", - "type": "oc-template-es6" - }, - "static": ["src"] - } - }, - "devDependencies": { - "oc-template-es6-compiler": "^1.0.1" - } + "name": "oc-client", + "description": "The OpenComponents client-side javascript client", + "version": "0.49.51", + "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client", + "author": "Matteo Figus ", + "oc": { + "container": false, + "renderInfo": false, + "minify": false, + "parameters": {}, + "files": { + "data": "server.js", + "template": { + "src": "template.js", + "type": "oc-template-es6" + }, + "static": [ + "src" + ] + } + }, + "devDependencies": { + "oc-template-es6-compiler": "^1.0.1" + } } diff --git a/test/unit/cli-domain-clean.js b/test/unit/cli-domain-clean.js index 01f221934..64f7918c4 100644 --- a/test/unit/cli-domain-clean.js +++ b/test/unit/cli-domain-clean.js @@ -16,7 +16,7 @@ describe('cli : domain : clean', () => { existsSync: dir => dir.indexOf('my-component1') >= 0, remove: options.removeMock }, - path: { join: (...params) => params.join('/') } + 'node:path': { join: (...params) => params.join('/') } }); }; diff --git a/test/unit/cli-domain-get-components-by-dir.js b/test/unit/cli-domain-get-components-by-dir.js index 8aac9934f..4b5241d32 100644 --- a/test/unit/cli-domain-get-components-by-dir.js +++ b/test/unit/cli-domain-get-components-by-dir.js @@ -23,7 +23,7 @@ const initialise = function () { '../../dist/cli/domain/get-components-by-dir.js', { 'fs-extra': fsMock, - path: pathMock + 'node:path': pathMock }, { __dirname: '' } ); diff --git a/test/unit/cli-domain-get-mocked-plugins.js b/test/unit/cli-domain-get-mocked-plugins.js index 359afd97e..040fccfbd 100644 --- a/test/unit/cli-domain-get-mocked-plugins.js +++ b/test/unit/cli-domain-get-mocked-plugins.js @@ -36,7 +36,7 @@ describe('cli : domain : get-mocked-plugins', () => { getMockedPlugins = injectr('../../dist/cli/domain/get-mocked-plugins.js', { 'fs-extra': fsMock, - path: { + 'node:path': { join: pathJoinStub || fakePathFunc, resolve: fakePathFunc }, diff --git a/test/unit/cli-domain-handle-dependencies-get-compiler.js b/test/unit/cli-domain-handle-dependencies-get-compiler.js index 223632f5b..9e1e57510 100644 --- a/test/unit/cli-domain-handle-dependencies-get-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-get-compiler.js @@ -26,7 +26,7 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { const getCompiler = injectr( '../../dist/cli/domain/handle-dependencies/get-compiler.js', { - path: { join: (...args) => args.join('/') }, + 'node:path': { join: (...args) => args.join('/') }, '../../../utils/clean-require': cleanRequireStub, './install-compiler': installCompilerStub } diff --git a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js index 63314efeb..8306f8a78 100644 --- a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js @@ -37,7 +37,7 @@ describe('cli : domain : handle-dependencies - get-missing-dependencies', () => moduleExistsSpy(name); return installed[name]; }, - path: { + 'node:path': { resolve: (...args) => { pathResolveSpy(...args); return args[args.length - 1]; diff --git a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js index 19a323203..b4592b01e 100644 --- a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js @@ -21,7 +21,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () '../../../utils/npm-utils': { installDependencies: stubs.installDependencies }, - path: { resolve: () => '/path/to/oc-running' } + 'node:path': { resolve: () => '/path/to/oc-running' } } ).default; diff --git a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js index 67e55eac1..1854b0012 100644 --- a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js @@ -19,7 +19,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () { './get-missing-dependencies': stubs.getMissingDependencies, 'fs-extra': { ensureSymlink: stubs.ensureSymlink }, - path: { resolve: () => '/path/to/oc-running' } + 'node:path': { resolve: () => '/path/to/oc-running' } } ).default; diff --git a/test/unit/cli-domain-handle-dependencies-require-template.js b/test/unit/cli-domain-handle-dependencies-require-template.js index 2473961eb..0ee2dcbbd 100644 --- a/test/unit/cli-domain-handle-dependencies-require-template.js +++ b/test/unit/cli-domain-handle-dependencies-require-template.js @@ -16,7 +16,7 @@ describe('cli : domain : handle-dependencies : require-template', () => { '../../../utils/clean-require': options.requireMock, '../../../utils/is-template-valid': options.isTemplateValidMock || sinon.stub().returns(true), - path: { + 'node:path': { join: (...args) => args.join('/').replace(/\/\//gi, '/'), resolve: (...args) => ['path/to/oc-cli'].concat(args.slice(1)).join('/') diff --git a/test/unit/cli-domain-handle-dependencies.js b/test/unit/cli-domain-handle-dependencies.js index e059c51bc..271db9e8b 100644 --- a/test/unit/cli-domain-handle-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies.js @@ -53,7 +53,7 @@ describe('cli : domain : handle-dependencies', () => { readJson: path => Promise.resolve(components[path.replace('/package.json', '')]) }, - path: { join: (...args) => args.join('/') }, + 'node:path': { join: (...args) => args.join('/') }, './ensure-compiler-is-declared-as-devDependency': options => { spies.ensureCompilerIsDeclaredAsDevDependency(options); return `${options.template}-compiler`; diff --git a/test/unit/cli-domain-init-template.js b/test/unit/cli-domain-init-template.js index c5a3c8f7c..002c6003c 100644 --- a/test/unit/cli-domain-init-template.js +++ b/test/unit/cli-domain-init-template.js @@ -13,7 +13,7 @@ describe('cli : domain : init-template', () => { 'fs-extra': { ensureDir: stubs.fsExtraStub }, - path: { join: (...args) => args.join('/') }, + 'node:path': { join: (...args) => args.join('/') }, './install-template': stubs.installTemplateStub, '../../../utils/npm-utils': { init: stubs.npmStub diff --git a/test/unit/cli-domain-registry.js b/test/unit/cli-domain-registry.js index 7095833b3..a9773f09e 100644 --- a/test/unit/cli-domain-registry.js +++ b/test/unit/cli-domain-registry.js @@ -14,7 +14,7 @@ const getRegistry = function (dependencies, opts) { 'fs-extra': dependencies.fs, '../../utils/put': dependencies.put, '../domain/url-parser': dependencies.urlParser, - path: { + 'node:path': { join: sinon.stub().returns('/hello/world') } }, diff --git a/test/unit/cli-domain-watch.js b/test/unit/cli-domain-watch.js index 9be9722b6..2bd14a433 100644 --- a/test/unit/cli-domain-watch.js +++ b/test/unit/cli-domain-watch.js @@ -7,7 +7,7 @@ const sinon = require('sinon'); describe('cli : domain : watch', () => { const execute = (fileChanged, separator, cb) => { const watch = injectr('../../dist/cli/domain/watch.js', { - path: { + 'node:path': { resolve: x => x, sep: separator }, diff --git a/test/unit/registry-domain-extract-package.js b/test/unit/registry-domain-extract-package.js index 67acc1856..4594472ab 100644 --- a/test/unit/registry-domain-extract-package.js +++ b/test/unit/registry-domain-extract-package.js @@ -12,7 +12,7 @@ describe('registry : domain : extract-package', () => { '../../dist/registry/domain/extract-package.js', { targz: { decompress: decompressStub }, - path: { resolve: pathResolveStub }, + 'node:path': { resolve: pathResolveStub }, './get-package-json-from-temp-dir': sinon .stub() .resolves({ package: 'hello' }) diff --git a/test/unit/registry.js b/test/unit/registry.js index 9ba974b15..b48f0c1ac 100644 --- a/test/unit/registry.js +++ b/test/unit/registry.js @@ -11,7 +11,7 @@ describe('registry', () => { './app-start': sinon.stub(), './domain/events-handler': { fire: sinon.stub() }, express: sinon.stub(), - http: { + 'node:http': { createServer: sinon.stub() }, './middleware': { bind: sinon.stub().returns({}) }, @@ -135,7 +135,7 @@ describe('registry', () => { repositoryInitStub.resolves('ok'); deps['./app-start'].resolves('ok'); - deps['http'].createServer.returns({ + deps['node:http'].createServer.returns({ listen: sinon.stub().yields('Port is already used'), on: sinon.stub() }); @@ -160,7 +160,7 @@ describe('registry', () => { deps['./app-start'].resolves('ok'); deps['./domain/events-handler'].fire = sinon.stub(); - deps['http'].createServer.returns({ + deps['node:http'].createServer.returns({ listen: sinon.stub().yields(null, 'ok'), on: sinon.stub() }); @@ -197,7 +197,7 @@ describe('registry', () => { deps['./app-start'].resolves('ok'); deps['./domain/events-handler'].fire = sinon.stub(); - deps['http'].createServer.returns({ + deps['node:http'].createServer.returns({ listen: sinon.stub(), on: sinon.stub().yields('I failed for some reason') }); diff --git a/test/unit/utils-npm-utils.js b/test/unit/utils-npm-utils.js index 95628f29c..843ce3f30 100644 --- a/test/unit/utils-npm-utils.js +++ b/test/unit/utils-npm-utils.js @@ -9,7 +9,7 @@ describe('utils : npm-utils', () => { const npmUtils = injectr('../../dist/utils/npm-utils.js', { 'cross-spawn': crossSpawnStub, - path: { join: (...items) => items.join('/') } + 'node:path': { join: (...items) => items.join('/') } }); const installPath = 'path/to/component'; From cad99c7468ae91eb4e3f12508c21401f7c58155b Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 20:03:15 +0200 Subject: [PATCH 06/12] lint --- biome.json | 3 +- test/.eslintrc.json | 16 +-- test/acceptance/registry-ui.js | 14 +-- test/acceptance/registry.js | 110 +++++++++--------- .../registry/registry-with-fallback.js | 16 ++- test/integration/targz.js | 15 ++- test/unit/cli-domain-clean.js | 24 ++-- test/unit/cli-domain-get-components-by-dir.js | 13 +-- test/unit/cli-domain-get-mocked-plugins.js | 11 +- ...e-compiler-is-declared-as-devDependency.js | 2 - ...domain-handle-dependencies-get-compiler.js | 12 +- ...e-dependencies-get-missing-dependencies.js | 6 +- ...in-handle-dependencies-install-compiler.js | 12 +- ...pendencies-install-missing-dependencies.js | 12 +- ...-dependencies-link-missing-dependencies.js | 10 +- ...in-handle-dependencies-require-template.js | 4 +- test/unit/cli-domain-handle-dependencies.js | 16 ++- ...i-domain-init-template-install-template.js | 8 +- test/unit/cli-domain-init-template.js | 6 +- test/unit/cli-domain-mock.js | 15 +-- test/unit/cli-domain-package-components.js | 38 +++--- test/unit/cli-domain-registry.js | 28 +++-- test/unit/cli-domain-url-parser.js | 4 +- test/unit/cli-domain-watch.js | 10 +- test/unit/cli-facade-clean.js | 12 +- test/unit/cli-facade-dev.js | 8 +- test/unit/cli-facade-init.js | 16 ++- test/unit/cli-facade-mock.js | 6 +- test/unit/cli-facade-package.js | 16 ++- test/unit/cli-facade-preview.js | 8 +- test/unit/cli-facade-publish.js | 40 +++---- test/unit/cli-facade-registry-add.js | 8 +- test/unit/cli-facade-registry-ls.js | 8 +- test/unit/cli-facade-registry-remove.js | 8 +- test/unit/cli-programmatic-api.js | 4 +- test/unit/cli-validate-command.js | 4 +- test/unit/registry-app-start.js | 8 +- test/unit/registry-domain-components-cache.js | 18 ++- .../registry-domain-components-details.js | 44 ++++--- test/unit/registry-domain-events-handler.js | 12 +- test/unit/registry-domain-extract-package.js | 10 +- test/unit/registry-domain-nested-renderer.js | 46 ++++---- .../unit/registry-domain-options-sanitiser.js | 4 +- .../registry-domain-plugins-initialiser.js | 86 ++++++-------- .../registry-domain-register-templates.js | 4 +- test/unit/registry-domain-repository.js | 46 ++++---- test/unit/registry-domain-require-wrapper.js | 2 - test/unit/registry-domain-sanitiser.js | 6 +- test/unit/registry-domain-storage-adapter.js | 2 - test/unit/registry-domain-url-builder.js | 6 +- test/unit/registry-domain-validator.js | 51 +++----- test/unit/registry-domain-version-handler.js | 10 +- test/unit/registry-routes-component.js | 46 ++++---- test/unit/registry-routes-components.js | 40 +++---- test/unit/registry-routes-dependencies.js | 8 +- ...try-routes-helpers-apply-default-values.js | 6 +- ...utes-helpers-get-available-dependencies.js | 4 +- .../registry-routes-helpers-get-component.js | 28 +++-- ...y-routes-helpers-get-components-history.js | 2 - ...stry-routes-helpers-is-url-discoverable.js | 10 +- test/unit/registry-routes-plugins.js | 4 +- test/unit/registry.js | 26 ++--- test/unit/resources-settings.js | 4 +- test/unit/utils-date-stringify.js | 2 - test/unit/utils-npm-utils.js | 26 ++--- test/unit/utils-strip-version.js | 2 - 66 files changed, 467 insertions(+), 639 deletions(-) diff --git a/biome.json b/biome.json index e313e79df..af5f8270d 100644 --- a/biome.json +++ b/biome.json @@ -12,7 +12,8 @@ }, "files": { "ignore": [ - "src/components/oc-client/*" + "src/components/oc-client/*", + "test/fixtures/*" ] }, "linter": { diff --git a/test/.eslintrc.json b/test/.eslintrc.json index c0f16c62f..62e70a8df 100644 --- a/test/.eslintrc.json +++ b/test/.eslintrc.json @@ -1,10 +1,10 @@ { - "env": { - "mocha": true - }, - "extends": "../.eslintrc.json", - "rules": { - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-empty-function": "off" - } + "env": { + "mocha": true + }, + "extends": "../.eslintrc.json", + "rules": { + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/no-empty-function": "off" + } } diff --git a/test/acceptance/registry-ui.js b/test/acceptance/registry-ui.js index ede7c6f49..50329e7da 100644 --- a/test/acceptance/registry-ui.js +++ b/test/acceptance/registry-ui.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const oc = require('../../dist/index'); const path = require('path'); @@ -13,11 +11,11 @@ describe('registry (ui interface)', () => { const next = (promise, done) => { promise - .then(r => { + .then((r) => { headers = r.headers; result = r.body; }) - .catch(e => (error = e)) + .catch((e) => (error = e)) .finally(done); }; @@ -37,12 +35,12 @@ describe('registry (ui interface)', () => { registry.start(cb); }; - before(done => initializeRegistry(conf, done)); + before((done) => initializeRegistry(conf, done)); - after(done => registry.close(done)); + after((done) => registry.close(done)); describe('GET / with Accept: text/html', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { headers: { accept: 'text/html' } @@ -62,7 +60,7 @@ describe('registry (ui interface)', () => { }); describe('GET /oc-client/~info with Accept: text/html', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/oc-client/~info', { headers: { accept: 'text/html' } diff --git a/test/acceptance/registry.js b/test/acceptance/registry.js index 4ab1fa455..442cc3144 100644 --- a/test/acceptance/registry.js +++ b/test/acceptance/registry.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const emptyResponseHandler = require('oc-empty-response-handler'); const path = require('path'); @@ -15,7 +13,7 @@ describe('registry', () => { const next = (promise, done) => { promise - .then(r => { + .then((r) => { headers = r.headers; status = r.statusCode; result = JSON.parse(r.body); @@ -23,33 +21,31 @@ describe('registry', () => { .finally(done); }; - const getDefaultTestConfiguration = function () { - return { - local: true, - path: path.resolve('test/fixtures/components'), - port: 3030, - baseUrl: 'http://localhost:3030/', - env: { name: 'local' }, - verbosity: 0, - dependencies: ['lodash'] - }; - }; + const getDefaultTestConfiguration = () => ({ + local: true, + path: path.resolve('test/fixtures/components'), + port: 3030, + baseUrl: 'http://localhost:3030/', + env: { name: 'local' }, + verbosity: 0, + dependencies: ['lodash'] + }); - const initializeRegistry = function (configuration, cb) { + const initializeRegistry = (configuration, cb) => { registry = oc.Registry(configuration); registry.start(cb); }; - before(done => { + before((done) => { initializeRegistry(getDefaultTestConfiguration(), done); }); - after(done => { + after((done) => { registry.close(done); }); describe('when initialised with invalid configuration', () => { - it('should throw an error', done => { + it('should throw an error', (done) => { expect(() => { oc.Registry({}); }).to.throw('Registry configuration is empty'); @@ -60,7 +56,7 @@ describe('registry', () => { describe('GET /hello-world-custom-headers', () => { describe('with the default configuration (no customHeadersToSkipOnWeakVersion defined) and strong version 1.0.0', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/hello-world-custom-headers/1.0.0'), done @@ -80,7 +76,7 @@ describe('registry', () => { }); describe('with the default configuration (no customHeadersToSkipOnWeakVersion defined) and weak version 1.x.x', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/hello-world-custom-headers/1.x.x'), done @@ -100,7 +96,7 @@ describe('registry', () => { }); describe('with a custom configuration with customHeadersToSkipOnWeakVersion defined', () => { - before(done => { + before((done) => { registry.close(); initializeRegistry( { @@ -111,14 +107,14 @@ describe('registry', () => { ); }); - after(done => { + after((done) => { registry.close(() => { initializeRegistry(getDefaultTestConfiguration(), done); }); }); describe('when strong version is requested 1.0.0', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/hello-world-custom-headers/1.0.0'), done @@ -138,7 +134,7 @@ describe('registry', () => { }); describe('when weak version is requested 1.x.x', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/hello-world-custom-headers/1.x.x'), done @@ -158,7 +154,7 @@ describe('registry', () => { describe('POST /hello-world-custom-headers', () => { describe('with the default configuration (no customHeadersToSkipOnWeakVersion defined) and strong version 1.0.0', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { method: 'post', @@ -191,7 +187,7 @@ describe('registry', () => { }); describe('request with two components', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { method: 'post', @@ -218,7 +214,7 @@ describe('registry', () => { }); describe('with the default configuration (no customHeadersToSkipOnWeakVersion defined) and weak version 1.x.x', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { method: 'post', @@ -251,7 +247,7 @@ describe('registry', () => { }); describe('with a custom configuration with customHeadersToSkipOnWeakVersion defined', () => { - before(done => { + before((done) => { registry.close(); initializeRegistry( { @@ -262,14 +258,14 @@ describe('registry', () => { ); }); - after(done => { + after((done) => { registry.close(() => { initializeRegistry(getDefaultTestConfiguration(), done); }); }); describe('when strong version is requested 1.0.0', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { method: 'post', @@ -304,7 +300,7 @@ describe('registry', () => { }); describe('when weak version is requested 1.x.x', () => { - before(done => { + before((done) => { next( got('http://localhost:3030', { method: 'post', @@ -339,7 +335,7 @@ describe('registry', () => { }); describe('GET /', () => { - before(done => { + before((done) => { next(got('http://localhost:3030'), done); }); @@ -368,7 +364,7 @@ describe('registry', () => { }); describe('POST / (with circular-json)', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -392,7 +388,7 @@ describe('registry', () => { }); describe('GET /circular-json-error', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/circular-json-error', { headers: { accept: 'application/vnd.oc.unrendered+json' }, @@ -414,7 +410,7 @@ describe('registry', () => { }); describe('GET /handlebars3-component', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/handlebars3-component', { throwHttpErrors: false @@ -435,7 +431,7 @@ describe('registry', () => { }); describe('GET /jade-filters', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/jade-filters'), done); }); @@ -446,7 +442,7 @@ describe('registry', () => { describe('GET /hello-world', () => { describe('when Accept header not specified', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/hello-world'), done); }); @@ -479,7 +475,7 @@ describe('registry', () => { }); describe('when Accept header set to application/vnd.oc.unrendered+json', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/hello-world', { headers: { Accept: 'application/vnd.oc.unrendered+json' } @@ -515,7 +511,7 @@ describe('registry', () => { }); describe('GET /container-with-nested', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/container-with-nested'), done); }); @@ -535,7 +531,7 @@ describe('registry', () => { }); describe('GET /container-with-multiple-nested', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/container-with-multiple-nested'), done); }); @@ -558,7 +554,7 @@ describe('registry', () => { describe('GET /no-containers', () => { describe('when Accept header not specified', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/no-containers'), done); }); @@ -579,7 +575,7 @@ describe('registry', () => { describe('GET /language', () => { describe('when Accept-Language: en-US', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/language', { headers: { 'accept-language': 'en-US' } @@ -598,7 +594,7 @@ describe('registry', () => { }); describe('when Accept-Language: ja-JP', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/language', { headers: { 'accept-language': 'ja-JP' } @@ -617,7 +613,7 @@ describe('registry', () => { }); describe('when Accept-Language: ja-JP but __ocAcceptLanguage overrides with en-US (client-side failover)', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/language/?__ocAcceptLanguage=en-US', { headers: { 'accept-language': 'ja-JP' } @@ -637,7 +633,7 @@ describe('registry', () => { }); describe('GET /lodash-component', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/lodash-component'), done); }); @@ -652,7 +648,7 @@ describe('registry', () => { describe('GET /empty', () => { describe('rendered', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/empty'), done); }); @@ -666,7 +662,7 @@ describe('registry', () => { }); describe('unrendered', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/empty', { headers: { Accept: 'application/vnd.oc.unrendered+json' } @@ -689,7 +685,7 @@ describe('registry', () => { describe('POST /', () => { describe('when body is malformed', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -713,7 +709,7 @@ describe('registry', () => { describe('when body contains multiple components', () => { describe('when Accept header not specified', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -742,7 +738,7 @@ describe('registry', () => { describe('when omitHref=true', () => { describe('when getting rendered components', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -765,7 +761,7 @@ describe('registry', () => { }); describe('when getting unrendered components', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -790,7 +786,7 @@ describe('registry', () => { }); describe('when Accept header set to application/vnd.oc.unrendered+json', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -813,7 +809,7 @@ describe('registry', () => { describe('when components require params', () => { describe('when each component requires different params', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -845,7 +841,7 @@ describe('registry', () => { }); describe('when components require same parameters', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -869,7 +865,7 @@ describe('registry', () => { }); describe('when components have some common parameters and some different', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -896,7 +892,7 @@ describe('registry', () => { }); describe('when components have global parameters with local overrides', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', @@ -923,7 +919,7 @@ describe('registry', () => { }); describe('when components accept optional parameters', () => { - before(done => { + before((done) => { next( got('http://localhost:3030/', { method: 'post', diff --git a/test/acceptance/registry/registry-with-fallback.js b/test/acceptance/registry/registry-with-fallback.js index 03352e20d..2d411460d 100644 --- a/test/acceptance/registry/registry-with-fallback.js +++ b/test/acceptance/registry/registry-with-fallback.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const path = require('path'); const got = require('got'); @@ -30,13 +28,13 @@ describe('registry', () => { const next = (promise, done) => { promise - .then(r => { + .then((r) => { result = JSON.parse(r.body); }) .finally(done); }; - before(done => { + before((done) => { registry = oc.Registry( retrieveRegistryConfiguration( 3030, @@ -55,14 +53,14 @@ describe('registry', () => { }); }); - after(done => { + after((done) => { registry.close(() => { fallbackRegistry.close(done); }); }); describe('GET /welcome', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/welcome'), done); }); @@ -76,7 +74,7 @@ describe('registry', () => { }); describe('GET /fallback-hello-world', () => { - before(done => { + before((done) => { next(got('http://localhost:3030/fallback-hello-world'), done); }); @@ -92,7 +90,7 @@ describe('registry', () => { }); describe('GET /fallback-hello-world/~info', () => { - before(done => { + before((done) => { next( got( 'http://localhost:3030/fallback-welcome-with-optional-parameters/~info' @@ -111,7 +109,7 @@ describe('registry', () => { }); describe('GET /fallback-hello-world/~preview', () => { - before(done => { + before((done) => { next( got( 'http://localhost:3030/fallback-welcome-with-optional-parameters/~preview' diff --git a/test/integration/targz.js b/test/integration/targz.js index 0ff079afe..2ae7f7931 100644 --- a/test/integration/targz.js +++ b/test/integration/targz.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const fs = require('fs-extra'); const path = require('path'); @@ -9,7 +7,7 @@ describe('The targz dependency', () => { describe('when compressing a folder with targz', () => { const file = path.resolve(__dirname, '../fixtures/test.tar.gz'); - beforeEach(done => { + beforeEach((done) => { const from = path.resolve( __dirname, '../fixtures/components/hello-world' @@ -19,9 +17,10 @@ describe('The targz dependency', () => { src: from, dest: file, tar: { - map: function (fileName) { - return { ...fileName, name: 'hello-world/' + fileName.name }; - } + map: (fileName) => ({ + ...fileName, + name: 'hello-world/' + fileName.name + }) } }, done @@ -36,13 +35,13 @@ describe('The targz dependency', () => { let error; const to = path.resolve(__dirname, '../fixtures/targz-test'); - beforeEach(done => { + beforeEach((done) => { targz.decompress( { src: file, dest: to }, - err => { + (err) => { error = err; done(); } diff --git a/test/unit/cli-domain-clean.js b/test/unit/cli-domain-clean.js index 64f7918c4..89af57c70 100644 --- a/test/unit/cli-domain-clean.js +++ b/test/unit/cli-domain-clean.js @@ -1,11 +1,9 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); describe('cli : domain : clean', () => { - const initialize = options => { + const initialize = (options) => { options = options || {}; return injectr('../../dist/cli/domain/clean.js', { './get-components-by-dir': () => () => @@ -13,7 +11,7 @@ describe('cli : domain : clean', () => { ? Promise.reject(options.getComponentsByDirError) : Promise.resolve(['path/to/my-component1', 'path/to/my-component2']), 'fs-extra': { - existsSync: dir => dir.indexOf('my-component1') >= 0, + existsSync: (dir) => dir.indexOf('my-component1') >= 0, remove: options.removeMock }, 'node:path': { join: (...params) => params.join('/') } @@ -24,12 +22,12 @@ describe('cli : domain : clean', () => { describe('happy path', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { const clean = initialize(); clean .fetchList('my-components-folder') - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); @@ -41,14 +39,14 @@ describe('cli : domain : clean', () => { describe('getComponentsByDir error', () => { let error; - beforeEach(done => { + beforeEach((done) => { const clean = initialize({ getComponentsByDirError: new Error('oops') }); clean .fetchList('my-components-folder') - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -61,13 +59,13 @@ describe('cli : domain : clean', () => { describe('happy path', () => { let error; let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().resolves('ok'); const clean = initialize({ removeMock }); clean .remove(['path/to/my-component1/node_modules']) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -84,13 +82,13 @@ describe('cli : domain : clean', () => { describe('fs.remove error', () => { let error; let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().rejects(new Error('nope')); const clean = initialize({ removeMock }); clean .remove(['path/to/my-component1/node_modules']) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); diff --git a/test/unit/cli-domain-get-components-by-dir.js b/test/unit/cli-domain-get-components-by-dir.js index 4b5241d32..81dd4b3eb 100644 --- a/test/unit/cli-domain-get-components-by-dir.js +++ b/test/unit/cli-domain-get-components-by-dir.js @@ -1,11 +1,9 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const path = require('path'); const sinon = require('sinon'); -const initialise = function () { +const initialise = () => { const fsMock = { readdir: sinon.stub(), readJsonSync: sinon.stub() @@ -14,9 +12,7 @@ const initialise = function () { const pathMock = { extname: path.extname, join: path.join, - resolve: function () { - return Array.from(arguments).join('/'); - } + resolve: (...args) => args.join('/') }; const GetComponentsByDir = injectr( @@ -33,9 +29,8 @@ const initialise = function () { return { local: local, fs: fsMock }; }; -const executeComponentsListingByDir = function (local, componentsToRun) { - return local('.', componentsToRun); -}; +const executeComponentsListingByDir = (local, componentsToRun) => + local('.', componentsToRun); describe('cli : domain : get-components-by-dir', () => { describe('when getting components from dir', () => { diff --git a/test/unit/cli-domain-get-mocked-plugins.js b/test/unit/cli-domain-get-mocked-plugins.js index 040fccfbd..7941f1d76 100644 --- a/test/unit/cli-domain-get-mocked-plugins.js +++ b/test/unit/cli-domain-get-mocked-plugins.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -18,7 +16,7 @@ describe('cli : domain : get-mocked-plugins', () => { let fsMock; let getMockedPlugins; - const initialise = function (fs, pathJoinStub) { + const initialise = (fs, pathJoinStub) => { fsMock = { existsSync: sinon.stub().returns(true), readFileSync: sinon.stub().returns('file content'), @@ -28,11 +26,8 @@ describe('cli : domain : get-mocked-plugins', () => { ...fs }; - const fakePathFunc = function () { - return Array.from(arguments) - .map(x => x.replace(/\.\//g, '')) - .join(''); - }; + const fakePathFunc = (...args) => + args.map(x => x.replace(/\.\//g, '')).join(''); getMockedPlugins = injectr('../../dist/cli/domain/get-mocked-plugins.js', { 'fs-extra': fsMock, diff --git a/test/unit/cli-domain-handle-dependencies-ensure-compiler-is-declared-as-devDependency.js b/test/unit/cli-domain-handle-dependencies-ensure-compiler-is-declared-as-devDependency.js index 51da5769a..298524a16 100644 --- a/test/unit/cli-domain-handle-dependencies-ensure-compiler-is-declared-as-devDependency.js +++ b/test/unit/cli-domain-handle-dependencies-ensure-compiler-is-declared-as-devDependency.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('cli : domain : handle-dependencies : ensure-compiler-is-declared-as-devDependency', () => { diff --git a/test/unit/cli-domain-handle-dependencies-get-compiler.js b/test/unit/cli-domain-handle-dependencies-get-compiler.js index 9e1e57510..ed52e1d8a 100644 --- a/test/unit/cli-domain-handle-dependencies-get-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-get-compiler.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -33,12 +31,12 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { ).default; getCompiler(options) - .catch(err => (error = err.name)) + .catch((err) => (error = err.name)) .finally(done); }; describe("when compiler is already installed inside the component's folder", () => { - beforeEach(done => { + beforeEach((done) => { installCompilerStub = sinon.stub().resolves({ ok: true }); cleanRequireStub = sinon.stub().returns({ thisIsACompiler: true }); execute(done); @@ -61,7 +59,7 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { describe("when compiler is not installed inside the component's folder", () => { describe('when compiler version is specified', () => { - beforeEach(done => { + beforeEach((done) => { installCompilerStub = sinon.stub().resolves({ ok: true }); cleanRequireStub = sinon.stub().returns(undefined); @@ -84,7 +82,7 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { }); describe('when compiler version is not specified', () => { - beforeEach(done => { + beforeEach((done) => { installCompilerStub = sinon.stub().resolves({ ok: true }); cleanRequireStub = sinon.stub().returns(undefined); execute({ compilerVersionEmpty: true }, done); @@ -106,7 +104,7 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { }); describe('when install fails', () => { - beforeEach(done => { + beforeEach((done) => { installCompilerStub = sinon.stub().rejects('Install failed!'); cleanRequireStub = sinon.stub().returns(undefined); execute(done); diff --git a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js index 8306f8a78..3b4b38e2d 100644 --- a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -23,7 +21,7 @@ describe('cli : domain : handle-dependencies - get-missing-dependencies', () => } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { const { dependencies, installed, output } = scenario; describe(`When dependencies: ${JSON.stringify( dependencies @@ -33,7 +31,7 @@ describe('cli : domain : handle-dependencies - get-missing-dependencies', () => const getMissingDependencies = injectr( '../../dist/cli/domain/handle-dependencies/get-missing-dependencies.js', { - '../../../utils/module-exists': name => { + '../../../utils/module-exists': (name) => { moduleExistsSpy(name); return installed[name]; }, diff --git a/test/unit/cli-domain-handle-dependencies-install-compiler.js b/test/unit/cli-domain-handle-dependencies-install-compiler.js index 9d21c974a..52b07ec1c 100644 --- a/test/unit/cli-domain-handle-dependencies-install-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-install-compiler.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -42,13 +40,13 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { ).default; installCompiler(installOptions) - .then(compiler => (result = compiler)) - .catch(err => (error = err)) + .then((compiler) => (result = compiler)) + .catch((err) => (error = err)) .finally(done); }; describe('when succeeds', () => { - beforeEach(done => initialise({}, done)); + beforeEach((done) => initialise({}, done)); it('should run npm install with correct parameters', () => { expect(installDependencyMock.args[0][0]).to.deep.equal({ @@ -80,7 +78,7 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { }); describe('when install fails', () => { - beforeEach(done => initialise({ shouldInstallFail: true }, done)); + beforeEach((done) => initialise({ shouldInstallFail: true }, done)); it('should return an error', () => { expect(error).to.be.equal( @@ -100,7 +98,7 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { }); describe('when install succeeds but validation fails', () => { - beforeEach(done => initialise({ shouldValidationFail: true }, done)); + beforeEach((done) => initialise({ shouldValidationFail: true }, done)); it('should return an error', () => { expect(error).to.be.equal( diff --git a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js index b4592b01e..87a9a4367 100644 --- a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -28,14 +26,14 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () const installOptions = { dependencies, logger }; installMissingDependencies(installOptions) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }; describe('when there is no missing dependency', () => { let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub().returns([]), installDependencies: sinon.stub().resolves() @@ -58,7 +56,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub(), installDependencies: sinon.stub().resolves() @@ -102,7 +100,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub(), installDependencies: sinon.stub().rejects('got an error') @@ -138,7 +136,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub(), installDependencies: sinon.stub().resolves() diff --git a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js index 1854b0012..30e6d1b40 100644 --- a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -29,14 +27,14 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () logger }; linkMissingDependencies(installOptions) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }; describe('when there is no missing dependency', () => { let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub().returns([]), ensureSymlink: sinon.stub().onCall().resolves() @@ -59,7 +57,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub(), ensureSymlink: sinon.stub().onCall().resolves(null) @@ -96,7 +94,7 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () let dependencies; let stubs; - beforeEach(done => { + beforeEach((done) => { stubs = { getMissingDependencies: sinon.stub(), ensureSymlink: sinon.stub().rejects(new Error('symlink error')) diff --git a/test/unit/cli-domain-handle-dependencies-require-template.js b/test/unit/cli-domain-handle-dependencies-require-template.js index 0ee2dcbbd..d2c5f515f 100644 --- a/test/unit/cli-domain-handle-dependencies-require-template.js +++ b/test/unit/cli-domain-handle-dependencies-require-template.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -7,7 +5,7 @@ const sinon = require('sinon'); describe('cli : domain : handle-dependencies : require-template', () => { let result; let error; - const execute = options => { + const execute = (options) => { error = null; result = null; const requireTemplate = injectr( diff --git a/test/unit/cli-domain-handle-dependencies.js b/test/unit/cli-domain-handle-dependencies.js index 271db9e8b..32c121d65 100644 --- a/test/unit/cli-domain-handle-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const coreModules = require('builtin-modules'); const expect = require('chai').expect; const injectr = require('injectr'); @@ -39,7 +37,7 @@ describe('cli : domain : handle-dependencies', () => { let spies; let error; let result; - beforeEach(done => { + beforeEach((done) => { spies = { ensureCompilerIsDeclaredAsDevDependency: sinon.spy(), getCompiler: sinon.spy(), @@ -50,19 +48,19 @@ describe('cli : domain : handle-dependencies', () => { '../../dist/cli/domain/handle-dependencies/index.js', { 'fs-extra': { - readJson: path => + readJson: (path) => Promise.resolve(components[path.replace('/package.json', '')]) }, 'node:path': { join: (...args) => args.join('/') }, - './ensure-compiler-is-declared-as-devDependency': options => { + './ensure-compiler-is-declared-as-devDependency': (options) => { spies.ensureCompilerIsDeclaredAsDevDependency(options); return `${options.template}-compiler`; }, - './get-compiler': options => { + './get-compiler': (options) => { spies.getCompiler(options); return Promise.resolve({ thisIsACompiler: true }); }, - './install-missing-dependencies': options => { + './install-missing-dependencies': (options) => { spies.installMissingDependencies(options); return Promise.resolve(); } @@ -76,8 +74,8 @@ describe('cli : domain : handle-dependencies', () => { }; handleDependencies({ components: Object.keys(components), logger }) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); diff --git a/test/unit/cli-domain-init-template-install-template.js b/test/unit/cli-domain-init-template-install-template.js index 5a2db71e8..be3b913a0 100644 --- a/test/unit/cli-domain-init-template-install-template.js +++ b/test/unit/cli-domain-init-template-install-template.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); const injectr = require('injectr'); @@ -29,14 +27,14 @@ describe('cli : domain : init-template : install-template', () => { let error; let result; - before(done => { + before((done) => { const dest = 'path/to/component/node_modules/oc-template-jade-compiler'; npmUtils.installDependency.reset(); npmUtils.installDependency.resolves({ dest }); isTemplateValid.returns(true); installTemplate(config) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); diff --git a/test/unit/cli-domain-init-template.js b/test/unit/cli-domain-init-template.js index 002c6003c..02d7ffa2b 100644 --- a/test/unit/cli-domain-init-template.js +++ b/test/unit/cli-domain-init-template.js @@ -1,12 +1,10 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); const injectr = require('injectr'); describe('cli : domain : init-template', () => { let error; - const initialise = stubs => cb => { + const initialise = (stubs) => (cb) => { const initTemplate = injectr( '../../dist/cli/domain/init-template/index.js', { @@ -31,7 +29,7 @@ describe('cli : domain : init-template', () => { }; initTemplate(options) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(cb); }; diff --git a/test/unit/cli-domain-mock.js b/test/unit/cli-domain-mock.js index 10db870c3..1da684f52 100644 --- a/test/unit/cli-domain-mock.js +++ b/test/unit/cli-domain-mock.js @@ -1,11 +1,9 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const path = require('path'); const sinon = require('sinon'); -const initialise = function () { +const initialise = () => { const fsMock = { existsSync: sinon.stub(), readJson: sinon.stub(), @@ -32,20 +30,19 @@ const initialise = function () { return { local: local, fs: fsMock }; }; -const executeMocking = function (local, type, name, value, cb) { - return local({ +const executeMocking = (local, type, name, value, cb) => + local({ targetType: type, targetName: name, targetValue: value }) .catch(() => {}) .finally(cb); -}; describe('cli : domain : mock', () => { describe('when mocking a static plugin', () => { let data; - beforeEach(done => { + beforeEach((done) => { data = initialise(); data.fs.readJson.resolves({ something: 'hello' }); @@ -71,7 +68,7 @@ describe('cli : domain : mock', () => { describe('when mocking a static plugin using a bool value', () => { let data; - beforeEach(done => { + beforeEach((done) => { data = initialise(); data.fs.readJson.resolves({ something: 'hello' }); @@ -97,7 +94,7 @@ describe('cli : domain : mock', () => { describe('when mocking a dynamic plugin', () => { let data; - beforeEach(done => { + beforeEach((done) => { data = initialise(); data.fs.readJson.resolves({ something: 'hello' }); diff --git a/test/unit/cli-domain-package-components.js b/test/unit/cli-domain-package-components.js index 9564d6c1d..de662bc99 100644 --- a/test/unit/cli-domain-package-components.js +++ b/test/unit/cli-domain-package-components.js @@ -1,11 +1,9 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); describe('cli : domain : package-components', () => { - const initialise = function (componentName) { + const initialise = (componentName) => { const component = { name: componentName || 'helloworld', oc: { @@ -37,19 +35,17 @@ describe('cli : domain : package-components', () => { join: () => '' }; - const requireTemplateMock = function () { - return { - compile: function (options, callback) { - if (options.componentPath === '.') { - callback(null, { oc: { files: { template: {} } } }); - // callback(null, 'ok'); - } - if (options.componentPath === '') { - callback(new Error('Ouch')); - } + const requireTemplateMock = () => ({ + compile: (options, callback) => { + if (options.componentPath === '.') { + callback(null, { oc: { files: { template: {} } } }); + // callback(null, 'ok'); } - }; - }; + if (options.componentPath === '') { + callback(new Error('Ouch')); + } + } + }); const PackageComponents = injectr( '../../dist/cli/domain/package-components.js', @@ -67,13 +63,13 @@ describe('cli : domain : package-components', () => { describe('when packaging', () => { describe('when component is valid', () => { const PackageComponents = initialise(); - it('should add sizes and correctly invoke the callback when template succeed packaging', done => { + it('should add sizes and correctly invoke the callback when template succeed packaging', (done) => { let info; PackageComponents()({ componentPath: '.', minify: true }) - .then(res => { + .then((res) => { info = res; }) .finally(() => { @@ -87,13 +83,13 @@ describe('cli : domain : package-components', () => { describe('when component parameters are not valid', () => { const PackageComponents = initialise(); - it('should add version to package.json file', done => { + it('should add version to package.json file', (done) => { let error; PackageComponents()({ componentPath: '', minify: true }) - .catch(err => { + .catch((err) => { error = err; }) .finally(() => { @@ -105,13 +101,13 @@ describe('cli : domain : package-components', () => { describe('when component name is not valid', () => { const PackageComponents = initialise('h@lloworld'); - it('should add version to package.json file', done => { + it('should add version to package.json file', (done) => { let error; PackageComponents()({ componentPath: '.', minify: true }) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(() => { expect(error.message).to.equal('name not valid'); done(); diff --git a/test/unit/cli-domain-registry.js b/test/unit/cli-domain-registry.js index a9773f09e..a171bc2b0 100644 --- a/test/unit/cli-domain-registry.js +++ b/test/unit/cli-domain-registry.js @@ -1,10 +1,8 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); -const getRegistry = function (dependencies, opts) { +const getRegistry = (dependencies, opts) => { dependencies.fs = dependencies.fs || {}; dependencies.fs.readJsonSync = sinon.stub().returns({ version: '1.2.3' }); const Registry = injectr( @@ -48,7 +46,7 @@ describe('cli : domain : registry', () => { describe('when adding registry', () => { describe('when registry does not end with "/"', () => { - it('should append the slash when doing the request', done => { + it('should append the slash when doing the request', (done) => { const gotStub = sinon.stub().rejects(new Error('err')); const registry = getRegistry({ got: gotStub }); @@ -58,7 +56,7 @@ describe('cli : domain : registry', () => { }); }); - it('should save the file with slashed url', done => { + it('should save the file with slashed url', (done) => { const gotStub = sinon.stub().returns({ json: sinon.stub().resolves({ type: 'oc-registry' }) }); @@ -153,7 +151,7 @@ describe('cli : domain : registry', () => { describe('when getting preview url', () => { let err; let res; - const execute = function (href, error, parsed, done) { + const execute = (href, error, parsed, done) => { const registry = getRegistry({ request: sinon.stub().yields(error, parsed), got: sinon.stub().returns({ @@ -167,13 +165,13 @@ describe('cli : domain : registry', () => { }); registry .getComponentPreviewUrlByUrl(href) - .then(r => (res = r)) - .catch(e => (err = e)) + .then((r) => (res = r)) + .catch((e) => (err = e)) .finally(done); }; describe('when href not valid', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/not-existing-component', new Error('404!!!'), @@ -188,7 +186,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component', null, @@ -209,7 +207,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component/1.X.X', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component/1.X.X', null, @@ -230,7 +228,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component?hello=world', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component?hello=world', null, @@ -253,7 +251,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component/?hello=world', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component/?hello=world', null, @@ -276,7 +274,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component/1.X.X?hello=world', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component/1.X.X?hello=world', null, @@ -299,7 +297,7 @@ describe('cli : domain : registry', () => { }); describe('when href = /component/1.X.X/?hello=world', () => { - beforeEach(done => { + beforeEach((done) => { execute( 'http://registry.com/component/1.X.X/?hello=world', null, diff --git a/test/unit/cli-domain-url-parser.js b/test/unit/cli-domain-url-parser.js index 58759a08a..233bafc47 100644 --- a/test/unit/cli-domain-url-parser.js +++ b/test/unit/cli-domain-url-parser.js @@ -1,10 +1,8 @@ -'use strict'; - const expect = require('chai').expect; describe('cli : domain : url-parser', () => { let parsed; - const execute = function (url, returnVersion) { + const execute = (url, returnVersion) => { const urlParser = require('../../dist/cli/domain/url-parser'); parsed = urlParser.parse({ diff --git a/test/unit/cli-domain-watch.js b/test/unit/cli-domain-watch.js index 2bd14a433..a06ebf681 100644 --- a/test/unit/cli-domain-watch.js +++ b/test/unit/cli-domain-watch.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -8,7 +6,7 @@ describe('cli : domain : watch', () => { const execute = (fileChanged, separator, cb) => { const watch = injectr('../../dist/cli/domain/watch.js', { 'node:path': { - resolve: x => x, + resolve: (x) => x, sep: separator }, chokidar: { @@ -32,7 +30,7 @@ describe('cli : domain : watch', () => { describe('when a file from a component changes', () => { let result; - before(done => { + before((done) => { execute( '/path/to/my-component/server.js', '/', @@ -58,7 +56,7 @@ describe('cli : domain : watch', () => { describe('when a file from a component whose name matches another component changes', () => { let result; - before(done => { + before((done) => { execute( '/path/to/my-component2/server.js', '/', @@ -84,7 +82,7 @@ describe('cli : domain : watch', () => { describe('when a file from a component on Windows-like path changes', () => { let result; - before(done => { + before((done) => { execute( 'C:\\Windows-like\\path\\to\\yet-another-component\\server.js', '\\', diff --git a/test/unit/cli-facade-clean.js b/test/unit/cli-facade-clean.js index f9c03ece6..bf1e18271 100644 --- a/test/unit/cli-facade-clean.js +++ b/test/unit/cli-facade-clean.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -36,7 +34,7 @@ describe('cli : facade : clean', () => { describe('when cleaning folder', () => { describe('when folder is already clean', () => { let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().resolves('ok'); const options = { mocks: { fetchList: () => Promise.resolve([]), remove: removeMock }, @@ -55,7 +53,7 @@ describe('cli : facade : clean', () => { describe('when folder needs cleaning and --yes flag passed down', () => { let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().resolves('ok'); const options = { mocks: { @@ -81,7 +79,7 @@ describe('cli : facade : clean', () => { describe('when folder needs cleaning and no --yes flag passed down and users says yes', () => { let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().resolves('ok'); const options = { mocks: { @@ -113,7 +111,7 @@ describe('cli : facade : clean', () => { describe('when folder needs cleaning and no --yes flag passed down and users says no', () => { let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.stub().resolves('ok'); const options = { mocks: { @@ -143,7 +141,7 @@ describe('cli : facade : clean', () => { describe('when removing causes an error', () => { let removeMock; - beforeEach(done => { + beforeEach((done) => { removeMock = sinon.mock().rejects(new Error('permission error')); const options = { mocks: { diff --git a/test/unit/cli-facade-dev.js b/test/unit/cli-facade-dev.js index 7dc3e0448..dae8e1974 100644 --- a/test/unit/cli-facade-dev.js +++ b/test/unit/cli-facade-dev.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,7 +8,7 @@ describe('cli : facade : dev', () => { const local = Local(); const devFacade = DevFacade({ local, logger: logSpy }); - const execute = function (done) { + const execute = (done) => { logSpy.err = sinon.spy(); logSpy.warn = () => {}; devFacade({}, () => done()); @@ -18,7 +16,7 @@ describe('cli : facade : dev', () => { describe('when running a dev version of the registry', () => { describe('when the directory is not found', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'getComponentsByDir').resolves([]); execute(done); }); @@ -33,7 +31,7 @@ describe('cli : facade : dev', () => { }); describe('when the directory does not contain any valid component', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'getComponentsByDir').resolves([]); execute(done); }); diff --git a/test/unit/cli-facade-init.js b/test/unit/cli-facade-init.js index e7ad8c6c7..3426bee45 100644 --- a/test/unit/cli-facade-init.js +++ b/test/unit/cli-facade-init.js @@ -1,5 +1,3 @@ -'use strict'; - const path = require('path'); const expect = require('chai').expect; const sinon = require('sinon'); @@ -18,7 +16,7 @@ describe('cli : facade : init', () => { const local = Local({ logger: { log: () => {} } }); const initFacade = InitFacade({ local: local, logger: logSpy }); - const execute = function (componentPath, templateType, done) { + const execute = (componentPath, templateType, done) => { logSpy.err = sinon.spy(); logSpy.ok = sinon.spy(); logSpy.log = sinon.spy(); @@ -32,7 +30,7 @@ describe('cli : facade : init', () => { describe('when initialising a new component', () => { describe('when the component is an empty string', () => { - beforeEach(done => { + beforeEach((done) => { execute(' ', undefined, done); }); @@ -44,7 +42,7 @@ describe('cli : facade : init', () => { }); describe('when the component has a non valid name', () => { - beforeEach(done => { + beforeEach((done) => { execute('hello-asd$qwe:11', 'handlebars', done); }); @@ -56,7 +54,7 @@ describe('cli : facade : init', () => { }); describe('when the template is of a non valid type', () => { - beforeEach(done => { + beforeEach((done) => { execute('valid-component', 'invalid-type', done); }); @@ -68,7 +66,7 @@ describe('cli : facade : init', () => { }); describe('when an error happens', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'init').rejects('nope!'); execute('the-best-component', 'handlebars', done); }); @@ -85,7 +83,7 @@ describe('cli : facade : init', () => { }); describe('when the component has relative path', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'init').resolves('yes man'); execute('this/is/relative/path/to/the-best-component', 'jade', done); }); @@ -108,7 +106,7 @@ describe('cli : facade : init', () => { }); describe('when succeeds', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'init').resolves('yes man'); execute('the-best-component', 'jade', done); }); diff --git a/test/unit/cli-facade-mock.js b/test/unit/cli-facade-mock.js index 63cee7d0d..0282097f9 100644 --- a/test/unit/cli-facade-mock.js +++ b/test/unit/cli-facade-mock.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,7 +8,7 @@ describe('cli : facade : mock', () => { const local = Local(); const mockFacade = MockFacade({ local: local, logger: logSpy }); - const execute = function (done) { + const execute = (done) => { logSpy.ok = sinon.spy(); mockFacade( { targetType: 'plugin', targetName: 'getValue', targetValue: 'value' }, @@ -20,7 +18,7 @@ describe('cli : facade : mock', () => { describe('when mocking plugin', () => { describe('when it succeeds', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'mock').resolves('ok'); execute(done); }); diff --git a/test/unit/cli-facade-package.js b/test/unit/cli-facade-package.js index a9acbe245..de455dd00 100644 --- a/test/unit/cli-facade-package.js +++ b/test/unit/cli-facade-package.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const path = require('path'); const sinon = require('sinon'); @@ -11,7 +9,7 @@ describe('cli : facade : package', () => { const PackageFacade = require('../../dist/cli/facade/package.js').default; const packageFacade = PackageFacade({ local: local, logger: logSpy }); - const execute = function (compress, cb) { + const execute = (compress, cb) => { logSpy.err = sinon.stub(); logSpy.ok = sinon.stub(); logSpy.warn = sinon.stub(); @@ -27,7 +25,7 @@ describe('cli : facade : package', () => { }; describe('before packaging a component', () => { - it('should always show a message', done => { + it('should always show a message', (done) => { sinon.stub(local, 'package').rejects('the component is not valid'); execute(false, () => { local.package.restore(); @@ -46,7 +44,7 @@ describe('cli : facade : package', () => { describe('when packaging', () => { describe('when a component is not valid', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'package').rejects('the component is not valid'); execute(false, done); }); @@ -74,7 +72,7 @@ describe('cli : facade : package', () => { local.package.restore(); }); - it('should package and show success message', done => { + it('should package and show success message', (done) => { execute(false, () => { const warnMessage = logSpy.warn.args[0][0]; const okMessage = logSpy.ok.args[0][0]; @@ -96,7 +94,7 @@ describe('cli : facade : package', () => { }); describe('when creating tar.gz archive', () => { - it('should not compress when option set to false', done => { + it('should not compress when option set to false', (done) => { sinon.stub(local, 'compress').resolves(null); execute(false, () => { @@ -128,7 +126,7 @@ describe('cli : facade : package', () => { local.compress.restore(); }); - it('should show a message for success', done => { + it('should show a message for success', (done) => { execute(true, () => { const warnDependenciesMessage = logSpy.warn.args[1][0]; const warnMessage = logSpy.warn.args[2][0]; @@ -169,7 +167,7 @@ describe('cli : facade : package', () => { local.compress.restore(); }); - it('should show a message for failure', done => { + it('should show a message for failure', (done) => { execute(true, () => { const warnDependenciesMessage = logSpy.warn.args[1][0]; const warnMessage = logSpy.warn.args[2][0]; diff --git a/test/unit/cli-facade-preview.js b/test/unit/cli-facade-preview.js index 05f161d6a..55ebe51e8 100644 --- a/test/unit/cli-facade-preview.js +++ b/test/unit/cli-facade-preview.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -9,7 +7,7 @@ describe('cli : facade : preview', () => { let logSpy; let registryStub; - const execute = function (error, url, done) { + const execute = (error, url, done) => { openSpy = sinon.spy(); registryStub = { getComponentPreviewUrlByUrl: error @@ -32,7 +30,7 @@ describe('cli : facade : preview', () => { }; describe('when previewing not valid component', () => { - beforeEach(done => { + beforeEach((done) => { execute('404!!!', {}, done); }); @@ -48,7 +46,7 @@ describe('cli : facade : preview', () => { }); describe('when previewing valid component', () => { - beforeEach(done => { + beforeEach((done) => { execute(null, 'http://registry.com/component/~preview/', done); }); diff --git a/test/unit/cli-facade-publish.js b/test/unit/cli-facade-publish.js index cab324033..716e2c070 100644 --- a/test/unit/cli-facade-publish.js +++ b/test/unit/cli-facade-publish.js @@ -1,5 +1,3 @@ -'use strict'; - const colors = require('colors/safe'); const expect = require('chai').expect; const injectr = require('injectr'); @@ -18,10 +16,10 @@ describe('cli : facade : publish', () => { version: '1.0.0' }; - const execute = function ( + const execute = ( cb, { creds = {}, skipPackage = false, fs = {}, registries } = {} - ) { + ) => { logSpy.err = sinon.stub(); logSpy.log = sinon.stub(); logSpy.ok = sinon.stub(); @@ -58,7 +56,7 @@ describe('cli : facade : publish', () => { describe('when publishing component', () => { describe('when api is not valid', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'get').rejects('an error!'); execute(done); }); @@ -83,7 +81,7 @@ describe('cli : facade : publish', () => { registry.get.restore(); }); - it('should show a message', done => { + it('should show a message', (done) => { sinon.stub(local, 'package').rejects('the component is not valid'); execute(() => { local.package.restore(); @@ -102,7 +100,7 @@ describe('cli : facade : publish', () => { }); }); - it('should take precedence over the registries set through oc.json', done => { + it('should take precedence over the registries set through oc.json', (done) => { sinon.stub(registry, 'putComponent').resolves('ok'); execute( () => { @@ -118,7 +116,7 @@ describe('cli : facade : publish', () => { describe('when packaging', () => { describe('when a component is not valid', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(local, 'package').rejects('the component is not valid'); execute(done); }); @@ -152,7 +150,7 @@ describe('cli : facade : publish', () => { local.compress.restore(); }); - it('should show a message', done => { + it('should show a message', (done) => { sinon.stub(registry, 'putComponent').rejects('blabla'); execute(() => { registry.putComponent.restore(); @@ -169,7 +167,7 @@ describe('cli : facade : publish', () => { }); describe('when publishing', () => { - it('should show a message', done => { + it('should show a message', (done) => { sinon.stub(registry, 'putComponent').rejects('blabla'); execute(() => { registry.putComponent.restore(); @@ -179,7 +177,7 @@ describe('cli : facade : publish', () => { }); }); - it('should publish to all registries', done => { + it('should publish to all registries', (done) => { sinon.stub(registry, 'putComponent').resolves('ok'); execute(() => { registry.putComponent.restore(); @@ -193,7 +191,7 @@ describe('cli : facade : publish', () => { }); describe('when a generic error happens', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'putComponent') .rejects(new Error('nope!')); @@ -212,7 +210,7 @@ describe('cli : facade : publish', () => { }); describe('when a generic error happens from the api', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'putComponent') .rejects({ IgotAnError: true }); @@ -231,7 +229,7 @@ describe('cli : facade : publish', () => { }); describe('when using an old cli', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'putComponent').rejects({ code: 'cli_version_not_valid', error: @@ -260,7 +258,7 @@ describe('cli : facade : publish', () => { }); describe('when using an old node version', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'putComponent').rejects({ code: 'node_version_not_valid', error: @@ -288,7 +286,7 @@ describe('cli : facade : publish', () => { }); describe('when registry requires authentication', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'putComponent') .rejects(new Error('Unauthorized')); @@ -307,7 +305,7 @@ describe('cli : facade : publish', () => { }); describe('when credentials are prepopulated', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'putComponent') .rejects(new Error('Unauthorized')); @@ -332,7 +330,7 @@ describe('cli : facade : publish', () => { describe('when it succeeds', () => { let stub; - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'putComponent').resolves('yay'); stub = sinon.stub(local, 'cleanup').resolves('done'); execute(done); @@ -367,7 +365,7 @@ describe('cli : facade : publish', () => { local.compress.restore(); }); - it('should publish the package to all registries', done => { + it('should publish the package to all registries', (done) => { sinon.stub(registry, 'putComponent').resolves('ok'); execute( () => { @@ -380,7 +378,7 @@ describe('cli : facade : publish', () => { { skipPackage: true } ); }); - it('should skip packaging', done => { + it('should skip packaging', (done) => { sinon.stub(registry, 'putComponent').resolves('ok'); sinon.stub(local, 'package'); execute( @@ -395,7 +393,7 @@ describe('cli : facade : publish', () => { { skipPackage: true } ); }); - it('should show an error message if the package folder does not exist', done => { + it('should show an error message if the package folder does not exist', (done) => { execute( () => { expect(logSpy.err.args[0][0]).to.equal( diff --git a/test/unit/cli-facade-registry-add.js b/test/unit/cli-facade-registry-add.js index 8658f5b9e..8f086c8e2 100644 --- a/test/unit/cli-facade-registry-add.js +++ b/test/unit/cli-facade-registry-add.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,14 +8,14 @@ describe('cli : facade : registry : add', () => { const RegistryFacade = require('../../dist/cli/facade/registry-add').default; const registryFacade = RegistryFacade({ registry: registry, logger: logSpy }); - const execute = function (done) { + const execute = (done) => { logSpy.err = sinon.spy(); logSpy.ok = sinon.spy(); registryFacade({}, () => done()); }; describe('when adding a not valid registry', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'add').rejects('An error!!!'); execute(done); }); @@ -32,7 +30,7 @@ describe('cli : facade : registry : add', () => { }); describe('when adding a valid registry', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'add').resolves('ok!'); execute(done); }); diff --git a/test/unit/cli-facade-registry-ls.js b/test/unit/cli-facade-registry-ls.js index 7bd3aa5b2..a9119ff40 100644 --- a/test/unit/cli-facade-registry-ls.js +++ b/test/unit/cli-facade-registry-ls.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,7 +8,7 @@ describe('cli : facade : registry : ls', () => { const RegistryFacade = require('../../dist/cli/facade/registry-ls').default; const registryFacade = RegistryFacade({ registry: registry, logger: logSpy }); - const execute = function (done) { + const execute = (done) => { logSpy.err = sinon.spy(); logSpy.ok = sinon.spy(); logSpy.warn = sinon.spy(); @@ -18,7 +16,7 @@ describe('cli : facade : registry : ls', () => { }; describe('when no registries linked to the app', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'get').resolves([]); execute(done); }); @@ -39,7 +37,7 @@ describe('cli : facade : registry : ls', () => { }); describe('when registries linked to the app', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'get') .resolves([ diff --git a/test/unit/cli-facade-registry-remove.js b/test/unit/cli-facade-registry-remove.js index 399654508..9293655ab 100644 --- a/test/unit/cli-facade-registry-remove.js +++ b/test/unit/cli-facade-registry-remove.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -11,14 +9,14 @@ describe('cli : facade : registry : remove', () => { require('../../dist/cli/facade/registry-remove').default; const registryFacade = RegistryFacade({ registry: registry, logger: logSpy }); - const execute = function (done) { + const execute = (done) => { logSpy.err = sinon.spy(); logSpy.ok = sinon.spy(); registryFacade({}, () => done()); }; describe('when removing a registry and having some problem removing it', () => { - beforeEach(done => { + beforeEach((done) => { sinon .stub(registry, 'remove') .rejects(new Error('something bad happened!')); @@ -35,7 +33,7 @@ describe('cli : facade : registry : remove', () => { }); describe('when removing a valid registry', () => { - beforeEach(done => { + beforeEach((done) => { sinon.stub(registry, 'remove').resolves('ok!'); execute(done); }); diff --git a/test/unit/cli-programmatic-api.js b/test/unit/cli-programmatic-api.js index 6094f510a..07fbe718d 100644 --- a/test/unit/cli-programmatic-api.js +++ b/test/unit/cli-programmatic-api.js @@ -1,5 +1,3 @@ -'use strict'; - const _ = require('lodash'); const expect = require('chai').expect; const injectr = require('injectr'); @@ -54,7 +52,7 @@ describe('cli : programmatic-api', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { describe(`cmd: cli.${scenario.cmd}`, () => { const fn = _.get(programmaticApi, scenario.cmd); diff --git a/test/unit/cli-validate-command.js b/test/unit/cli-validate-command.js index b65722701..37826a793 100644 --- a/test/unit/cli-validate-command.js +++ b/test/unit/cli-validate-command.js @@ -17,7 +17,7 @@ describe('cli : validate-command : valid', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { describe(`given "${scenario._.join(' ')}"`, () => { it(`"${scenario._[scenario.level]}" should be a valid command`, () => { const argv = { @@ -43,7 +43,7 @@ describe('cli : validate-command : invalid', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { describe(`given "${scenario._.join(' ')}"`, () => { it(`"${scenario._[scenario.level]}" should be an invalid command`, () => { const argv = { diff --git a/test/unit/registry-app-start.js b/test/unit/registry-app-start.js index f774c31a8..94c6ef6a7 100644 --- a/test/unit/registry-app-start.js +++ b/test/unit/registry-app-start.js @@ -1,11 +1,9 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); const path = require('path'); -const getAppStart = function (mockedRepository, options, callback) { +const getAppStart = (mockedRepository, options, callback) => { const appStart = injectr( '../../dist/registry/app-start.js', { @@ -34,7 +32,7 @@ describe('registry : app-start', () => { describe('when registry starting', () => { describe('when not in local mode', () => { describe('when oc-client found on library', () => { - it('should not publish it', done => { + it('should not publish it', (done) => { const mockedRepository = { getComponentVersions: sinon.stub().resolves(['1.2.3']), publishComponent: sinon.spy() @@ -48,7 +46,7 @@ describe('registry : app-start', () => { }); describe('when oc-client not found on library', () => { - it('should publish it', done => { + it('should publish it', (done) => { const mockedRepository = { getComponentVersions: sinon.stub().resolves(['1.0.0']), publishComponent: sinon.stub().yields(null, 'ok') diff --git a/test/unit/registry-domain-components-cache.js b/test/unit/registry-domain-components-cache.js index 749660d2a..e04e3df24 100644 --- a/test/unit/registry-domain-components-cache.js +++ b/test/unit/registry-domain-components-cache.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -33,7 +31,7 @@ describe('registry : domain : components-cache', () => { const getTimestamp = () => 12345678; - const initialise = function () { + const initialise = () => { clearTimeoutStub = sinon.stub(); setTimeoutStub = sinon.stub(); eventsHandlerStub = { fire: sinon.stub() }; @@ -62,13 +60,13 @@ describe('registry : domain : components-cache', () => { describe('when library does not contain components.json', () => { describe('when getting the json fails', () => { let error; - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.rejects(new Error('FILE_ERROR')); initialise(); componentsCache .load() - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -77,7 +75,7 @@ describe('registry : domain : components-cache', () => { }); }); describe('when initialising the cache', () => { - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.resolves({}); mockedCdn.getJson.onFirstCall(0).rejects({ code: 'file_not_found' }); @@ -127,7 +125,7 @@ describe('registry : domain : components-cache', () => { describe('when library contains outdated components.json', () => { describe('when initialising the cache', () => { - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.resolves(baseResponse()); mockedCdn.getJson @@ -196,7 +194,7 @@ describe('registry : domain : components-cache', () => { describe('when library contains updated components.json', () => { describe('when initialising the cache', () => { - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.resolves(baseResponse()); mockedCdn.listSubDirectories = sinon.stub(); @@ -245,7 +243,7 @@ describe('registry : domain : components-cache', () => { baseResponseUpdated.lastEdit++; describe('when refresh errors', () => { - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.resolves(baseResponse()); mockedCdn.putFileContent = sinon.stub(); @@ -280,7 +278,7 @@ describe('registry : domain : components-cache', () => { }); describe('when refresh does not generate errors', () => { - before(done => { + before((done) => { mockedCdn.getJson = sinon.stub(); mockedCdn.getJson.resolves(baseResponse()); mockedCdn.putFileContent = sinon.stub(); diff --git a/test/unit/registry-domain-components-details.js b/test/unit/registry-domain-components-details.js index 86805b998..7fd197caa 100644 --- a/test/unit/registry-domain-components-details.js +++ b/test/unit/registry-domain-components-details.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -27,8 +25,8 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); describe('get()', () => { @@ -36,7 +34,7 @@ describe('registry : domain : components-details', () => { let details; let stubs; - before(done => { + before((done) => { details = { lastEdit: 1459864868000, components: { @@ -67,7 +65,7 @@ describe('registry : domain : components-details', () => { }); describe('when details file does not exist on cdn', () => { - before(done => { + before((done) => { const stubs = { getJson: sinon.stub().rejects(new Error('an error')) }; const componentsDetails = ComponentsDetails(conf, stubs); next(componentsDetails.get(), done); @@ -100,7 +98,7 @@ describe('registry : domain : components-details', () => { let stubs; - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves(details); stubs.getJson.onCall(1).resolves({ @@ -119,7 +117,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details fetch fails', () => { - before(done => { + before((done) => { fireStub.reset(); stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves(details); @@ -143,7 +141,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details fetch succeeds', () => { - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves(details); stubs.getJson.onCall(1).resolves({ @@ -173,7 +171,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details save fails', () => { - before(done => { + before((done) => { fireStub.reset(); stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves(details); @@ -210,11 +208,11 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves(details); stubs.getJson.onCall(1).resolves({ @@ -269,11 +267,11 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.resolves(details); stubs.maxConcurrentRequests = 20; @@ -306,7 +304,7 @@ describe('registry : domain : components-details', () => { let stubs; - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).resolves('not found'); stubs.getJson.onCall(1).resolves({ @@ -331,7 +329,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details fetch fails', () => { - before(done => { + before((done) => { fireStub.reset(); stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).rejects(new Error('not found')); @@ -356,7 +354,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details fetch succeeds', () => { - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).rejects('not found'); stubs.getJson.onCall(1).resolves({ @@ -389,7 +387,7 @@ describe('registry : domain : components-details', () => { }); describe('when component details save fails', () => { - before(done => { + before((done) => { fireStub.reset(); stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).rejects('not found'); @@ -426,11 +424,11 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); - before(done => { + before((done) => { stubs = { getJson: sinon.stub() }; stubs.getJson.onCall(0).rejects('not found'); stubs.getJson.onCall(1).resolves({ diff --git a/test/unit/registry-domain-events-handler.js b/test/unit/registry-domain-events-handler.js index ceb46561b..ac57a3858 100644 --- a/test/unit/registry-domain-events-handler.js +++ b/test/unit/registry-domain-events-handler.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -31,10 +29,10 @@ describe('registry : domain : events-handler', () => { let c = 0; before(() => { - eventsHandler.on('fire', payload => { + eventsHandler.on('fire', (payload) => { spy(++c, payload); }); - eventsHandler.on('fire', payload => { + eventsHandler.on('fire', (payload) => { spy(++c, payload); }); eventsHandler.fire('fire', { hello: true }); @@ -56,7 +54,7 @@ describe('registry : domain : events-handler', () => { }); describe('when subscribing a request event using a not valid handler', () => { - const execute = function () { + const execute = () => { eventsHandler.on('request', 'this is not a function'); }; @@ -68,10 +66,10 @@ describe('registry : domain : events-handler', () => { }); describe('when unsubscribing a request event', () => { - const executeNonFunction = function () { + const executeNonFunction = () => { eventsHandler.off('request', 'this is not a function'); }; - const execute = function () { + const execute = () => { eventsHandler.off('request', () => {}); }; diff --git a/test/unit/registry-domain-extract-package.js b/test/unit/registry-domain-extract-package.js index 4594472ab..e665d9419 100644 --- a/test/unit/registry-domain-extract-package.js +++ b/test/unit/registry-domain-extract-package.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -22,7 +20,7 @@ describe('registry : domain : extract-package', () => { describe('when successfully extracting package', () => { let response; - beforeEach(done => { + beforeEach((done) => { pathResolveStub.reset(); pathResolveStub .onCall(0) @@ -45,7 +43,7 @@ describe('registry : domain : extract-package', () => { ], 766 ) - .then(res => (response = res)) + .then((res) => (response = res)) .finally(done); }); @@ -71,7 +69,7 @@ describe('registry : domain : extract-package', () => { describe('when extracting package fails', () => { let error; - beforeEach(done => { + beforeEach((done) => { pathResolveStub.reset(); pathResolveStub .onCall(0) @@ -94,7 +92,7 @@ describe('registry : domain : extract-package', () => { ], 766 ) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); diff --git a/test/unit/registry-domain-nested-renderer.js b/test/unit/registry-domain-nested-renderer.js index 4c570158d..7b3bc62d1 100644 --- a/test/unit/registry-domain-nested-renderer.js +++ b/test/unit/registry-domain-nested-renderer.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,7 +8,7 @@ describe('registry : routes : helpers : nested-renderer', () => { let nestedRenderer; let renderer; - const initialise = function (rendererMocks, conf) { + const initialise = (rendererMocks, conf) => { if (Array.isArray(rendererMocks)) { renderer = sinon.stub(); @@ -32,7 +30,7 @@ describe('registry : routes : helpers : nested-renderer', () => { }); it('should throw an error', () => { - const f = function () { + const f = () => { nestedRenderer.renderComponent(); }; expect(f).to.throw("component's name is not valid"); @@ -45,7 +43,7 @@ describe('registry : routes : helpers : nested-renderer', () => { }); it('should throw an error', () => { - const f = function () { + const f = () => { nestedRenderer.renderComponent(''); }; expect(f).to.throw("component's name is not valid"); @@ -54,7 +52,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when requesting a not existent component', () => { let error; - beforeEach(done => { + beforeEach((done) => { initialise({ status: 404, response: { @@ -64,7 +62,7 @@ describe('registry : routes : helpers : nested-renderer', () => { nestedRenderer .renderComponent('404-component', {}) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -78,7 +76,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when all params specified', () => { let result; let error; - beforeEach(done => { + beforeEach((done) => { initialise( { status: 200, @@ -98,8 +96,8 @@ describe('registry : routes : helpers : nested-renderer', () => { parameters: { a: 1234 }, version: '1.2.X' }) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); @@ -129,7 +127,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when minimal params specified', () => { let result; let error; - beforeEach(done => { + beforeEach((done) => { initialise( { status: 200, @@ -142,8 +140,8 @@ describe('registry : routes : helpers : nested-renderer', () => { nestedRenderer .renderComponent('my-component') - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); @@ -179,7 +177,7 @@ describe('registry : routes : helpers : nested-renderer', () => { }); it('should throw an error', () => { - const f = function () { + const f = () => { nestedRenderer.renderComponents(); }; expect(f).to.throw('components is not valid'); @@ -192,7 +190,7 @@ describe('registry : routes : helpers : nested-renderer', () => { }); it('should throw an error', () => { - const f = function () { + const f = () => { nestedRenderer.renderComponents([]); }; expect(f).to.throw('components is not valid'); @@ -202,7 +200,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when requesting not existent components', () => { let result; let error; - beforeEach(done => { + beforeEach((done) => { initialise({ status: 404, response: { @@ -218,10 +216,10 @@ describe('registry : routes : helpers : nested-renderer', () => { ], {} ) - .then(res => { + .then((res) => { result = res; }) - .catch(err => { + .catch((err) => { error = err; }) .finally(done); @@ -242,7 +240,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when all params specified', () => { let result; let error; - beforeEach(done => { + beforeEach((done) => { initialise( [ { @@ -282,8 +280,8 @@ describe('registry : routes : helpers : nested-renderer', () => { } } ) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); @@ -334,7 +332,7 @@ describe('registry : routes : helpers : nested-renderer', () => { describe('when minimal params specified', () => { let result; let error; - beforeEach(done => { + beforeEach((done) => { initialise( [ { @@ -354,8 +352,8 @@ describe('registry : routes : helpers : nested-renderer', () => { { name: 'my-component' }, { name: 'my-other-component' } ]) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); }); diff --git a/test/unit/registry-domain-options-sanitiser.js b/test/unit/registry-domain-options-sanitiser.js index 786b78d2e..e7b748c35 100644 --- a/test/unit/registry-domain-options-sanitiser.js +++ b/test/unit/registry-domain-options-sanitiser.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : options-sanitiser', () => { @@ -110,7 +108,7 @@ describe('registry : domain : options-sanitiser', () => { ]; it('should support various scenarios correctly', () => { - prefixAndBaseUrlScenarios.forEach(scenario => { + prefixAndBaseUrlScenarios.forEach((scenario) => { expect(sanitise(scenario.options).prefix).to.equal( scenario.expected.prefix ); diff --git a/test/unit/registry-domain-plugins-initialiser.js b/test/unit/registry-domain-plugins-initialiser.js index eefd087bd..50118dcb4 100644 --- a/test/unit/registry-domain-plugins-initialiser.js +++ b/test/unit/registry-domain-plugins-initialiser.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : plugins-initialiser', () => { @@ -8,7 +6,7 @@ describe('registry : domain : plugins-initialiser', () => { describe('when initialising not valid plugins', () => { describe('when plugin not registered correctly', () => { let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'doSomething' @@ -17,7 +15,7 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -30,19 +28,19 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin is anonymous', () => { let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { register: { - register: function () {}, - execute: function () {} + register: () => {}, + execute: () => {} } } ]; pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -53,17 +51,17 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin does not expose a register method', () => { let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'doSomething', - register: { execute: function () {} } + register: { execute: () => {} } } ]; pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -76,17 +74,17 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin does not expose an execute method', () => { let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'doSomething', - register: { register: function () {} } + register: { register: () => {} } } ]; pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -102,7 +100,7 @@ describe('registry : domain : plugins-initialiser', () => { let passedOptions; let flag; let result; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'getValue', @@ -112,7 +110,7 @@ describe('registry : domain : plugins-initialiser', () => { passedOptions = options; cb(); }, - execute: key => passedOptions[key] + execute: (key) => passedOptions[key] }, options: { a: 123, b: 456 } }, @@ -132,7 +130,7 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .then(res => (result = res)) + .then((res) => (result = res)) .finally(done); }); @@ -162,28 +160,26 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin specifies dependencies', () => { let passedDeps; let flag; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'isFlagged', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { flag = true; cb(); }, - execute: function () { - return flag; - } + execute: () => flag } }, { name: 'getValue', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { passedDeps = deps; cb(); }, - execute: function () {}, + execute: () => {}, dependencies: ['isFlagged'] }, options: {} @@ -204,15 +200,15 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugins have a circular dependency', () => { let flag; let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'getValue', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { cb(); }, - execute: function () {}, + execute: () => {}, dependencies: ['isFlagged'] }, options: {} @@ -220,13 +216,11 @@ describe('registry : domain : plugins-initialiser', () => { { name: 'isFlagged', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { flag = true; cb(); }, - execute: function () { - return flag; - }, + execute: () => flag, dependencies: ['getValue'] } } @@ -234,7 +228,7 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -247,15 +241,15 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin depends on a plugin that is not registered', () => { let error; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'getValue', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { cb(); }, - execute: function () {}, + execute: () => {}, dependencies: ['isFlagged'] }, options: {} @@ -264,7 +258,7 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch(err => (error = err)) + .catch((err) => (error = err)) .finally(done); }); @@ -278,17 +272,15 @@ describe('registry : domain : plugins-initialiser', () => { describe('when plugin chain requires multiple passes', () => { let flag; let result; - beforeEach(done => { + beforeEach((done) => { const plugins = [ { name: 'doSomething', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { cb(); }, - execute: function () { - return true; - }, + execute: () => true, dependencies: ['getValue'] }, options: {} @@ -296,10 +288,10 @@ describe('registry : domain : plugins-initialiser', () => { { name: 'getValue', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { cb(); }, - execute: function () {}, + execute: () => {}, dependencies: ['isFlagged'] }, options: {} @@ -307,20 +299,18 @@ describe('registry : domain : plugins-initialiser', () => { { name: 'isFlagged', register: { - register: function (options, deps, cb) { + register: (options, deps, cb) => { flag = true; cb(); }, - execute: function () { - return flag; - } + execute: () => flag } } ]; pluginsInitialiser .init(plugins) - .then(res => (result = res)) + .then((res) => (result = res)) .finally(done); }); diff --git a/test/unit/registry-domain-register-templates.js b/test/unit/registry-domain-register-templates.js index 0ed1abe9e..eaf320feb 100644 --- a/test/unit/registry-domain-register-templates.js +++ b/test/unit/registry-domain-register-templates.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : register-templates', () => { @@ -24,7 +22,7 @@ describe('registry : domain : register-templates', () => { }); describe('when templates get registered with additional templates', () => { - const getTemplateMock = dev => ({ + const getTemplateMock = (dev) => ({ getInfo() { return { type: 'new-tpl', diff --git a/test/unit/registry-domain-repository.js b/test/unit/registry-domain-repository.js index 1cfb9f40c..b4a7b030c 100644 --- a/test/unit/registry-domain-repository.js +++ b/test/unit/registry-domain-repository.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const fs = require('fs-extra'); const injectr = require('injectr'); @@ -11,8 +9,8 @@ describe('registry : domain : repository', () => { const savePromiseResult = (promise, done) => { response = {}; promise - .then(res => (response.result = res)) - .catch(err => (response.error = err)) + .then((res) => (response.result = res)) + .catch((err) => (response.error = err)) .finally(done); }; @@ -58,16 +56,14 @@ describe('registry : domain : repository', () => { const cdnConfiguration = { port: 3000, prefix: '/v2/', - publishValidation: function (pkg) { + publishValidation: (pkg) => { const ok = !!pkg.author && !!pkg.repository; return ok ? ok : { isValid: false, error: 'forbidden!!!' }; }, baseUrl: 'http://saymyname.com:3000/v2/', env: { name: 'prod' }, storage: { - adapter: function () { - return s3Mock; - }, + adapter: () => s3Mock, options: { key: 'a-key', secret: 'secrety-key', @@ -96,7 +92,7 @@ describe('registry : domain : repository', () => { const repository = Repository(cdnConfiguration); describe('when getting the list of available components', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); savePromiseResult(repository.getComponents(), done); }); @@ -121,7 +117,7 @@ describe('registry : domain : repository', () => { }); describe('when getting the components details', () => { - before(done => { + before((done) => { componentsDetailsMock.get.resolves(componentsDetailsBaseResponse); savePromiseResult(repository.getComponentsDetails(), done); }); @@ -179,7 +175,7 @@ describe('registry : domain : repository', () => { describe('when trying to get a not valid component', () => { describe('when the component does not exist', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); savePromiseResult( repository.getComponent('form-component', '1.0.0'), @@ -195,7 +191,7 @@ describe('registry : domain : repository', () => { }); }); describe('when the get component info fails', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); sinon.stub(repository, 'getComponentInfo').callsFake(() => // eslint-disable-next-line prefer-promise-reject-errors @@ -220,7 +216,7 @@ describe('registry : domain : repository', () => { }); }); describe('when the component exists but version does not', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); savePromiseResult( repository.getComponent('hello-world', '2.0.0'), @@ -238,7 +234,7 @@ describe('registry : domain : repository', () => { }); describe('when getting an existing component', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); s3Mock.getJson.resolves({ name: 'hello-world', version: '1.0.0' }); savePromiseResult( @@ -269,7 +265,7 @@ describe('registry : domain : repository', () => { }); describe('when getting the .env file', () => { - before(done => { + before((done) => { s3Mock.getFile.resolves(` VAR1=VAL1 VAR2=VAL2 @@ -303,7 +299,7 @@ describe('registry : domain : repository', () => { describe('when publishing a component', () => { describe('when component has a not valid name', () => { - before(done => { + before((done) => { savePromiseResult( repository.publishComponent({ pkgDetails: {}, @@ -324,7 +320,7 @@ describe('registry : domain : repository', () => { }); describe('when component has a not valid version', () => { - before(done => { + before((done) => { savePromiseResult( repository.publishComponent({ pkgDetails: {}, @@ -357,7 +353,7 @@ describe('registry : domain : repository', () => { }; describe('when component with same name and version is already in library', () => { - before(done => { + before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); savePromiseResult( repository.publishComponent({ @@ -381,7 +377,7 @@ describe('registry : domain : repository', () => { }); describe('when is in check mode only', () => { - before(done => { + before((done) => { componentsCacheMock.get = sinon.stub(); componentsCacheMock.get.returns(componentsCacheBaseResponse); componentsCacheMock.refresh = sinon.stub(); @@ -421,7 +417,7 @@ describe('registry : domain : repository', () => { }); describe('when component with same name and version is not in library', () => { - before(done => { + before((done) => { componentsCacheMock.get = sinon.stub(); componentsCacheMock.get.returns(componentsCacheBaseResponse); componentsCacheMock.refresh = sinon.stub(); @@ -483,7 +479,7 @@ describe('registry : domain : repository', () => { const repository = Repository(localConfiguration); describe('when getting the list of available components', () => { - before(done => { + before((done) => { savePromiseResult(repository.getComponents(), done); }); @@ -513,7 +509,7 @@ describe('registry : domain : repository', () => { describe('when trying to get a not valid component', () => { describe('when the component does not exist', () => { - before(done => { + before((done) => { savePromiseResult( repository.getComponent('form-component', '1.0.0'), done @@ -529,7 +525,7 @@ describe('registry : domain : repository', () => { }); describe('when the component exists but version does not', () => { - before(done => { + before((done) => { savePromiseResult( repository.getComponent('hello-world', '2.0.0'), done @@ -546,7 +542,7 @@ describe('registry : domain : repository', () => { }); describe('when getting an existing component', () => { - before(done => { + before((done) => { savePromiseResult( repository.getComponent('hello-world', '1.0.0'), done @@ -580,7 +576,7 @@ describe('registry : domain : repository', () => { describe('when trying to publish a component', () => { const componentDir = path.resolve('../fixtures/components/hello-world'); - before(done => { + before((done) => { savePromiseResult( repository.publishComponent({ pkgDetails: componentDir, diff --git a/test/unit/registry-domain-require-wrapper.js b/test/unit/registry-domain-require-wrapper.js index e39825f86..e72943a23 100644 --- a/test/unit/registry-domain-require-wrapper.js +++ b/test/unit/registry-domain-require-wrapper.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const vm = require('vm'); diff --git a/test/unit/registry-domain-sanitiser.js b/test/unit/registry-domain-sanitiser.js index df36d6f63..2945b910f 100644 --- a/test/unit/registry-domain-sanitiser.js +++ b/test/unit/registry-domain-sanitiser.js @@ -1,14 +1,10 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : sanitiser', () => { const sanitiser = require('../../dist/registry/domain/sanitiser'); describe("when sanitising component's request parameters", () => { - const sanitise = function (a, b) { - return sanitiser.sanitiseComponentParameters(a, b); - }; + const sanitise = (a, b) => sanitiser.sanitiseComponentParameters(a, b); describe('when component has boolean parameter', () => { it('should convert string to boolean when true', () => { diff --git a/test/unit/registry-domain-storage-adapter.js b/test/unit/registry-domain-storage-adapter.js index 11b8c4de0..a6e2b549a 100644 --- a/test/unit/registry-domain-storage-adapter.js +++ b/test/unit/registry-domain-storage-adapter.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); const injectr = require('injectr'); diff --git a/test/unit/registry-domain-url-builder.js b/test/unit/registry-domain-url-builder.js index 6b646575c..328fec2a6 100644 --- a/test/unit/registry-domain-url-builder.js +++ b/test/unit/registry-domain-url-builder.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : url-builder', () => { @@ -8,7 +6,7 @@ describe('registry : domain : url-builder', () => { let builtUrl; describe('when building component url', () => { - const execute = function (component, baseUrl) { + const execute = (component, baseUrl) => { builtUrl = urlBuilder.component(component, baseUrl); }; @@ -77,7 +75,7 @@ describe('registry : domain : url-builder', () => { }); describe('when building component preview url', () => { - const execute = function (component, baseUrl) { + const execute = (component, baseUrl) => { builtUrl = urlBuilder.componentPreview(component, baseUrl); }; diff --git a/test/unit/registry-domain-validator.js b/test/unit/registry-domain-validator.js index 64c1d2366..f2c8f4a8d 100644 --- a/test/unit/registry-domain-validator.js +++ b/test/unit/registry-domain-validator.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); @@ -13,9 +11,7 @@ describe('registry : domain : validator', () => { }; describe('when validating registry configuration', () => { - const validate = function (a) { - return validator.validateRegistryConfiguration(a); - }; + const validate = (a) => validator.validateRegistryConfiguration(a); describe('when configuration null', () => { const conf = null; @@ -275,7 +271,7 @@ describe('registry : domain : validator', () => { describe('when route does not contain route', () => { const conf = { - routes: [{ method: 'get', handler: function () {} }], + routes: [{ method: 'get', handler: () => {} }], s3: baseS3Conf }; @@ -303,7 +299,7 @@ describe('registry : domain : validator', () => { describe('when route does not contain method', () => { const conf = { - routes: [{ route: '/hello', handler: function () {} }], + routes: [{ route: '/hello', handler: () => {} }], s3: baseS3Conf }; @@ -337,7 +333,7 @@ describe('registry : domain : validator', () => { { route: '/components/hello', method: 'get', - handler: function () {} + handler: () => {} } ] }; @@ -398,9 +394,7 @@ describe('registry : domain : validator', () => { }); describe('when validating component request by parameter', () => { - const validate = function (a, b) { - return validator.validateComponentParameters(a, b); - }; + const validate = (a, b) => validator.validateComponentParameters(a, b); describe('when component have not parameters', () => { const componentParameters = {}; @@ -427,7 +421,7 @@ describe('registry : domain : validator', () => { .true; }); - it('should be valid when non mandatory parameters provided in a valid format', done => { + it('should be valid when non mandatory parameters provided in a valid format', (done) => { const requestParameters = { name: 'Walter White' }; expect(validate(requestParameters, componentParameters).isValid).to.be .true; @@ -731,9 +725,7 @@ describe('registry : domain : validator', () => { }); describe('when validating component name for new candidate', () => { - const validate = function (a) { - return validator.validateComponentName(a); - }; + const validate = (a) => validator.validateComponentName(a); describe('when name has spaces', () => { const name = 'hello ha'; @@ -766,9 +758,7 @@ describe('registry : domain : validator', () => { describe('when validating component version for new candidate', () => { const existingVersions = ['1.0.0', '1.0.1', '2.0.0', '2.1.0']; - const isValid = function (a, b) { - return validator.validateVersion(a, b); - }; + const isValid = (a, b) => validator.validateVersion(a, b); describe('when version already exists', () => { it('should not be valid', () => { @@ -846,11 +836,9 @@ describe('registry : domain : validator', () => { }); describe('when custom validation provided', () => { - const validate = function (obj) { - return validator.validatePackageJson(obj); - }; + const validate = (obj) => validator.validatePackageJson(obj); - const customValidator = function (pkg) { + const customValidator = (pkg) => { const isValid = !!pkg.author && !!pkg.repository; return isValid ? isValid @@ -920,7 +908,7 @@ describe('registry : domain : validator', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { it(`should be valid with mimetype ${scenario.mimetype}`, () => { expect(validate([scenario]).isValid).to.be.true; }); @@ -934,7 +922,7 @@ describe('registry : domain : validator', () => { describe('when component does not require any plugin', () => { const requirements = null; const supportedPlugins = { - log: function () {} + log: () => {} }; it('should be valid', () => { @@ -946,7 +934,7 @@ describe('registry : domain : validator', () => { const requirements = ['getToggle']; describe('when registry does not support plugin', () => { const supportedPlugins = { - log: function () {} + log: () => {} }; const validationResult = validate(requirements, supportedPlugins); @@ -962,9 +950,7 @@ describe('registry : domain : validator', () => { describe('when registry supports plugin', () => { const supportedPlugins = { - getToggle: function () { - return true; - } + getToggle: () => true }; it('should be valid', () => { @@ -992,9 +978,7 @@ describe('registry : domain : validator', () => { } ); - const validate = function (userAgent) { - return validator.validateOcCliVersion(userAgent); - }; + const validate = (userAgent) => validator.validateOcCliVersion(userAgent); describe('when user-agent header is not specified', () => { const result = validate('value'); @@ -1075,9 +1059,8 @@ describe('registry : domain : validator', () => { } ); - const validate = function (userAgent) { - return validator.validateNodeVersion(userAgent, 'v0.10.36'); - }; + const validate = (userAgent) => + validator.validateNodeVersion(userAgent, 'v0.10.36'); describe('when user-agent header is not specified', () => { const result = validate('value'); diff --git a/test/unit/registry-domain-version-handler.js b/test/unit/registry-domain-version-handler.js index 21f063540..3842334e1 100644 --- a/test/unit/registry-domain-version-handler.js +++ b/test/unit/registry-domain-version-handler.js @@ -1,14 +1,10 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : domain : version-handler', () => { const versionHandler = require('../../dist/registry/domain/version-handler'); describe('when getting component', () => { - const get = function (a, b) { - return versionHandler.getAvailableVersion(a, b); - }; + const get = (a, b) => versionHandler.getAvailableVersion(a, b); describe('when versions not available', () => { const availableVersions = []; @@ -112,9 +108,7 @@ describe('registry : domain : version-handler', () => { describe('when publishing component', () => { const existingVersions = ['1.0.0', '1.0.1', '1.0.3', '1.1.0', '2.0.0']; - const validate = function (a, b) { - return versionHandler.validateNewVersion(a, b); - }; + const validate = (a, b) => versionHandler.validateNewVersion(a, b); describe('when version already exists', () => { it("shouldn't be valid", () => { diff --git a/test/unit/registry-routes-component.js b/test/unit/registry-routes-component.js index 3afe55537..3e140f9b0 100644 --- a/test/unit/registry-routes-component.js +++ b/test/unit/registry-routes-component.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -17,7 +15,7 @@ describe('registry : routes : component', () => { 'oc-template-jade': require('oc-template-jade'), 'oc-template-handlebars': require('oc-template-handlebars') }; - const initialise = function (params) { + const initialise = (params) => { resJsonStub = sinon.stub(); resSetStub = sinon.stub(); statusStub = sinon.stub().returns({ @@ -41,7 +39,7 @@ describe('registry : routes : component', () => { externals: [] } ]), - getTemplate: type => templates[type], + getTemplate: (type) => templates[type], getStaticFilePath: sinon.stub().returns('//my-cdn.com/files/') }; }; @@ -49,14 +47,14 @@ describe('registry : routes : component', () => { describe('when getting a component with server.js execution timeout', () => { let code; let response; - before(done => { + before((done) => { initialise(mockedComponents['timeout-component']); componentRoute = ComponentRoute({}, mockedRepository); - const resStatus = function (calledCode) { + const resStatus = (calledCode) => { code = calledCode; return { - json: function (calledResponse) { + json: (calledResponse) => { response = calledResponse; done(); } @@ -146,9 +144,7 @@ describe('registry : routes : component', () => { conf: { baseUrl: 'http://components.com/', plugins: { - a: function () { - return ''; - } + a: () => '' } }, status: statusStub @@ -174,11 +170,11 @@ describe('registry : routes : component', () => { describe('when getting a component with server.js asynchronous execution errors', () => { describe('when has error that gets fired on first execution', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error-component']); componentRoute = ComponentRoute({}, mockedRepository); statusStub.returns({ - json: function (response) { + json: (response) => { resJsonStub(response); done(); } @@ -216,11 +212,11 @@ describe('registry : routes : component', () => { }); describe('when has error that gets fired on following executions', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); componentRoute = ComponentRoute({}, mockedRepository); statusStub.returns({ - json: function (response) { + json: (response) => { resJsonStub(response); if (statusStub.args.length >= 2) { done(); @@ -335,7 +331,7 @@ describe('registry : routes : component', () => { }); describe('when registry implements plugin', () => { - beforeEach(done => { + beforeEach((done) => { componentRoute( { headers: {}, @@ -345,9 +341,7 @@ describe('registry : routes : component', () => { conf: { baseUrl: 'http://components.com/', plugins: { - doSomething: function () { - return 'hello hello hello my friend'; - } + doSomething: () => 'hello hello hello my friend' } }, status: statusStub @@ -373,7 +367,7 @@ describe('registry : routes : component', () => { }); describe('when registry does not implement plugin', () => { - beforeEach(done => { + beforeEach((done) => { componentRoute( { headers: {}, @@ -413,7 +407,7 @@ describe('registry : routes : component', () => { describe('when getting a component that requires a npm module', () => { describe('when registry implements dependency', () => { - beforeEach(done => { + beforeEach((done) => { initialise(mockedComponents['npm-component']); componentRoute = ComponentRoute({}, mockedRepository); @@ -450,7 +444,7 @@ describe('registry : routes : component', () => { }); describe('when registry does not implement dependency', () => { - beforeEach(done => { + beforeEach((done) => { initialise(mockedComponents['npm-component']); componentRoute = ComponentRoute({}, mockedRepository); @@ -539,12 +533,12 @@ describe('registry : routes : component', () => { }); describe('when getting a component with server.js that sets custom headers with non-empty customHeadersToSkipOnWeakVersion', () => { - before(done => { + before((done) => { initialise(mockedComponents['response-headers-component']); componentRoute = ComponentRoute({}, mockedRepository); statusStub.returns({ - json: function (response) { + json: (response) => { resJsonStub(response); done(); } @@ -588,7 +582,7 @@ describe('registry : routes : component', () => { }); describe('when getting a simple component with server.js after headers component no custom headers should be set', () => { - before(done => { + before((done) => { const headersComponent = mockedComponents['another-response-headers-component']; const simpleComponent = mockedComponents['simple-component']; @@ -613,7 +607,7 @@ describe('registry : routes : component', () => { externals: [] } ]), - getTemplate: type => templates[type], + getTemplate: (type) => templates[type], getStaticFilePath: sinon.stub().returns('//my-cdn.com/files/') }; @@ -645,7 +639,7 @@ describe('registry : routes : component', () => { resSetStub = sinon.stub(); statusStub = sinon.stub().returns({ - json: function (response) { + json: (response) => { resJsonStub(response); if (statusStub.args.length >= 2) { done(); diff --git a/test/unit/registry-routes-components.js b/test/unit/registry-routes-components.js index 68e9d6d5c..ad9579818 100644 --- a/test/unit/registry-routes-components.js +++ b/test/unit/registry-routes-components.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); const settings = require('../../dist/resources/settings').default; @@ -18,7 +16,7 @@ describe('registry : routes : components', () => { 'oc-template-handlebars': require('oc-template-handlebars') }; - const initialise = function (params) { + const initialise = (params) => { mockedRepository = { getCompiledView: sinon.stub().resolves(params.view), getComponent: sinon.stub().resolves(params.package), @@ -37,12 +35,12 @@ describe('registry : routes : components', () => { externals: [] } ]), - getTemplate: type => templates[type], + getTemplate: (type) => templates[type], getStaticFilePath: sinon.stub().returns('//my-cdn.com/files/') }; }; - const makeRequest = function (body, headersOrCallback, cb) { + const makeRequest = (body, headersOrCallback, cb) => { let callback = cb; let headers = headersOrCallback; @@ -55,10 +53,10 @@ describe('registry : routes : components', () => { { headers, body }, { conf: { baseUrl: 'http://components.com/' }, - status: function (jsonCode) { + status: (jsonCode) => { code = jsonCode; return { - json: function (jsonResponse) { + json: (jsonResponse) => { response = jsonResponse; callback(); } @@ -68,15 +66,15 @@ describe('registry : routes : components', () => { ); }; - const makeInfoRequest = function (body, cb) { + const makeInfoRequest = (body, cb) => { componentsRoute( { headers: { accept: 'application/vnd.oc.info+json' }, body: body }, { conf: { baseUrl: 'http://components.com/' }, - status: function (jsonCode) { + status: (jsonCode) => { code = jsonCode; return { - json: function (jsonResponse) { + json: (jsonResponse) => { response = jsonResponse; cb(); } @@ -87,7 +85,7 @@ describe('registry : routes : components', () => { }; describe('when making valid request for two components', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); componentsRoute = ComponentsRoute({}, mockedRepository); @@ -152,7 +150,7 @@ describe('registry : routes : components', () => { }); describe('when making request for 0 components', () => { - before(done => { + before((done) => { makeRequest({ components: [] }, done); }); @@ -166,7 +164,7 @@ describe('registry : routes : components', () => { }); describe('when making valid info request for two components', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); componentsRoute = ComponentsRoute({}, mockedRepository); @@ -222,7 +220,7 @@ describe('registry : routes : components', () => { }); describe('when making info request for 0 components', () => { - before(done => { + before((done) => { makeInfoRequest({ components: [] }, done); }); @@ -237,7 +235,7 @@ describe('registry : routes : components', () => { describe('when making not valid request', () => { describe('when not providing components property', () => { - before(done => { + before((done) => { makeRequest({}, done); }); @@ -254,7 +252,7 @@ describe('registry : routes : components', () => { }); describe('when components property is not an array', () => { - before(done => { + before((done) => { makeRequest({ components: {} }, done); }); @@ -271,7 +269,7 @@ describe('registry : routes : components', () => { }); describe('when component does not have name property', () => { - before(done => { + before((done) => { makeRequest( { components: [ @@ -298,7 +296,7 @@ describe('registry : routes : components', () => { }); describe('when components do not have name property', () => { - before(done => { + before((done) => { makeRequest( { components: [ @@ -330,7 +328,7 @@ describe('registry : routes : components', () => { }); describe('when getting a component that has custom parameters', () => { - before(done => { + before((done) => { initialise(mockedComponents['required-parameter-component']); componentsRoute = ComponentsRoute({}, mockedRepository); @@ -366,7 +364,7 @@ describe('registry : routes : components', () => { }); describe('when getting a component that has missing required parameters', () => { - before(done => { + before((done) => { initialise(mockedComponents['required-parameter-component']); componentsRoute = ComponentsRoute({}, mockedRepository); @@ -401,7 +399,7 @@ describe('registry : routes : components', () => { }); describe('when making valid info request for a component action', () => { - before(done => { + before((done) => { initialise(mockedComponents['required-parameter-component']); componentsRoute = ComponentsRoute({}, mockedRepository); diff --git a/test/unit/registry-routes-dependencies.js b/test/unit/registry-routes-dependencies.js index 408e7d29b..9c93cb3bf 100644 --- a/test/unit/registry-routes-dependencies.js +++ b/test/unit/registry-routes-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); const injectr = require('injectr'); @@ -25,12 +23,12 @@ describe('registry : routes : plugins', () => { const DependenciesRoute = injectr( '../../dist/registry/routes/dependencies.js', { - './helpers/get-available-dependencies': list => - list.map(dep => dependencyMap[dep]) + './helpers/get-available-dependencies': (list) => + list.map((dep) => dependencyMap[dep]) } ).default; - const initialise = function () { + const initialise = () => { resJsonStub = sinon.stub(); statusStub = sinon.stub().returns({ json: resJsonStub }); }; diff --git a/test/unit/registry-routes-helpers-apply-default-values.js b/test/unit/registry-routes-helpers-apply-default-values.js index c8a30a528..617f29901 100644 --- a/test/unit/registry-routes-helpers-apply-default-values.js +++ b/test/unit/registry-routes-helpers-apply-default-values.js @@ -1,14 +1,10 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : routes : helpers : apply-default-values', () => { let parameters; const applyDefaultValues = require('../../dist/registry/routes/helpers/apply-default-values').default; - const apply = function (a, b) { - return applyDefaultValues(a, b); - }; + const apply = (a, b) => applyDefaultValues(a, b); describe("when component deesn't have optional parameters", () => { const componentParameters = { diff --git a/test/unit/registry-routes-helpers-get-available-dependencies.js b/test/unit/registry-routes-helpers-get-available-dependencies.js index ea73a2f17..d137a8dd0 100644 --- a/test/unit/registry-routes-helpers-get-available-dependencies.js +++ b/test/unit/registry-routes-helpers-get-available-dependencies.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); @@ -8,7 +6,7 @@ describe('registry : routes : helpers : get-available-dependencies', () => { '../../dist/registry/routes/helpers/get-available-dependencies.js', { 'builtin-modules': ['url'], - '../../domain/require-wrapper': () => pathToPackageJson => ({ + '../../domain/require-wrapper': () => (pathToPackageJson) => ({ version: '1.2.3', homepage: `https://${pathToPackageJson.split('/')[0]}.com/` }) diff --git a/test/unit/registry-routes-helpers-get-component.js b/test/unit/registry-routes-helpers-get-component.js index f142e734a..6736a0f29 100644 --- a/test/unit/registry-routes-helpers-get-component.js +++ b/test/unit/registry-routes-helpers-get-component.js @@ -1,5 +1,3 @@ -'use strict'; - const Client = require('oc-client'); const expect = require('chai').expect; const injectr = require('injectr'); @@ -14,7 +12,7 @@ describe('registry : routes : helpers : get-component', () => { 'oc-template-jade': require('oc-template-jade'), 'oc-template-handlebars': require('oc-template-handlebars') }; - const initialise = function (params) { + const initialise = (params) => { fireStub = sinon.stub(); GetComponent = injectr( '../../dist/registry/routes/helpers/get-component.js', @@ -23,7 +21,7 @@ describe('registry : routes : helpers : get-component', () => { on: () => {}, fire: fireStub }, - 'oc-client': function () { + 'oc-client': () => { const client = Client(); return { renderTemplate: (template, data, renderOptions, cb) => { @@ -64,7 +62,7 @@ describe('registry : routes : helpers : get-component', () => { externals: [] } ]), - getTemplate: type => + getTemplate: (type) => type === 'oc-template-supported' ? templates['oc-template-jade'] : templates[type], @@ -75,7 +73,7 @@ describe('registry : routes : helpers : get-component', () => { describe('when the component has an env file', () => { let callBack; - before(done => { + before((done) => { const headers = { 'user-agent': 'oc-client-0/0-0-0', templates: 'oc-template-jade,6.0.1;oc-template-handlebars,6.0.2', @@ -108,7 +106,7 @@ describe('registry : routes : helpers : get-component', () => { }); describe('when getting a component with success', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); const getComponent = GetComponent({}, mockedRepository); @@ -143,7 +141,7 @@ describe('registry : routes : helpers : get-component', () => { }); describe('when getting a component with failure', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); const getComponent = GetComponent({}, mockedRepository); @@ -190,7 +188,7 @@ describe('registry : routes : helpers : get-component', () => { }); describe('when the component sends a custom status code', () => { - before(done => { + before((done) => { initialise(mockedComponents['async-custom-error-component']); const getComponent = GetComponent({}, mockedRepository); @@ -218,7 +216,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); @@ -254,7 +252,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error2-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); @@ -293,7 +291,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error3-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); @@ -328,7 +326,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error3-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); @@ -368,7 +366,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error4-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); @@ -404,7 +402,7 @@ describe('registry : routes : helpers : get-component', () => { }; let callBack; - before(done => { + before((done) => { initialise(mockedComponents['async-error4-component']); const getComponent = GetComponent({}, mockedRepository); callBack = sinon.spy(() => done()); diff --git a/test/unit/registry-routes-helpers-get-components-history.js b/test/unit/registry-routes-helpers-get-components-history.js index 4cfdb433b..46c0fe53b 100644 --- a/test/unit/registry-routes-helpers-get-components-history.js +++ b/test/unit/registry-routes-helpers-get-components-history.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; describe('registry : routes : helpers : get-components-history', () => { diff --git a/test/unit/registry-routes-helpers-is-url-discoverable.js b/test/unit/registry-routes-helpers-is-url-discoverable.js index 5f847862d..bc65114a5 100644 --- a/test/unit/registry-routes-helpers-is-url-discoverable.js +++ b/test/unit/registry-routes-helpers-is-url-discoverable.js @@ -1,12 +1,10 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); describe('registry : routes : helpers : is-url-discoverable', () => { describe('when url responds with application/json', () => { let result; - before(done => { + before((done) => { const isDiscoverable = injectr( '../../dist/registry/routes/helpers/is-url-discoverable.js', { @@ -20,7 +18,7 @@ describe('registry : routes : helpers : is-url-discoverable', () => { ).default; isDiscoverable('https://baseurl.company.com/') - .then(res => (result = res)) + .then((res) => (result = res)) .finally(done); }); @@ -31,7 +29,7 @@ describe('registry : routes : helpers : is-url-discoverable', () => { describe('when url responds with text/html', () => { let result; - before(done => { + before((done) => { const isDiscoverable = injectr( '../../dist/registry/routes/helpers/is-url-discoverable.js', { @@ -45,7 +43,7 @@ describe('registry : routes : helpers : is-url-discoverable', () => { ).default; isDiscoverable('https://baseurl.company.com/') - .then(res => (result = res)) + .then((res) => (result = res)) .finally(done); }); diff --git a/test/unit/registry-routes-plugins.js b/test/unit/registry-routes-plugins.js index 8fb615a21..9378c957d 100644 --- a/test/unit/registry-routes-plugins.js +++ b/test/unit/registry-routes-plugins.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); @@ -10,7 +8,7 @@ describe('registry : routes : plugins', () => { let pluginsRoute; let plugins; - const initialise = function () { + const initialise = () => { resJsonStub = sinon.stub(); statusStub = sinon.stub().returns({ json: resJsonStub }); const plugin1 = () => {}; diff --git a/test/unit/registry.js b/test/unit/registry.js index b48f0c1ac..4b92dfaa6 100644 --- a/test/unit/registry.js +++ b/test/unit/registry.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -36,7 +34,7 @@ describe('registry', () => { isValid: false, message: 'blargh' }); - init = function () { + init = () => { Registry({}); }; }); @@ -75,11 +73,11 @@ describe('registry', () => { describe('when starting it', () => { describe('when plugins initialiser fails', () => { let error; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.rejects( new Error('error!') ); - registry.start(err => { + registry.start((err) => { error = err; done(); }); @@ -93,11 +91,11 @@ describe('registry', () => { describe('when plugins initialiser succeeds', () => { describe('when repository initialisation fails', () => { let error; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.resolves('ok'); repositoryInitStub.rejects(new Error('nope')); - registry.start(err => { + registry.start((err) => { error = err; done(); }); @@ -111,12 +109,12 @@ describe('registry', () => { describe('when repository initialisation succeeds', () => { describe('when app fails to start', () => { let error; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.resolves('ok'); repositoryInitStub.resolves('ok'); deps['./app-start'].rejects({ msg: 'I got a problem' }); - registry.start(err => { + registry.start((err) => { error = err; done(); }); @@ -130,7 +128,7 @@ describe('registry', () => { describe('when app starts', () => { describe('when http listener errors', () => { let error; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.resolves('ok'); repositoryInitStub.resolves('ok'); deps['./app-start'].resolves('ok'); @@ -140,7 +138,7 @@ describe('registry', () => { on: sinon.stub() }); - registry.start(err => { + registry.start((err) => { error = err; done(); }); @@ -154,7 +152,7 @@ describe('registry', () => { describe('when http listener succeeds', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.resolves('ok'); repositoryInitStub.resolves('ok'); deps['./app-start'].resolves('ok'); @@ -191,7 +189,7 @@ describe('registry', () => { describe('when http listener emits an error before the listener to start', () => { let error; - beforeEach(done => { + beforeEach((done) => { deps['./domain/plugins-initialiser'].init.resolves('ok'); repositoryInitStub.resolves('ok'); deps['./app-start'].resolves('ok'); @@ -202,7 +200,7 @@ describe('registry', () => { on: sinon.stub().yields('I failed for some reason') }); - registry.start(err => { + registry.start((err) => { error = err; done(); }); diff --git a/test/unit/resources-settings.js b/test/unit/resources-settings.js index a9f281bc3..c642c7b8a 100644 --- a/test/unit/resources-settings.js +++ b/test/unit/resources-settings.js @@ -1,12 +1,10 @@ -'use strict'; - const expect = require('chai').expect; describe('resources : settings', () => { const settings = require('../../dist/resources/settings').default; describe('files to watch ignore regex', () => { - const execute = fileName => { + const execute = (fileName) => { const regex = settings.filesToIgnoreOnDevWatch; return regex.test(fileName) === true; }; diff --git a/test/unit/utils-date-stringify.js b/test/unit/utils-date-stringify.js index 61b8b8e4e..207eb40c7 100644 --- a/test/unit/utils-date-stringify.js +++ b/test/unit/utils-date-stringify.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const sinon = require('sinon'); diff --git a/test/unit/utils-npm-utils.js b/test/unit/utils-npm-utils.js index 843ce3f30..c70e96840 100644 --- a/test/unit/utils-npm-utils.js +++ b/test/unit/utils-npm-utils.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); @@ -29,18 +27,18 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { const { initPath, silent } = scenario.input; describe(`when invoked for ${initPath} with silent=${silent}`, () => { let error; let onStub; - beforeEach(done => { + beforeEach((done) => { onStub = sinon.stub(); crossSpawnStub.reset(); crossSpawnStub.returns({ on: onStub }); npmUtils .init(scenario.input) - .catch(err => { + .catch((err) => { error = err; }) .finally(done); @@ -117,20 +115,20 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { const dependency = scenario.input.dependency; describe(`when invoked for installing ${dependency}`, () => { let error; let result; let onStub; - beforeEach(done => { + beforeEach((done) => { onStub = sinon.stub(); crossSpawnStub.reset(); crossSpawnStub.returns({ on: onStub }); npmUtils .installDependency(scenario.input) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); onStub.args[1][1](0); @@ -228,7 +226,7 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach(scenario => { + scenarios.forEach((scenario) => { const dependencies = scenario.input.dependencies; describe(`when invoked for installing [${dependencies.join( ', ' @@ -236,14 +234,14 @@ describe('utils : npm-utils', () => { let error; let result; let onStub; - beforeEach(done => { + beforeEach((done) => { onStub = sinon.stub(); crossSpawnStub.reset(); crossSpawnStub.returns({ on: onStub }); npmUtils .installDependencies(scenario.input) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => (result = res)) + .catch((err) => (error = err)) .finally(done); onStub.args[1][1](0); }); @@ -264,7 +262,7 @@ describe('utils : npm-utils', () => { it('should return the installation path', () => { expect(result).to.deep.equal({ dest: dependencies.map( - dependency => + (dependency) => `path/to/component/node_modules/${dependency.split('@')[0]}` ) }); diff --git a/test/unit/utils-strip-version.js b/test/unit/utils-strip-version.js index 9f1ca4eb8..c271c9ec2 100644 --- a/test/unit/utils-strip-version.js +++ b/test/unit/utils-strip-version.js @@ -1,5 +1,3 @@ -'use strict'; - const expect = require('chai').expect; const path = require('path'); From 3cf2b833d3f7b4df95dab670897e3fbf9cd3c288 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 20:10:08 +0200 Subject: [PATCH 07/12] lint test --- tasks/build.js | 2 +- tasks/changelog.js | 2 +- tasks/git-stage-and-push.js | 2 +- tasks/git.js | 2 +- tasks/mochaTest.js | 2 +- tasks/version.js | 2 +- test/acceptance/registry-ui.js | 6 ++- test/acceptance/registry.js | 2 +- .../registry/registry-with-fallback.js | 2 +- test/integration/targz.js | 2 +- test/unit/cli-domain-clean.js | 20 ++++++--- test/unit/cli-domain-get-components-by-dir.js | 42 +++++++++++++------ test/unit/cli-domain-get-mocked-plugins.js | 4 +- ...domain-handle-dependencies-get-compiler.js | 4 +- ...in-handle-dependencies-install-compiler.js | 14 ++++--- ...pendencies-install-missing-dependencies.js | 4 +- ...-dependencies-link-missing-dependencies.js | 4 +- test/unit/cli-domain-handle-dependencies.js | 8 +++- ...i-domain-init-template-install-template.js | 8 +++- test/unit/cli-domain-init-template.js | 4 +- test/unit/cli-domain-mock.js | 2 +- test/unit/cli-domain-package-components.js | 6 ++- test/unit/cli-domain-registry.js | 8 +++- test/unit/cli-facade-clean.js | 6 +-- test/unit/cli-facade-init.js | 2 +- test/unit/cli-facade-package.js | 2 +- test/unit/cli-facade-publish.js | 2 +- test/unit/cli-programmatic-api.js | 4 +- test/unit/registry-app-start.js | 2 +- test/unit/registry-domain-components-cache.js | 4 +- .../registry-domain-components-details.js | 32 ++++++++++---- test/unit/registry-domain-extract-package.js | 8 +++- test/unit/registry-domain-nested-renderer.js | 36 ++++++++++++---- .../registry-domain-plugins-initialiser.js | 32 ++++++++++---- test/unit/registry-domain-repository.js | 12 ++++-- test/unit/registry-domain-require-wrapper.js | 2 +- ...utes-helpers-get-available-dependencies.js | 4 +- ...stry-routes-helpers-is-url-discoverable.js | 8 +++- test/unit/utils-npm-utils.js | 16 +++++-- test/unit/utils-strip-version.js | 2 +- 40 files changed, 227 insertions(+), 99 deletions(-) diff --git a/tasks/build.js b/tasks/build.js index 57d4cbe36..c21497848 100644 --- a/tasks/build.js +++ b/tasks/build.js @@ -4,7 +4,7 @@ const fs = require('fs-extra'); const ocClientBrowser = require('oc-client-browser'); const log = require('./logger'); -const path = require('path'); +const path = require('node:path'); const packageJson = require('../package'); const ocVersion = packageJson.version; diff --git a/tasks/changelog.js b/tasks/changelog.js index cd480035d..980bfac39 100644 --- a/tasks/changelog.js +++ b/tasks/changelog.js @@ -3,7 +3,7 @@ const async = require('async'); const fs = require('fs'); -const path = require('path'); +const path = require('node:path'); const git = require('./git'); module.exports = () => diff --git a/tasks/git-stage-and-push.js b/tasks/git-stage-and-push.js index 10a3d8ebf..999dfb7f1 100644 --- a/tasks/git-stage-and-push.js +++ b/tasks/git-stage-and-push.js @@ -3,7 +3,7 @@ const changelog = require('./changelog'); const packageJson = require('../package'); -const path = require('path'); +const path = require('node:path'); const simpleGit = require('simple-git'); const git = simpleGit(path.join(__dirname, '..')); diff --git a/tasks/git.js b/tasks/git.js index 046e747d3..84ff747c5 100644 --- a/tasks/git.js +++ b/tasks/git.js @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-var-requires */ 'use strict'; -const path = require('path'); +const path = require('node:path'); const simpleGit = require('simple-git'); const git = simpleGit(path.join(__dirname, '..')); const fs = require('fs'); diff --git a/tasks/mochaTest.js b/tasks/mochaTest.js index 7874d591a..12b07ec0c 100644 --- a/tasks/mochaTest.js +++ b/tasks/mochaTest.js @@ -8,7 +8,7 @@ const log = require('./logger'); const Mocha = require('mocha'); const minimist = require('minimist'); const oc = require('../dist'); -const path = require('path'); +const path = require('node:path'); const mocha = new Mocha({ timeout: 20000 }); const argv = minimist(process.argv.slice(2), { boolean: 'silent' }); diff --git a/tasks/version.js b/tasks/version.js index cc147523e..391c62d88 100644 --- a/tasks/version.js +++ b/tasks/version.js @@ -5,7 +5,7 @@ const fs = require('fs-extra'); const log = require('./logger'); const packageJson = require('../package'); const minimist = require('minimist'); -const path = require('path'); +const path = require('node:path'); const semver = require('semver'); const argv = minimist(process.argv.slice(2), { diff --git a/test/acceptance/registry-ui.js b/test/acceptance/registry-ui.js index 50329e7da..4fb79a68d 100644 --- a/test/acceptance/registry-ui.js +++ b/test/acceptance/registry-ui.js @@ -1,6 +1,6 @@ const expect = require('chai').expect; const oc = require('../../dist/index'); -const path = require('path'); +const path = require('node:path'); const got = require('got'); describe('registry (ui interface)', () => { @@ -15,7 +15,9 @@ describe('registry (ui interface)', () => { headers = r.headers; result = r.body; }) - .catch((e) => (error = e)) + .catch((e) => { + error = e; + }) .finally(done); }; diff --git a/test/acceptance/registry.js b/test/acceptance/registry.js index 442cc3144..608ee1287 100644 --- a/test/acceptance/registry.js +++ b/test/acceptance/registry.js @@ -1,6 +1,6 @@ const expect = require('chai').expect; const emptyResponseHandler = require('oc-empty-response-handler'); -const path = require('path'); +const path = require('node:path'); const got = require('got'); describe('registry', () => { diff --git a/test/acceptance/registry/registry-with-fallback.js b/test/acceptance/registry/registry-with-fallback.js index 2d411460d..23690b30d 100644 --- a/test/acceptance/registry/registry-with-fallback.js +++ b/test/acceptance/registry/registry-with-fallback.js @@ -1,5 +1,5 @@ const expect = require('chai').expect; -const path = require('path'); +const path = require('node:path'); const got = require('got'); describe('registry', () => { diff --git a/test/integration/targz.js b/test/integration/targz.js index 2ae7f7931..c0ac89cdc 100644 --- a/test/integration/targz.js +++ b/test/integration/targz.js @@ -1,6 +1,6 @@ const expect = require('chai').expect; const fs = require('fs-extra'); -const path = require('path'); +const path = require('node:path'); const targz = require('targz'); describe('The targz dependency', () => { diff --git a/test/unit/cli-domain-clean.js b/test/unit/cli-domain-clean.js index 89af57c70..ab3ce32e1 100644 --- a/test/unit/cli-domain-clean.js +++ b/test/unit/cli-domain-clean.js @@ -26,8 +26,12 @@ describe('cli : domain : clean', () => { const clean = initialize(); clean .fetchList('my-components-folder') - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -46,7 +50,9 @@ describe('cli : domain : clean', () => { clean .fetchList('my-components-folder') - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -65,7 +71,9 @@ describe('cli : domain : clean', () => { clean .remove(['path/to/my-component1/node_modules']) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -88,7 +96,9 @@ describe('cli : domain : clean', () => { clean .remove(['path/to/my-component1/node_modules']) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/cli-domain-get-components-by-dir.js b/test/unit/cli-domain-get-components-by-dir.js index 81dd4b3eb..33e0f1a1b 100644 --- a/test/unit/cli-domain-get-components-by-dir.js +++ b/test/unit/cli-domain-get-components-by-dir.js @@ -1,6 +1,6 @@ const expect = require('chai').expect; const injectr = require('injectr'); -const path = require('path'); +const path = require('node:path'); const sinon = require('sinon'); const initialise = () => { @@ -36,7 +36,7 @@ describe('cli : domain : get-components-by-dir', () => { describe('when getting components from dir', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { const data = initialise(); data.fs.readdir @@ -60,8 +60,12 @@ describe('cli : domain : get-components-by-dir', () => { data.fs.readJsonSync.onCall(4).returns({}); executeComponentsListingByDir(data.local) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -77,7 +81,7 @@ describe('cli : domain : get-components-by-dir', () => { describe('when reading a broken package.json', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { const data = initialise(); data.fs.readdir @@ -88,8 +92,12 @@ describe('cli : domain : get-components-by-dir', () => { data.fs.readJsonSync.onCall(1).returns({ oc: {} }); executeComponentsListingByDir(data.local) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -105,7 +113,7 @@ describe('cli : domain : get-components-by-dir', () => { describe('when finds no components', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { const data = initialise(); data.fs.readdir @@ -121,8 +129,12 @@ describe('cli : domain : get-components-by-dir', () => { .throws(new Error('ENOENT: no such file or directory')); executeComponentsListingByDir(data.local) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -138,7 +150,7 @@ describe('cli : domain : get-components-by-dir', () => { describe('when components are filtered', () => { let error; let result; - beforeEach(done => { + beforeEach((done) => { const data = initialise(); data.fs.readdir @@ -160,8 +172,12 @@ describe('cli : domain : get-components-by-dir', () => { .throws(new Error('ENOENT: no such file or directory')); executeComponentsListingByDir(data.local, ['component1', 'component3']) - .then(res => (result = res)) - .catch(err => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/cli-domain-get-mocked-plugins.js b/test/unit/cli-domain-get-mocked-plugins.js index 7941f1d76..4682200b1 100644 --- a/test/unit/cli-domain-get-mocked-plugins.js +++ b/test/unit/cli-domain-get-mocked-plugins.js @@ -5,7 +5,7 @@ const sinon = require('sinon'); const noop = () => {}; describe('cli : domain : get-mocked-plugins', () => { - const dynamicPluginModule = a => (a ? 'blarg' : 'flarg'); + const dynamicPluginModule = (a) => (a ? 'blarg' : 'flarg'); const notAFunctionModule = { foo: 'bar' }; const dynamicObjectPluginModule = { register: (opts, deps, next) => next(), @@ -27,7 +27,7 @@ describe('cli : domain : get-mocked-plugins', () => { }; const fakePathFunc = (...args) => - args.map(x => x.replace(/\.\//g, '')).join(''); + args.map((x) => x.replace(/\.\//g, '')).join(''); getMockedPlugins = injectr('../../dist/cli/domain/get-mocked-plugins.js', { 'fs-extra': fsMock, diff --git a/test/unit/cli-domain-handle-dependencies-get-compiler.js b/test/unit/cli-domain-handle-dependencies-get-compiler.js index ed52e1d8a..96acc0765 100644 --- a/test/unit/cli-domain-handle-dependencies-get-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-get-compiler.js @@ -31,7 +31,9 @@ describe('cli : domain : handle-dependencies : get-compiler', () => { ).default; getCompiler(options) - .catch((err) => (error = err.name)) + .catch((err) => { + error = err.name; + }) .finally(done); }; diff --git a/test/unit/cli-domain-handle-dependencies-install-compiler.js b/test/unit/cli-domain-handle-dependencies-install-compiler.js index 52b07ec1c..f3b9346b2 100644 --- a/test/unit/cli-domain-handle-dependencies-install-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-install-compiler.js @@ -40,8 +40,12 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { ).default; installCompiler(installOptions) - .then((compiler) => (result = compiler)) - .catch((err) => (error = err)) + .then((compiler) => { + result = compiler; + }) + .catch((err) => { + error = err; + }) .finally(done); }; @@ -68,7 +72,7 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { it('should log progress', () => { expect(loggerMock.warn.args[0][0]).to.contain( - `Trying to install missing modules: oc-template-react-compiler@1.2.3` + 'Trying to install missing modules: oc-template-react-compiler@1.2.3' ); expect(loggerMock.warn.args[0][0]).to.contain( "If you aren't connected to the internet, or npm isn't configured then this step will fail..." @@ -88,7 +92,7 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { it('should log progress', () => { expect(loggerMock.warn.args[0][0]).to.contain( - `Trying to install missing modules: oc-template-react-compiler@1.2.3` + 'Trying to install missing modules: oc-template-react-compiler@1.2.3' ); expect(loggerMock.warn.args[0][0]).to.contain( "If you aren't connected to the internet, or npm isn't configured then this step will fail..." @@ -108,7 +112,7 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { it('should log progress', () => { expect(loggerMock.warn.args[0][0]).to.contain( - `Trying to install missing modules: oc-template-react-compiler@1.2.3` + 'Trying to install missing modules: oc-template-react-compiler@1.2.3' ); expect(loggerMock.warn.args[0][0]).to.contain( "If you aren't connected to the internet, or npm isn't configured then this step will fail..." diff --git a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js index 87a9a4367..11f9c8fc3 100644 --- a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js @@ -26,7 +26,9 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () const installOptions = { dependencies, logger }; installMissingDependencies(installOptions) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }; diff --git a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js index 30e6d1b40..6e37415b1 100644 --- a/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-link-missing-dependencies.js @@ -27,7 +27,9 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () logger }; linkMissingDependencies(installOptions) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }; diff --git a/test/unit/cli-domain-handle-dependencies.js b/test/unit/cli-domain-handle-dependencies.js index 32c121d65..1a941e13c 100644 --- a/test/unit/cli-domain-handle-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies.js @@ -74,8 +74,12 @@ describe('cli : domain : handle-dependencies', () => { }; handleDependencies({ components: Object.keys(components), logger }) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/cli-domain-init-template-install-template.js b/test/unit/cli-domain-init-template-install-template.js index be3b913a0..707820395 100644 --- a/test/unit/cli-domain-init-template-install-template.js +++ b/test/unit/cli-domain-init-template-install-template.js @@ -33,8 +33,12 @@ describe('cli : domain : init-template : install-template', () => { npmUtils.installDependency.resolves({ dest }); isTemplateValid.returns(true); installTemplate(config) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/cli-domain-init-template.js b/test/unit/cli-domain-init-template.js index 02d7ffa2b..699c9c56a 100644 --- a/test/unit/cli-domain-init-template.js +++ b/test/unit/cli-domain-init-template.js @@ -29,7 +29,9 @@ describe('cli : domain : init-template', () => { }; initTemplate(options) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(cb); }; diff --git a/test/unit/cli-domain-mock.js b/test/unit/cli-domain-mock.js index 1da684f52..90def78aa 100644 --- a/test/unit/cli-domain-mock.js +++ b/test/unit/cli-domain-mock.js @@ -1,6 +1,6 @@ const expect = require('chai').expect; const injectr = require('injectr'); -const path = require('path'); +const path = require('node:path'); const sinon = require('sinon'); const initialise = () => { diff --git a/test/unit/cli-domain-package-components.js b/test/unit/cli-domain-package-components.js index de662bc99..c7756fda0 100644 --- a/test/unit/cli-domain-package-components.js +++ b/test/unit/cli-domain-package-components.js @@ -93,7 +93,7 @@ describe('cli : domain : package-components', () => { error = err; }) .finally(() => { - expect(error && error.message).to.equal('Ouch'); + expect(error?.message).to.equal('Ouch'); done(); }); }); @@ -107,7 +107,9 @@ describe('cli : domain : package-components', () => { componentPath: '.', minify: true }) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(() => { expect(error.message).to.equal('name not valid'); done(); diff --git a/test/unit/cli-domain-registry.js b/test/unit/cli-domain-registry.js index a171bc2b0..4439ed409 100644 --- a/test/unit/cli-domain-registry.js +++ b/test/unit/cli-domain-registry.js @@ -165,8 +165,12 @@ describe('cli : domain : registry', () => { }); registry .getComponentPreviewUrlByUrl(href) - .then((r) => (res = r)) - .catch((e) => (err = e)) + .then((r) => { + res = r; + }) + .catch((e) => { + err = e; + }) .finally(done); }; diff --git a/test/unit/cli-facade-clean.js b/test/unit/cli-facade-clean.js index bf1e18271..6fd1ca61c 100644 --- a/test/unit/cli-facade-clean.js +++ b/test/unit/cli-facade-clean.js @@ -70,7 +70,7 @@ describe('cli : facade : clean', () => { 'The following folders will be removed:\n/folder/to/remove' )); - it(`should remove the folder`, () => + it('should remove the folder', () => expect(removeMock.args[0][0]).to.eql(['/folder/to/remove'])); it('should show a message when done', () => @@ -102,7 +102,7 @@ describe('cli : facade : clean', () => { prompt: 'Proceed? [Y/n]' })); - it(`should then remove the folder`, () => + it('should then remove the folder', () => expect(removeMock.args[0][0]).to.eql(['/folder/to/remove'])); it('should show a message when done', () => @@ -158,7 +158,7 @@ describe('cli : facade : clean', () => { 'The following folders will be removed:\n/folder/to/remove' )); - it(`should try removing the folder`, () => + it('should try removing the folder', () => expect(removeMock.args[0][0]).to.eql(['/folder/to/remove'])); it('should show an error message at the end', () => diff --git a/test/unit/cli-facade-init.js b/test/unit/cli-facade-init.js index 3426bee45..992f41466 100644 --- a/test/unit/cli-facade-init.js +++ b/test/unit/cli-facade-init.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('node:path'); const expect = require('chai').expect; const sinon = require('sinon'); const injectr = require('injectr'); diff --git a/test/unit/cli-facade-package.js b/test/unit/cli-facade-package.js index de455dd00..c41d5010f 100644 --- a/test/unit/cli-facade-package.js +++ b/test/unit/cli-facade-package.js @@ -1,5 +1,5 @@ const expect = require('chai').expect; -const path = require('path'); +const path = require('node:path'); const sinon = require('sinon'); describe('cli : facade : package', () => { diff --git a/test/unit/cli-facade-publish.js b/test/unit/cli-facade-publish.js index 716e2c070..3904d018b 100644 --- a/test/unit/cli-facade-publish.js +++ b/test/unit/cli-facade-publish.js @@ -1,7 +1,7 @@ const colors = require('colors/safe'); const expect = require('chai').expect; const injectr = require('injectr'); -const path = require('path'); +const path = require('node:path'); const sinon = require('sinon'); describe('cli : facade : publish', () => { diff --git a/test/unit/cli-programmatic-api.js b/test/unit/cli-programmatic-api.js index 07fbe718d..0221d9e90 100644 --- a/test/unit/cli-programmatic-api.js +++ b/test/unit/cli-programmatic-api.js @@ -56,12 +56,12 @@ describe('cli : programmatic-api', () => { describe(`cmd: cli.${scenario.cmd}`, () => { const fn = _.get(programmaticApi, scenario.cmd); - it(`should be function`, () => { + it('should be function', () => { expect(typeof fn).to.equal('function'); expect(fn.length).to.equal(2); }); - it(`should correctly wrap the related facade`, () => { + it('should correctly wrap the related facade', () => { fn({}, () => {}); expect(deps[`./facade/${scenario.facade}`].args[0][0]) .to.be.an('object') diff --git a/test/unit/registry-app-start.js b/test/unit/registry-app-start.js index 94c6ef6a7..c4116a0b7 100644 --- a/test/unit/registry-app-start.js +++ b/test/unit/registry-app-start.js @@ -1,7 +1,7 @@ const expect = require('chai').expect; const injectr = require('injectr'); const sinon = require('sinon'); -const path = require('path'); +const path = require('node:path'); const getAppStart = (mockedRepository, options, callback) => { const appStart = injectr( diff --git a/test/unit/registry-domain-components-cache.js b/test/unit/registry-domain-components-cache.js index e04e3df24..d083d45d7 100644 --- a/test/unit/registry-domain-components-cache.js +++ b/test/unit/registry-domain-components-cache.js @@ -66,7 +66,9 @@ describe('registry : domain : components-cache', () => { initialise(); componentsCache .load() - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/registry-domain-components-details.js b/test/unit/registry-domain-components-details.js index 7fd197caa..59a84bca7 100644 --- a/test/unit/registry-domain-components-details.js +++ b/test/unit/registry-domain-components-details.js @@ -25,8 +25,12 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); describe('get()', () => { @@ -208,8 +212,12 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); before((done) => { @@ -267,8 +275,12 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); before((done) => { @@ -424,8 +436,12 @@ describe('registry : domain : components-details', () => { const next = (promise, done) => promise - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); before((done) => { diff --git a/test/unit/registry-domain-extract-package.js b/test/unit/registry-domain-extract-package.js index e665d9419..98022596b 100644 --- a/test/unit/registry-domain-extract-package.js +++ b/test/unit/registry-domain-extract-package.js @@ -43,7 +43,9 @@ describe('registry : domain : extract-package', () => { ], 766 ) - .then((res) => (response = res)) + .then((res) => { + response = res; + }) .finally(done); }); @@ -92,7 +94,9 @@ describe('registry : domain : extract-package', () => { ], 766 ) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/registry-domain-nested-renderer.js b/test/unit/registry-domain-nested-renderer.js index 7b3bc62d1..2acad8c5f 100644 --- a/test/unit/registry-domain-nested-renderer.js +++ b/test/unit/registry-domain-nested-renderer.js @@ -62,7 +62,9 @@ describe('registry : routes : helpers : nested-renderer', () => { nestedRenderer .renderComponent('404-component', {}) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -96,8 +98,12 @@ describe('registry : routes : helpers : nested-renderer', () => { parameters: { a: 1234 }, version: '1.2.X' }) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -140,8 +146,12 @@ describe('registry : routes : helpers : nested-renderer', () => { nestedRenderer .renderComponent('my-component') - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -280,8 +290,12 @@ describe('registry : routes : helpers : nested-renderer', () => { } } ) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -352,8 +366,12 @@ describe('registry : routes : helpers : nested-renderer', () => { { name: 'my-component' }, { name: 'my-other-component' } ]) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); }); diff --git a/test/unit/registry-domain-plugins-initialiser.js b/test/unit/registry-domain-plugins-initialiser.js index 50118dcb4..d1d98d75e 100644 --- a/test/unit/registry-domain-plugins-initialiser.js +++ b/test/unit/registry-domain-plugins-initialiser.js @@ -15,7 +15,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -40,7 +42,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -61,7 +65,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -84,7 +90,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -130,7 +138,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .then((res) => (result = res)) + .then((res) => { + result = res; + }) .finally(done); }); @@ -228,7 +238,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -258,7 +270,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .catch((err) => (error = err)) + .catch((err) => { + error = err; + }) .finally(done); }); @@ -310,7 +324,9 @@ describe('registry : domain : plugins-initialiser', () => { pluginsInitialiser .init(plugins) - .then((res) => (result = res)) + .then((res) => { + result = res; + }) .finally(done); }); diff --git a/test/unit/registry-domain-repository.js b/test/unit/registry-domain-repository.js index b4a7b030c..a46a284ef 100644 --- a/test/unit/registry-domain-repository.js +++ b/test/unit/registry-domain-repository.js @@ -1,7 +1,7 @@ const expect = require('chai').expect; const fs = require('fs-extra'); const injectr = require('injectr'); -const path = require('path'); +const path = require('node:path'); const sinon = require('sinon'); describe('registry : domain : repository', () => { @@ -9,8 +9,12 @@ describe('registry : domain : repository', () => { const savePromiseResult = (promise, done) => { response = {}; promise - .then((res) => (response.result = res)) - .catch((err) => (response.error = err)) + .then((res) => { + response.result = res; + }) + .catch((err) => { + response.error = err; + }) .finally(done); }; @@ -211,7 +215,7 @@ describe('registry : domain : repository', () => { it('should respond with a proper error', () => { expect(response.error).not.to.be.empty; expect(response.error).to.equal( - `component not available: File not valid` + 'component not available: File not valid' ); }); }); diff --git a/test/unit/registry-domain-require-wrapper.js b/test/unit/registry-domain-require-wrapper.js index e72943a23..76e43de0f 100644 --- a/test/unit/registry-domain-require-wrapper.js +++ b/test/unit/registry-domain-require-wrapper.js @@ -1,5 +1,5 @@ const expect = require('chai').expect; -const vm = require('vm'); +const vm = require('node:vm'); describe('registry : domain : require-wrapper', () => { const RequireWrapper = diff --git a/test/unit/registry-routes-helpers-get-available-dependencies.js b/test/unit/registry-routes-helpers-get-available-dependencies.js index d137a8dd0..a0d65d386 100644 --- a/test/unit/registry-routes-helpers-get-available-dependencies.js +++ b/test/unit/registry-routes-helpers-get-available-dependencies.js @@ -15,7 +15,9 @@ describe('registry : routes : helpers : get-available-dependencies', () => { describe('happy path', () => { let result; - before(() => (result = getAvailableDependencies(['moment', 'url']))); + before(() => { + result = getAvailableDependencies(['moment', 'url']); + }); it('should map to structured view-model', () => { expect(result).to.eql([ diff --git a/test/unit/registry-routes-helpers-is-url-discoverable.js b/test/unit/registry-routes-helpers-is-url-discoverable.js index bc65114a5..0b5825b3e 100644 --- a/test/unit/registry-routes-helpers-is-url-discoverable.js +++ b/test/unit/registry-routes-helpers-is-url-discoverable.js @@ -18,7 +18,9 @@ describe('registry : routes : helpers : is-url-discoverable', () => { ).default; isDiscoverable('https://baseurl.company.com/') - .then((res) => (result = res)) + .then((res) => { + result = res; + }) .finally(done); }); @@ -43,7 +45,9 @@ describe('registry : routes : helpers : is-url-discoverable', () => { ).default; isDiscoverable('https://baseurl.company.com/') - .then((res) => (result = res)) + .then((res) => { + result = res; + }) .finally(done); }); diff --git a/test/unit/utils-npm-utils.js b/test/unit/utils-npm-utils.js index c70e96840..f5dd9cfb4 100644 --- a/test/unit/utils-npm-utils.js +++ b/test/unit/utils-npm-utils.js @@ -127,8 +127,12 @@ describe('utils : npm-utils', () => { crossSpawnStub.returns({ on: onStub }); npmUtils .installDependency(scenario.input) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); onStub.args[1][1](0); @@ -240,8 +244,12 @@ describe('utils : npm-utils', () => { crossSpawnStub.returns({ on: onStub }); npmUtils .installDependencies(scenario.input) - .then((res) => (result = res)) - .catch((err) => (error = err)) + .then((res) => { + result = res; + }) + .catch((err) => { + error = err; + }) .finally(done); onStub.args[1][1](0); }); diff --git a/test/unit/utils-strip-version.js b/test/unit/utils-strip-version.js index c271c9ec2..4abf841ae 100644 --- a/test/unit/utils-strip-version.js +++ b/test/unit/utils-strip-version.js @@ -1,5 +1,5 @@ const expect = require('chai').expect; -const path = require('path'); +const path = require('node:path'); describe('utils : stripVersion', () => { const stripVersion = require('../../dist/utils/strip-version').default; From a427dd8bc42a47e4ce93d680b398d0b6086c2ec5 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 20:12:03 +0200 Subject: [PATCH 08/12] lint tasks --- package.json | 4 ++-- tasks/build.js | 5 +---- tasks/changelog.js | 9 +++------ tasks/git-stage-and-push.js | 3 --- tasks/git.js | 11 ++++------- tasks/logger.js | 16 ++++++---------- tasks/mochaTest.js | 15 ++++++--------- tasks/npm-publish.js | 2 +- tasks/version.js | 3 --- 9 files changed, 23 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 363a0007d..3c281a20e 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "types": "./dist/index.d.ts", "bin": "./dist/oc-cli.js", "scripts": { - "lint": "npx @biomejs/biome check src", - "lint:apply": "npx @biomejs/biome check --apply src", + "lint": "npx @biomejs/biome check src test tasks", + "lint:apply": "npx @biomejs/biome check --apply src test tasks", "prebuild": "rimraf dist", "build": "npm run lint && tsc && node tasks/build.js", "git-stage-and-push": "node tasks/git-stage-and-push.js", diff --git a/tasks/build.js b/tasks/build.js index c21497848..e03c5f5f5 100644 --- a/tasks/build.js +++ b/tasks/build.js @@ -1,6 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const fs = require('fs-extra'); const ocClientBrowser = require('oc-client-browser'); const log = require('./logger'); @@ -63,7 +60,7 @@ ocClientBrowser.getLibs((err, libs) => { ); log.complete('Client has been built and packaged'); }) - .catch(err => { + .catch((err) => { log.error(err); }); }); diff --git a/tasks/changelog.js b/tasks/changelog.js index 980bfac39..94c56f351 100644 --- a/tasks/changelog.js +++ b/tasks/changelog.js @@ -1,8 +1,5 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const async = require('async'); -const fs = require('fs'); +const fs = require('node:fs'); const path = require('node:path'); const git = require('./git'); @@ -10,7 +7,7 @@ module.exports = () => new Promise((resolve, reject) => { const writeChangelog = (changelog, cb) => { let result = '## Change Log'; - changelog.forEach(pr => { + changelog.forEach((pr) => { if (pr.changes.length > 0) { result += `\n\n### ${pr.tag.to}\n${pr.changes.join('\n')}`; } @@ -31,7 +28,7 @@ module.exports = () => next(err); }); }, - err => { + (err) => { if (err) { return reject(err); } diff --git a/tasks/git-stage-and-push.js b/tasks/git-stage-and-push.js index 999dfb7f1..4febf06ae 100644 --- a/tasks/git-stage-and-push.js +++ b/tasks/git-stage-and-push.js @@ -1,6 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const changelog = require('./changelog'); const packageJson = require('../package'); const path = require('node:path'); diff --git a/tasks/git.js b/tasks/git.js index 84ff747c5..768eeba32 100644 --- a/tasks/git.js +++ b/tasks/git.js @@ -1,16 +1,13 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const path = require('node:path'); const simpleGit = require('simple-git'); const git = simpleGit(path.join(__dirname, '..')); -const fs = require('fs'); +const fs = require('node:fs'); const utils = { - formatPrs: commits => { + formatPrs: (commits) => { const result = []; - commits.forEach(commit => { + commits.forEach((commit) => { const commitMessages = commit.message.split('Merge pull request'); const isPr = commitMessages.length > 1; const isSquashedPr = !!commit.message.match(/(.*?)\(#(.*?)\)/g); @@ -47,7 +44,7 @@ const utils = { return result; }, - getFirstCommitHash: cb => { + getFirstCommitHash: (cb) => { git.log(['--reverse'], (err, changes) => { if (err) { cb(err, null); diff --git a/tasks/logger.js b/tasks/logger.js index 519c6429b..a22768fae 100644 --- a/tasks/logger.js +++ b/tasks/logger.js @@ -1,16 +1,12 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const chalk = require('chalk'); const nodeEmoji = require('node-emoji'); -const log = (col, style, emoji) => - function (msg) { - // eslint-disable-next-line no-console - console.log( - chalk[style][col](msg) + (emoji ? ` ${nodeEmoji.get(emoji)}` : '') - ); - }; +const log = (col, style, emoji) => (msg) => { + // eslint-disable-next-line no-console + console.log( + chalk[style][col](msg) + (emoji ? ` ${nodeEmoji.get(emoji)}` : '') + ); +}; module.exports = { complete: log('green', 'reset', 'thumbsup'), diff --git a/tasks/mochaTest.js b/tasks/mochaTest.js index 12b07ec0c..b11fbd057 100644 --- a/tasks/mochaTest.js +++ b/tasks/mochaTest.js @@ -1,6 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const async = require('async'); const fs = require('fs-extra'); const glob = require('glob'); @@ -25,7 +22,7 @@ if (argv.silent) { const componentsToPackage = fs .readdirSync(componentsFixturesPath) - .filter(x => x !== 'handlebars3-component'); + .filter((x) => x !== 'handlebars3-component'); const packageComponent = (componentName, done) => oc.cli.package( @@ -33,24 +30,24 @@ const packageComponent = (componentName, done) => componentPath: path.join(componentsFixturesPath, componentName), compress: false }, - err => done(err) + (err) => done(err) ); const addTestSuite = (dir, done) => glob(path.join(__dirname, '..', dir), (err, files) => { - files.forEach(file => mocha.addFile(file)); + files.forEach((file) => mocha.addFile(file)); done(); }); -async.eachSeries(componentsToPackage, packageComponent, err => { +async.eachSeries(componentsToPackage, packageComponent, (err) => { if (err) { log.error(`Error during test components packaging: ${err}`); process.exit(1); } else { - log.complete(`Test components packaged`); + log.complete('Test components packaged'); } async.each(testDirs, addTestSuite, () => - mocha.run(err => process.on('exit', () => process.exit(err))) + mocha.run((err) => process.on('exit', () => process.exit(err))) ); }); diff --git a/tasks/npm-publish.js b/tasks/npm-publish.js index d5e0d050c..2aa168ee6 100644 --- a/tasks/npm-publish.js +++ b/tasks/npm-publish.js @@ -24,7 +24,7 @@ cmd.on('error', () => { log.fatal('npm publish failed'); }); -cmd.on('close', code => { +cmd.on('close', (code) => { if (code === 0) { log.complete('npm publish succeeded'); } diff --git a/tasks/version.js b/tasks/version.js index 391c62d88..37e8daa7d 100644 --- a/tasks/version.js +++ b/tasks/version.js @@ -1,6 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -'use strict'; - const fs = require('fs-extra'); const log = require('./logger'); const packageJson = require('../package'); From 7b039380a63b65be0cb3af4e444dbfd17b650111 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 22:29:50 +0200 Subject: [PATCH 09/12] fix noForEach and noCatchAssign --- biome.json | 2 -- .../get-missing-dependencies.ts | 4 ++-- src/cli/domain/handle-dependencies/index.ts | 13 +++++++------ .../handle-dependencies/require-template.ts | 13 ++++++++----- src/cli/facade/dev.ts | 11 ++++++----- src/cli/facade/publish.ts | 8 +++++--- src/cli/facade/registry-ls.ts | 4 +++- src/cli/index.ts | 4 ++-- src/registry/domain/events-handler.ts | 4 ++-- src/registry/domain/plugins-initialiser.ts | 16 +++++++++------- src/registry/router.ts | 6 +++--- .../routes/helpers/apply-default-values.ts | 15 ++++++++------- src/utils/put.ts | 4 ++-- tasks/changelog.js | 4 ++-- tasks/git.js | 4 ++-- tasks/mochaTest.js | 4 +++- ...ndle-dependencies-get-missing-dependencies.js | 4 ++-- test/unit/cli-programmatic-api.js | 4 ++-- test/unit/cli-validate-command.js | 8 ++++---- test/unit/registry-domain-options-sanitiser.js | 8 ++++---- test/unit/registry-domain-validator.js | 4 ++-- test/unit/utils-npm-utils.js | 12 ++++++------ 22 files changed, 84 insertions(+), 72 deletions(-) diff --git a/biome.json b/biome.json index af5f8270d..5886535da 100644 --- a/biome.json +++ b/biome.json @@ -21,7 +21,6 @@ "rules": { "recommended": true, "complexity": { - "noForEach": "off", "useLiteralKeys": "off" }, "style": { @@ -30,7 +29,6 @@ "useTemplate": "off" }, "suspicious": { - "noCatchAssign": "off", "noExplicitAny": "off", "noPrototypeBuiltins": "off" } diff --git a/src/cli/domain/handle-dependencies/get-missing-dependencies.ts b/src/cli/domain/handle-dependencies/get-missing-dependencies.ts index bb84cf866..95351e680 100644 --- a/src/cli/domain/handle-dependencies/get-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/get-missing-dependencies.ts @@ -6,12 +6,12 @@ export default function getMissingDependencies( ): string[] { const missing: string[] = []; - Object.entries(dependencies).forEach(([dependency, version]) => { + for (const [dependency, version] of Object.entries(dependencies)) { const pathToModule = path.resolve('node_modules/', dependency); if (!moduleExists(pathToModule)) { missing.push(`${dependency}@${version || 'latest'}`); } - }); + } return missing; } diff --git a/src/cli/domain/handle-dependencies/index.ts b/src/cli/domain/handle-dependencies/index.ts index 33b0074e8..69978857f 100644 --- a/src/cli/domain/handle-dependencies/index.ts +++ b/src/cli/domain/handle-dependencies/index.ts @@ -29,12 +29,13 @@ export default async function handleDependencies(options: { const { components, logger, useComponentDependencies } = options; const dependencies: Record = {}; - const addDependencies = (componentDependencies?: Record) => - Object.entries(componentDependencies || {}).forEach( - ([dependency, version]) => { - dependencies[dependency] = version; - } - ); + const addDependencies = (componentDependencies?: Record) => { + for (const [dependency, version] of Object.entries( + componentDependencies || {} + )) { + dependencies[dependency] = version; + } + }; const templates: Record = {}; const addTemplate = (templateName: string, template: Template) => { diff --git a/src/cli/domain/handle-dependencies/require-template.ts b/src/cli/domain/handle-dependencies/require-template.ts index fa8bd09f4..6d14e14e1 100644 --- a/src/cli/domain/handle-dependencies/require-template.ts +++ b/src/cli/domain/handle-dependencies/require-template.ts @@ -48,11 +48,14 @@ export default function requireTemplate( template ); - [componentRelativePath, template, localTemplate, relativeTemplate].forEach( - (pathToTry) => { - ocTemplate = ocTemplate || cleanRequire(pathToTry, { justTry: true }); - } - ); + for (const pathToTry of [ + componentRelativePath, + template, + localTemplate, + relativeTemplate + ]) { + ocTemplate = ocTemplate || cleanRequire(pathToTry, { justTry: true }); + } if (!ocTemplate) { throw new Error(strings.errors.cli.TEMPLATE_NOT_FOUND(template)); diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index dbc956408..7e39fd962 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -108,7 +108,9 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => const registerPlugins = (registry: Registry) => { const mockedPlugins = getMockedPlugins(logger, componentsDir); - mockedPlugins.forEach((p) => registry.register(p)); + for (const plugin of mockedPlugins) { + registry.register(plugin); + } registry.on('request', (data) => { if (data.errorCode === 'PLUGIN_MISSING_FROM_REGISTRY') { @@ -135,10 +137,9 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => } logger.ok('OK'); - components.forEach((component) => - logger.log(colors.green('├── ') + component) - ); - + for (const component of components) { + logger.log(colors.green('├── ') + component); + } const dependencies = await handleDependencies({ components, logger diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index 54902be46..aff93087c 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -133,14 +133,16 @@ const publish = ({ } else { if (err.message) { // eslint-disable-next-line no-ex-assign - err = err.message; + errorMessage = err.message; } else if (err && typeof err === 'object') { try { // eslint-disable-next-line no-ex-assign - err = JSON.stringify(err); + errorMessage = JSON.stringify(err); } catch (er) {} } - errorMessage = strings.errors.cli.PUBLISHING_FAIL(String(err)); + errorMessage = strings.errors.cli.PUBLISHING_FAIL( + String(errorMessage) + ); logger.err(errorMessage); throw errorMessage; diff --git a/src/cli/facade/registry-ls.ts b/src/cli/facade/registry-ls.ts index 70b185002..0a2cd3055 100644 --- a/src/cli/facade/registry-ls.ts +++ b/src/cli/facade/registry-ls.ts @@ -24,7 +24,9 @@ const registryLs = ({ throw err; } - registries.forEach((registryLocation) => logger.ok(registryLocation)); + for (const registryLocation of registries) { + logger.ok(registryLocation); + } return registries; } catch (err) { diff --git a/src/cli/index.ts b/src/cli/index.ts index b26354089..2fd3bea99 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -123,9 +123,9 @@ function processCommand( ); } -Object.entries(commands.commands).forEach(([commandName, command]) => { +for (const [commandName, command] of Object.entries(commands.commands)) { processCommand(command, commandName, cli); -}); +} const argv = cli .completion() diff --git a/src/registry/domain/events-handler.ts b/src/registry/domain/events-handler.ts index 61a6879bf..8ea957792 100644 --- a/src/registry/domain/events-handler.ts +++ b/src/registry/domain/events-handler.ts @@ -56,9 +56,9 @@ type EventsHandler = { const eventsHandler: EventsHandler = { fire(eventName: string, eventData: unknown): void { if (subscriptions[eventName]) { - subscriptions[eventName].forEach((callback) => { + for (const callback of subscriptions[eventName]) { callback(eventData); - }); + } } }, diff --git a/src/registry/domain/plugins-initialiser.ts b/src/registry/domain/plugins-initialiser.ts index 1b94e2152..c40532b80 100644 --- a/src/registry/domain/plugins-initialiser.ts +++ b/src/registry/domain/plugins-initialiser.ts @@ -27,21 +27,23 @@ function validatePlugins(plugins: unknown[]): asserts plugins is Plugin[] { function checkDependencies(plugins: Plugin[]) { const graph = new DepGraph(); - plugins.forEach((p) => graph.addNode(p.name)); + for (const plugin of plugins) { + graph.addNode(plugin.name); + } - plugins.forEach((p) => { + for (const p of plugins) { if (!p.register.dependencies) { return; } - p.register.dependencies.forEach((d) => { + for (const d of p.register.dependencies) { try { graph.addDependency(p.name, d); } catch (err) { throw new Error(`unknown plugin dependency: ${d}`); } - }); - }); + } + } return graph.overallOrder(); } @@ -64,11 +66,11 @@ export async function init( } let present = true; - dependencies.forEach((d) => { + for (const d of dependencies) { if (!registered[d]) { present = false; } - }); + } return present; }; diff --git a/src/registry/router.ts b/src/registry/router.ts index 2b98bcc1d..1c79063f8 100644 --- a/src/registry/router.ts +++ b/src/registry/router.ts @@ -76,10 +76,10 @@ export function create(app: Express, conf: Config, repository: Repository) { app.get(`${prefix}:componentName`, routes.component); if (conf.routes) { - conf.routes.forEach((route) => + for (const route of conf.routes) { app[ route.method.toLowerCase() as 'get' | 'post' | 'put' | 'patch' | 'head' - ](route.route, route.handler) - ); + ](route.route, route.handler); + } } } diff --git a/src/registry/routes/helpers/apply-default-values.ts b/src/registry/routes/helpers/apply-default-values.ts index e1d086ae0..aaa5d5b71 100644 --- a/src/registry/routes/helpers/apply-default-values.ts +++ b/src/registry/routes/helpers/apply-default-values.ts @@ -16,14 +16,15 @@ export default function applyDefaultValues( !params[1].mandatory && typeof params[1].default !== 'undefined' ); - optionalParametersWithDefaults.forEach( - ([expectedParameterName, expectedParameter]) => { - const param = requestParameters[expectedParameterName]; - if (param === null || param === undefined) { - requestParameters[expectedParameterName] = expectedParameter.default; - } + for (const [ + expectedParameterName, + expectedParameter + ] of optionalParametersWithDefaults) { + const param = requestParameters[expectedParameterName]; + if (param === null || param === undefined) { + requestParameters[expectedParameterName] = expectedParameter.default; } - ); + } return requestParameters; } diff --git a/src/utils/put.ts b/src/utils/put.ts index deff78bea..49fc19539 100644 --- a/src/utils/put.ts +++ b/src/utils/put.ts @@ -14,10 +14,10 @@ async function put( files = [files]; } - files.forEach((file) => { + for (const file of files) { const fileName = path.basename(file); form.append(fileName, fs.createReadStream(file)); - }); + } const res = await got(urlPath, { headers: { ...headers, ...form.getHeaders() }, diff --git a/tasks/changelog.js b/tasks/changelog.js index 94c56f351..a3754d3ed 100644 --- a/tasks/changelog.js +++ b/tasks/changelog.js @@ -7,11 +7,11 @@ module.exports = () => new Promise((resolve, reject) => { const writeChangelog = (changelog, cb) => { let result = '## Change Log'; - changelog.forEach((pr) => { + for (const pr of changelog) { if (pr.changes.length > 0) { result += `\n\n### ${pr.tag.to}\n${pr.changes.join('\n')}`; } - }); + } fs.writeFile(path.join(__dirname, '../CHANGELOG.md'), result, cb); }; diff --git a/tasks/git.js b/tasks/git.js index 768eeba32..31833efee 100644 --- a/tasks/git.js +++ b/tasks/git.js @@ -7,7 +7,7 @@ const utils = { formatPrs: (commits) => { const result = []; - commits.forEach((commit) => { + for (const commit of commits) { const commitMessages = commit.message.split('Merge pull request'); const isPr = commitMessages.length > 1; const isSquashedPr = !!commit.message.match(/(.*?)\(#(.*?)\)/g); @@ -40,7 +40,7 @@ const utils = { `- [#${prNumber}](https://github.com/opencomponents/oc/pull/${prNumber}) ${commitMessage}` ); } - }); + } return result; }, diff --git a/tasks/mochaTest.js b/tasks/mochaTest.js index b11fbd057..c172ca7e0 100644 --- a/tasks/mochaTest.js +++ b/tasks/mochaTest.js @@ -35,7 +35,9 @@ const packageComponent = (componentName, done) => const addTestSuite = (dir, done) => glob(path.join(__dirname, '..', dir), (err, files) => { - files.forEach((file) => mocha.addFile(file)); + for (const file of files) { + mocha.addFile(file); + } done(); }); diff --git a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js index 3b4b38e2d..c864a56e9 100644 --- a/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-get-missing-dependencies.js @@ -21,7 +21,7 @@ describe('cli : domain : handle-dependencies - get-missing-dependencies', () => } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { const { dependencies, installed, output } = scenario; describe(`When dependencies: ${JSON.stringify( dependencies @@ -58,5 +58,5 @@ describe('cli : domain : handle-dependencies - get-missing-dependencies', () => }); }); }); - }); + } }); diff --git a/test/unit/cli-programmatic-api.js b/test/unit/cli-programmatic-api.js index 0221d9e90..2186a8fd5 100644 --- a/test/unit/cli-programmatic-api.js +++ b/test/unit/cli-programmatic-api.js @@ -52,7 +52,7 @@ describe('cli : programmatic-api', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { describe(`cmd: cli.${scenario.cmd}`, () => { const fn = _.get(programmaticApi, scenario.cmd); @@ -68,5 +68,5 @@ describe('cli : programmatic-api', () => { .that.has.all.keys(scenario.dependencies); }); }); - }); + } }); diff --git a/test/unit/cli-validate-command.js b/test/unit/cli-validate-command.js index 37826a793..973a27cf1 100644 --- a/test/unit/cli-validate-command.js +++ b/test/unit/cli-validate-command.js @@ -17,7 +17,7 @@ describe('cli : validate-command : valid', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { describe(`given "${scenario._.join(' ')}"`, () => { it(`"${scenario._[scenario.level]}" should be a valid command`, () => { const argv = { @@ -28,7 +28,7 @@ describe('cli : validate-command : valid', () => { expect(validate(argv, level)).to.be.true; }); }); - }); + } }); describe('cli : validate-command : invalid', () => { @@ -43,7 +43,7 @@ describe('cli : validate-command : invalid', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { describe(`given "${scenario._.join(' ')}"`, () => { it(`"${scenario._[scenario.level]}" should be an invalid command`, () => { const argv = { @@ -56,5 +56,5 @@ describe('cli : validate-command : invalid', () => { }).to.throw(); }); }); - }); + } }); diff --git a/test/unit/registry-domain-options-sanitiser.js b/test/unit/registry-domain-options-sanitiser.js index e7b748c35..60b7627d2 100644 --- a/test/unit/registry-domain-options-sanitiser.js +++ b/test/unit/registry-domain-options-sanitiser.js @@ -15,11 +15,11 @@ describe('registry : domain : options-sanitiser', () => { timeout: 120000 }; - Object.entries(defaults).forEach(([property, value]) => { + for (const [property, value] of Object.entries(defaults)) { it(`should set ${property} to ${JSON.stringify(value)}`, () => { expect(sanitise(options)[property]).to.eql(value); }); - }); + } }); describe('when verbosity is provided', () => { @@ -108,14 +108,14 @@ describe('registry : domain : options-sanitiser', () => { ]; it('should support various scenarios correctly', () => { - prefixAndBaseUrlScenarios.forEach((scenario) => { + for (const scenario of prefixAndBaseUrlScenarios) { expect(sanitise(scenario.options).prefix).to.equal( scenario.expected.prefix ); expect(sanitise(scenario.options).baseUrl).to.equal( scenario.expected.baseUrl ); - }); + } }); }); diff --git a/test/unit/registry-domain-validator.js b/test/unit/registry-domain-validator.js index f2c8f4a8d..9d536f541 100644 --- a/test/unit/registry-domain-validator.js +++ b/test/unit/registry-domain-validator.js @@ -908,11 +908,11 @@ describe('registry : domain : validator', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { it(`should be valid with mimetype ${scenario.mimetype}`, () => { expect(validate([scenario]).isValid).to.be.true; }); - }); + } }); }); diff --git a/test/unit/utils-npm-utils.js b/test/unit/utils-npm-utils.js index f5dd9cfb4..7f57d1122 100644 --- a/test/unit/utils-npm-utils.js +++ b/test/unit/utils-npm-utils.js @@ -27,7 +27,7 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { const { initPath, silent } = scenario.input; describe(`when invoked for ${initPath} with silent=${silent}`, () => { let error; @@ -60,7 +60,7 @@ describe('utils : npm-utils', () => { expect(onStub.args[1][0]).to.equal('close'); }); }); - }); + } }); describe('installDependency()', () => { @@ -115,7 +115,7 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { const dependency = scenario.input.dependency; describe(`when invoked for installing ${dependency}`, () => { let error; @@ -162,7 +162,7 @@ describe('utils : npm-utils', () => { expect(onStub.args[1][0]).to.equal('close'); }); }); - }); + } }); describe('installDependencies()', () => { @@ -230,7 +230,7 @@ describe('utils : npm-utils', () => { } ]; - scenarios.forEach((scenario) => { + for (const scenario of scenarios) { const dependencies = scenario.input.dependencies; describe(`when invoked for installing [${dependencies.join( ', ' @@ -281,6 +281,6 @@ describe('utils : npm-utils', () => { expect(onStub.args[1][0]).to.equal('close'); }); }); - }); + } }); }); From aaf655173407822d1e21829181205000451fbe9a Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 22:31:30 +0200 Subject: [PATCH 10/12] ignore specifically --- biome.json | 3 +-- src/registry/domain/sanitiser.ts | 2 +- src/registry/domain/validators/component-parameters.ts | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/biome.json b/biome.json index 5886535da..8a7ba86b6 100644 --- a/biome.json +++ b/biome.json @@ -29,8 +29,7 @@ "useTemplate": "off" }, "suspicious": { - "noExplicitAny": "off", - "noPrototypeBuiltins": "off" + "noExplicitAny": "off" } } } diff --git a/src/registry/domain/sanitiser.ts b/src/registry/domain/sanitiser.ts index f1a3feaea..a295b9c04 100644 --- a/src/registry/domain/sanitiser.ts +++ b/src/registry/domain/sanitiser.ts @@ -47,7 +47,7 @@ export function sanitiseComponentParameters( )) { if ( typeof expectedParameters === 'object' && - // eslint-disable-next-line no-prototype-builtins + // biome-ignore lint/suspicious/noPrototypeBuiltins: expectedParameters.hasOwnProperty(requestParameterName) ) { const expectedType = expectedParameters[requestParameterName].type; diff --git a/src/registry/domain/validators/component-parameters.ts b/src/registry/domain/validators/component-parameters.ts index 9f648cfc8..b0b86d26a 100644 --- a/src/registry/domain/validators/component-parameters.ts +++ b/src/registry/domain/validators/component-parameters.ts @@ -47,7 +47,7 @@ export default function componentParameters( for (const mandatoryParameterName of mandatoryParameters) { if ( typeof requestParameters === 'object' && - // eslint-disable-next-line no-prototype-builtins + // biome-ignore lint/suspicious/noPrototypeBuiltins: !requestParameters.hasOwnProperty(mandatoryParameterName) ) { if (!result.errors.mandatory) { @@ -65,8 +65,8 @@ export default function componentParameters( )) { if ( typeof expectedParameters === 'object' && - // eslint-disable-next-line no-prototype-builtins - expectedParameters.hasOwnProperty(requestParameterName) + // biome-ignore lint/suspicious/noPrototypeBuiltins: + expectedParameters.hasOwnProperty(requestParameterName) ) { const expectedType = expectedParameters[requestParameterName].type; From 67846b8335a740a62094dcc702cf28539d81a5ce Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 22:33:10 +0200 Subject: [PATCH 11/12] remove eslint ignores --- src/cli/facade/dev.ts | 1 - src/cli/facade/publish.ts | 2 -- src/cli/facade/registry-ls.ts | 1 - src/cli/facade/registry.ts | 1 - src/cli/logger.ts | 1 - src/cli/programmatic-api.ts | 1 - src/registry/app-start.ts | 1 - src/registry/domain/repository.ts | 1 - src/registry/domain/validators/component-parameters.ts | 2 +- src/registry/index.ts | 1 - src/registry/routes/helpers/get-component.ts | 1 - src/registry/routes/index.ts | 1 - src/types.ts | 1 - src/utils/pLimit.ts | 1 - tasks/logger.js | 1 - test/unit/registry-domain-repository.js | 1 - 16 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/cli/facade/dev.ts b/src/cli/facade/dev.ts index 7e39fd962..c470dce74 100644 --- a/src/cli/facade/dev.ts +++ b/src/cli/facade/dev.ts @@ -151,7 +151,6 @@ const dev = ({ local, logger }: { logger: Logger; local: Local }) => await packageComponents(components); let liveReload: { refresher: () => void; port: number | undefined } = { - // eslint-disable-next-line @typescript-eslint/no-empty-function refresher: () => {}, port: undefined }; diff --git a/src/cli/facade/publish.ts b/src/cli/facade/publish.ts index aff93087c..8a497491c 100644 --- a/src/cli/facade/publish.ts +++ b/src/cli/facade/publish.ts @@ -132,11 +132,9 @@ const publish = ({ throw errorMessage; } else { if (err.message) { - // eslint-disable-next-line no-ex-assign errorMessage = err.message; } else if (err && typeof err === 'object') { try { - // eslint-disable-next-line no-ex-assign errorMessage = JSON.stringify(err); } catch (er) {} } diff --git a/src/cli/facade/registry-ls.ts b/src/cli/facade/registry-ls.ts index 0a2cd3055..d57c81ed9 100644 --- a/src/cli/facade/registry-ls.ts +++ b/src/cli/facade/registry-ls.ts @@ -11,7 +11,6 @@ const registryLs = ({ logger: Logger; registry: RegistryCli; }) => - // eslint-disable-next-line @typescript-eslint/no-unused-vars fromPromise(async (_opts: unknown): Promise => { try { const registries = await registry.get(); diff --git a/src/cli/facade/registry.ts b/src/cli/facade/registry.ts index b9cb8bf9f..1c4929721 100644 --- a/src/cli/facade/registry.ts +++ b/src/cli/facade/registry.ts @@ -1,7 +1,6 @@ import { fromPromise } from 'universalify'; const registry = () => - // eslint-disable-next-line @typescript-eslint/no-unused-vars fromPromise((_opts: unknown): Promise => { return Promise.resolve(); }); diff --git a/src/cli/logger.ts b/src/cli/logger.ts index e379a994b..fd478f67c 100644 --- a/src/cli/logger.ts +++ b/src/cli/logger.ts @@ -13,7 +13,6 @@ type Color = | 'grey'; const logFns = { - // eslint-disable-next-line no-console writeLn: console.log, write: (msg: string) => process.stdout.write(msg.toString()) }; diff --git a/src/cli/programmatic-api.ts b/src/cli/programmatic-api.ts index 37b0cd38e..30e20de4d 100644 --- a/src/cli/programmatic-api.ts +++ b/src/cli/programmatic-api.ts @@ -31,7 +31,6 @@ function getDeps(options: { }) { const deps = { local: local(), - // eslint-disable-next-line @typescript-eslint/no-empty-function logger: options.logger || { log() {}, err() {}, ok() {}, warn() {} } }; diff --git a/src/registry/app-start.ts b/src/registry/app-start.ts index c73e9aa3d..6dacc94cf 100644 --- a/src/registry/app-start.ts +++ b/src/registry/app-start.ts @@ -23,7 +23,6 @@ export default async function appStart( return; } - // eslint-disable-next-line @typescript-eslint/no-empty-function const logger = options.verbosity ? console : { log: () => {} }; logger.log( diff --git a/src/registry/domain/repository.ts b/src/registry/domain/repository.ts index c288334e3..1690133e9 100644 --- a/src/registry/domain/repository.ts +++ b/src/registry/domain/repository.ts @@ -195,7 +195,6 @@ export default function repository(conf: Config) { if (componentInfo.version === componentVersion) { return Promise.resolve(componentInfo); } - // eslint-disable-next-line prefer-promise-reject-errors return Promise.reject('version not available'); } diff --git a/src/registry/domain/validators/component-parameters.ts b/src/registry/domain/validators/component-parameters.ts index b0b86d26a..b3d77783a 100644 --- a/src/registry/domain/validators/component-parameters.ts +++ b/src/registry/domain/validators/component-parameters.ts @@ -66,7 +66,7 @@ export default function componentParameters( if ( typeof expectedParameters === 'object' && // biome-ignore lint/suspicious/noPrototypeBuiltins: - expectedParameters.hasOwnProperty(requestParameterName) + expectedParameters.hasOwnProperty(requestParameterName) ) { const expectedType = expectedParameters[requestParameterName].type; diff --git a/src/registry/index.ts b/src/registry/index.ts index e384e01f5..8d1873e87 100644 --- a/src/registry/index.ts +++ b/src/registry/index.ts @@ -48,7 +48,6 @@ export default function registry(inputOptions: RegistryOptions) { data?: { app: express.Express; server: http.Server } ) => void ) => { - // eslint-disable-next-line no-console const ok = (msg: string) => console.log(colors.green(msg)); createRouter(app, options, repository); diff --git a/src/registry/routes/helpers/get-component.ts b/src/registry/routes/helpers/get-component.ts index e37d02fa5..ea52b5774 100644 --- a/src/registry/routes/helpers/get-component.ts +++ b/src/registry/routes/helpers/get-component.ts @@ -447,7 +447,6 @@ export default function getComponent(conf: Config, repository: Repository) { .replace('https:', ''); if (!component.oc.files.dataProvider) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const { __oc_Retry, ...props } = params; props['_staticPath'] = staticPath; props['_baseUrl'] = conf.baseUrl; diff --git a/src/registry/routes/index.ts b/src/registry/routes/index.ts index 33e028e2b..9963f2afd 100644 --- a/src/registry/routes/index.ts +++ b/src/registry/routes/index.ts @@ -76,7 +76,6 @@ export default function (repository: Repository) { componentsInfo = _.sortBy(componentsInfo, 'name'); fromPromise(repository.getComponentsDetails)((err, details) => { - // eslint-disable-next-line no-console if (err) console.log(err); res.send( indexView( diff --git a/src/types.ts b/src/types.ts index 827d15783..2640220f8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -249,7 +249,6 @@ export interface Plugin { } declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace Express { interface Response { conf: Config; diff --git a/src/utils/pLimit.ts b/src/utils/pLimit.ts index e50e45671..988063bd8 100644 --- a/src/utils/pLimit.ts +++ b/src/utils/pLimit.ts @@ -99,7 +99,6 @@ const pLimit = (concurrency: number): LimitFunction => { const run = async (fn: any, resolve: any, ...args: any) => { activeCount++; - // eslint-disable-next-line require-await const result = (async () => fn(...args))(); resolve(result); diff --git a/tasks/logger.js b/tasks/logger.js index a22768fae..bbd303a2d 100644 --- a/tasks/logger.js +++ b/tasks/logger.js @@ -2,7 +2,6 @@ const chalk = require('chalk'); const nodeEmoji = require('node-emoji'); const log = (col, style, emoji) => (msg) => { - // eslint-disable-next-line no-console console.log( chalk[style][col](msg) + (emoji ? ` ${nodeEmoji.get(emoji)}` : '') ); diff --git a/test/unit/registry-domain-repository.js b/test/unit/registry-domain-repository.js index a46a284ef..9bc80dfe7 100644 --- a/test/unit/registry-domain-repository.js +++ b/test/unit/registry-domain-repository.js @@ -198,7 +198,6 @@ describe('registry : domain : repository', () => { before((done) => { componentsCacheMock.get.returns(componentsCacheBaseResponse); sinon.stub(repository, 'getComponentInfo').callsFake(() => - // eslint-disable-next-line prefer-promise-reject-errors Promise.reject({ msg: 'File not valid', code: 'file_not_valid' From 161f1f3d5f3c43216cd21cf91b4cfd38b3a91087 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Mon, 8 Apr 2024 22:47:43 +0200 Subject: [PATCH 12/12] fix info view with correct name --- src/registry/views/info.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/registry/views/info.ts b/src/registry/views/info.ts index 914a1f85c..c6815da23 100644 --- a/src/registry/views/info.ts +++ b/src/registry/views/info.ts @@ -20,7 +20,7 @@ interface Vm { repositoryUrl: string | null; } -function statsJs(componentDetail: ComponentDetail) { +function statsJs(name: string, componentDetail: ComponentDetail) { return ` @@ -41,7 +41,7 @@ function statsJs(componentDetail: ComponentDetail) { } const dataset = { - label: 'guest-stay-config', + label: "${name}", data: dataPoints, tension: 0.1, borderWidth: 1 @@ -176,7 +176,7 @@ export default function info(vm: Vm): string { - ${statsAvailable ? statsJs(vm.componentDetail!) : ''} + ${statsAvailable ? statsJs(vm.component.name, vm.componentDetail!) : ''} `; return layout({ content, scripts });