diff --git a/package-lock.json b/package-lock.json index 0ea2a586fd..872bc58e7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -837,9 +837,9 @@ "link": true }, "node_modules/@contentstack/json-rte-serializer": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@contentstack/json-rte-serializer/-/json-rte-serializer-2.0.9.tgz", - "integrity": "sha512-HMXDdJy0m9PzcFttytwZNVApraYlkN6uCLVdvRoqnYnYr9tFBTilE6ker2zWrZa7xB70xxiSzdOX569OMKrJgg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@contentstack/json-rte-serializer/-/json-rte-serializer-2.0.10.tgz", + "integrity": "sha512-32tzzNTaXsfJjuPe2x0xz1f1c3JKKtS7XHBo2y6C4NujKe2ROW2Fq50VjdEYbjm7oo8uOt4yOE1XZpj0KjmQXQ==", "license": "MIT", "dependencies": { "array-flat-polyfill": "^1.0.1", @@ -1061,9 +1061,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { @@ -1126,14 +1126,14 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -2402,14 +2402,14 @@ } }, "node_modules/@oclif/plugin-plugins": { - "version": "5.4.8", - "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.4.8.tgz", - "integrity": "sha512-jDkWedI7HVhkig8UycXpvSq92s08Op0MJqYnumHZv3g3puz3AAMPouESlMOKY8Z0mEnJHSlnOjLyVXQL2BDKWg==", + "version": "5.4.9", + "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.4.9.tgz", + "integrity": "sha512-V64IZ5ldyZWJRwYsRHzGvuayWM1KYTsNNI3O58U6+VwEs2Ir16Q0Nwu0Ejnn6mM7na9Qz4RCU9tWhbngRoZt+g==", "license": "MIT", "dependencies": { "@oclif/core": "^4", "ansis": "^3.3.2", - "debug": "^4.3.6", + "debug": "^4.3.7", "npm": "^10.8.3", "npm-package-arg": "^11.0.3", "npm-run-path": "^5.3.0", @@ -2424,9 +2424,9 @@ } }, "node_modules/@oclif/plugin-plugins/node_modules/@oclif/core": { - "version": "4.0.22", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.22.tgz", - "integrity": "sha512-aXM2O4g7f+kPNzhhOfqGOVRVYDxTVrH7Y720MuH0Twq5WHMxI4XwntnyBaRscoCPG6FWhItZLtiZxsvaUdupGg==", + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-4.0.23.tgz", + "integrity": "sha512-wDl/eis7XDIM1pQWUGKLB+EQKJO9UrjaQ5NcwIbz7GW0gWuJfo9QAK75csgNUN/9Pbok9Ryt+sJgogS4RCIp5g==", "license": "MIT", "dependencies": { "ansi-escapes": "^4.3.2", @@ -2441,6 +2441,7 @@ "is-wsl": "^2.2.0", "lilconfig": "^3.1.2", "minimatch": "^9.0.5", + "semver": "^7.6.3", "string-width": "^4.2.3", "supports-color": "^8", "widest-line": "^3.1.0", @@ -3401,9 +3402,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.19", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.19.tgz", - "integrity": "sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==", + "version": "4.3.20", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", + "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", "license": "MIT" }, "node_modules/@types/cli-progress": { @@ -3454,9 +3455,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", "license": "MIT", "dependencies": { "@types/node": "*", @@ -3625,9 +3626,9 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", - "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", + "version": "4.17.9", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.9.tgz", + "integrity": "sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==", "license": "MIT" }, "node_modules/@types/markdown-it": { @@ -5187,9 +5188,9 @@ "license": "ISC" }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "dev": true, "funding": [ { @@ -5207,8 +5208,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -5553,9 +5554,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001660", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", - "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "version": "1.0.30001664", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", + "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", "dev": true, "funding": [ { @@ -7252,9 +7253,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.23", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz", - "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==", + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", + "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==", "dev": true, "license": "ISC" }, @@ -7612,17 +7613,17 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -8098,9 +8099,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz", - "integrity": "sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.1.tgz", + "integrity": "sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13503,16 +13504,21 @@ } }, "node_modules/jsdoc-parse/node_modules/find-replace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.1.tgz", - "integrity": "sha512-o5/Y8HrCNRuFF5rdNTkX8Vhv6kTFTV0t1zIoigwlCdbkA9qaapRzxvWPND2VvlFa9LBI05Q1i8ml/saMqkOJUQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", + "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", "dev": true, "license": "MIT", - "dependencies": { - "array-back": "^6.2.2" - }, "engines": { "node": ">=14" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } } }, "node_modules/jsdoc-to-markdown": { @@ -15689,9 +15695,9 @@ } }, "node_modules/nise/node_modules/path-to-regexp": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.1.0.tgz", - "integrity": "sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", "license": "MIT", "engines": { "node": ">=16" @@ -22573,9 +22579,9 @@ } }, "node_modules/sort-array/node_modules/typical": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", - "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", + "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", "dev": true, "license": "MIT", "engines": { @@ -26295,20 +26301,20 @@ }, "packages/contentstack": { "name": "@contentstack/cli", - "version": "1.25.2", + "version": "1.26.0", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~1.7.1", "@contentstack/cli-auth": "~1.3.21", - "@contentstack/cli-cm-bootstrap": "~1.11.0", - "@contentstack/cli-cm-branches": "~1.1.4", + "@contentstack/cli-cm-bootstrap": "~1.12.0", + "@contentstack/cli-cm-branches": "~1.2.0", "@contentstack/cli-cm-bulk-publish": "~1.5.0", - "@contentstack/cli-cm-clone": "~1.11.1", - "@contentstack/cli-cm-export": "~1.12.2", + "@contentstack/cli-cm-clone": "~1.12.0", + "@contentstack/cli-cm-export": "~1.13.0", "@contentstack/cli-cm-export-to-csv": "~1.7.2", - "@contentstack/cli-cm-import": "~1.17.1", + "@contentstack/cli-cm-import": "~1.18.0", "@contentstack/cli-cm-migrate-rte": "~1.4.19", - "@contentstack/cli-cm-seed": "~1.8.0", + "@contentstack/cli-cm-seed": "~1.9.0", "@contentstack/cli-command": "~1.3.1", "@contentstack/cli-config": "~1.8.0", "@contentstack/cli-launch": "~1.2.2", @@ -26414,9 +26420,9 @@ "license": "MIT" }, "packages/contentstack-audit/node_modules/@types/node": { - "version": "20.16.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", - "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", + "version": "20.16.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.9.tgz", + "integrity": "sha512-rkvIVJxsOfBejxK7I0FO5sa2WxFmJCzoDwcd88+fq/CUfynNywTo/1/T6hyFz22CyztsnLS9nVlHOnTI36RH5w==", "dev": true, "license": "MIT", "dependencies": { @@ -26665,10 +26671,10 @@ }, "packages/contentstack-bootstrap": { "name": "@contentstack/cli-cm-bootstrap", - "version": "1.11.0", + "version": "1.12.0", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-seed": "~1.8.0", + "@contentstack/cli-cm-seed": "~1.9.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "inquirer": "8.2.4", @@ -26747,7 +26753,7 @@ }, "packages/contentstack-branches": { "name": "@contentstack/cli-cm-branches", - "version": "1.1.4", + "version": "1.2.0", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.3.0", @@ -26834,12 +26840,12 @@ }, "packages/contentstack-clone": { "name": "@contentstack/cli-cm-clone", - "version": "1.11.1", + "version": "1.12.0", "license": "MIT", "dependencies": { "@colors/colors": "^1.5.0", - "@contentstack/cli-cm-export": "~1.12.2", - "@contentstack/cli-cm-import": "~1.17.0", + "@contentstack/cli-cm-export": "~1.13.0", + "@contentstack/cli-cm-import": "~1.18.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "async": "^3.2.4", @@ -27427,12 +27433,12 @@ }, "packages/contentstack-export": { "name": "@contentstack/cli-cm-export", - "version": "1.12.2", + "version": "1.13.0", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", - "@contentstack/cli-variants": "~0.0.1-alpha", + "@contentstack/cli-variants": "~1.0.0", "@oclif/core": "^3.26.5", "async": "^3.2.4", "big-json": "^3.2.0", @@ -28007,13 +28013,13 @@ }, "packages/contentstack-import": { "name": "@contentstack/cli-cm-import", - "version": "1.17.1", + "version": "1.18.0", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~1.7.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", - "@contentstack/cli-variants": "0.0.1-alpha", + "@contentstack/cli-variants": "~1.0.0", "@contentstack/management": "~1.17.0", "@oclif/core": "^3.26.5", "big-json": "^3.2.0", @@ -28167,9 +28173,9 @@ "license": "BSD-3-Clause" }, "packages/contentstack-launch/node_modules/@types/node": { - "version": "16.18.108", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.108.tgz", - "integrity": "sha512-fj42LD82fSv6yN9C6Q4dzS+hujHj+pTv0IpRR3kI20fnYeS0ytBpjFO9OjmDowSPPt4lNKN46JLaKbCyP+BW2A==", + "version": "16.18.111", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.111.tgz", + "integrity": "sha512-U1l6itlxU+vrJ9KyowQLKV9X+UuQBRhBF9v/XkGhAGgNHHRWzyY7FfTYRXt3vYOXPrd8UGlbYFK5HdneKCwXPQ==", "dev": true, "license": "MIT" }, @@ -28451,10 +28457,10 @@ }, "packages/contentstack-seed": { "name": "@contentstack/cli-cm-seed", - "version": "1.8.0", + "version": "1.9.0", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-import": "~1.17.0", + "@contentstack/cli-cm-import": "~1.18.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "inquirer": "8.2.4", @@ -28621,7 +28627,7 @@ }, "packages/contentstack-variants": { "name": "@contentstack/cli-variants", - "version": "0.0.1-alpha", + "version": "1.0.0", "license": "MIT", "dependencies": { "@contentstack/cli-utilities": "^1.5.12", @@ -28654,9 +28660,9 @@ } }, "packages/contentstack-variants/node_modules/@types/node": { - "version": "20.16.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", - "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", + "version": "20.16.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.9.tgz", + "integrity": "sha512-rkvIVJxsOfBejxK7I0FO5sa2WxFmJCzoDwcd88+fq/CUfynNywTo/1/T6hyFz22CyztsnLS9nVlHOnTI36RH5w==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/contentstack-audit/README.md b/packages/contentstack-audit/README.md index f6df6f8124..e08014afd3 100644 --- a/packages/contentstack-audit/README.md +++ b/packages/contentstack-audit/README.md @@ -269,7 +269,7 @@ EXAMPLES $ csdx plugins ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/index.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/index.ts)_ ## `csdx plugins:add PLUGIN` @@ -343,7 +343,7 @@ EXAMPLES $ csdx plugins:inspect myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/inspect.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/inspect.ts)_ ## `csdx plugins:install PLUGIN` @@ -392,7 +392,7 @@ EXAMPLES $ csdx plugins:install someuser/someplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/install.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/install.ts)_ ## `csdx plugins:link PATH` @@ -422,7 +422,7 @@ EXAMPLES $ csdx plugins:link myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/link.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/link.ts)_ ## `csdx plugins:remove [PLUGIN]` @@ -463,7 +463,7 @@ FLAGS --reinstall Reinstall all plugins after uninstalling. ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/reset.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/reset.ts)_ ## `csdx plugins:uninstall [PLUGIN]` @@ -491,7 +491,7 @@ EXAMPLES $ csdx plugins:uninstall myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/uninstall.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/uninstall.ts)_ ## `csdx plugins:unlink [PLUGIN]` @@ -535,5 +535,5 @@ DESCRIPTION Update installed plugins. ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/update.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/update.ts)_ diff --git a/packages/contentstack-auth/src/commands/auth/login.ts b/packages/contentstack-auth/src/commands/auth/login.ts index cae77fb6e6..8b61d65ca8 100644 --- a/packages/contentstack-auth/src/commands/auth/login.ts +++ b/packages/contentstack-auth/src/commands/auth/login.ts @@ -66,6 +66,9 @@ export default class LoginCommand extends BaseCommand { } } catch (error) { let errorMessage = formatError(error) || 'Something went wrong while logging. Please try again.'; + if (typeof errorMessage === 'object' && Object.keys(errorMessage)?.length === 0) { + console.log(error); + } this.logger.error('login failed', errorMessage); cliux.error('CLI_AUTH_LOGIN_FAILED'); cliux.error(errorMessage); diff --git a/packages/contentstack-auth/test/integration/auth.test.ts b/packages/contentstack-auth/test/integration/auth.test.ts index cc5fa2b821..e41c9312f5 100644 --- a/packages/contentstack-auth/test/integration/auth.test.ts +++ b/packages/contentstack-auth/test/integration/auth.test.ts @@ -25,6 +25,7 @@ describe('contentstack-auth plugin test', () => { describe('Check auth:login command with wrong credentials', () => { test + .loadConfig({ root: process.cwd() }) // @ts-ignore .stub(CliUx, 'inquire', async (inquire) => { switch (inquire.name) { @@ -34,24 +35,27 @@ describe('contentstack-auth plugin test', () => { return 'WrongPassword@12345%$#@!'; // NOTE forcing wrong password } }) + .stub(process,'exit',()=>{}) .stdout({ print: PRINT_LOGS || false }) .command(['auth:login']) .it('Login should fail due to wrong credentials.!', (ctx) => { - expect(ctx.stdout).to.a('string').includes('Login Error\nLooks like your email or password is invalid'); + expect(ctx.stdout).to.be.includes('Login Error\nLooks like your email or password is invalid. Please try again or reset your password.'); }); }); describe('Check auth:login command with --username, --password flags and wrong credentials', () => { - test + test.loadConfig({ root: process.cwd() }) .stdout({ print: PRINT_LOGS || false }) + .stub(process,'exit',()=>{}) .command(['auth:login', `--username=${username}`, '--password=WrongPassword@12345%$#@!']) .it('Login should fail due to wrong credentials.!', (ctx) => { - expect(ctx.stdout).to.a('string').includes('Login Error\nLooks like your email or password is invalid'); + expect(ctx.stdout).to.a('string').includes('Login Error\nLooks like your email or password is invalid. Please try again or reset your password.'); }); }); + //NOTE describe('Check auth:login command with correct credentials.', () => { - test + test.loadConfig({ root: process.cwd() }) // @ts-ignore .stub(CliUx, 'inquire', async (inquire) => { switch (inquire.name) { @@ -69,17 +73,17 @@ describe('contentstack-auth plugin test', () => { }); describe('Check auth:logout command', () => { - test + test.loadConfig({ root: process.cwd() }) .stub(CliUx, 'inquire', async () => 'Yes') .stdout({ print: PRINT_LOGS || false }) - .command(['auth:logout']) + .command(['auth:logout','--yes']) .it('Logout should succeed.!', (ctx) => { expect(ctx.stdout).to.a('string').includes('Successfully logged out'); }); }); describe('Check auth:login command with --username, --password flags', () => { - test + test.loadConfig({ root: process.cwd() }) .stdout({ print: PRINT_LOGS || false }) .command(['auth:login', `-u=${username}`, `-p=${password}`]) .it('Login should succeed!', (ctx) => { @@ -95,7 +99,7 @@ describe('contentstack-auth plugin test', () => { after(() => { mail = ''; }); - test + test.loadConfig({ root: process.cwd() }) .stdout({ print: PRINT_LOGS || false }) .command(['whoami']) .it('shows user email who logged in', (ctx) => { diff --git a/packages/contentstack-bootstrap/README.md b/packages/contentstack-bootstrap/README.md index 4fcc88c103..1b75d997d7 100644 --- a/packages/contentstack-bootstrap/README.md +++ b/packages/contentstack-bootstrap/README.md @@ -15,7 +15,7 @@ $ npm install -g @contentstack/cli-cm-bootstrap $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-bootstrap/1.11.0 darwin-arm64 node-v22.2.0 +@contentstack/cli-cm-bootstrap/1.12.0 darwin-arm64 node-v22.2.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-bootstrap/package.json b/packages/contentstack-bootstrap/package.json index 3f4c973c34..5afeb6b48a 100644 --- a/packages/contentstack-bootstrap/package.json +++ b/packages/contentstack-bootstrap/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-bootstrap", "description": "Bootstrap contentstack apps", - "version": "1.11.0", + "version": "1.12.0", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "scripts": { @@ -17,7 +17,7 @@ "test:report": "nyc --reporter=lcov mocha \"test/**/*.test.js\"" }, "dependencies": { - "@contentstack/cli-cm-seed": "~1.8.0", + "@contentstack/cli-cm-seed": "~1.9.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "inquirer": "8.2.4", diff --git a/packages/contentstack-branches/package.json b/packages/contentstack-branches/package.json index 58f4f865c5..5ccb5e55a9 100644 --- a/packages/contentstack-branches/package.json +++ b/packages/contentstack-branches/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-branches", "description": "Contentstack CLI plugin to do branches operations", - "version": "1.1.4", + "version": "1.2.0", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { diff --git a/packages/contentstack-branches/src/utils/entry-create-script.ts b/packages/contentstack-branches/src/utils/entry-create-script.ts index fccb08d55e..ca5d06038d 100644 --- a/packages/contentstack-branches/src/utils/entry-create-script.ts +++ b/packages/contentstack-branches/src/utils/entry-create-script.ts @@ -108,6 +108,13 @@ export function entryCreateScript(contentType) { findAssetIdsFromJsonRte(entry, schema); parent.pop(); } + if ( + schema[i].data_type === 'json' && + schema[i].field_metadata.extension && + schema[i].field_metadata.is_asset + ) { + fetchAssetFromFileFields(parent,schema[i],entry); + } if ( schema[i].data_type === 'text' && schema[i].field_metadata && @@ -121,43 +128,47 @@ export function entryCreateScript(contentType) { parent.pop(); } if (schema[i].data_type === 'file') { - parent.push(schema[i].uid); - let updatedEntry = entry; - for (let i = 0; i < parent.length; i++) { - updatedEntry = updatedEntry[parent[i]]; - } - const imgDetails = updatedEntry; - if (schema[i].multiple) { - if (imgDetails && imgDetails.length) { - imgDetails.forEach((img) => { - const obj = { - uid: img.uid, - parent_uid: img.parent_uid, - description: img.description, - title: img.title, - filename: img.filename, - url: img.url, - }; - cAssetDetails.push(obj); - }); - } - } else { - if (imgDetails) { - const obj = { - uid: imgDetails.uid, - parent_uid: imgDetails.parent_uid, - description: imgDetails.description, - title: imgDetails.title, - filename: imgDetails.filename, - url: imgDetails.url, - }; - cAssetDetails.push(obj); - } - } - parent.pop(); + fetchAssetFromFileFields(parent,schema[i],entry); } } }; + + function fetchAssetFromFileFields (parent, schema, entry) { + parent.push(schema.uid); + let updatedEntry = entry; + for (let i = 0; i < parent.length; i++) { + updatedEntry = updatedEntry[parent[i]]; + } + const imgDetails = updatedEntry; + if (schema.multiple) { + if (imgDetails && imgDetails.length) { + imgDetails.forEach((img) => { + const obj = { + uid: img.uid, + parent_uid: img.parent_uid, + description: img.description, + title: img.title, + filename: img.filename, + url: img.url, + }; + assetDetails.push(obj); + }); + } + } else { + if (imgDetails) { + const obj = { + uid: imgDetails.uid, + parent_uid: imgDetails.parent_uid, + description: imgDetails.description, + title: imgDetails.title, + filename: imgDetails.filename, + url: imgDetails.url, + }; + assetDetails.push(obj); + } + } + parent.pop(); + } function findAssetIdsFromHtmlRte(entryObj, ctSchema) { const regex = / { - const obj = { - uid: img.uid, - parent_uid: img.parent_uid, - description: img.description, - title: img.title, - filename: img.filename, - url: img.url, - }; - assetDetails.push(obj); - }); - } - } else { - if (imgDetails) { - const obj = { - uid: imgDetails.uid, - parent_uid: imgDetails.parent_uid, - description: imgDetails.description, - title: imgDetails.title, - filename: imgDetails.filename, - url: imgDetails.url, - }; - assetDetails.push(obj); - } - } - parent.pop(); + fetchAssetFromFileFields(parent,schema[i],entry); } } }; + function fetchAssetFromFileFields (parent, schema, entry) { + parent.push(schema.uid); + let updatedEntry = entry; + for (let i = 0; i < parent.length; i++) { + updatedEntry = updatedEntry[parent[i]]; + } + const imgDetails = updatedEntry; + if (schema.multiple) { + if (imgDetails && imgDetails.length) { + imgDetails.forEach((img) => { + const obj = { + uid: img.uid, + parent_uid: img.parent_uid, + description: img.description, + title: img.title, + filename: img.filename, + url: img.url, + }; + assetDetails.push(obj); + }); + } + } else { + if (imgDetails) { + const obj = { + uid: imgDetails.uid, + parent_uid: imgDetails.parent_uid, + description: imgDetails.description, + title: imgDetails.title, + filename: imgDetails.filename, + url: imgDetails.url, + }; + assetDetails.push(obj); + } + } + parent.pop(); + } function findAssetIdsFromHtmlRte(entryObj, ctSchema) { const regex = / { - const obj = { - uid: img.uid, - parent_uid: img.parent_uid, - description: img.description, - title: img.title, - filename: img.filename, - url: img.url, - }; - assetDetails.push(obj); - }); - } - } else { - if (imgDetails) { - const obj = { - uid: imgDetails.uid, - parent_uid: imgDetails.parent_uid, - description: imgDetails.description, - title: imgDetails.title, - filename: imgDetails.filename, - url: imgDetails.url, - }; - assetDetails.push(obj); - } - } - parent.pop(); + fetchAssetFromFileFields(parent,schema[i],entry); } } }; - + + function fetchAssetFromFileFields (parent, schema, entry) { + parent.push(schema.uid); + let updatedEntry = entry; + for (let i = 0; i < parent.length; i++) { + updatedEntry = updatedEntry[parent[i]]; + } + const imgDetails = updatedEntry; + if (schema.multiple) { + if (imgDetails && imgDetails.length) { + imgDetails.forEach((img) => { + const obj = { + uid: img.uid, + parent_uid: img.parent_uid, + description: img.description, + title: img.title, + filename: img.filename, + url: img.url, + }; + assetDetails.push(obj); + }); + } + } else { + if (imgDetails) { + const obj = { + uid: imgDetails.uid, + parent_uid: imgDetails.parent_uid, + description: imgDetails.description, + title: imgDetails.title, + filename: imgDetails.filename, + url: imgDetails.url, + }; + assetDetails.push(obj); + } + } + parent.pop(); + } + function findAssetIdsFromHtmlRte(entryObj, ctSchema) { const regex = / } & AnyProperty; constructor({ exportConfig }: ModuleClassParams) { this.exportConfig = exportConfig; - this.personalizeConfig = exportConfig.modules.personalization; + this.personalizeConfig = exportConfig.modules.personalize; } async start(): Promise { @@ -39,7 +39,7 @@ export default class ExportPersonalization { experiences: new ExportExperiences(this.exportConfig), }; - const order: (keyof typeof moduleMapper)[] = this.exportConfig.modules.personalization + const order: (keyof typeof moduleMapper)[] = this.exportConfig.modules.personalize .exportOrder as (keyof typeof moduleMapper)[]; for (const module of order) { @@ -51,8 +51,12 @@ export default class ExportPersonalization { } } } catch (error) { + if (error === 'Forbidden') { + log(this.exportConfig, "Personalize is not enabled in the given organization!", 'info'); + } else { + log(this.exportConfig, error, 'error'); + } this.exportConfig.personalizationEnabled = false; - log(this.exportConfig, error, 'error'); } } } diff --git a/packages/contentstack-export/src/types/default-config.ts b/packages/contentstack-export/src/types/default-config.ts index edded90644..eb6c5c0474 100644 --- a/packages/contentstack-export/src/types/default-config.ts +++ b/packages/contentstack-export/src/types/default-config.ts @@ -122,7 +122,7 @@ export default interface DefaultConfig { dependencies?: Modules[]; exportVersions: boolean; }; - personalization: { + personalize: { dirName: string; baseURL: Record; } & AnyProperty; diff --git a/packages/contentstack-export/src/types/index.ts b/packages/contentstack-export/src/types/index.ts index 0616dbe545..0b922c0969 100644 --- a/packages/contentstack-export/src/types/index.ts +++ b/packages/contentstack-export/src/types/index.ts @@ -49,7 +49,7 @@ export type Modules = | 'labels' | 'marketplace-apps' | 'taxonomies' - | 'personalization'; + | 'personalize'; export type ModuleClassParams = { stackAPIClient: ReturnType; diff --git a/packages/contentstack-import/README.md b/packages/contentstack-import/README.md index 4a928d0210..7f298bfa34 100644 --- a/packages/contentstack-import/README.md +++ b/packages/contentstack-import/README.md @@ -47,7 +47,7 @@ $ npm install -g @contentstack/cli-cm-import $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-import/1.17.1 darwin-arm64 node-v22.2.0 +@contentstack/cli-cm-import/1.18.0 darwin-arm64 node-v22.2.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-import/package.json b/packages/contentstack-import/package.json index 97447361a4..f1ec8916f9 100644 --- a/packages/contentstack-import/package.json +++ b/packages/contentstack-import/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-import", "description": "Contentstack CLI plugin to import content into stack", - "version": "1.17.1", + "version": "1.18.0", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { @@ -9,7 +9,7 @@ "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "@contentstack/management": "~1.17.0", - "@contentstack/cli-variants": "0.0.1-alpha", + "@contentstack/cli-variants": "~1.0.0", "@oclif/core": "^3.26.5", "big-json": "^3.2.0", "bluebird": "^3.7.2", diff --git a/packages/contentstack-import/src/commands/cm/stacks/import.ts b/packages/contentstack-import/src/commands/cm/stacks/import.ts index 8d42f024a7..19b20877f8 100644 --- a/packages/contentstack-import/src/commands/cm/stacks/import.ts +++ b/packages/contentstack-import/src/commands/cm/stacks/import.ts @@ -136,6 +136,7 @@ export default class ImportCommand extends Command { importConfig.host = this.cmaHost; importConfig.region = this.region; importConfig.developerHubBaseUrl = this.developerHubUrl; + if (this.personalizeUrl) importConfig.modules.personalize.baseURL[importConfig.region.name] = this.personalizeUrl; backupDir = importConfig.cliLogsPath || importConfig.backupDir; const managementAPIClient: ContentstackClient = await managementSDKClient(importConfig); diff --git a/packages/contentstack-import/src/config/index.ts b/packages/contentstack-import/src/config/index.ts index 1b1e9965ae..10082f2d39 100644 --- a/packages/contentstack-import/src/config/index.ts +++ b/packages/contentstack-import/src/config/index.ts @@ -33,7 +33,7 @@ const config: DefaultConfig = { 'marketplace-apps', 'global-fields', 'content-types', - 'personalization', + 'personalize', 'custom-roles', 'workflows', 'entries', @@ -151,12 +151,12 @@ const config: DefaultConfig = { dirName: 'taxonomies', fileName: 'taxonomies.json', }, - personalization: { + personalize: { baseURL: { - NA: 'https://personalization-api.contentstack.com', + NA: 'https://personalize-api.contentstack.com', }, importData: true, - dirName: 'personalization', + dirName: 'personalize', importOrder: ['attributes', 'audiences', 'events', 'experiences'], project_id: '', projects: { diff --git a/packages/contentstack-import/src/import/modules/personalization.ts b/packages/contentstack-import/src/import/modules/personalize.ts similarity index 85% rename from packages/contentstack-import/src/import/modules/personalization.ts rename to packages/contentstack-import/src/import/modules/personalize.ts index 71f9f29dbe..f8bf81ab51 100644 --- a/packages/contentstack-import/src/import/modules/personalization.ts +++ b/packages/contentstack-import/src/import/modules/personalize.ts @@ -2,13 +2,13 @@ import { Import, LogType } from '@contentstack/cli-variants'; import { log } from '../../utils'; import { ImportConfig, ModuleClassParams } from '../../types'; -export default class ImportPersonalization { +export default class ImportPersonalize { private config: ImportConfig; - public personalizeConfig: ImportConfig['modules']['personalization']; + public personalizeConfig: ImportConfig['modules']['personalize']; constructor({ importConfig }: ModuleClassParams) { this.config = importConfig; - this.personalizeConfig = importConfig.modules.personalization; + this.personalizeConfig = importConfig.modules.personalize; } /** @@ -45,10 +45,10 @@ export default class ImportPersonalization { } } } catch (error) { - this.personalizeConfig.importData = false; // Stop personalization import if project creation fails + this.personalizeConfig.importData = false; // Stop personalize import if project creation fails log(this.config, error, 'error'); if (!this.personalizeConfig.importData) { - log(this.config, 'Skipping personalization migration...', 'warn'); + log(this.config, 'Skipping personalize migration...', 'warn'); } } } diff --git a/packages/contentstack-import/src/import/modules/variant-entries.ts b/packages/contentstack-import/src/import/modules/variant-entries.ts index 2dd4f99390..c699035e4b 100644 --- a/packages/contentstack-import/src/import/modules/variant-entries.ts +++ b/packages/contentstack-import/src/import/modules/variant-entries.ts @@ -14,16 +14,16 @@ import { export default class ImportVarientEntries { private config: ImportConfig; - public personalization: ImportConfig['modules']['personalization']; + public personalize: ImportConfig['modules']['personalize']; private projectMapperFilePath: string; constructor({ importConfig }: ModuleClassParams) { this.config = importConfig; - this.personalization = importConfig.modules.personalization; + this.personalize = importConfig.modules.personalize; this.projectMapperFilePath = path.resolve( sanitizePath(this.config.data), 'mapper', - sanitizePath(this.personalization.dirName), + sanitizePath(this.personalize.dirName), 'projects', 'projects.json', ); @@ -36,8 +36,8 @@ export default class ImportVarientEntries { async start(): Promise { try { const project = fsUtil.readFile(this.projectMapperFilePath) as ProjectStruct; - if (project && project.uid && this.personalization.importData) { - this.config.modules.personalization.project_id = project.uid; + if (project && project.uid) { + this.config.modules.personalize.project_id = project.uid; const helpers: ImportHelperMethodsConfig = { lookUpTerms, lookupAssets, diff --git a/packages/contentstack-import/src/types/default-config.ts b/packages/contentstack-import/src/types/default-config.ts index 8b5390be37..4a39aff817 100644 --- a/packages/contentstack-import/src/types/default-config.ts +++ b/packages/contentstack-import/src/types/default-config.ts @@ -122,7 +122,7 @@ export default interface DefaultConfig { fileName: string; dependencies?: Modules[]; }; - personalization: { + personalize: { baseURL: Record; dirName: string; importData: boolean; diff --git a/packages/contentstack-import/src/types/index.ts b/packages/contentstack-import/src/types/index.ts index e0a82835f7..dab9d5beda 100644 --- a/packages/contentstack-import/src/types/index.ts +++ b/packages/contentstack-import/src/types/index.ts @@ -49,7 +49,7 @@ export type Modules = | 'labels' | 'marketplace-apps' | 'taxonomies' - | 'personalization' + | 'personalize' | 'variant-entries'; export type ModuleClassParams = { diff --git a/packages/contentstack-seed/package.json b/packages/contentstack-seed/package.json index 87f90193b7..e15ecdf73a 100644 --- a/packages/contentstack-seed/package.json +++ b/packages/contentstack-seed/package.json @@ -1,11 +1,11 @@ { "name": "@contentstack/cli-cm-seed", "description": "create a Stack from existing content types, entries, assets, etc.", - "version": "1.8.0", + "version": "1.9.0", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { - "@contentstack/cli-cm-import": "~1.17.0", + "@contentstack/cli-cm-import": "~1.18.0", "@contentstack/cli-command": "~1.3.0", "@contentstack/cli-utilities": "~1.7.2", "inquirer": "8.2.4", diff --git a/packages/contentstack-variants/.gitignore b/packages/contentstack-variants/.gitignore index a9c2ebe564..fca81bd236 100644 --- a/packages/contentstack-variants/.gitignore +++ b/packages/contentstack-variants/.gitignore @@ -7,4 +7,5 @@ /yarn.lock node_modules .DS_Store -coverage \ No newline at end of file +coverage +/tsconfig.tsbuildinfo diff --git a/packages/contentstack-variants/package.json b/packages/contentstack-variants/package.json index 39f22e2b17..5a723f8085 100644 --- a/packages/contentstack-variants/package.json +++ b/packages/contentstack-variants/package.json @@ -1,6 +1,6 @@ { "name": "@contentstack/cli-variants", - "version": "0.0.1-alpha", + "version": "1.0.0", "description": "Variants plugin", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/contentstack-variants/src/export/attributes.ts b/packages/contentstack-variants/src/export/attributes.ts index 1c1192413b..9fa7643a74 100644 --- a/packages/contentstack-variants/src/export/attributes.ts +++ b/packages/contentstack-variants/src/export/attributes.ts @@ -2,26 +2,26 @@ import omit from 'lodash/omit'; import { resolve as pResolve } from 'node:path'; import { sanitizePath } from '@contentstack/cli-utilities'; import { formatError, fsUtil, PersonalizationAdapter, log } from '../utils'; -import { PersonalizationConfig, ExportConfig, AttributesConfig, AttributeStruct } from '../types'; +import { PersonalizeConfig, ExportConfig, AttributesConfig, AttributeStruct } from '../types'; export default class ExportAttributes extends PersonalizationAdapter { private attributesConfig: AttributesConfig; private attributesFolderPath: string; private attributes: Record[]; - public personalizationConfig: PersonalizationConfig; + public personalizeConfig: PersonalizeConfig; constructor(readonly exportConfig: ExportConfig) { super({ config: exportConfig, - baseURL: exportConfig.modules.personalization.baseURL[exportConfig.region.name], + baseURL: exportConfig.modules.personalize.baseURL[exportConfig.region.name], headers: { authtoken: exportConfig.auth_token, 'X-Project-Uid': exportConfig.project_id }, }); - this.personalizationConfig = exportConfig.modules.personalization; + this.personalizeConfig = exportConfig.modules.personalize; this.attributesConfig = exportConfig.modules.attributes; this.attributesFolderPath = pResolve( sanitizePath(exportConfig.data), sanitizePath(exportConfig.branchName || ''), - sanitizePath(this.personalizationConfig.dirName), + sanitizePath(this.personalizeConfig.dirName), sanitizePath(this.attributesConfig.dirName), ); this.attributes = []; diff --git a/packages/contentstack-variants/src/export/audiences.ts b/packages/contentstack-variants/src/export/audiences.ts index f63bf1c981..7530de1546 100644 --- a/packages/contentstack-variants/src/export/audiences.ts +++ b/packages/contentstack-variants/src/export/audiences.ts @@ -2,26 +2,26 @@ import omit from 'lodash/omit'; import { resolve as pResolve } from 'node:path'; import { formatError, fsUtil, PersonalizationAdapter, log } from '../utils'; -import { PersonalizationConfig, ExportConfig, AudienceStruct, AudiencesConfig } from '../types'; +import { PersonalizeConfig, ExportConfig, AudienceStruct, AudiencesConfig } from '../types'; export default class ExportAudiences extends PersonalizationAdapter { private audiencesConfig: AudiencesConfig; private audiencesFolderPath: string; private audiences: Record[]; - public personalizationConfig: PersonalizationConfig; + public personalizeConfig: PersonalizeConfig; constructor(readonly exportConfig: ExportConfig) { super({ config: exportConfig, - baseURL: exportConfig.modules.personalization.baseURL[exportConfig.region.name], + baseURL: exportConfig.modules.personalize.baseURL[exportConfig.region.name], headers: { authtoken: exportConfig.auth_token, 'X-Project-Uid': exportConfig.project_id }, }); - this.personalizationConfig = exportConfig.modules.personalization; + this.personalizeConfig = exportConfig.modules.personalize; this.audiencesConfig = exportConfig.modules.audiences; this.audiencesFolderPath = pResolve( exportConfig.data, exportConfig.branchName || '', - this.personalizationConfig.dirName, + this.personalizeConfig.dirName, this.audiencesConfig.dirName, ); this.audiences = []; diff --git a/packages/contentstack-variants/src/export/events.ts b/packages/contentstack-variants/src/export/events.ts index f125b0e41f..08bce71fa1 100644 --- a/packages/contentstack-variants/src/export/events.ts +++ b/packages/contentstack-variants/src/export/events.ts @@ -2,26 +2,26 @@ import omit from 'lodash/omit'; import { resolve as pResolve } from 'node:path'; import { formatError, fsUtil, PersonalizationAdapter, log } from '../utils'; -import { PersonalizationConfig, ExportConfig, EventStruct, EventsConfig } from '../types'; +import { PersonalizeConfig, ExportConfig, EventStruct, EventsConfig } from '../types'; export default class ExportEvents extends PersonalizationAdapter { private eventsConfig: EventsConfig; private eventsFolderPath: string; private events: Record[]; - public personalizationConfig: PersonalizationConfig; + public personalizeConfig: PersonalizeConfig; constructor(readonly exportConfig: ExportConfig) { super({ config: exportConfig, - baseURL: exportConfig.modules.personalization.baseURL[exportConfig.region.name], + baseURL: exportConfig.modules.personalize.baseURL[exportConfig.region.name], headers: { authtoken: exportConfig.auth_token, 'X-Project-Uid': exportConfig.project_id }, }); - this.personalizationConfig = exportConfig.modules.personalization; + this.personalizeConfig = exportConfig.modules.personalize; this.eventsConfig = exportConfig.modules.events; this.eventsFolderPath = pResolve( exportConfig.data, exportConfig.branchName || '', - this.personalizationConfig.dirName, + this.personalizeConfig.dirName, this.eventsConfig.dirName, ); this.events = []; diff --git a/packages/contentstack-variants/src/export/experiences.ts b/packages/contentstack-variants/src/export/experiences.ts index 0b65ef3076..25d9a8420c 100644 --- a/packages/contentstack-variants/src/export/experiences.ts +++ b/packages/contentstack-variants/src/export/experiences.ts @@ -1,16 +1,16 @@ import * as path from 'path'; import { sanitizePath } from '@contentstack/cli-utilities'; -import { PersonalizationConfig, ExportConfig, ExperienceStruct } from '../types'; +import { PersonalizeConfig, ExportConfig, ExperienceStruct } from '../types'; import { formatError, fsUtil, log, PersonalizationAdapter } from '../utils'; export default class ExportExperiences extends PersonalizationAdapter { private experiencesFolderPath: string; public exportConfig: ExportConfig; - public personalizationConfig: PersonalizationConfig; + public personalizeConfig: PersonalizeConfig; constructor(exportConfig: ExportConfig) { super({ config: exportConfig, - baseURL: exportConfig.modules.personalization.baseURL[exportConfig.region.name], + baseURL: exportConfig.modules.personalize.baseURL[exportConfig.region.name], headers: { authtoken: exportConfig.auth_token, 'X-Project-Uid': exportConfig.project_id }, cmaConfig: { baseURL: exportConfig.region.cma + `/v3`, @@ -18,11 +18,11 @@ export default class ExportExperiences extends PersonalizationAdapter = (await this.getExperiences()) || []; if (!experiences || experiences?.length < 1) { log(this.exportConfig, 'No Experiences found with the give project', 'info'); @@ -51,6 +52,21 @@ export default class ExportExperiences extends PersonalizationAdapter 0) { + fsUtil.writeFile( + path.resolve(sanitizePath(this.experiencesFolderPath), 'versions', `${experience.uid}.json`), + experienceVersions, + ); + } else { + log(this.exportConfig, `No versions found for experience ${experience.name}`, 'info'); + } + } catch (error) { + log(this.exportConfig, `Failed to fetch versions of experience ${experience.name}`, 'error'); + } + try { // fetch content of experience const { variant_groups: [variantGroup] = [] } = diff --git a/packages/contentstack-variants/src/export/projects.ts b/packages/contentstack-variants/src/export/projects.ts index 993d610dd8..4404c51738 100644 --- a/packages/contentstack-variants/src/export/projects.ts +++ b/packages/contentstack-variants/src/export/projects.ts @@ -1,24 +1,24 @@ import * as path from 'path'; import { sanitizePath } from '@contentstack/cli-utilities'; -import { ExportConfig, PersonalizationConfig } from '../types'; +import { ExportConfig, PersonalizeConfig } from '../types'; import { PersonalizationAdapter, log, fsUtil, formatError } from '../utils'; export default class ExportProjects extends PersonalizationAdapter { private projectFolderPath: string; public exportConfig: ExportConfig; - public personalizationConfig: PersonalizationConfig; + public personalizeConfig: PersonalizeConfig; constructor(exportConfig: ExportConfig) { super({ config: exportConfig, - baseURL: exportConfig.modules.personalization.baseURL[exportConfig.region.name], + baseURL: exportConfig.modules.personalize.baseURL[exportConfig.region.name], headers: { authtoken: exportConfig.auth_token, organization_uid: exportConfig.org_uid }, }); this.exportConfig = exportConfig; - this.personalizationConfig = exportConfig.modules.personalization; + this.personalizeConfig = exportConfig.modules.personalize; this.projectFolderPath = path.resolve( sanitizePath(exportConfig.data), sanitizePath(exportConfig.branchName || ''), - sanitizePath(this.personalizationConfig.dirName), + sanitizePath(this.personalizeConfig.dirName), 'projects', ); } @@ -29,7 +29,7 @@ export default class ExportProjects extends PersonalizationAdapter await fsUtil.makeDirectory(this.projectFolderPath); const project = await this.projects({ connectedStackApiKey: this.exportConfig.apiKey }); if (!project || project?.length < 1) { - log(this.exportConfig, 'No Personalization Project connected with the given stack', 'info'); + log(this.exportConfig, 'No Personalize Project connected with the given stack', 'info'); this.exportConfig.personalizationEnabled = false; return; } @@ -38,7 +38,9 @@ export default class ExportProjects extends PersonalizationAdapter fsUtil.writeFile(path.resolve(sanitizePath(this.projectFolderPath), 'projects.json'), project); log(this.exportConfig, 'Project exported successfully!', 'success'); } catch (error) { - log(this.exportConfig, `Failed to export projects!`, 'error'); + if (error !== 'Forbidden') { + log(this.exportConfig, `Failed to export projects!`, 'error'); + } throw error; } } diff --git a/packages/contentstack-variants/src/import/attribute.ts b/packages/contentstack-variants/src/import/attribute.ts index 3d1e513bff..fd21548232 100644 --- a/packages/contentstack-variants/src/import/attribute.ts +++ b/packages/contentstack-variants/src/import/attribute.ts @@ -9,19 +9,23 @@ export default class Attribute extends PersonalizationAdapter { private attrMapperDirPath: string; private attributesUidMapperPath: string; private attributesUidMapper: Record; - private personalizationConfig: ImportConfig['modules']['personalization']; - private attributeConfig: ImportConfig['modules']['personalization']['attributes']; + private personalizeConfig: ImportConfig['modules']['personalize']; + private attributeConfig: ImportConfig['modules']['personalize']['attributes']; constructor(public readonly config: ImportConfig, private readonly log: LogType = console.log) { const conf: APIConfig = { config, - baseURL: config.modules.personalization.baseURL[config.region.name], - headers: { 'X-Project-Uid': config.modules.personalization.project_id, authtoken: config.auth_token }, + baseURL: config.modules.personalize.baseURL[config.region.name], + headers: { 'X-Project-Uid': config.modules.personalize.project_id, authtoken: config.auth_token }, }; super(Object.assign(config, conf)); - this.personalizationConfig = this.config.modules.personalization; - this.attributeConfig = this.personalizationConfig.attributes; - this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName)); + this.personalizeConfig = this.config.modules.personalize; + this.attributeConfig = this.personalizeConfig.attributes; + this.mapperDirPath = resolve( + sanitizePath(this.config.backupDir), + 'mapper', + sanitizePath(this.personalizeConfig.dirName), + ); this.attrMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.attributeConfig.dirName)); this.attributesUidMapperPath = resolve(sanitizePath(this.attrMapperDirPath), 'uid-mapping.json'); this.attributesUidMapper = {}; @@ -35,7 +39,12 @@ export default class Attribute extends PersonalizationAdapter { await fsUtil.makeDirectory(this.attrMapperDirPath); const { dirName, fileName } = this.attributeConfig; - const attributesPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName)); + const attributesPath = resolve( + sanitizePath(this.config.data), + sanitizePath(this.personalizeConfig.dirName), + sanitizePath(dirName), + sanitizePath(fileName), + ); if (existsSync(attributesPath)) { try { @@ -43,10 +52,19 @@ export default class Attribute extends PersonalizationAdapter { for (const attribute of attributes) { const { key, name, description, uid } = attribute; - const attributeRes = await this.createAttribute({ key, name, description }); - //map old attribute uid to new attribute uid - //mapper file is used to check whether attribute created or not before creating audience - this.attributesUidMapper[uid] = attributeRes?.uid ?? ''; + // skip creating preset attributes, as they are already present in the system + if (attribute.__type === 'PRESET') { + continue; + } + try { + const attributeRes = await this.createAttribute({ key, name, description }); + //map old attribute uid to new attribute uid + //mapper file is used to check whether attribute created or not before creating audience + this.attributesUidMapper[uid] = attributeRes?.uid ?? ''; + } catch (error) { + this.log(this.config, `Failed to create attribute ${name}!`, 'error'); + this.log(this.config, error, 'error'); + } } fsUtil.writeFile(this.attributesUidMapperPath, this.attributesUidMapper); diff --git a/packages/contentstack-variants/src/import/audiences.ts b/packages/contentstack-variants/src/import/audiences.ts index 5812ad853a..be414a8c25 100644 --- a/packages/contentstack-variants/src/import/audiences.ts +++ b/packages/contentstack-variants/src/import/audiences.ts @@ -10,24 +10,32 @@ export default class Audiences extends PersonalizationAdapter { private attributesMapperPath: string; private audiencesUidMapperPath: string; private audiencesUidMapper: Record; - private personalizationConfig: ImportConfig['modules']['personalization']; - private audienceConfig: ImportConfig['modules']['personalization']['audiences']; - public attributeConfig: ImportConfig['modules']['personalization']['attributes']; + private personalizeConfig: ImportConfig['modules']['personalize']; + private audienceConfig: ImportConfig['modules']['personalize']['audiences']; + public attributeConfig: ImportConfig['modules']['personalize']['attributes']; constructor(public readonly config: ImportConfig, private readonly log: LogType = console.log) { const conf: APIConfig = { config, - baseURL: config.modules.personalization.baseURL[config.region.name], - headers: { 'X-Project-Uid': config.modules.personalization.project_id, authtoken: config.auth_token }, + baseURL: config.modules.personalize.baseURL[config.region.name], + headers: { 'X-Project-Uid': config.modules.personalize.project_id, authtoken: config.auth_token }, }; super(Object.assign(config, conf)); - this.personalizationConfig = this.config.modules.personalization; - this.audienceConfig = this.personalizationConfig.audiences; - this.attributeConfig = this.personalizationConfig.attributes; - this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName)); + this.personalizeConfig = this.config.modules.personalize; + this.audienceConfig = this.personalizeConfig.audiences; + this.attributeConfig = this.personalizeConfig.attributes; + this.mapperDirPath = resolve( + sanitizePath(this.config.backupDir), + 'mapper', + sanitizePath(this.personalizeConfig.dirName), + ); this.audienceMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.audienceConfig.dirName)); this.audiencesUidMapperPath = resolve(sanitizePath(this.audienceMapperDirPath), 'uid-mapping.json'); - this.attributesMapperPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.attributeConfig.dirName), 'uid-mapping.json'); + this.attributesMapperPath = resolve( + sanitizePath(this.mapperDirPath), + sanitizePath(this.attributeConfig.dirName), + 'uid-mapping.json', + ); this.audiencesUidMapper = {}; } @@ -39,7 +47,12 @@ export default class Audiences extends PersonalizationAdapter { await fsUtil.makeDirectory(this.audienceMapperDirPath); const { dirName, fileName } = this.audienceConfig; - const audiencesPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName)); + const audiencesPath = resolve( + sanitizePath(this.config.data), + sanitizePath(this.personalizeConfig.dirName), + sanitizePath(dirName), + sanitizePath(fileName), + ); if (existsSync(audiencesPath)) { try { @@ -48,14 +61,19 @@ export default class Audiences extends PersonalizationAdapter { for (const audience of audiences) { let { name, definition, description, uid } = audience; - //check whether reference attributes exists or not - if (definition.rules?.length) { - definition.rules = lookUpAttributes(definition.rules, attributesUid); + try { + //check whether reference attributes exists or not + if (definition.rules?.length) { + definition.rules = lookUpAttributes(definition.rules, attributesUid); + } + const audienceRes = await this.createAudience({ definition, name, description }); + //map old audience uid to new audience uid + //mapper file is used to check whether audience created or not before creating experience + this.audiencesUidMapper[uid] = audienceRes?.uid ?? ''; + } catch (error) { + this.log(this.config, `Failed to create audience uid: ${uid}, name: ${name}`, 'error'); + this.log(this.config, error, 'error'); } - const audienceRes = await this.createAudience({ definition, name, description }); - //map old audience uid to new audience uid - //mapper file is used to check whether audience created or not before creating experience - this.audiencesUidMapper[uid] = audienceRes?.uid ?? ''; } fsUtil.writeFile(this.audiencesUidMapperPath, this.audiencesUidMapper); diff --git a/packages/contentstack-variants/src/import/events.ts b/packages/contentstack-variants/src/import/events.ts index d87d3b93fd..25d7de178f 100644 --- a/packages/contentstack-variants/src/import/events.ts +++ b/packages/contentstack-variants/src/import/events.ts @@ -9,19 +9,23 @@ export default class Events extends PersonalizationAdapter { private eventMapperDirPath: string; private eventsUidMapperPath: string; private eventsUidMapper: Record; - private personalizationConfig: ImportConfig['modules']['personalization']; - private eventsConfig: ImportConfig['modules']['personalization']['events']; + private personalizeConfig: ImportConfig['modules']['personalize']; + private eventsConfig: ImportConfig['modules']['personalize']['events']; constructor(public readonly config: ImportConfig, private readonly log: LogType = console.log) { const conf: APIConfig = { config, - baseURL: config.modules.personalization.baseURL[config.region.name], - headers: { 'X-Project-Uid': config.modules.personalization.project_id, authtoken: config.auth_token }, + baseURL: config.modules.personalize.baseURL[config.region.name], + headers: { 'X-Project-Uid': config.modules.personalize.project_id, authtoken: config.auth_token }, }; super(Object.assign(config, conf)); - this.personalizationConfig = this.config.modules.personalization; - this.eventsConfig = this.personalizationConfig.events; - this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName)); + this.personalizeConfig = this.config.modules.personalize; + this.eventsConfig = this.personalizeConfig.events; + this.mapperDirPath = resolve( + sanitizePath(this.config.backupDir), + 'mapper', + sanitizePath(this.personalizeConfig.dirName), + ); this.eventMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.eventsConfig.dirName)); this.eventsUidMapperPath = resolve(sanitizePath(this.eventMapperDirPath), 'uid-mapping.json'); this.eventsUidMapper = {}; @@ -35,7 +39,12 @@ export default class Events extends PersonalizationAdapter { await fsUtil.makeDirectory(this.eventMapperDirPath); const { dirName, fileName } = this.eventsConfig; - const eventsPath = resolve(sanitizePath(this.config.data), sanitizePath(this.personalizationConfig.dirName), sanitizePath(dirName), sanitizePath(fileName)); + const eventsPath = resolve( + sanitizePath(this.config.data), + sanitizePath(this.personalizeConfig.dirName), + sanitizePath(dirName), + sanitizePath(fileName), + ); if (existsSync(eventsPath)) { try { @@ -43,8 +52,13 @@ export default class Events extends PersonalizationAdapter { for (const event of events) { const { key, description, uid } = event; - const eventsResponse = await this.createEvents({ key, description }); - this.eventsUidMapper[uid] = eventsResponse?.uid ?? ''; + try { + const eventsResponse = await this.createEvents({ key, description }); + this.eventsUidMapper[uid] = eventsResponse?.uid ?? ''; + } catch (error) { + this.log(this.config, `failed to create event uid: ${uid}`, 'error'); + this.log(this.config, error, 'error'); + } } fsUtil.writeFile(this.eventsUidMapperPath, this.eventsUidMapper); diff --git a/packages/contentstack-variants/src/import/experiences.ts b/packages/contentstack-variants/src/import/experiences.ts index 2db2580e5b..763c0f929d 100644 --- a/packages/contentstack-variants/src/import/experiences.ts +++ b/packages/contentstack-variants/src/import/experiences.ts @@ -4,8 +4,14 @@ import values from 'lodash/values'; import cloneDeep from 'lodash/cloneDeep'; import { sanitizePath } from '@contentstack/cli-utilities'; import { PersonalizationAdapter, fsUtil, lookUpAudiences, lookUpEvents } from '../utils'; -import { APIConfig, ImportConfig, ExperienceStruct, CreateExperienceInput, LogType } from '../types'; - +import { + APIConfig, + ImportConfig, + ExperienceStruct, + CreateExperienceInput, + LogType, + CreateExperienceVersionInput, +} from '../types'; export default class Experiences extends PersonalizationAdapter { private createdCTs: string[]; private mapperDirPath: string; @@ -29,43 +35,56 @@ export default class Experiences extends PersonalizationAdapter { private cmsVariantGroups: Record; private experiencesUidMapper: Record; private pendingVariantAndVariantGrpForExperience: string[]; - private personalizationConfig: ImportConfig['modules']['personalization']; - private audienceConfig: ImportConfig['modules']['personalization']['audiences']; - private experienceConfig: ImportConfig['modules']['personalization']['experiences']; + private audiencesUid: Record; + private eventsUid: Record; + private personalizeConfig: ImportConfig['modules']['personalize']; + private audienceConfig: ImportConfig['modules']['personalize']['audiences']; + private experienceConfig: ImportConfig['modules']['personalize']['experiences']; constructor(public readonly config: ImportConfig, private readonly log: LogType = console.log) { const conf: APIConfig = { config, - baseURL: config.modules.personalization.baseURL[config.region.name], - headers: { 'X-Project-Uid': config.modules.personalization.project_id, authtoken: config.auth_token }, + baseURL: config.modules.personalize.baseURL[config.region.name], + headers: { 'X-Project-Uid': config.modules.personalize.project_id, authtoken: config.auth_token }, cmaConfig: { baseURL: config.region.cma + `/v3`, headers: { authtoken: config.auth_token, api_key: config.apiKey }, }, }; super(Object.assign(config, conf)); - this.personalizationConfig = this.config.modules.personalization; + this.personalizeConfig = this.config.modules.personalize; this.experiencesDirPath = resolve( sanitizePath(this.config.data), - sanitizePath(this.personalizationConfig.dirName), - sanitizePath(this.personalizationConfig.experiences.dirName), + sanitizePath(this.personalizeConfig.dirName), + sanitizePath(this.personalizeConfig.experiences.dirName), + ); + this.experiencesPath = join( + sanitizePath(this.experiencesDirPath), + sanitizePath(this.personalizeConfig.experiences.fileName), + ); + this.experienceConfig = this.personalizeConfig.experiences; + this.audienceConfig = this.personalizeConfig.audiences; + this.mapperDirPath = resolve( + sanitizePath(this.config.backupDir), + 'mapper', + sanitizePath(this.personalizeConfig.dirName), ); - this.experiencesPath = join(sanitizePath(this.experiencesDirPath), sanitizePath(this.personalizationConfig.experiences.fileName)); - this.experienceConfig = this.personalizationConfig.experiences; - this.audienceConfig = this.personalizationConfig.audiences; - this.mapperDirPath = resolve(sanitizePath(this.config.backupDir), 'mapper', sanitizePath(this.personalizationConfig.dirName)); this.expMapperDirPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.experienceConfig.dirName)); this.experiencesUidMapperPath = resolve(sanitizePath(this.expMapperDirPath), 'uid-mapping.json'); this.cmsVariantGroupPath = resolve(sanitizePath(this.expMapperDirPath), 'cms-variant-groups.json'); this.cmsVariantPath = resolve(sanitizePath(this.expMapperDirPath), 'cms-variants.json'); - this.audiencesMapperPath = resolve(sanitizePath(this.mapperDirPath), sanitizePath(this.audienceConfig.dirName), 'uid-mapping.json'); + this.audiencesMapperPath = resolve( + sanitizePath(this.mapperDirPath), + sanitizePath(this.audienceConfig.dirName), + 'uid-mapping.json', + ); this.eventsMapperPath = resolve(sanitizePath(this.mapperDirPath), 'events', 'uid-mapping.json'); this.failedCmsExpPath = resolve(sanitizePath(this.expMapperDirPath), 'failed-cms-experience.json'); this.failedCmsExpPath = resolve(sanitizePath(this.expMapperDirPath), 'failed-cms-experience.json'); this.experienceCTsPath = resolve(sanitizePath(this.experiencesDirPath), 'experiences-content-types.json'); this.experienceVariantsIdsPath = resolve( sanitizePath(this.config.data), - sanitizePath(this.personalizationConfig.dirName), + sanitizePath(this.personalizeConfig.dirName), sanitizePath(this.experienceConfig.dirName), 'experiences-variants-ids.json', ); @@ -79,6 +98,8 @@ export default class Experiences extends PersonalizationAdapter { this.pendingVariantAndVariantGrpForExperience = []; this.cTsSuccessPath = resolve(sanitizePath(this.config.backupDir), 'mapper', 'content_types', 'success.json'); this.createdCTs = []; + this.audiencesUid = (fsUtil.readFile(this.audiencesMapperPath, true) as Record) || {}; + this.eventsUid = (fsUtil.readFile(this.eventsMapperPath, true) as Record) || {}; } /** @@ -92,19 +113,25 @@ export default class Experiences extends PersonalizationAdapter { if (existsSync(this.experiencesPath)) { try { const experiences = fsUtil.readFile(this.experiencesPath, true) as ExperienceStruct[]; - const audiencesUid = (fsUtil.readFile(this.audiencesMapperPath, true) as Record) || {}; - const eventsUid = (fsUtil.readFile(this.eventsMapperPath, true) as Record) || {}; for (const experience of experiences) { const { uid, ...restExperienceData } = experience; //check whether reference audience exists or not that referenced in variations having __type equal to AudienceBasedVariation & targeting - let experienceReqObj: CreateExperienceInput = lookUpAudiences(restExperienceData, audiencesUid); + let experienceReqObj: CreateExperienceInput = lookUpAudiences(restExperienceData, this.audiencesUid); //check whether events exists or not that referenced in metrics - experienceReqObj = lookUpEvents(experienceReqObj, eventsUid); + experienceReqObj = lookUpEvents(experienceReqObj, this.eventsUid); - const expRes = await this.createExperience(experienceReqObj); + const expRes = (await this.createExperience(experienceReqObj)) as ExperienceStruct; //map old experience uid to new experience uid this.experiencesUidMapper[uid] = expRes?.uid ?? ''; + + try { + // import versions of experience + await this.importExperienceVersions(expRes, uid); + } catch (error) { + this.log(this.config, `Error while importing experience versions of ${expRes.uid}`, 'error'); + this.log(this.config, error, 'error'); + } } fsUtil.writeFile(this.experiencesUidMapperPath, this.experiencesUidMapper); this.log(this.config, this.$t(this.messages.CREATE_SUCCESS, { module: 'Experiences' }), 'info'); @@ -117,9 +144,10 @@ export default class Experiences extends PersonalizationAdapter { if (jobRes) this.log(this.config, this.$t(this.messages.CREATE_SUCCESS, { module: 'Variant & Variant groups' }), 'info'); - if (this.personalizationConfig.importData) { + if (this.personalizeConfig.importData) { this.log(this.config, this.messages.UPDATING_CT_IN_EXP, 'info'); await this.attachCTsInExperience(); + this.log(this.config, this.messages.UPDATED_CT_IN_EXP, 'info'); } await this.createVariantIdMapper(); @@ -131,9 +159,71 @@ export default class Experiences extends PersonalizationAdapter { } /** - * function to validate if all variant groups and variants have been created using personalization background job - * store the variant groups data in mapper/personalization/experiences/cms-variant-groups.json and the variants data - * in mapper/personalization/experiences/cms-variants.json. If not, invoke validateVariantGroupAndVariantsCreated after some delay. + * function import experience versions from a JSON file and creates them in the project. + */ + async importExperienceVersions(experience: ExperienceStruct, oldExperienceUid: string) { + const versionsPath = resolve(sanitizePath(this.experiencesDirPath), 'versions', `${sanitizePath(oldExperienceUid)}.json`); + + if (!existsSync(versionsPath)) { + return; + } + + const versions = fsUtil.readFile(versionsPath, true) as ExperienceStruct[]; + const versionMap: Record = { + ACTIVE: undefined, + DRAFT: undefined, + PAUSE: undefined, + }; + + // Process each version and map them by status + versions.forEach((version) => { + let versionReqObj = lookUpAudiences(version, this.audiencesUid) as CreateExperienceVersionInput; + versionReqObj = lookUpEvents(version, this.eventsUid) as CreateExperienceVersionInput; + + if (versionReqObj && versionReqObj.status) { + versionMap[versionReqObj.status] = versionReqObj; + } + }); + + // Prioritize updating or creating versions based on the order: ACTIVE -> DRAFT -> PAUSE + return await this.handleVersionUpdateOrCreate(experience, versionMap); + } + + // Helper method to handle version update or creation logic + private async handleVersionUpdateOrCreate( + experience: ExperienceStruct, + versionMap: Record, + ) { + const { ACTIVE, DRAFT, PAUSE } = versionMap; + let latestVersionUsed = false; + + if (ACTIVE) { + await this.updateExperienceVersion(experience.uid, experience.latestVersion, ACTIVE); + latestVersionUsed = true; + } + + if (DRAFT) { + if (latestVersionUsed) { + await this.createExperienceVersion(experience.uid, DRAFT); + } else { + await this.updateExperienceVersion(experience.uid, experience.latestVersion, DRAFT); + latestVersionUsed = true; + } + } + + if (PAUSE) { + if (latestVersionUsed) { + await this.createExperienceVersion(experience.uid, PAUSE); + } else { + await this.updateExperienceVersion(experience.uid, experience.latestVersion, PAUSE); + } + } + } + + /** + * function to validate if all variant groups and variants have been created using personalize background job + * store the variant groups data in mapper/personalize/experiences/cms-variant-groups.json and the variants data + * in mapper/personalize/experiences/cms-variants.json. If not, invoke validateVariantGroupAndVariantsCreated after some delay. * @param retryCount Counter to track the number of times the function has been called * @returns */ @@ -160,7 +250,7 @@ export default class Experiences extends PersonalizationAdapter { ); return this.validateVariantGroupAndVariantsCreated(retryCount); } else { - this.log(this.config, this.messages.PERSONALIZATION_JOB_FAILURE, 'error'); + this.log(this.config, this.messages.PERSONALIZE_JOB_FAILURE, 'error'); fsUtil.writeFile(this.failedCmsExpPath, this.pendingVariantAndVariantGrpForExperience); return false; } @@ -185,8 +275,8 @@ export default class Experiences extends PersonalizationAdapter { Object.entries(this.experiencesUidMapper).map(async ([oldExpUid, newExpUid]) => { if (experienceCTsMap[oldExpUid]?.length) { // Filter content types that were created - const updatedContentTypes = experienceCTsMap[oldExpUid].filter((ct: any) => - this.createdCTs.includes(ct?.uid), + const updatedContentTypes = experienceCTsMap[oldExpUid].filter( + (ct: any) => this.createdCTs.includes(ct?.uid) && ct.status === 'linked', ); if (updatedContentTypes?.length) { const { variant_groups: [variantGroup] = [] } = diff --git a/packages/contentstack-variants/src/import/project.ts b/packages/contentstack-variants/src/import/project.ts index 5de48e851f..0741785e49 100644 --- a/packages/contentstack-variants/src/import/project.ts +++ b/packages/contentstack-variants/src/import/project.ts @@ -9,14 +9,14 @@ export default class Project extends PersonalizationAdapter { constructor(public readonly config: ImportConfig, private readonly log: LogType = console.log) { const conf: APIConfig = { config, - baseURL: config.modules.personalization.baseURL[config.region.name], + baseURL: config.modules.personalize.baseURL[config.region.name], headers: { organization_uid: config.org_uid, authtoken: config.auth_token }, }; super(Object.assign(config, conf)); this.projectMapperFolderPath = pResolve( sanitizePath(this.config.backupDir), 'mapper', - sanitizePath(this.config.modules.personalization.dirName), + sanitizePath(this.config.modules.personalize.dirName), 'projects', ); } @@ -26,15 +26,15 @@ export default class Project extends PersonalizationAdapter { * data. */ async import() { - const personalization = this.config.modules.personalization; - const { dirName, fileName } = personalization.projects; - const projectPath = join(sanitizePath(this.config.data), sanitizePath(personalization.dirName), sanitizePath(dirName), sanitizePath(fileName)); + const personalize = this.config.modules.personalize; + const { dirName, fileName } = personalize.projects; + const projectPath = join(sanitizePath(this.config.data), sanitizePath(personalize.dirName), sanitizePath(dirName), sanitizePath(fileName)); if (existsSync(projectPath)) { const projects = JSON.parse(readFileSync(projectPath, 'utf8')) as CreateProjectInput[]; if (!projects || projects.length < 1) { - this.config.modules.personalization.importData = false; // Stop personalization import if stack not connected to any project + this.config.modules.personalize.importData = false; // Stop personalize import if stack not connected to any project this.log(this.config, 'No project found!', 'info'); return; } @@ -46,7 +46,7 @@ export default class Project extends PersonalizationAdapter { description: project.description, connectedStackApiKey: this.config.apiKey, }).catch(async (error) => { - if (error === 'personalization.PROJECTS.DUPLICATE_NAME') { + if (error === 'personalization.PROJECTS.DUPLICATE_NAME' || error === 'personalize.PROJECTS.DUPLICATE_NAME') { const projectName = await askProjectName('Copy Of ' + (newName || project.name)); return await createProject(projectName); } @@ -56,15 +56,15 @@ export default class Project extends PersonalizationAdapter { }; const projectRes = await createProject(this.config.personalizeProjectName); - this.config.modules.personalization.project_id = projectRes.uid; - this.config.modules.personalization.importData = true; + this.config.modules.personalize.project_id = projectRes.uid; + this.config.modules.personalize.importData = true; await fsUtil.makeDirectory(this.projectMapperFolderPath); fsUtil.writeFile(pResolve(sanitizePath(this.projectMapperFolderPath), 'projects.json'), projectRes); this.log(this.config, `Project Created Successfully: ${projectRes.uid}`, 'info'); } } else { - this.config.modules.personalization.importData = false; // Stop personalization import if stack not connected to any project + this.config.modules.personalize.importData = false; // Stop personalize import if stack not connected to any project this.log(this.config, 'No project found!', 'info'); } } diff --git a/packages/contentstack-variants/src/import/variant-entries.ts b/packages/contentstack-variants/src/import/variant-entries.ts index 50e899c4bd..c4f4c75176 100644 --- a/packages/contentstack-variants/src/import/variant-entries.ts +++ b/packages/contentstack-variants/src/import/variant-entries.ts @@ -29,7 +29,7 @@ export default class VariantEntries extends VariantAdapter; - public personalizationConfig: ImportConfig['modules']['personalization']; + public personalizeConfig: ImportConfig['modules']['personalize']; public taxonomies!: Record; public assetUrlMapper!: Record; @@ -51,13 +51,22 @@ export default class VariantEntries extends VariantAdapter; @@ -141,9 +155,22 @@ export default class VariantEntries extends VariantAdapter): string { for (const key of Object.keys(args)) { const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); - msg = msg.replace(new RegExp(`{${escapedKey}}`, 'g'), args[key] || escapedKey); + const placeholder = `{${escapedKey}}`; + msg = msg.split(placeholder).join(args[key]); } return msg; diff --git a/packages/contentstack-variants/src/types/export-config.ts b/packages/contentstack-variants/src/types/export-config.ts index 8c106d069e..91f6205889 100644 --- a/packages/contentstack-variants/src/types/export-config.ts +++ b/packages/contentstack-variants/src/types/export-config.ts @@ -20,7 +20,7 @@ export type Modules = | 'labels' | 'marketplace-apps' | 'taxonomies' - | 'personalization'; + | 'personalize'; export type branch = { uid: string; @@ -155,7 +155,7 @@ export interface DefaultConfig { include_publish_details: boolean; } & AnyProperty; } & AnyProperty; - personalization: { + personalize: { dirName: string; baseURL: Record; } & AnyProperty; @@ -269,7 +269,7 @@ export interface ExportConfig extends DefaultConfig { region: any; } -export interface PersonalizationConfig { +export interface PersonalizeConfig { dirName: string; baseURL: Record; } diff --git a/packages/contentstack-variants/src/types/import-config.ts b/packages/contentstack-variants/src/types/import-config.ts index c534796acc..d46f32f098 100644 --- a/packages/contentstack-variants/src/types/import-config.ts +++ b/packages/contentstack-variants/src/types/import-config.ts @@ -12,7 +12,7 @@ export interface ImportDefaultConfig extends AnyProperty { dirName: string; fileName: string; }; - personalization: { + personalize: { baseURL: Record; dirName: string; importData: boolean; diff --git a/packages/contentstack-variants/src/types/personalization-api-adapter.ts b/packages/contentstack-variants/src/types/personalization-api-adapter.ts index 2036511706..baec467586 100644 --- a/packages/contentstack-variants/src/types/personalization-api-adapter.ts +++ b/packages/contentstack-variants/src/types/personalization-api-adapter.ts @@ -130,6 +130,18 @@ export type ExperienceStruct = { content_types?: string[]; } & AnyProperty; +export interface CreateExperienceVersionInput { + name: string; + __type: string; + description: string; + targeting?: ExpTargeting; + variations: ExpVariations[]; + variationSplit?: string; + metrics?: ExpMetric[]; + status: string; + metadata?: object; + variants: Array; +} export interface CreateExperienceInput { name: string; __type: string; @@ -140,6 +152,7 @@ export interface CreateExperienceInput { metrics?: ExpMetric[]; status: string; metadata?: object; + variants?: Array; } export interface UpdateExperienceInput { diff --git a/packages/contentstack-variants/src/types/variant-entry.ts b/packages/contentstack-variants/src/types/variant-entry.ts index adf10be0bb..5608cb21e2 100644 --- a/packages/contentstack-variants/src/types/variant-entry.ts +++ b/packages/contentstack-variants/src/types/variant-entry.ts @@ -3,11 +3,11 @@ import { AnyProperty } from './utils'; export type VariantEntryStruct = { uid: string; title: string; - variant_id: string; locale: string; _version: number; _variant: { - uid: string; + _uid: string; + _instance_uid: string; _change_set: string[]; _base_entry_version: number; }; diff --git a/packages/contentstack-variants/src/utils/audiences-helper.ts b/packages/contentstack-variants/src/utils/audiences-helper.ts index 285025413e..feb2ca0431 100644 --- a/packages/contentstack-variants/src/utils/audiences-helper.ts +++ b/packages/contentstack-variants/src/utils/audiences-helper.ts @@ -1,4 +1,4 @@ -import { CreateExperienceInput } from '../types'; +import { CreateExperienceInput, CreateExperienceVersionInput } from '../types'; /** * function for substituting an old audience UID with a new one or deleting the audience information if it does not exist @@ -37,10 +37,20 @@ export const lookUpAudiences = ( } } } + } else if (experience.variants) { + for (let index = experience.variants.length - 1; index >= 0; index--) { + const expVariations = experience.variants[index]; + if (expVariations['__type'] === 'SegmentedVariant' && expVariations?.audiences?.length) { + updateAudiences(expVariations.audiences, audiencesUid); + if (!expVariations.audiences.length) { + experience.variants.splice(index, 1); + } + } + } } - // Update targeting audiences if (experience?.targeting?.hasOwnProperty('audience') && experience?.targeting?.audience?.audiences?.length) { + // Update targeting audiences updateAudiences(experience.targeting.audience.audiences, audiencesUid); if (!experience.targeting.audience.audiences.length) { experience.targeting = {}; diff --git a/packages/contentstack-variants/src/utils/error-helper.ts b/packages/contentstack-variants/src/utils/error-helper.ts index 36ceeb08de..58c087fbbc 100644 --- a/packages/contentstack-variants/src/utils/error-helper.ts +++ b/packages/contentstack-variants/src/utils/error-helper.ts @@ -22,5 +22,5 @@ function formatError(error: any): string { if (typeof error === 'object') { return Object.values(error).join(' '); } - return String(error); + return error; } diff --git a/packages/contentstack-variants/src/utils/personalization-api-adapter.ts b/packages/contentstack-variants/src/utils/personalization-api-adapter.ts index 531b22d698..81548955e1 100644 --- a/packages/contentstack-variants/src/utils/personalization-api-adapter.ts +++ b/packages/contentstack-variants/src/utils/personalization-api-adapter.ts @@ -22,6 +22,7 @@ import { APIResponse, VariantGroupStruct, VariantGroup, + CreateExperienceVersionInput, } from '../types'; import { formatErrors } from './error-helper'; @@ -77,6 +78,35 @@ export class PersonalizationAdapter extends AdapterHelper impl return this.handleVariantAPIRes(data) as ExperienceStruct; } + async getExperienceVersions(experienceUid: string): Promise { + const getExperiencesVersionsEndPoint = `/experiences/${experienceUid}/versions`; + const data = await this.apiClient.get(getExperiencesVersionsEndPoint); + return this.handleVariantAPIRes(data) as ExperienceStruct; + } + + async createExperienceVersion( + experienceUid: string, + input: CreateExperienceVersionInput, + ): Promise { + const createExperiencesVersionsEndPoint = `/experiences/${experienceUid}/versions`; + const data = await this.apiClient.post(createExperiencesVersionsEndPoint, input); + return this.handleVariantAPIRes(data) as ExperienceStruct; + } + + async updateExperienceVersion( + experienceUid: string, + versionId: string, + input: CreateExperienceVersionInput, + ): Promise { + // loop through input and remove shortId from variant + if (input?.variants) { + input.variants = input.variants.map(({ shortUid, ...rest }) => rest); + } + const updateExperiencesVersionsEndPoint = `/experiences/${experienceUid}/versions/${versionId}`; + const data = await this.apiClient.put(updateExperiencesVersionsEndPoint, input); + return this.handleVariantAPIRes(data) as ExperienceStruct; + } + async getVariantGroup(input: GetVariantGroupInput): Promise { if (this.cmaAPIClient) { const getVariantGroupEndPoint = `/variant_groups`; @@ -178,10 +208,10 @@ export class PersonalizationAdapter extends AdapterHelper impl if (status >= 200 && status < 300) { return data; } - + const errorMsg = data?.errors ? formatErrors(data.errors) - : data?.error_message || data?.message || 'Something went wrong while processing variant entries request!'; + : data?.error || data?.error_message || data?.message || 'Something went wrong while processing variant entries request!'; throw errorMsg; } diff --git a/packages/contentstack-variants/src/utils/variant-api-adapter.ts b/packages/contentstack-variants/src/utils/variant-api-adapter.ts index 89d46c5c7f..9e25299576 100644 --- a/packages/contentstack-variants/src/utils/variant-api-adapter.ts +++ b/packages/contentstack-variants/src/utils/variant-api-adapter.ts @@ -184,6 +184,7 @@ export class VariantHttpClient extends AdapterHelper implement }); try { + this.apiClient.headers({ api_version: undefined }); const res = await this.apiClient.put(endpoint, { entry: input }); const data = this.handleVariantAPIRes(res); @@ -214,8 +215,7 @@ export class VariantHttpClient extends AdapterHelper implement const { entry_uid, content_type_uid } = options; let endpoint = `content_types/${content_type_uid}/entries/${entry_uid}/publish`; - const onSuccess = (response: any) => - resolve({ response, apiData: { entryUid: entry_uid, variantUid }, log }); + const onSuccess = (response: any) => resolve({ response, apiData: { entryUid: entry_uid, variantUid }, log }); const onReject = (error: any) => reject({ error, diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index 41423259bb..0876efa5ab 100644 --- a/packages/contentstack/README.md +++ b/packages/contentstack/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli $ csdx COMMAND running command... $ csdx (--version|-v) -@contentstack/cli/1.25.2 darwin-arm64 node-v22.8.0 +@contentstack/cli/1.26.0 darwin-arm64 node-v22.2.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND @@ -3592,7 +3592,7 @@ EXAMPLES $ csdx plugins ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/index.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/index.ts)_ ## `csdx plugins:add PLUGIN` @@ -3666,7 +3666,7 @@ EXAMPLES $ csdx plugins:inspect myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/inspect.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/inspect.ts)_ ## `csdx plugins:install PLUGIN` @@ -3715,7 +3715,7 @@ EXAMPLES $ csdx plugins:install someuser/someplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/install.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/install.ts)_ ## `csdx plugins:link PATH` @@ -3745,7 +3745,7 @@ EXAMPLES $ csdx plugins:link myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/link.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/link.ts)_ ## `csdx plugins:remove [PLUGIN]` @@ -3786,7 +3786,7 @@ FLAGS --reinstall Reinstall all plugins after uninstalling. ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/reset.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/reset.ts)_ ## `csdx plugins:uninstall [PLUGIN]` @@ -3814,7 +3814,7 @@ EXAMPLES $ csdx plugins:uninstall myplugin ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/uninstall.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/uninstall.ts)_ ## `csdx plugins:unlink [PLUGIN]` @@ -3858,7 +3858,7 @@ DESCRIPTION Update installed plugins. ``` -_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.8/src/commands/plugins/update.ts)_ +_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.9/src/commands/plugins/update.ts)_ ## `csdx tokens` diff --git a/packages/contentstack/package.json b/packages/contentstack/package.json index 48b4d8c257..737b8404ee 100755 --- a/packages/contentstack/package.json +++ b/packages/contentstack/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli", "description": "Command-line tool (CLI) to interact with Contentstack", - "version": "1.25.2", + "version": "1.26.0", "author": "Contentstack", "bin": { "csdx": "./bin/run.js" @@ -24,15 +24,15 @@ "dependencies": { "@contentstack/cli-audit": "~1.7.1", "@contentstack/cli-auth": "~1.3.21", - "@contentstack/cli-cm-bootstrap": "~1.11.0", - "@contentstack/cli-cm-branches": "~1.1.4", + "@contentstack/cli-cm-bootstrap": "~1.12.0", + "@contentstack/cli-cm-branches": "~1.2.0", "@contentstack/cli-cm-bulk-publish": "~1.5.0", - "@contentstack/cli-cm-export": "~1.12.2", - "@contentstack/cli-cm-clone": "~1.11.1", + "@contentstack/cli-cm-export": "~1.13.0", + "@contentstack/cli-cm-clone": "~1.12.0", "@contentstack/cli-cm-export-to-csv": "~1.7.2", - "@contentstack/cli-cm-import": "~1.17.1", + "@contentstack/cli-cm-import": "~1.18.0", "@contentstack/cli-cm-migrate-rte": "~1.4.19", - "@contentstack/cli-cm-seed": "~1.8.0", + "@contentstack/cli-cm-seed": "~1.9.0", "@contentstack/cli-command": "~1.3.1", "@contentstack/cli-config": "~1.8.0", "@contentstack/cli-launch": "~1.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 265c08c0df..f48f34b3b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,15 +12,15 @@ importers: specifiers: '@contentstack/cli-audit': ~1.7.1 '@contentstack/cli-auth': ~1.3.21 - '@contentstack/cli-cm-bootstrap': ~1.11.0 - '@contentstack/cli-cm-branches': ~1.1.4 + '@contentstack/cli-cm-bootstrap': ~1.12.0 + '@contentstack/cli-cm-branches': ~1.2.0 '@contentstack/cli-cm-bulk-publish': ~1.5.0 - '@contentstack/cli-cm-clone': ~1.11.1 - '@contentstack/cli-cm-export': ~1.12.2 + '@contentstack/cli-cm-clone': ~1.12.0 + '@contentstack/cli-cm-export': ~1.13.0 '@contentstack/cli-cm-export-to-csv': ~1.7.2 - '@contentstack/cli-cm-import': ~1.17.1 + '@contentstack/cli-cm-import': ~1.18.0 '@contentstack/cli-cm-migrate-rte': ~1.4.19 - '@contentstack/cli-cm-seed': ~1.8.0 + '@contentstack/cli-cm-seed': ~1.9.0 '@contentstack/cli-command': ~1.3.1 '@contentstack/cli-config': ~1.8.0 '@contentstack/cli-launch': ~1.2.2 @@ -84,7 +84,7 @@ importers: '@oclif/core': 3.27.0 '@oclif/plugin-help': 5.2.20_ogreqof3k35xezedraj6pnd45y '@oclif/plugin-not-found': 2.4.3_ogreqof3k35xezedraj6pnd45y - '@oclif/plugin-plugins': 5.4.8 + '@oclif/plugin-plugins': 5.4.9 chalk: 4.1.2 debug: 4.3.7 figlet: 1.7.0 @@ -96,16 +96,16 @@ importers: winston: 3.14.2 devDependencies: '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/inquirer': 9.0.7 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 '@types/node': 14.18.63 '@types/sinon': 10.0.20 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji globby: 10.0.2 mocha: 10.1.0 nock: 13.5.5 @@ -154,8 +154,8 @@ importers: dependencies: '@contentstack/cli-command': 1.3.2 '@contentstack/cli-utilities': link:../contentstack-utilities - '@oclif/plugin-help': 5.2.20_7fevqhz6gkqgsvgva3uhczuvcq - '@oclif/plugin-plugins': 5.4.8 + '@oclif/plugin-help': 5.2.20_jeqbknj46pgdeszrzbax4bk7my + '@oclif/plugin-plugins': 5.4.9 chalk: 4.1.2 fast-csv: 4.3.6 fs-extra: 11.2.0 @@ -164,23 +164,23 @@ importers: winston: 3.14.2 devDependencies: '@contentstack/cli-dev-dependencies': link:../contentstack-dev-dependencies - '@oclif/test': 2.5.6_7fevqhz6gkqgsvgva3uhczuvcq - '@types/chai': 4.3.19 + '@oclif/test': 2.5.6_jeqbknj46pgdeszrzbax4bk7my + '@types/chai': 4.3.20 '@types/fs-extra': 11.0.4 '@types/mocha': 10.0.8 - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/uuid': 9.0.8 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_da34rr5jjo7ome56umyinntrou + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_hjvaeeg43g7el7m5pcdc7xyzxm mocha: 10.7.3 nyc: 15.1.0 - oclif: 3.17.2_7fevqhz6gkqgsvgva3uhczuvcq + oclif: 3.17.2_jeqbknj46pgdeszrzbax4bk7my shx: 0.3.4 sinon: 19.0.2 ts-jest: 29.2.5_typescript@5.6.2 - ts-node: 10.9.2_7fevqhz6gkqgsvgva3uhczuvcq + ts-node: 10.9.2_jeqbknj46pgdeszrzbax4bk7my tslib: 2.7.0 typescript: 5.6.2 @@ -226,7 +226,7 @@ importers: '@fancy-test/nock': 0.1.1 '@oclif/plugin-help': 5.2.20_ogreqof3k35xezedraj6pnd45y '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/inquirer': 9.0.7 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 @@ -234,9 +234,9 @@ importers: '@types/sinon': 10.0.20 chai: 4.5.0 dotenv: 16.4.5 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji globby: 10.0.2 mocha: 10.1.0 nyc: 15.1.0 @@ -249,7 +249,7 @@ importers: packages/contentstack-bootstrap: specifiers: - '@contentstack/cli-cm-seed': ~1.8.0 + '@contentstack/cli-cm-seed': ~1.9.0 '@contentstack/cli-command': ~1.3.0 '@contentstack/cli-utilities': ~1.7.2 '@oclif/test': ^2.5.6 @@ -286,9 +286,9 @@ importers: '@types/node': 14.18.63 '@types/tar': 6.1.13 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji globby: 10.0.2 mocha: 10.1.0 nyc: 15.1.0 @@ -367,8 +367,8 @@ importers: chai: 4.5.0 dotenv: 16.4.5 dotenv-expand: 9.0.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 mocha: 10.1.0 nyc: 15.1.0 @@ -412,8 +412,8 @@ importers: devDependencies: '@oclif/test': 2.5.6 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 mocha: 10.7.3 nyc: 15.1.0 @@ -423,8 +423,8 @@ importers: packages/contentstack-clone: specifiers: '@colors/colors': ^1.5.0 - '@contentstack/cli-cm-export': ~1.12.2 - '@contentstack/cli-cm-import': ~1.17.0 + '@contentstack/cli-cm-export': ~1.13.0 + '@contentstack/cli-cm-import': ~1.18.0 '@contentstack/cli-command': ~1.3.0 '@contentstack/cli-utilities': ~1.7.2 '@oclif/test': ^2.5.6 @@ -468,8 +468,8 @@ importers: devDependencies: '@oclif/test': 2.5.6 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 jest: 29.7.0 mocha: 10.7.3 @@ -502,15 +502,15 @@ importers: contentstack: 3.21.0 devDependencies: '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 '@types/node': 14.18.63 '@types/sinon': 10.0.20 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji mocha: 10.1.0 nyc: 15.1.0 rimraf: 2.7.1 @@ -559,16 +559,16 @@ importers: winston: 3.14.2 devDependencies: '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/inquirer': 9.0.7 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 '@types/node': 14.18.63 '@types/sinon': 10.0.20 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji globby: 10.0.2 mocha: 10.1.0 nyc: 15.1.0 @@ -611,7 +611,7 @@ importers: '@contentstack/cli-config': ~1.8.0 '@contentstack/cli-dev-dependencies': ~1.2.4 '@contentstack/cli-utilities': ~1.7.2 - '@contentstack/cli-variants': ~0.0.1-alpha + '@contentstack/cli-variants': ~1.0.0 '@oclif/core': ^3.26.5 '@oclif/plugin-help': ^5.1.19 '@oclif/test': ^2.5.6 @@ -677,8 +677,8 @@ importers: chai: 4.5.0 dotenv: 16.4.5 dotenv-expand: 9.0.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 mocha: 10.1.0 nyc: 15.1.0 @@ -718,7 +718,7 @@ importers: mkdirp: 3.0.1 devDependencies: '@oclif/test': 2.5.6 - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/mocha': 10.0.8 chai: 4.5.0 debug: 4.3.7 @@ -735,7 +735,7 @@ importers: '@contentstack/cli-audit': ~1.7.0 '@contentstack/cli-command': ~1.3.0 '@contentstack/cli-utilities': ~1.7.2 - '@contentstack/cli-variants': 0.0.1-alpha + '@contentstack/cli-variants': ~1.0.0 '@contentstack/management': ~1.17.0 '@oclif/core': ^3.26.5 '@oclif/test': ^2.5.6 @@ -799,7 +799,7 @@ importers: '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y '@types/big-json': 3.2.4 '@types/bluebird': 3.5.42 - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/fs-extra': 11.0.4 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 @@ -807,10 +807,10 @@ importers: '@types/sinon': 10.0.20 '@types/tar': 6.1.13 '@types/uuid': 9.0.8 - '@typescript-eslint/eslint-plugin': 5.62.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/eslint-plugin': 5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 mocha: 10.7.3 nyc: 15.1.0 @@ -864,10 +864,10 @@ importers: '@contentstack/cli-command': 1.3.2 '@contentstack/cli-utilities': link:../contentstack-utilities '@oclif/core': 3.27.0 - '@oclif/plugin-help': 5.2.20_olml23j7e3unkr7c67e5g4k7li - '@oclif/plugin-plugins': 5.4.8 + '@oclif/plugin-help': 5.2.20_uqtu27iq5voxechhkclcyk3efa + '@oclif/plugin-plugins': 5.4.9 '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.5 + '@types/express-serve-static-core': 4.19.6 adm-zip: 0.5.16 chalk: 4.1.2 cross-fetch: 3.1.8 @@ -881,20 +881,20 @@ importers: open: 8.4.2 winston: 3.14.2 devDependencies: - '@oclif/test': 2.5.6_olml23j7e3unkr7c67e5g4k7li + '@oclif/test': 2.5.6_uqtu27iq5voxechhkclcyk3efa '@types/adm-zip': 0.5.5 - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/esm': 3.2.2 '@types/ini': 1.3.34 - '@types/lodash': 4.17.7 - '@types/node': 16.18.108 + '@types/lodash': 4.17.9 + '@types/node': 16.18.111 chai: 4.5.0 eslint: 7.32.0 eslint-config-oclif: 4.0.0_eslint@7.32.0 eslint-config-oclif-typescript: 3.1.11_jofidmxrjzhj7l6vknpw5ecvfe - oclif: 3.17.2_olml23j7e3unkr7c67e5g4k7li + oclif: 3.17.2_uqtu27iq5voxechhkclcyk3efa shx: 0.3.4 - ts-node: 10.9.2_olml23j7e3unkr7c67e5g4k7li + ts-node: 10.9.2_uqtu27iq5voxechhkclcyk3efa tslib: 2.7.0 typescript: 4.9.5 @@ -937,8 +937,8 @@ importers: devDependencies: '@oclif/test': 2.5.6 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 globby: 10.0.2 mocha: 10.7.3 nyc: 15.1.0 @@ -982,7 +982,7 @@ importers: devDependencies: '@oclif/test': 2.5.6 chai: 4.5.0 - eslint: 8.57.0 + eslint: 8.57.1 globby: 10.0.2 husky: 8.0.3 jsdoc: 4.0.3 @@ -994,7 +994,7 @@ importers: packages/contentstack-seed: specifiers: - '@contentstack/cli-cm-import': ~1.17.0 + '@contentstack/cli-cm-import': ~1.18.0 '@contentstack/cli-command': ~1.3.0 '@contentstack/cli-utilities': ~1.7.2 '@oclif/plugin-help': ^5.1.19 @@ -1037,9 +1037,9 @@ importers: '@types/tar': 6.1.13 '@types/tmp': 0.2.6 axios: 1.7.7 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji globby: 10.0.2 jest: 29.7.0_gmerzvnqkqd6hvbwzqmybfpwqi oclif: 3.17.2_ogreqof3k35xezedraj6pnd45y @@ -1127,7 +1127,7 @@ importers: devDependencies: '@contentstack/cli-dev-dependencies': link:../contentstack-dev-dependencies '@oclif/test': 2.5.6_ogreqof3k35xezedraj6pnd45y - '@types/chai': 4.3.19 + '@types/chai': 4.3.20 '@types/inquirer': 9.0.7 '@types/mkdirp': 1.0.2 '@types/mocha': 8.2.3 @@ -1135,9 +1135,9 @@ importers: '@types/sinon': 10.0.20 '@types/traverse': 0.6.37 chai: 4.5.0 - eslint: 8.57.0 - eslint-config-oclif: 4.0.0_eslint@8.57.0 - eslint-config-oclif-typescript: 3.1.11_4lxgoysztp3gakdxqfzw7vhg4u + eslint: 8.57.1 + eslint-config-oclif: 4.0.0_eslint@8.57.1 + eslint-config-oclif-typescript: 3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji fancy-test: 2.0.42 globby: 10.0.2 mocha: 10.1.0 @@ -1174,14 +1174,14 @@ importers: winston: 3.14.2 devDependencies: '@contentstack/cli-dev-dependencies': link:../contentstack-dev-dependencies - '@oclif/test': 2.5.6_7fevqhz6gkqgsvgva3uhczuvcq - '@types/chai': 4.3.19 - '@types/node': 20.16.5 + '@oclif/test': 2.5.6_jeqbknj46pgdeszrzbax4bk7my + '@types/chai': 4.3.20 + '@types/node': 20.16.9 chai: 4.5.0 mocha: 10.7.3 nyc: 15.1.0 sinon: 17.0.2 - ts-node: 10.9.2_7fevqhz6gkqgsvgva3uhczuvcq + ts-node: 10.9.2_jeqbknj46pgdeszrzbax4bk7my tslib: 2.7.0 typescript: 5.6.2 @@ -1274,7 +1274,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.25.1_jxip2dpvspilvgics5irt52yse: + /@babel/eslint-parser/7.25.1_uhszjnyxpp3ff7nctzrrdj6llq: resolution: {integrity: sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -1283,7 +1283,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: true @@ -1318,7 +1318,7 @@ packages: dependencies: '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 dev: true @@ -1624,7 +1624,7 @@ packages: '@contentstack/cli-command': 1.3.2 '@contentstack/cli-utilities': 1.8.0 '@oclif/plugin-help': 5.2.20_ogreqof3k35xezedraj6pnd45y - '@oclif/plugin-plugins': 5.4.8 + '@oclif/plugin-plugins': 5.4.9 chalk: 4.1.2 fast-csv: 4.3.6 fs-extra: 11.2.0 @@ -1714,9 +1714,9 @@ packages: '@contentstack/cli-utilities': 1.8.0 '@oclif/core': 3.27.0 '@oclif/plugin-help': 5.2.20_ogreqof3k35xezedraj6pnd45y - '@oclif/plugin-plugins': 5.4.8 + '@oclif/plugin-plugins': 5.4.9 '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.5 + '@types/express-serve-static-core': 4.19.6 adm-zip: 0.5.16 chalk: 4.1.2 cross-fetch: 3.1.8 @@ -1857,13 +1857,13 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/eslint-utils/4.4.0_eslint@8.57.0: + /@eslint-community/eslint-utils/4.4.0_eslint@8.57.1: resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1906,8 +1906,8 @@ packages: - supports-color dev: true - /@eslint/js/8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + /@eslint/js/8.57.1: + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1951,8 +1951,8 @@ packages: graphql: 16.9.0 dev: false - /@humanwhocodes/config-array/0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array/0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead dependencies: @@ -2026,7 +2026,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -2047,14 +2047,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0_@types+node@20.16.5 + jest-config: 29.7.0_@types+node@20.16.9 jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -2090,14 +2090,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0_7svz4qco2xvfoz6cauwddkgaku + jest-config: 29.7.0_2g6loqgebgnagbbrmjjc7cbjsy jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -2125,7 +2125,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 jest-mock: 29.7.0 dev: true @@ -2152,7 +2152,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.16.5 + '@types/node': 20.16.9 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -2185,7 +2185,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -2272,7 +2272,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: true @@ -2284,7 +2284,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/yargs': 17.0.33 chalk: 4.1.2 dev: true @@ -2722,7 +2722,7 @@ packages: - typescript dev: true - /@oclif/core/2.16.0_7fevqhz6gkqgsvgva3uhczuvcq: + /@oclif/core/2.16.0_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==} engines: {node: '>=14.0.0'} dependencies: @@ -2749,7 +2749,7 @@ packages: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2_7fevqhz6gkqgsvgva3uhczuvcq + ts-node: 10.9.2_jeqbknj46pgdeszrzbax4bk7my tslib: 2.7.0 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -2798,7 +2798,7 @@ packages: - '@types/node' - typescript - /@oclif/core/2.16.0_olml23j7e3unkr7c67e5g4k7li: + /@oclif/core/2.16.0_typescript@4.9.5: resolution: {integrity: sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==} engines: {node: '>=14.0.0'} dependencies: @@ -2825,7 +2825,7 @@ packages: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2_olml23j7e3unkr7c67e5g4k7li + ts-node: 10.9.2_typescript@4.9.5 tslib: 2.7.0 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -2835,8 +2835,9 @@ packages: - '@swc/wasm' - '@types/node' - typescript + dev: true - /@oclif/core/2.16.0_typescript@4.9.5: + /@oclif/core/2.16.0_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==} engines: {node: '>=14.0.0'} dependencies: @@ -2863,7 +2864,7 @@ packages: strip-ansi: 6.0.1 supports-color: 8.1.1 supports-hyperlinks: 2.3.0 - ts-node: 10.9.2_typescript@4.9.5 + ts-node: 10.9.2_uqtu27iq5voxechhkclcyk3efa tslib: 2.7.0 widest-line: 3.1.0 wordwrap: 1.0.0 @@ -2873,7 +2874,6 @@ packages: - '@swc/wasm' - '@types/node' - typescript - dev: true /@oclif/core/3.27.0: resolution: {integrity: sha512-Fg93aNFvXzBq5L7ztVHFP2nYwWU1oTCq48G0TjF/qC1UN36KWa2H5Hsm72kERd5x/sjy2M2Tn4kDEorUlpXOlw==} @@ -2908,8 +2908,8 @@ packages: wordwrap: 1.0.0 wrap-ansi: 7.0.0 - /@oclif/core/4.0.22: - resolution: {integrity: sha512-aXM2O4g7f+kPNzhhOfqGOVRVYDxTVrH7Y720MuH0Twq5WHMxI4XwntnyBaRscoCPG6FWhItZLtiZxsvaUdupGg==} + /@oclif/core/4.0.23: + resolution: {integrity: sha512-wDl/eis7XDIM1pQWUGKLB+EQKJO9UrjaQ5NcwIbz7GW0gWuJfo9QAK75csgNUN/9Pbok9Ryt+sJgogS4RCIp5g==} engines: {node: '>=18.0.0'} dependencies: ansi-escapes: 4.3.2 @@ -2924,6 +2924,7 @@ packages: is-wsl: 2.2.0 lilconfig: 3.1.2 minimatch: 9.0.5 + semver: 7.6.3 string-width: 4.2.3 supports-color: 8.1.1 widest-line: 3.1.0 @@ -2943,11 +2944,11 @@ packages: - typescript dev: true - /@oclif/plugin-help/5.2.20_7fevqhz6gkqgsvgva3uhczuvcq: + /@oclif/plugin-help/5.2.20_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_7fevqhz6gkqgsvgva3uhczuvcq + '@oclif/core': 2.16.0_jeqbknj46pgdeszrzbax4bk7my transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -2965,28 +2966,28 @@ packages: - '@types/node' - typescript - /@oclif/plugin-help/5.2.20_olml23j7e3unkr7c67e5g4k7li: + /@oclif/plugin-help/5.2.20_typescript@4.9.5: resolution: {integrity: sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_olml23j7e3unkr7c67e5g4k7li + '@oclif/core': 2.16.0_typescript@4.9.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript + dev: true - /@oclif/plugin-help/5.2.20_typescript@4.9.5: + /@oclif/plugin-help/5.2.20_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_typescript@4.9.5 + '@oclif/core': 2.16.0_uqtu27iq5voxechhkclcyk3efa transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - dev: true /@oclif/plugin-not-found/2.4.3: resolution: {integrity: sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==} @@ -3002,11 +3003,11 @@ packages: - typescript dev: true - /@oclif/plugin-not-found/2.4.3_7fevqhz6gkqgsvgva3uhczuvcq: + /@oclif/plugin-not-found/2.4.3_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_7fevqhz6gkqgsvgva3uhczuvcq + '@oclif/core': 2.16.0_jeqbknj46pgdeszrzbax4bk7my chalk: 4.1.2 fast-levenshtein: 3.0.0 transitivePeerDependencies: @@ -3029,11 +3030,11 @@ packages: - '@types/node' - typescript - /@oclif/plugin-not-found/2.4.3_olml23j7e3unkr7c67e5g4k7li: + /@oclif/plugin-not-found/2.4.3_typescript@4.9.5: resolution: {integrity: sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_olml23j7e3unkr7c67e5g4k7li + '@oclif/core': 2.16.0_typescript@4.9.5 chalk: 4.1.2 fast-levenshtein: 3.0.0 transitivePeerDependencies: @@ -3043,11 +3044,11 @@ packages: - typescript dev: true - /@oclif/plugin-not-found/2.4.3_typescript@4.9.5: + /@oclif/plugin-not-found/2.4.3_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_typescript@4.9.5 + '@oclif/core': 2.16.0_uqtu27iq5voxechhkclcyk3efa chalk: 4.1.2 fast-levenshtein: 3.0.0 transitivePeerDependencies: @@ -3057,11 +3058,11 @@ packages: - typescript dev: true - /@oclif/plugin-plugins/5.4.8: - resolution: {integrity: sha512-jDkWedI7HVhkig8UycXpvSq92s08Op0MJqYnumHZv3g3puz3AAMPouESlMOKY8Z0mEnJHSlnOjLyVXQL2BDKWg==} + /@oclif/plugin-plugins/5.4.9: + resolution: {integrity: sha512-V64IZ5ldyZWJRwYsRHzGvuayWM1KYTsNNI3O58U6+VwEs2Ir16Q0Nwu0Ejnn6mM7na9Qz4RCU9tWhbngRoZt+g==} engines: {node: '>=18.0.0'} dependencies: - '@oclif/core': 4.0.22 + '@oclif/core': 4.0.23 ansis: 3.3.2 debug: 4.3.7 npm: 10.8.3 @@ -3094,11 +3095,11 @@ packages: - typescript dev: true - /@oclif/plugin-warn-if-update-available/2.1.1_7fevqhz6gkqgsvgva3uhczuvcq: + /@oclif/plugin-warn-if-update-available/2.1.1_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-y7eSzT6R5bmTIJbiMMXgOlbBpcWXGlVhNeQJBLBCCy1+90Wbjyqf6uvY0i2WcO4sh/THTJ20qCW80j3XUlgDTA==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_7fevqhz6gkqgsvgva3uhczuvcq + '@oclif/core': 2.16.0_jeqbknj46pgdeszrzbax4bk7my chalk: 4.1.2 debug: 4.3.7 http-call: 5.3.0 @@ -3130,11 +3131,11 @@ packages: - typescript dev: true - /@oclif/plugin-warn-if-update-available/2.1.1_olml23j7e3unkr7c67e5g4k7li: + /@oclif/plugin-warn-if-update-available/2.1.1_typescript@4.9.5: resolution: {integrity: sha512-y7eSzT6R5bmTIJbiMMXgOlbBpcWXGlVhNeQJBLBCCy1+90Wbjyqf6uvY0i2WcO4sh/THTJ20qCW80j3XUlgDTA==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_olml23j7e3unkr7c67e5g4k7li + '@oclif/core': 2.16.0_typescript@4.9.5 chalk: 4.1.2 debug: 4.3.7 http-call: 5.3.0 @@ -3148,11 +3149,11 @@ packages: - typescript dev: true - /@oclif/plugin-warn-if-update-available/2.1.1_typescript@4.9.5: + /@oclif/plugin-warn-if-update-available/2.1.1_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-y7eSzT6R5bmTIJbiMMXgOlbBpcWXGlVhNeQJBLBCCy1+90Wbjyqf6uvY0i2WcO4sh/THTJ20qCW80j3XUlgDTA==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_typescript@4.9.5 + '@oclif/core': 2.16.0_uqtu27iq5voxechhkclcyk3efa chalk: 4.1.2 debug: 4.3.7 http-call: 5.3.0 @@ -3180,11 +3181,11 @@ packages: - typescript dev: true - /@oclif/test/2.5.6_7fevqhz6gkqgsvgva3uhczuvcq: + /@oclif/test/2.5.6_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-AcusFApdU6/akXaofhBDrY4IM9uYzlOD9bYCCM0NwUXOv1m6320hSp2DT/wkj9H1gsvKbJXZHqgtXsNGZTWLFg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_7fevqhz6gkqgsvgva3uhczuvcq + '@oclif/core': 2.16.0_jeqbknj46pgdeszrzbax4bk7my fancy-test: 2.0.42 transitivePeerDependencies: - '@swc/core' @@ -3207,11 +3208,11 @@ packages: - supports-color - typescript - /@oclif/test/2.5.6_olml23j7e3unkr7c67e5g4k7li: + /@oclif/test/2.5.6_typescript@4.9.5: resolution: {integrity: sha512-AcusFApdU6/akXaofhBDrY4IM9uYzlOD9bYCCM0NwUXOv1m6320hSp2DT/wkj9H1gsvKbJXZHqgtXsNGZTWLFg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_olml23j7e3unkr7c67e5g4k7li + '@oclif/core': 2.16.0_typescript@4.9.5 fancy-test: 2.0.42 transitivePeerDependencies: - '@swc/core' @@ -3221,11 +3222,11 @@ packages: - typescript dev: true - /@oclif/test/2.5.6_typescript@4.9.5: + /@oclif/test/2.5.6_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-AcusFApdU6/akXaofhBDrY4IM9uYzlOD9bYCCM0NwUXOv1m6320hSp2DT/wkj9H1gsvKbJXZHqgtXsNGZTWLFg==} engines: {node: '>=12.0.0'} dependencies: - '@oclif/core': 2.16.0_typescript@4.9.5 + '@oclif/core': 2.16.0_uqtu27iq5voxechhkclcyk3efa fancy-test: 2.0.42 transitivePeerDependencies: - '@swc/core' @@ -3488,7 +3489,7 @@ packages: /@types/adm-zip/0.5.5: resolution: {integrity: sha512-YCGstVMjc4LTY5uK9/obvxBya93axZOVOyf2GSUulADzmLhYE45u2nAssCs/fWBs1Ifq5Vat75JTPwd5XZoPJw==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/babel__core/7.20.5: @@ -3523,7 +3524,7 @@ packages: /@types/big-json/3.2.4: resolution: {integrity: sha512-9j4OYGHfHazBz7WxRs1tqXy2qccjYAa4ej3vfT0uIPFvlX6nYw9Mvgxijvww6OKZE0aK6kFHTXDxR0uVJiRhLw==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/bluebird/3.5.42: @@ -3534,7 +3535,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: false /@types/cacheable-request/6.0.3: @@ -3542,38 +3543,38 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/responselike': 1.0.3 dev: true - /@types/chai/4.3.19: - resolution: {integrity: sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==} + /@types/chai/4.3.20: + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} /@types/cli-progress/3.11.6: resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 /@types/connect/3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: false /@types/esm/3.2.2: resolution: {integrity: sha512-l3IQQD2sChjNiQVNf28qq+sY9Sjvz7HrcOO3g4ZeSaiQRXQccBaR6cpqXPpzJ3QYCt6UF7+4ugabMRsQTPV+Eg==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/expect/1.20.4: resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} dev: true - /@types/express-serve-static-core/4.19.5: - resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + /@types/express-serve-static-core/4.19.6: + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3583,7 +3584,7 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.5 + '@types/express-serve-static-core': 4.19.6 '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 dev: false @@ -3596,20 +3597,20 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/graceful-fs/4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/http-cache-semantics/4.0.4: @@ -3665,21 +3666,21 @@ packages: /@types/jsonfile/6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/linkify-it/5.0.0: resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} dev: true - /@types/lodash/4.17.7: - resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + /@types/lodash/4.17.9: + resolution: {integrity: sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==} /@types/markdown-it/14.1.2: resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} @@ -3707,7 +3708,7 @@ packages: /@types/mkdirp/1.0.2: resolution: {integrity: sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/mocha/10.0.8: @@ -3725,11 +3726,11 @@ packages: resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true - /@types/node/16.18.108: - resolution: {integrity: sha512-fj42LD82fSv6yN9C6Q4dzS+hujHj+pTv0IpRR3kI20fnYeS0ytBpjFO9OjmDowSPPt4lNKN46JLaKbCyP+BW2A==} + /@types/node/16.18.111: + resolution: {integrity: sha512-U1l6itlxU+vrJ9KyowQLKV9X+UuQBRhBF9v/XkGhAGgNHHRWzyY7FfTYRXt3vYOXPrd8UGlbYFK5HdneKCwXPQ==} - /@types/node/20.16.5: - resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} + /@types/node/20.16.9: + resolution: {integrity: sha512-rkvIVJxsOfBejxK7I0FO5sa2WxFmJCzoDwcd88+fq/CUfynNywTo/1/T6hyFz22CyztsnLS9nVlHOnTI36RH5w==} dependencies: undici-types: 6.19.8 @@ -3740,7 +3741,7 @@ packages: /@types/progress-stream/2.0.5: resolution: {integrity: sha512-5YNriuEZkHlFHHepLIaxzq3atGeav1qCTGzB74HKWpo66qjfostF+rHc785YYYHeBytve8ZG3ejg42jEIfXNiQ==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/qs/6.9.16: @@ -3754,7 +3755,7 @@ packages: /@types/responselike/1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/semver/7.5.8: @@ -3765,14 +3766,14 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: false /@types/serve-static/1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 '@types/send': 0.17.4 dev: false @@ -3791,14 +3792,14 @@ packages: /@types/tar/6.1.13: resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 minipass: 4.2.8 dev: true /@types/through/0.0.33: resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/tmp/0.2.6: @@ -3820,7 +3821,7 @@ packages: resolution: {integrity: sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==} dependencies: '@types/expect': 1.20.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 dev: true /@types/yargs-parser/21.0.3: @@ -3839,7 +3840,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin/5.62.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/eslint-plugin/5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3852,10 +3853,10 @@ packages: dependencies: '@eslint-community/regexpp': 4.11.1 '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0_4lxgoysztp3gakdxqfzw7vhg4u - '@typescript-eslint/utils': 5.62.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/type-utils': 5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji + '@typescript-eslint/utils': 5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare-lite: 1.4.0 @@ -3866,7 +3867,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin/6.21.0_foqtb2thsziclfjwhyt52zssxe: + /@typescript-eslint/eslint-plugin/6.21.0_orvgifedatqukxtqc62v55dbnm: resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3878,13 +3879,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/parser': 6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0_da34rr5jjo7ome56umyinntrou - '@typescript-eslint/utils': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/type-utils': 6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm + '@typescript-eslint/utils': 6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3895,7 +3896,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin/6.21.0_xbofpdac7rbhrj4n4ako24u72m: + /@typescript-eslint/eslint-plugin/6.21.0_s4hemk7ff6xb5gs532l53o6gkm: resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3907,13 +3908,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/parser': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0_4lxgoysztp3gakdxqfzw7vhg4u - '@typescript-eslint/utils': 6.21.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/type-utils': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji + '@typescript-eslint/utils': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -3953,7 +3954,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/6.21.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/parser/6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3968,13 +3969,13 @@ packages: '@typescript-eslint/typescript-estree': 6.21.0_typescript@4.9.5 '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/6.21.0_da34rr5jjo7ome56umyinntrou: + /@typescript-eslint/parser/6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3989,7 +3990,7 @@ packages: '@typescript-eslint/typescript-estree': 6.21.0_typescript@5.6.2 '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 typescript: 5.6.2 transitivePeerDependencies: - supports-color @@ -4040,7 +4041,7 @@ packages: '@typescript-eslint/visitor-keys': 7.18.0 dev: true - /@typescript-eslint/type-utils/5.62.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/type-utils/5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -4051,16 +4052,16 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.62.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/utils': 5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils/6.21.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/type-utils/6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4071,16 +4072,16 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.21.0_typescript@4.9.5 - '@typescript-eslint/utils': 6.21.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/utils': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 ts-api-utils: 1.3.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils/6.21.0_da34rr5jjo7ome56umyinntrou: + /@typescript-eslint/type-utils/6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4091,9 +4092,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.21.0_typescript@5.6.2 - '@typescript-eslint/utils': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/utils': 6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm debug: 4.3.7 - eslint: 8.57.0 + eslint: 8.57.1 ts-api-utils: 1.3.0_typescript@5.6.2 typescript: 5.6.2 transitivePeerDependencies: @@ -4244,19 +4245,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.62.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/utils/5.62.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0_typescript@4.9.5 - eslint: 8.57.0 + eslint: 8.57.1 eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: @@ -4264,38 +4265,38 @@ packages: - typescript dev: true - /@typescript-eslint/utils/6.21.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/utils/6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0_typescript@4.9.5 - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/6.21.0_da34rr5jjo7ome56umyinntrou: + /@typescript-eslint/utils/6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0_typescript@5.6.2 - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -4321,33 +4322,33 @@ packages: - typescript dev: true - /@typescript-eslint/utils/7.18.0_4lxgoysztp3gakdxqfzw7vhg4u: + /@typescript-eslint/utils/7.18.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0_typescript@4.9.5 - eslint: 8.57.0 + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/7.18.0_da34rr5jjo7ome56umyinntrou: + /@typescript-eslint/utils/7.18.0_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0_typescript@5.6.2 - eslint: 8.57.0 + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -5099,15 +5100,15 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /browserslist/4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + /browserslist/4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.23 + caniuse-lite: 1.0.30001664 + electron-to-chromium: 1.5.29 node-releases: 2.0.18 - update-browserslist-db: 1.1.0_browserslist@4.23.3 + update-browserslist-db: 1.1.0_browserslist@4.24.0 dev: true /bs-logger/0.2.6: @@ -5351,8 +5352,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001660: - resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} + /caniuse-lite/1.0.30001664: + resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} dev: true /cardinal/2.1.1: @@ -6331,8 +6332,8 @@ packages: dependencies: jake: 10.9.2 - /electron-to-chromium/1.5.23: - resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==} + /electron-to-chromium/1.5.29: + resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} dev: true /elegant-spinner/1.0.1: @@ -6552,18 +6553,18 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-oclif-typescript/3.1.11_4lxgoysztp3gakdxqfzw7vhg4u: + /eslint-config-oclif-typescript/3.1.11_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-4ES2PhL8nsKaVRqQoSwYwteoLnnns72vh6Sc5INsOSKpa/kDsG9nlLC/+kxcpLWy8A1p5JFDAwrDyg6qXbwZtg==} engines: {node: '>=18.0.0'} dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0_xbofpdac7rbhrj4n4ako24u72m - '@typescript-eslint/parser': 6.21.0_4lxgoysztp3gakdxqfzw7vhg4u - eslint-config-xo-space: 0.35.0_eslint@8.57.0 - eslint-import-resolver-typescript: 3.6.3_vlxrtconwegi4ufrc2q6ije6we - eslint-plugin-import: 2.30.0_6wbi4dmvtixbnif76zut3piemi - eslint-plugin-mocha: 10.5.0_eslint@8.57.0 - eslint-plugin-n: 15.7.0_eslint@8.57.0 - eslint-plugin-perfectionist: 2.11.0_4lxgoysztp3gakdxqfzw7vhg4u + '@typescript-eslint/eslint-plugin': 6.21.0_s4hemk7ff6xb5gs532l53o6gkm + '@typescript-eslint/parser': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji + eslint-config-xo-space: 0.35.0_eslint@8.57.1 + eslint-import-resolver-typescript: 3.6.3_y7taq6fgt3pjqmyrtvbtxffs6a + eslint-plugin-import: 2.30.0_dgutxutduxvbuxup656vswurxm + eslint-plugin-mocha: 10.5.0_eslint@8.57.1 + eslint-plugin-n: 15.7.0_eslint@8.57.1 + eslint-plugin-perfectionist: 2.11.0_avq3eyf5kaj6ssrwo7fvkrwnji transitivePeerDependencies: - astro-eslint-parser - eslint @@ -6577,18 +6578,18 @@ packages: - vue-eslint-parser dev: true - /eslint-config-oclif-typescript/3.1.11_da34rr5jjo7ome56umyinntrou: + /eslint-config-oclif-typescript/3.1.11_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-4ES2PhL8nsKaVRqQoSwYwteoLnnns72vh6Sc5INsOSKpa/kDsG9nlLC/+kxcpLWy8A1p5JFDAwrDyg6qXbwZtg==} engines: {node: '>=18.0.0'} dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0_foqtb2thsziclfjwhyt52zssxe - '@typescript-eslint/parser': 6.21.0_da34rr5jjo7ome56umyinntrou - eslint-config-xo-space: 0.35.0_eslint@8.57.0 - eslint-import-resolver-typescript: 3.6.3_vlxrtconwegi4ufrc2q6ije6we - eslint-plugin-import: 2.30.0_6wbi4dmvtixbnif76zut3piemi - eslint-plugin-mocha: 10.5.0_eslint@8.57.0 - eslint-plugin-n: 15.7.0_eslint@8.57.0 - eslint-plugin-perfectionist: 2.11.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/eslint-plugin': 6.21.0_orvgifedatqukxtqc62v55dbnm + '@typescript-eslint/parser': 6.21.0_hjvaeeg43g7el7m5pcdc7xyzxm + eslint-config-xo-space: 0.35.0_eslint@8.57.1 + eslint-import-resolver-typescript: 3.6.3_y7taq6fgt3pjqmyrtvbtxffs6a + eslint-plugin-import: 2.30.0_dgutxutduxvbuxup656vswurxm + eslint-plugin-mocha: 10.5.0_eslint@8.57.1 + eslint-plugin-n: 15.7.0_eslint@8.57.1 + eslint-plugin-perfectionist: 2.11.0_hjvaeeg43g7el7m5pcdc7xyzxm transitivePeerDependencies: - astro-eslint-parser - eslint @@ -6640,14 +6641,14 @@ packages: - supports-color dev: true - /eslint-config-oclif/4.0.0_eslint@8.57.0: + /eslint-config-oclif/4.0.0_eslint@8.57.1: resolution: {integrity: sha512-5tkUQeC33rHAhJxaGeBGYIflDLumeV2qD/4XLBdXhB/6F/+Jnwdce9wYHSvkx0JUqUQShpQv8JEVkBp/zzD7hg==} engines: {node: '>=12.0.0'} dependencies: - eslint-config-xo-space: 0.27.0_eslint@8.57.0 - eslint-plugin-mocha: 9.0.0_eslint@8.57.0 - eslint-plugin-node: 11.1.0_eslint@8.57.0 - eslint-plugin-unicorn: 36.0.0_eslint@8.57.0 + eslint-config-xo-space: 0.27.0_eslint@8.57.1 + eslint-plugin-mocha: 9.0.0_eslint@8.57.1 + eslint-plugin-node: 11.1.0_eslint@8.57.1 + eslint-plugin-unicorn: 36.0.0_eslint@8.57.1 transitivePeerDependencies: - eslint - supports-color @@ -6663,14 +6664,14 @@ packages: eslint-config-xo: 0.35.0_eslint@7.32.0 dev: true - /eslint-config-xo-space/0.27.0_eslint@8.57.0: + /eslint-config-xo-space/0.27.0_eslint@8.57.1: resolution: {integrity: sha512-b8UjW+nQyOkhiANVpIptqlKPyE7XRyQ40uQ1NoBhzVfu95gxfZGrpliq8ZHBpaOF2wCLZaexTSjg7Rvm99vj4A==} engines: {node: '>=10'} peerDependencies: eslint: '>=7.20.0' dependencies: - eslint: 8.57.0 - eslint-config-xo: 0.35.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-xo: 0.35.0_eslint@8.57.1 dev: true /eslint-config-xo-space/0.35.0_eslint@7.32.0: @@ -6683,14 +6684,14 @@ packages: eslint-config-xo: 0.44.0_eslint@7.32.0 dev: true - /eslint-config-xo-space/0.35.0_eslint@8.57.0: + /eslint-config-xo-space/0.35.0_eslint@8.57.1: resolution: {integrity: sha512-+79iVcoLi3PvGcjqYDpSPzbLfqYpNcMlhsCBRsnmDoHAn4npJG6YxmHpelQKpXM7v/EeZTUKb4e1xotWlei8KA==} engines: {node: '>=12'} peerDependencies: eslint: '>=8.56.0' dependencies: - eslint: 8.57.0 - eslint-config-xo: 0.44.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-config-xo: 0.44.0_eslint@8.57.1 dev: true /eslint-config-xo/0.35.0_eslint@7.32.0: @@ -6703,14 +6704,14 @@ packages: eslint: 7.32.0 dev: true - /eslint-config-xo/0.35.0_eslint@8.57.0: + /eslint-config-xo/0.35.0_eslint@8.57.1: resolution: {integrity: sha512-+WyZTLWUJlvExFrBU/Ldw8AB/S0d3x+26JQdBWbcqig2ZaWh0zinYcHok+ET4IoPaEcRRf3FE9kjItNVjBwnAg==} engines: {node: '>=10'} peerDependencies: eslint: '>=7.20.0' dependencies: confusing-browser-globals: 1.0.10 - eslint: 8.57.0 + eslint: 8.57.1 dev: true /eslint-config-xo/0.44.0_eslint@7.32.0: @@ -6723,14 +6724,14 @@ packages: eslint: 7.32.0 dev: true - /eslint-config-xo/0.44.0_eslint@8.57.0: + /eslint-config-xo/0.44.0_eslint@8.57.1: resolution: {integrity: sha512-YG4gdaor0mJJi8UBeRJqDPO42MedTWYMaUyucF5bhm2pi/HS98JIxfFQmTLuyj6hGpQlAazNfyVnn7JuDn+Sew==} engines: {node: '>=18'} peerDependencies: eslint: '>=8.56.0' dependencies: confusing-browser-globals: 1.0.11 - eslint: 8.57.0 + eslint: 8.57.1 dev: true /eslint-import-resolver-node/0.3.9: @@ -6760,7 +6761,7 @@ packages: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 7.32.0 - eslint-module-utils: 2.11.0_xpoooszrvfjigwlbnr42f5rlki + eslint-module-utils: 2.11.1_xpoooszrvfjigwlbnr42f5rlki eslint-plugin-import: 2.30.0_xpoooszrvfjigwlbnr42f5rlki fast-glob: 3.3.2 get-tsconfig: 4.8.1 @@ -6773,7 +6774,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript/3.6.3_vlxrtconwegi4ufrc2q6ije6we: + /eslint-import-resolver-typescript/3.6.3_y7taq6fgt3pjqmyrtvbtxffs6a: resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6789,9 +6790,9 @@ packages: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 - eslint: 8.57.0 - eslint-module-utils: 2.11.0_6wbi4dmvtixbnif76zut3piemi - eslint-plugin-import: 2.30.0_6wbi4dmvtixbnif76zut3piemi + eslint: 8.57.1 + eslint-module-utils: 2.11.1_dgutxutduxvbuxup656vswurxm + eslint-plugin-import: 2.30.0_dgutxutduxvbuxup656vswurxm fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -6803,8 +6804,8 @@ packages: - supports-color dev: true - /eslint-module-utils/2.11.0_6wbi4dmvtixbnif76zut3piemi: - resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} + /eslint-module-utils/2.11.1_2ejcujbol4xkkapwdwpicudaxu: + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6824,16 +6825,17 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/parser': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-typescript: 3.6.3_vlxrtconwegi4ufrc2q6ije6we + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3_y7taq6fgt3pjqmyrtvbtxffs6a transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils/2.11.0_n755bj25kg2c7z5rccm44ttecm: - resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} + /eslint-module-utils/2.11.1_dgutxutduxvbuxup656vswurxm: + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6853,17 +6855,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0_jofidmxrjzhj7l6vknpw5ecvfe + '@typescript-eslint/parser': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji debug: 3.2.7 - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3_fygdtjilpzdi57ao5drtusz6me + eslint: 8.57.1 + eslint-import-resolver-typescript: 3.6.3_y7taq6fgt3pjqmyrtvbtxffs6a transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils/2.11.0_poba3fc3n5yrnzppmgam2lbwfy: - resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} + /eslint-module-utils/2.11.1_n755bj25kg2c7z5rccm44ttecm: + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6883,17 +6884,17 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/parser': 6.21.0_jofidmxrjzhj7l6vknpw5ecvfe debug: 3.2.7 - eslint: 8.57.0 + eslint: 7.32.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3_vlxrtconwegi4ufrc2q6ije6we + eslint-import-resolver-typescript: 3.6.3_fygdtjilpzdi57ao5drtusz6me transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils/2.11.0_xpoooszrvfjigwlbnr42f5rlki: - resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==} + /eslint-module-utils/2.11.1_xpoooszrvfjigwlbnr42f5rlki: + resolution: {integrity: sha512-EwcbfLOhwVMAfatfqLecR2yv3dE5+kQ8kx+Rrt0DvDXEVwW86KQ/xbMDQhtp5l42VXukD5SOF8mQQHbaNtO0CQ==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -6932,13 +6933,13 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-es/3.0.1_eslint@8.57.0: + /eslint-plugin-es/3.0.1_eslint@8.57.1: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true @@ -6954,18 +6955,18 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-es/4.1.0_eslint@8.57.0: + /eslint-plugin-es/4.1.0_eslint@8.57.1: resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import/2.30.0_6wbi4dmvtixbnif76zut3piemi: + /eslint-plugin-import/2.30.0_dgutxutduxvbuxup656vswurxm: resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} engines: {node: '>=4'} peerDependencies: @@ -6976,16 +6977,16 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 6.21.0_da34rr5jjo7ome56umyinntrou + '@typescript-eslint/parser': 6.21.0_avq3eyf5kaj6ssrwo7fvkrwnji array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0_poba3fc3n5yrnzppmgam2lbwfy + eslint-module-utils: 2.11.1_2ejcujbol4xkkapwdwpicudaxu hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -7021,7 +7022,7 @@ packages: doctrine: 2.1.0 eslint: 7.32.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0_n755bj25kg2c7z5rccm44ttecm + eslint-module-utils: 2.11.1_n755bj25kg2c7z5rccm44ttecm hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -7049,14 +7050,14 @@ packages: rambda: 7.5.0 dev: true - /eslint-plugin-mocha/10.5.0_eslint@8.57.0: + /eslint-plugin-mocha/10.5.0_eslint@8.57.1: resolution: {integrity: sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==} engines: {node: '>=14.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 - eslint-utils: 3.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-utils: 3.0.0_eslint@8.57.1 globals: 13.24.0 rambda: 7.5.0 dev: true @@ -7072,14 +7073,14 @@ packages: ramda: 0.27.2 dev: true - /eslint-plugin-mocha/9.0.0_eslint@8.57.0: + /eslint-plugin-mocha/9.0.0_eslint@8.57.1: resolution: {integrity: sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==} engines: {node: '>=12.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 - eslint-utils: 3.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-utils: 3.0.0_eslint@8.57.1 ramda: 0.27.2 dev: true @@ -7100,16 +7101,16 @@ packages: semver: 7.6.3 dev: true - /eslint-plugin-n/15.7.0_eslint@8.57.0: + /eslint-plugin-n/15.7.0_eslint@8.57.1: resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.1.0 - eslint: 8.57.0 - eslint-plugin-es: 4.1.0_eslint@8.57.0 - eslint-utils: 3.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-plugin-es: 4.1.0_eslint@8.57.1 + eslint-utils: 3.0.0_eslint@8.57.1 ignore: 5.3.2 is-core-module: 2.15.1 minimatch: 3.1.2 @@ -7132,14 +7133,14 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-node/11.1.0_eslint@8.57.0: + /eslint-plugin-node/11.1.0_eslint@8.57.1: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.57.0 - eslint-plugin-es: 3.0.1_eslint@8.57.0 + eslint: 8.57.1 + eslint-plugin-es: 3.0.1_eslint@8.57.1 eslint-utils: 2.1.0 ignore: 5.3.2 minimatch: 3.1.2 @@ -7147,7 +7148,7 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-perfectionist/2.11.0_4lxgoysztp3gakdxqfzw7vhg4u: + /eslint-plugin-perfectionist/2.11.0_avq3eyf5kaj6ssrwo7fvkrwnji: resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} peerDependencies: astro-eslint-parser: ^1.0.2 @@ -7165,8 +7166,8 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 7.18.0_4lxgoysztp3gakdxqfzw7vhg4u - eslint: 8.57.0 + '@typescript-eslint/utils': 7.18.0_avq3eyf5kaj6ssrwo7fvkrwnji + eslint: 8.57.1 minimatch: 9.0.5 natural-compare-lite: 1.4.0 transitivePeerDependencies: @@ -7174,7 +7175,7 @@ packages: - typescript dev: true - /eslint-plugin-perfectionist/2.11.0_da34rr5jjo7ome56umyinntrou: + /eslint-plugin-perfectionist/2.11.0_hjvaeeg43g7el7m5pcdc7xyzxm: resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} peerDependencies: astro-eslint-parser: ^1.0.2 @@ -7192,8 +7193,8 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 7.18.0_da34rr5jjo7ome56umyinntrou - eslint: 8.57.0 + '@typescript-eslint/utils': 7.18.0_hjvaeeg43g7el7m5pcdc7xyzxm + eslint: 8.57.1 minimatch: 9.0.5 natural-compare-lite: 1.4.0 transitivePeerDependencies: @@ -7251,7 +7252,7 @@ packages: - supports-color dev: true - /eslint-plugin-unicorn/36.0.0_eslint@8.57.0: + /eslint-plugin-unicorn/36.0.0_eslint@8.57.1: resolution: {integrity: sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA==} engines: {node: '>=12'} peerDependencies: @@ -7260,9 +7261,9 @@ packages: '@babel/helper-validator-identifier': 7.24.7 ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.57.0 - eslint-template-visitor: 2.3.2_eslint@8.57.0 - eslint-utils: 3.0.0_eslint@8.57.0 + eslint: 8.57.1 + eslint-template-visitor: 2.3.2_eslint@8.57.1 + eslint-utils: 3.0.0_eslint@8.57.1 is-builtin-module: 3.2.1 lodash: 4.17.21 pluralize: 8.0.0 @@ -7305,14 +7306,14 @@ packages: - supports-color dev: true - /eslint-template-visitor/2.3.2_eslint@8.57.0: + /eslint-template-visitor/2.3.2_eslint@8.57.1: resolution: {integrity: sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==} peerDependencies: eslint: '>=7.0.0' dependencies: '@babel/core': 7.25.2 - '@babel/eslint-parser': 7.25.1_jxip2dpvspilvgics5irt52yse - eslint: 8.57.0 + '@babel/eslint-parser': 7.25.1_uhszjnyxpp3ff7nctzrrdj6llq + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 esquery: 1.6.0 multimap: 1.1.0 @@ -7337,13 +7338,13 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-utils/3.0.0_eslint@8.57.0: + /eslint-utils/3.0.0_eslint@8.57.1: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 2.1.0 dev: true @@ -7411,16 +7412,16 @@ packages: - supports-color dev: true - /eslint/8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + /eslint/8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.0 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.57.1 '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -7637,9 +7638,9 @@ packages: engines: {node: '>=8.0.0'} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - '@types/chai': 4.3.19 - '@types/lodash': 4.17.7 - '@types/node': 20.16.5 + '@types/chai': 4.3.20 + '@types/lodash': 4.17.9 + '@types/node': 20.16.9 '@types/sinon': 10.0.20 lodash: 4.17.21 mock-stdin: 1.0.0 @@ -7654,9 +7655,9 @@ packages: engines: {node: '>=12.0.0'} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - '@types/chai': 4.3.19 - '@types/lodash': 4.17.7 - '@types/node': 20.16.5 + '@types/chai': 4.3.20 + '@types/lodash': 4.17.9 + '@types/node': 20.16.9 '@types/sinon': 10.0.20 lodash: 4.17.21 mock-stdin: 1.0.0 @@ -7811,11 +7812,14 @@ packages: array-back: 3.1.0 dev: true - /find-replace/5.0.1: - resolution: {integrity: sha512-o5/Y8HrCNRuFF5rdNTkX8Vhv6kTFTV0t1zIoigwlCdbkA9qaapRzxvWPND2VvlFa9LBI05Q1i8ml/saMqkOJUQ==} + /find-replace/5.0.2: + resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==} engines: {node: '>=14'} - dependencies: - array-back: 6.2.2 + peerDependencies: + '@75lb/nature': latest + peerDependenciesMeta: + '@75lb/nature': + optional: true dev: true /find-up/3.0.0: @@ -9157,7 +9161,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -9273,7 +9277,7 @@ packages: - supports-color dev: true - /jest-config/29.7.0_7svz4qco2xvfoz6cauwddkgaku: + /jest-config/29.7.0_2g6loqgebgnagbbrmjjc7cbjsy: resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -9288,7 +9292,7 @@ packages: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 babel-jest: 29.7.0_@babel+core@7.25.2 chalk: 4.1.2 ci-info: 3.9.0 @@ -9314,7 +9318,7 @@ packages: - supports-color dev: true - /jest-config/29.7.0_@types+node@20.16.5: + /jest-config/29.7.0_@types+node@20.16.9: resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -9329,7 +9333,7 @@ packages: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 babel-jest: 29.7.0_@babel+core@7.25.2 chalk: 4.1.2 ci-info: 3.9.0 @@ -9440,7 +9444,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -9461,7 +9465,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.16.5 + '@types/node': 20.16.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -9512,7 +9516,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 jest-util: 29.7.0 dev: true @@ -9567,7 +9571,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -9598,7 +9602,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -9650,7 +9654,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -9675,7 +9679,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 20.16.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -9687,7 +9691,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.9 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9787,7 +9791,7 @@ packages: engines: {node: '>=12'} dependencies: array-back: 6.2.2 - find-replace: 5.0.1 + find-replace: 5.0.2 lodash.omit: 4.5.0 sort-array: 5.0.0 transitivePeerDependencies: @@ -10885,7 +10889,7 @@ packages: '@sinonjs/fake-timers': 13.0.2 '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 - path-to-regexp: 8.1.0 + path-to-regexp: 8.2.0 /nock/13.5.5: resolution: {integrity: sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA==} @@ -11486,15 +11490,15 @@ packages: - typescript dev: true - /oclif/3.17.2_7fevqhz6gkqgsvgva3uhczuvcq: + /oclif/3.17.2_bluebird@3.7.2: resolution: {integrity: sha512-+vFXxgmR7dGGz+g6YiqSZu2LXVkBMaS9/rhtsLGkYw45e53CW/3kBgPRnOvxcTDM3Td9JPeBD2JWxXnPKGQW3A==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@oclif/core': 2.16.0_7fevqhz6gkqgsvgva3uhczuvcq - '@oclif/plugin-help': 5.2.20_7fevqhz6gkqgsvgva3uhczuvcq - '@oclif/plugin-not-found': 2.4.3_7fevqhz6gkqgsvgva3uhczuvcq - '@oclif/plugin-warn-if-update-available': 2.1.1_7fevqhz6gkqgsvgva3uhczuvcq + '@oclif/core': 2.16.0 + '@oclif/plugin-help': 5.2.20 + '@oclif/plugin-not-found': 2.4.3 + '@oclif/plugin-warn-if-update-available': 2.1.1 async-retry: 1.3.3 aws-sdk: 2.1691.0 concurrently: 7.6.0 @@ -11508,8 +11512,8 @@ packages: semver: 7.6.3 shelljs: 0.8.5 tslib: 2.7.0 - yeoman-environment: 3.19.3 - yeoman-generator: 5.10.0_yeoman-environment@3.19.3 + yeoman-environment: 3.19.3_bluebird@3.7.2 + yeoman-generator: 5.10.0_nqs3lknjmcjhmksixfhcryndrq transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -11521,15 +11525,15 @@ packages: - typescript dev: true - /oclif/3.17.2_bluebird@3.7.2: + /oclif/3.17.2_fxnscsehfcewpnie2ltbcrhxa4: resolution: {integrity: sha512-+vFXxgmR7dGGz+g6YiqSZu2LXVkBMaS9/rhtsLGkYw45e53CW/3kBgPRnOvxcTDM3Td9JPeBD2JWxXnPKGQW3A==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@oclif/core': 2.16.0 - '@oclif/plugin-help': 5.2.20 - '@oclif/plugin-not-found': 2.4.3 - '@oclif/plugin-warn-if-update-available': 2.1.1 + '@oclif/core': 2.16.0_typescript@4.9.5 + '@oclif/plugin-help': 5.2.20_typescript@4.9.5 + '@oclif/plugin-not-found': 2.4.3_typescript@4.9.5 + '@oclif/plugin-warn-if-update-available': 2.1.1_typescript@4.9.5 async-retry: 1.3.3 aws-sdk: 2.1691.0 concurrently: 7.6.0 @@ -11556,15 +11560,15 @@ packages: - typescript dev: true - /oclif/3.17.2_fxnscsehfcewpnie2ltbcrhxa4: + /oclif/3.17.2_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-+vFXxgmR7dGGz+g6YiqSZu2LXVkBMaS9/rhtsLGkYw45e53CW/3kBgPRnOvxcTDM3Td9JPeBD2JWxXnPKGQW3A==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@oclif/core': 2.16.0_typescript@4.9.5 - '@oclif/plugin-help': 5.2.20_typescript@4.9.5 - '@oclif/plugin-not-found': 2.4.3_typescript@4.9.5 - '@oclif/plugin-warn-if-update-available': 2.1.1_typescript@4.9.5 + '@oclif/core': 2.16.0_jeqbknj46pgdeszrzbax4bk7my + '@oclif/plugin-help': 5.2.20_jeqbknj46pgdeszrzbax4bk7my + '@oclif/plugin-not-found': 2.4.3_jeqbknj46pgdeszrzbax4bk7my + '@oclif/plugin-warn-if-update-available': 2.1.1_jeqbknj46pgdeszrzbax4bk7my async-retry: 1.3.3 aws-sdk: 2.1691.0 concurrently: 7.6.0 @@ -11578,8 +11582,8 @@ packages: semver: 7.6.3 shelljs: 0.8.5 tslib: 2.7.0 - yeoman-environment: 3.19.3_bluebird@3.7.2 - yeoman-generator: 5.10.0_nqs3lknjmcjhmksixfhcryndrq + yeoman-environment: 3.19.3 + yeoman-generator: 5.10.0_yeoman-environment@3.19.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -11626,15 +11630,15 @@ packages: - typescript dev: true - /oclif/3.17.2_olml23j7e3unkr7c67e5g4k7li: + /oclif/3.17.2_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-+vFXxgmR7dGGz+g6YiqSZu2LXVkBMaS9/rhtsLGkYw45e53CW/3kBgPRnOvxcTDM3Td9JPeBD2JWxXnPKGQW3A==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - '@oclif/core': 2.16.0_olml23j7e3unkr7c67e5g4k7li - '@oclif/plugin-help': 5.2.20_olml23j7e3unkr7c67e5g4k7li - '@oclif/plugin-not-found': 2.4.3_olml23j7e3unkr7c67e5g4k7li - '@oclif/plugin-warn-if-update-available': 2.1.1_olml23j7e3unkr7c67e5g4k7li + '@oclif/core': 2.16.0_uqtu27iq5voxechhkclcyk3efa + '@oclif/plugin-help': 5.2.20_uqtu27iq5voxechhkclcyk3efa + '@oclif/plugin-not-found': 2.4.3_uqtu27iq5voxechhkclcyk3efa + '@oclif/plugin-warn-if-update-available': 2.1.1_uqtu27iq5voxechhkclcyk3efa async-retry: 1.3.3 aws-sdk: 2.1691.0 concurrently: 7.6.0 @@ -12103,8 +12107,8 @@ packages: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} dev: true - /path-to-regexp/8.1.0: - resolution: {integrity: sha512-Bqn3vc8CMHty6zuD+tG23s6v2kwxslHEhTj4eYaVKGIEB+YX/2wd0/rgXLFD9G9id9KCtbVy/3ZgmvZjpa0UdQ==} + /path-to-regexp/8.2.0: + resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} engines: {node: '>=16'} /path-type/4.0.0: @@ -13135,7 +13139,7 @@ packages: optional: true dependencies: array-back: 6.2.2 - typical: 7.1.1 + typical: 7.2.0 dev: true /sort-keys/4.2.0: @@ -13762,7 +13766,7 @@ packages: yn: 3.1.1 dev: true - /ts-node/10.9.2_7fevqhz6gkqgsvgva3uhczuvcq: + /ts-node/10.9.2_jeqbknj46pgdeszrzbax4bk7my: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -13781,7 +13785,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.16.5 + '@types/node': 20.16.9 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -13822,7 +13826,7 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /ts-node/10.9.2_olml23j7e3unkr7c67e5g4k7li: + /ts-node/10.9.2_typescript@4.9.5: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -13841,7 +13845,6 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 16.18.108 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -13851,8 +13854,9 @@ packages: typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: true - /ts-node/10.9.2_typescript@4.9.5: + /ts-node/10.9.2_uqtu27iq5voxechhkclcyk3efa: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -13871,6 +13875,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 + '@types/node': 16.18.111 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 @@ -13880,7 +13885,6 @@ packages: typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-node/8.10.2_typescript@4.9.5: resolution: {integrity: sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==} @@ -14057,8 +14061,8 @@ packages: engines: {node: '>=8'} dev: true - /typical/7.1.1: - resolution: {integrity: sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==} + /typical/7.2.0: + resolution: {integrity: sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==} engines: {node: '>=12.17'} dev: true @@ -14168,13 +14172,13 @@ packages: engines: {node: '>=8'} dev: true - /update-browserslist-db/1.1.0_browserslist@4.23.3: + /update-browserslist-db/1.1.0_browserslist@4.24.0: resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 escalade: 3.2.0 picocolors: 1.1.0 dev: true