diff --git a/package-lock.json b/package-lock.json index 9d37ce9069..6aaa6281c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,9 +32,9 @@ } }, "node_modules/@apollo/client": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.10.1.tgz", - "integrity": "sha512-QNacQBZzJla5UQ/LLBXJWM7/1v1C5cfpMQPAFjW4hg4T54wHWbg4Dr+Dp6N+hy/ygu8tepdM+/y/5VFLZhovlQ==", + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.10.3.tgz", + "integrity": "sha512-4EIgZnFmRO1laWv3NCxlVIxcvimG63djuAXvyXhpQH3wkNMv9SykrasKRN08+z+cn/fVisBOLmkSRdyNyP9f4A==", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "@wry/caches": "^1.0.0", @@ -1989,12 +1989,12 @@ } }, "node_modules/@oclif/plugin-plugins": { - "version": "5.0.18", - "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.0.18.tgz", - "integrity": "sha512-XWxrs6Jc0ovuoK7MeIViWwXYX939l55tzpr7+1dac7y33hqBrH50K5kn2M7NXjfYYJrY17IqRLhlmRLGE6vuYQ==", + "version": "5.0.19", + "resolved": "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.0.19.tgz", + "integrity": "sha512-5Y7e75dGQe6DrKz5fJrM3Nl790d2aY/rbCjHQ4Kk9jhmOvLF00IkrPElFCVDlbLCAESSt8zqR82nb7k0hcomeg==", "hasShrinkwrap": true, "dependencies": { - "@oclif/core": "^3.26.4", + "@oclif/core": "^3.26.5", "chalk": "^5.3.0", "debug": "^4.3.4", "npm": "^10.7.0", @@ -2045,9 +2045,9 @@ } }, "node_modules/@oclif/plugin-plugins/node_modules/@oclif/core": { - "version": "3.26.4", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-3.26.4.tgz", - "integrity": "sha512-ntfo2ut7enNtAn/jB/dryMUPBM2Fh8Fydmi3k/Ybo6lCGU/hmsPFkBRjCEJAQMyNkK2yVZARaWogdOrcVgFz+w==", + "version": "3.26.5", + "resolved": "https://registry.npmjs.org/@oclif/core/-/core-3.26.5.tgz", + "integrity": "sha512-uRmAujGJjLhhgpLylbiuHuPt9Ec7u6aJ72utuSPNTRw47+W5vbQSGnLGPiil1Mt5YDL+zFOyTVH6Uv3NSP2SaQ==", "license": "MIT", "dependencies": { "@types/cli-progress": "^3.11.5", @@ -5891,9 +5891,9 @@ } }, "node_modules/@sigstore/sign/node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -5935,9 +5935,9 @@ } }, "node_modules/@sigstore/sign/node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -5972,9 +5972,9 @@ } }, "node_modules/@sigstore/sign/node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -6003,9 +6003,9 @@ } }, "node_modules/@sigstore/sign/node_modules/glob/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -6071,9 +6071,9 @@ } }, "node_modules/@sigstore/sign/node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "dev": true, "dependencies": { "minipass": "^7.0.3", @@ -6088,9 +6088,9 @@ } }, "node_modules/@sigstore/sign/node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -6138,9 +6138,9 @@ } }, "node_modules/@sigstore/sign/node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { "minipass": "^7.0.3" @@ -6150,9 +6150,9 @@ } }, "node_modules/@sigstore/sign/node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -6291,9 +6291,9 @@ } }, "node_modules/@slack/logger/node_modules/@types/node": { - "version": "20.12.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz", - "integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==", + "version": "20.12.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.10.tgz", + "integrity": "sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==", "dependencies": { "undici-types": "~5.26.4" } @@ -6591,9 +6591,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.15", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.15.tgz", - "integrity": "sha512-PYVSvyeZqy9++MoSegq88PxoPndWDDLGbJmE/OZnzUk3D4cCRTmA4N6EX3g0GgLVA+vtys7bj4luhkVCglGTkQ==" + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" }, "node_modules/@types/cli-progress": { "version": "3.11.5", @@ -6806,9 +6806,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", - "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==" + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.1.tgz", + "integrity": "sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==" }, "node_modules/@types/markdown-it": { "version": "14.1.1", @@ -7867,9 +7867,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1612.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1612.0.tgz", - "integrity": "sha512-UNwmKh2IChGQzDm6Stxor2SbjealVld2awmf1Q8rxVO1UVvjRrQ97ArD2gWouJT7BuSqDsUpgMgf/LBAbLjMxQ==", + "version": "2.1615.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1615.0.tgz", + "integrity": "sha512-07xIbWiO8/3gdcTGk4u/gBsts+zLmaXSNjOLHjOyMiLpzyeRJGH269vIYwnl7SymZT89Xl3D17cMbHgoKgeXOw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -8613,9 +8613,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001615", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001615.tgz", - "integrity": "sha512-1IpazM5G3r38meiae0bHRnPhz+CBQ3ZLqbQMtrg+AsTPKAXgW38JNsXkyZ+v8waCsDmPq87lmfun5Q2AGysNEQ==", + "version": "1.0.30001616", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz", + "integrity": "sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==", "dev": true, "funding": [ { @@ -10135,9 +10135,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.754", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.754.tgz", - "integrity": "sha512-7Kr5jUdns5rL/M9wFFmMZAgFDuL2YOnanFH4OI4iFzUqyh3XOL7nAGbSlSMZdzKMIyyTpNSbqZsWG9odwLeKvA==", + "version": "1.4.758", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz", + "integrity": "sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw==", "dev": true }, "node_modules/elegant-spinner": { @@ -10209,9 +10209,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz", + "integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -12575,9 +12575,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", - "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.4.tgz", + "integrity": "sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -14872,9 +14872,9 @@ } }, "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -19446,9 +19446,9 @@ } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -20279,9 +20279,9 @@ } }, "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", - "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -20312,9 +20312,9 @@ } }, "node_modules/read-package-json/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -21070,12 +21070,9 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.1.tgz", + "integrity": "sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==", "bin": { "semver": "bin/semver.js" }, @@ -21088,22 +21085,6 @@ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -21332,9 +21313,9 @@ } }, "node_modules/sigstore/node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -21376,9 +21357,9 @@ } }, "node_modules/sigstore/node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -21413,9 +21394,9 @@ } }, "node_modules/sigstore/node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -21444,9 +21425,9 @@ } }, "node_modules/sigstore/node_modules/glob/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -21512,9 +21493,9 @@ } }, "node_modules/sigstore/node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "dev": true, "dependencies": { "minipass": "^7.0.3", @@ -21529,9 +21510,9 @@ } }, "node_modules/sigstore/node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -21579,9 +21560,9 @@ } }, "node_modules/sigstore/node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { "minipass": "^7.0.3" @@ -21591,9 +21572,9 @@ } }, "node_modules/sigstore/node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -22768,9 +22749,9 @@ } }, "node_modules/tuf-js/node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -22812,9 +22793,9 @@ } }, "node_modules/tuf-js/node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -22849,9 +22830,9 @@ } }, "node_modules/tuf-js/node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -22880,9 +22861,9 @@ } }, "node_modules/tuf-js/node_modules/glob/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -22948,9 +22929,9 @@ } }, "node_modules/tuf-js/node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "dev": true, "dependencies": { "minipass": "^7.0.3", @@ -22965,9 +22946,9 @@ } }, "node_modules/tuf-js/node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -23015,9 +22996,9 @@ } }, "node_modules/tuf-js/node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { "minipass": "^7.0.3" @@ -23027,9 +23008,9 @@ } }, "node_modules/tuf-js/node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -23334,9 +23315,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.14.tgz", - "integrity": "sha512-JixKH8GR2pWYshIPUg/NujK3JO7JiqEEUiNArE86NQyrgUuZeTlZQN3xuS/yiV5Kb48ev9K6RqNkaJjXsdg7Jw==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", + "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", "dev": true, "funding": [ { @@ -24269,9 +24250,9 @@ } }, "node_modules/yeoman-generator/node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -24434,9 +24415,9 @@ } }, "node_modules/yeoman-generator/node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -24483,9 +24464,9 @@ } }, "node_modules/yeoman-generator/node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -24523,9 +24504,9 @@ } }, "node_modules/yeoman-generator/node_modules/ignore-walk": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", - "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", "dev": true, "dependencies": { "minimatch": "^9.0.0" @@ -24535,9 +24516,9 @@ } }, "node_modules/yeoman-generator/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", - "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -24821,9 +24802,9 @@ } }, "node_modules/yeoman-generator/node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", "dev": true, "dependencies": { "npm-normalize-package-bin": "^3.0.0" @@ -24940,9 +24921,9 @@ } }, "node_modules/yeoman-generator/node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "dev": true, "dependencies": { "minipass": "^7.0.3", @@ -24957,9 +24938,9 @@ } }, "node_modules/yeoman-generator/node_modules/npm-registry-fetch/node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -25093,9 +25074,9 @@ } }, "node_modules/yeoman-generator/node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "dev": true, "dependencies": { "minipass": "^7.0.3" @@ -25105,9 +25086,9 @@ } }, "node_modules/yeoman-generator/node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -25138,13 +25119,10 @@ } }, "node_modules/yeoman-generator/node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -25205,10 +25183,10 @@ }, "packages/contentstack": { "name": "@contentstack/cli", - "version": "1.17.5", + "version": "1.18.0", "license": "MIT", "dependencies": { - "@contentstack/cli-audit": "~1.5.4", + "@contentstack/cli-audit": "~1.6.0", "@contentstack/cli-auth": "~1.3.17", "@contentstack/cli-cm-bootstrap": "~1.9.0", "@contentstack/cli-cm-branches": "~1.0.24", @@ -25216,7 +25194,7 @@ "@contentstack/cli-cm-clone": "~1.10.3", "@contentstack/cli-cm-export": "~1.11.2", "@contentstack/cli-cm-export-to-csv": "~1.7.0", - "@contentstack/cli-cm-import": "~1.15.3", + "@contentstack/cli-cm-import": "~1.15.4", "@contentstack/cli-cm-migrate-rte": "~1.4.15", "@contentstack/cli-cm-seed": "~1.7.3", "@contentstack/cli-command": "~1.2.17", @@ -25273,7 +25251,7 @@ }, "packages/contentstack-audit": { "name": "@contentstack/cli-audit", - "version": "1.5.4", + "version": "1.6.0", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.2.16", @@ -25332,9 +25310,9 @@ "dev": true }, "packages/contentstack-audit/node_modules/@types/node": { - "version": "20.12.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz", - "integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==", + "version": "20.12.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.10.tgz", + "integrity": "sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -25467,17 +25445,17 @@ "dev": true }, "packages/contentstack-audit/node_modules/sinon": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", - "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.2.tgz", + "integrity": "sha512-uihLiaB9FhzesElPDFZA7hDcNABzsVHwr3YfmM9sBllVwab3l0ltGlRV1XhpNfIacNDLGD1QRZNLs5nU5+hTuA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0", + "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" + "diff": "^5.2.0", + "nise": "^5.1.9", + "supports-color": "^7" }, "funding": { "type": "opencollective", @@ -25749,7 +25727,7 @@ "dependencies": { "@colors/colors": "^1.5.0", "@contentstack/cli-cm-export": "~1.11.2", - "@contentstack/cli-cm-import": "~1.15.3", + "@contentstack/cli-cm-import": "~1.15.4", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "async": "^3.2.4", @@ -25839,9 +25817,9 @@ } }, "packages/contentstack-clone/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.0.tgz", + "integrity": "sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -26718,10 +26696,10 @@ }, "packages/contentstack-import": { "name": "@contentstack/cli-cm-import", - "version": "1.15.3", + "version": "1.15.4", "license": "MIT", "dependencies": { - "@contentstack/cli-audit": "~1.5.4", + "@contentstack/cli-audit": "~1.6.0", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "@contentstack/management": "~1.15.3", @@ -26931,9 +26909,9 @@ "dev": true }, "packages/contentstack-launch/node_modules/@types/node": { - "version": "16.18.96", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.96.tgz", - "integrity": "sha512-84iSqGXoO+Ha16j8pRZ/L90vDMKX04QTYMTfYeE1WrjWaZXuchBehGUZEpNgx7JnmlrIHdnABmpjrQjhCnNldQ==", + "version": "16.18.97", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.97.tgz", + "integrity": "sha512-4muilE1Lbfn57unR+/nT9AFjWk0MtWi5muwCEJqnOvfRQDbSfLCUdN7vCIg8TYuaANfhLOV85ve+FNpiUsbSRg==", "dev": true }, "packages/contentstack-launch/node_modules/acorn": { @@ -27181,7 +27159,7 @@ "version": "1.7.3", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-import": "~1.15.3", + "@contentstack/cli-cm-import": "~1.15.4", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "inquirer": "8.2.4", diff --git a/packages/contentstack-audit/README.md b/packages/contentstack-audit/README.md index a28e4bdc82..96ec6e1cc7 100644 --- a/packages/contentstack-audit/README.md +++ b/packages/contentstack-audit/README.md @@ -19,7 +19,7 @@ $ npm install -g @contentstack/cli-audit $ csdx COMMAND running command... $ csdx (--version|-v) -@contentstack/cli-audit/1.5.4 darwin-arm64 node-v21.6.2 +@contentstack/cli-audit/1.6.0 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-audit/package.json b/packages/contentstack-audit/package.json index ac4d6e8500..3619335e1a 100644 --- a/packages/contentstack-audit/package.json +++ b/packages/contentstack-audit/package.json @@ -1,6 +1,6 @@ { "name": "@contentstack/cli-audit", - "version": "1.5.4", + "version": "1.6.0", "description": "Contentstack audit plugin", "author": "Contentstack CLI", "homepage": "https://github.com/contentstack/cli", diff --git a/packages/contentstack-audit/src/audit-base-command.ts b/packages/contentstack-audit/src/audit-base-command.ts index 4fefdf67fb..b77879fc7d 100644 --- a/packages/contentstack-audit/src/audit-base-command.ts +++ b/packages/contentstack-audit/src/audit-base-command.ts @@ -48,8 +48,15 @@ export abstract class AuditBaseCommand extends BaseCommand { - if (['title', 'name', 'uid', 'content_types', 'branches', 'fixStatus'].includes(key)) { + if (config.OutputTableKeys.includes(key)) { return { [key]: { minWidth: 7, @@ -316,7 +352,12 @@ export abstract class AuditBaseCommand extends BaseCommand) => { if (key === 'fixStatus') { return chalk.green(typeof row[key] === 'object' ? JSON.stringify(row[key]) : row[key]); - } else if (key === 'content_types' || key === 'branches') { + } else if ( + key === 'content_types' || + key === 'branches' || + key === 'missingCTSelectFieldValues' || + key === 'missingFieldUid' + ) { return chalk.red(typeof row[key] === 'object' ? JSON.stringify(row[key]) : row[key]); } else { return chalk.white(typeof row[key] === 'object' ? JSON.stringify(row[key]) : row[key]); @@ -344,7 +385,10 @@ export abstract class AuditBaseCommand extends BaseCommand): Promise { + prepareReport( + moduleName: keyof typeof config.moduleConfig | keyof typeof config.ReportTitleForEntries, + listOfMissingRefs: Record, + ): Promise { if (isEmpty(listOfMissingRefs)) return Promise.resolve(void 0); if (!existsSync(this.sharedConfig.reportPath)) { @@ -368,7 +412,10 @@ export abstract class AuditBaseCommand extends BaseCommand): Promise { + prepareCSV( + moduleName: keyof typeof config.moduleConfig | keyof typeof config.ReportTitleForEntries, + listOfMissingRefs: Record, + ): Promise { const csvPath = join(this.sharedConfig.reportPath, `${moduleName}.csv`); return new Promise((resolve, reject) => { diff --git a/packages/contentstack-audit/src/config/index.ts b/packages/contentstack-audit/src/config/index.ts index 27efe46c88..2e31b7a954 100644 --- a/packages/contentstack-audit/src/config/index.ts +++ b/packages/contentstack-audit/src/config/index.ts @@ -54,6 +54,28 @@ const config = { 'publish_details', ], }, + //These keys will be used output the modules with issues and fixes on console + OutputTableKeys: [ + 'title', + 'name', + 'uid', + 'content_types', + 'branches', + 'fixStatus', + 'tree', + 'display_name', + 'display_type', + 'missingRefs', + 'treeStr', + 'missingCTSelectFieldValues', + 'min_instance', + 'missingFieldUid', + 'isPublished', + ], + ReportTitleForEntries: { + Entries_Select_feild: 'Entries_Select_feild', + Entries_Mandatory_feild: 'Entries_Mandatory_feild', + }, }; export default config; diff --git a/packages/contentstack-audit/src/messages/index.ts b/packages/contentstack-audit/src/messages/index.ts index 301c7069cf..d8a37c1c98 100644 --- a/packages/contentstack-audit/src/messages/index.ts +++ b/packages/contentstack-audit/src/messages/index.ts @@ -46,6 +46,8 @@ const auditFixMsg = { EMPTY_FIX_MSG: 'Successfully removed the empty field/block found at {path} from the schema.', AUDIT_FIX_CMD_DESCRIPTION: 'Perform audits and fix possible errors in the exported Contentstack data.', WF_FIX_MSG: 'Successfully removed the workflow {uid} named {name}.', + ENTRY_MANDATORY_FIELD_FIX: `Removing the publish details from entry uid '{uid}' from locale '{locale}'`, + ENTRY_SELECT_FIELD_FIX: `Adding the value '{value}' in select field of uid '{uid}'` }; const messages: typeof errors & diff --git a/packages/contentstack-audit/src/modules/content-types.ts b/packages/contentstack-audit/src/modules/content-types.ts index 770a5a4eb2..274768ceee 100644 --- a/packages/contentstack-audit/src/modules/content-types.ts +++ b/packages/contentstack-audit/src/modules/content-types.ts @@ -183,8 +183,8 @@ export default class ContentType { ...this.validateReferenceField( [...tree, { uid: field.uid, name: child.display_name }], child as ReferenceFieldDataType, - ), - ); + ), + ); break; case 'global_field': await this.validateGlobalField( diff --git a/packages/contentstack-audit/src/modules/entries.ts b/packages/contentstack-audit/src/modules/entries.ts index 75affa8be8..bc3f5013bb 100644 --- a/packages/contentstack-audit/src/modules/entries.ts +++ b/packages/contentstack-audit/src/modules/entries.ts @@ -8,7 +8,7 @@ import { existsSync, readFileSync, writeFileSync } from 'fs'; import auditConfig from '../config'; import ContentType from './content-types'; -import { $t, auditMsg, commonMsg } from '../messages'; +import { $t, auditFixMsg, auditMsg, commonMsg } from '../messages'; import { LogFn, Locale, @@ -34,6 +34,8 @@ import { EntryReferenceFieldDataType, ExtensionOrAppFieldDataType, EntryExtensionOrAppFieldDataType, + EntrySelectFeildDataType, + SelectFeildStruct, } from '../types'; import { print } from '../util'; import GlobalField from './global-fields'; @@ -53,6 +55,8 @@ export default class Entries { public ctSchema: ContentTypeStruct[]; protected entries!: Record; protected missingRefs: Record = {}; + protected missingSelectFeild: Record = {}; + protected missingMandatoryFields: Record = {}; public entryMetaData: Record[] = []; public moduleName: keyof typeof auditConfig.moduleConfig = 'entries'; public isEntryWithoutTitleField: boolean = false; @@ -103,10 +107,38 @@ export default class Entries { this.missingRefs[this.currentUid] = []; } + if (!this.missingSelectFeild[this.currentUid]) { + this.missingSelectFeild[this.currentUid] = []; + } + + if (!this.missingMandatoryFields[this.currentUid]) { + this.missingMandatoryFields[this.currentUid] = []; + } if (this.fix) { this.removeMissingKeysOnEntry(ctSchema.schema as ContentTypeSchemaType[], this.entries[entryUid]); } + this.lookForReference([{ locale: code, uid, name: title }], ctSchema, this.entries[entryUid]); + + const fields = this.missingMandatoryFields[uid]; + const isPublished = entry.publish_details.length > 0; + if ((this.fix && fields.length && isPublished) || (!this.fix && fields)) { + const fixStatus = this.fix ? 'Fixed' : ''; + fields?.forEach((field: { isPublished: boolean; fixStatus?: string }) => { + field.isPublished = isPublished; + if (this.fix && isPublished) { + field.fixStatus = fixStatus; + } + }); + + if (this.fix && isPublished) { + this.log($t(auditFixMsg.ENTRY_MANDATORY_FIELD_FIX, { uid, locale: code }), 'error'); + entry.publish_details = []; + } + } else { + delete this.missingMandatoryFields[uid]; + } + const message = $t(auditMsg.SCAN_ENTRY_SUCCESS_MSG, { title, local: code, @@ -126,7 +158,11 @@ export default class Entries { this.removeEmptyVal(); - return this.missingRefs; + return { + missingEntryRefs: this.missingRefs, + missingSelectFeild: this.missingSelectFeild, + missingMandatoryFields: this.missingMandatoryFields, + }; } /** @@ -138,6 +174,16 @@ export default class Entries { delete this.missingRefs[propName]; } } + for (let propName in this.missingSelectFeild) { + if (!this.missingSelectFeild[propName].length) { + delete this.missingSelectFeild[propName]; + } + } + for (let propName in this.missingMandatoryFields) { + if (!this.missingMandatoryFields[propName].length) { + delete this.missingMandatoryFields[propName]; + } + } } /** @@ -224,10 +270,18 @@ export default class Entries { entry = this.runFixOnSchema(tree, field.schema as ContentTypeSchemaType[], entry); } - for (const child of field.schema ?? []) { + for (const child of field?.schema ?? []) { const { uid } = child; - - if (!entry?.[uid]) continue; + this.missingMandatoryFields[this.currentUid].push( + ...this.validateMandatoryFields( + [...tree, { uid: field.uid, name: child.display_name, field: uid }], + child, + entry, + ), + ); + if (!entry?.[uid] && !child.hasOwnProperty('display_type')) { + continue; + } switch (child.data_type) { case 'reference': @@ -279,6 +333,18 @@ export default class Entries { entry[uid] as EntryGroupFieldDataType[], ); break; + case 'text': + case 'number': + if (child.hasOwnProperty('display_type')) { + this.missingSelectFeild[this.currentUid].push( + ...this.validateSelectField( + [...tree, { uid: field.uid, name: child.display_name, field: uid }], + child as SelectFeildStruct, + entry[uid], + ), + ); + } + break; } } } @@ -619,12 +685,218 @@ export default class Entries { entry[uid] as EntryGroupFieldDataType[], ) as EntryGroupFieldDataType; break; + case 'text': + case 'number': + if (field.hasOwnProperty('display_type')) { + entry[uid] = this.fixSelectField( + [...tree, { uid: field.uid, name: field.display_name, data_type: field.data_type }], + field as SelectFeildStruct, + entry[uid] as EntrySelectFeildDataType, + ) as EntrySelectFeildDataType; + } + break; } }); return entry; } + /** + * We check for the select field with condition in order of multiple -> Array + * We find the missing values i.e. the values present in entry but not in the options of the content-type + * @param tree : Contains all the tree where the select field is located used for getting the path to it + * @param fieldStructure it contains the Content-type structure of the field + * @param field It contains the value that is present in the entry it can be array or value of number | string + * @returns if there is missing field returns field and path + * Else empty array + */ + validateSelectField(tree: Record[], fieldStructure: SelectFeildStruct, field: any) { + const { display_name, enum: selectOptions, multiple, min_instance, display_type } = fieldStructure; + if (field === null || field === '' || field?.length === 0 || !field) { + let missingCTSelectFieldValues = 'Not Selected'; + return [ + { + uid: this.currentUid, + name: this.currentTitle, + display_name, + display_type, + missingCTSelectFieldValues, + min_instance: min_instance ?? 'NA', + tree, + treeStr: tree + .map(({ name }) => name) + .filter((val) => val) + .join(' ➜ '), + }, + ]; + } + let missingCTSelectFieldValues; + + if (multiple) { + if (Array.isArray(field)) { + let obj = this.findNotPresentSelectField(field, selectOptions); + let { notPresent } = obj; + if (notPresent.length) { + missingCTSelectFieldValues = notPresent; + } + } + } else if (!selectOptions.choices.some((choice) => choice.value === field)) { + missingCTSelectFieldValues = field; + } + if (display_type && missingCTSelectFieldValues) { + return [ + { + uid: this.currentUid, + name: this.currentTitle, + display_name, + display_type, + missingCTSelectFieldValues, + min_instance: min_instance ?? 'NA', + tree, + treeStr: tree + .map(({ name }) => name) + .filter((val) => val) + .join(' ➜ '), + }, + ]; + } else { + return []; + } + } + + /** + * This functions check which of the select values used in entry is/are not present in the Content-type + * Then removes those values from entry + * If the entry is empty then adds the first value of the options + * If the entry has multiple choices and min_instances then adds that number of instances + * @param {Record}tree Contains the path where the select field can be found + * @param field : It contains the content-type structure of the select field + * @param entry : it contains the value in the entry of select field one of the options of the CT. + * @returns + */ + fixSelectField(tree: Record[], field: SelectFeildStruct, entry: any) { + const { enum: selectOptions, multiple, min_instance, display_type, display_name, uid } = field; + + let missingCTSelectFieldValues; + let isMissingValuePresent = false; + + if (multiple) { + let obj = this.findNotPresentSelectField(entry, selectOptions); + let { notPresent, filteredFeild } = obj; + entry = filteredFeild; + missingCTSelectFieldValues = notPresent; + if (missingCTSelectFieldValues.length) { + isMissingValuePresent = true; + } + if (min_instance && Array.isArray(entry)) { + const missingInstances = min_instance - entry.length; + if (missingInstances > 0) { + isMissingValuePresent = true; + const newValues = selectOptions.choices + .filter((choice) => !entry.includes(choice.value)) + .slice(0, missingInstances) + .map((choice) => choice.value); + entry.push(...newValues); + this.log($t(auditFixMsg.ENTRY_SELECT_FIELD_FIX, { value: newValues.join(' '), uid }), 'error'); + } + } else { + if (entry.length === 0) { + isMissingValuePresent = true; + const defaultValue = selectOptions.choices.length > 0 ? selectOptions.choices[0].value : null; + entry.push(defaultValue); + this.log($t(auditFixMsg.ENTRY_SELECT_FIELD_FIX, { value: defaultValue as string, uid }), 'error'); + } + } + } else { + const isPresent = selectOptions.choices.some((choice) => choice.value === entry); + if (!isPresent) { + missingCTSelectFieldValues = entry; + isMissingValuePresent = true; + let defaultValue = selectOptions.choices.length > 0 ? selectOptions.choices[0].value : null; + entry = defaultValue; + this.log($t(auditFixMsg.ENTRY_SELECT_FIELD_FIX, { value: defaultValue as string, uid }), 'error'); + } + } + if (display_type && isMissingValuePresent) { + this.missingSelectFeild[this.currentUid].push({ + uid: this.currentUid, + name: this.currentTitle, + display_name, + display_type, + missingCTSelectFieldValues, + min_instance: min_instance ?? 'NA', + tree, + treeStr: tree + .map(({ name }) => name) + .filter((val) => val) + .join(' ➜ '), + fixStatus: 'Fixed', + }); + } + return entry; + } + + validateMandatoryFields(tree: Record[], fieldStructure: any, entry: any) { + const { display_name, multiple, data_type, mandatory, field_metadata, uid } = fieldStructure; + + const isJsonRteEmpty = () => { + const jsonNode = multiple + ? entry[uid]?.[0]?.children?.[0]?.children?.[0]?.text + : entry[uid]?.children?.[0]?.children?.[0]?.text; + return jsonNode === ''; + }; + + const isEntryEmpty = () => { + const fieldValue = multiple ? entry[uid]?.length : entry[uid]; + return fieldValue === '' || !fieldValue; + }; + + if (mandatory) { + if ( + (data_type === 'json' && field_metadata.allow_json_rte && isJsonRteEmpty()) || + (!(data_type === 'json') && isEntryEmpty()) + ) { + return [ + { + uid: this.currentUid, + name: this.currentTitle, + display_name, + missingFieldUid: uid, + tree, + treeStr: tree + .filter(({ name }) => name) + .map(({ name }) => name) + .join(' ➜ '), + }, + ]; + } + } + + return []; + } + + /** + * + * @param field It contains the value to be searched + * @param selectOptions It contains the options that were added in CT + * @returns An Array of entry containing only the values that were present in CT, An array of not present entries + */ + findNotPresentSelectField(field: any, selectOptions: any) { + let present = []; + let notPresent = []; + const choicesMap = new Map(selectOptions.choices.map((choice: { value: any }) => [choice.value, choice])); + for (const value of field) { + const choice: any = choicesMap.get(value); + + if (choice) { + present.push(choice.value); + } else { + notPresent.push(value); + } + } + return { filteredFeild: present, notPresent }; + } + /** * The function `fixGlobalFieldReferences` adds a new entry to a tree data structure and runs a fix * on the schema. @@ -1000,8 +1272,8 @@ export default class Entries { } } } - // if (this.isEntryWithoutTitleField) { - // throw Error(`Entries found with missing 'title' field! Please make the data corrections and re-run the audit.`); - // } + if (this.isEntryWithoutTitleField) { + // throw Error(`Entries found with missing 'title' field! Please make the data corrections and re-run the audit.`); + } } } diff --git a/packages/contentstack-audit/src/types/content-types.ts b/packages/contentstack-audit/src/types/content-types.ts index b9e23931b9..96099e4efa 100644 --- a/packages/contentstack-audit/src/types/content-types.ts +++ b/packages/contentstack-audit/src/types/content-types.ts @@ -8,13 +8,15 @@ type ContentTypeSchemaType = | ExtensionOrAppFieldDataType | JsonRTEFieldDataType | GroupFieldDataType - | ModularBlocksDataType; + | ModularBlocksDataType + | SelectFeildStruct; type ContentTypeStruct = { uid: string; title: string; description: string; schema?: ContentTypeSchemaType[]; + mandatory: boolean; }; type ModuleConstructorParam = { @@ -37,6 +39,7 @@ type CommonDataTypeStruct = { ref_multiple: boolean; allow_json_rte: boolean; } & AnyProperty; + mandatory: boolean }; type RefErrorReturnType = { @@ -93,6 +96,7 @@ type ModularBlockType = { | ReferenceFieldDataType | ExtensionOrAppFieldDataType | GroupFieldDataType + | SelectFeildStruct )[]; }; @@ -106,22 +110,39 @@ type GroupFieldSchemaTypes = | CommonDataTypeStruct | GlobalFieldDataType | ReferenceFieldDataType - | ExtensionOrAppFieldDataType; + | ExtensionOrAppFieldDataType + | SelectFeildStruct; + +type GlobalFieldSchemaTypes = ReferenceFieldDataType | GroupFieldDataType | ExtensionOrAppFieldDataType | SelectFeildStruct; -type GlobalFieldSchemaTypes = ReferenceFieldDataType | GroupFieldDataType | ExtensionOrAppFieldDataType; +type ModularBlocksSchemaTypes = ReferenceFieldDataType | JsonRTEFieldDataType | SelectFeildStruct; -type ModularBlocksSchemaTypes = ReferenceFieldDataType | JsonRTEFieldDataType; +type SelectFeildStruct = CommonDataTypeStruct & { + display_type:string; + enum: { + advanced: string; + choices: Record[]; + }; + min_instance?: number; + max_instance?: number; + multiple: boolean; +}; enum OutputColumn { Title = 'name', 'Field name' = 'display_name', 'Field type' = 'data_type', + 'Display type' = 'display_type', 'Missing references' = 'missingRefs', Path = 'treeStr', title = 'title', 'uid' = 'uid', 'missingCts' = 'content_types', 'Missing Branches' = 'branches', + 'MissingValues' = 'missingCTSelectFieldValues', + 'Minimum Required Instaces' = 'min_instance', + 'missingFieldUid' = 'missingFieldUid', + 'isPublished' = 'isPublished' } export { @@ -141,4 +162,5 @@ export { ContentTypeSchemaType, GlobalFieldSchemaTypes, WorkflowExtensionsRefErrorReturnType, + SelectFeildStruct, }; diff --git a/packages/contentstack-audit/src/types/entries.ts b/packages/contentstack-audit/src/types/entries.ts index d91b4b94b5..6e5da4f93c 100644 --- a/packages/contentstack-audit/src/types/entries.ts +++ b/packages/contentstack-audit/src/types/entries.ts @@ -10,6 +10,7 @@ type Locale = { type EntryStruct = { uid: string; title: string; + publish_details: [] } & { [key: string]: | EntryReferenceFieldDataType[] @@ -46,12 +47,17 @@ type EntryJsonRTEFieldDataType = { }; // NOTE Type 5 -type GroupFieldType = EntryReferenceFieldDataType[] | EntryGlobalFieldDataType | EntryJsonRTEFieldDataType; +type GroupFieldType = EntryReferenceFieldDataType[] | EntryGlobalFieldDataType | EntryJsonRTEFieldDataType ; type EntryGroupFieldDataType = { [key: string]: GroupFieldType; }; +type SelectValue = string | string [] | number | number; + +type EntrySelectFeildDataType = { + [key: string]: SelectValue +} // NOTE Type 6 type EntryModularBlockType = { [key: string]: @@ -81,7 +87,9 @@ type EntryFieldType = | EntryGlobalFieldDataType | EntryModularBlocksDataType | EntryGroupFieldDataType - | EntryExtensionOrAppFieldDataType; + | EntryExtensionOrAppFieldDataType + | EntrySelectFeildDataType + | { [key: string]: any }; export { Locale, @@ -96,4 +104,6 @@ export { EntryRefErrorReturnType, GroupFieldType, EntryModularBlockType, + EntrySelectFeildDataType, + SelectValue }; diff --git a/packages/contentstack-auth/README.md b/packages/contentstack-auth/README.md index 5e3815eaaf..f7de9d9de3 100644 --- a/packages/contentstack-auth/README.md +++ b/packages/contentstack-auth/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli-auth $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-auth/1.3.17 darwin-arm64 node-v20.8.0 +@contentstack/cli-auth/1.3.17 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-bootstrap/README.md b/packages/contentstack-bootstrap/README.md index 36bab6c9c4..af2b993a69 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.9.1 darwin-arm64 node-v20.8.0 +@contentstack/cli-cm-bootstrap/1.9.1 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-clone/package.json b/packages/contentstack-clone/package.json index 4850a43304..e387241508 100644 --- a/packages/contentstack-clone/package.json +++ b/packages/contentstack-clone/package.json @@ -7,7 +7,7 @@ "dependencies": { "@colors/colors": "^1.5.0", "@contentstack/cli-cm-export": "~1.11.2", - "@contentstack/cli-cm-import": "~1.15.3", + "@contentstack/cli-cm-import": "~1.15.4", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "async": "^3.2.4", diff --git a/packages/contentstack-import/README.md b/packages/contentstack-import/README.md index a4b662eaf8..d229e6dbf3 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.15.3 darwin-arm64 node-v20.8.0 +@contentstack/cli-cm-import/1.15.3 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-import/package.json b/packages/contentstack-import/package.json index 6b91549c1f..466c3482ba 100644 --- a/packages/contentstack-import/package.json +++ b/packages/contentstack-import/package.json @@ -1,11 +1,11 @@ { "name": "@contentstack/cli-cm-import", "description": "Contentstack CLI plugin to import content into stack", - "version": "1.15.3", + "version": "1.15.4", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { - "@contentstack/cli-audit": "~1.5.4", + "@contentstack/cli-audit": "~1.6.0", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "@contentstack/management": "~1.15.3", diff --git a/packages/contentstack-import/src/import/modules/content-types.ts b/packages/contentstack-import/src/import/modules/content-types.ts index d026199f7d..cf4a573195 100644 --- a/packages/contentstack-import/src/import/modules/content-types.ts +++ b/packages/contentstack-import/src/import/modules/content-types.ts @@ -52,6 +52,7 @@ export default class ContentTypesImport extends BaseClass { private taxonomiesPath: string; public taxonomies: Record; private extPendingPath: string; + private isExtensionsUpdate = false; constructor({ importConfig, stackAPIClient }: ModuleClassParams) { super({ importConfig, stackAPIClient }); @@ -110,7 +111,9 @@ export default class ContentTypesImport extends BaseClass { } log(this.importConfig, 'Updating the extensions...', 'success'); await this.updatePendingExtensions(); - log(this.importConfig, 'Successfully updated the extensions.', 'success'); + if (this.isExtensionsUpdate) { + log(this.importConfig, 'Successfully updated the extensions.', 'success'); + } await this.updatePendingGFs().catch((error) => { log(this.importConfig, `Error while updating pending global field ${formatError(error)}`, 'error'); }); @@ -263,6 +266,7 @@ export default class ContentTypesImport extends BaseClass { return; } + this.isExtensionsUpdate = true; const onSuccess = ({ response, apiData: { uid, title } = { uid: null, title: '' } }: any) => { log(this.importConfig, `Successfully updated the '${response.title}' extension.`, 'success'); }; diff --git a/packages/contentstack-import/src/utils/marketplace-app-helper.ts b/packages/contentstack-import/src/utils/marketplace-app-helper.ts index b708bac4ad..702a1a933e 100644 --- a/packages/contentstack-import/src/utils/marketplace-app-helper.ts +++ b/packages/contentstack-import/src/utils/marketplace-app-helper.ts @@ -102,6 +102,8 @@ export const getConfirmationToCreateApps = async (privateApps: any, config: Impo return Promise.resolve(false); } } + } else { + return Promise.resolve(true); } } else { return Promise.resolve(true); diff --git a/packages/contentstack-launch/README.md b/packages/contentstack-launch/README.md index a2eb1cf1ac..a9cbc5b73f 100755 --- a/packages/contentstack-launch/README.md +++ b/packages/contentstack-launch/README.md @@ -19,7 +19,7 @@ $ npm install -g @contentstack/cli-launch $ csdx COMMAND running command... $ csdx (--version|-v) -@contentstack/cli-launch/1.0.17 darwin-arm64 node-v20.8.0 +@contentstack/cli-launch/1.0.17 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-migrate-rte/README.md b/packages/contentstack-migrate-rte/README.md index c8d72ed08d..d41fbc5561 100644 --- a/packages/contentstack-migrate-rte/README.md +++ b/packages/contentstack-migrate-rte/README.md @@ -16,7 +16,7 @@ $ npm install -g @contentstack/cli-cm-migrate-rte $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-migrate-rte/1.4.16 darwin-arm64 node-v20.8.0 +@contentstack/cli-cm-migrate-rte/1.4.16 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-seed/package.json b/packages/contentstack-seed/package.json index 740c0df4ad..7b12c9f21c 100644 --- a/packages/contentstack-seed/package.json +++ b/packages/contentstack-seed/package.json @@ -5,7 +5,7 @@ "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { - "@contentstack/cli-cm-import": "~1.15.3", + "@contentstack/cli-cm-import": "~1.15.4", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.6.0", "inquirer": "8.2.4", diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index ccd2fc9092..594e6bb47f 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.15.0 darwin-arm64 node-v20.8.0 +@contentstack/cli/1.18.0 darwin-arm64 node-v21.6.2 $ csdx --help [COMMAND] USAGE $ csdx COMMAND @@ -104,14 +104,14 @@ USAGE * [`csdx login`](#csdx-login) * [`csdx logout`](#csdx-logout) * [`csdx plugins`](#csdx-plugins) -* [`csdx plugins:install PLUGIN...`](#csdx-pluginsinstall-plugin) +* [`csdx plugins:add PLUGIN`](#csdx-pluginsadd-plugin) * [`csdx plugins:inspect PLUGIN...`](#csdx-pluginsinspect-plugin) -* [`csdx plugins:install PLUGIN...`](#csdx-pluginsinstall-plugin-1) -* [`csdx plugins:link PLUGIN`](#csdx-pluginslink-plugin) -* [`csdx plugins:uninstall PLUGIN...`](#csdx-pluginsuninstall-plugin) +* [`csdx plugins:install PLUGIN`](#csdx-pluginsinstall-plugin) +* [`csdx plugins:link PATH`](#csdx-pluginslink-path) +* [`csdx plugins:remove [PLUGIN]`](#csdx-pluginsremove-plugin) * [`csdx plugins:reset`](#csdx-pluginsreset) -* [`csdx plugins:uninstall PLUGIN...`](#csdx-pluginsuninstall-plugin-1) -* [`csdx plugins:uninstall PLUGIN...`](#csdx-pluginsuninstall-plugin-2) +* [`csdx plugins:uninstall [PLUGIN]`](#csdx-pluginsuninstall-plugin) +* [`csdx plugins:unlink [PLUGIN]`](#csdx-pluginsunlink-plugin) * [`csdx plugins:update`](#csdx-pluginsupdate) * [`csdx tokens`](#csdx-tokens) * [`csdx whoami`](#csdx-whoami) @@ -123,12 +123,12 @@ Perform audits and find possible errors in the exported Contentstack data ``` USAGE $ csdx audit [-c ] [-d ] [--report-path ] [--modules - content-types|global-fields|entries] [--columns | ] [--sort ] [--filter ] [--csv | - --no-truncate] + content-types|global-fields|entries|extensions|workflows] [--columns | ] [--sort ] [--filter ] + [--csv | --no-truncate] FLAGS --modules=